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

Side by Side Diff: chrome/browser/geolocation/chrome_geolocation_permission_context.cc

Issue 8827013: Move/replace/rename URL-based extension getters from ExtensionService to/in ExtensionSet. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: origins Created 9 years 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/geolocation/chrome_geolocation_permission_context.h" 5 #include "chrome/browser/geolocation/chrome_geolocation_permission_context.h"
6 6
7 #include <functional> 7 #include <functional>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 19 matching lines...) Expand all
30 #include "content/public/browser/notification_registrar.h" 30 #include "content/public/browser/notification_registrar.h"
31 #include "content/public/browser/notification_source.h" 31 #include "content/public/browser/notification_source.h"
32 #include "content/public/browser/notification_types.h" 32 #include "content/public/browser/notification_types.h"
33 #include "grit/generated_resources.h" 33 #include "grit/generated_resources.h"
34 #include "grit/locale_settings.h" 34 #include "grit/locale_settings.h"
35 #include "grit/theme_resources.h" 35 #include "grit/theme_resources.h"
36 #include "grit/theme_resources_standard.h" 36 #include "grit/theme_resources_standard.h"
37 #include "net/base/net_util.h" 37 #include "net/base/net_util.h"
38 #include "ui/base/l10n/l10n_util.h" 38 #include "ui/base/l10n/l10n_util.h"
39 #include "ui/base/resource/resource_bundle.h" 39 #include "ui/base/resource/resource_bundle.h"
40 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h"
40 41
41 using content::BrowserThread; 42 using content::BrowserThread;
43 using WebKit::WebSecurityOrigin;
42 44
43 // GeolocationInfoBarQueueController ------------------------------------------ 45 // GeolocationInfoBarQueueController ------------------------------------------
44 46
45 // This class controls the geolocation infobar queue per profile, and it's an 47 // This class controls the geolocation infobar queue per profile, and it's an
46 // internal class to GeolocationPermissionContext. 48 // internal class to GeolocationPermissionContext.
47 // An alternate approach would be to have this queue per tab, and use 49 // An alternate approach would be to have this queue per tab, and use
48 // notifications to broadcast when permission is set / listen to notification to 50 // notifications to broadcast when permission is set / listen to notification to
49 // cancel pending requests. This may be specially useful if there are other 51 // cancel pending requests. This may be specially useful if there are other
50 // things listening for such notifications. 52 // things listening for such notifications.
51 // For the time being this class is self-contained and it doesn't seem pulling 53 // For the time being this class is self-contained and it doesn't seem pulling
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 BrowserThread::PostTask( 546 BrowserThread::PostTask(
545 BrowserThread::UI, FROM_HERE, 547 BrowserThread::UI, FROM_HERE,
546 base::Bind( 548 base::Bind(
547 &ChromeGeolocationPermissionContext::RequestGeolocationPermission, 549 &ChromeGeolocationPermissionContext::RequestGeolocationPermission,
548 this, render_process_id, render_view_id, bridge_id, 550 this, render_process_id, render_view_id, bridge_id,
549 requesting_frame, callback)); 551 requesting_frame, callback));
550 return; 552 return;
551 } 553 }
552 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 554 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
553 555
554 ExtensionService* extensions = profile_->GetExtensionService(); 556 ExtensionService* ext_service = profile_->GetExtensionService();
Aaron Boodman 2011/12/09 16:05:20 Styleguide says to avoid abbreviations.
Yoyo Zhou 2011/12/09 19:59:09 Ok. I'll fix that - here and some other places I f
555 if (extensions) { 557 if (ext_service) {
556 const Extension* ext = extensions->GetExtensionByURL(requesting_frame); 558 const Extension* ext =
557 if (!ext) 559 ext_service->extensions()->GetByURL(ExtensionURLInfo(
558 ext = extensions->GetExtensionByWebExtent(requesting_frame); 560 WebSecurityOrigin::createFromString(
Aaron Boodman 2011/12/09 16:05:20 Nuts. This should be an easy one to cleanup though
Yoyo Zhou 2011/12/09 19:59:09 What do you mean - using a string16/WebSecurityOri
561 UTF8ToUTF16(requesting_frame.spec())),
562 requesting_frame));
559 if (ext && ext->HasAPIPermission(ExtensionAPIPermission::kGeolocation)) { 563 if (ext && ext->HasAPIPermission(ExtensionAPIPermission::kGeolocation)) {
560 // Make sure the extension is in the calling process. 564 // Make sure the extension is in the calling process.
561 if (extensions->process_map()->Contains(ext->id(), render_process_id)) { 565 if (ext_service->process_map()->Contains(ext->id(), render_process_id)) {
562 NotifyPermissionSet(render_process_id, render_view_id, bridge_id, 566 NotifyPermissionSet(render_process_id, render_view_id, bridge_id,
563 requesting_frame, callback, true); 567 requesting_frame, callback, true);
564 return; 568 return;
565 } 569 }
566 } 570 }
567 } 571 }
568 572
569 TabContents* tab_contents = 573 TabContents* tab_contents =
570 tab_util::GetTabContentsByID(render_process_id, render_view_id); 574 tab_util::GetTabContentsByID(render_process_id, render_view_id);
571 if (!tab_contents || 575 if (!tab_contents ||
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 BrowserThread::UI, FROM_HERE, 666 BrowserThread::UI, FROM_HERE,
663 base::Bind( 667 base::Bind(
664 &ChromeGeolocationPermissionContext::CancelPendingInfoBarRequest, 668 &ChromeGeolocationPermissionContext::CancelPendingInfoBarRequest,
665 this, render_process_id, render_view_id, bridge_id)); 669 this, render_process_id, render_view_id, bridge_id));
666 return; 670 return;
667 } 671 }
668 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 672 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
669 geolocation_infobar_queue_controller_->CancelInfoBarRequest(render_process_id, 673 geolocation_infobar_queue_controller_->CancelInfoBarRequest(render_process_id,
670 render_view_id, bridge_id); 674 render_view_id, bridge_id);
671 } 675 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698