Adds ability for BrowserMainParts::PreEarlyInitialization() to fail

https://chromium-review.googlesource.com/862964
This commit is contained in:
Aleksei Kuzmin 2018-04-05 23:09:37 +02:00 committed by Samuel Attard
parent 2f11870970
commit 079e5df740
4 changed files with 14 additions and 5 deletions

View file

@ -20,6 +20,7 @@
#include "base/threading/thread_task_runner_handle.h"
#include "chrome/browser/browser_process.h"
#include "content/public/browser/child_process_security_policy.h"
#include "content/public/common/result_codes.h"
#include "device/geolocation/geolocation_delegate.h"
#include "device/geolocation/geolocation_provider.h"
#include "ui/base/idle/idle.h"
@ -126,11 +127,16 @@ void AtomBrowserMainParts::RegisterDestructionCallback(
destructors_.insert(destructors_.begin(), std::move(callback));
}
void AtomBrowserMainParts::PreEarlyInitialization() {
brightray::BrowserMainParts::PreEarlyInitialization();
int AtomBrowserMainParts::PreEarlyInitialization() {
const int result = brightray::BrowserMainParts::PreEarlyInitialization();
if (result != content::RESULT_CODE_NORMAL_EXIT)
return result;
#if defined(OS_POSIX)
HandleSIGCHLD();
#endif
return content::RESULT_CODE_NORMAL_EXIT;
}
void AtomBrowserMainParts::PostEarlyInitialization() {

View file

@ -57,7 +57,7 @@ class AtomBrowserMainParts : public brightray::BrowserMainParts {
protected:
// content::BrowserMainParts:
void PreEarlyInitialization() override;
int PreEarlyInitialization() override;
void PostEarlyInitialization() override;
int PreCreateThreads() override;
void ToolkitInitialized() override;

View file

@ -29,6 +29,7 @@
#include "brightray/common/main_delegate.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/result_codes.h"
#include "media/base/localized_strings.h"
#include "net/proxy_resolution/proxy_resolver_v8.h"
#include "ui/base/l10n/l10n_util.h"
@ -177,7 +178,7 @@ void OverrideAppLogsPath() {
}
#endif
void BrowserMainParts::PreEarlyInitialization() {
int BrowserMainParts::PreEarlyInitialization() {
std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList);
// TODO(deepak1556): Disable guest webcontents based on OOPIF feature.
feature_list->InitializeFromCommandLine("", "GuestViewCrossProcessFrames");
@ -192,6 +193,8 @@ void BrowserMainParts::PreEarlyInitialization() {
// we can't shutdown properly while creating and initializing services.
ui::SetX11ErrorHandlers(nullptr, nullptr);
#endif
return content::RESULT_CODE_NORMAL_EXIT;
}
void BrowserMainParts::ToolkitInitialized() {

View file

@ -33,7 +33,7 @@ class BrowserMainParts : public content::BrowserMainParts {
protected:
// content::BrowserMainParts:
void PreEarlyInitialization() override;
int PreEarlyInitialization() override;
void ToolkitInitialized() override;
void PreMainMessageLoopStart() override;
void PreMainMessageLoopRun() override;