OLD | NEW |
---|---|
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/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
(...skipping 27 matching lines...) Expand all Loading... | |
38 #include "chrome/renderer/media/chrome_key_systems.h" | 38 #include "chrome/renderer/media/chrome_key_systems.h" |
39 #include "chrome/renderer/net/net_error_helper.h" | 39 #include "chrome/renderer/net/net_error_helper.h" |
40 #include "chrome/renderer/net/prescient_networking_dispatcher.h" | 40 #include "chrome/renderer/net/prescient_networking_dispatcher.h" |
41 #include "chrome/renderer/net/renderer_net_predictor.h" | 41 #include "chrome/renderer/net/renderer_net_predictor.h" |
42 #include "chrome/renderer/net_benchmarking_extension.h" | 42 #include "chrome/renderer/net_benchmarking_extension.h" |
43 #include "chrome/renderer/page_load_histograms.h" | 43 #include "chrome/renderer/page_load_histograms.h" |
44 #include "chrome/renderer/pepper/pepper_helper.h" | 44 #include "chrome/renderer/pepper/pepper_helper.h" |
45 #include "chrome/renderer/playback_extension.h" | 45 #include "chrome/renderer/playback_extension.h" |
46 #include "chrome/renderer/plugins/chrome_plugin_placeholder.h" | 46 #include "chrome/renderer/plugins/chrome_plugin_placeholder.h" |
47 #include "chrome/renderer/plugins/plugin_uma.h" | 47 #include "chrome/renderer/plugins/plugin_uma.h" |
48 #include "chrome/renderer/plugins/shadow_dom_plugin_placeholder.h" | |
48 #include "chrome/renderer/prefetch_helper.h" | 49 #include "chrome/renderer/prefetch_helper.h" |
49 #include "chrome/renderer/prerender/prerender_dispatcher.h" | 50 #include "chrome/renderer/prerender/prerender_dispatcher.h" |
50 #include "chrome/renderer/prerender/prerender_helper.h" | 51 #include "chrome/renderer/prerender/prerender_helper.h" |
51 #include "chrome/renderer/prerender/prerender_media_load_deferrer.h" | 52 #include "chrome/renderer/prerender/prerender_media_load_deferrer.h" |
52 #include "chrome/renderer/prerender/prerenderer_client.h" | 53 #include "chrome/renderer/prerender/prerenderer_client.h" |
53 #include "chrome/renderer/principals_extension_bindings.h" | 54 #include "chrome/renderer/principals_extension_bindings.h" |
54 #include "chrome/renderer/printing/print_web_view_helper.h" | 55 #include "chrome/renderer/printing/print_web_view_helper.h" |
55 #include "chrome/renderer/safe_browsing/malware_dom_details.h" | 56 #include "chrome/renderer/safe_browsing/malware_dom_details.h" |
56 #include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h" | 57 #include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h" |
57 #include "chrome/renderer/searchbox/search_bouncer.h" | 58 #include "chrome/renderer/searchbox/search_bouncer.h" |
(...skipping 27 matching lines...) Expand all Loading... | |
85 #include "third_party/WebKit/public/platform/WebURL.h" | 86 #include "third_party/WebKit/public/platform/WebURL.h" |
86 #include "third_party/WebKit/public/platform/WebURLError.h" | 87 #include "third_party/WebKit/public/platform/WebURLError.h" |
87 #include "third_party/WebKit/public/platform/WebURLRequest.h" | 88 #include "third_party/WebKit/public/platform/WebURLRequest.h" |
88 #include "third_party/WebKit/public/web/WebCache.h" | 89 #include "third_party/WebKit/public/web/WebCache.h" |
89 #include "third_party/WebKit/public/web/WebDataSource.h" | 90 #include "third_party/WebKit/public/web/WebDataSource.h" |
90 #include "third_party/WebKit/public/web/WebDocument.h" | 91 #include "third_party/WebKit/public/web/WebDocument.h" |
91 #include "third_party/WebKit/public/web/WebElement.h" | 92 #include "third_party/WebKit/public/web/WebElement.h" |
92 #include "third_party/WebKit/public/web/WebLocalFrame.h" | 93 #include "third_party/WebKit/public/web/WebLocalFrame.h" |
93 #include "third_party/WebKit/public/web/WebPluginContainer.h" | 94 #include "third_party/WebKit/public/web/WebPluginContainer.h" |
94 #include "third_party/WebKit/public/web/WebPluginParams.h" | 95 #include "third_party/WebKit/public/web/WebPluginParams.h" |
96 #include "third_party/WebKit/public/web/WebPluginPlaceholder.h" | |
95 #include "third_party/WebKit/public/web/WebSecurityOrigin.h" | 97 #include "third_party/WebKit/public/web/WebSecurityOrigin.h" |
96 #include "third_party/WebKit/public/web/WebSecurityPolicy.h" | 98 #include "third_party/WebKit/public/web/WebSecurityPolicy.h" |
97 #include "ui/base/l10n/l10n_util.h" | 99 #include "ui/base/l10n/l10n_util.h" |
98 #include "ui/base/layout.h" | 100 #include "ui/base/layout.h" |
99 #include "ui/base/resource/resource_bundle.h" | 101 #include "ui/base/resource/resource_bundle.h" |
100 #include "ui/base/webui/jstemplate_builder.h" | 102 #include "ui/base/webui/jstemplate_builder.h" |
101 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. | 103 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. |
102 | 104 |
103 #if !defined(DISABLE_NACL) | 105 #if !defined(DISABLE_NACL) |
104 #include "components/nacl/common/nacl_constants.h" | 106 #include "components/nacl/common/nacl_constants.h" |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
540 const Extension* ChromeContentRendererClient::GetExtensionByOrigin( | 542 const Extension* ChromeContentRendererClient::GetExtensionByOrigin( |
541 const WebSecurityOrigin& origin) const { | 543 const WebSecurityOrigin& origin) const { |
542 if (!EqualsASCII(origin.protocol(), extensions::kExtensionScheme)) | 544 if (!EqualsASCII(origin.protocol(), extensions::kExtensionScheme)) |
543 return NULL; | 545 return NULL; |
544 | 546 |
545 const std::string extension_id = origin.host().utf8().data(); | 547 const std::string extension_id = origin.host().utf8().data(); |
546 return extension_dispatcher_->extensions()->GetByID(extension_id); | 548 return extension_dispatcher_->extensions()->GetByID(extension_id); |
547 } | 549 } |
548 #endif | 550 #endif |
549 | 551 |
552 scoped_ptr<blink::WebPluginPlaceholder> | |
553 ChromeContentRendererClient::CreatePluginPlaceholder( | |
554 content::RenderFrame* render_frame, | |
555 blink::WebLocalFrame* frame, | |
556 const blink::WebPluginParams& orig_params) { | |
Bernhard Bauer
2014/10/29 17:45:54
TBH, I would even move the rest of this method int
jbroman
2014/10/29 18:14:40
Hmm, okay. Done.
| |
557 using Status = ChromeViewHostMsg_GetPluginInfo_Status; | |
558 | |
559 if (!ShadowDOMPluginPlaceholderEnabled()) | |
560 return nullptr; | |
561 | |
562 std::string orig_mime_type = orig_params.mimeType.utf8(); | |
563 // TODO(jbroman): Investigate whether browser plugin needs special handling. | |
564 ChromeViewHostMsg_GetPluginInfo_Output output; | |
565 #if defined(ENABLE_PLUGINS) | |
566 render_frame->Send( | |
567 new ChromeViewHostMsg_GetPluginInfo(render_frame->GetRoutingID(), | |
568 GURL(orig_params.url), | |
569 frame->top()->document().url(), | |
570 orig_params.mimeType.utf8(), | |
571 &output)); | |
572 #else | |
573 output.status.value = Status::kNotFound; | |
574 #endif | |
575 | |
576 return CreateShadowDOMPlaceholderForPluginInfo(output, orig_params); | |
577 } | |
578 | |
550 bool ChromeContentRendererClient::OverrideCreatePlugin( | 579 bool ChromeContentRendererClient::OverrideCreatePlugin( |
551 content::RenderFrame* render_frame, | 580 content::RenderFrame* render_frame, |
552 WebLocalFrame* frame, | 581 WebLocalFrame* frame, |
553 const WebPluginParams& params, | 582 const WebPluginParams& params, |
554 WebPlugin** plugin) { | 583 WebPlugin** plugin) { |
555 std::string orig_mime_type = params.mimeType.utf8(); | 584 std::string orig_mime_type = params.mimeType.utf8(); |
556 #if defined(ENABLE_EXTENSIONS) | 585 #if defined(ENABLE_EXTENSIONS) |
557 if (orig_mime_type == content::kBrowserPluginMimeType) { | 586 if (orig_mime_type == content::kBrowserPluginMimeType) { |
558 bool guest_view_api_available = false; | 587 bool guest_view_api_available = false; |
559 extension_dispatcher_->script_context_set().ForEach( | 588 extension_dispatcher_->script_context_set().ForEach( |
(...skipping 1025 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1585 content::BrowserPluginDelegate* | 1614 content::BrowserPluginDelegate* |
1586 ChromeContentRendererClient::CreateBrowserPluginDelegate( | 1615 ChromeContentRendererClient::CreateBrowserPluginDelegate( |
1587 content::RenderFrame* render_frame, | 1616 content::RenderFrame* render_frame, |
1588 const std::string& mime_type) { | 1617 const std::string& mime_type) { |
1589 #if defined(ENABLE_EXTENSIONS) | 1618 #if defined(ENABLE_EXTENSIONS) |
1590 return new extensions::GuestViewContainer(render_frame, mime_type); | 1619 return new extensions::GuestViewContainer(render_frame, mime_type); |
1591 #else | 1620 #else |
1592 return NULL; | 1621 return NULL; |
1593 #endif | 1622 #endif |
1594 } | 1623 } |
OLD | NEW |