OLD | NEW |
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 "apps/shell/renderer/shell_content_renderer_client.h" | 5 #include "apps/shell/renderer/shell_content_renderer_client.h" |
6 | 6 |
7 #include "apps/shell/common/shell_extensions_client.h" | 7 #include "apps/shell/common/shell_extensions_client.h" |
| 8 #include "apps/shell/renderer/shell_extensions_renderer_client.h" |
8 #include "chrome/renderer/extensions/dispatcher.h" | 9 #include "chrome/renderer/extensions/dispatcher.h" |
9 #include "chrome/renderer/extensions/extension_helper.h" | 10 #include "chrome/renderer/extensions/extension_helper.h" |
10 #include "content/public/renderer/render_frame.h" | 11 #include "content/public/renderer/render_frame.h" |
11 #include "content/public/renderer/render_frame_observer.h" | 12 #include "content/public/renderer/render_frame_observer.h" |
12 #include "content/public/renderer/render_frame_observer_tracker.h" | 13 #include "content/public/renderer/render_frame_observer_tracker.h" |
13 #include "content/public/renderer/render_thread.h" | 14 #include "content/public/renderer/render_thread.h" |
14 #include "extensions/common/extensions_client.h" | 15 #include "extensions/common/extensions_client.h" |
15 | 16 |
16 using blink::WebFrame; | 17 using blink::WebFrame; |
17 using blink::WebString; | 18 using blink::WebString; |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 RenderThread* thread = RenderThread::Get(); | 65 RenderThread* thread = RenderThread::Get(); |
65 | 66 |
66 extension_dispatcher_.reset(new extensions::Dispatcher()); | 67 extension_dispatcher_.reset(new extensions::Dispatcher()); |
67 thread->AddObserver(extension_dispatcher_.get()); | 68 thread->AddObserver(extension_dispatcher_.get()); |
68 | 69 |
69 // TODO(jamescook): Init WebSecurityPolicy for chrome-extension: schemes. | 70 // TODO(jamescook): Init WebSecurityPolicy for chrome-extension: schemes. |
70 // See ChromeContentRendererClient for details. | 71 // See ChromeContentRendererClient for details. |
71 | 72 |
72 extensions_client_.reset(new ShellExtensionsClient); | 73 extensions_client_.reset(new ShellExtensionsClient); |
73 extensions::ExtensionsClient::Set(extensions_client_.get()); | 74 extensions::ExtensionsClient::Set(extensions_client_.get()); |
| 75 |
| 76 extensions_renderer_client_.reset(new ShellExtensionsRendererClient); |
| 77 extensions::ExtensionsRendererClient::Set(extensions_renderer_client_.get()); |
74 } | 78 } |
75 | 79 |
76 void ShellContentRendererClient::RenderFrameCreated( | 80 void ShellContentRendererClient::RenderFrameCreated( |
77 content::RenderFrame* render_frame) { | 81 content::RenderFrame* render_frame) { |
78 // ShellFrameHelper destroyes itself when the RenderFrame is destroyed. | 82 // ShellFrameHelper destroyes itself when the RenderFrame is destroyed. |
79 new ShellFrameHelper(render_frame, extension_dispatcher_.get()); | 83 new ShellFrameHelper(render_frame, extension_dispatcher_.get()); |
80 } | 84 } |
81 | 85 |
82 void ShellContentRendererClient::RenderViewCreated( | 86 void ShellContentRendererClient::RenderViewCreated( |
83 content::RenderView* render_view) { | 87 content::RenderView* render_view) { |
(...skipping 16 matching lines...) Expand all Loading... |
100 extension_dispatcher_->DidCreateScriptContext( | 104 extension_dispatcher_->DidCreateScriptContext( |
101 frame, context, extension_group, world_id); | 105 frame, context, extension_group, world_id); |
102 } | 106 } |
103 | 107 |
104 bool ShellContentRendererClient::ShouldEnableSiteIsolationPolicy() const { | 108 bool ShellContentRendererClient::ShouldEnableSiteIsolationPolicy() const { |
105 // Extension renderers don't need site isolation. | 109 // Extension renderers don't need site isolation. |
106 return false; | 110 return false; |
107 } | 111 } |
108 | 112 |
109 } // namespace apps | 113 } // namespace apps |
OLD | NEW |