diff options
Diffstat (limited to 'src/core/extensions/extension_system_qt.h')
-rw-r--r-- | src/core/extensions/extension_system_qt.h | 89 |
1 files changed, 16 insertions, 73 deletions
diff --git a/src/core/extensions/extension_system_qt.h b/src/core/extensions/extension_system_qt.h index e3762e8a6..c213671a7 100644 --- a/src/core/extensions/extension_system_qt.h +++ b/src/core/extensions/extension_system_qt.h @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWebEngine module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2018 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only // Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be @@ -50,12 +14,15 @@ #include <string> #include "base/one_shot_event.h" -#include "base/macros.h" #include "base/memory/weak_ptr.h" #include "build/build_config.h" #include "extensions/browser/extension_system.h" #include "extensions/common/extension_set.h" +namespace value_store { +class ValueStoreFactory; +} + namespace extensions { class ExtensionRegistry; @@ -63,8 +30,6 @@ class InfoMap; class RendererStartupHelper; class ServiceWorkerManager; class StateStoreNotificationObserver; -class ValueStoreFactory; -class ValueStoreFactoryImpl; // The ExtensionSystem for ProfileImpl and OffTheRecordProfileImpl. // Implementation details: non-shared services are owned by @@ -86,70 +51,48 @@ public: // ExtensionSystem implementation: void InitForRegularProfile(bool extensions_enabled) override; ExtensionService *extension_service() override; - RuntimeData *runtime_data() override; ManagementPolicy *management_policy() override; ServiceWorkerManager *service_worker_manager() override; - SharedUserScriptMaster *shared_user_script_master() override; + UserScriptManager *user_script_manager() override; StateStore *state_store() override; StateStore *rules_store() override; - scoped_refptr<ValueStoreFactory> store_factory() override; - InfoMap *info_map() override; + StateStore *dynamic_user_scripts_store() override; + scoped_refptr<value_store::ValueStoreFactory> store_factory() override; QuotaService *quota_service() override; AppSorting *app_sorting() override; - void RegisterExtensionWithRequestContexts(const Extension *extension, - base::OnceClosure callback) override; - - void UnregisterExtensionWithRequestContexts(const std::string &extension_id, - const UnloadedExtensionReason reason) override; - ContentVerifier *content_verifier() override; std::unique_ptr<ExtensionSet> GetDependentExtensions(const Extension *extension) override; -#if !defined(TOOLKIT_QT) - void InstallUpdate(const std::string &extension_id, - const std::string &public_key, - const base::FilePath &unpacked_dir, - bool install_immediately, - InstallUpdateCallback install_update_callback) override; -#endif // TOOLKIT_QT - //friend class ExtensionSystemSharedFactory; - bool FinishDelayedInstallationIfReady(const std::string &extension_id, bool install_immediately) override; void Init(bool extensions_enabled); const base::OneShotEvent &ready() const override { return ready_; } + bool is_ready() const override; -private: - void OnExtensionRegisteredWithRequestContexts(scoped_refptr<const extensions::Extension> extension); + void PerformActionBasedOnOmahaAttributes(const std::string &, const base::Value::Dict &) override { /* fixme? */} +private: void NotifyExtensionLoaded(const Extension *extension); - void LoadExtension(std::string extension_id, std::unique_ptr<base::DictionaryValue> manifest, const base::FilePath &directory); - // The services that are shared between normal and incognito profiles. - - // Data to be accessed on the IO thread. Must outlive process_manager_. - scoped_refptr<InfoMap> info_map_; + void LoadExtension(std::string extension_id, const base::Value::Dict &manifest, const base::FilePath &directory); + // The services that are shared between normal and incognito profiles. std::unique_ptr<ServiceWorkerManager> service_worker_manager_; - std::unique_ptr<RuntimeData> runtime_data_; std::unique_ptr<QuotaService> quota_service_; - std::unique_ptr<AppSorting> app_sorting_; - std::unique_ptr<SharedUserScriptMaster> shared_user_script_master_; - + std::unique_ptr<UserScriptManager> user_script_manager_; // For verifying the contents of extensions read from disk. scoped_refptr<ContentVerifier> content_verifier_; base::OneShotEvent ready_; content::BrowserContext *browser_context_; - scoped_refptr<ValueStoreFactory> store_factory_; + scoped_refptr<value_store::ValueStoreFactory> store_factory_; ExtensionRegistry *extension_registry_; extensions::RendererStartupHelper *renderer_helper_; bool initialized_; base::WeakPtrFactory<ExtensionSystemQt> weak_ptr_factory_; - DISALLOW_COPY_AND_ASSIGN(ExtensionSystemQt); }; } // namespace extensions |