diff options
Diffstat (limited to 'src/core/renderer')
16 files changed, 31 insertions, 119 deletions
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index 24a2eefbe..b410ad377 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -335,8 +335,7 @@ bool ContentRendererClientQt::IsPluginHandledExternally(content::RenderFrame *re std::string mime_type; static_cast<content::RenderFrameImpl *>(render_frame)->GetPepperHost()->GetPluginInfo( - original_url, render_frame->GetWebFrame()->Top()->GetSecurityOrigin(), - original_mime_type, &found, &plugin_info, &mime_type); + original_url, original_mime_type, &found, &plugin_info, &mime_type); if (!found) return false; return extensions::MimeHandlerViewContainerManager::Get( @@ -364,8 +363,7 @@ bool ContentRendererClientQt::OverrideCreatePlugin(content::RenderFrame *render_ bool found = false; static_cast<content::RenderFrameImpl *>(render_frame)->GetPepperHost()->GetPluginInfo( - params.url, render_frame->GetWebFrame()->Top()->GetSecurityOrigin(), - params.mime_type.Utf8(), &found, &info, &mime_type); + params.url, params.mime_type.Utf8(), &found, &info, &mime_type); if (!found) *plugin = LoadablePluginPlaceholderQt::CreateLoadableMissingPlugin(render_frame, params)->plugin(); else @@ -402,89 +400,18 @@ void ContentRendererClientQt::GetInterface(const std::string &interface_name, mo #if BUILDFLAG(ENABLE_LIBRARY_CDMS) // External Clear Key (used for testing). -static void AddExternalClearKey(std::vector<std::unique_ptr<media::KeySystemProperties>> *concrete_key_systems) +static void AddExternalClearKey(std::vector<std::unique_ptr<media::KeySystemProperties>> *key_systems) { - // TODO(xhwang): Move these into an array so we can use a for loop to add - // supported key systems below. - static const char kExternalClearKeyKeySystem[] = - "org.chromium.externalclearkey"; - static const char kExternalClearKeyDecryptOnlyKeySystem[] = - "org.chromium.externalclearkey.decryptonly"; - static const char kExternalClearKeyMessageTypeTestKeySystem[] = - "org.chromium.externalclearkey.messagetypetest"; - static const char kExternalClearKeyFileIOTestKeySystem[] = - "org.chromium.externalclearkey.fileiotest"; - static const char kExternalClearKeyOutputProtectionTestKeySystem[] = - "org.chromium.externalclearkey.outputprotectiontest"; - static const char kExternalClearKeyPlatformVerificationTestKeySystem[] = - "org.chromium.externalclearkey.platformverificationtest"; - static const char kExternalClearKeyInitializeFailKeySystem[] = - "org.chromium.externalclearkey.initializefail"; - static const char kExternalClearKeyCrashKeySystem[] = - "org.chromium.externalclearkey.crash"; - static const char kExternalClearKeyVerifyCdmHostTestKeySystem[] = - "org.chromium.externalclearkey.verifycdmhosttest"; - static const char kExternalClearKeyStorageIdTestKeySystem[] = - "org.chromium.externalclearkey.storageidtest"; - static const char kExternalClearKeyDifferentGuidTestKeySystem[] = - "org.chromium.externalclearkey.differentguid"; - static const char kExternalClearKeyCdmProxyTestKeySystem[] = - "org.chromium.externalclearkey.cdmproxytest"; + static const char kExternalClearKeyKeySystem[] = "org.chromium.externalclearkey"; + // TODO(xhwang): Actually use `capability` to determine capabilities. media::mojom::KeySystemCapabilityPtr capability; if (!content::IsKeySystemSupported(kExternalClearKeyKeySystem, &capability)) { DVLOG(1) << "External Clear Key not supported"; return; } - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyKeySystem)); - - // Add support of decrypt-only mode in ClearKeyCdm. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyDecryptOnlyKeySystem)); - - // A key system that triggers various types of messages in ClearKeyCdm. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyMessageTypeTestKeySystem)); - - // A key system that triggers the FileIO test in ClearKeyCdm. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyFileIOTestKeySystem)); - - // A key system that triggers the output protection test in ClearKeyCdm. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyOutputProtectionTestKeySystem)); - - // A key system that triggers the platform verification test in ClearKeyCdm. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyPlatformVerificationTestKeySystem)); - - // A key system that Chrome thinks is supported by ClearKeyCdm, but actually - // will be refused by ClearKeyCdm. This is to test the CDM initialization - // failure case. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyInitializeFailKeySystem)); - - // A key system that triggers a crash in ClearKeyCdm. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyCrashKeySystem)); - - // A key system that triggers the verify host files test in ClearKeyCdm. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyVerifyCdmHostTestKeySystem)); - - // A key system that fetches the Storage ID in ClearKeyCdm. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyStorageIdTestKeySystem)); - - // A key system that is registered with a different CDM GUID. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyDifferentGuidTestKeySystem)); - - // A key system that triggers CDM Proxy test in ClearKeyCdm. - concrete_key_systems->emplace_back( - new cdm::ExternalClearKeyProperties(kExternalClearKeyCdmProxyTestKeySystem)); + key_systems->push_back(std::make_unique<cdm::ExternalClearKeyProperties>()); } #if BUILDFLAG(ENABLE_WIDEVINE) @@ -600,7 +527,7 @@ static media::SupportedCodecs GetSupportedCodecs(const media::CdmCapability& cap return supported_codecs; } -static void AddWidevine(std::vector<std::unique_ptr<media::KeySystemProperties>> *concrete_key_systems) +static void AddWidevine(std::vector<std::unique_ptr<media::KeySystemProperties>> *key_systems) { media::mojom::KeySystemCapabilityPtr capability; if (!content::IsKeySystemSupported(kWidevineKeySystem, &capability)) { @@ -647,11 +574,11 @@ static void AddWidevine(std::vector<std::unique_ptr<media::KeySystemProperties>> auto persistent_state_support = media::EmeFeatureSupport::REQUESTABLE; auto distinctive_identifier_support = media::EmeFeatureSupport::NOT_SUPPORTED; - concrete_key_systems->emplace_back(new cdm::WidevineKeySystemProperties( - codecs, encryption_schemes, hw_secure_codecs, - hw_secure_encryption_schemes, max_audio_robustness, max_video_robustness, - persistent_license_support, persistent_state_support, - distinctive_identifier_support)); + key_systems->emplace_back(new cdm::WidevineKeySystemProperties( + codecs, encryption_schemes, hw_secure_codecs, + hw_secure_encryption_schemes, max_audio_robustness, max_video_robustness, + persistent_license_support, persistent_state_support, + distinctive_identifier_support)); } #endif // BUILDFLAG(ENABLE_WIDEVINE) #endif // BUILDFLAG(ENABLE_LIBRARY_CDMS) diff --git a/src/core/renderer/content_renderer_client_qt.h b/src/core/renderer/content_renderer_client_qt.h index 4e1759759..61d80b8f5 100644 --- a/src/core/renderer/content_renderer_client_qt.h +++ b/src/core/renderer/content_renderer_client_qt.h @@ -152,8 +152,6 @@ private: #if QT_CONFIG(webengine_webrtc) && QT_CONFIG(webengine_extensions) std::unique_ptr<chrome::WebRtcLoggingAgentImpl> m_webrtcLoggingAgentImpl; #endif - - DISALLOW_COPY_AND_ASSIGN(ContentRendererClientQt); }; } // namespace diff --git a/src/core/renderer/content_settings_observer_qt.h b/src/core/renderer/content_settings_observer_qt.h index 9268b4982..c1317eaf5 100644 --- a/src/core/renderer/content_settings_observer_qt.h +++ b/src/core/renderer/content_settings_observer_qt.h @@ -89,8 +89,6 @@ private: int m_currentRequestId; base::flat_map<int, base::OnceCallback<void(bool)>> m_permissionRequests; - - DISALLOW_COPY_AND_ASSIGN(ContentSettingsObserverQt); }; } // namespace QtWebEngineCore diff --git a/src/core/renderer/extensions/extensions_dispatcher_delegate_qt.h b/src/core/renderer/extensions/extensions_dispatcher_delegate_qt.h index 1a19bcbbb..b94ef7d27 100644 --- a/src/core/renderer/extensions/extensions_dispatcher_delegate_qt.h +++ b/src/core/renderer/extensions/extensions_dispatcher_delegate_qt.h @@ -40,7 +40,6 @@ #ifndef EXTENSIONSDISPATCHERDELEGATEQT_H #define EXTENSIONSDISPATCHERDELEGATEQT_H -#include "base/macros.h" #include "extensions/renderer/dispatcher_delegate.h" namespace QtWebEngineCore { @@ -54,8 +53,6 @@ public: private: // extensions::DispatcherDelegate implementation. void PopulateSourceMap(extensions::ResourceBundleSourceMap *source_map) override; - - DISALLOW_COPY_AND_ASSIGN(ExtensionsDispatcherDelegateQt); }; } // namespace QtWebEngineCore diff --git a/src/core/renderer/extensions/extensions_renderer_client_qt.h b/src/core/renderer/extensions/extensions_renderer_client_qt.h index 4907e0dc8..5b7cc8b0f 100644 --- a/src/core/renderer/extensions/extensions_renderer_client_qt.h +++ b/src/core/renderer/extensions/extensions_renderer_client_qt.h @@ -43,7 +43,6 @@ #include <memory> #include <string> -#include "base/macros.h" #include "extensions/renderer/extensions_renderer_client.h" #include "services/service_manager/public/cpp/binder_registry.h" #include "ui/base/page_transition_types.h" diff --git a/src/core/renderer/extensions/renderer_permissions_policy_delegate_qt.h b/src/core/renderer/extensions/renderer_permissions_policy_delegate_qt.h index 385b7a4b0..432bc7013 100644 --- a/src/core/renderer/extensions/renderer_permissions_policy_delegate_qt.h +++ b/src/core/renderer/extensions/renderer_permissions_policy_delegate_qt.h @@ -40,7 +40,6 @@ #ifndef RENDERERPERMISSIONSPOLICYDELEGATEQT_H #define RENDERERPERMISSIONSPOLICYDELEGATEQT_H -#include "base/macros.h" #include "extensions/common/permissions/permissions_data.h" namespace extensions { @@ -56,9 +55,6 @@ public: ~RendererPermissionsPolicyDelegateQt() override; bool IsRestrictedUrl(const GURL &, std::string *) override; - -private: - DISALLOW_COPY_AND_ASSIGN(RendererPermissionsPolicyDelegateQt); }; } // namespace QtWebEngineCore diff --git a/src/core/renderer/extensions/resource_request_policy_qt.cpp b/src/core/renderer/extensions/resource_request_policy_qt.cpp index ad66ec4ab..6fa0842a6 100644 --- a/src/core/renderer/extensions/resource_request_policy_qt.cpp +++ b/src/core/renderer/extensions/resource_request_policy_qt.cpp @@ -97,7 +97,7 @@ bool ResourceRequestPolicyQt::CanRequestResource(const GURL &resource_url, // current extension or has a devtools scheme. GURL page_origin = url::Origin(frame->Top()->GetSecurityOrigin()).GetURL(); - GURL extension_origin = resource_url.GetOrigin(); + GURL extension_origin = resource_url.DeprecatedGetOriginAsURL(); // We always allow loads in the following cases, regardless of web accessible // resources: @@ -113,7 +113,7 @@ bool ResourceRequestPolicyQt::CanRequestResource(const GURL &resource_url, // of the frame, to account for about:blank subframes being scripted by an // extension parent (though we'll still need the frame origin check for // sandboxed frames). - if (frame_url.GetOrigin() == extension_origin || page_origin == extension_origin) + if (frame_url.DeprecatedGetOriginAsURL() == extension_origin || page_origin == extension_origin) return true; if (!ui::PageTransitionIsWebTriggerable(transition_type)) diff --git a/src/core/renderer/extensions/resource_request_policy_qt.h b/src/core/renderer/extensions/resource_request_policy_qt.h index f3c718c54..8041d42a1 100644 --- a/src/core/renderer/extensions/resource_request_policy_qt.h +++ b/src/core/renderer/extensions/resource_request_policy_qt.h @@ -42,7 +42,6 @@ #include <set> -#include "base/macros.h" #include "extensions/common/extension_id.h" #include "third_party/abseil-cpp/absl/types/optional.h" #include "ui/base/page_transition_types.h" @@ -84,8 +83,6 @@ private: // The set of extension IDs with any potentially web- or webview-accessible // resources. std::set<ExtensionId> m_web_accessible_ids; - - DISALLOW_COPY_AND_ASSIGN(ResourceRequestPolicyQt); }; } // namespace extensions diff --git a/src/core/renderer/pepper/pepper_renderer_host_factory_qt.cpp b/src/core/renderer/pepper/pepper_renderer_host_factory_qt.cpp index 83dcf8157..2cfbc2f6d 100644 --- a/src/core/renderer/pepper/pepper_renderer_host_factory_qt.cpp +++ b/src/core/renderer/pepper/pepper_renderer_host_factory_qt.cpp @@ -46,9 +46,9 @@ #include "qtwebenginecoreglobal_p.h" #include "base/memory/ptr_util.h" -#include "chrome/renderer/pepper/pepper_flash_font_file_host.h" #include "chrome/renderer/pepper/pepper_uma_host.h" #if QT_CONFIG(webengine_printing_and_pdf) +#include "chrome/renderer/pepper/pepper_flash_font_file_host.h" #include "components/pdf/renderer/pepper_pdf_host.h" #endif // QT_CONFIG(webengine_printing_and_pdf) #include "content/public/renderer/renderer_ppapi_host.h" @@ -84,6 +84,7 @@ std::unique_ptr<ppapi::host::ResourceHost> PepperRendererHostFactoryQt::CreateRe // TODO(raymes): PDF also needs access to the FlashFontFileHost currently. // We should either rename PPB_FlashFont_File to PPB_FontFile_Private or get // rid of its use in PDF if possible. +#if QT_CONFIG(webengine_printing_and_pdf) if (host_->GetPpapiHost()->permissions().HasPermission(ppapi::PERMISSION_FLASH) || host_->GetPpapiHost()->permissions().HasPermission(ppapi::PERMISSION_PDF)) { switch (message.type()) { @@ -97,7 +98,6 @@ std::unique_ptr<ppapi::host::ResourceHost> PepperRendererHostFactoryQt::CreateRe } } -#if QT_CONFIG(webengine_printing_and_pdf) if (host_->GetPpapiHost()->permissions().HasPermission(ppapi::PERMISSION_PDF)) { switch (message.type()) { case PpapiHostMsg_PDF_Create::ID: diff --git a/src/core/renderer/pepper/pepper_renderer_host_factory_qt.h b/src/core/renderer/pepper/pepper_renderer_host_factory_qt.h index ec3440a08..a545886ba 100644 --- a/src/core/renderer/pepper/pepper_renderer_host_factory_qt.h +++ b/src/core/renderer/pepper/pepper_renderer_host_factory_qt.h @@ -65,8 +65,6 @@ public: private: // Not owned by this object. content::RendererPpapiHost* host_; - - DISALLOW_COPY_AND_ASSIGN(PepperRendererHostFactoryQt); }; } // namespace QtWebEngineCore diff --git a/src/core/renderer/plugins/loadable_plugin_placeholder_qt.h b/src/core/renderer/plugins/loadable_plugin_placeholder_qt.h index f612cb8ec..77bb85d78 100644 --- a/src/core/renderer/plugins/loadable_plugin_placeholder_qt.h +++ b/src/core/renderer/plugins/loadable_plugin_placeholder_qt.h @@ -44,7 +44,6 @@ #ifndef LOADALBLE_PLUGIN_PLACEHOLDER_QT_H #define LOADALBLE_PLUGIN_PLACEHOLDER_QT_H -#include "base/macros.h" #include "components/plugins/renderer/loadable_plugin_placeholder.h" namespace QtWebEngineCore { @@ -73,8 +72,6 @@ private: // WebViewPlugin::Delegate (via PluginPlaceholder) methods: v8::Local<v8::Value> GetV8Handle(v8::Isolate* isolate) override; - - DISALLOW_COPY_AND_ASSIGN(LoadablePluginPlaceholderQt); }; } // namespace QtWebEngineCore diff --git a/src/core/renderer/print_web_view_helper_delegate_qt.cpp b/src/core/renderer/print_web_view_helper_delegate_qt.cpp index 5dcfaafd6..17b9e4da1 100644 --- a/src/core/renderer/print_web_view_helper_delegate_qt.cpp +++ b/src/core/renderer/print_web_view_helper_delegate_qt.cpp @@ -60,13 +60,23 @@ namespace QtWebEngineCore { PrintWebViewHelperDelegateQt::~PrintWebViewHelperDelegateQt() {} +bool IsPdfExtensionOrigin(const url::Origin& origin) +{ +#if BUILDFLAG(ENABLE_EXTENSIONS) + return origin.scheme() == extensions::kExtensionScheme + && origin.host() == extension_misc::kPdfExtensionId; +#else + Q_UNUSED(origin); + return false; +#endif +} + blink::WebElement PrintWebViewHelperDelegateQt::GetPdfElement(blink::WebLocalFrame *frame) { #if BUILDFLAG(ENABLE_EXTENSIONS) - GURL url = frame->GetDocument().Url(); - bool inside_print_preview = url.GetOrigin() == chrome::kChromeUIPrintURL; - bool inside_pdf_extension = url.SchemeIs(extensions::kExtensionScheme) && - url.host_piece() == extension_misc::kPdfExtensionId; + const url::Origin origin = frame->GetDocument().GetSecurityOrigin(); + bool inside_print_preview = origin == url::Origin::Create(GURL(chrome::kChromeUIPrintURL)); + bool inside_pdf_extension = IsPdfExtensionOrigin(origin); if (inside_print_preview || inside_pdf_extension) { // <object> with id="plugin" is created in // chrome/browser/resources/pdf/pdf_viewer_base.js. diff --git a/src/core/renderer/render_configuration.h b/src/core/renderer/render_configuration.h index 138a85bdc..bc8eccc20 100644 --- a/src/core/renderer/render_configuration.h +++ b/src/core/renderer/render_configuration.h @@ -71,8 +71,6 @@ private: mojo::AssociatedReceiverSet<qtwebengine::mojom::RendererConfiguration> m_rendererConfigurationReceivers; - - DISALLOW_COPY_AND_ASSIGN(RenderConfiguration); }; } // namespace QtWebEngineCore diff --git a/src/core/renderer/render_frame_observer_qt.h b/src/core/renderer/render_frame_observer_qt.h index 8803dde89..6013860be 100644 --- a/src/core/renderer/render_frame_observer_qt.h +++ b/src/core/renderer/render_frame_observer_qt.h @@ -82,8 +82,6 @@ public: } private: - DISALLOW_COPY_AND_ASSIGN(RenderFrameObserverQt); - void ReadyToCommitNavigation(blink::WebDocumentLoader *) override; bool m_isFrameDetached; diff --git a/src/core/renderer/user_resource_controller.cpp b/src/core/renderer/user_resource_controller.cpp index c480d9817..6486696c5 100644 --- a/src/core/renderer/user_resource_controller.cpp +++ b/src/core/renderer/user_resource_controller.cpp @@ -260,7 +260,7 @@ void UserResourceController::RenderFrameObserverHelper::DidDispatchDOMContentLoa FROM_HERE, base::BindOnce(&Runner::run, m_runner->AsWeakPtr(), QtWebEngineCore::UserScriptData::AfterLoad), - base::TimeDelta::FromMilliseconds(afterLoadTimeout)); + base::Milliseconds(afterLoadTimeout)); } void UserResourceController::RenderFrameObserverHelper::DidFinishLoad() diff --git a/src/core/renderer/web_channel_ipc_transport.cpp b/src/core/renderer/web_channel_ipc_transport.cpp index ef3fbeaaf..77f7cdcf1 100644 --- a/src/core/renderer/web_channel_ipc_transport.cpp +++ b/src/core/renderer/web_channel_ipc_transport.cpp @@ -74,7 +74,6 @@ private: gin::ObjectTemplateBuilder GetObjectTemplateBuilder(v8::Isolate *isolate) override; mojo::AssociatedRemote<qtwebchannel::mojom::WebChannelTransportHost> m_remote; content::RenderFrame *m_renderFrame = nullptr; - DISALLOW_COPY_AND_ASSIGN(WebChannelTransport); }; gin::WrapperInfo WebChannelTransport::kWrapperInfo = { gin::kEmbedderNativeGin }; |