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

Side by Side Diff: chrome/browser/extensions/extension_host.cc

Issue 155071: Do some refactoring of renderer_host.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 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) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 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/browser/extensions/extension_host.h" 5 #include "chrome/browser/extensions/extension_host.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "app/resource_bundle.h" 8 #include "app/resource_bundle.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "chrome/browser/browser.h" 10 #include "chrome/browser/browser.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 if (current_tab) { 152 if (current_tab) {
153 current_tab->AddInfoBar( 153 current_tab->AddInfoBar(
154 new CrashedExtensionInfobarDelegate(current_tab, this)); 154 new CrashedExtensionInfobarDelegate(current_tab, this));
155 } 155 }
156 NotificationService::current()->Notify( 156 NotificationService::current()->Notify(
157 NotificationType::EXTENSION_PROCESS_CRASHED, 157 NotificationType::EXTENSION_PROCESS_CRASHED,
158 Source<Profile>(profile_), 158 Source<Profile>(profile_),
159 Details<ExtensionHost>(this)); 159 Details<ExtensionHost>(this));
160 } 160 }
161 161
162 WebPreferences ExtensionHost::GetWebkitPrefs() {
163 PrefService* prefs = render_view_host()->process()->profile()->GetPrefs();
164 const bool kIsDomUI = true;
165 return RenderViewHostDelegateHelper::GetWebkitPrefs(prefs, kIsDomUI);
166 }
167
168 void ExtensionHost::RunJavaScriptMessage(
169 const std::wstring& message,
170 const std::wstring& default_prompt,
171 const GURL& frame_url,
172 const int flags,
173 IPC::Message* reply_msg,
174 bool* did_suppress_message) {
175 // Automatically cancel the javascript alert (otherwise the renderer hangs
176 // indefinitely).
177 *did_suppress_message = true;
178 render_view_host()->JavaScriptMessageBoxClosed(reply_msg, true, L"");
179 }
180
181 void ExtensionHost::DidStopLoading(RenderViewHost* render_view_host) { 162 void ExtensionHost::DidStopLoading(RenderViewHost* render_view_host) {
182 // TODO(aa): This is toolstrip-specific and should probably not be here. 163 // TODO(aa): This is toolstrip-specific and should probably not be here.
183 // ExtensionToolstrip in bookmark_bar_view.cc? 164 // ExtensionToolstrip in bookmark_bar_view.cc?
184 static const StringPiece toolstrip_css( 165 static const StringPiece toolstrip_css(
185 ResourceBundle::GetSharedInstance().GetRawDataResource( 166 ResourceBundle::GetSharedInstance().GetRawDataResource(
186 IDR_EXTENSIONS_TOOLSTRIP_CSS)); 167 IDR_EXTENSIONS_TOOLSTRIP_CSS));
187 render_view_host->InsertCSSInWebFrame(L"", toolstrip_css.as_string()); 168 render_view_host->InsertCSSInWebFrame(L"", toolstrip_css.as_string());
188 169
189 did_stop_loading_ = true; 170 did_stop_loading_ = true;
190 } 171 }
191 172
173 void ExtensionHost::RunJavaScriptMessage(const std::wstring& message,
174 const std::wstring& default_prompt,
175 const GURL& frame_url,
176 const int flags,
177 IPC::Message* reply_msg,
178 bool* did_suppress_message) {
179 // Automatically cancel the javascript alert (otherwise the renderer hangs
180 // indefinitely).
181 *did_suppress_message = true;
182 render_view_host()->JavaScriptMessageBoxClosed(reply_msg, true, L"");
183 }
184
185 GURL ExtensionHost::GetAlternateErrorPageURL() const {
186 return GURL();
187 }
188
189 RendererPreferences ExtensionHost::GetRendererPrefs() const {
190 return RendererPreferences();
191 }
192
193 WebPreferences ExtensionHost::GetWebkitPrefs() {
194 PrefService* prefs = render_view_host()->process()->profile()->GetPrefs();
195 const bool kIsDomUI = true;
196 return RenderViewHostDelegateHelper::GetWebkitPrefs(prefs, kIsDomUI);
197 }
198
199 void ExtensionHost::ProcessDOMUIMessage(const std::string& message,
200 const std::string& content,
201 int request_id,
202 bool has_callback) {
203 extension_function_dispatcher_->HandleRequest(message, content, request_id,
204 has_callback);
205 }
206
192 void ExtensionHost::DidInsertCSS() { 207 void ExtensionHost::DidInsertCSS() {
193 #if defined(TOOLKIT_VIEWS) 208 #if defined(TOOLKIT_VIEWS)
194 if (view_.get()) 209 if (view_.get())
195 view_->SetDidInsertCSS(true); 210 view_->SetDidInsertCSS(true);
196 #endif 211 #endif
197 } 212 }
198 213
199 RenderViewHostDelegate::View* ExtensionHost::GetViewDelegate() const { 214 RenderViewHostDelegate::View* ExtensionHost::GetViewDelegate() const {
200 // TODO(erikkay) this is unfortunate. The interface declares that this method 215 // TODO(erikkay) this is unfortunate. The interface declares that this method
201 // must be const (no good reason for it as far as I can tell) which means you 216 // must be const (no good reason for it as far as I can tell) which means you
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 render_view_host()->process()->profile()); 306 render_view_host()->process()->profile());
292 // NOTE(rafaelw): This can return NULL in some circumstances. In particular, 307 // NOTE(rafaelw): This can return NULL in some circumstances. In particular,
293 // a toolstrip or background_page onload chrome.tabs api call can make it 308 // a toolstrip or background_page onload chrome.tabs api call can make it
294 // into here before the browser is sufficiently initialized to return here. 309 // into here before the browser is sufficiently initialized to return here.
295 // A similar situation may arise during shutdown. 310 // A similar situation may arise during shutdown.
296 // TODO(rafaelw): Delay creation of background_page until the browser 311 // TODO(rafaelw): Delay creation of background_page until the browser
297 // is available. http://code.google.com/p/chromium/issues/detail?id=13284 312 // is available. http://code.google.com/p/chromium/issues/detail?id=13284
298 return browser; 313 return browser;
299 } 314 }
300 315
301 void ExtensionHost::ProcessDOMUIMessage(const std::string& message,
302 const std::string& content,
303 int request_id,
304 bool has_callback) {
305 extension_function_dispatcher_->HandleRequest(message, content, request_id,
306 has_callback);
307 }
308
309 void ExtensionHost::RenderViewCreated(RenderViewHost* render_view_host) { 316 void ExtensionHost::RenderViewCreated(RenderViewHost* render_view_host) {
310 extension_function_dispatcher_.reset( 317 extension_function_dispatcher_.reset(
311 new ExtensionFunctionDispatcher(render_view_host_, this, url_)); 318 new ExtensionFunctionDispatcher(render_view_host_, this, url_));
312 } 319 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698