Index: third_party/WebKit/public/web/WebLocalFrame.h |
diff --git a/third_party/WebKit/public/web/WebLocalFrame.h b/third_party/WebKit/public/web/WebLocalFrame.h |
index 8c1ae2d170ea757bd1f5d4ee4e16bf5643cd89d8..7b2ecf306275221e803449257b6c772e77ad4ed4 100644 |
--- a/third_party/WebKit/public/web/WebLocalFrame.h |
+++ b/third_party/WebKit/public/web/WebLocalFrame.h |
@@ -50,6 +50,7 @@ struct WebContentSecurityPolicyViolation; |
struct WebFindOptions; |
struct WebFloatRect; |
struct WebPrintPresetOptions; |
+struct WebScriptSource; |
struct WebSourceLocation; |
// Interface for interacting with in process frames. This contains methods that |
@@ -297,6 +298,59 @@ class WebLocalFrame : public WebFrame { |
// Executes script in the context of the current page. |
virtual void ExecuteScript(const WebScriptSource&) = 0; |
+ // Executes JavaScript in a new world associated with the web frame. |
+ // The script gets its own global scope and its own prototypes for |
+ // intrinsic JavaScript objects (String, Array, and so-on). It also |
+ // gets its own wrappers for all DOM nodes and DOM constructors. |
+ // |
+ // worldID must be > 0 (as 0 represents the main world). |
+ // worldID must be < EmbedderWorldIdLimit, high number used internally. |
+ virtual void ExecuteScriptInIsolatedWorld(int world_id, |
+ const WebScriptSource* sources, |
+ unsigned num_sources) = 0; |
+ |
+ // worldID must be > 0 (as 0 represents the main world). |
+ // worldID must be < EmbedderWorldIdLimit, high number used internally. |
+ // DEPRECATED: Use WebLocalFrame::requestExecuteScriptInIsolatedWorld. |
+ virtual void ExecuteScriptInIsolatedWorld( |
+ int world_id, |
+ const WebScriptSource* sources_in, |
+ unsigned num_sources, |
+ WebVector<v8::Local<v8::Value>>* results) = 0; |
+ |
+ // Associates an isolated world (see above for description) with a security |
+ // origin. XMLHttpRequest instances used in that world will be considered |
+ // to come from that origin, not the frame's. |
+ virtual void SetIsolatedWorldSecurityOrigin(int world_id, |
+ const WebSecurityOrigin&) = 0; |
+ |
+ // Associates a content security policy with an isolated world. This policy |
+ // should be used when evaluating script in the isolated world, and should |
+ // also replace a protected resource's CSP when evaluating resources |
+ // injected into the DOM. |
+ // |
+ // FIXME: Setting this simply bypasses the protected resource's CSP. It |
+ // doesn't yet restrict the isolated world to the provided policy. |
+ virtual void SetIsolatedWorldContentSecurityPolicy(int world_id, |
+ const WebString&) = 0; |
+ |
+ // Calls window.gc() if it is defined. |
+ virtual void CollectGarbage() = 0; |
+ |
+ // Executes script in the context of the current page and returns the value |
+ // that the script evaluated to. |
+ // DEPRECATED: Use WebLocalFrame::requestExecuteScriptAndReturnValue. |
+ virtual v8::Local<v8::Value> ExecuteScriptAndReturnValue( |
+ const WebScriptSource&) = 0; |
+ |
+ // Call the function with the given receiver and arguments, bypassing |
+ // canExecute(). |
+ virtual v8::Local<v8::Value> CallFunctionEvenIfScriptDisabled( |
+ v8::Local<v8::Function>, |
+ v8::Local<v8::Value>, |
+ int argc, |
+ v8::Local<v8::Value> argv[]) = 0; |
+ |
// Returns the V8 context for associated with the main world and this |
// frame. There can be many V8 contexts associated with this frame, one for |
// each isolated world and one for the main world. If you don't know what |