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

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

Issue 254473011: Introduce chrome.shell.createWindow stub API for app_shell (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase (shell-api) Created 6 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/chrome_content_renderer_client.h" 5 #include "chrome/renderer/chrome_content_renderer_client.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/debug/crash_logging.h" 8 #include "base/debug/crash_logging.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 } 219 }
220 #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) 220 #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS)
221 221
222 return false; 222 return false;
223 } 223 }
224 224
225 } // namespace 225 } // namespace
226 226
227 ChromeContentRendererClient::ChromeContentRendererClient() { 227 ChromeContentRendererClient::ChromeContentRendererClient() {
228 g_current_client = this; 228 g_current_client = this;
229
230 extensions::ExtensionsClient::Set(
231 extensions::ChromeExtensionsClient::GetInstance());
232 extensions::ExtensionsRendererClient::Set(
233 ChromeExtensionsRendererClient::GetInstance());
229 } 234 }
230 235
231 ChromeContentRendererClient::~ChromeContentRendererClient() { 236 ChromeContentRendererClient::~ChromeContentRendererClient() {
232 g_current_client = NULL; 237 g_current_client = NULL;
233 } 238 }
234 239
235 void ChromeContentRendererClient::RenderThreadStarted() { 240 void ChromeContentRendererClient::RenderThreadStarted() {
236 RenderThread* thread = RenderThread::Get(); 241 RenderThread* thread = RenderThread::Get();
237 242
238 chrome_observer_.reset(new ChromeRenderProcessObserver(this)); 243 chrome_observer_.reset(new ChromeRenderProcessObserver(this));
244
239 // ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and 245 // ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and
240 // injects it using SetExtensionDispatcher(). Don't overwrite it. 246 // injects it using SetExtensionDispatcherForTest(). Don't overwrite it.
241 if (!extension_dispatcher_) 247 if (!extension_dispatcher_)
242 extension_dispatcher_.reset(new extensions::Dispatcher()); 248 extension_dispatcher_.reset(new extensions::Dispatcher());
243 permissions_policy_delegate_.reset( 249 permissions_policy_delegate_.reset(
244 new extensions::RendererPermissionsPolicyDelegate( 250 new extensions::RendererPermissionsPolicyDelegate(
245 extension_dispatcher_.get())); 251 extension_dispatcher_.get()));
246 prescient_networking_dispatcher_.reset(new PrescientNetworkingDispatcher()); 252 prescient_networking_dispatcher_.reset(new PrescientNetworkingDispatcher());
247 net_predictor_.reset(new RendererNetPredictor()); 253 net_predictor_.reset(new RendererNetPredictor());
248 #if defined(ENABLE_SPELLCHECK) 254 #if defined(ENABLE_SPELLCHECK)
249 // ChromeRenderViewTest::SetUp() creates a Spellcheck and injects it using 255 // ChromeRenderViewTest::SetUp() creates a Spellcheck and injects it using
250 // SetSpellcheck(). Don't overwrite it. 256 // SetSpellcheck(). Don't overwrite it.
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 // requests. 358 // requests.
353 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme); 359 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme);
354 360
355 // chrome-extension: resources should bypass Content Security Policy checks 361 // chrome-extension: resources should bypass Content Security Policy checks
356 // when included in protected resources. 362 // when included in protected resources.
357 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( 363 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy(
358 extension_scheme); 364 extension_scheme);
359 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( 365 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy(
360 extension_resource_scheme); 366 extension_resource_scheme);
361 367
362 extensions::ExtensionsClient::Set(
363 extensions::ChromeExtensionsClient::GetInstance());
364 extensions::ExtensionsRendererClient::Set(
365 ChromeExtensionsRendererClient::GetInstance());
366
367 #if defined(OS_WIN) 368 #if defined(OS_WIN)
368 // Report if the renderer process has been patched by chrome_elf. 369 // Report if the renderer process has been patched by chrome_elf.
369 // TODO(csharp): Remove once the renderer is no longer getting 370 // TODO(csharp): Remove once the renderer is no longer getting
370 // patched this way. 371 // patched this way.
371 if (blacklist::IsBlacklistInitialized()) 372 if (blacklist::IsBlacklistInitialized())
372 UMA_HISTOGRAM_BOOLEAN("Blacklist.PatchedInRenderer", true); 373 UMA_HISTOGRAM_BOOLEAN("Blacklist.PatchedInRenderer", true);
373 #endif 374 #endif
374 } 375 }
375 376
376 void ChromeContentRendererClient::RenderFrameCreated( 377 void ChromeContentRendererClient::RenderFrameCreated(
(...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after
1242 bool ChromeContentRendererClient::ShouldOverridePageVisibilityState( 1243 bool ChromeContentRendererClient::ShouldOverridePageVisibilityState(
1243 const content::RenderFrame* render_frame, 1244 const content::RenderFrame* render_frame,
1244 blink::WebPageVisibilityState* override_state) { 1245 blink::WebPageVisibilityState* override_state) {
1245 if (!prerender::PrerenderHelper::IsPrerendering(render_frame)) 1246 if (!prerender::PrerenderHelper::IsPrerendering(render_frame))
1246 return false; 1247 return false;
1247 1248
1248 *override_state = blink::WebPageVisibilityStatePrerender; 1249 *override_state = blink::WebPageVisibilityStatePrerender;
1249 return true; 1250 return true;
1250 } 1251 }
1251 1252
1252 void ChromeContentRendererClient::SetExtensionDispatcher( 1253 void ChromeContentRendererClient::SetExtensionDispatcherForTest(
1253 extensions::Dispatcher* extension_dispatcher) { 1254 extensions::Dispatcher* extension_dispatcher) {
1254 extension_dispatcher_.reset(extension_dispatcher); 1255 extension_dispatcher_.reset(extension_dispatcher);
1255 permissions_policy_delegate_.reset( 1256 permissions_policy_delegate_.reset(
1256 new extensions::RendererPermissionsPolicyDelegate( 1257 new extensions::RendererPermissionsPolicyDelegate(
1257 extension_dispatcher_.get())); 1258 extension_dispatcher_.get()));
1258 } 1259 }
1259 1260
1261 extensions::Dispatcher*
1262 ChromeContentRendererClient::GetExtensionDispatcherForTest() {
1263 return extension_dispatcher_.get();
1264 }
1265
1260 bool ChromeContentRendererClient::CrossesExtensionExtents( 1266 bool ChromeContentRendererClient::CrossesExtensionExtents(
1261 WebFrame* frame, 1267 WebFrame* frame,
1262 const GURL& new_url, 1268 const GURL& new_url,
1263 const extensions::ExtensionSet& extensions, 1269 const extensions::ExtensionSet& extensions,
1264 bool is_extension_url, 1270 bool is_extension_url,
1265 bool is_initial_navigation) { 1271 bool is_initial_navigation) {
1266 GURL old_url(frame->top()->document().url()); 1272 GURL old_url(frame->top()->document().url());
1267 1273
1268 // If old_url is still empty and this is an initial navigation, then this is 1274 // If old_url is still empty and this is an initial navigation, then this is
1269 // a window.open operation. We should look at the opener URL. 1275 // a window.open operation. We should look at the opener URL.
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
1438 CommandLine* command_line = CommandLine::ForCurrentProcess(); 1444 CommandLine* command_line = CommandLine::ForCurrentProcess();
1439 return !command_line->HasSwitch(extensions::switches::kExtensionProcess); 1445 return !command_line->HasSwitch(extensions::switches::kExtensionProcess);
1440 } 1446 }
1441 1447
1442 blink::WebWorkerPermissionClientProxy* 1448 blink::WebWorkerPermissionClientProxy*
1443 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( 1449 ChromeContentRendererClient::CreateWorkerPermissionClientProxy(
1444 content::RenderFrame* render_frame, 1450 content::RenderFrame* render_frame,
1445 blink::WebFrame* frame) { 1451 blink::WebFrame* frame) {
1446 return new WorkerPermissionClientProxy(render_frame, frame); 1452 return new WorkerPermissionClientProxy(render_frame, frame);
1447 } 1453 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698