Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5891)

Unified Diff: chrome/browser/extensions/user_script_listener.cc

Issue 345023: Get rid of MessageLoop* caching in extensions code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/user_script_listener.cc
===================================================================
--- chrome/browser/extensions/user_script_listener.cc (revision 30521)
+++ chrome/browser/extensions/user_script_listener.cc (working copy)
@@ -4,28 +4,18 @@
#include "chrome/browser/extensions/user_script_listener.h"
-#include "base/message_loop.h"
+#include "chrome/browser/chrome_thread.h"
#include "chrome/browser/extensions/extensions_service.h"
#include "chrome/browser/renderer_host/resource_dispatcher_host_request_info.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/notification_service.h"
#include "net/url_request/url_request.h"
-UserScriptListener::UserScriptListener(MessageLoop* ui_loop,
- MessageLoop* io_loop,
- ResourceDispatcherHost* rdh)
- : ui_loop_(ui_loop),
- io_loop_(io_loop),
- resource_dispatcher_host_(rdh),
+UserScriptListener::UserScriptListener(ResourceDispatcherHost* rdh)
+ : resource_dispatcher_host_(rdh),
user_scripts_ready_(false) {
- DCHECK(ui_loop_);
- DCHECK_EQ(ui_loop_, MessageLoop::current());
DCHECK(resource_dispatcher_host_);
- // IO loop can be NULL in unit tests.
- if (!io_loop_)
- io_loop_ = ui_loop;
-
registrar_.Add(this, NotificationType::EXTENSION_LOADED,
NotificationService::AllSources());
registrar_.Add(this, NotificationType::EXTENSION_UNLOADED,
@@ -35,7 +25,7 @@
}
bool UserScriptListener::ShouldStartRequest(URLRequest* request) {
- DCHECK_EQ(io_loop_, MessageLoop::current());
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
// If it's a frame load, then we need to check the URL against the list of
// user scripts to see if we need to wait.
@@ -72,7 +62,7 @@
}
void UserScriptListener::StartDelayedRequests() {
- DCHECK_EQ(io_loop_, MessageLoop::current());
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
user_scripts_ready_ = true;
@@ -92,7 +82,7 @@
}
void UserScriptListener::AppendNewURLPatterns(const URLPatterns& new_patterns) {
- DCHECK_EQ(io_loop_, MessageLoop::current());
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
user_scripts_ready_ = false;
url_patterns_.insert(url_patterns_.end(),
@@ -100,13 +90,13 @@
}
void UserScriptListener::ReplaceURLPatterns(const URLPatterns& patterns) {
- DCHECK_EQ(io_loop_, MessageLoop::current());
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
url_patterns_ = patterns;
}
void UserScriptListener::CollectURLPatterns(Extension* extension,
URLPatterns* patterns) {
- DCHECK_EQ(ui_loop_, MessageLoop::current());
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
const UserScriptList& scripts = extension->content_scripts();
for (UserScriptList::const_iterator iter = scripts.begin();
@@ -120,7 +110,7 @@
void UserScriptListener::Observe(NotificationType type,
const NotificationSource& source,
const NotificationDetails& details) {
- DCHECK_EQ(ui_loop_, MessageLoop::current());
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
switch (type.value) {
case NotificationType::EXTENSION_LOADED: {
@@ -131,8 +121,10 @@
URLPatterns new_patterns;
CollectURLPatterns(Details<Extension>(details).ptr(), &new_patterns);
if (!new_patterns.empty()) {
- io_loop_->PostTask(FROM_HERE, NewRunnableMethod(this,
- &UserScriptListener::AppendNewURLPatterns, new_patterns));
+ ChromeThread::PostTask(
+ ChromeThread::IO, FROM_HERE,
+ NewRunnableMethod(
+ this, &UserScriptListener::AppendNewURLPatterns, new_patterns));
}
break;
}
@@ -150,13 +142,16 @@
if (*it != unloaded_extension)
CollectURLPatterns(*it, &new_patterns);
}
- io_loop_->PostTask(FROM_HERE, NewRunnableMethod(this,
- &UserScriptListener::ReplaceURLPatterns, new_patterns));
+ ChromeThread::PostTask(
+ ChromeThread::IO, FROM_HERE,
+ NewRunnableMethod(
+ this, &UserScriptListener::ReplaceURLPatterns, new_patterns));
break;
}
case NotificationType::USER_SCRIPTS_UPDATED: {
- io_loop_->PostTask(FROM_HERE,
+ ChromeThread::PostTask(
+ ChromeThread::IO, FROM_HERE,
NewRunnableMethod(this, &UserScriptListener::StartDelayedRequests));
break;
}
« no previous file with comments | « chrome/browser/extensions/user_script_listener.h ('k') | chrome/browser/extensions/user_script_listener_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698