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

Side by Side Diff: chrome/renderer/user_script_slave.cc

Issue 159542: Add a WebKit API that registers a V8 extension to be loaded into content (Closed)
Patch Set: final Created 11 years, 4 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 unified diff | Download patch
« no previous file with comments | « chrome/renderer/render_thread.cc ('k') | chrome/test/in_process_browser_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/user_script_slave.h" 5 #include "chrome/renderer/user_script_slave.h"
6 6
7 #include "app/resource_bundle.h" 7 #include "app/resource_bundle.h"
8 #include "base/histogram.h" 8 #include "base/histogram.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/perftimer.h" 10 #include "base/perftimer.h"
11 #include "base/pickle.h" 11 #include "base/pickle.h"
12 #include "base/shared_memory.h" 12 #include "base/shared_memory.h"
13 #include "base/string_util.h" 13 #include "base/string_util.h"
14 #include "chrome/renderer/extension_groups.h"
14 #include "googleurl/src/gurl.h" 15 #include "googleurl/src/gurl.h"
15 #include "webkit/api/public/WebScriptSource.h" 16 #include "webkit/api/public/WebScriptSource.h"
16 #include "webkit/glue/webframe.h" 17 #include "webkit/glue/webframe.h"
17 18
18 #include "grit/renderer_resources.h" 19 #include "grit/renderer_resources.h"
19 20
20 using WebKit::WebScriptSource; 21 using WebKit::WebScriptSource;
21 using WebKit::WebString; 22 using WebKit::WebString;
22 23
23 // These two strings are injected before and after the Greasemonkey API and 24 // These two strings are injected before and after the Greasemonkey API and
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 sources.insert(sources.begin(), 154 sources.insert(sources.begin(),
154 WebScriptSource(WebString::fromUTF8(api_js_.as_string()))); 155 WebScriptSource(WebString::fromUTF8(api_js_.as_string())));
155 } else { 156 } else {
156 // Setup chrome.self to contain an Extension object with the correct 157 // Setup chrome.self to contain an Extension object with the correct
157 // ID. 158 // ID.
158 sources.insert(sources.begin(), 159 sources.insert(sources.begin(),
159 WebScriptSource(WebString::fromUTF8( 160 WebScriptSource(WebString::fromUTF8(
160 StringPrintf(kInitExtension, script->extension_id().c_str())))); 161 StringPrintf(kInitExtension, script->extension_id().c_str()))));
161 } 162 }
162 163
163 frame->ExecuteScriptInNewWorld(&sources.front(), sources.size()); 164 frame->ExecuteScriptInNewWorld(&sources.front(), sources.size(),
165 EXTENSION_GROUP_CONTENT_SCRIPTS);
164 } 166 }
165 } 167 }
166 168
167 // Log debug info. 169 // Log debug info.
168 if (location == UserScript::DOCUMENT_START) { 170 if (location == UserScript::DOCUMENT_START) {
169 HISTOGRAM_COUNTS_100("UserScripts:DocStart:Count", num_matched); 171 HISTOGRAM_COUNTS_100("UserScripts:DocStart:Count", num_matched);
170 HISTOGRAM_TIMES("UserScripts:DocStart:Time", timer.Elapsed()); 172 HISTOGRAM_TIMES("UserScripts:DocStart:Time", timer.Elapsed());
171 } else { 173 } else {
172 HISTOGRAM_COUNTS_100("UserScripts:DocEnd:Count", num_matched); 174 HISTOGRAM_COUNTS_100("UserScripts:DocEnd:Count", num_matched);
173 HISTOGRAM_TIMES("UserScripts:DocEnd:Time", timer.Elapsed()); 175 HISTOGRAM_TIMES("UserScripts:DocEnd:Time", timer.Elapsed());
174 } 176 }
175 177
176 LOG(INFO) << "Injected " << num_matched << " user scripts into " << 178 LOG(INFO) << "Injected " << num_matched << " user scripts into " <<
177 frame->GetURL().spec(); 179 frame->GetURL().spec();
178 return true; 180 return true;
179 } 181 }
OLDNEW
« no previous file with comments | « chrome/renderer/render_thread.cc ('k') | chrome/test/in_process_browser_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698