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

Side by Side Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 13409003: Hide ContentClient getters from embedders so that they they don't reuse content's embedder API. The… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 8 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/renderer/chrome_content_renderer_client.h" 5 #include "chrome/renderer/chrome_content_renderer_client.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 using WebKit::WebURLError; 132 using WebKit::WebURLError;
133 using WebKit::WebURLRequest; 133 using WebKit::WebURLRequest;
134 using WebKit::WebURLResponse; 134 using WebKit::WebURLResponse;
135 using WebKit::WebVector; 135 using WebKit::WebVector;
136 136
137 namespace { 137 namespace {
138 138
139 const char kWebViewTagName[] = "WEBVIEW"; 139 const char kWebViewTagName[] = "WEBVIEW";
140 const char kAdViewTagName[] = "ADVIEW"; 140 const char kAdViewTagName[] = "ADVIEW";
141 141
142 chrome::ChromeContentRendererClient* g_current_client;
143
142 // Explicitly register all extension ManifestHandlers needed to parse 144 // Explicitly register all extension ManifestHandlers needed to parse
143 // fields used in the renderer. 145 // fields used in the renderer.
144 void RegisterExtensionManifestHandlers() { 146 void RegisterExtensionManifestHandlers() {
145 (new extensions::AppIsolationHandler)->Register(); 147 (new extensions::AppIsolationHandler)->Register();
146 (new extensions::BackgroundManifestHandler)->Register(); 148 (new extensions::BackgroundManifestHandler)->Register();
147 (new extensions::CSPHandler(false))->Register(); // not platform app. 149 (new extensions::CSPHandler(false))->Register(); // not platform app.
148 (new extensions::CSPHandler(true))->Register(); // platform app. 150 (new extensions::CSPHandler(true))->Register(); // platform app.
149 (new extensions::DevToolsPageHandler)->Register(); 151 (new extensions::DevToolsPageHandler)->Register();
150 (new extensions::IncognitoHandler)->Register(); 152 (new extensions::IncognitoHandler)->Register();
151 (new extensions::PageActionHandler)->Register(); 153 (new extensions::PageActionHandler)->Register();
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 if (!webview) 229 if (!webview)
228 return NULL; 230 return NULL;
229 return content::RenderView::FromWebView(webview); 231 return content::RenderView::FromWebView(webview);
230 } 232 }
231 233
232 } // namespace 234 } // namespace
233 235
234 namespace chrome { 236 namespace chrome {
235 237
236 ChromeContentRendererClient::ChromeContentRendererClient() { 238 ChromeContentRendererClient::ChromeContentRendererClient() {
239 g_current_client = this;
237 } 240 }
238 241
239 ChromeContentRendererClient::~ChromeContentRendererClient() { 242 ChromeContentRendererClient::~ChromeContentRendererClient() {
243 g_current_client = NULL;
240 } 244 }
241 245
242 void ChromeContentRendererClient::RenderThreadStarted() { 246 void ChromeContentRendererClient::RenderThreadStarted() {
243 chrome_observer_.reset(new ChromeRenderProcessObserver(this)); 247 chrome_observer_.reset(new ChromeRenderProcessObserver(this));
244 extension_dispatcher_.reset(new extensions::Dispatcher()); 248 extension_dispatcher_.reset(new extensions::Dispatcher());
245 net_predictor_.reset(new RendererNetPredictor()); 249 net_predictor_.reset(new RendererNetPredictor());
246 spellcheck_.reset(new SpellCheck()); 250 spellcheck_.reset(new SpellCheck());
247 visited_link_slave_.reset(new components::VisitedLinkSlave()); 251 visited_link_slave_.reset(new components::VisitedLinkSlave());
248 #if defined(FULL_SAFE_BROWSING) 252 #if defined(FULL_SAFE_BROWSING)
249 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); 253 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create());
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 switches::kEnableNaCl); 591 switches::kEnableNaCl);
588 } else { 592 } else {
589 // If this is an external plugin that handles the NaCl mime type, we 593 // If this is an external plugin that handles the NaCl mime type, we
590 // allow Native Client, so Native Client's integration tests work. 594 // allow Native Client, so Native Client's integration tests work.
591 is_nacl_unrestricted = true; 595 is_nacl_unrestricted = true;
592 } 596 }
593 if (is_nacl_plugin || is_nacl_mime_type) { 597 if (is_nacl_plugin || is_nacl_mime_type) {
594 GURL manifest_url = is_nacl_mime_type ? 598 GURL manifest_url = is_nacl_mime_type ?
595 url : GetNaClContentHandlerURL(actual_mime_type, plugin); 599 url : GetNaClContentHandlerURL(actual_mime_type, plugin);
596 const Extension* extension = 600 const Extension* extension =
597 extension_dispatcher_->extensions()->GetExtensionOrAppByURL( 601 g_current_client->extension_dispatcher_->extensions()->
598 ExtensionURLInfo(manifest_url)); 602 GetExtensionOrAppByURL(ExtensionURLInfo(manifest_url));
599 GURL top_url = frame->top()->document().url(); 603 GURL top_url = frame->top()->document().url();
600 if (!IsNaClAllowed(manifest_url, 604 if (!IsNaClAllowed(manifest_url,
601 top_url, 605 top_url,
602 is_nacl_unrestricted, 606 is_nacl_unrestricted,
603 extension, 607 extension,
604 &params)) { 608 &params)) {
605 frame->addMessageToConsole( 609 frame->addMessageToConsole(
606 WebConsoleMessage( 610 WebConsoleMessage(
607 WebConsoleMessage::LevelError, 611 WebConsoleMessage::LevelError,
608 "Only unpacked extensions and apps installed from the " 612 "Only unpacked extensions and apps installed from the "
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
1139 if (thread) 1143 if (thread)
1140 thread->AddObserver(spellcheck_.get()); 1144 thread->AddObserver(spellcheck_.get());
1141 } 1145 }
1142 1146
1143 void ChromeContentRendererClient::OnPurgeMemory() { 1147 void ChromeContentRendererClient::OnPurgeMemory() {
1144 DVLOG(1) << "Resetting spellcheck in renderer client"; 1148 DVLOG(1) << "Resetting spellcheck in renderer client";
1145 SetSpellcheck(new SpellCheck()); 1149 SetSpellcheck(new SpellCheck());
1146 } 1150 }
1147 1151
1148 bool ChromeContentRendererClient::IsAdblockInstalled() { 1152 bool ChromeContentRendererClient::IsAdblockInstalled() {
1149 return extension_dispatcher_->extensions()->Contains( 1153 return g_current_client->extension_dispatcher_->extensions()->Contains(
1150 "gighmmpiobklfepjocnamgkkbiglidom"); 1154 "gighmmpiobklfepjocnamgkkbiglidom");
1151 } 1155 }
1152 1156
1153 bool ChromeContentRendererClient::IsAdblockPlusInstalled() { 1157 bool ChromeContentRendererClient::IsAdblockPlusInstalled() {
1154 return extension_dispatcher_->extensions()->Contains( 1158 return g_current_client->extension_dispatcher_->extensions()->Contains(
1155 "cfhdojbkjhnklbpkdaibdccddilifddb"); 1159 "cfhdojbkjhnklbpkdaibdccddilifddb");
1156 } 1160 }
1157 1161
1158 bool ChromeContentRendererClient::IsAdblockWithWebRequestInstalled() { 1162 bool ChromeContentRendererClient::IsAdblockWithWebRequestInstalled() {
1159 return extension_dispatcher_->IsAdblockWithWebRequestInstalled(); 1163 return g_current_client->extension_dispatcher_->
1164 IsAdblockWithWebRequestInstalled();
1160 } 1165 }
1161 1166
1162 bool ChromeContentRendererClient::IsAdblockPlusWithWebRequestInstalled() { 1167 bool ChromeContentRendererClient::IsAdblockPlusWithWebRequestInstalled() {
1163 return extension_dispatcher_->IsAdblockPlusWithWebRequestInstalled(); 1168 return g_current_client->extension_dispatcher_->
1169 IsAdblockPlusWithWebRequestInstalled();
1164 } 1170 }
1165 1171
1166 bool ChromeContentRendererClient::IsOtherExtensionWithWebRequestInstalled() { 1172 bool ChromeContentRendererClient::IsOtherExtensionWithWebRequestInstalled() {
1167 return extension_dispatcher_->IsOtherExtensionWithWebRequestInstalled(); 1173 return g_current_client->extension_dispatcher_->
1174 IsOtherExtensionWithWebRequestInstalled();
1168 } 1175 }
1169 1176
1170 void ChromeContentRendererClient::RegisterPPAPIInterfaceFactories( 1177 void ChromeContentRendererClient::RegisterPPAPIInterfaceFactories(
1171 webkit::ppapi::PpapiInterfaceFactoryManager* factory_manager) { 1178 webkit::ppapi::PpapiInterfaceFactoryManager* factory_manager) {
1172 #if defined(ENABLE_PLUGINS) 1179 #if defined(ENABLE_PLUGINS)
1173 factory_manager->RegisterFactory(ChromePPAPIInterfaceFactory); 1180 factory_manager->RegisterFactory(ChromePPAPIInterfaceFactory);
1174 #endif 1181 #endif
1175 } 1182 }
1176 1183
1177 bool ChromeContentRendererClient::AllowBrowserPlugin( 1184 bool ChromeContentRendererClient::AllowBrowserPlugin(
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1227 return true; 1234 return true;
1228 } 1235 }
1229 1236
1230 if (request_os_file_handle_allowed_hosts_.count(inner.host())) 1237 if (request_os_file_handle_allowed_hosts_.count(inner.host()))
1231 return true; 1238 return true;
1232 1239
1233 return false; 1240 return false;
1234 } 1241 }
1235 1242
1236 } // namespace chrome 1243 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698