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

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

Issue 376033002: Adding MimeHandlerView. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pending-zork-patch2
Patch Set: remove some printfs. Created 6 years, 5 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
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 #include "base/debug/stack_trace.h"
6 7
7 #include "base/command_line.h" 8 #include "base/command_line.h"
8 #include "base/debug/crash_logging.h" 9 #include "base/debug/crash_logging.h"
9 #include "base/logging.h" 10 #include "base/logging.h"
10 #include "base/metrics/field_trial.h" 11 #include "base/metrics/field_trial.h"
11 #include "base/metrics/histogram.h" 12 #include "base/metrics/histogram.h"
12 #include "base/metrics/user_metrics_action.h" 13 #include "base/metrics/user_metrics_action.h"
13 #include "base/path_service.h" 14 #include "base/path_service.h"
14 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
15 #include "base/strings/string_util.h" 16 #include "base/strings/string_util.h"
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 return NULL; 489 return NULL;
489 490
490 const std::string extension_id = origin.host().utf8().data(); 491 const std::string extension_id = origin.host().utf8().data();
491 return extension_dispatcher_->extensions()->GetByID(extension_id); 492 return extension_dispatcher_->extensions()->GetByID(extension_id);
492 } 493 }
493 494
494 bool ChromeContentRendererClient::OverrideCreatePlugin( 495 bool ChromeContentRendererClient::OverrideCreatePlugin(
495 content::RenderFrame* render_frame, 496 content::RenderFrame* render_frame,
496 WebLocalFrame* frame, 497 WebLocalFrame* frame,
497 const WebPluginParams& params, 498 const WebPluginParams& params,
499 int* instance_id,
498 WebPlugin** plugin) { 500 WebPlugin** plugin) {
501 *instance_id = -1; // kInstanceIDNone.
499 std::string orig_mime_type = params.mimeType.utf8(); 502 std::string orig_mime_type = params.mimeType.utf8();
500 if (orig_mime_type == content::kBrowserPluginMimeType) { 503 if (orig_mime_type == content::kBrowserPluginMimeType) {
501 WebDocument document = frame->document(); 504 WebDocument document = frame->document();
502 const Extension* extension = 505 const Extension* extension =
503 GetExtensionByOrigin(document.securityOrigin()); 506 GetExtensionByOrigin(document.securityOrigin());
504 if (extension) { 507 if (extension) {
505 const extensions::APIPermission::ID perms[] = { 508 const extensions::APIPermission::ID perms[] = {
506 extensions::APIPermission::kAppView, 509 extensions::APIPermission::kAppView,
507 extensions::APIPermission::kWebView, 510 extensions::APIPermission::kWebView,
508 }; 511 };
509 for (size_t i = 0; i < arraysize(perms); ++i) { 512 for (size_t i = 0; i < arraysize(perms); ++i) {
510 if (extension->permissions_data()->HasAPIPermission(perms[i])) 513 if (extension->permissions_data()->HasAPIPermission(perms[i]))
511 return false; 514 return false;
512 } 515 }
513 } 516 }
514 } 517 }
515 518
516 ChromeViewHostMsg_GetPluginInfo_Output output; 519 ChromeViewHostMsg_GetPluginInfo_Output output;
517 #if defined(ENABLE_PLUGINS) 520 #if defined(ENABLE_PLUGINS)
518 render_frame->Send(new ChromeViewHostMsg_GetPluginInfo( 521 render_frame->Send(new ChromeViewHostMsg_GetPluginInfo(
519 render_frame->GetRoutingID(), GURL(params.url), 522 render_frame->GetRoutingID(), GURL(params.url),
520 frame->top()->document().url(), orig_mime_type, &output)); 523 frame->top()->document().url(), orig_mime_type, &output));
524 printf("PLUGIN_TYPE_BROWSER_PLUGIN: %d\n",
525 content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN);
521 526
522 if (output.plugin.type == content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) 527 // This would result in double GetPluginInfo, once from here and one more time
528 // from content/.
529 if (output.plugin.type == content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) {
530 *instance_id = output.instance_id;
523 return false; 531 return false;
532 }
524 #else 533 #else
525 output.status.value = ChromeViewHostMsg_GetPluginInfo_Status::kNotFound; 534 output.status.value = ChromeViewHostMsg_GetPluginInfo_Status::kNotFound;
526 #endif 535 #endif
527 *plugin = CreatePlugin(render_frame, frame, params, output); 536 *plugin = CreatePlugin(render_frame, frame, params, output);
528 return true; 537 return true;
529 } 538 }
530 539
531 WebPlugin* ChromeContentRendererClient::CreatePluginReplacement( 540 WebPlugin* ChromeContentRendererClient::CreatePluginReplacement(
532 content::RenderFrame* render_frame, 541 content::RenderFrame* render_frame,
533 const base::FilePath& plugin_path) { 542 const base::FilePath& plugin_path) {
(...skipping 894 matching lines...) Expand 10 before | Expand all | Expand 10 after
1428 CommandLine* command_line = CommandLine::ForCurrentProcess(); 1437 CommandLine* command_line = CommandLine::ForCurrentProcess();
1429 return !command_line->HasSwitch(extensions::switches::kExtensionProcess); 1438 return !command_line->HasSwitch(extensions::switches::kExtensionProcess);
1430 } 1439 }
1431 1440
1432 blink::WebWorkerPermissionClientProxy* 1441 blink::WebWorkerPermissionClientProxy*
1433 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( 1442 ChromeContentRendererClient::CreateWorkerPermissionClientProxy(
1434 content::RenderFrame* render_frame, 1443 content::RenderFrame* render_frame,
1435 blink::WebFrame* frame) { 1444 blink::WebFrame* frame) {
1436 return new WorkerPermissionClientProxy(render_frame, frame); 1445 return new WorkerPermissionClientProxy(render_frame, frame);
1437 } 1446 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698