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

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

Issue 149163002: app_shell: Add ShellContentRendererClient (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase (content_renderer_client) Created 6 years, 10 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "apps/shell/renderer/shell_content_renderer_client.h"
6
7 #include "apps/shell/shell_extensions_client.h"
8 #include "chrome/renderer/extensions/dispatcher.h"
9 #include "chrome/renderer/extensions/extension_helper.h"
10 #include "content/public/renderer/render_thread.h"
11 #include "extensions/common/extensions_client.h"
12
13 using blink::WebFrame;
14 using blink::WebString;
15 using content::RenderThread;
16
17 namespace apps {
18
19 ShellContentRendererClient::ShellContentRendererClient() {}
20
21 ShellContentRendererClient::~ShellContentRendererClient() {}
22
23 void ShellContentRendererClient::RenderThreadStarted() {
24 RenderThread* thread = RenderThread::Get();
25
26 extension_dispatcher_.reset(new extensions::Dispatcher());
27 thread->AddObserver(extension_dispatcher_.get());
28
29 // TODO(jamescook): Init WebSecurityPolicy for chrome-extension: schemes.
30 // See ChromeContentRendererClient for details.
31
32 extensions_client_.reset(new ShellExtensionsClient);
33 extensions::ExtensionsClient::Set(extensions_client_.get());
34 }
35
36 void ShellContentRendererClient::RenderFrameCreated(
37 content::RenderFrame* render_frame) {
38 // TODO(jamescook): Create ExtensionFrameHelper? This might be needed for
39 // Pepper plugins like Flash.
40 }
41
42 void ShellContentRendererClient::RenderViewCreated(
43 content::RenderView* render_view) {
44 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get());
45 }
46
47 bool ShellContentRendererClient::WillSendRequest(
48 blink::WebFrame* frame,
49 content::PageTransition transition_type,
50 const GURL& url,
51 const GURL& first_party_for_cookies,
52 GURL* new_url) {
53 // TODO(jamescook): Cause an error for bad extension scheme requests?
54 return false;
55 }
56
57 void ShellContentRendererClient::DidCreateScriptContext(
58 WebFrame* frame, v8::Handle<v8::Context> context, int extension_group,
59 int world_id) {
60 extension_dispatcher_->DidCreateScriptContext(
61 frame, context, extension_group, world_id);
62 }
63
64 void ShellContentRendererClient::WillReleaseScriptContext(
65 WebFrame* frame, v8::Handle<v8::Context> context, int world_id) {
66 extension_dispatcher_->WillReleaseScriptContext(frame, context, world_id);
67 }
68
69 bool ShellContentRendererClient::ShouldEnableSiteIsolationPolicy() const {
70 // Extension renderers don't need site isolation.
71 return false;
72 }
73
74 } // namespace apps
OLDNEW
« no previous file with comments | « apps/shell/renderer/shell_content_renderer_client.h ('k') | apps/shell/shell_browser_main_parts.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698