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

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

Issue 11365181: Remove GetExtensionService from Profile. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: tweaks Created 8 years, 1 month 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
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/browser/extensions/extension_host.h" 5 #include "chrome/browser/extensions/extension_host.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/singleton.h" 10 #include "base/memory/singleton.h"
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 CreateRenderViewNow(); 222 CreateRenderViewNow();
223 } else { 223 } else {
224 ProcessCreationQueue::GetInstance()->CreateSoon(this); 224 ProcessCreationQueue::GetInstance()->CreateSoon(this);
225 } 225 }
226 } 226 }
227 227
228 void ExtensionHost::CreateRenderViewNow() { 228 void ExtensionHost::CreateRenderViewNow() {
229 LoadInitialURL(); 229 LoadInitialURL();
230 if (is_background_page()) { 230 if (is_background_page()) {
231 DCHECK(IsRenderViewLive()); 231 DCHECK(IsRenderViewLive());
232 profile_->GetExtensionService()->DidCreateRenderViewForBackgroundPage(this); 232 extensions::ExtensionSystem::Get(profile_)->extension_service()->
233 DidCreateRenderViewForBackgroundPage(this);
233 } 234 }
234 } 235 }
235 236
236 extensions::WindowController* 237 extensions::WindowController*
237 ExtensionHost::GetExtensionWindowController() const { 238 ExtensionHost::GetExtensionWindowController() const {
238 return view() && view()->browser() ? 239 return view() && view()->browser() ?
239 view()->browser()->extension_window_controller() : NULL; 240 view()->browser()->extension_window_controller() : NULL;
240 } 241 }
241 242
242 const GURL& ExtensionHost::GetURL() const { 243 const GURL& ExtensionHost::GetURL() const {
243 return host_contents()->GetURL(); 244 return host_contents()->GetURL();
244 } 245 }
245 246
246 void ExtensionHost::LoadInitialURL() { 247 void ExtensionHost::LoadInitialURL() {
247 if (!is_background_page() && 248 if (!is_background_page() &&
248 !profile_->GetExtensionService()->IsBackgroundPageReady(extension_)) { 249 !extensions::ExtensionSystem::Get(profile_)->extension_service()->
250 IsBackgroundPageReady(extension_)) {
249 // Make sure the background page loads before any others. 251 // Make sure the background page loads before any others.
250 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY, 252 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY,
251 content::Source<Extension>(extension_)); 253 content::Source<Extension>(extension_));
252 return; 254 return;
253 } 255 }
254 256
255 host_contents_->GetController().LoadURL( 257 host_contents_->GetController().LoadURL(
256 initial_url_, content::Referrer(), content::PAGE_TRANSITION_LINK, 258 initial_url_, content::Referrer(), content::PAGE_TRANSITION_LINK,
257 std::string()); 259 std::string());
258 } 260 }
259 261
260 void ExtensionHost::Close() { 262 void ExtensionHost::Close() {
261 content::NotificationService::current()->Notify( 263 content::NotificationService::current()->Notify(
262 chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE, 264 chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE,
263 content::Source<Profile>(profile_), 265 content::Source<Profile>(profile_),
264 content::Details<ExtensionHost>(this)); 266 content::Details<ExtensionHost>(this));
265 } 267 }
266 268
267 void ExtensionHost::Observe(int type, 269 void ExtensionHost::Observe(int type,
268 const content::NotificationSource& source, 270 const content::NotificationSource& source,
269 const content::NotificationDetails& details) { 271 const content::NotificationDetails& details) {
270 switch (type) { 272 switch (type) {
271 case chrome::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY: 273 case chrome::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY:
272 DCHECK(profile_->GetExtensionService()-> 274 DCHECK(extensions::ExtensionSystem::Get(profile_)->extension_service()->
273 IsBackgroundPageReady(extension_)); 275 IsBackgroundPageReady(extension_));
274 LoadInitialURL(); 276 LoadInitialURL();
275 break; 277 break;
276 case chrome::NOTIFICATION_EXTENSION_UNLOADED: 278 case chrome::NOTIFICATION_EXTENSION_UNLOADED:
277 // The extension object will be deleted after this notification has been 279 // The extension object will be deleted after this notification has been
278 // sent. NULL it out so that dirty pointer issues don't arise in cases 280 // sent. NULL it out so that dirty pointer issues don't arise in cases
279 // when multiple ExtensionHost objects pointing to the same Extension are 281 // when multiple ExtensionHost objects pointing to the same Extension are
280 // present. 282 // present.
281 if (extension_ == content::Details<UnloadedExtensionInfo>(details)-> 283 if (extension_ == content::Details<UnloadedExtensionInfo>(details)->
282 extension) { 284 extension) {
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 } 382 }
381 383
382 void ExtensionHost::DocumentAvailableInMainFrame() { 384 void ExtensionHost::DocumentAvailableInMainFrame() {
383 // If the document has already been marked as available for this host, then 385 // If the document has already been marked as available for this host, then
384 // bail. No need for the redundant setup. http://crbug.com/31170 386 // bail. No need for the redundant setup. http://crbug.com/31170
385 if (document_element_available_) 387 if (document_element_available_)
386 return; 388 return;
387 389
388 document_element_available_ = true; 390 document_element_available_ = true;
389 if (is_background_page()) { 391 if (is_background_page()) {
390 profile_->GetExtensionService()->SetBackgroundPageReady(extension_); 392 extensions::ExtensionSystem::Get(profile_)->extension_service()->
393 SetBackgroundPageReady(extension_);
391 } else { 394 } else {
392 switch (extension_host_type_) { 395 switch (extension_host_type_) {
393 case chrome::VIEW_TYPE_EXTENSION_INFOBAR: 396 case chrome::VIEW_TYPE_EXTENSION_INFOBAR:
394 InsertInfobarCSS(); 397 InsertInfobarCSS();
395 break; 398 break;
396 default: 399 default:
397 break; // No style sheet for other types, at the moment. 400 break; // No style sheet for other types, at the moment.
398 } 401 }
399 } 402 }
400 } 403 }
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 void ExtensionHost::RequestMediaAccessPermission( 648 void ExtensionHost::RequestMediaAccessPermission(
646 content::WebContents* web_contents, 649 content::WebContents* web_contents,
647 const content::MediaStreamRequest* request, 650 const content::MediaStreamRequest* request,
648 const content::MediaResponseCallback& callback) { 651 const content::MediaResponseCallback& callback) {
649 // For tab capture device, we require the tabCapture permission. 652 // For tab capture device, we require the tabCapture permission.
650 RequestMediaAccessPermissionHelper::AuthorizeRequest( 653 RequestMediaAccessPermissionHelper::AuthorizeRequest(
651 request, callback, extension(), false); 654 request, callback, extension(), false);
652 } 655 }
653 656
654 } // namespace extensions 657 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698