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

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

Issue 496403003: Remove NOTIFICATION_EXTENSION_PAGE_ACTIONS_UPDATED (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/active_script_controller.h" 5 #include "chrome/browser/extensions/active_script_controller.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
11 #include "base/stl_util.h" 11 #include "base/stl_util.h"
12 #include "chrome/browser/extensions/active_tab_permission_granter.h" 12 #include "chrome/browser/extensions/active_tab_permission_granter.h"
13 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
13 #include "chrome/browser/extensions/extension_action.h" 14 #include "chrome/browser/extensions/extension_action.h"
14 #include "chrome/browser/extensions/extension_action_manager.h" 15 #include "chrome/browser/extensions/extension_action_manager.h"
15 #include "chrome/browser/extensions/extension_util.h" 16 #include "chrome/browser/extensions/extension_util.h"
16 #include "chrome/browser/extensions/location_bar_controller.h" 17 #include "chrome/browser/extensions/location_bar_controller.h"
17 #include "chrome/browser/extensions/permissions_updater.h" 18 #include "chrome/browser/extensions/permissions_updater.h"
18 #include "chrome/browser/extensions/tab_helper.h" 19 #include "chrome/browser/extensions/tab_helper.h"
19 #include "chrome/browser/profiles/profile.h" 20 #include "chrome/browser/profiles/profile.h"
20 #include "chrome/browser/sessions/session_tab_helper.h" 21 #include "chrome/browser/sessions/session_tab_helper.h"
21 #include "chrome/common/extensions/api/extension_action/action_info.h" 22 #include "chrome/common/extensions/api/extension_action/action_info.h"
22 #include "components/crx_file/id_util.h" 23 #include "components/crx_file/id_util.h"
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 214
214 void ActiveScriptController::RequestScriptInjection( 215 void ActiveScriptController::RequestScriptInjection(
215 const Extension* extension, 216 const Extension* extension,
216 const base::Closure& callback) { 217 const base::Closure& callback) {
217 CHECK(extension); 218 CHECK(extension);
218 PendingRequestList& list = pending_requests_[extension->id()]; 219 PendingRequestList& list = pending_requests_[extension->id()];
219 list.push_back(callback); 220 list.push_back(callback);
220 221
221 // If this was the first entry, notify the location bar that there's a new 222 // If this was the first entry, notify the location bar that there's a new
222 // icon. 223 // icon.
223 if (list.size() == 1u) 224 if (list.size() == 1u) {
224 LocationBarController::NotifyChange(web_contents()); 225 ExtensionActionAPI::Get(web_contents()->GetBrowserContext())->
226 NotifyPageActionsChanged(web_contents());
227 }
225 } 228 }
226 229
227 void ActiveScriptController::RunPendingForExtension( 230 void ActiveScriptController::RunPendingForExtension(
228 const Extension* extension) { 231 const Extension* extension) {
229 DCHECK(extension); 232 DCHECK(extension);
230 233
231 content::NavigationEntry* visible_entry = 234 content::NavigationEntry* visible_entry =
232 web_contents()->GetController().GetVisibleEntry(); 235 web_contents()->GetController().GetVisibleEntry();
233 // Refuse to run if there's no visible entry, because we have no idea of 236 // Refuse to run if there's no visible entry, because we have no idea of
234 // determining if it's the proper page. This should rarely, if ever, happen. 237 // determining if it's the proper page. This should rarely, if ever, happen.
(...skipping 21 matching lines...) Expand all
256 active_tab_permission_granter()->GrantIfRequested(extension); 259 active_tab_permission_granter()->GrantIfRequested(extension);
257 260
258 // Run all pending injections for the given extension. 261 // Run all pending injections for the given extension.
259 for (PendingRequestList::iterator request = requests.begin(); 262 for (PendingRequestList::iterator request = requests.begin();
260 request != requests.end(); 263 request != requests.end();
261 ++request) { 264 ++request) {
262 request->Run(); 265 request->Run();
263 } 266 }
264 267
265 // Inform the location bar that the action is now gone. 268 // Inform the location bar that the action is now gone.
266 LocationBarController::NotifyChange(web_contents()); 269 ExtensionActionAPI::Get(web_contents()->GetBrowserContext())->
270 NotifyPageActionsChanged(web_contents());
267 } 271 }
268 272
269 void ActiveScriptController::OnRequestScriptInjectionPermission( 273 void ActiveScriptController::OnRequestScriptInjectionPermission(
270 const std::string& extension_id, 274 const std::string& extension_id,
271 UserScript::InjectionType script_type, 275 UserScript::InjectionType script_type,
272 int64 request_id) { 276 int64 request_id) {
273 if (!crx_file::id_util::IdIsValid(extension_id)) { 277 if (!crx_file::id_util::IdIsValid(extension_id)) {
274 NOTREACHED() << "'" << extension_id << "' is not a valid id."; 278 NOTREACHED() << "'" << extension_id << "' is not a valid id.";
275 return; 279 return;
276 } 280 }
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 UMA_HISTOGRAM_COUNTS_100( 351 UMA_HISTOGRAM_COUNTS_100(
348 "Extensions.ActiveScriptController.PermittedExtensions", 352 "Extensions.ActiveScriptController.PermittedExtensions",
349 permitted_extensions_.size()); 353 permitted_extensions_.size());
350 UMA_HISTOGRAM_COUNTS_100( 354 UMA_HISTOGRAM_COUNTS_100(
351 "Extensions.ActiveScriptController.DeniedExtensions", 355 "Extensions.ActiveScriptController.DeniedExtensions",
352 pending_requests_.size()); 356 pending_requests_.size());
353 } 357 }
354 } 358 }
355 359
356 } // namespace extensions 360 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698