From ec4c5e58fff874773e5c940d0c6f80f8ddc3d6f8 Mon Sep 17 00:00:00 2001
From: Cheng Zhao <zcbenz@gmail.com>
Date: Fri, 8 Jan 2016 12:06:06 +0800
Subject: [PATCH] Initialize resource bundle on browser process separately

---
 atom/app/atom_main_delegate.cc              | 13 +------------
 atom/app/atom_main_delegate.h               |  2 --
 atom/browser/atom_browser_main_parts_mac.mm | 12 +++---------
 vendor/brightray                            |  2 +-
 4 files changed, 5 insertions(+), 24 deletions(-)

diff --git a/atom/app/atom_main_delegate.cc b/atom/app/atom_main_delegate.cc
index 8028313106..698da4f4de 100644
--- a/atom/app/atom_main_delegate.cc
+++ b/atom/app/atom_main_delegate.cc
@@ -18,6 +18,7 @@
 #include "base/logging.h"
 #include "chrome/common/chrome_paths.h"
 #include "content/public/common/content_switches.h"
+#include "ui/base/l10n/l10n_util.h"
 #include "ui/base/resource/resource_bundle.h"
 
 namespace atom {
@@ -137,16 +138,4 @@ scoped_ptr<brightray::ContentClient> AtomMainDelegate::CreateContentClient() {
   return scoped_ptr<brightray::ContentClient>(new AtomContentClient).Pass();
 }
 
-void AtomMainDelegate::AddDataPackFromPath(
-    ui::ResourceBundle* bundle, const base::FilePath& pak_dir) {
-#if defined(OS_WIN)
-  bundle->AddDataPackFromPath(
-      pak_dir.Append(FILE_PATH_LITERAL("ui_resources_200_percent.pak")),
-      ui::SCALE_FACTOR_200P);
-  bundle->AddDataPackFromPath(
-      pak_dir.Append(FILE_PATH_LITERAL("content_resources_200_percent.pak")),
-      ui::SCALE_FACTOR_200P);
-#endif
-}
-
 }  // namespace atom
diff --git a/atom/app/atom_main_delegate.h b/atom/app/atom_main_delegate.h
index 7bcde8125c..5f4369302f 100644
--- a/atom/app/atom_main_delegate.h
+++ b/atom/app/atom_main_delegate.h
@@ -25,8 +25,6 @@ class AtomMainDelegate : public brightray::MainDelegate {
 
   // brightray::MainDelegate:
   scoped_ptr<brightray::ContentClient> CreateContentClient() override;
-  void AddDataPackFromPath(
-      ui::ResourceBundle* bundle, const base::FilePath& pak_dir) override;
 #if defined(OS_MACOSX)
   void OverrideChildProcessPath() override;
   void OverrideFrameworkBundlePath() override;
diff --git a/atom/browser/atom_browser_main_parts_mac.mm b/atom/browser/atom_browser_main_parts_mac.mm
index 42e3100f49..d6e83fd968 100644
--- a/atom/browser/atom_browser_main_parts_mac.mm
+++ b/atom/browser/atom_browser_main_parts_mac.mm
@@ -13,20 +13,14 @@
 namespace atom {
 
 void AtomBrowserMainParts::PreMainMessageLoopStart() {
-  // Initialize locale setting.
-  l10n_util::OverrideLocaleWithCocoaLocale();
-
   // Force the NSApplication subclass to be used.
-  NSApplication* application = [AtomApplication sharedApplication];
+  [AtomApplication sharedApplication];
 
+  // Set our own application delegate.
   AtomApplicationDelegate* delegate = [[AtomApplicationDelegate alloc] init];
   [NSApp setDelegate:(id<NSFileManagerDelegate>)delegate];
 
-  NSBundle* frameworkBundle = base::mac::FrameworkBundle();
-  NSNib* mainNib = [[NSNib alloc] initWithNibNamed:@"MainMenu"
-                                            bundle:frameworkBundle];
-  [mainNib instantiateWithOwner:application topLevelObjects:nil];
-  [mainNib release];
+  brightray::BrowserMainParts::PreMainMessageLoopStart();
 
   // Prevent Cocoa from turning command-line arguments into
   // |-application:openFiles:|, since we already handle them directly.
diff --git a/vendor/brightray b/vendor/brightray
index f9c272ec86..8550f2a032 160000
--- a/vendor/brightray
+++ b/vendor/brightray
@@ -1 +1 @@
-Subproject commit f9c272ec86ee83915729cf2ecdfdd5aa418b77eb
+Subproject commit 8550f2a032b332d86bd8a7ec235685e22d028906