diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/browser_process_impl.cc | 4 | ||||
-rw-r--r-- | chrome/browser/browsing_data_remover.cc | 15 | ||||
-rw-r--r-- | chrome/browser/chrome_plugin_host.cc | 13 | ||||
-rw-r--r-- | chrome/browser/chromeos/touchpad.cc | 13 | ||||
-rw-r--r-- | chrome/browser/dom_ui/chrome_url_data_manager.h | 4 | ||||
-rw-r--r-- | chrome/browser/gears_integration.cc | 26 | ||||
-rw-r--r-- | chrome/browser/history/history_unittest.cc | 4 | ||||
-rw-r--r-- | chrome/browser/printing/print_job.h | 11 | ||||
-rw-r--r-- | chrome/browser/printing/print_job_unittest.cc | 10 | ||||
-rw-r--r-- | chrome/browser/printing/print_job_worker.cc | 3 | ||||
-rw-r--r-- | chrome/browser/printing/print_job_worker.h | 1 | ||||
-rw-r--r-- | chrome/browser/printing/print_job_worker_owner.h | 6 | ||||
-rw-r--r-- | chrome/browser/printing/printer_query.h | 10 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_crash_handler_host_linux.cc | 4 | ||||
-rw-r--r-- | chrome/browser/visitedlink_master.cc | 5 | ||||
-rw-r--r-- | chrome/common/extensions/extension_error_reporter.cc | 4 | ||||
-rw-r--r-- | chrome/test/in_process_browser_test.h | 1 | ||||
-rw-r--r-- | chrome/test/interactive_ui/view_event_test_base.h | 1 |
18 files changed, 87 insertions, 48 deletions
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc index 918d970..f971e80 100644 --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc @@ -442,8 +442,8 @@ void BrowserProcessImpl::CreateGoogleURLTracker() { // which don't do any management. template <> struct RunnableMethodTraits<BrowserProcessImpl> { - void RetainCallee(BrowserProcessImpl*) {} - void ReleaseCallee(BrowserProcessImpl*) {} + static void RetainCallee(BrowserProcessImpl*) {} + static void ReleaseCallee(BrowserProcessImpl*) {} }; void BrowserProcessImpl::CheckForInspectorFiles() { diff --git a/chrome/browser/browsing_data_remover.cc b/chrome/browser/browsing_data_remover.cc index 6d70cc9..96e1543 100644 --- a/chrome/browser/browsing_data_remover.cc +++ b/chrome/browser/browsing_data_remover.cc @@ -22,13 +22,16 @@ #include "net/url_request/url_request_context.h" #include "webkit/glue/password_form.h" -// Done so that we can use PostTask on BrowsingDataRemovers and not have +// Done so that we can use invokeLater on BrowsingDataRemovers and not have // BrowsingDataRemover implement RefCounted. -template <> -struct RunnableMethodTraits<BrowsingDataRemover> { - void RetainCallee(BrowsingDataRemover*) {} - void ReleaseCallee(BrowsingDataRemover*) {} -}; +template<> +void RunnableMethodTraits<BrowsingDataRemover>::RetainCallee( + BrowsingDataRemover* remover) { +} +template<> +void RunnableMethodTraits<BrowsingDataRemover>::ReleaseCallee( + BrowsingDataRemover* remover) { +} bool BrowsingDataRemover::removing_ = false; diff --git a/chrome/browser/chrome_plugin_host.cc b/chrome/browser/chrome_plugin_host.cc index bfb5852..1b62b9a 100644 --- a/chrome/browser/chrome_plugin_host.cc +++ b/chrome/browser/chrome_plugin_host.cc @@ -367,11 +367,14 @@ class ModelessHtmlDialogDelegate : public HtmlDialogUIDelegate { // Allows InvokeLater without adding refcounting. The object is only deleted // when its last InvokeLater is run anyway. -template <> -struct RunnableMethodTraits<ModelessHtmlDialogDelegate> { - void RetainCallee(ModelessHtmlDialogDelegate*) {} - void ReleaseCallee(ModelessHtmlDialogDelegate*) {} -}; +template<> +void RunnableMethodTraits<ModelessHtmlDialogDelegate>::RetainCallee( + ModelessHtmlDialogDelegate* remover) { +} +template<> +void RunnableMethodTraits<ModelessHtmlDialogDelegate>::ReleaseCallee( + ModelessHtmlDialogDelegate* remover) { +} namespace { diff --git a/chrome/browser/chromeos/touchpad.cc b/chrome/browser/chromeos/touchpad.cc index e4c27b3..81a7eb4 100644 --- a/chrome/browser/chromeos/touchpad.cc +++ b/chrome/browser/chromeos/touchpad.cc @@ -19,11 +19,14 @@ // Allows InvokeLater without adding refcounting. The object is only deleted // when its last InvokeLater is run anyway. -template <> -struct RunnableMethodTraits<Touchpad> { - void RetainCallee(Touchpad*) {} - void ReleaseCallee(Touchpad*) {} -}; +template<> +void RunnableMethodTraits<Touchpad>::RetainCallee( + Touchpad* remover) { +} +template<> +void RunnableMethodTraits<Touchpad>::ReleaseCallee( + Touchpad* remover) { +} // static void Touchpad::RegisterUserPrefs(PrefService* prefs) { diff --git a/chrome/browser/dom_ui/chrome_url_data_manager.h b/chrome/browser/dom_ui/chrome_url_data_manager.h index 80fc862..81f220c 100644 --- a/chrome/browser/dom_ui/chrome_url_data_manager.h +++ b/chrome/browser/dom_ui/chrome_url_data_manager.h @@ -153,8 +153,8 @@ private: // Since we have a single global ChromeURLDataManager, we don't need to // grab a reference to it when creating Tasks involving it. template <> struct RunnableMethodTraits<ChromeURLDataManager> { - void RetainCallee(ChromeURLDataManager*) {} - void ReleaseCallee(ChromeURLDataManager*) {} + static void RetainCallee(ChromeURLDataManager*) {} + static void ReleaseCallee(ChromeURLDataManager*) {} }; // The single global instance of ChromeURLDataManager. diff --git a/chrome/browser/gears_integration.cc b/chrome/browser/gears_integration.cc index d7cf898..6805175 100644 --- a/chrome/browser/gears_integration.cc +++ b/chrome/browser/gears_integration.cc @@ -225,11 +225,14 @@ class CreateShortcutCommand : public CPCommandInterface { // Allows InvokeLater without adding refcounting. The object is only deleted // when its last InvokeLater is run anyway. -template <> -struct RunnableMethodTraits<CreateShortcutCommand> { - void RetainCallee(CreateShortcutCommand*) {} - void ReleaseCallee(CreateShortcutCommand*) {} -}; +template<> +void RunnableMethodTraits<CreateShortcutCommand>::RetainCallee( + CreateShortcutCommand* remover) { +} +template<> +void RunnableMethodTraits<CreateShortcutCommand>::ReleaseCallee( + CreateShortcutCommand* remover) { +} void GearsCreateShortcut( const webkit_glue::WebApplicationInfo& app_info, @@ -296,11 +299,14 @@ class QueryShortcutsCommand : public CPCommandInterface { // Allows InvokeLater without adding refcounting. The object is only deleted // when its last InvokeLater is run anyway. -template <> -struct RunnableMethodTraits<QueryShortcutsCommand> { - void RetainCallee(QueryShortcutsCommand*) {} - void ReleaseCallee(QueryShortcutsCommand*) {} -}; +template<> +void RunnableMethodTraits<QueryShortcutsCommand>::RetainCallee( + QueryShortcutsCommand* remover) { +} +template<> +void RunnableMethodTraits<QueryShortcutsCommand>::ReleaseCallee( + QueryShortcutsCommand* remover) { +} void GearsQueryShortcuts(GearsQueryShortcutsCallback* callback) { CPHandleCommand(GEARSPLUGINCOMMAND_GET_SHORTCUT_LIST, diff --git a/chrome/browser/history/history_unittest.cc b/chrome/browser/history/history_unittest.cc index f26aa9d..23463440 100644 --- a/chrome/browser/history/history_unittest.cc +++ b/chrome/browser/history/history_unittest.cc @@ -57,8 +57,8 @@ class HistoryTest; // the HistoryTest object. template <> struct RunnableMethodTraits<history::HistoryTest> { - void RetainCallee(history::HistoryTest* obj) { } - void ReleaseCallee(history::HistoryTest* obj) { } + static void RetainCallee(history::HistoryTest* obj) { } + static void ReleaseCallee(history::HistoryTest* obj) { } }; namespace history { diff --git a/chrome/browser/printing/print_job.h b/chrome/browser/printing/print_job.h index cf4badc..45d5d12 100644 --- a/chrome/browser/printing/print_job.h +++ b/chrome/browser/printing/print_job.h @@ -8,6 +8,7 @@ #include "base/basictypes.h" #include "base/gfx/native_widget_types.h" #include "base/message_loop.h" +#include "base/ref_counted.h" #include "chrome/browser/printing/print_job_worker_owner.h" #include "chrome/common/notification_registrar.h" @@ -31,8 +32,9 @@ class PrinterQuery; // any state change. While printing, the PrintJobManager instance keeps a // reference to the job to be sure it is kept alive. All the code in this class // runs in the UI thread. -class PrintJob : public PrintJobWorkerOwner, +class PrintJob : public base::RefCountedThreadSafe<PrintJob>, public NotificationObserver, + public PrintJobWorkerOwner, public MessageLoop::DestructionObserver { public: // Create a empty PrintJob. When initializing with this constructor, @@ -50,6 +52,13 @@ class PrintJob : public PrintJobWorkerOwner, const NotificationDetails& details); // PrintJobWorkerOwner + virtual void AddRef() { + return base::RefCountedThreadSafe<PrintJob>::AddRef(); + } + virtual void Release() { + return base::RefCountedThreadSafe<PrintJob>::Release(); + } + virtual void GetSettingsDone(const PrintSettings& new_settings, PrintingContext::Result result); virtual PrintJobWorker* DetachWorker(PrintJobWorkerOwner* new_owner); diff --git a/chrome/browser/printing/print_job_unittest.cc b/chrome/browser/printing/print_job_unittest.cc index 3ef795c..fe98964 100644 --- a/chrome/browser/printing/print_job_unittest.cc +++ b/chrome/browser/printing/print_job_unittest.cc @@ -33,6 +33,12 @@ class TestPrintJobWorker : public printing::PrintJobWorker { class TestOwner : public printing::PrintJobWorkerOwner { public: + virtual void AddRef() { + EXPECT_FALSE(true); + } + virtual void Release() { + EXPECT_FALSE(true); + } virtual void GetSettingsDone(const printing::PrintSettings& new_settings, printing::PrintingContext::Result result) { EXPECT_FALSE(true); @@ -98,9 +104,9 @@ TEST(PrintJobTest, SimplePrint) { volatile bool check = false; scoped_refptr<printing::PrintJob> job(new TestPrintJob(&check)); EXPECT_EQ(MessageLoop::current(), job->message_loop()); - scoped_refptr<TestOwner> owner(new TestOwner); + TestOwner owner; TestSource source; - job->Initialize(owner, &source); + job->Initialize(&owner, &source); job->Stop(); job = NULL; EXPECT_TRUE(check); diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc index 375c2407..caf5ad3 100644 --- a/chrome/browser/printing/print_job_worker.cc +++ b/chrome/browser/printing/print_job_worker.cc @@ -275,6 +275,9 @@ void PrintJobWorker::OnFailure() { } // namespace printing +RunnableMethodTraits<printing::PrintJobWorker>::RunnableMethodTraits() { +} + void RunnableMethodTraits<printing::PrintJobWorker>::RetainCallee( printing::PrintJobWorker* obj) { DCHECK(!owner_.get()); diff --git a/chrome/browser/printing/print_job_worker.h b/chrome/browser/printing/print_job_worker.h index fce8912..9ad2c39 100644 --- a/chrome/browser/printing/print_job_worker.h +++ b/chrome/browser/printing/print_job_worker.h @@ -98,6 +98,7 @@ class PrintJobWorker : public base::Thread { template <> struct RunnableMethodTraits<printing::PrintJobWorker> { + RunnableMethodTraits(); void RetainCallee(printing::PrintJobWorker* obj); void ReleaseCallee(printing::PrintJobWorker* obj); private: diff --git a/chrome/browser/printing/print_job_worker_owner.h b/chrome/browser/printing/print_job_worker_owner.h index e1ba719..1810eca 100644 --- a/chrome/browser/printing/print_job_worker_owner.h +++ b/chrome/browser/printing/print_job_worker_owner.h @@ -5,7 +5,6 @@ #ifndef CHROME_BROWSER_PRINTING_PRINT_JOB_WORKER_OWNER_H__ #define CHROME_BROWSER_PRINTING_PRINT_JOB_WORKER_OWNER_H__ -#include "base/ref_counted.h" #include "printing/printing_context.h" class MessageLoop; @@ -15,11 +14,12 @@ namespace printing { class PrintJobWorker; class PrintSettings; -class PrintJobWorkerOwner : - public base::RefCountedThreadSafe<PrintJobWorkerOwner> { +class PrintJobWorkerOwner { public: virtual ~PrintJobWorkerOwner() { } + virtual void AddRef() = 0; + virtual void Release() = 0; // Finishes the initialization began by PrintJobWorker::Init(). Creates a // new PrintedDocument if necessary. Solely meant to be called by diff --git a/chrome/browser/printing/printer_query.h b/chrome/browser/printing/printer_query.h index b0502c8..6d6fd88 100644 --- a/chrome/browser/printing/printer_query.h +++ b/chrome/browser/printing/printer_query.h @@ -6,6 +6,7 @@ #define CHROME_BROWSER_PRINTING_PRINTER_QUERY_H_ #include "base/scoped_ptr.h" +#include "base/ref_counted.h" #include "chrome/browser/printing/print_job_worker_owner.h" class CancelableTask; @@ -20,7 +21,8 @@ namespace printing { class PrintJobWorker; // Query the printer for settings. -class PrinterQuery : public PrintJobWorkerOwner { +class PrinterQuery : public base::RefCountedThreadSafe<PrinterQuery>, + public PrintJobWorkerOwner { public: // GetSettings() UI parameter. enum GetSettingsAskParam { @@ -32,6 +34,12 @@ class PrinterQuery : public PrintJobWorkerOwner { virtual ~PrinterQuery(); // PrintJobWorkerOwner + virtual void AddRef() { + return base::RefCountedThreadSafe<PrinterQuery>::AddRef(); + } + virtual void Release() { + return base::RefCountedThreadSafe<PrinterQuery>::Release(); + } virtual void GetSettingsDone(const PrintSettings& new_settings, PrintingContext::Result result); virtual PrintJobWorker* DetachWorker(PrintJobWorkerOwner* new_owner); diff --git a/chrome/browser/renderer_host/render_crash_handler_host_linux.cc b/chrome/browser/renderer_host/render_crash_handler_host_linux.cc index 805e231..4e9fdf9 100644 --- a/chrome/browser/renderer_host/render_crash_handler_host_linux.cc +++ b/chrome/browser/renderer_host/render_crash_handler_host_linux.cc @@ -151,8 +151,8 @@ static bool FindProcessHoldingSocket(pid_t* pid_out, uint64_t socket_inode) { // end of the processes lifetime, which is greater in span then the lifetime of // the IO message loop. template<> struct RunnableMethodTraits<RenderCrashHandlerHostLinux> { - void RetainCallee(RenderCrashHandlerHostLinux*) { } - void ReleaseCallee(RenderCrashHandlerHostLinux*) { } + static void RetainCallee(RenderCrashHandlerHostLinux*) { } + static void ReleaseCallee(RenderCrashHandlerHostLinux*) { } }; RenderCrashHandlerHostLinux::RenderCrashHandlerHostLinux() diff --git a/chrome/browser/visitedlink_master.cc b/chrome/browser/visitedlink_master.cc index 6bd06bb..0e1ac9c 100644 --- a/chrome/browser/visitedlink_master.cc +++ b/chrome/browser/visitedlink_master.cc @@ -165,9 +165,8 @@ class AsyncCloseHandle : public Task { // Sometimes, the master will be deleted before the rebuild is complete, in // which case it notifies the builder via DisownMaster(). The builder will // delete itself once rebuilding is complete, and not execute any callback. -class VisitedLinkMaster::TableBuilder : - public HistoryService::URLEnumerator, - public base::RefCountedThreadSafe<TableBuilder> { +class VisitedLinkMaster::TableBuilder : public HistoryService::URLEnumerator, + public base::RefCounted<TableBuilder> { public: TableBuilder(VisitedLinkMaster* master, const uint8 salt[LINK_SALT_LENGTH]); diff --git a/chrome/common/extensions/extension_error_reporter.cc b/chrome/common/extensions/extension_error_reporter.cc index 493b1a3..f6f0917 100644 --- a/chrome/common/extensions/extension_error_reporter.cc +++ b/chrome/common/extensions/extension_error_reporter.cc @@ -21,8 +21,8 @@ // This is okay since the ExtensionErrorReporter is a singleton that lives until // the end of the process. template <> struct RunnableMethodTraits<ExtensionErrorReporter> { - void RetainCallee(ExtensionErrorReporter*) {} - void ReleaseCallee(ExtensionErrorReporter*) {} + static void RetainCallee(ExtensionErrorReporter*) {} + static void ReleaseCallee(ExtensionErrorReporter*) {} }; ExtensionErrorReporter* ExtensionErrorReporter::instance_ = NULL; diff --git a/chrome/test/in_process_browser_test.h b/chrome/test/in_process_browser_test.h index ace6e07..2f519b7 100644 --- a/chrome/test/in_process_browser_test.h +++ b/chrome/test/in_process_browser_test.h @@ -45,7 +45,6 @@ class InProcessBrowserTest : public testing::Test { // We do this so we can be used in a Task. void AddRef() {} void Release() {} - static bool ImplementsThreadSafeReferenceCounting() { return false; } // Configures everything for an in process browser test, then invokes // BrowserMain. BrowserMain ends up invoking RunTestOnMainThreadLoop. diff --git a/chrome/test/interactive_ui/view_event_test_base.h b/chrome/test/interactive_ui/view_event_test_base.h index 456cefc..1bb7bd0 100644 --- a/chrome/test/interactive_ui/view_event_test_base.h +++ b/chrome/test/interactive_ui/view_event_test_base.h @@ -79,7 +79,6 @@ class ViewEventTestBase : public views::WindowDelegate, // Overriden to do nothing so that this class can be used in runnable tasks. void AddRef() {} void Release() {} - static bool ImplementsThreadSafeReferenceCounting() { return false; } protected: // Returns the view that is added to the window. |