Mac: Fix build error and NetworkService startup assertion (see issue #2622).

Fixes FATAL:os_crypt_mac.mm(103)] Check failed: g_key_creation_util
This commit is contained in:
Marshall Greenblatt 2019-04-29 11:31:13 -04:00
parent 4e089766a5
commit 9fd6c8a1ee
3 changed files with 23 additions and 0 deletions

View File

@ -557,6 +557,7 @@
'tests/ceftests/process_message_unittest.cc',
'tests/ceftests/request_handler_unittest.cc',
'tests/ceftests/request_unittest.cc',
'tests/ceftests/resource_request_handler_unittest.cc',
'tests/ceftests/routing_test_handler.cc',
'tests/ceftests/routing_test_handler.h',
'tests/ceftests/scheme_handler_unittest.cc',

View File

@ -21,6 +21,7 @@
#include "libcef/common/extensions/extensions_client.h"
#include "libcef/common/extensions/extensions_util.h"
#include "libcef/common/net/net_resource_provider.h"
#include "libcef/common/net_service/util.h"
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
@ -60,6 +61,11 @@
#include "libcef/browser/printing/print_dialog_linux.h"
#endif
#if defined(OS_MACOSX)
#include "chrome/browser/browser_process.h"
#include "components/os_crypt/os_crypt.h"
#endif
CefBrowserMainParts::CefBrowserMainParts(
const content::MainFunctionParams& parameters)
: BrowserMainParts(), devtools_delegate_(NULL) {}
@ -115,6 +121,15 @@ void CefBrowserMainParts::PreMainMessageLoopStart() {
ui::TouchFactory::SetTouchDeviceListFromCommandLine();
#endif
#if defined(OS_MACOSX)
if (net_service::IsEnabled()) {
// Initialize the OSCrypt.
PrefService* local_state = g_browser_process->local_state();
DCHECK(local_state);
OSCrypt::Init(local_state);
}
#endif
for (size_t i = 0; i < chrome_extra_parts_.size(); ++i)
chrome_extra_parts_[i]->PreMainMessageLoopStart();
}

View File

@ -52,6 +52,10 @@
#include "extensions/buildflags/buildflags.h"
#include "ui/base/l10n/l10n_util.h"
#if defined(OS_MACOSX)
#include "components/os_crypt/os_crypt.h"
#endif
namespace browser_prefs {
const char kUserPrefsFileName[] = "UserPrefs.json";
@ -156,6 +160,9 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
CefURLRequestContextGetter::RegisterPrefs(registry.get());
} else if (!profile) {
SystemNetworkContextManager::RegisterPrefs(registry.get());
#if defined(OS_MACOSX)
OSCrypt::RegisterLocalPrefs(registry.get());
#endif
}
// Browser UI preferences.