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

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: sync 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 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 using WebKit::WebURLError; 133 using WebKit::WebURLError;
134 using WebKit::WebURLRequest; 134 using WebKit::WebURLRequest;
135 using WebKit::WebURLResponse; 135 using WebKit::WebURLResponse;
136 using WebKit::WebVector; 136 using WebKit::WebVector;
137 137
138 namespace { 138 namespace {
139 139
140 const char kWebViewTagName[] = "WEBVIEW"; 140 const char kWebViewTagName[] = "WEBVIEW";
141 const char kAdViewTagName[] = "ADVIEW"; 141 const char kAdViewTagName[] = "ADVIEW";
142 142
143 chrome::ChromeContentRendererClient* g_current_client;
144
143 // Explicitly register all extension ManifestHandlers needed to parse 145 // Explicitly register all extension ManifestHandlers needed to parse
144 // fields used in the renderer. 146 // fields used in the renderer.
145 void RegisterExtensionManifestHandlers() { 147 void RegisterExtensionManifestHandlers() {
146 (new extensions::AppIsolationHandler)->Register(); 148 (new extensions::AppIsolationHandler)->Register();
147 (new extensions::BackgroundManifestHandler)->Register(); 149 (new extensions::BackgroundManifestHandler)->Register();
148 (new extensions::CSPHandler(false))->Register(); // not platform app. 150 (new extensions::CSPHandler(false))->Register(); // not platform app.
149 (new extensions::CSPHandler(true))->Register(); // platform app. 151 (new extensions::CSPHandler(true))->Register(); // platform app.
150 (new extensions::DevToolsPageHandler)->Register(); 152 (new extensions::DevToolsPageHandler)->Register();
151 (new extensions::IncognitoHandler)->Register(); 153 (new extensions::IncognitoHandler)->Register();
152 (new extensions::PageActionHandler)->Register(); 154 (new extensions::PageActionHandler)->Register();
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 if (!webview) 230 if (!webview)
229 return NULL; 231 return NULL;
230 return content::RenderView::FromWebView(webview); 232 return content::RenderView::FromWebView(webview);
231 } 233 }
232 234
233 } // namespace 235 } // namespace
234 236
235 namespace chrome { 237 namespace chrome {
236 238
237 ChromeContentRendererClient::ChromeContentRendererClient() { 239 ChromeContentRendererClient::ChromeContentRendererClient() {
240 g_current_client = this;
238 } 241 }
239 242
240 ChromeContentRendererClient::~ChromeContentRendererClient() { 243 ChromeContentRendererClient::~ChromeContentRendererClient() {
244 g_current_client = NULL;
241 } 245 }
242 246
243 void ChromeContentRendererClient::RenderThreadStarted() { 247 void ChromeContentRendererClient::RenderThreadStarted() {
244 chrome_observer_.reset(new ChromeRenderProcessObserver(this)); 248 chrome_observer_.reset(new ChromeRenderProcessObserver(this));
245 extension_dispatcher_.reset(new extensions::Dispatcher()); 249 extension_dispatcher_.reset(new extensions::Dispatcher());
246 net_predictor_.reset(new RendererNetPredictor()); 250 net_predictor_.reset(new RendererNetPredictor());
247 spellcheck_.reset(new SpellCheck()); 251 spellcheck_.reset(new SpellCheck());
248 visited_link_slave_.reset(new components::VisitedLinkSlave()); 252 visited_link_slave_.reset(new components::VisitedLinkSlave());
249 #if defined(FULL_SAFE_BROWSING) 253 #if defined(FULL_SAFE_BROWSING)
250 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); 254 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create());
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 switches::kEnableNaCl); 595 switches::kEnableNaCl);
592 } else { 596 } else {
593 // If this is an external plugin that handles the NaCl mime type, we 597 // If this is an external plugin that handles the NaCl mime type, we
594 // allow Native Client, so Native Client's integration tests work. 598 // allow Native Client, so Native Client's integration tests work.
595 is_nacl_unrestricted = true; 599 is_nacl_unrestricted = true;
596 } 600 }
597 if (is_nacl_plugin || is_nacl_mime_type) { 601 if (is_nacl_plugin || is_nacl_mime_type) {
598 GURL manifest_url = is_nacl_mime_type ? 602 GURL manifest_url = is_nacl_mime_type ?
599 url : GetNaClContentHandlerURL(actual_mime_type, plugin); 603 url : GetNaClContentHandlerURL(actual_mime_type, plugin);
600 const Extension* extension = 604 const Extension* extension =
601 extension_dispatcher_->extensions()->GetExtensionOrAppByURL( 605 g_current_client->extension_dispatcher_->extensions()->
602 ExtensionURLInfo(manifest_url)); 606 GetExtensionOrAppByURL(ExtensionURLInfo(manifest_url));
603 GURL top_url = frame->top()->document().url(); 607 GURL top_url = frame->top()->document().url();
604 if (!IsNaClAllowed(manifest_url, 608 if (!IsNaClAllowed(manifest_url,
605 top_url, 609 top_url,
606 is_nacl_unrestricted, 610 is_nacl_unrestricted,
607 extension, 611 extension,
608 &params)) { 612 &params)) {
609 frame->addMessageToConsole( 613 frame->addMessageToConsole(
610 WebConsoleMessage( 614 WebConsoleMessage(
611 WebConsoleMessage::LevelError, 615 WebConsoleMessage::LevelError,
612 "Only unpacked extensions and apps installed from the " 616 "Only unpacked extensions and apps installed from the "
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
1143 if (thread) 1147 if (thread)
1144 thread->AddObserver(spellcheck_.get()); 1148 thread->AddObserver(spellcheck_.get());
1145 } 1149 }
1146 1150
1147 void ChromeContentRendererClient::OnPurgeMemory() { 1151 void ChromeContentRendererClient::OnPurgeMemory() {
1148 DVLOG(1) << "Resetting spellcheck in renderer client"; 1152 DVLOG(1) << "Resetting spellcheck in renderer client";
1149 SetSpellcheck(new SpellCheck()); 1153 SetSpellcheck(new SpellCheck());
1150 } 1154 }
1151 1155
1152 bool ChromeContentRendererClient::IsAdblockInstalled() { 1156 bool ChromeContentRendererClient::IsAdblockInstalled() {
1153 return extension_dispatcher_->extensions()->Contains( 1157 return g_current_client->extension_dispatcher_->extensions()->Contains(
1154 "gighmmpiobklfepjocnamgkkbiglidom"); 1158 "gighmmpiobklfepjocnamgkkbiglidom");
1155 } 1159 }
1156 1160
1157 bool ChromeContentRendererClient::IsAdblockPlusInstalled() { 1161 bool ChromeContentRendererClient::IsAdblockPlusInstalled() {
1158 return extension_dispatcher_->extensions()->Contains( 1162 return g_current_client->extension_dispatcher_->extensions()->Contains(
1159 "cfhdojbkjhnklbpkdaibdccddilifddb"); 1163 "cfhdojbkjhnklbpkdaibdccddilifddb");
1160 } 1164 }
1161 1165
1162 bool ChromeContentRendererClient::IsAdblockWithWebRequestInstalled() { 1166 bool ChromeContentRendererClient::IsAdblockWithWebRequestInstalled() {
1163 return extension_dispatcher_->IsAdblockWithWebRequestInstalled(); 1167 return g_current_client->extension_dispatcher_->
1168 IsAdblockWithWebRequestInstalled();
1164 } 1169 }
1165 1170
1166 bool ChromeContentRendererClient::IsAdblockPlusWithWebRequestInstalled() { 1171 bool ChromeContentRendererClient::IsAdblockPlusWithWebRequestInstalled() {
1167 return extension_dispatcher_->IsAdblockPlusWithWebRequestInstalled(); 1172 return g_current_client->extension_dispatcher_->
1173 IsAdblockPlusWithWebRequestInstalled();
1168 } 1174 }
1169 1175
1170 bool ChromeContentRendererClient::IsOtherExtensionWithWebRequestInstalled() { 1176 bool ChromeContentRendererClient::IsOtherExtensionWithWebRequestInstalled() {
1171 return extension_dispatcher_->IsOtherExtensionWithWebRequestInstalled(); 1177 return g_current_client->extension_dispatcher_->
1178 IsOtherExtensionWithWebRequestInstalled();
1172 } 1179 }
1173 1180
1174 void ChromeContentRendererClient::RegisterPPAPIInterfaceFactories( 1181 void ChromeContentRendererClient::RegisterPPAPIInterfaceFactories(
1175 webkit::ppapi::PpapiInterfaceFactoryManager* factory_manager) { 1182 webkit::ppapi::PpapiInterfaceFactoryManager* factory_manager) {
1176 #if defined(ENABLE_PLUGINS) 1183 #if defined(ENABLE_PLUGINS)
1177 factory_manager->RegisterFactory(ChromePPAPIInterfaceFactory); 1184 factory_manager->RegisterFactory(ChromePPAPIInterfaceFactory);
1178 #endif 1185 #endif
1179 } 1186 }
1180 1187
1181 bool ChromeContentRendererClient::AllowBrowserPlugin( 1188 bool ChromeContentRendererClient::AllowBrowserPlugin(
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1233 1240
1234 for (size_t i = 0; i < request_os_file_handle_allowed_hosts_.size(); ++i) { 1241 for (size_t i = 0; i < request_os_file_handle_allowed_hosts_.size(); ++i) {
1235 if (MatchPattern(inner.host(), request_os_file_handle_allowed_hosts_[i])) 1242 if (MatchPattern(inner.host(), request_os_file_handle_allowed_hosts_[i]))
1236 return true; 1243 return true;
1237 } 1244 }
1238 1245
1239 return false; 1246 return false;
1240 } 1247 }
1241 1248
1242 } // namespace chrome 1249 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_content_renderer_client.h ('k') | chrome/renderer/net/net_error_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698