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

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

Issue 236073004: Remove kEnableBrowserPluginForAllViewTypes flag (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 return extension_dispatcher_->extensions()->GetByID(extension_id); 464 return extension_dispatcher_->extensions()->GetByID(extension_id);
465 } 465 }
466 466
467 bool ChromeContentRendererClient::OverrideCreatePlugin( 467 bool ChromeContentRendererClient::OverrideCreatePlugin(
468 content::RenderFrame* render_frame, 468 content::RenderFrame* render_frame,
469 WebFrame* frame, 469 WebFrame* frame,
470 const WebPluginParams& params, 470 const WebPluginParams& params,
471 WebPlugin** plugin) { 471 WebPlugin** plugin) {
472 std::string orig_mime_type = params.mimeType.utf8(); 472 std::string orig_mime_type = params.mimeType.utf8();
473 if (orig_mime_type == content::kBrowserPluginMimeType) { 473 if (orig_mime_type == content::kBrowserPluginMimeType) {
474 if (CommandLine::ForCurrentProcess()->HasSwitch(
475 switches::kEnableBrowserPluginForAllViewTypes))
476 return false;
477 WebDocument document = frame->document(); 474 WebDocument document = frame->document();
478 const Extension* extension = 475 const Extension* extension =
479 GetExtensionByOrigin(document.securityOrigin()); 476 GetExtensionByOrigin(document.securityOrigin());
480 if (extension) { 477 if (extension) {
481 const extensions::APIPermission::ID perms[] = { 478 const extensions::APIPermission::ID perms[] = {
482 extensions::APIPermission::kWebView, 479 extensions::APIPermission::kWebView,
483 extensions::APIPermission::kAdView 480 extensions::APIPermission::kAdView
484 }; 481 };
485 for (size_t i = 0; i < arraysize(perms); ++i) { 482 for (size_t i = 0; i < arraysize(perms); ++i) {
486 if (extension->HasAPIPermission(perms[i])) 483 if (extension->HasAPIPermission(perms[i]))
(...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after
1362 } 1359 }
1363 1360
1364 blink::WebSpeechSynthesizer* 1361 blink::WebSpeechSynthesizer*
1365 ChromeContentRendererClient::OverrideSpeechSynthesizer( 1362 ChromeContentRendererClient::OverrideSpeechSynthesizer(
1366 blink::WebSpeechSynthesizerClient* client) { 1363 blink::WebSpeechSynthesizerClient* client) {
1367 return new TtsDispatcher(client); 1364 return new TtsDispatcher(client);
1368 } 1365 }
1369 1366
1370 bool ChromeContentRendererClient::AllowBrowserPlugin( 1367 bool ChromeContentRendererClient::AllowBrowserPlugin(
1371 blink::WebPluginContainer* container) { 1368 blink::WebPluginContainer* container) {
1372 if (CommandLine::ForCurrentProcess()->HasSwitch(
1373 switches::kEnableBrowserPluginForAllViewTypes))
1374 return true;
1375
1376 // If this |BrowserPlugin| <object> in the |container| is not inside a 1369 // If this |BrowserPlugin| <object> in the |container| is not inside a
1377 // <webview>/<adview> shadowHost, we disable instantiating this plugin. This 1370 // <webview>/<adview> shadowHost, we disable instantiating this plugin. This
1378 // is to discourage and prevent developers from accidentally attaching 1371 // is to discourage and prevent developers from accidentally attaching
1379 // <object> directly in apps. 1372 // <object> directly in apps.
1380 // 1373 //
1381 // Note that this check below does *not* ensure any security, it is still 1374 // Note that this check below does *not* ensure any security, it is still
1382 // possible to bypass this check. 1375 // possible to bypass this check.
1383 // TODO(lazyboy): http://crbug.com/178663, Ensure we properly disallow 1376 // TODO(lazyboy): http://crbug.com/178663, Ensure we properly disallow
1384 // instantiating BrowserPlugin outside of the <webview>/<adview> shim. 1377 // instantiating BrowserPlugin outside of the <webview>/<adview> shim.
1385 if (container->element().isNull()) 1378 if (container->element().isNull())
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1435 CommandLine* command_line = CommandLine::ForCurrentProcess(); 1428 CommandLine* command_line = CommandLine::ForCurrentProcess();
1436 return !command_line->HasSwitch(extensions::switches::kExtensionProcess); 1429 return !command_line->HasSwitch(extensions::switches::kExtensionProcess);
1437 } 1430 }
1438 1431
1439 blink::WebWorkerPermissionClientProxy* 1432 blink::WebWorkerPermissionClientProxy*
1440 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( 1433 ChromeContentRendererClient::CreateWorkerPermissionClientProxy(
1441 content::RenderFrame* render_frame, 1434 content::RenderFrame* render_frame,
1442 blink::WebFrame* frame) { 1435 blink::WebFrame* frame) {
1443 return new WorkerPermissionClientProxy(render_frame, frame); 1436 return new WorkerPermissionClientProxy(render_frame, frame);
1444 } 1437 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698