OLD | NEW |
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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 | 92 |
93 // Executes JavaScript in an isolated world. The script gets its own global
scope, | 93 // Executes JavaScript in an isolated world. The script gets its own global
scope, |
94 // its own prototypes for intrinsic JavaScript objects (String, Array, and s
o-on), | 94 // its own prototypes for intrinsic JavaScript objects (String, Array, and s
o-on), |
95 // and its own wrappers for all DOM nodes and DOM constructors. | 95 // and its own wrappers for all DOM nodes and DOM constructors. |
96 // | 96 // |
97 // If an isolated world with the specified ID already exists, it is reused. | 97 // If an isolated world with the specified ID already exists, it is reused. |
98 // Otherwise, a new world is created. | 98 // Otherwise, a new world is created. |
99 // | 99 // |
100 // FIXME: Get rid of extensionGroup here. | 100 // FIXME: Get rid of extensionGroup here. |
101 // FIXME: We don't want to support multiple scripts. | 101 // FIXME: We don't want to support multiple scripts. |
102 void executeScriptInIsolatedWorld(int worldID, const WillBeHeapVector<Script
SourceCode>& sources, int extensionGroup, Vector<v8::Local<v8::Value> >* results
); | 102 void executeScriptInIsolatedWorld(int worldID, const WillBeHeapVector<Script
SourceCode>& sources, int extensionGroup, Vector<v8::Local<v8::Value>>* results)
; |
103 | 103 |
104 // Returns true if argument is a JavaScript URL. | 104 // Returns true if argument is a JavaScript URL. |
105 bool executeScriptIfJavaScriptURL(const KURL&); | 105 bool executeScriptIfJavaScriptURL(const KURL&); |
106 | 106 |
107 v8::Local<v8::Value> callFunction(v8::Handle<v8::Function>, v8::Handle<v8::V
alue>, int argc, v8::Handle<v8::Value> argv[]); | 107 v8::Local<v8::Value> callFunction(v8::Handle<v8::Function>, v8::Handle<v8::V
alue>, int argc, v8::Handle<v8::Value> argv[]); |
108 static v8::Local<v8::Value> callFunction(ExecutionContext*, v8::Handle<v8::F
unction>, v8::Handle<v8::Value> receiver, int argc, v8::Handle<v8::Value> info[]
, v8::Isolate*); | 108 static v8::Local<v8::Value> callFunction(ExecutionContext*, v8::Handle<v8::F
unction>, v8::Handle<v8::Value> receiver, int argc, v8::Handle<v8::Value> info[]
, v8::Isolate*); |
109 | 109 |
110 // Returns true if the current world is isolated, and has its own Content | 110 // Returns true if the current world is isolated, and has its own Content |
111 // Security Policy. In this case, the policy of the main world should be | 111 // Security Policy. In this case, the policy of the main world should be |
112 // ignored when evaluating resources injected into the DOM. | 112 // ignored when evaluating resources injected into the DOM. |
113 bool shouldBypassMainWorldCSP(); | 113 bool shouldBypassMainWorldCSP(); |
114 | 114 |
115 // Creates a property of the global object of a frame. | 115 // Creates a property of the global object of a frame. |
116 void bindToWindowObject(LocalFrame*, const String& key, NPObject*); | 116 void bindToWindowObject(LocalFrame*, const String& key, NPObject*); |
117 | 117 |
118 PassRefPtr<SharedPersistent<v8::Object> > createPluginWrapper(Widget*); | 118 PassRefPtr<SharedPersistent<v8::Object>> createPluginWrapper(Widget*); |
119 | 119 |
120 void enableEval(); | 120 void enableEval(); |
121 void disableEval(const String& errorMessage); | 121 void disableEval(const String& errorMessage); |
122 | 122 |
123 static bool canAccessFromCurrentOrigin(LocalFrame*); | 123 static bool canAccessFromCurrentOrigin(LocalFrame*); |
124 | 124 |
125 static void setCaptureCallStackForUncaughtExceptions(bool); | 125 static void setCaptureCallStackForUncaughtExceptions(bool); |
126 void collectIsolatedContexts(Vector<std::pair<ScriptState*, SecurityOrigin*>
>&); | 126 void collectIsolatedContexts(Vector<std::pair<ScriptState*, SecurityOrigin*>
>&); |
127 | 127 |
128 bool canExecuteScripts(ReasonForCallingCanExecuteScripts); | 128 bool canExecuteScripts(ReasonForCallingCanExecuteScripts); |
129 | 129 |
130 TextPosition eventHandlerPosition() const; | 130 TextPosition eventHandlerPosition() const; |
131 | 131 |
132 void clearWindowProxy(); | 132 void clearWindowProxy(); |
133 void updateDocument(); | 133 void updateDocument(); |
134 | 134 |
135 void namedItemAdded(HTMLDocument*, const AtomicString&); | 135 void namedItemAdded(HTMLDocument*, const AtomicString&); |
136 void namedItemRemoved(HTMLDocument*, const AtomicString&); | 136 void namedItemRemoved(HTMLDocument*, const AtomicString&); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 // invalidate all sub-objects which are associated with that plugin. | 169 // invalidate all sub-objects which are associated with that plugin. |
170 // The frame keeps a NPObject reference for each item on the list. | 170 // The frame keeps a NPObject reference for each item on the list. |
171 PluginObjectMap m_pluginObjects; | 171 PluginObjectMap m_pluginObjects; |
172 | 172 |
173 NPObject* m_windowScriptNPObject; | 173 NPObject* m_windowScriptNPObject; |
174 }; | 174 }; |
175 | 175 |
176 } // namespace blink | 176 } // namespace blink |
177 | 177 |
178 #endif // ScriptController_h | 178 #endif // ScriptController_h |
OLD | NEW |