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

Side by Side Diff: extensions/renderer/user_script_set_manager.h

Issue 492133002: Renderer changes for wiring up shared memory with declarative injection (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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
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 #ifndef EXTENSIONS_RENDERER_USER_SCRIPT_SET_MANAGER_H_ 5 #ifndef EXTENSIONS_RENDERER_USER_SCRIPT_SET_MANAGER_H_
6 #define EXTENSIONS_RENDERER_USER_SCRIPT_SET_MANAGER_H_ 6 #define EXTENSIONS_RENDERER_USER_SCRIPT_SET_MANAGER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 const std::vector<UserScript*>& scripts) = 0; 49 const std::vector<UserScript*>& scripts) = 0;
50 }; 50 };
51 51
52 UserScriptSetManager(const ExtensionSet* extensions); 52 UserScriptSetManager(const ExtensionSet* extensions);
53 53
54 virtual ~UserScriptSetManager(); 54 virtual ~UserScriptSetManager();
55 55
56 void AddObserver(Observer* observer); 56 void AddObserver(Observer* observer);
57 void RemoveObserver(Observer* observer); 57 void RemoveObserver(Observer* observer);
58 58
59 const UserScriptSet* GetProgrammaticScriptsByExtension( 59 scoped_ptr<ScriptInjection> GetInjectionForScript(
Devlin 2014/08/21 17:06:17 comments
60 const ExtensionId& extensionId); 60 int64 script_id,
61 blink::WebFrame* web_frame,
62 int tab_id,
63 UserScript::RunLocation run_location,
64 const GURL& url,
65 const Extension* extension);
61 66
62 // Put all injections from |static_scripts| and each of 67 // Put all injections from |static_scripts| and each of
63 // |programmatic_scripts_| into |injections|. 68 // |programmatic_scripts_| into |injections|.
64 void GetAllInjections(ScopedVector<ScriptInjection>* injections, 69 void GetAllInjections(ScopedVector<ScriptInjection>* injections,
65 blink::WebFrame* web_frame, 70 blink::WebFrame* web_frame,
66 int tab_id, 71 int tab_id,
67 UserScript::RunLocation run_location); 72 UserScript::RunLocation run_location);
68 73
69 // Get active extension IDs from |static_scripts| and each of 74 // Get active extension IDs from |static_scripts| and each of
70 // |programmatic_scripts_|. 75 // |programmatic_scripts_|.
71 void GetAllActiveExtensionIds(std::set<std::string>* ids) const; 76 void GetAllActiveExtensionIds(std::set<std::string>* ids) const;
72 77
73 const UserScriptSet* static_scripts() const { return &static_scripts_; } 78 const UserScriptSet* static_scripts() const { return &static_scripts_; }
74 79
75 private: 80 private:
81 // A RenderViewObserver implementation which watches the various render views
Devlin 2014/08/21 17:06:17 Why?
Mark Dittmer 2014/08/23 12:21:39 More leftovers from a failed/unnecessary pattern I
82 // in order to notify the ScriptInjectionManager of different document load
83 // states.
84 class RVOHelper;
85
76 // Map for per-extension sets that may be defined programmatically. 86 // Map for per-extension sets that may be defined programmatically.
77 typedef std::map<ExtensionId, linked_ptr<UserScriptSet> > UserScriptSetMap; 87 typedef std::map<ExtensionId, linked_ptr<UserScriptSet> > UserScriptSetMap;
78 88
79 // content::RenderProcessObserver implementation. 89 // content::RenderProcessObserver implementation.
80 virtual bool OnControlMessageReceived(const IPC::Message& message) OVERRIDE; 90 virtual bool OnControlMessageReceived(const IPC::Message& message) OVERRIDE;
81 91
92 UserScriptSet* GetProgrammaticScriptsByExtension(
93 const ExtensionId& extensionId);
94
82 // Handle the UpdateUserScripts extension message. 95 // Handle the UpdateUserScripts extension message.
83 void OnUpdateUserScripts(base::SharedMemoryHandle shared_memory, 96 void OnUpdateUserScripts(base::SharedMemoryHandle shared_memory,
84 const ExtensionId& extension_id, 97 const ExtensionId& extension_id,
85 const std::set<std::string>& changed_extensions); 98 const std::set<std::string>& changed_extensions);
86 99
87 // Scripts statically defined in extension manifests. 100 // Scripts statically defined in extension manifests.
88 UserScriptSet static_scripts_; 101 UserScriptSet static_scripts_;
89 102
90 // Scripts programmatically-defined through API calls (initialized and stored 103 // Scripts programmatically-defined through API calls (initialized and stored
91 // per-extension). 104 // per-extension).
92 UserScriptSetMap programmatic_scripts_; 105 UserScriptSetMap programmatic_scripts_;
93 106
94 // The set of all known extensions. Owned by the Dispatcher. 107 // The set of all known extensions. Owned by the Dispatcher.
95 const ExtensionSet* extensions_; 108 const ExtensionSet* extensions_;
96 109
97 // The associated observers. 110 // The associated observers.
98 ObserverList<Observer> observers_; 111 ObserverList<Observer> observers_;
99 112
100 DISALLOW_COPY_AND_ASSIGN(UserScriptSetManager); 113 DISALLOW_COPY_AND_ASSIGN(UserScriptSetManager);
101 }; 114 };
102 115
103 } // namespace extensions 116 } // namespace extensions
104 117
105 #endif // EXTENSIONS_RENDERER_USER_SCRIPT_SET_MANAGER_H_ 118 #endif // EXTENSIONS_RENDERER_USER_SCRIPT_SET_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698