diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-06-28 11:06:20 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-07-13 11:11:40 +0200 |
commit | 734b635cf9a9316ddd05dc9d9abc0a93746fc7f3 (patch) | |
tree | 49c6736d1c0c792326dd52b7541bea361c478609 /src/core/extensions | |
parent | b848c87dbbc317ad7186418a64670b52777d1393 (diff) |
Adaptations for 90-based
Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
(cherry picked from commit 1d988d971bc4270ba3d148e8e2c143bf8f625b6e)
Diffstat (limited to 'src/core/extensions')
11 files changed, 37 insertions, 31 deletions
diff --git a/src/core/extensions/component_extension_resource_manager_qt.cpp b/src/core/extensions/component_extension_resource_manager_qt.cpp index fb6bb5950..2b6a24541 100644 --- a/src/core/extensions/component_extension_resource_manager_qt.cpp +++ b/src/core/extensions/component_extension_resource_manager_qt.cpp @@ -53,6 +53,11 @@ #include "content/public/browser/browser_thread.h" #include "extensions/common/constants.h" #include "pdf/buildflags.h" +#include "ppapi/buildflags/buildflags.h" + +#if BUILDFLAG(ENABLE_PLUGINS) +#include "chrome/grit/pdf_resources_map.h" +#endif #if BUILDFLAG(ENABLE_PDF) #include "qtwebengine/browser/pdf/pdf_extension_util.h" @@ -64,7 +69,9 @@ ComponentExtensionResourceManagerQt::ComponentExtensionResourceManagerQt() { AddComponentResourceEntries(kComponentExtensionResources, kComponentExtensionResourcesSize); - +#if BUILDFLAG(ENABLE_PLUGINS) + AddComponentResourceEntries(kPdfResources, kPdfResourcesSize); +#endif #if BUILDFLAG(ENABLE_PDF) base::Value dict(base::Value::Type::DICTIONARY); pdf_extension_util::AddStrings(pdf_extension_util::PdfViewerContext::kPdfViewer, &dict); @@ -109,19 +116,18 @@ const ui::TemplateReplacements *ComponentExtensionResourceManagerQt::GetTemplate return it != template_replacements_.end() ? &it->second : nullptr; } -void ComponentExtensionResourceManagerQt::AddComponentResourceEntries(const GritResourceMap *entries, size_t size) +void ComponentExtensionResourceManagerQt::AddComponentResourceEntries(const webui::ResourcePath *entries, size_t size) { base::FilePath gen_folder_path = base::FilePath().AppendASCII("@out_folder@/gen/chrome/browser/resources/"); gen_folder_path = gen_folder_path.NormalizePathSeparators(); for (size_t i = 0; i < size; ++i) { - base::FilePath resource_path = base::FilePath().AppendASCII(entries[i].name); + base::FilePath resource_path = base::FilePath().AppendASCII(entries[i].path); resource_path = resource_path.NormalizePathSeparators(); - if (!gen_folder_path.IsParent(resource_path)) { DCHECK(!base::Contains(path_to_resource_id_, resource_path)); - path_to_resource_id_[resource_path] = entries[i].value; + path_to_resource_id_[resource_path] = entries[i].id; } else { // If the resource is a generated file, strip the generated folder's path, // so that it can be served from a normal URL (as if it were not @@ -130,7 +136,7 @@ void ComponentExtensionResourceManagerQt::AddComponentResourceEntries(const Grit base::FilePath().AppendASCII(resource_path.AsUTF8Unsafe().substr( gen_folder_path.value().length())); DCHECK(!base::Contains(path_to_resource_id_, effective_path)); - path_to_resource_id_[effective_path] = entries[i].value; + path_to_resource_id_[effective_path] = entries[i].id; } } } diff --git a/src/core/extensions/component_extension_resource_manager_qt.h b/src/core/extensions/component_extension_resource_manager_qt.h index 6131e91aa..b029a7f71 100644 --- a/src/core/extensions/component_extension_resource_manager_qt.h +++ b/src/core/extensions/component_extension_resource_manager_qt.h @@ -49,8 +49,7 @@ #include "base/files/file_path.h" #include "base/macros.h" #include "extensions/browser/component_extension_resource_manager.h" - -struct GritResourceMap; +#include "ui/base/webui/resource_path.h" namespace extensions { @@ -67,7 +66,7 @@ public: const ui::TemplateReplacements *GetTemplateReplacementsForExtension(const std::string &extension_id) const override; private: - void AddComponentResourceEntries(const GritResourceMap *entries, size_t size); + void AddComponentResourceEntries(const webui::ResourcePath *entries, size_t size); // A map from a resource path to the resource ID. Used by // IsComponentExtensionResource. diff --git a/src/core/extensions/extension_host_delegate_qt.cpp b/src/core/extensions/extension_host_delegate_qt.cpp index 1a44dee7a..4db1aeb71 100644 --- a/src/core/extensions/extension_host_delegate_qt.cpp +++ b/src/core/extensions/extension_host_delegate_qt.cpp @@ -55,7 +55,7 @@ void ExtensionHostDelegateQt::OnExtensionHostCreated(content::WebContents *web_c extensions::ExtensionWebContentsObserverQt::CreateForWebContents(web_contents); } -void ExtensionHostDelegateQt::OnRenderViewCreatedForBackgroundPage(ExtensionHost *host) +void ExtensionHostDelegateQt::OnMainFrameCreatedForBackgroundPage(ExtensionHost *host) { Q_UNUSED(host); } diff --git a/src/core/extensions/extension_host_delegate_qt.h b/src/core/extensions/extension_host_delegate_qt.h index 42ff56a53..04ffb9d16 100644 --- a/src/core/extensions/extension_host_delegate_qt.h +++ b/src/core/extensions/extension_host_delegate_qt.h @@ -51,7 +51,7 @@ public: // EtensionHostDelegate implementation. void OnExtensionHostCreated(content::WebContents *web_contents) override; - void OnRenderViewCreatedForBackgroundPage(ExtensionHost *host) override; + void OnMainFrameCreatedForBackgroundPage(ExtensionHost *host) override; content::JavaScriptDialogManager *GetJavaScriptDialogManager() override; void CreateTab(std::unique_ptr<content::WebContents> web_contents, const std::string &extension_id, diff --git a/src/core/extensions/extension_system_factory_qt.cpp b/src/core/extensions/extension_system_factory_qt.cpp index 41ba31214..b63b41a86 100644 --- a/src/core/extensions/extension_system_factory_qt.cpp +++ b/src/core/extensions/extension_system_factory_qt.cpp @@ -44,7 +44,6 @@ #include "extension_system_factory_qt.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" -#include "extensions/browser/declarative_user_script_manager_factory.h" #include "extensions/browser/event_router_factory.h" #include "extensions/browser/extension_prefs_factory.h" #include "extensions/browser/extension_registry_factory.h" diff --git a/src/core/extensions/extension_system_qt.cpp b/src/core/extensions/extension_system_qt.cpp index 285b27729..99b56786b 100644 --- a/src/core/extensions/extension_system_qt.cpp +++ b/src/core/extensions/extension_system_qt.cpp @@ -84,8 +84,8 @@ #include "extensions/browser/quota_service.h" #include "extensions/browser/renderer_startup_helper.h" #include "extensions/browser/runtime_data.h" -#include "extensions/browser/shared_user_script_manager.h" #include "extensions/browser/service_worker_manager.h" +#include "extensions/browser/user_script_manager.h" #include "extensions/browser/value_store/value_store_factory_impl.h" #include "extensions/common/constants.h" #include "extensions/common/manifest_constants.h" @@ -279,9 +279,9 @@ ManagementPolicy *ExtensionSystemQt::management_policy() return nullptr; } -SharedUserScriptManager *ExtensionSystemQt::shared_user_script_manager() +UserScriptManager *ExtensionSystemQt::user_script_manager() { - return shared_user_script_manager_.get(); + return user_script_manager_.get(); } StateStore *ExtensionSystemQt::state_store() @@ -350,8 +350,8 @@ void ExtensionSystemQt::Init(bool extensions_enabled) quota_service_.reset(new QuotaService); app_sorting_.reset(new NullAppSorting); - shared_user_script_manager_ = - std::make_unique<SharedUserScriptManager>(browser_context_); + user_script_manager_ = + std::make_unique<UserScriptManager>(browser_context_); // Make the chrome://extension-icon/ resource available. // content::URLDataSource::Add(browser_context_, new ExtensionIconSource(browser_context_)); diff --git a/src/core/extensions/extension_system_qt.h b/src/core/extensions/extension_system_qt.h index 59835657a..2ae92581a 100644 --- a/src/core/extensions/extension_system_qt.h +++ b/src/core/extensions/extension_system_qt.h @@ -89,7 +89,7 @@ public: RuntimeData *runtime_data() override; ManagementPolicy *management_policy() override; ServiceWorkerManager *service_worker_manager() override; - SharedUserScriptManager *shared_user_script_manager() override; + UserScriptManager *user_script_manager() override; StateStore *state_store() override; StateStore *rules_store() override; scoped_refptr<ValueStoreFactory> store_factory() override; @@ -129,7 +129,7 @@ private: std::unique_ptr<RuntimeData> runtime_data_; std::unique_ptr<QuotaService> quota_service_; std::unique_ptr<AppSorting> app_sorting_; - std::unique_ptr<SharedUserScriptManager> shared_user_script_manager_; + std::unique_ptr<UserScriptManager> user_script_manager_; // For verifying the contents of extensions read from disk. diff --git a/src/core/extensions/extension_web_contents_observer_qt.cpp b/src/core/extensions/extension_web_contents_observer_qt.cpp index e336f70b4..0959806f6 100644 --- a/src/core/extensions/extension_web_contents_observer_qt.cpp +++ b/src/core/extensions/extension_web_contents_observer_qt.cpp @@ -89,10 +89,10 @@ void ExtensionWebContentsObserverQt::RenderFrameCreated(content::RenderFrameHost policy->GrantRequestOrigin(process_id, url::Origin::Create(GURL(content::kChromeUIResourcesURL))); } -void ExtensionWebContentsObserverQt::RenderViewCreated(content::RenderViewHost *render_view_host) +void ExtensionWebContentsObserverQt::RenderViewReady() { if (web_contents()->IsInnerWebContentsForGuest()) { - content::RenderWidgetHost *render_widget_host = render_view_host->GetWidget(); + content::RenderWidgetHost *render_widget_host = web_contents()->GetRenderViewHost()->GetWidget(); content::WebContents *parent_web_contents = guest_view::GuestViewBase::GetTopLevelWebContents(web_contents()); QtWebEngineCore::RenderWidgetHostViewQt *parent_rwhv = static_cast<QtWebEngineCore::RenderWidgetHostViewQt *>(parent_web_contents->GetRenderWidgetHostView()); parent_rwhv->setGuest(static_cast<content::RenderWidgetHostImpl *>(render_widget_host)); diff --git a/src/core/extensions/extension_web_contents_observer_qt.h b/src/core/extensions/extension_web_contents_observer_qt.h index c0269e4f5..346e94d4a 100644 --- a/src/core/extensions/extension_web_contents_observer_qt.h +++ b/src/core/extensions/extension_web_contents_observer_qt.h @@ -61,7 +61,7 @@ public: // content::WebContentsObserver overrides. void RenderFrameCreated(content::RenderFrameHost *render_frame_host) override; - void RenderViewCreated(content::RenderViewHost *render_view_host) override; + void RenderViewReady() override; private: friend class content::WebContentsUserData<ExtensionWebContentsObserverQt>; diff --git a/src/core/extensions/extensions_browser_client_qt.cpp b/src/core/extensions/extensions_browser_client_qt.cpp index 501252823..406facc5c 100644 --- a/src/core/extensions/extensions_browser_client_qt.cpp +++ b/src/core/extensions/extensions_browser_client_qt.cpp @@ -187,8 +187,9 @@ private: head->content_length = data->size(); head->mime_type = *read_mime_type; DetermineCharset(head->mime_type, data.get(), &head->charset); - mojo::DataPipe pipe(data->size()); - if (!pipe.consumer_handle.is_valid()) { + mojo::ScopedDataPipeProducerHandle producer_handle; + mojo::ScopedDataPipeConsumerHandle consumer_handle; + if (mojo::CreateDataPipe(data->size(), producer_handle, consumer_handle) != MOJO_RESULT_OK) { client_->OnComplete(network::URLLoaderCompletionStatus(net::ERR_FAILED)); client_.reset(); MaybeDeleteSelf(); @@ -201,10 +202,10 @@ private: head->headers->AddHeader(net::HttpRequestHeaders::kContentType, head->mime_type.c_str()); } client_->OnReceiveResponse(std::move(head)); - client_->OnStartLoadingResponseBody(std::move(pipe.consumer_handle)); + client_->OnStartLoadingResponseBody(std::move(consumer_handle)); uint32_t write_size = data->size(); - MojoResult result = pipe.producer_handle->WriteData(data->front(), &write_size, MOJO_WRITE_DATA_FLAG_NONE); + MojoResult result = producer_handle->WriteData(data->front(), &write_size, MOJO_WRITE_DATA_FLAG_NONE); OnFileWritten(result); } @@ -395,8 +396,8 @@ void ExtensionsBrowserClientQt::LoadResourceFromResourceBundle(const network::Re } -bool ExtensionsBrowserClientQt::AllowCrossRendererResourceLoad(const GURL &url, - blink::mojom::ResourceType resource_type, +bool ExtensionsBrowserClientQt::AllowCrossRendererResourceLoad(const network::ResourceRequest &request, + network::mojom::RequestDestination destination, ui::PageTransition page_transition, int child_id, bool is_incognito, @@ -412,7 +413,7 @@ bool ExtensionsBrowserClientQt::AllowCrossRendererResourceLoad(const GURL &url, return true; bool allowed = false; - if (url_request_util::AllowCrossRendererResourceLoad(url, resource_type, + if (url_request_util::AllowCrossRendererResourceLoad(request, destination, page_transition, child_id, is_incognito, extension, extensions, process_map, &allowed)) { diff --git a/src/core/extensions/extensions_browser_client_qt.h b/src/core/extensions/extensions_browser_client_qt.h index 5889694b7..7c00adcad 100644 --- a/src/core/extensions/extensions_browser_client_qt.h +++ b/src/core/extensions/extensions_browser_client_qt.h @@ -75,14 +75,15 @@ public: bool IsGuestSession(content::BrowserContext *context) const override; bool IsExtensionIncognitoEnabled(const std::string &extension_id, content::BrowserContext *context) const override; bool CanExtensionCrossIncognito(const Extension *extension, content::BrowserContext *context) const override; - bool AllowCrossRendererResourceLoad(const GURL &url, - blink::mojom::ResourceType resource_type, + bool AllowCrossRendererResourceLoad(const network::ResourceRequest &request, + network::mojom::RequestDestination destination, ui::PageTransition page_transition, int child_id, bool is_incognito, const Extension *extension, const ExtensionSet &extensions, const ProcessMap &process_map) override; + PrefService *GetPrefServiceForContext(content::BrowserContext *context) override; void GetEarlyExtensionPrefsObservers(content::BrowserContext *context, std::vector<EarlyExtensionPrefsObserver *> *observers) const override; |