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

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

Issue 149163002: app_shell: Add ShellContentRendererClient (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: mac build (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/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 ContentSettingsObserver for allowScript?
Yoyo Zhou 2014/01/30 00:49:54 This doesn't look extension-related but it might s
James Cook 2014/01/30 01:10:13 Removed TODO. We'll solve that problem if we need
39 // TODO(jamescook): Create ExtensionFrameHelper?
Yoyo Zhou 2014/01/30 00:49:54 Looks like this is for Pepper web plugins? https:/
James Cook 2014/01/30 01:10:13 Hrm, so we might need it eventually if we want Pep
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 // TODO(jamescook): We need to make sure not to load PermissionFeatures
61 // that our PermissionsProvider doesn't know about. Once that is fixed we
62 // can call extension_dispatcher_->DidCreateScriptContext() to set up the
63 // extension's script context.
64 }
65
66 void ShellContentRendererClient::WillReleaseScriptContext(
67 WebFrame* frame, v8::Handle<v8::Context> context, int world_id) {
68 // TODO(jamescook): As above, but to release the extension script context.
69 }
70
71 bool ShellContentRendererClient::ShouldEnableSiteIsolationPolicy() const {
72 // Extension renderers don't need site isolation.
73 return false;
74 }
75
76 } // namespace apps
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698