summaryrefslogtreecommitdiffstats
path: root/chrome/browser/render_process_host.cc
diff options
context:
space:
mode:
authorevanm@google.com <evanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-28 17:25:25 +0000
committerevanm@google.com <evanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-28 17:25:25 +0000
commit04fba9a91d7f46a517f67e1f3f10625ba589b8cc (patch)
treeca6581ca8d4a70ed21f3331c5510958993333416 /chrome/browser/render_process_host.cc
parent6a32e8ffd786f1d8da89fba7ca72f2ed3cf5209b (diff)
downloadchromium_src-04fba9a91d7f46a517f67e1f3f10625ba589b8cc.zip
chromium_src-04fba9a91d7f46a517f67e1f3f10625ba589b8cc.tar.gz
chromium_src-04fba9a91d7f46a517f67e1f3f10625ba589b8cc.tar.bz2
- Make user script loading asynchronous on the file thread.
- Automatically reload scripts when the directory changes. - Add a unit test for the GreasemonkeyMaster. Review URL: http://codereview.chromium.org/7472 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4069 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/render_process_host.cc')
-rw-r--r--chrome/browser/render_process_host.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/chrome/browser/render_process_host.cc b/chrome/browser/render_process_host.cc
index 62a73ee..22ab752 100644
--- a/chrome/browser/render_process_host.cc
+++ b/chrome/browser/render_process_host.cc
@@ -469,14 +469,15 @@ void RenderProcessHost::InitGreasemonkeyScripts(HANDLE target_process) {
// - File IO should be asynchronous (see VisitedLinkMaster), but how do we
// get scripts to the first renderer without blocking startup? Should we
// cache some information across restarts?
- GreasemonkeyMaster* greasemonkey_master =
- Singleton<GreasemonkeyMaster>::get();
+ GreasemonkeyMaster* greasemonkey_master = profile_->GetGreasemonkeyMaster();
if (!greasemonkey_master) {
return;
}
- // TODO(aa): This does blocking IO. Move to background thread.
- greasemonkey_master->UpdateScripts();
+ if (!greasemonkey_master->ScriptsReady()) {
+ // No scripts ready. :(
+ return;
+ }
SharedMemoryHandle handle_for_process = NULL;
greasemonkey_master->ShareToProcess(target_process, &handle_for_process);