summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-16 07:47:39 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-16 07:47:39 +0000
commitc8865964330959b40718c0e6148288da64f14fec (patch)
tree78a39905db0a850690c673a76ef59eadb28f54d6 /chrome/browser
parent3ce10b7c419cc4522f885008cbb3c76b02256ba3 (diff)
downloadchromium_src-c8865964330959b40718c0e6148288da64f14fec.zip
chromium_src-c8865964330959b40718c0e6148288da64f14fec.tar.gz
chromium_src-c8865964330959b40718c0e6148288da64f14fec.tar.bz2
Fix regression where we stopped running content scripts in
extension processes. BUG=29621 Review URL: http://codereview.chromium.org/505012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34668 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/extensions/content_script_extension_process_apitest.cc15
-rw-r--r--chrome/browser/extensions/extensions_service.cc4
-rw-r--r--chrome/browser/renderer_host/browser_render_process_host.cc8
3 files changed, 17 insertions, 10 deletions
diff --git a/chrome/browser/extensions/content_script_extension_process_apitest.cc b/chrome/browser/extensions/content_script_extension_process_apitest.cc
new file mode 100644
index 0000000..18ee070
--- /dev/null
+++ b/chrome/browser/extensions/content_script_extension_process_apitest.cc
@@ -0,0 +1,15 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/browser.h"
+#include "chrome/browser/extensions/extension_apitest.h"
+#include "chrome/browser/extensions/extensions_service.h"
+#include "chrome/browser/profile.h"
+#include "chrome/common/extensions/extension.h"
+#include "chrome/test/ui_test_utils.h"
+
+IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ContentScriptExtensionProcess) {
+ StartHTTPServer();
+ ASSERT_TRUE(RunExtensionTest("content_script_extension_process")) << message_;
+}
diff --git a/chrome/browser/extensions/extensions_service.cc b/chrome/browser/extensions/extensions_service.cc
index 578b8ef..99a97f2a 100644
--- a/chrome/browser/extensions/extensions_service.cc
+++ b/chrome/browser/extensions/extensions_service.cc
@@ -643,10 +643,10 @@ void ExtensionsService::OnExtensionLoaded(Extension* extension,
}
void ExtensionsService::UpdateActiveExtensionsInCrashReporter() {
- std::vector<std::string> extension_ids;
+ std::set<std::string> extension_ids;
for (size_t i = 0; i < extensions_.size(); ++i) {
if (!extensions_[i]->IsTheme())
- extension_ids.push_back(extensions_[i]->id());
+ extension_ids.insert(extensions_[i]->id());
}
child_process_logging::SetActiveExtensions(extension_ids);
diff --git a/chrome/browser/renderer_host/browser_render_process_host.cc b/chrome/browser/renderer_host/browser_render_process_host.cc
index 05a452d..bb7e99d 100644
--- a/chrome/browser/renderer_host/browser_render_process_host.cc
+++ b/chrome/browser/renderer_host/browser_render_process_host.cc
@@ -595,14 +595,6 @@ void BrowserRenderProcessHost::InitExtensions() {
void BrowserRenderProcessHost::SendUserScriptsUpdate(
base::SharedMemory *shared_memory) {
- // Don't send user scripts to extension processes. We currently don't allow
- // user scripts to run in extensions, so it would be pointless. It would also
- // mess up the crash reporting, which sends a different set of "active"
- // extensions depending on whether the process is an extension or renderer
- // process.
- if (extension_process_)
- return;
-
// Process is being started asynchronously. We'll end up calling
// InitUserScripts when it's created which will call this again.
if (child_process_.get() && child_process_->IsStarting())