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

Side by Side Diff: extensions/shell/renderer/shell_content_renderer_client.cc

Issue 1161483004: Move guest view container message routing out of content/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove ChromeGVCDispatcher + sync Created 5 years, 6 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
« no previous file with comments | « extensions/shell/renderer/shell_content_renderer_client.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "extensions/shell/renderer/shell_content_renderer_client.h" 5 #include "extensions/shell/renderer/shell_content_renderer_client.h"
6 6
7 #include "components/guest_view/renderer/guest_view_container.h"
8 #include "content/public/common/content_constants.h" 7 #include "content/public/common/content_constants.h"
9 #include "content/public/renderer/render_frame.h" 8 #include "content/public/renderer/render_frame.h"
10 #include "content/public/renderer/render_frame_observer.h" 9 #include "content/public/renderer/render_frame_observer.h"
11 #include "content/public/renderer/render_frame_observer_tracker.h" 10 #include "content/public/renderer/render_frame_observer_tracker.h"
12 #include "content/public/renderer/render_thread.h" 11 #include "content/public/renderer/render_thread.h"
13 #include "extensions/common/extensions_client.h" 12 #include "extensions/common/extensions_client.h"
14 #include "extensions/renderer/dispatcher.h" 13 #include "extensions/renderer/dispatcher.h"
15 #include "extensions/renderer/dispatcher_delegate.h" 14 #include "extensions/renderer/dispatcher_delegate.h"
16 #include "extensions/renderer/extension_frame_helper.h" 15 #include "extensions/renderer/extension_frame_helper.h"
17 #include "extensions/renderer/extension_helper.h" 16 #include "extensions/renderer/extension_helper.h"
18 #include "extensions/renderer/guest_view/extensions_guest_view_container.h" 17 #include "extensions/renderer/guest_view/extensions_guest_view_container.h"
18 #include "extensions/renderer/guest_view/extensions_guest_view_container_dispatc her.h"
19 #include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_con tainer.h" 19 #include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_con tainer.h"
20 #include "extensions/shell/common/shell_extensions_client.h" 20 #include "extensions/shell/common/shell_extensions_client.h"
21 #include "extensions/shell/renderer/shell_extensions_renderer_client.h" 21 #include "extensions/shell/renderer/shell_extensions_renderer_client.h"
22 #include "ipc/ipc_message_macros.h"
23 #include "third_party/WebKit/public/web/WebLocalFrame.h" 22 #include "third_party/WebKit/public/web/WebLocalFrame.h"
24 23
25 #if !defined(DISABLE_NACL) 24 #if !defined(DISABLE_NACL)
26 #include "components/nacl/common/nacl_constants.h" 25 #include "components/nacl/common/nacl_constants.h"
27 #include "components/nacl/renderer/nacl_helper.h" 26 #include "components/nacl/renderer/nacl_helper.h"
28 #include "components/nacl/renderer/ppb_nacl_private.h" 27 #include "components/nacl/renderer/ppb_nacl_private.h"
29 #include "components/nacl/renderer/ppb_nacl_private_impl.h" 28 #include "components/nacl/renderer/ppb_nacl_private_impl.h"
30 #endif 29 #endif
31 30
32 using blink::WebFrame; 31 using blink::WebFrame;
(...skipping 17 matching lines...) Expand all
50 extensions_renderer_client_.reset(new ShellExtensionsRendererClient); 49 extensions_renderer_client_.reset(new ShellExtensionsRendererClient);
51 ExtensionsRendererClient::Set(extensions_renderer_client_.get()); 50 ExtensionsRendererClient::Set(extensions_renderer_client_.get());
52 51
53 extension_dispatcher_delegate_.reset(new DispatcherDelegate()); 52 extension_dispatcher_delegate_.reset(new DispatcherDelegate());
54 53
55 // Must be initialized after ExtensionsRendererClient. 54 // Must be initialized after ExtensionsRendererClient.
56 extension_dispatcher_.reset( 55 extension_dispatcher_.reset(
57 new Dispatcher(extension_dispatcher_delegate_.get())); 56 new Dispatcher(extension_dispatcher_delegate_.get()));
58 thread->AddObserver(extension_dispatcher_.get()); 57 thread->AddObserver(extension_dispatcher_.get());
59 58
59 guest_view_container_dispatcher_.reset(
60 new ExtensionsGuestViewContainerDispatcher());
61 thread->AddObserver(guest_view_container_dispatcher_.get());
62
60 // TODO(jamescook): Init WebSecurityPolicy for chrome-extension: schemes. 63 // TODO(jamescook): Init WebSecurityPolicy for chrome-extension: schemes.
61 // See ChromeContentRendererClient for details. 64 // See ChromeContentRendererClient for details.
62 } 65 }
63 66
64 void ShellContentRendererClient::RenderFrameCreated( 67 void ShellContentRendererClient::RenderFrameCreated(
65 content::RenderFrame* render_frame) { 68 content::RenderFrame* render_frame) {
66 // ExtensionFrameHelper destroys itself when the RenderFrame is destroyed. 69 // ExtensionFrameHelper destroys itself when the RenderFrame is destroyed.
67 new ExtensionFrameHelper(render_frame, extension_dispatcher_.get()); 70 new ExtensionFrameHelper(render_frame, extension_dispatcher_.get());
68 71
69 // TODO(jamescook): Do we need to add a new PepperHelper(render_frame) here? 72 // TODO(jamescook): Do we need to add a new PepperHelper(render_frame) here?
(...skipping 19 matching lines...) Expand all
89 return false; 92 return false;
90 } 93 }
91 94
92 blink::WebPlugin* ShellContentRendererClient::CreatePluginReplacement( 95 blink::WebPlugin* ShellContentRendererClient::CreatePluginReplacement(
93 content::RenderFrame* render_frame, 96 content::RenderFrame* render_frame,
94 const base::FilePath& plugin_path) { 97 const base::FilePath& plugin_path) {
95 // Don't provide a custom "failed to load" plugin. 98 // Don't provide a custom "failed to load" plugin.
96 return NULL; 99 return NULL;
97 } 100 }
98 101
99 bool ShellContentRendererClient::ShouldForwardToGuestContainer(
100 const IPC::Message& msg) {
101 return (IPC_MESSAGE_CLASS(msg) == GuestViewMsgStart) ||
102 (IPC_MESSAGE_CLASS(msg) == ExtensionsGuestViewMsgStart);
103 }
104
105 bool ShellContentRendererClient::WillSendRequest( 102 bool ShellContentRendererClient::WillSendRequest(
106 blink::WebFrame* frame, 103 blink::WebFrame* frame,
107 ui::PageTransition transition_type, 104 ui::PageTransition transition_type,
108 const GURL& url, 105 const GURL& url,
109 const GURL& first_party_for_cookies, 106 const GURL& first_party_for_cookies,
110 GURL* new_url) { 107 GURL* new_url) {
111 // TODO(jamescook): Cause an error for bad extension scheme requests? 108 // TODO(jamescook): Cause an error for bad extension scheme requests?
112 return false; 109 return false;
113 } 110 }
114 111
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 return new extensions::MimeHandlerViewContainer( 146 return new extensions::MimeHandlerViewContainer(
150 render_frame, mime_type, original_url); 147 render_frame, mime_type, original_url);
151 } 148 }
152 } 149 }
153 150
154 ExtensionsClient* ShellContentRendererClient::CreateExtensionsClient() { 151 ExtensionsClient* ShellContentRendererClient::CreateExtensionsClient() {
155 return new ShellExtensionsClient; 152 return new ShellExtensionsClient;
156 } 153 }
157 154
158 } // namespace extensions 155 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/shell/renderer/shell_content_renderer_client.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698