Handle default parameter of executeJavaScript in C++
authorCheng Zhao <zcbenz@gmail.com>
Wed, 13 Jan 2016 04:17:56 +0000 (12:17 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Wed, 13 Jan 2016 04:17:56 +0000 (12:17 +0800)
atom/browser/api/lib/web-contents.js
atom/renderer/api/atom_api_web_frame.cc
atom/renderer/api/atom_api_web_frame.h

index 4055901a3f18a940e6570db40069cecd552846c0..a670850f53721cf9e369fd39574ec99958dfc28f 100644 (file)
@@ -100,10 +100,6 @@ wrapWebContents = function(webContents) {
   // webContents has been loaded.
   const executeJavaScript = webContents.executeJavaScript;
   webContents.executeJavaScript = function(code, hasUserGesture) {
-    // TODO(zcbenz): Use default parameter after Chrome 49.
-    if (hasUserGesture === undefined)
-      hasUserGesture = false;
-
     if (this.getURL() && !this.isLoading())
       return executeJavaScript.call(this, code, hasUserGesture);
     else
index fe11253bb56bff1d713255415dd9f76741f5f401..ca4732ff365145bd6c861456b96e82727eb89aac 100644 (file)
@@ -122,9 +122,12 @@ void WebFrame::InsertText(const std::string& text) {
   web_frame_->insertText(blink::WebString::fromUTF8(text));
 }
 
-void WebFrame::ExecuteJavaScript(const base::string16& code, bool by_user) {
+void WebFrame::ExecuteJavaScript(const base::string16& code,
+                                 mate::Arguments* args) {
+  bool has_user_gesture = false;
+  args->GetNext(&has_user_gesture);
   scoped_ptr<blink::WebScopedUserGesture> gesture(
-      by_user ? new blink::WebScopedUserGesture : nullptr);
+      has_user_gesture ? new blink::WebScopedUserGesture : nullptr);
   web_frame_->executeScriptAndReturnValue(blink::WebScriptSource(code));
 }
 
index 632f6a51739230852fc691c3f0adf940f7f5cc31..d55b24fd25ea474104ccf32f48103c39a79c8f56 100644 (file)
@@ -64,7 +64,7 @@ class WebFrame : public mate::Wrappable {
   void InsertText(const std::string& text);
 
   // Excecuting scripts.
-  void ExecuteJavaScript(const base::string16& code, bool by_user);
+  void ExecuteJavaScript(const base::string16& code, mate::Arguments* args);
 
   // mate::Wrappable:
   virtual mate::ObjectTemplateBuilder GetObjectTemplateBuilder(