Fix assertion caused by base::mac::AssignOverridePath.
authorCheng Zhao <zcbenz@gmail.com>
Mon, 30 Jun 2014 04:15:59 +0000 (12:15 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Mon, 30 Jun 2014 04:15:59 +0000 (12:15 +0800)
atom/app/atom_main_delegate.cc
atom/app/atom_main_delegate.h

index fa07016..427423c 100644 (file)
@@ -6,14 +6,15 @@
 
 #include <string>
 
+#include "atom/browser/atom_browser_client.h"
+#include "atom/renderer/atom_renderer_client.h"
 #include "base/command_line.h"
 #include "base/debug/stack_trace.h"
 #include "base/logging.h"
-#include "atom/browser/atom_browser_client.h"
+#include "base/path_service.h"
 #include "content/public/common/content_switches.h"
-#include "atom/renderer/atom_renderer_client.h"
 #include "ui/base/resource/resource_bundle.h"
-#include "base/path_service.h"
+#include "vendor/brightray/common/content_client.h"
 
 namespace atom {
 
@@ -48,7 +49,14 @@ bool AtomMainDelegate::BasicStartupComplete(int* exit_code) {
   base::debug::EnableInProcessStackDumping();
 #endif
 
-  return brightray::MainDelegate::BasicStartupComplete(exit_code);
+  content_client_.reset(new brightray::ContentClient);
+  SetContentClient(content_client_.get());
+
+#if defined(OS_MACOSX)
+  OverrideChildProcessPath();
+  OverrideFrameworkBundlePath();
+#endif
+  return false;
 }
 
 void AtomMainDelegate::PreSandboxStartup() {
index a8e3df9..89d6ec7 100644 (file)
@@ -30,6 +30,7 @@ class AtomMainDelegate : public brightray::MainDelegate {
   virtual content::ContentRendererClient*
       CreateContentRendererClient() OVERRIDE;
 
+  scoped_ptr<brightray::ContentClient> content_client_;
   scoped_ptr<content::ContentBrowserClient> browser_client_;
   scoped_ptr<content::ContentRendererClient> renderer_client_;