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

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

Issue 10544195: Show an extension info bubble when a script badge is clicked. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase eh Created 8 years, 6 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/lazy_instance.h" 7 #include "base/lazy_instance.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/string_number_conversions.h" 10 #include "base/string_number_conversions.h"
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 host->CreateView(browser); 213 host->CreateView(browser);
214 OnExtensionHostCreated(host, false); 214 OnExtensionHostCreated(host, false);
215 return host; 215 return host;
216 } 216 }
217 217
218 ExtensionHost* ExtensionProcessManager::CreateViewHost( 218 ExtensionHost* ExtensionProcessManager::CreateViewHost(
219 const GURL& url, Browser* browser, chrome::ViewType view_type) { 219 const GURL& url, Browser* browser, chrome::ViewType view_type) {
220 EnsureBrowserWhenRequired(browser, view_type); 220 EnsureBrowserWhenRequired(browser, view_type);
221 ExtensionService* service = GetProfile()->GetExtensionService(); 221 ExtensionService* service = GetProfile()->GetExtensionService();
222 if (service) { 222 if (service) {
223 std::string extension_id = url.host();
224 if (url.SchemeIs(chrome::kChromeUIScheme) &&
225 url.host() == chrome::kChromeUIExtensionInfoHost)
226 extension_id = url.path().substr(1);
223 const Extension* extension = 227 const Extension* extension =
224 service->extensions()->GetByID(url.host()); 228 service->extensions()->GetByID(extension_id);
225 if (extension) 229 if (extension)
226 return CreateViewHost(extension, url, browser, view_type); 230 return CreateViewHost(extension, url, browser, view_type);
227 } 231 }
228 return NULL; 232 return NULL;
229 } 233 }
230 234
231 ExtensionHost* ExtensionProcessManager::CreatePopupHost( 235 ExtensionHost* ExtensionProcessManager::CreatePopupHost(
232 const Extension* extension, const GURL& url, Browser* browser) { 236 const Extension* extension, const GURL& url, Browser* browser) {
233 return CreateViewHost( 237 return CreateViewHost(
234 extension, url, browser, chrome::VIEW_TYPE_EXTENSION_POPUP); 238 extension, url, browser, chrome::VIEW_TYPE_EXTENSION_POPUP);
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
775 if (service && service->is_ready()) 779 if (service && service->is_ready())
776 CreateBackgroundHostsForProfileStartup(this, service->extensions()); 780 CreateBackgroundHostsForProfileStartup(this, service->extensions());
777 } 781 }
778 break; 782 break;
779 } 783 }
780 default: 784 default:
781 ExtensionProcessManager::Observe(type, source, details); 785 ExtensionProcessManager::Observe(type, source, details);
782 break; 786 break;
783 } 787 }
784 } 788 }
OLDNEW
« no previous file with comments | « chrome/browser/browser_resources.grd ('k') | chrome/browser/extensions/location_bar_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698