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

Side by Side Diff: extensions/browser/declarative_user_script_manager.cc

Issue 1056133005: Make WebUI webview content script work with incognito. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@webview-content-script-api-from-xi
Patch Set: Created 5 years, 8 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
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 "extensions/browser/declarative_user_script_manager.h" 5 #include "extensions/browser/declarative_user_script_manager.h"
6 6
7 #include "content/public/browser/browser_context.h" 7 #include "content/public/browser/browser_context.h"
8 #include "extensions/browser/declarative_user_script_master.h" 8 #include "extensions/browser/declarative_user_script_master.h"
9 #include "extensions/browser/extension_registry.h" 9 #include "extensions/browser/extension_registry.h"
10 10
11 namespace extensions { 11 namespace extensions {
12 12
13 DeclarativeUserScriptManager::DeclarativeUserScriptManager( 13 DeclarativeUserScriptManager::DeclarativeUserScriptManager(
14 content::BrowserContext* browser_context) 14 content::BrowserContext* browser_context)
15 : browser_context_(browser_context), extension_registry_observer_(this) { 15 : browser_context_(browser_context), extension_registry_observer_(this) {
16 extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context)); 16 extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context));
17 } 17 }
18 18
19 DeclarativeUserScriptManager::~DeclarativeUserScriptManager() { 19 DeclarativeUserScriptManager::~DeclarativeUserScriptManager() {
20 } 20 }
21 21
22 DeclarativeUserScriptMaster* 22 DeclarativeUserScriptMaster*
23 DeclarativeUserScriptManager::GetDeclarativeUserScriptMasterByID( 23 DeclarativeUserScriptManager::GetDeclarativeUserScriptMasterByID(
24 const HostID& host_id) { 24 const HostID& host_id) {
25 return GetDeclarativeUserScriptMasterByID(browser_context_, host_id);
26 }
27
28 DeclarativeUserScriptMaster*
29 DeclarativeUserScriptManager::GetDeclarativeUserScriptMasterByID(
30 content::BrowserContext* browser_context, const HostID& host_id) {
25 UserScriptMasterMap::iterator it = 31 UserScriptMasterMap::iterator it =
26 declarative_user_script_masters_.find(host_id); 32 declarative_user_script_masters_.find(host_id);
27 33
28 if (it != declarative_user_script_masters_.end()) 34 if (it != declarative_user_script_masters_.end())
29 return it->second.get(); 35 return it->second.get();
30 36
31 return CreateDeclarativeUserScriptMaster(host_id); 37 return CreateDeclarativeUserScriptMaster(browser_context, host_id);
32 } 38 }
33 39
34 DeclarativeUserScriptMaster* 40 DeclarativeUserScriptMaster*
35 DeclarativeUserScriptManager::CreateDeclarativeUserScriptMaster( 41 DeclarativeUserScriptManager::CreateDeclarativeUserScriptMaster(
36 const HostID& host_id) { 42 content::BrowserContext* browser_context, const HostID& host_id) {
37 linked_ptr<DeclarativeUserScriptMaster> master( 43 linked_ptr<DeclarativeUserScriptMaster> master(
38 new DeclarativeUserScriptMaster(browser_context_, host_id)); 44 new DeclarativeUserScriptMaster(browser_context, host_id));
39 declarative_user_script_masters_[host_id] = master; 45 declarative_user_script_masters_[host_id] = master;
40 return master.get(); 46 return master.get();
41 } 47 }
42 48
43 void DeclarativeUserScriptManager::OnExtensionUnloaded( 49 void DeclarativeUserScriptManager::OnExtensionUnloaded(
44 content::BrowserContext* browser_context, 50 content::BrowserContext* browser_context,
45 const Extension* extension, 51 const Extension* extension,
46 UnloadedExtensionInfo::Reason reason) { 52 UnloadedExtensionInfo::Reason reason) {
47 for (const auto& val : declarative_user_script_masters_) { 53 for (const auto& val : declarative_user_script_masters_) {
48 DeclarativeUserScriptMaster* master = val.second.get(); 54 DeclarativeUserScriptMaster* master = val.second.get();
49 if (master->host_id().id() == extension->id()) 55 if (master->host_id().id() == extension->id())
50 master->ClearScripts(); 56 master->ClearScripts();
51 } 57 }
52 } 58 }
53 59
54 } // namespace extensions 60 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698