mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-04-18 12:47:29 +02:00
Set enable_alloy_bootstrap=false to build with Alloy bootstrap code removed. Extension API is documented as deprecated in comments but not compiled out with this arg.
184 lines
8.1 KiB
Diff
184 lines
8.1 KiB
Diff
diff --git chrome/browser/profiles/off_the_record_profile_impl.cc chrome/browser/profiles/off_the_record_profile_impl.cc
|
|
index 2e67f8c97fab8..a3367979977c9 100644
|
|
--- chrome/browser/profiles/off_the_record_profile_impl.cc
|
|
+++ chrome/browser/profiles/off_the_record_profile_impl.cc
|
|
@@ -666,7 +666,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
|
|
#endif
|
|
if (!profile)
|
|
profile = std::make_unique<OffTheRecordProfileImpl>(parent, otr_profile_id);
|
|
- profile->Init();
|
|
+ // With CEF we want to delay initialization.
|
|
+ if (!otr_profile_id.IsUniqueForCEF())
|
|
+ profile->Init();
|
|
return std::move(profile);
|
|
}
|
|
|
|
diff --git chrome/browser/profiles/profile.cc chrome/browser/profiles/profile.cc
|
|
index a9762d47c397d..482c0e4c8550f 100644
|
|
--- chrome/browser/profiles/profile.cc
|
|
+++ chrome/browser/profiles/profile.cc
|
|
@@ -91,6 +91,7 @@ base::LazyInstance<std::set<content::BrowserContext*>>::Leaky
|
|
|
|
namespace {
|
|
|
|
+const char kCEFOTRProfileIDPrefix[] = "CEF::BrowserContext";
|
|
const char kDevToolsOTRProfileIDPrefix[] = "Devtools::BrowserContext";
|
|
const char kMediaRouterOTRProfileIDPrefix[] = "MediaRouter::Presentation";
|
|
const char kTestOTRProfileIDPrefix[] = "Test::OTR";
|
|
@@ -111,6 +112,8 @@ bool Profile::OTRProfileID::AllowsBrowserWindows() const {
|
|
// DevTools::BrowserContext, MediaRouter::Presentation, and
|
|
// CaptivePortal::Signin are exceptions to this ban.
|
|
if (*this == PrimaryID() ||
|
|
+ base::StartsWith(profile_id_, kCEFOTRProfileIDPrefix,
|
|
+ base::CompareCase::SENSITIVE) ||
|
|
base::StartsWith(profile_id_, kDevToolsOTRProfileIDPrefix,
|
|
base::CompareCase::SENSITIVE) ||
|
|
base::StartsWith(profile_id_, kMediaRouterOTRProfileIDPrefix,
|
|
@@ -148,6 +151,16 @@ Profile::OTRProfileID Profile::OTRProfileID::CreateUnique(
|
|
base::Uuid::GenerateRandomV4().AsLowercaseString().c_str()));
|
|
}
|
|
|
|
+// static
|
|
+Profile::OTRProfileID Profile::OTRProfileID::CreateUniqueForCEF() {
|
|
+ return CreateUnique(kCEFOTRProfileIDPrefix);
|
|
+}
|
|
+
|
|
+bool Profile::OTRProfileID::IsUniqueForCEF() const {
|
|
+ return base::StartsWith(profile_id_, kCEFOTRProfileIDPrefix,
|
|
+ base::CompareCase::SENSITIVE);
|
|
+}
|
|
+
|
|
// static
|
|
Profile::OTRProfileID Profile::OTRProfileID::CreateUniqueForDevTools() {
|
|
return CreateUnique(kDevToolsOTRProfileIDPrefix);
|
|
diff --git chrome/browser/profiles/profile.h chrome/browser/profiles/profile.h
|
|
index b06035ad4748f..5d51cd1038a66 100644
|
|
--- chrome/browser/profiles/profile.h
|
|
+++ chrome/browser/profiles/profile.h
|
|
@@ -93,6 +93,10 @@ class Profile : public content::BrowserContext {
|
|
// be applicable to run. Please see crbug.com/1098697#c3 for more details.
|
|
static OTRProfileID CreateUnique(const std::string& profile_id_prefix);
|
|
|
|
+ // Creates a unique OTR profile id to be used for CEF browser contexts.
|
|
+ static OTRProfileID CreateUniqueForCEF();
|
|
+ bool IsUniqueForCEF() const;
|
|
+
|
|
// Creates a unique OTR profile id to be used for DevTools browser contexts.
|
|
static OTRProfileID CreateUniqueForDevTools();
|
|
|
|
@@ -504,6 +508,8 @@ class Profile : public content::BrowserContext {
|
|
return instant_service_;
|
|
}
|
|
|
|
+ void NotifyOffTheRecordProfileCreated(Profile* off_the_record);
|
|
+
|
|
protected:
|
|
// Creates an OffTheRecordProfile which points to this Profile.
|
|
static std::unique_ptr<Profile> CreateOffTheRecordProfile(
|
|
@@ -515,7 +521,6 @@ class Profile : public content::BrowserContext {
|
|
static PrefStore* CreateExtensionPrefStore(Profile*,
|
|
bool incognito_pref_store);
|
|
|
|
- void NotifyOffTheRecordProfileCreated(Profile* off_the_record);
|
|
void NotifyProfileInitializationComplete();
|
|
|
|
// Returns whether the user has signed in this profile to an account.
|
|
diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc
|
|
index 47ada6bf53225..a0c4d18b93278 100644
|
|
--- chrome/browser/profiles/profile_impl.cc
|
|
+++ chrome/browser/profiles/profile_impl.cc
|
|
@@ -1040,7 +1040,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
|
|
|
|
otr_profiles_[otr_profile_id] = std::move(otr_profile);
|
|
|
|
- NotifyOffTheRecordProfileCreated(raw_otr_profile);
|
|
+ // With CEF we want to delay initialization.
|
|
+ if (!otr_profile_id.IsUniqueForCEF())
|
|
+ NotifyOffTheRecordProfileCreated(raw_otr_profile);
|
|
|
|
return raw_otr_profile;
|
|
}
|
|
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
|
|
index a8ae9d577d4fb..381d6ceeaccba 100644
|
|
--- chrome/browser/profiles/profile_manager.cc
|
|
+++ chrome/browser/profiles/profile_manager.cc
|
|
@@ -437,7 +437,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
|
|
profile_manager_android_ = std::make_unique<ProfileManagerAndroid>(this);
|
|
#endif
|
|
|
|
- if (ProfileShortcutManager::IsFeatureEnabled() && !user_data_dir_.empty())
|
|
+ if (!user_data_dir_.empty() && ProfileShortcutManager::IsFeatureEnabled())
|
|
profile_shortcut_manager_ = ProfileShortcutManager::Create(this);
|
|
|
|
zombie_metrics_timer_.Start(FROM_HERE, base::Minutes(30), this,
|
|
diff --git chrome/browser/profiles/profile_manager.h chrome/browser/profiles/profile_manager.h
|
|
index 3d5fd0d5ca858..965ab69b3fe8f 100644
|
|
--- chrome/browser/profiles/profile_manager.h
|
|
+++ chrome/browser/profiles/profile_manager.h
|
|
@@ -134,7 +134,7 @@ class ProfileManager : public Profile::Delegate {
|
|
// acceptable. Returns nullptr if loading the new profile fails.
|
|
// TODO(bauerb): Migrate calls from other code to `GetProfileByPath()`, then
|
|
// make this method private.
|
|
- Profile* GetProfile(const base::FilePath& profile_dir);
|
|
+ virtual Profile* GetProfile(const base::FilePath& profile_dir);
|
|
|
|
// Returns regular or off-the-record profile given its profile key.
|
|
static Profile* GetProfileFromProfileKey(ProfileKey* profile_key);
|
|
@@ -175,7 +175,7 @@ class ProfileManager : public Profile::Delegate {
|
|
|
|
// Returns true if the profile pointer is known to point to an existing
|
|
// profile.
|
|
- bool IsValidProfile(const void* profile);
|
|
+ virtual bool IsValidProfile(const void* profile);
|
|
|
|
// Returns the directory where the first created profile is stored,
|
|
// relative to the user data directory currently in use.
|
|
diff --git chrome/browser/profiles/renderer_updater.cc chrome/browser/profiles/renderer_updater.cc
|
|
index 0d1d2e3661ff1..ba4b8cb233102 100644
|
|
--- chrome/browser/profiles/renderer_updater.cc
|
|
+++ chrome/browser/profiles/renderer_updater.cc
|
|
@@ -9,6 +9,7 @@
|
|
#include "base/functional/bind.h"
|
|
#include "base/functional/callback.h"
|
|
#include "build/chromeos_buildflags.h"
|
|
+#include "cef/libcef/features/runtime.h"
|
|
#include "chrome/browser/content_settings/content_settings_manager_delegate.h"
|
|
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
|
|
#include "chrome/browser/profiles/profile.h"
|
|
@@ -45,6 +46,9 @@ RendererUpdater::RendererUpdater(Profile* profile)
|
|
#if BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS)
|
|
,
|
|
bound_session_cookie_refresh_service_(
|
|
+#if BUILDFLAG(ENABLE_ALLOY_BOOTSTRAP)
|
|
+ cef::IsAlloyRuntimeEnabled() ? nullptr :
|
|
+#endif
|
|
BoundSessionCookieRefreshServiceFactory::GetForProfile(profile))
|
|
#endif
|
|
{
|
|
diff --git chrome/browser/profiles/renderer_updater_factory.cc chrome/browser/profiles/renderer_updater_factory.cc
|
|
index ed5b366aa47ab..794cf8b3bbec1 100644
|
|
--- chrome/browser/profiles/renderer_updater_factory.cc
|
|
+++ chrome/browser/profiles/renderer_updater_factory.cc
|
|
@@ -4,6 +4,7 @@
|
|
|
|
#include "chrome/browser/profiles/renderer_updater_factory.h"
|
|
|
|
+#include "cef/libcef/features/runtime.h"
|
|
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
|
|
#include "chrome/browser/profiles/profile.h"
|
|
#include "chrome/browser/profiles/renderer_updater.h"
|
|
@@ -25,7 +26,13 @@ RendererUpdaterFactory::RendererUpdaterFactory()
|
|
DependsOn(IdentityManagerFactory::GetInstance());
|
|
DependsOn(HostContentSettingsMapFactory::GetInstance());
|
|
#if BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS)
|
|
+#if BUILDFLAG(ENABLE_ALLOY_BOOTSTRAP)
|
|
+ if (!cef::IsAlloyRuntimeEnabled()) {
|
|
+#endif
|
|
DependsOn(BoundSessionCookieRefreshServiceFactory::GetInstance());
|
|
+#if BUILDFLAG(ENABLE_ALLOY_BOOTSTRAP)
|
|
+ }
|
|
+#endif
|
|
#endif // BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS)
|
|
}
|
|
|