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

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

Issue 1293673002: Create thread-safe RendererExtensionRegistry from ExtensionSet (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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_SCRIPT_CONTEXT_H_ 5 #ifndef EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_
6 #define EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_ 6 #define EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 13 matching lines...) Expand all
24 class WebFrame; 24 class WebFrame;
25 class WebLocalFrame; 25 class WebLocalFrame;
26 } 26 }
27 27
28 namespace content { 28 namespace content {
29 class RenderFrame; 29 class RenderFrame;
30 } 30 }
31 31
32 namespace extensions { 32 namespace extensions {
33 class Extension; 33 class Extension;
34 class ExtensionSet;
35 34
36 // Extensions wrapper for a v8 context. 35 // Extensions wrapper for a v8 context.
37 class ScriptContext : public RequestSender::Source { 36 class ScriptContext : public RequestSender::Source {
38 public: 37 public:
39 ScriptContext(const v8::Local<v8::Context>& context, 38 ScriptContext(const v8::Local<v8::Context>& context,
40 blink::WebLocalFrame* frame, 39 blink::WebLocalFrame* frame,
41 const Extension* extension, 40 const Extension* extension,
42 Feature::Context context_type, 41 Feature::Context context_type,
43 const Extension* effective_extension, 42 const Extension* effective_extension,
44 Feature::Context effective_context_type); 43 Feature::Context effective_context_type);
45 ~ScriptContext() override; 44 ~ScriptContext() override;
46 45
47 // Returns whether |url| from any Extension in |extension_set| is sandboxed, 46 // Returns whether |url| from any Extension in |extension_set| is sandboxed,
48 // as declared in each Extension's manifest. 47 // as declared in each Extension's manifest.
49 // TODO(kalman): Delete this when crbug.com/466373 is fixed. 48 // TODO(kalman): Delete this when crbug.com/466373 is fixed.
50 // See comment in HasAccessOrThrowError. 49 // See comment in HasAccessOrThrowError.
51 static bool IsSandboxedPage(const ExtensionSet& extension_set, 50 static bool IsSandboxedPage(const GURL& url);
52 const GURL& url);
53 51
54 // Clears the WebFrame for this contexts and invalidates the associated 52 // Clears the WebFrame for this contexts and invalidates the associated
55 // ModuleSystem. 53 // ModuleSystem.
56 void Invalidate(); 54 void Invalidate();
57 55
58 // Registers |observer| to be run when this context is invalidated. Closures 56 // Registers |observer| to be run when this context is invalidated. Closures
59 // are run immediately when Invalidate() is called, not in a message loop. 57 // are run immediately when Invalidate() is called, not in a message loop.
60 void AddInvalidationObserver(const base::Closure& observer); 58 void AddInvalidationObserver(const base::Closure& observer);
61 59
62 // Returns true if this context is still valid, false if it isn't. 60 // Returns true if this context is still valid, false if it isn't.
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 GURL url_; 225 GURL url_;
228 226
229 scoped_ptr<Runner> runner_; 227 scoped_ptr<Runner> runner_;
230 228
231 DISALLOW_COPY_AND_ASSIGN(ScriptContext); 229 DISALLOW_COPY_AND_ASSIGN(ScriptContext);
232 }; 230 };
233 231
234 } // namespace extensions 232 } // namespace extensions
235 233
236 #endif // EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_ 234 #endif // EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698