add option to disable devtools
authorminggo <ming@cocos2d-x.org>
Mon, 5 Sep 2016 08:27:56 +0000 (16:27 +0800)
committerminggo <ming@cocos2d-x.org>
Mon, 5 Sep 2016 08:27:56 +0000 (16:27 +0800)
atom/browser/api/atom_api_web_contents.cc
atom/browser/api/atom_api_web_contents.h
atom/browser/api/atom_api_window.cc
atom/common/options_switches.cc
atom/common/options_switches.h

index f679269..1defd83 100644 (file)
@@ -290,6 +290,9 @@ WebContents::WebContents(v8::Isolate* isolate,
   else if (options.Get("offscreen", &b) && b)
     type_ = OFF_SCREEN;
 
+  // Whether to disable DevTools.
+  options.Get("disableDevTools", &disable_devtools_);
+
   // Obtain the session.
   std::string partition;
   mate::Handle<api::Session> session;
@@ -940,6 +943,9 @@ void WebContents::OpenDevTools(mate::Arguments* args) {
   if (type_ == REMOTE)
     return;
 
+  if (disable_devtools_)
+    return;
+
   std::string state;
   if (type_ == WEB_VIEW || !owner_window()) {
     state = "detach";
index a4d50ef..5932bad 100644 (file)
@@ -323,6 +323,9 @@ class WebContents : public mate::TrackableObject<WebContents>,
   // Whether background throttling is disabled.
   bool background_throttling_;
 
+  // // Whether to disable devtools.
+  bool disable_devtools_;
+
   DISALLOW_COPY_AND_ASSIGN(WebContents);
 };
 
index 280e2fe..ad551a7 100644 (file)
@@ -84,6 +84,10 @@ Window::Window(v8::Isolate* isolate, v8::Local<v8::Object> wrapper,
   if (options.Get("transparent", &transparent))
     web_preferences.Set("transparent", transparent);
 
+  // Disable WebContents.OpenDevTools() ?
+  if (options.Get(options::kDisableDevTools, &value))
+    web_preferences.Set(options::kDisableDevTools, value);
+  
   // Creates the WebContents used by BrowserWindow.
   auto web_contents = WebContents::Create(isolate, web_preferences);
   web_contents_.Reset(isolate, web_contents.ToV8());
index 6b51459..8c229e0 100644 (file)
@@ -96,6 +96,9 @@ const char kNodeIntegration[] = "nodeIntegration";
 // Instancd ID of guest WebContents.
 const char kGuestInstanceID[] = "guestInstanceId";
 
+// Diable openDevTools.
+const char kDisableDevTools[] = "disableDevTools";
+
 // Web runtime features.
 const char kExperimentalFeatures[]       = "experimentalFeatures";
 const char kExperimentalCanvasFeatures[] = "experimentalCanvasFeatures";
index 54c6387..1c0ae9e 100644 (file)
@@ -46,6 +46,7 @@ extern const char kBackgroundColor[];
 extern const char kHasShadow[];
 extern const char kFocusable[];
 extern const char kWebPreferences[];
+extern const char kDisableDevTools[];
 
 // WebPreferences.
 extern const char kZoomFactor[];