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

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/ScriptController.h

Issue 2702273004: bindings: Simplifies WindowProxyManager and its relation to Frame. (Closed)
Patch Set: Created 3 years, 10 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 /* 1 /*
2 * Copyright (C) 2008, 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2008, 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 class CORE_EXPORT ScriptController final 60 class CORE_EXPORT ScriptController final
61 : public GarbageCollected<ScriptController> { 61 : public GarbageCollected<ScriptController> {
62 WTF_MAKE_NONCOPYABLE(ScriptController); 62 WTF_MAKE_NONCOPYABLE(ScriptController);
63 63
64 public: 64 public:
65 enum ExecuteScriptPolicy { 65 enum ExecuteScriptPolicy {
66 ExecuteScriptWhenScriptsDisabled, 66 ExecuteScriptWhenScriptsDisabled,
67 DoNotExecuteScriptWhenScriptsDisabled 67 DoNotExecuteScriptWhenScriptsDisabled
68 }; 68 };
69 69
70 static ScriptController* create(LocalFrame* frame) { 70 static ScriptController* create(LocalWindowProxyManager* windowProxyManager) {
71 return new ScriptController(frame); 71 return new ScriptController(windowProxyManager);
72 } 72 }
73 73
74 DECLARE_TRACE(); 74 DECLARE_TRACE();
75 75
76 // This returns an initialized window proxy. (If the window proxy is not 76 // This returns an initialized window proxy. (If the window proxy is not
77 // yet initialized, it's implicitly initialized at the first access.) 77 // yet initialized, it's implicitly initialized at the first access.)
78 LocalWindowProxy* windowProxy(DOMWrapperWorld&); 78 LocalWindowProxy* windowProxy(DOMWrapperWorld& world) {
79 return m_windowProxyManager->windowProxy(world);
80 }
79 81
80 // Evaluate JavaScript in the main world. 82 // Evaluate JavaScript in the main world.
81 void executeScriptInMainWorld( 83 void executeScriptInMainWorld(
82 const String&, 84 const String&,
83 ExecuteScriptPolicy = DoNotExecuteScriptWhenScriptsDisabled); 85 ExecuteScriptPolicy = DoNotExecuteScriptWhenScriptsDisabled);
84 void executeScriptInMainWorld(const ScriptSourceCode&, 86 void executeScriptInMainWorld(const ScriptSourceCode&,
85 AccessControlStatus = NotSharableCrossOrigin); 87 AccessControlStatus = NotSharableCrossOrigin);
86 v8::Local<v8::Value> executeScriptInMainWorldAndReturnValue( 88 v8::Local<v8::Value> executeScriptInMainWorldAndReturnValue(
87 const ScriptSourceCode&, 89 const ScriptSourceCode&,
88 ExecuteScriptPolicy = DoNotExecuteScriptWhenScriptsDisabled); 90 ExecuteScriptPolicy = DoNotExecuteScriptWhenScriptsDisabled);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 void updateSecurityOrigin(SecurityOrigin*); 126 void updateSecurityOrigin(SecurityOrigin*);
125 127
126 void clearForClose(); 128 void clearForClose();
127 129
128 // Registers a v8 extension to be available on webpages. Will only 130 // Registers a v8 extension to be available on webpages. Will only
129 // affect v8 contexts initialized after this call. Takes ownership of 131 // affect v8 contexts initialized after this call. Takes ownership of
130 // the v8::Extension object passed. 132 // the v8::Extension object passed.
131 static void registerExtensionIfNeeded(v8::Extension*); 133 static void registerExtensionIfNeeded(v8::Extension*);
132 static V8Extensions& registeredExtensions(); 134 static V8Extensions& registeredExtensions();
133 135
134 v8::Isolate* isolate() const { return m_windowProxyManager->isolate(); }
135
136 LocalWindowProxyManager* getWindowProxyManager() const {
137 return m_windowProxyManager.get();
138 }
139
140 private: 136 private:
141 explicit ScriptController(LocalFrame*); 137 explicit ScriptController(LocalWindowProxyManager* windowProxyManager)
138 : m_windowProxyManager(windowProxyManager) {}
142 139
143 LocalFrame* frame() const { return m_windowProxyManager->frame(); } 140 LocalFrame* frame() const { return m_windowProxyManager->frame(); }
141 v8::Isolate* isolate() const { return m_windowProxyManager->isolate(); }
144 142
145 v8::Local<v8::Value> evaluateScriptInMainWorld(const ScriptSourceCode&, 143 v8::Local<v8::Value> evaluateScriptInMainWorld(const ScriptSourceCode&,
146 AccessControlStatus, 144 AccessControlStatus,
147 ExecuteScriptPolicy); 145 ExecuteScriptPolicy);
148 146
149 Member<LocalWindowProxyManager> m_windowProxyManager; 147 const Member<LocalWindowProxyManager> m_windowProxyManager;
150 }; 148 };
151 149
152 } // namespace blink 150 } // namespace blink
153 151
154 #endif // ScriptController_h 152 #endif // ScriptController_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698