diff options
author | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-12 17:57:09 +0000 |
---|---|---|
committer | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-12 17:57:09 +0000 |
commit | b2a74caaf15e234b5e6c03151d12c28a319a06cb (patch) | |
tree | 4b0f606a6ee117a66e66e4b7fb6546d9943bd425 /chrome/renderer/user_script_slave.cc | |
parent | 293caa54c215807abcef6a31aa34ca0e49e51581 (diff) | |
download | chromium_src-b2a74caaf15e234b5e6c03151d12c28a319a06cb.zip chromium_src-b2a74caaf15e234b5e6c03151d12c28a319a06cb.tar.gz chromium_src-b2a74caaf15e234b5e6c03151d12c28a319a06cb.tar.bz2 |
Add chrome.extension.inIncognitoTab for content scripts.
Review URL: http://codereview.chromium.org/822008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41446 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/user_script_slave.cc')
-rw-r--r-- | chrome/renderer/user_script_slave.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/chrome/renderer/user_script_slave.cc b/chrome/renderer/user_script_slave.cc index 33adfbd..66c15d1 100644 --- a/chrome/renderer/user_script_slave.cc +++ b/chrome/renderer/user_script_slave.cc @@ -16,6 +16,7 @@ #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_constants.h" #include "chrome/renderer/extension_groups.h" +#include "chrome/renderer/render_thread.h" #include "googleurl/src/gurl.h" #include "third_party/WebKit/WebKit/chromium/public/WebFrame.h" @@ -32,7 +33,7 @@ static const char kUserScriptTail[] = "\n})(window);"; // Sets up the chrome.extension module. This may be run multiple times per // context, but the init method deletes itself after the first time. static const char kInitExtension[] = - "if (chrome.initExtension) chrome.initExtension('%s', true);"; + "if (chrome.initExtension) chrome.initExtension('%s', true, %s);"; int UserScriptSlave::GetIsolatedWorldId(const std::string& extension_id) { @@ -68,10 +69,11 @@ void UserScriptSlave::GetActiveExtensions(std::set<std::string>* extension_ids) } } -bool UserScriptSlave::UpdateScripts(base::SharedMemoryHandle shared_memory, - bool only_inject_incognito) { +bool UserScriptSlave::UpdateScripts(base::SharedMemoryHandle shared_memory) { scripts_.clear(); + bool only_inject_incognito = RenderThread::current()->is_incognito_process(); + // Create the shared memory object (read only). shared_memory_.reset(new base::SharedMemory(shared_memory, true)); if (!shared_memory_.get()) @@ -134,9 +136,10 @@ bool UserScriptSlave::UpdateScripts(base::SharedMemoryHandle shared_memory, void UserScriptSlave::InsertInitExtensionCode( std::vector<WebScriptSource>* sources, const std::string& extension_id) { DCHECK(sources); - sources->insert(sources->begin(), - WebScriptSource(WebString::fromUTF8( - StringPrintf(kInitExtension, extension_id.c_str())))); + bool incognito = RenderThread::current()->is_incognito_process(); + sources->insert(sources->begin(), WebScriptSource(WebString::fromUTF8( + StringPrintf(kInitExtension, extension_id.c_str(), + incognito ? "true" : "false")))); } bool UserScriptSlave::InjectScripts(WebFrame* frame, |