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

Side by Side Diff: content/renderer/render_view_impl.cc

Issue 9668031: Implement BrowserPluginPlaceholder. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 8 years, 9 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 "content/renderer/render_view_impl.h" 5 #include "content/renderer/render_view_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 #include "content/renderer/media/media_stream_dispatcher.h" 66 #include "content/renderer/media/media_stream_dispatcher.h"
67 #include "content/renderer/media/media_stream_impl.h" 67 #include "content/renderer/media/media_stream_impl.h"
68 #include "content/renderer/media/render_audiosourceprovider.h" 68 #include "content/renderer/media/render_audiosourceprovider.h"
69 #include "content/renderer/media/render_media_log.h" 69 #include "content/renderer/media/render_media_log.h"
70 #include "content/renderer/media/renderer_gpu_video_decoder_factories.h" 70 #include "content/renderer/media/renderer_gpu_video_decoder_factories.h"
71 #include "content/renderer/mhtml_generator.h" 71 #include "content/renderer/mhtml_generator.h"
72 #include "content/renderer/mouse_lock_dispatcher.h" 72 #include "content/renderer/mouse_lock_dispatcher.h"
73 #include "content/renderer/notification_provider.h" 73 #include "content/renderer/notification_provider.h"
74 #include "content/renderer/p2p/socket_dispatcher.h" 74 #include "content/renderer/p2p/socket_dispatcher.h"
75 #include "content/renderer/plugin_channel_host.h" 75 #include "content/renderer/plugin_channel_host.h"
76 #include "content/renderer/plugins/browser_plugin_placeholder.h"
76 #include "content/renderer/render_process.h" 77 #include "content/renderer/render_process.h"
77 #include "content/renderer/render_thread_impl.h" 78 #include "content/renderer/render_thread_impl.h"
78 #include "content/renderer/render_widget_fullscreen_pepper.h" 79 #include "content/renderer/render_widget_fullscreen_pepper.h"
79 #include "content/renderer/renderer_accessibility.h" 80 #include "content/renderer/renderer_accessibility.h"
80 #include "content/renderer/renderer_webapplicationcachehost_impl.h" 81 #include "content/renderer/renderer_webapplicationcachehost_impl.h"
81 #include "content/renderer/renderer_webstoragenamespace_impl.h" 82 #include "content/renderer/renderer_webstoragenamespace_impl.h"
82 #include "content/renderer/text_input_client_observer.h" 83 #include "content/renderer/text_input_client_observer.h"
83 #include "content/renderer/v8_value_converter_impl.h" 84 #include "content/renderer/v8_value_converter_impl.h"
84 #include "content/renderer/web_ui_bindings.h" 85 #include "content/renderer/web_ui_bindings.h"
85 #include "content/renderer/webplugin_delegate_proxy.h" 86 #include "content/renderer/webplugin_delegate_proxy.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 #include "webkit/glue/webkit_constants.h" 160 #include "webkit/glue/webkit_constants.h"
160 #include "webkit/glue/webkit_glue.h" 161 #include "webkit/glue/webkit_glue.h"
161 #include "webkit/glue/weburlloader_impl.h" 162 #include "webkit/glue/weburlloader_impl.h"
162 #include "webkit/glue/weburlresponse_extradata_impl.h" 163 #include "webkit/glue/weburlresponse_extradata_impl.h"
163 #include "webkit/gpu/webgraphicscontext3d_in_process_impl.h" 164 #include "webkit/gpu/webgraphicscontext3d_in_process_impl.h"
164 #include "webkit/media/webmediaplayer_impl.h" 165 #include "webkit/media/webmediaplayer_impl.h"
165 #include "webkit/plugins/npapi/plugin_list.h" 166 #include "webkit/plugins/npapi/plugin_list.h"
166 #include "webkit/plugins/npapi/webplugin_delegate.h" 167 #include "webkit/plugins/npapi/webplugin_delegate.h"
167 #include "webkit/plugins/npapi/webplugin_delegate_impl.h" 168 #include "webkit/plugins/npapi/webplugin_delegate_impl.h"
168 #include "webkit/plugins/npapi/webplugin_impl.h" 169 #include "webkit/plugins/npapi/webplugin_impl.h"
170 #include "webkit/plugins/plugin_constants.h"
169 #include "webkit/plugins/ppapi/ppapi_webplugin_impl.h" 171 #include "webkit/plugins/ppapi/ppapi_webplugin_impl.h"
170 172
171 #if defined(OS_WIN) 173 #if defined(OS_WIN)
172 // TODO(port): these files are currently Windows only because they concern: 174 // TODO(port): these files are currently Windows only because they concern:
173 // * theming 175 // * theming
174 #include "ui/gfx/native_theme_win.h" 176 #include "ui/gfx/native_theme_win.h"
175 #elif defined(USE_X11) 177 #elif defined(USE_X11)
176 #include "third_party/WebKit/Source/WebKit/chromium/public/linux/WebRenderTheme. h" 178 #include "third_party/WebKit/Source/WebKit/chromium/public/linux/WebRenderTheme. h"
177 #include "ui/gfx/native_theme.h" 179 #include "ui/gfx/native_theme.h"
178 #elif defined(OS_MACOSX) 180 #elif defined(OS_MACOSX)
(...skipping 1877 matching lines...) Expand 10 before | Expand all | Expand 10 after
2056 2058
2057 bool RenderViewImpl::isPointerLocked() { 2059 bool RenderViewImpl::isPointerLocked() {
2058 return mouse_lock_dispatcher_->IsMouseLockedTo( 2060 return mouse_lock_dispatcher_->IsMouseLockedTo(
2059 webwidget_mouse_lock_target_.get()); 2061 webwidget_mouse_lock_target_.get());
2060 } 2062 }
2061 2063
2062 // WebKit::WebFrameClient ----------------------------------------------------- 2064 // WebKit::WebFrameClient -----------------------------------------------------
2063 2065
2064 WebPlugin* RenderViewImpl::createPlugin(WebFrame* frame, 2066 WebPlugin* RenderViewImpl::createPlugin(WebFrame* frame,
2065 const WebPluginParams& params) { 2067 const WebPluginParams& params) {
2068 // The browser plugin is a special kind of pepper plugin
2069 // that loads asynchronously. We first create a placeholder here.
2070 // When a guest is ready to be displayed, we swap out the placeholder
2071 // with the guest.
2072 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
2073 if (command_line.HasSwitch(switches::kEnableBrowserPlugin) &&
2074 UTF16ToASCII(params.mimeType) == kBrowserPluginMimeType)
jam 2012/03/12 16:30:09 this constant isn't in webkit/plugins/plugin_const
Fady Samuel 2012/03/12 22:11:44 Yes, it is. Added in this cl: const char kBrowserP
2075 return BrowserPluginPlaceholder::Create(this, frame, params);
2076
2066 WebPlugin* plugin = NULL; 2077 WebPlugin* plugin = NULL;
2067 if (content::GetContentClient()->renderer()->OverrideCreatePlugin( 2078 if (content::GetContentClient()->renderer()->OverrideCreatePlugin(
2068 this, frame, params, &plugin)) { 2079 this, frame, params, &plugin)) {
2069 return plugin; 2080 return plugin;
2070 } 2081 }
2071 2082
2072 webkit::WebPluginInfo info; 2083 webkit::WebPluginInfo info;
2073 std::string mime_type; 2084 std::string mime_type;
2074 bool found = GetPluginInfo(params.url, frame->top()->document().url(), 2085 bool found = GetPluginInfo(params.url, frame->top()->document().url(),
2075 params.mimeType.utf8(), &info, &mime_type); 2086 params.mimeType.utf8(), &info, &mime_type);
(...skipping 3041 matching lines...) Expand 10 before | Expand all | Expand 10 after
5117 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { 5128 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const {
5118 return !!RenderThreadImpl::current()->compositor_thread(); 5129 return !!RenderThreadImpl::current()->compositor_thread();
5119 } 5130 }
5120 5131
5121 void RenderViewImpl::OnJavaBridgeInit() { 5132 void RenderViewImpl::OnJavaBridgeInit() {
5122 DCHECK(!java_bridge_dispatcher_.get()); 5133 DCHECK(!java_bridge_dispatcher_.get());
5123 #if defined(ENABLE_JAVA_BRIDGE) 5134 #if defined(ENABLE_JAVA_BRIDGE)
5124 java_bridge_dispatcher_.reset(new JavaBridgeDispatcher(this)); 5135 java_bridge_dispatcher_.reset(new JavaBridgeDispatcher(this));
5125 #endif 5136 #endif
5126 } 5137 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698