mirror of
https://github.com/HackPlan/atom-shell.git
synced 2026-04-30 12:42:28 +08:00
Avoid duplicate code in main delegate.
This commit is contained in:
@@ -11,9 +11,7 @@
|
|||||||
#include "base/command_line.h"
|
#include "base/command_line.h"
|
||||||
#include "base/debug/stack_trace.h"
|
#include "base/debug/stack_trace.h"
|
||||||
#include "base/logging.h"
|
#include "base/logging.h"
|
||||||
#include "base/path_service.h"
|
|
||||||
#include "content/public/common/content_switches.h"
|
#include "content/public/common/content_switches.h"
|
||||||
#include "ui/base/resource/resource_bundle.h"
|
|
||||||
|
|
||||||
namespace atom {
|
namespace atom {
|
||||||
|
|
||||||
@@ -48,17 +46,11 @@ bool AtomMainDelegate::BasicStartupComplete(int* exit_code) {
|
|||||||
base::debug::EnableInProcessStackDumping();
|
base::debug::EnableInProcessStackDumping();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(OS_MACOSX)
|
return brightray::MainDelegate::BasicStartupComplete(exit_code);
|
||||||
OverrideChildProcessPath();
|
|
||||||
OverrideFrameworkBundlePath();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
SetContentClient(&content_client_);
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AtomMainDelegate::PreSandboxStartup() {
|
void AtomMainDelegate::PreSandboxStartup() {
|
||||||
InitializeResourceBundle();
|
brightray::MainDelegate::PreSandboxStartup();
|
||||||
|
|
||||||
CommandLine* command_line = CommandLine::ForCurrentProcess();
|
CommandLine* command_line = CommandLine::ForCurrentProcess();
|
||||||
std::string process_type = command_line->GetSwitchValueASCII(
|
std::string process_type = command_line->GetSwitchValueASCII(
|
||||||
@@ -78,19 +70,6 @@ void AtomMainDelegate::PreSandboxStartup() {
|
|||||||
command_line->AppendSwitch("atom-shell-switches-end");
|
command_line->AppendSwitch("atom-shell-switches-end");
|
||||||
}
|
}
|
||||||
|
|
||||||
void AtomMainDelegate::InitializeResourceBundle() {
|
|
||||||
base::FilePath path;
|
|
||||||
#if defined(OS_MACOSX)
|
|
||||||
path = GetResourcesPakFilePath();
|
|
||||||
#else
|
|
||||||
base::FilePath pak_dir;
|
|
||||||
PathService::Get(base::DIR_MODULE, &pak_dir);
|
|
||||||
path = pak_dir.Append(FILE_PATH_LITERAL("content_shell.pak"));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ui::ResourceBundle::InitSharedInstanceWithPakPath(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
content::ContentBrowserClient* AtomMainDelegate::CreateContentBrowserClient() {
|
content::ContentBrowserClient* AtomMainDelegate::CreateContentBrowserClient() {
|
||||||
browser_client_.reset(new AtomBrowserClient);
|
browser_client_.reset(new AtomBrowserClient);
|
||||||
return browser_client_.get();
|
return browser_client_.get();
|
||||||
|
|||||||
@@ -18,12 +18,10 @@ class AtomMainDelegate : public brightray::MainDelegate {
|
|||||||
protected:
|
protected:
|
||||||
virtual bool BasicStartupComplete(int* exit_code) OVERRIDE;
|
virtual bool BasicStartupComplete(int* exit_code) OVERRIDE;
|
||||||
virtual void PreSandboxStartup() OVERRIDE;
|
virtual void PreSandboxStartup() OVERRIDE;
|
||||||
virtual void InitializeResourceBundle();
|
|
||||||
|
|
||||||
#if defined(OS_MACOSX)
|
#if defined(OS_MACOSX)
|
||||||
virtual base::FilePath GetResourcesPakFilePath();
|
virtual void OverrideChildProcessPath() OVERRIDE;
|
||||||
virtual void OverrideChildProcessPath();
|
virtual void OverrideFrameworkBundlePath() OVERRIDE;
|
||||||
virtual void OverrideFrameworkBundlePath();
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -4,16 +4,11 @@
|
|||||||
|
|
||||||
#include "atom/app/atom_main_delegate.h"
|
#include "atom/app/atom_main_delegate.h"
|
||||||
|
|
||||||
#import "base/mac/bundle_locations.h"
|
#include "base/mac/bundle_locations.h"
|
||||||
#import "base/mac/foundation_util.h"
|
#include "base/files/file_path.h"
|
||||||
#import "base/mac/mac_util.h"
|
|
||||||
#include "base/command_line.h"
|
|
||||||
#include "base/path_service.h"
|
#include "base/path_service.h"
|
||||||
#include "base/strings/sys_string_conversions.h"
|
#include "brightray/common/mac/main_application_bundle.h"
|
||||||
#include "content/public/common/content_paths.h"
|
#include "content/public/common/content_paths.h"
|
||||||
#include "content/public/common/content_switches.h"
|
|
||||||
#include "vendor/brightray/common/application_info.h"
|
|
||||||
#include "vendor/brightray/common/mac/main_application_bundle.h"
|
|
||||||
|
|
||||||
namespace atom {
|
namespace atom {
|
||||||
|
|
||||||
@@ -26,12 +21,6 @@ base::FilePath GetFrameworksPath() {
|
|||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
base::FilePath AtomMainDelegate::GetResourcesPakFilePath() {
|
|
||||||
NSString* path = [base::mac::FrameworkBundle()
|
|
||||||
pathForResource:@"content_shell" ofType:@"pak"];
|
|
||||||
return base::mac::NSStringToFilePath(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
void AtomMainDelegate::OverrideFrameworkBundlePath() {
|
void AtomMainDelegate::OverrideFrameworkBundlePath() {
|
||||||
base::mac::SetOverrideFrameworkBundlePath(
|
base::mac::SetOverrideFrameworkBundlePath(
|
||||||
GetFrameworksPath().Append("Atom Framework.framework"));
|
GetFrameworksPath().Append("Atom Framework.framework"));
|
||||||
|
|||||||
2
vendor/brightray
vendored
2
vendor/brightray
vendored
Submodule vendor/brightray updated: 842b674b6a...c1c4cfcaad
Reference in New Issue
Block a user