diff --git a/brightray/common/main_delegate.h b/brightray/common/main_delegate.h index 6037ab3eaf36..34ebfef9d7fe 100644 --- a/brightray/common/main_delegate.h +++ b/brightray/common/main_delegate.h @@ -8,6 +8,11 @@ #include "base/compiler_specific.h" #include "base/memory/scoped_ptr.h" #include "content/public/app/content_main_delegate.h" +#include + +namespace base { +class FilePath; +} namespace brightray { @@ -22,11 +27,14 @@ protected: // Subclasses can override this to provide their own ContentClient implementation. virtual scoped_ptr CreateContentClient(); + // Subclasses can override this to provide additional .pak files to be included in the ui::ResourceBundle. + virtual void AddPakPaths(std::vector* pak_paths) {} + virtual bool BasicStartupComplete(int* exit_code) OVERRIDE; virtual void PreSandboxStartup() OVERRIDE; private: - static void InitializeResourceBundle(); + void InitializeResourceBundle(); #if defined(OS_MACOSX) static void OverrideChildProcessPath(); static void OverrideFrameworkBundlePath(); diff --git a/brightray/common/main_delegate_mac.mm b/brightray/common/main_delegate_mac.mm index 18647a05dabe..72ae553ff882 100644 --- a/brightray/common/main_delegate_mac.mm +++ b/brightray/common/main_delegate_mac.mm @@ -28,6 +28,11 @@ void MainDelegate::InitializeResourceBundle() { auto path = [base::mac::FrameworkBundle() pathForResource:@"content_shell" ofType:@"pak"]; ui::ResourceBundle::InitSharedInstanceWithPakPath(base::mac::NSStringToFilePath(path)); + + std::vector pak_paths; + AddPakPaths(&pak_paths); + for (const auto& path : pak_paths) + ui::ResourceBundle::GetSharedInstance().AddDataPackFromPath(path, ui::SCALE_FACTOR_NONE); } void MainDelegate::OverrideFrameworkBundlePath() {