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

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

Issue 1301653005: Setup for moving getUserMedia to secure origins only (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 5 years, 4 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 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 "base/strings/utf_string_conversions.h"
7 #include "content/public/common/content_constants.h" 8 #include "content/public/common/content_constants.h"
8 #include "content/public/renderer/render_frame.h" 9 #include "content/public/renderer/render_frame.h"
9 #include "content/public/renderer/render_frame_observer.h" 10 #include "content/public/renderer/render_frame_observer.h"
10 #include "content/public/renderer/render_frame_observer_tracker.h" 11 #include "content/public/renderer/render_frame_observer_tracker.h"
11 #include "content/public/renderer/render_thread.h" 12 #include "content/public/renderer/render_thread.h"
13 #include "extensions/common/constants.h"
12 #include "extensions/common/extensions_client.h" 14 #include "extensions/common/extensions_client.h"
13 #include "extensions/renderer/dispatcher.h" 15 #include "extensions/renderer/dispatcher.h"
14 #include "extensions/renderer/dispatcher_delegate.h" 16 #include "extensions/renderer/dispatcher_delegate.h"
15 #include "extensions/renderer/extension_frame_helper.h" 17 #include "extensions/renderer/extension_frame_helper.h"
16 #include "extensions/renderer/extension_helper.h" 18 #include "extensions/renderer/extension_helper.h"
17 #include "extensions/renderer/guest_view/extensions_guest_view_container.h" 19 #include "extensions/renderer/guest_view/extensions_guest_view_container.h"
18 #include "extensions/renderer/guest_view/extensions_guest_view_container_dispatc her.h" 20 #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" 21 #include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_con tainer.h"
20 #include "extensions/shell/common/shell_extensions_client.h" 22 #include "extensions/shell/common/shell_extensions_client.h"
21 #include "extensions/shell/renderer/shell_extensions_renderer_client.h" 23 #include "extensions/shell/renderer/shell_extensions_renderer_client.h"
22 #include "third_party/WebKit/public/web/WebLocalFrame.h" 24 #include "third_party/WebKit/public/web/WebLocalFrame.h"
25 #include "third_party/WebKit/public/web/WebSecurityPolicy.h"
23 26
24 #if !defined(DISABLE_NACL) 27 #if !defined(DISABLE_NACL)
25 #include "components/nacl/common/nacl_constants.h" 28 #include "components/nacl/common/nacl_constants.h"
26 #include "components/nacl/renderer/nacl_helper.h" 29 #include "components/nacl/renderer/nacl_helper.h"
27 #include "components/nacl/renderer/ppb_nacl_private.h" 30 #include "components/nacl/renderer/ppb_nacl_private.h"
28 #include "components/nacl/renderer/ppb_nacl_private_impl.h" 31 #include "components/nacl/renderer/ppb_nacl_private_impl.h"
29 #endif 32 #endif
30 33
31 using blink::WebFrame; 34 using blink::WebFrame;
32 using blink::WebString; 35 using blink::WebString;
(...skipping 20 matching lines...) Expand all
53 56
54 // Must be initialized after ExtensionsRendererClient. 57 // Must be initialized after ExtensionsRendererClient.
55 extension_dispatcher_.reset( 58 extension_dispatcher_.reset(
56 new Dispatcher(extension_dispatcher_delegate_.get())); 59 new Dispatcher(extension_dispatcher_delegate_.get()));
57 thread->AddObserver(extension_dispatcher_.get()); 60 thread->AddObserver(extension_dispatcher_.get());
58 61
59 guest_view_container_dispatcher_.reset( 62 guest_view_container_dispatcher_.reset(
60 new ExtensionsGuestViewContainerDispatcher()); 63 new ExtensionsGuestViewContainerDispatcher());
61 thread->AddObserver(guest_view_container_dispatcher_.get()); 64 thread->AddObserver(guest_view_container_dispatcher_.get());
62 65
63 // TODO(jamescook): Init WebSecurityPolicy for chrome-extension: schemes. 66 // chrome-extensions: and chrome-extensions-resource: schemes should be
Devlin 2015/08/20 16:37:20 If you wanted to be *really* cool, you could put t
jww 2015/08/20 16:50:35 Done.
ddorwin 2015/08/20 16:57:20 It doesn't look like you uploaded this. I'm not su
jww 2015/08/20 18:26:07 My mistake. Done.
64 // See ChromeContentRendererClient for details. 67 // treated as secure.
tommi (sloooow) - chröme 2015/08/20 17:14:25 can you extend this comment to explain why? I thi
jww 2015/08/20 18:26:07 Done.
68 WebString extension_scheme(base::ASCIIToUTF16(kExtensionScheme));
69 blink::WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme);
70
71 WebString extension_resource_scheme(base::ASCIIToUTF16(
72 kExtensionResourceScheme));
73 blink::WebSecurityPolicy::registerURLSchemeAsSecure(
74 extension_resource_scheme);
65 } 75 }
66 76
67 void ShellContentRendererClient::RenderFrameCreated( 77 void ShellContentRendererClient::RenderFrameCreated(
68 content::RenderFrame* render_frame) { 78 content::RenderFrame* render_frame) {
69 // ExtensionFrameHelper destroys itself when the RenderFrame is destroyed. 79 // ExtensionFrameHelper destroys itself when the RenderFrame is destroyed.
70 new ExtensionFrameHelper(render_frame, extension_dispatcher_.get()); 80 new ExtensionFrameHelper(render_frame, extension_dispatcher_.get());
71 extension_dispatcher_->OnRenderFrameCreated(render_frame); 81 extension_dispatcher_->OnRenderFrameCreated(render_frame);
72 82
73 // TODO(jamescook): Do we need to add a new PepperHelper(render_frame) here? 83 // TODO(jamescook): Do we need to add a new PepperHelper(render_frame) here?
74 // It doesn't seem necessary for either Pepper or NaCl. 84 // It doesn't seem necessary for either Pepper or NaCl.
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 return new extensions::MimeHandlerViewContainer( 155 return new extensions::MimeHandlerViewContainer(
146 render_frame, mime_type, original_url); 156 render_frame, mime_type, original_url);
147 } 157 }
148 } 158 }
149 159
150 ExtensionsClient* ShellContentRendererClient::CreateExtensionsClient() { 160 ExtensionsClient* ShellContentRendererClient::CreateExtensionsClient() {
151 return new ShellExtensionsClient; 161 return new ShellExtensionsClient;
152 } 162 }
153 163
154 } // namespace extensions 164 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698