diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-02-13 10:55:42 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-05 13:33:38 +0000 |
commit | 248b70b82a40964d5594eb04feca0fa36716185d (patch) | |
tree | 44e31d9dd0ac2cb79f48633eefbc5496e013c347 /chromium/chrome/common/initialize_extensions_client.cc | |
parent | cabfcdd1db482729ded525feae56911a99792773 (diff) | |
download | qtwebengine-chromium-248b70b82a40964d5594eb04feca0fa36716185d.tar.gz |
BASELINE: Update Chromium to 79.0.3945.147
And new simplified snapshot filter
Change-Id: I7c692bedd5b3833f05565bd6f6939115350b233a
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/chrome/common/initialize_extensions_client.cc')
-rw-r--r-- | chromium/chrome/common/initialize_extensions_client.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/chromium/chrome/common/initialize_extensions_client.cc b/chromium/chrome/common/initialize_extensions_client.cc new file mode 100644 index 00000000000..3e9d4cf1f1b --- /dev/null +++ b/chromium/chrome/common/initialize_extensions_client.cc @@ -0,0 +1,33 @@ +// Copyright 2018 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/common/initialize_extensions_client.h" + +#include <memory> + +#include "base/no_destructor.h" +#include "chrome/common/apps/platform_apps/chrome_apps_api_provider.h" +#include "chrome/common/extensions/chrome_extensions_client.h" +#include "extensions/common/extensions_client.h" + +void EnsureExtensionsClientInitialized() { + static bool initialized = false; + + static base::NoDestructor<extensions::ChromeExtensionsClient> + extensions_client; + + if (!initialized) { + initialized = true; + extensions_client->AddAPIProvider( + std::make_unique<chrome_apps::ChromeAppsAPIProvider>()); + extensions::ExtensionsClient::Set(extensions_client.get()); + } + + // ExtensionsClient::Set() will early-out if the client was already set, so + // this allows us to check that this was the only site setting it. + DCHECK_EQ(extensions_client.get(), extensions::ExtensionsClient::Get()) + << "ExtensionsClient should only be initialized through " + << "EnsureExtensionsClientInitialized() when using " + << "ChromeExtensionsClient."; +} |