From 0a01998411de6a46af8d0b0ae13b8f401cd14a4b Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 9 May 2019 17:04:10 +0200 Subject: Adaptations for Chromium 74 Change-Id: Icdefa05eec39c632328dfc40862e5b734170bf3f Reviewed-by: Peter Varga --- src/core/accessibility_tree_formatter_qt.cpp | 6 ++ src/core/api/qwebengineurlrequestinfo.cpp | 1 + src/core/api/qwebengineurlrequestinfo.h | 1 + src/core/authentication_dialog_controller.cpp | 15 ++--- src/core/authentication_dialog_controller_p.h | 10 +++- src/core/browser_main_parts_qt.cpp | 65 ++++++++++------------ src/core/browser_main_parts_qt.h | 14 ++--- src/core/browser_message_filter_qt.cpp | 2 - src/core/browser_message_filter_qt.h | 2 - src/core/common/qt_messages.h | 4 +- src/core/compositor/compositor_resource_tracker.h | 7 ++- src/core/content_browser_client_qt.cpp | 15 +++-- src/core/content_browser_client_qt.h | 6 +- src/core/devtools_frontend_qt.cpp | 2 +- .../component_extension_resource_manager_qt.cpp | 19 ++++--- .../component_extension_resource_manager_qt.h | 8 +-- .../extension_web_contents_observer_qt.h | 2 +- .../extensions/extensions_browser_client_qt.cpp | 27 ++++----- src/core/extensions/extensions_browser_client_qt.h | 4 +- src/core/login_delegate_qt.cpp | 55 +++++++----------- src/core/login_delegate_qt.h | 18 +++--- src/core/net/client_cert_override.cpp | 4 +- src/core/net/cookie_monster_delegate_qt.cpp | 34 ++++++++--- src/core/net/cookie_monster_delegate_qt.h | 7 ++- src/core/net/network_delegate_qt.cpp | 2 +- src/core/net/webui_controller_factory_qt.cpp | 3 - src/core/ozone/gl_surface_qt.cpp | 2 +- src/core/ozone/gl_surface_qt.h | 2 +- src/core/platform_notification_service_qt.cpp | 8 +-- src/core/platform_notification_service_qt.h | 2 +- src/core/pref_service_adapter.cpp | 4 +- src/core/printing/print_view_manager_qt.cpp | 1 - src/core/printing/print_view_manager_qt.h | 2 +- src/core/profile_adapter.cpp | 2 +- src/core/profile_io_data_qt.cpp | 1 - src/core/qtwebengine_resources.gni | 2 - src/core/qtwebengine_sources.gni | 4 +- src/core/render_widget_host_view_qt.cpp | 6 ++ src/core/render_widget_host_view_qt.h | 1 + src/core/renderer/content_settings_observer_qt.cpp | 25 +++------ src/core/renderer/content_settings_observer_qt.h | 9 +-- .../resource_dispatcher_host_delegate_qt.cpp | 4 +- src/core/user_notification_controller.cpp | 8 +-- src/core/web_contents_adapter.cpp | 14 +++-- src/core/web_contents_view_qt.h | 3 +- src/core/web_engine_context.cpp | 28 +++++++--- src/core/web_engine_settings.cpp | 6 +- src/core/web_engine_settings.h | 8 ++- .../widgets/qwebengineview/tst_qwebengineview.cpp | 1 - tools/scripts/init-repository.py | 2 +- tools/scripts/take_snapshot.py | 2 + tools/scripts/version_resolver.py | 4 +- 52 files changed, 249 insertions(+), 235 deletions(-) diff --git a/src/core/accessibility_tree_formatter_qt.cpp b/src/core/accessibility_tree_formatter_qt.cpp index 706857207..3520087ae 100644 --- a/src/core/accessibility_tree_formatter_qt.cpp +++ b/src/core/accessibility_tree_formatter_qt.cpp @@ -63,6 +63,7 @@ private: const std::string GetAllowEmptyString() override; const std::string GetAllowString() override; const std::string GetDenyString() override; + const std::string GetDenyNodeString() override; void AddProperties(const BrowserAccessibility &node, base::DictionaryValue* dict) override; base::string16 ProcessTreeForOutput(const base::DictionaryValue &node, base::DictionaryValue * = nullptr) override; }; @@ -198,6 +199,11 @@ const std::string AccessibilityTreeFormatterQt::GetDenyString() return "@QT-DENY:"; } +const std::string AccessibilityTreeFormatterQt::GetDenyNodeString() +{ + return "@QT-DENY-NODE:"; +} + #endif // QT_NO_ACCESSIBILITY // static diff --git a/src/core/api/qwebengineurlrequestinfo.cpp b/src/core/api/qwebengineurlrequestinfo.cpp index 4e92bedcf..25fb4d50f 100644 --- a/src/core/api/qwebengineurlrequestinfo.cpp +++ b/src/core/api/qwebengineurlrequestinfo.cpp @@ -64,6 +64,7 @@ ASSERT_ENUMS_MATCH(QWebEngineUrlRequestInfo::ResourceTypePing, content::RESOURCE ASSERT_ENUMS_MATCH(QWebEngineUrlRequestInfo::ResourceTypeServiceWorker, content::RESOURCE_TYPE_SERVICE_WORKER) ASSERT_ENUMS_MATCH(QWebEngineUrlRequestInfo::ResourceTypeCspReport, content::RESOURCE_TYPE_CSP_REPORT) ASSERT_ENUMS_MATCH(QWebEngineUrlRequestInfo::ResourceTypePluginResource, content::RESOURCE_TYPE_PLUGIN_RESOURCE) +ASSERT_ENUMS_MATCH(QWebEngineUrlRequestInfo::ResourceTypeNavigationPreload, content::RESOURCE_TYPE_NAVIGATION_PRELOAD) ASSERT_ENUMS_MATCH(QWebEngineUrlRequestInfo::ResourceTypeLast, content::RESOURCE_TYPE_LAST_TYPE) ASSERT_ENUMS_MATCH(QtWebEngineCore::WebContentsAdapterClient::LinkNavigation, QWebEngineUrlRequestInfo::NavigationTypeLink) diff --git a/src/core/api/qwebengineurlrequestinfo.h b/src/core/api/qwebengineurlrequestinfo.h index 4637ff788..6b8159a9b 100644 --- a/src/core/api/qwebengineurlrequestinfo.h +++ b/src/core/api/qwebengineurlrequestinfo.h @@ -76,6 +76,7 @@ public: ResourceTypeServiceWorker, // the main resource of a service worker. ResourceTypeCspReport, // Content Security Policy (CSP) violation report ResourceTypePluginResource, // A resource requested by a plugin + ResourceTypeNavigationPreload, // A service worker navigation preload request. #ifndef Q_QDOC ResourceTypeLast, #endif diff --git a/src/core/authentication_dialog_controller.cpp b/src/core/authentication_dialog_controller.cpp index 1133b0bc1..23dd62979 100644 --- a/src/core/authentication_dialog_controller.cpp +++ b/src/core/authentication_dialog_controller.cpp @@ -46,7 +46,7 @@ namespace QtWebEngineCore { -AuthenticationDialogControllerPrivate::AuthenticationDialogControllerPrivate(LoginDelegateQt *loginDelegate) +AuthenticationDialogControllerPrivate::AuthenticationDialogControllerPrivate(base::WeakPtr loginDelegate) : loginDelegate(loginDelegate) { } @@ -54,9 +54,10 @@ AuthenticationDialogControllerPrivate::AuthenticationDialogControllerPrivate(Log void AuthenticationDialogControllerPrivate::dialogFinished(bool accepted, const QString &user, const QString &password) { base::PostTaskWithTraits( - FROM_HERE, {content::BrowserThread::IO}, + FROM_HERE, {content::BrowserThread::UI}, base::BindOnce(&LoginDelegateQt::sendAuthToRequester, - loginDelegate, accepted, user, password)); + loginDelegate, + accepted, user, password)); } AuthenticationDialogController::AuthenticationDialogController(AuthenticationDialogControllerPrivate *dd) @@ -71,22 +72,22 @@ AuthenticationDialogController::~AuthenticationDialogController() QUrl AuthenticationDialogController::url() const { - return d->loginDelegate->url(); + return d->url; } QString AuthenticationDialogController::realm() const { - return d->loginDelegate->realm(); + return d->realm; } QString AuthenticationDialogController::host() const { - return d->loginDelegate->host(); + return d->host; } bool AuthenticationDialogController::isProxy() const { - return d->loginDelegate->isProxy(); + return d->isProxy; } void AuthenticationDialogController::accept(const QString &user, const QString &password) diff --git a/src/core/authentication_dialog_controller_p.h b/src/core/authentication_dialog_controller_p.h index 16069b9b1..1abff576d 100644 --- a/src/core/authentication_dialog_controller_p.h +++ b/src/core/authentication_dialog_controller_p.h @@ -40,7 +40,7 @@ #ifndef AUTHENTICATION_DIALOG_CONTROLLER_P_H #define AUTHENTICATION_DIALOG_CONTROLLER_P_H -#include "base/memory/ref_counted.h" +#include "base/memory/weak_ptr.h" #include "login_delegate_qt.h" @@ -49,10 +49,14 @@ namespace QtWebEngineCore { class AuthenticationDialogControllerPrivate { public: - AuthenticationDialogControllerPrivate(LoginDelegateQt *loginDelegate); + AuthenticationDialogControllerPrivate(base::WeakPtr loginDelegate); void dialogFinished(bool accepted, const QString &user = QString(), const QString &password = QString()); - scoped_refptr loginDelegate; + base::WeakPtr loginDelegate; + QUrl url; + QString host; + QString realm; + bool isProxy; }; } // namespace QtWebEngineCore diff --git a/src/core/browser_main_parts_qt.cpp b/src/core/browser_main_parts_qt.cpp index dacaf177f..421a44890 100644 --- a/src/core/browser_main_parts_qt.cpp +++ b/src/core/browser_main_parts_qt.cpp @@ -42,9 +42,11 @@ #include "api/qwebenginemessagepumpscheduler_p.h" #include "base/message_loop/message_loop.h" -#include "base/message_loop/message_loop_impl.h" #include "base/message_loop/message_loop_current.h" +#include "base/message_loop/message_pump_for_ui.h" #include "base/process/process.h" +#include "base/task/sequence_manager/sequence_manager_impl.h" +#include "base/task/sequence_manager/thread_controller_with_message_pump_impl.h" #include "base/threading/thread_restrictions.h" #include "content/public/browser/browser_main_parts.h" #include "content/public/browser/browser_thread.h" @@ -58,7 +60,6 @@ #include "extensions/extension_system_factory_qt.h" #include "common/extensions/extensions_client_qt.h" #endif //BUILDFLAG(ENABLE_EXTENSIONS) -#include "services/resource_coordinator/public/cpp/process_resource_coordinator.h" #include "services/resource_coordinator/public/cpp/resource_coordinator_features.h" #include "services/service_manager/public/cpp/connector.h" #include "services/service_manager/public/cpp/service.h" @@ -75,6 +76,7 @@ #endif #if defined(OS_MACOSX) +#include "base/message_loop/message_pump_mac.h" #include "ui/base/idle/idle.h" #endif @@ -114,12 +116,7 @@ public: : m_scheduler([this]() { handleScheduledWork(); }) {} - void setDelegate(Delegate *delegate) - { - m_delegate = delegate; - } - - void Run(Delegate *delegate) override + void Run(Delegate *) override { // This is used only when MessagePumpForUIQt is used outside of the GUI thread. NOTIMPLEMENTED(); @@ -134,15 +131,27 @@ public: void ScheduleWork() override { // NOTE: This method may called from any thread at any time. + ensureDelegate(); m_scheduler.scheduleWork(); } void ScheduleDelayedWork(const base::TimeTicks &delayed_work_time) override { + // NOTE: This method may called from any thread at any time. + ensureDelegate(); m_scheduler.scheduleDelayedWork(GetTimeIntervalMilliseconds(delayed_work_time)); } private: + void ensureDelegate() + { + if (!m_delegate) { + auto messageLoop = base::MessageLoopCurrentForUI::Get().ToMessageLoopBaseDeprecated(); + auto seqMan = static_cast(messageLoop); + m_delegate = static_cast( + seqMan->controller_.get()); + } + } // Both Qt and Chromium keep track of the current GL context by using // thread-local variables, and naturally they are completely unaware of each // other. As a result, when a QOpenGLContext is made current, the previous @@ -190,8 +199,6 @@ private: void handleScheduledWork() { - Q_ASSERT(m_delegate); - ScopedGLContextChecker glContextChecker; bool more_work_is_plausible = m_delegate->DoWork(); @@ -213,29 +220,19 @@ private: QWebEngineMessagePumpScheduler m_scheduler; }; -// Needed to access protected constructor from MessageLoop. -class MessageLoopForUIQt : public base::MessageLoop { -public: - MessageLoopForUIQt() : MessageLoop(TYPE_UI, base::BindOnce(&messagePumpFactory)) - { - BindToCurrentThread(); - - auto pump = static_cast(pump_); - auto backend = static_cast(backend_.get()); - pump->setDelegate(backend); - } -private: - static std::unique_ptr messagePumpFactory() - { - return base::WrapUnique(new MessagePumpForUIQt); +std::unique_ptr messagePumpFactory() +{ + static bool madePrimaryPump = false; + if (!madePrimaryPump) { + madePrimaryPump = true; + return std::make_unique(); } -}; - -BrowserMainPartsQt::BrowserMainPartsQt() : content::BrowserMainParts() -{ } - -BrowserMainPartsQt::~BrowserMainPartsQt() = default; - +#if defined(OS_MACOSX) + return base::MessagePumpMac::Create(); +#else + return std::make_unique(); +#endif +} int BrowserMainPartsQt::PreEarlyInitialization() { @@ -247,8 +244,6 @@ int BrowserMainPartsQt::PreEarlyInitialization() void BrowserMainPartsQt::PreMainMessageLoopStart() { - // Overrides message loop creation in BrowserMainLoop::MainMessageLoopStart(). - m_mainMessageLoop.reset(new MessageLoopForUIQt); } void BrowserMainPartsQt::PreMainMessageLoopRun() @@ -288,8 +283,6 @@ void BrowserMainPartsQt::ServiceManagerConnectionStarted(content::ServiceManager { ServiceQt::GetInstance()->InitConnector(); connection->GetConnector()->WarmService(service_manager::ServiceFilter::ByName("qtwebengine")); - m_processResourceCoordinator = std::make_unique(connection->GetConnector()); - m_processResourceCoordinator->OnProcessLaunched(base::Process::Current()); } } // namespace QtWebEngineCore diff --git a/src/core/browser_main_parts_qt.h b/src/core/browser_main_parts_qt.h index 4eb10e379..8c6d8340e 100644 --- a/src/core/browser_main_parts_qt.h +++ b/src/core/browser_main_parts_qt.h @@ -43,24 +43,22 @@ #include "content/public/browser/browser_main_parts.h" namespace base { -class MessageLoop; +class MessagePump; } namespace content { class ServiceManagerConnection; } -namespace resource_coordinator { -class ProcessResourceCoordinator; -} - namespace QtWebEngineCore { +std::unique_ptr messagePumpFactory(); + class BrowserMainPartsQt : public content::BrowserMainParts { public: - BrowserMainPartsQt(); - ~BrowserMainPartsQt(); + BrowserMainPartsQt() = default; + ~BrowserMainPartsQt() override = default; int PreEarlyInitialization() override; void PreMainMessageLoopStart() override; @@ -71,8 +69,6 @@ public: private: DISALLOW_COPY_AND_ASSIGN(BrowserMainPartsQt); - std::unique_ptr m_processResourceCoordinator; - std::unique_ptr m_mainMessageLoop; }; } // namespace QtWebEngineCore diff --git a/src/core/browser_message_filter_qt.cpp b/src/core/browser_message_filter_qt.cpp index 034447512..c8fc88017 100644 --- a/src/core/browser_message_filter_qt.cpp +++ b/src/core/browser_message_filter_qt.cpp @@ -79,8 +79,6 @@ bool BrowserMessageFilterQt::OnMessageReceived(const IPC::Message& message) void BrowserMessageFilterQt::OnAllowDatabase(int /*render_frame_id*/, const GURL &origin_url, const GURL &top_origin_url, - const base::string16 &/*name*/, - const base::string16 &/*display_name*/, bool* allowed) { NetworkDelegateQt *networkDelegate = static_cast(m_profile->GetRequestContext()->GetURLRequestContext()->network_delegate()); diff --git a/src/core/browser_message_filter_qt.h b/src/core/browser_message_filter_qt.h index d121aa65d..3963fb9d5 100644 --- a/src/core/browser_message_filter_qt.h +++ b/src/core/browser_message_filter_qt.h @@ -60,8 +60,6 @@ private: void OnAllowDatabase(int render_frame_id, const GURL &origin_url, const GURL &top_origin_url, - const base::string16& name, - const base::string16& display_name, bool *allowed); void OnAllowDOMStorage(int render_frame_id, diff --git a/src/core/common/qt_messages.h b/src/core/common/qt_messages.h index 9add826ae..b99204b74 100644 --- a/src/core/common/qt_messages.h +++ b/src/core/common/qt_messages.h @@ -76,12 +76,10 @@ IPC_MESSAGE_ROUTED0(RenderViewObserverHostQt_DidFirstVisuallyNonEmptyLayout) // Sent by the renderer process to check whether access to web databases is // granted by content settings. -IPC_SYNC_MESSAGE_CONTROL5_1(QtWebEngineHostMsg_AllowDatabase, +IPC_SYNC_MESSAGE_CONTROL3_1(QtWebEngineHostMsg_AllowDatabase, int /* render_frame_id */, GURL /* origin_url */, GURL /* top origin url */, - base::string16 /* database name */, - base::string16 /* database display name */, bool /* allowed */) // Sent by the renderer process to check whether access to DOM Storage is diff --git a/src/core/compositor/compositor_resource_tracker.h b/src/core/compositor/compositor_resource_tracker.h index 887309395..080891e5f 100644 --- a/src/core/compositor/compositor_resource_tracker.h +++ b/src/core/compositor/compositor_resource_tracker.h @@ -40,12 +40,13 @@ #ifndef COMPOSITOR_RESOURCE_TRACKER_H #define COMPOSITOR_RESOURCE_TRACKER_H +#include "base/bind.h" +#include "base/callback.h" +#include "base/containers/flat_set.h" + #include "compositor_resource.h" #include "locked_ptr.h" -#include -#include - #include #include diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp index 1a9ba0929..ee346efd3 100644 --- a/src/core/content_browser_client_qt.cpp +++ b/src/core/content_browser_client_qt.cpp @@ -346,7 +346,7 @@ void ContentBrowserClientQt::GetQuotaSettings(content::BrowserContext* context, content::StoragePartition* partition, storage::OptionalQuotaSettingsCallback callback) { - storage::GetNominalDynamicSettings(partition->GetPath(), context->IsOffTheRecord(), std::move(callback)); + storage::GetNominalDynamicSettings(partition->GetPath(), context->IsOffTheRecord(), storage::GetDefaultDiskInfoHelper(), std::move(callback)); } // Copied from chrome/browser/ssl/ssl_error_handler.cc: @@ -530,7 +530,7 @@ public: { } private: - WEB_CONTENTS_USER_DATA_KEY_DECL() + WEB_CONTENTS_USER_DATA_KEY_DECL(); explicit ServiceDriver(content::WebContents* /*web_contents*/) { } friend class content::WebContentsUserData; mojo::BindingSet m_insecureInputServiceBindings; @@ -765,18 +765,17 @@ bool ContentBrowserClientQt::HandleExternalProtocol( return true; } -scoped_refptr ContentBrowserClientQt::CreateLoginDelegate( +std::unique_ptr ContentBrowserClientQt::CreateLoginDelegate( net::AuthChallengeInfo *authInfo, - content::ResourceRequestInfo::WebContentsGetter web_contents_getter, - const content::GlobalRequestID &request_id, + content::WebContents *web_contents, + const content::GlobalRequestID & /*request_id*/, bool /*is_main_frame*/, const GURL &url, - scoped_refptr response_headers, + scoped_refptr /*response_headers*/, bool first_auth_attempt, LoginAuthRequiredCallback auth_required_callback) { - auto loginDelegate = base::MakeRefCounted(authInfo, web_contents_getter, url, first_auth_attempt, std::move(auth_required_callback)); - loginDelegate->triggerDialog(); + auto loginDelegate = std::make_unique(authInfo, web_contents, url, first_auth_attempt, std::move(auth_required_callback)); return loginDelegate; } diff --git a/src/core/content_browser_client_qt.h b/src/core/content_browser_client_qt.h index 0b1c134cc..ac575c2a8 100644 --- a/src/core/content_browser_client_qt.h +++ b/src/core/content_browser_client_qt.h @@ -185,11 +185,11 @@ public: void DidCreatePpapiPlugin(content::BrowserPpapiHost* browser_host) override; #endif - scoped_refptr CreateLoginDelegate( + std::unique_ptr CreateLoginDelegate( net::AuthChallengeInfo *auth_info, - content::ResourceRequestInfo::WebContentsGetter web_contents_getter, + content::WebContents *web_contents, const content::GlobalRequestID &request_id, - bool is_main_frame, + bool is_request_for_main_frame, const GURL &url, scoped_refptr response_headers, bool first_auth_attempt, diff --git a/src/core/devtools_frontend_qt.cpp b/src/core/devtools_frontend_qt.cpp index 3311bea72..330730f9c 100644 --- a/src/core/devtools_frontend_qt.cpp +++ b/src/core/devtools_frontend_qt.cpp @@ -362,7 +362,7 @@ void DevToolsFrontendQt::HandleMessageFromDevToolsFrontend(const std::string &me std::string method; base::ListValue *params = nullptr; base::DictionaryValue *dict = nullptr; - std::unique_ptr parsed_message = base::JSONReader::Read(message); + std::unique_ptr parsed_message = base::JSONReader::ReadDeprecated(message); if (!parsed_message || !parsed_message->GetAsDictionary(&dict) || !dict->GetString("method", &method)) return; int request_id = 0; diff --git a/src/core/extensions/component_extension_resource_manager_qt.cpp b/src/core/extensions/component_extension_resource_manager_qt.cpp index 57e35c231..09311c764 100644 --- a/src/core/extensions/component_extension_resource_manager_qt.cpp +++ b/src/core/extensions/component_extension_resource_manager_qt.cpp @@ -60,7 +60,7 @@ ComponentExtensionResourceManagerQt::~ComponentExtensionResourceManagerQt() {} bool ComponentExtensionResourceManagerQt::IsComponentExtensionResource(const base::FilePath &extension_path, const base::FilePath &resource_path, - int *resource_id) const + ComponentExtensionResourceInfo* resource_info) const { base::FilePath directory_path = extension_path; base::FilePath resources_dir; @@ -73,11 +73,13 @@ bool ComponentExtensionResourceManagerQt::IsComponentExtensionResource(const bas relative_path = relative_path.Append(resource_path); relative_path = relative_path.NormalizePathSeparators(); - std::map::const_iterator entry = path_to_resource_id_.find(relative_path); - if (entry != path_to_resource_id_.end()) - *resource_id = entry->second; + auto entry = path_to_resource_info_.find(relative_path); + if (entry != path_to_resource_info_.end()) { + *resource_info = entry->second; + return true; + } - return entry != path_to_resource_id_.end(); + return false; } const ui::TemplateReplacements *ComponentExtensionResourceManagerQt::GetTemplateReplacementsForExtension(const std::string &) const @@ -85,14 +87,15 @@ const ui::TemplateReplacements *ComponentExtensionResourceManagerQt::GetTemplate return nullptr; } -void ComponentExtensionResourceManagerQt::AddComponentResourceEntries(const GritResourceMap *entries, size_t size) +void ComponentExtensionResourceManagerQt::AddComponentResourceEntries(const GzippedGritResourceMap *entries, size_t size) { for (size_t i = 0; i < size; ++i) { base::FilePath resource_path = base::FilePath().AppendASCII(entries[i].name); resource_path = resource_path.NormalizePathSeparators(); - DCHECK(path_to_resource_id_.find(resource_path) == path_to_resource_id_.end()); - path_to_resource_id_[resource_path] = entries[i].value; + DCHECK(!base::ContainsKey(path_to_resource_info_, resource_path)); + path_to_resource_info_[resource_path] = { entries[i].value, + entries[i].gzipped }; } } diff --git a/src/core/extensions/component_extension_resource_manager_qt.h b/src/core/extensions/component_extension_resource_manager_qt.h index 2d858630f..c44c23439 100644 --- a/src/core/extensions/component_extension_resource_manager_qt.h +++ b/src/core/extensions/component_extension_resource_manager_qt.h @@ -49,7 +49,7 @@ #include "base/files/file_path.h" #include "extensions/browser/component_extension_resource_manager.h" -struct GritResourceMap; +struct GzippedGritResourceMap; namespace extensions { @@ -62,15 +62,15 @@ public: // Overridden from ComponentExtensionResourceManager: bool IsComponentExtensionResource(const base::FilePath &extension_path, const base::FilePath &resource_path, - int *resource_id) const override; + ComponentExtensionResourceInfo *resource_info) const override; const ui::TemplateReplacements *GetTemplateReplacementsForExtension(const std::string& extension_id) const override; private: - void AddComponentResourceEntries(const GritResourceMap* entries, size_t size); + void AddComponentResourceEntries(const GzippedGritResourceMap* entries, size_t size); // A map from a resource path to the resource ID. Used by // IsComponentExtensionResource. - std::map path_to_resource_id_; + std::map path_to_resource_info_; DISALLOW_COPY_AND_ASSIGN(ComponentExtensionResourceManagerQt); }; diff --git a/src/core/extensions/extension_web_contents_observer_qt.h b/src/core/extensions/extension_web_contents_observer_qt.h index 267a1095c..5f32562fc 100644 --- a/src/core/extensions/extension_web_contents_observer_qt.h +++ b/src/core/extensions/extension_web_contents_observer_qt.h @@ -67,7 +67,7 @@ public: private: friend class content::WebContentsUserData; - WEB_CONTENTS_USER_DATA_KEY_DECL() + WEB_CONTENTS_USER_DATA_KEY_DECL(); DISALLOW_COPY_AND_ASSIGN(ExtensionWebContentsObserverQt); }; diff --git a/src/core/extensions/extensions_browser_client_qt.cpp b/src/core/extensions/extensions_browser_client_qt.cpp index 8bba4128f..fc1def3ca 100644 --- a/src/core/extensions/extensions_browser_client_qt.cpp +++ b/src/core/extensions/extensions_browser_client_qt.cpp @@ -69,6 +69,7 @@ #include "net/base/completion_once_callback.h" #include "net/base/mime_util.h" #include "net/url_request/url_request_simple_job.h" +#include "services/network/public/mojom/url_loader.mojom.h" #include "ui/base/resource/resource_bundle.h" #include "component_extension_resource_manager_qt.h" @@ -108,12 +109,12 @@ public: URLRequestResourceBundleJob(net::URLRequest *request, net::NetworkDelegate *network_delegate, const base::FilePath &filename, - int resource_id, + const extensions::ComponentExtensionResourceInfo &resource_info, const std::string &content_security_policy, bool send_cors_header) : net::URLRequestSimpleJob(request, network_delegate) , filename_(filename) - , resource_id_(resource_id) + , resource_info_(resource_info) , weak_factory_(this) { // Leave cache headers out of resource bundle requests. @@ -125,7 +126,7 @@ public: net::CompletionOnceCallback callback) const override { const ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); - *data = rb.LoadDataResourceBytes(resource_id_); + *data = rb.LoadDataResourceBytes(resource_info_.resource_id); // Add the Content-Length header now that we know the resource length. response_info_.headers->AddHeader( @@ -171,8 +172,8 @@ private: // We need the filename of the resource to determine the mime type. base::FilePath filename_; - // The resource bundle id to load. - int resource_id_; + // The resource to load. + const extensions::ComponentExtensionResourceInfo resource_info_; net::HttpResponseInfo response_info_; @@ -266,14 +267,14 @@ net::URLRequestJob *ExtensionsBrowserClientQt::MaybeCreateResourceBundleRequestJ // extension relative path against resources_path. resources_path.AppendRelativePath(directory_path, &relative_path)) { base::FilePath request_path = extensions::file_util::ExtensionURLToRelativeFilePath(request->url()); - int resource_id = 0; - if (GetComponentExtensionResourceManager()->IsComponentExtensionResource(directory_path, request_path, &resource_id)) { + ComponentExtensionResourceInfo resource_info; + if (GetComponentExtensionResourceManager()->IsComponentExtensionResource(directory_path, request_path, &resource_info)) { relative_path = relative_path.Append(request_path); relative_path = relative_path.NormalizePathSeparators(); return new URLRequestResourceBundleJob(request, network_delegate, relative_path, - resource_id, + resource_info, content_security_policy, send_cors_header); } @@ -284,9 +285,9 @@ net::URLRequestJob *ExtensionsBrowserClientQt::MaybeCreateResourceBundleRequestJ // Return the resource relative path and id for the given request. base::FilePath ExtensionsBrowserClientQt::GetBundleResourcePath(const network::ResourceRequest &request, const base::FilePath &extension_resources_path, - int *resource_id) const + ComponentExtensionResourceInfo *resource_info) const { - *resource_id = 0; + *resource_info = {}; // |chrome_resources_path| corresponds to src/chrome/browser/resources in // source tree. base::FilePath resources_path; @@ -303,10 +304,10 @@ base::FilePath ExtensionsBrowserClientQt::GetBundleResourcePath(const network::R const base::FilePath request_relative_path = extensions::file_util::ExtensionURLToRelativeFilePath(request.url); if (!ExtensionsBrowserClient::Get()->GetComponentExtensionResourceManager()->IsComponentExtensionResource( - extension_resources_path, request_relative_path, resource_id)) { + extension_resources_path, request_relative_path, resource_info)) { return base::FilePath(); } - DCHECK_NE(0, *resource_id); + DCHECK_NE(0, resource_info->resource_id); return request_relative_path; } @@ -316,7 +317,7 @@ base::FilePath ExtensionsBrowserClientQt::GetBundleResourcePath(const network::R void ExtensionsBrowserClientQt::LoadResourceFromResourceBundle(const network::ResourceRequest &request, network::mojom::URLLoaderRequest loader, const base::FilePath &resource_relative_path, - int resource_id, + const ComponentExtensionResourceInfo &resource_info, const std::string &content_security_policy, network::mojom::URLLoaderClientPtr client, bool send_cors_header) diff --git a/src/core/extensions/extensions_browser_client_qt.h b/src/core/extensions/extensions_browser_client_qt.h index f766b96a7..aa478461f 100644 --- a/src/core/extensions/extensions_browser_client_qt.h +++ b/src/core/extensions/extensions_browser_client_qt.h @@ -124,14 +124,14 @@ public: // Return the resource relative path and id for the given request. base::FilePath GetBundleResourcePath(const network::ResourceRequest &request, const base::FilePath &extension_resources_path, - int *resource_id) const override; + ComponentExtensionResourceInfo *resource_info) const override; // Creates and starts a URLLoader to load an extension resource from the // embedder's resource bundle (.pak) files. Used for component extensions. void LoadResourceFromResourceBundle(const network::ResourceRequest &request, network::mojom::URLLoaderRequest loader, const base::FilePath &resource_relative_path, - int resource_id, + const ComponentExtensionResourceInfo& resource_info, const std::string &content_security_policy, network::mojom::URLLoaderClientPtr client, bool send_cors_header) override; diff --git a/src/core/login_delegate_qt.cpp b/src/core/login_delegate_qt.cpp index 0050f87c7..b02940584 100644 --- a/src/core/login_delegate_qt.cpp +++ b/src/core/login_delegate_qt.cpp @@ -72,36 +72,25 @@ namespace QtWebEngineCore { -LoginDelegateQt::LoginDelegateQt( - net::AuthChallengeInfo *authInfo, - content::ResourceRequestInfo::WebContentsGetter web_contents_getter, +LoginDelegateQt::LoginDelegateQt(net::AuthChallengeInfo *authInfo, + content::WebContents *web_contents, GURL url, - bool first_auth_attempt, + bool /*first_auth_attempt*/, LoginAuthRequiredCallback auth_required_callback) - : m_authInfo(authInfo) + : content::WebContentsObserver(web_contents) + , m_authInfo(authInfo) , m_url(url) , m_auth_required_callback(std::move(auth_required_callback)) - , m_webContentsGetter(web_contents_getter) -{ - Q_ASSERT(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); -} - -LoginDelegateQt::~LoginDelegateQt() -{ - Q_ASSERT(m_dialogController.isNull()); -} - -void LoginDelegateQt::triggerDialog() + , m_weakFactory(this) { base::PostTaskWithTraits( FROM_HERE, { content::BrowserThread::UI }, - base::BindOnce(&LoginDelegateQt::triggerDialogOnUI, this)); + base::BindOnce(&LoginDelegateQt::triggerDialog, m_weakFactory.GetWeakPtr())); } -void LoginDelegateQt::OnRequestCancelled() +LoginDelegateQt::~LoginDelegateQt() { destroy(); - // TODO: this should close native dialog, since page can be navigated somewhere else } QUrl LoginDelegateQt::url() const @@ -129,39 +118,37 @@ bool LoginDelegateQt::isProxy() const return m_authInfo->is_proxy; } -void LoginDelegateQt::triggerDialogOnUI() +void LoginDelegateQt::triggerDialog() { Q_ASSERT(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); + if (!web_contents()) + return sendAuthToRequester(false, QString(), QString()); + if (isProxy()) { // workaround for 'ws' redefined symbols when including QNetworkProxy auto authentication = WebEngineContext::qProxyNetworkAuthentication(host(), port()); - if (std::get<0>(authentication)) { - base::PostTaskWithTraits( - FROM_HERE, { content::BrowserThread::IO }, - base::BindOnce(&LoginDelegateQt::sendAuthToRequester, this, true, - std::get<1>(authentication), std::get<2>(authentication))); - - return; - } + if (std::get<0>(authentication)) + return sendAuthToRequester(true, std::get<1>(authentication), std::get<2>(authentication)); } - content::WebContentsImpl *webContents = - static_cast(m_webContentsGetter.Run()); + content::WebContentsImpl *webContents = static_cast(web_contents()); if (!webContents) return; WebContentsAdapterClient *client = WebContentsViewQt::from(webContents->GetView())->client(); - AuthenticationDialogControllerPrivate *dialogControllerData = new AuthenticationDialogControllerPrivate(this); + AuthenticationDialogControllerPrivate *dialogControllerData = new AuthenticationDialogControllerPrivate(m_weakFactory.GetWeakPtr()); + dialogControllerData->url = url(); + dialogControllerData->host = host(); + dialogControllerData->realm = realm(); + dialogControllerData->isProxy = isProxy(); m_dialogController.reset(new AuthenticationDialogController(dialogControllerData)); client->authenticationRequired(m_dialogController); } void LoginDelegateQt::sendAuthToRequester(bool success, const QString &user, const QString &password) { - Q_ASSERT(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); - if (!m_auth_required_callback.is_null()) { - if (success) + if (success && web_contents()) std::move(m_auth_required_callback).Run(net::AuthCredentials(toString16(user), toString16(password))); else std::move(m_auth_required_callback).Run(base::nullopt); diff --git a/src/core/login_delegate_qt.h b/src/core/login_delegate_qt.h index 3a9c073cd..61f1745aa 100644 --- a/src/core/login_delegate_qt.h +++ b/src/core/login_delegate_qt.h @@ -43,6 +43,7 @@ #include "content/public/browser/content_browser_client.h" #include "content/public/browser/login_delegate.h" #include "content/public/browser/resource_request_info.h" +#include "content/public/browser/web_contents_observer.h" #include "url/gurl.h" #include "web_contents_adapter_client.h" @@ -56,20 +57,17 @@ namespace QtWebEngineCore { class AuthenticationDialogController; -class LoginDelegateQt : public content::LoginDelegate { +class LoginDelegateQt : public content::LoginDelegate, + public content::WebContentsObserver +{ public: LoginDelegateQt(net::AuthChallengeInfo *authInfo, - content::ResourceRequestInfo::WebContentsGetter web_contents_getter, + content::WebContents *web_contents, GURL url, bool first_auth_attempt, LoginAuthRequiredCallback auth_required_callback); - ~LoginDelegateQt(); - - void triggerDialog(); - - // LoginDelegate implementation - void OnRequestCancelled() override; + ~LoginDelegateQt() override; QUrl url() const; QString realm() const; @@ -80,14 +78,14 @@ public: void sendAuthToRequester(bool success, const QString &user, const QString &password); private: - void triggerDialogOnUI(); + void triggerDialog(); void destroy(); scoped_refptr m_authInfo; GURL m_url; LoginAuthRequiredCallback m_auth_required_callback; - content::ResourceRequestInfo::WebContentsGetter m_webContentsGetter; + base::WeakPtrFactory m_weakFactory; // This member is used to keep authentication dialog controller alive until // authorization is sent or cancelled. diff --git a/src/core/net/client_cert_override.cpp b/src/core/net/client_cert_override.cpp index 305f0cef0..ed1572596 100644 --- a/src/core/net/client_cert_override.cpp +++ b/src/core/net/client_cert_override.cpp @@ -145,9 +145,9 @@ void ClientCertOverrideStore::GetClientCerts(const net::SSLCertRequestInfo &cert if (base::PostTaskWithTraitsAndReplyWithResult( FROM_HERE, { content::BrowserThread::UI }, base::BindOnce(&ClientCertOverrideStore::GetClientCertsOnUIThread, - base::Unretained(this), base::ConstRef(cert_request_info)), + base::Unretained(this), std::cref(cert_request_info)), base::BindOnce(&ClientCertOverrideStore::GetClientCertsReturn, - base::Unretained(this), base::ConstRef(cert_request_info), callback)) + base::Unretained(this), std::cref(cert_request_info), callback)) ) { return; } diff --git a/src/core/net/cookie_monster_delegate_qt.cpp b/src/core/net/cookie_monster_delegate_qt.cpp index 3253b08b9..5f7b75f57 100644 --- a/src/core/net/cookie_monster_delegate_qt.cpp +++ b/src/core/net/cookie_monster_delegate_qt.cpp @@ -140,10 +140,29 @@ void CookieMonsterDelegateQt::deleteCookie(const QNetworkCookie &cookie, const Q void CookieMonsterDelegateQt::DeleteCookieOnIOThread(const GURL& url, const std::string& cookie_name) { - if (m_cookieMonster) - m_cookieMonster->DeleteCookieAsync(url, cookie_name, base::Closure()); + if (m_cookieMonster) { + net::CookieMonster::GetCookieListCallback callback = + base::BindOnce(&CookieMonsterDelegateQt::GetCookiesToDeleteCallback, this, cookie_name); + m_cookieMonster->GetAllCookiesForURLAsync(url, std::move(callback)); + } } +void CookieMonsterDelegateQt::GetCookiesToDeleteCallback(const std::string& cookie_name, const net::CookieList &cookies, const net::CookieStatusList &statusList) +{ + Q_UNUSED(statusList); + if (!m_cookieMonster) + return; + + net::CookieList cookiesToDelete; + for (auto cookie : cookies) { + if (cookie.Name() == cookie_name) + cookiesToDelete.push_back(cookie); + } + for (auto cookie : cookiesToDelete) + m_cookieMonster->DeleteCanonicalCookieAsync(cookie, base::DoNothing()); +} + + void CookieMonsterDelegateQt::deleteSessionCookies(quint64 callbackId) { Q_ASSERT(hasCookieMonster()); @@ -234,7 +253,7 @@ void CookieMonsterDelegateQt::OnCookieChanged(const net::CanonicalCookie& cookie m_client->d_func()->onCookieChanged(toQt(cookie), cause != net::CookieChangeCause::INSERTED); } -void CookieMonsterDelegateQt::GetAllCookiesCallbackOnIOThread(qint64 callbackId, const net::CookieList &cookies) +void CookieMonsterDelegateQt::GetAllCookiesCallbackOnIOThread(qint64 callbackId, const net::CookieList &cookies, const net::CookieStatusList &statusList) { QByteArray rawCookies; for (auto &&cookie : cookies) @@ -245,11 +264,11 @@ void CookieMonsterDelegateQt::GetAllCookiesCallbackOnIOThread(qint64 callbackId, base::BindOnce(&CookieMonsterDelegateQt::GetAllCookiesCallbackOnUIThread, this, callbackId, rawCookies)); } -void CookieMonsterDelegateQt::SetCookieCallbackOnIOThread(qint64 callbackId, bool success) +void CookieMonsterDelegateQt::SetCookieCallbackOnIOThread(qint64 callbackId, net::CanonicalCookie::CookieInclusionStatus status) { base::PostTaskWithTraits( FROM_HERE, {content::BrowserThread::UI}, - base::BindOnce(&CookieMonsterDelegateQt::SetCookieCallbackOnUIThread, this, callbackId, success)); + base::BindOnce(&CookieMonsterDelegateQt::SetCookieCallbackOnUIThread, this, callbackId, status)); } void CookieMonsterDelegateQt::DeleteCookiesCallbackOnIOThread(qint64 callbackId, uint numCookies) @@ -265,10 +284,11 @@ void CookieMonsterDelegateQt::GetAllCookiesCallbackOnUIThread(qint64 callbackId, m_client->d_func()->onGetAllCallbackResult(callbackId, cookies); } -void CookieMonsterDelegateQt::SetCookieCallbackOnUIThread(qint64 callbackId, bool success) +void CookieMonsterDelegateQt::SetCookieCallbackOnUIThread(qint64 callbackId, net::CanonicalCookie::CookieInclusionStatus status) { if (m_client) - m_client->d_func()->onSetCallbackResult(callbackId, success); + m_client->d_func()->onSetCallbackResult(callbackId, + status == net::CanonicalCookie::CookieInclusionStatus::INCLUDE); } void CookieMonsterDelegateQt::DeleteCookiesCallbackOnUIThread(qint64 callbackId, uint numCookies) diff --git a/src/core/net/cookie_monster_delegate_qt.h b/src/core/net/cookie_monster_delegate_qt.h index 88e92b560..2ac04acb4 100644 --- a/src/core/net/cookie_monster_delegate_qt.h +++ b/src/core/net/cookie_monster_delegate_qt.h @@ -107,12 +107,13 @@ private: void DeleteSessionCookiesOnIOThread(net::CookieMonster::DeleteCallback callback); void DeleteAllOnIOThread(net::CookieMonster::DeleteCallback callback); - void GetAllCookiesCallbackOnIOThread(qint64 callbackId, const net::CookieList &cookies); - void SetCookieCallbackOnIOThread(qint64 callbackId, bool success); + void GetCookiesToDeleteCallback(const std::string& cookie_name, const net::CookieList &cookies, const net::CookieStatusList &statusList); + void GetAllCookiesCallbackOnIOThread(qint64 callbackId, const net::CookieList &cookies, const net::CookieStatusList &statusList); + void SetCookieCallbackOnIOThread(qint64 callbackId, net::CanonicalCookie::CookieInclusionStatus status); void DeleteCookiesCallbackOnIOThread(qint64 callbackId, uint numCookies); void GetAllCookiesCallbackOnUIThread(qint64 callbackId, const QByteArray &cookies); - void SetCookieCallbackOnUIThread(qint64 callbackId, bool success); + void SetCookieCallbackOnUIThread(qint64 callbackId, net::CanonicalCookie::CookieInclusionStatus status); void DeleteCookiesCallbackOnUIThread(qint64 callbackId, uint numCookies); }; diff --git a/src/core/net/network_delegate_qt.cpp b/src/core/net/network_delegate_qt.cpp index c0e936cd7..20addefb2 100644 --- a/src/core/net/network_delegate_qt.cpp +++ b/src/core/net/network_delegate_qt.cpp @@ -109,7 +109,7 @@ int NetworkDelegateQt::OnBeforeURLRequest(net::URLRequest *request, net::Complet { Q_ASSERT(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); Q_ASSERT(m_profileIOData); - const content::ResourceRequestInfo *resourceInfo = content::ResourceRequestInfo::ForRequest(request); + content::ResourceRequestInfo *resourceInfo = content::ResourceRequestInfo::ForRequest(request); content::ResourceType resourceType = content::RESOURCE_TYPE_LAST_TYPE; WebContentsAdapterClient::NavigationType navigationType = WebContentsAdapterClient::OtherNavigation; diff --git a/src/core/net/webui_controller_factory_qt.cpp b/src/core/net/webui_controller_factory_qt.cpp index ec36e70d9..92bb8854f 100644 --- a/src/core/net/webui_controller_factory_qt.cpp +++ b/src/core/net/webui_controller_factory_qt.cpp @@ -52,7 +52,6 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/webui/devtools_ui.h" #include "chrome/browser/ui/webui/quota_internals/quota_internals_ui.h" -#include "chrome/browser/ui/webui/task_scheduler_internals/task_scheduler_internals_ui.h" #include "chrome/common/url_constants.h" #include "content/public/browser/web_contents.h" #include "content/public/browser/web_ui.h" @@ -129,8 +128,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI *web_ui, Profile *profile, co // after the host name. if (url.host() == chrome::kChromeUIQuotaInternalsHost) return &NewWebUI; - if (url.host_piece() == chrome::kChromeUITaskSchedulerInternalsHost) - return &NewWebUI; if (url.SchemeIs(content::kChromeDevToolsScheme)) { // if (!DevToolsUIBindings::IsValidFrontendURL(url)) diff --git a/src/core/ozone/gl_surface_qt.cpp b/src/core/ozone/gl_surface_qt.cpp index 551ba888c..82f8cd0e5 100644 --- a/src/core/ozone/gl_surface_qt.cpp +++ b/src/core/ozone/gl_surface_qt.cpp @@ -107,7 +107,7 @@ bool GLSurfaceQt::IsOffscreen() return true; } -gfx::SwapResult GLSurfaceQt::SwapBuffers(const PresentationCallback &callback) +gfx::SwapResult GLSurfaceQt::SwapBuffers(PresentationCallback callback) { LOG(ERROR) << "Attempted to call SwapBuffers on a pbuffer."; Q_UNREACHABLE(); diff --git a/src/core/ozone/gl_surface_qt.h b/src/core/ozone/gl_surface_qt.h index 514527df9..cbdc8876a 100644 --- a/src/core/ozone/gl_surface_qt.h +++ b/src/core/ozone/gl_surface_qt.h @@ -57,7 +57,7 @@ public: void *GetDisplay() override; void *GetConfig() override; bool IsOffscreen() override; - gfx::SwapResult SwapBuffers(const PresentationCallback &callback) override; + gfx::SwapResult SwapBuffers(PresentationCallback callback) override; gfx::Size GetSize() override; GLSurfaceFormat GetFormat() override; diff --git a/src/core/platform_notification_service_qt.cpp b/src/core/platform_notification_service_qt.cpp index f3457c7aa..e9829c21f 100644 --- a/src/core/platform_notification_service_qt.cpp +++ b/src/core/platform_notification_service_qt.cpp @@ -179,21 +179,21 @@ void PlatformNotificationServiceQt::ClosePersistentNotification( void PlatformNotificationServiceQt::GetDisplayedNotifications( content::BrowserContext *browser_context, - const DisplayedNotificationsCallback &callback) + DisplayedNotificationsCallback callback) { Q_ASSERT(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); ProfileQt *profile = static_cast(browser_context); - std::unique_ptr> movableStdStringSet = std::make_unique>(); + std::set movableStdStringSet; auto it = profile->profileAdapter()->persistentNotifications().constBegin(); const auto end = profile->profileAdapter()->persistentNotifications().constEnd(); while (it != end) { if (it.value()->isShown()) - movableStdStringSet->insert(it.key().toStdString()); + movableStdStringSet.insert(it.key().toStdString()); ++it; } - callback.Run(std::move(movableStdStringSet), true /* supports_synchronization */); + std::move(callback).Run(std::move(movableStdStringSet), true /* supports_synchronization */); } int64_t PlatformNotificationServiceQt::ReadNextPersistentNotificationId(content::BrowserContext *browser_context) diff --git a/src/core/platform_notification_service_qt.h b/src/core/platform_notification_service_qt.h index 66cee9ed0..65477dde2 100644 --- a/src/core/platform_notification_service_qt.h +++ b/src/core/platform_notification_service_qt.h @@ -77,7 +77,7 @@ public: // Retrieves the ids of all currently displaying notifications and // posts |callback| with the result. - void GetDisplayedNotifications(content::BrowserContext* browser_context, const DisplayedNotificationsCallback& callback) override; + void GetDisplayedNotifications(content::BrowserContext* browser_context, DisplayedNotificationsCallback callback) override; // Reads the value of the next persistent notification ID from the profile and // increments the value, as it is called once per notification write. diff --git a/src/core/pref_service_adapter.cpp b/src/core/pref_service_adapter.cpp index 40062cce5..4014f22bd 100644 --- a/src/core/pref_service_adapter.cpp +++ b/src/core/pref_service_adapter.cpp @@ -98,8 +98,8 @@ void PrefServiceAdapter::setup(const ProfileAdapter &profileAdapter) #if QT_CONFIG(webengine_spellchecker) // Initial spellcheck settings registry->RegisterStringPref(prefs::kAcceptLanguages, std::string()); - registry->RegisterListPref(spellcheck::prefs::kSpellCheckDictionaries, std::make_unique()); - registry->RegisterListPref(spellcheck::prefs::kSpellCheckForcedDictionaries, std::make_unique()); + registry->RegisterListPref(spellcheck::prefs::kSpellCheckDictionaries); + registry->RegisterListPref(spellcheck::prefs::kSpellCheckForcedDictionaries); registry->RegisterStringPref(spellcheck::prefs::kSpellCheckDictionary, std::string()); registry->RegisterBooleanPref(spellcheck::prefs::kSpellCheckEnable, false); registry->RegisterBooleanPref(spellcheck::prefs::kSpellCheckUseSpellingService, false); diff --git a/src/core/printing/print_view_manager_qt.cpp b/src/core/printing/print_view_manager_qt.cpp index b6a2b42ec..7d8039100 100644 --- a/src/core/printing/print_view_manager_qt.cpp +++ b/src/core/printing/print_view_manager_qt.cpp @@ -98,7 +98,6 @@ static void SavePdfFile(scoped_refptr data, const base::FilePath &path, const QtWebEngineCore::PrintViewManagerQt::PrintToPDFFileCallback &saveCallback) { - base::AssertBlockingAllowedDeprecated(); DCHECK_GT(data->size(), 0U); printing::MetafileSkia metafile; diff --git a/src/core/printing/print_view_manager_qt.h b/src/core/printing/print_view_manager_qt.h index 20b988200..14f2688dd 100644 --- a/src/core/printing/print_view_manager_qt.h +++ b/src/core/printing/print_view_manager_qt.h @@ -137,7 +137,7 @@ private: void PrintPreviewDone(); private: - WEB_CONTENTS_USER_DATA_KEY_DECL() + WEB_CONTENTS_USER_DATA_KEY_DECL(); content::RenderFrameHost *m_printPreviewRfh; base::FilePath m_pdfOutputPath; PrintToPDFCallback m_pdfPrintCallback; diff --git a/src/core/profile_adapter.cpp b/src/core/profile_adapter.cpp index 65d5c2da2..1e65ada6f 100644 --- a/src/core/profile_adapter.cpp +++ b/src/core/profile_adapter.cpp @@ -598,7 +598,7 @@ void ProfileAdapter::setHttpAcceptLanguage(const QString &httpAcceptLanguage) std::vector list = content::WebContentsImpl::GetAllWebContents(); for (content::WebContentsImpl *web_contents : list) { if (web_contents->GetBrowserContext() == m_profile.data()) { - content::RendererPreferences* rendererPrefs = web_contents->GetMutableRendererPrefs(); + blink::mojom::RendererPreferences *rendererPrefs = web_contents->GetMutableRendererPrefs(); rendererPrefs->accept_languages = httpAcceptLanguageWithoutQualities().toStdString(); web_contents->GetRenderViewHost()->SyncRendererPrefs(); } diff --git a/src/core/profile_io_data_qt.cpp b/src/core/profile_io_data_qt.cpp index 96248a55a..3a39dd101 100644 --- a/src/core/profile_io_data_qt.cpp +++ b/src/core/profile_io_data_qt.cpp @@ -345,7 +345,6 @@ void ProfileIODataQt::generateStorage() m_httpAuthPreferences->SetServerWhitelist(serverWhitelist); } m_storage->set_http_auth_handler_factory(net::HttpAuthHandlerFactory::CreateDefault( - m_urlRequestContext->host_resolver(), m_httpAuthPreferences.get())); m_storage->set_transport_security_state(std::make_unique()); diff --git a/src/core/qtwebengine_resources.gni b/src/core/qtwebengine_resources.gni index 4df1760da..749546741 100644 --- a/src/core/qtwebengine_resources.gni +++ b/src/core/qtwebengine_resources.gni @@ -24,7 +24,6 @@ repack("qtwebengine_repack_resources") { "$root_gen_dir/chrome/browser_resources.pak", "$root_gen_dir/chrome/common_resources.pak", "$root_gen_dir/chrome/quota_internals_resources.pak", - "$root_gen_dir/chrome/task_scheduler_internals_resources.pak", "$root_gen_dir/components/components_resources.pak", "$root_gen_dir/content/content_resources.pak", "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak", @@ -36,7 +35,6 @@ repack("qtwebengine_repack_resources") { deps = [ "//qtwebengine/browser:qt_webengine_resources", "//chrome/browser/resources:quota_internals_resources", - "//chrome/browser/resources:task_scheduler_internals_resources", "//chrome/browser:resources_grit", "//chrome/common:resources_grit", "//components/resources:components_resources_grit", diff --git a/src/core/qtwebengine_sources.gni b/src/core/qtwebengine_sources.gni index 58df7096b..777309e21 100644 --- a/src/core/qtwebengine_sources.gni +++ b/src/core/qtwebengine_sources.gni @@ -23,6 +23,8 @@ source_set("qtwebengine_spellcheck_sources") { "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h", "//chrome/browser/spellchecker/spellcheck_service.cc", "//chrome/browser/spellchecker/spellcheck_service.h", + "//components/language/core/browser/pref_names.cc", + "//components/language/core/browser/pref_names.h", ] deps = [ "//components/spellcheck/browser", @@ -72,8 +74,6 @@ source_set("qtwebengine_sources") { "//chrome/browser/ui/webui/quota_internals/quota_internals_types.h", "//chrome/browser/ui/webui/quota_internals/quota_internals_ui.cc", "//chrome/browser/ui/webui/quota_internals/quota_internals_ui.h", - "//chrome/browser/ui/webui/task_scheduler_internals/task_scheduler_internals_ui.cc", - "//chrome/browser/ui/webui/task_scheduler_internals/task_scheduler_internals_ui.h", "//chrome/common/custom_handlers/protocol_handler.cc", "//chrome/common/custom_handlers/protocol_handler.h", "//chrome/common/chrome_switches.cc", diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index 091171f90..7fd8cc3d0 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -56,6 +56,7 @@ #include "content/browser/compositor/surface_utils.h" #include "content/browser/frame_host/frame_tree.h" #include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/input/synthetic_gesture_target.h" #include "content/browser/renderer_host/render_view_host_delegate.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/common/content_switches_internal.h" @@ -1738,4 +1739,9 @@ void RenderWidgetHostViewQt::synchronizeVisualProperties(const base::OptionalSynchronizeVisualProperties(); } +std::unique_ptr RenderWidgetHostViewQt::CreateSyntheticGestureTarget() +{ + return nullptr; +} + } // namespace QtWebEngineCore diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h index 6e9ddabb9..7c1a0e2cd 100644 --- a/src/core/render_widget_host_view_qt.h +++ b/src/core/render_widget_host_view_qt.h @@ -170,6 +170,7 @@ public: uint32_t GetCaptureSequenceNumber() const override; void ResetFallbackToFirstNavigationSurface() override; void DidStopFlinging() override; + std::unique_ptr CreateSyntheticGestureTarget() override; // Overridden from ui::GestureProviderClient. void OnGestureEvent(const ui::GestureEventData& gesture) override; diff --git a/src/core/renderer/content_settings_observer_qt.cpp b/src/core/renderer/content_settings_observer_qt.cpp index 98954eb4a..a9e89dfee 100644 --- a/src/core/renderer/content_settings_observer_qt.cpp +++ b/src/core/renderer/content_settings_observer_qt.cpp @@ -45,7 +45,6 @@ #include "content_settings_observer_qt.h" #include "content/public/renderer/render_frame.h" -#include "third_party/blink/public/platform/web_content_setting_callbacks.h" #include "third_party/blink/public/platform/web_security_origin.h" #include "third_party/blink/public/web/web_plugin_document.h" #include "third_party/blink/public/web/web_local_frame.h" @@ -53,7 +52,6 @@ #include "common/qt_messages.h" -using blink::WebContentSettingCallbacks; using blink::WebSecurityOrigin; using blink::WebString; @@ -115,9 +113,7 @@ void ContentSettingsObserverQt::OnDestruct() delete this; } -bool ContentSettingsObserverQt::AllowDatabase(const WebString &name, - const WebString &display_name, - unsigned /*estimated_size*/) +bool ContentSettingsObserverQt::AllowDatabase() { blink::WebFrame *frame = render_frame()->GetWebFrame(); if (IsUniqueFrame(frame)) @@ -126,21 +122,20 @@ bool ContentSettingsObserverQt::AllowDatabase(const WebString &name, bool result = false; Send(new QtWebEngineHostMsg_AllowDatabase( routing_id(), url::Origin(frame->GetSecurityOrigin()).GetURL(), - url::Origin(frame->Top()->GetSecurityOrigin()).GetURL(), name.Utf16(), - display_name.Utf16(), &result)); + url::Origin(frame->Top()->GetSecurityOrigin()).GetURL(), + &result)); return result; } -void ContentSettingsObserverQt::RequestFileSystemAccessAsync(const WebContentSettingCallbacks &callbacks) +void ContentSettingsObserverQt::RequestFileSystemAccessAsync(base::OnceCallback callback) { blink::WebFrame *frame = render_frame()->GetWebFrame(); if (IsUniqueFrame(frame)) { - WebContentSettingCallbacks permissionCallbacks(callbacks); - permissionCallbacks.DoDeny(); + std::move(callback).Run(false); return; } ++m_currentRequestId; - bool inserted = m_permissionRequests.insert(std::make_pair(m_currentRequestId, callbacks)).second; + bool inserted = m_permissionRequests.insert(std::make_pair(m_currentRequestId, std::move(callback))).second; // Verify there are no duplicate insertions. DCHECK(inserted); @@ -190,14 +185,10 @@ void ContentSettingsObserverQt::OnRequestFileSystemAccessAsyncResponse(int reque if (it == m_permissionRequests.end()) return; - WebContentSettingCallbacks callbacks = it->second; + base::OnceCallback callback = std::move(it->second); m_permissionRequests.erase(it); - if (allowed) { - callbacks.DoAllow(); - return; - } - callbacks.DoDeny(); + std::move(callback).Run(allowed); } void ContentSettingsObserverQt::ClearBlockedContentSettings() diff --git a/src/core/renderer/content_settings_observer_qt.h b/src/core/renderer/content_settings_observer_qt.h index 69b0eda9e..9c071aa3c 100644 --- a/src/core/renderer/content_settings_observer_qt.h +++ b/src/core/renderer/content_settings_observer_qt.h @@ -51,7 +51,6 @@ #include "url/gurl.h" namespace blink { -class WebContentSettingCallbacks; class WebSecurityOrigin; } @@ -68,10 +67,8 @@ public: ~ContentSettingsObserverQt() override; // blink::WebContentSettingsClient: - bool AllowDatabase(const blink::WebString &name, - const blink::WebString &display_name, - unsigned estimated_size) override; - void RequestFileSystemAccessAsync(const blink::WebContentSettingCallbacks &callbacks) override; + bool AllowDatabase() override; + void RequestFileSystemAccessAsync(base::OnceCallback callback) override; bool AllowIndexedDB(const blink::WebSecurityOrigin &origin) override; bool AllowStorage(bool local) override; @@ -94,7 +91,7 @@ private: base::flat_map m_cachedStoragePermissions; int m_currentRequestId; - base::flat_map m_permissionRequests; + base::flat_map> m_permissionRequests; DISALLOW_COPY_AND_ASSIGN(ContentSettingsObserverQt); }; diff --git a/src/core/renderer_host/resource_dispatcher_host_delegate_qt.cpp b/src/core/renderer_host/resource_dispatcher_host_delegate_qt.cpp index 36c5e6ed1..eba835cd7 100644 --- a/src/core/renderer_host/resource_dispatcher_host_delegate_qt.cpp +++ b/src/core/renderer_host/resource_dispatcher_host_delegate_qt.cpp @@ -120,7 +120,7 @@ bool ResourceDispatcherHostDelegateQt::ShouldInterceptResourceAsStream(net::URLR GURL *origin, std::string *payload) { - const content::ResourceRequestInfo* info = + content::ResourceRequestInfo* info = content::ResourceRequestInfo::ForRequest(request); int render_process_host_id = -1; @@ -162,7 +162,7 @@ bool ResourceDispatcherHostDelegateQt::ShouldInterceptResourceAsStream(net::URLR void ResourceDispatcherHostDelegateQt::OnStreamCreated(net::URLRequest *request, std::unique_ptr stream) { - const content::ResourceRequestInfo *info = content::ResourceRequestInfo::ForRequest(request); + content::ResourceRequestInfo *info = content::ResourceRequestInfo::ForRequest(request); std::map::iterator ix = stream_target_info_.find(request); CHECK(ix != stream_target_info_.end()); int render_frame_id = -1; diff --git a/src/core/user_notification_controller.cpp b/src/core/user_notification_controller.cpp index d169bf854..50d12e8fd 100644 --- a/src/core/user_notification_controller.cpp +++ b/src/core/user_notification_controller.cpp @@ -51,14 +51,14 @@ namespace QtWebEngineCore { -static Qt::LayoutDirection toDirection(blink::PlatformNotificationData::Direction direction) +static Qt::LayoutDirection toDirection(blink::mojom::NotificationDirection direction) { switch (direction) { - case blink::PlatformNotificationData::DIRECTION_LEFT_TO_RIGHT: + case blink::mojom::NotificationDirection::LEFT_TO_RIGHT: return Qt::LeftToRight; - case blink::PlatformNotificationData::DIRECTION_RIGHT_TO_LEFT: + case blink::mojom::NotificationDirection::RIGHT_TO_LEFT: return Qt::RightToLeft; - case blink::PlatformNotificationData::DIRECTION_AUTO: + case blink::mojom::NotificationDirection::AUTO: default: break; } diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 05615bb4c..6ea07b4e7 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -61,9 +61,10 @@ #include "web_engine_settings.h" #include "base/command_line.h" -#include "base/message_loop/message_loop_impl.h" #include "base/run_loop.h" #include "base/task/post_task.h" +#include "base/task/sequence_manager/sequence_manager_impl.h" +#include "base/task/sequence_manager/thread_controller_with_message_pump_impl.h" #include "base/values.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" @@ -81,13 +82,11 @@ #include "content/public/common/drop_data.h" #include "content/public/common/page_state.h" #include "content/public/common/page_zoom.h" -#include "content/public/common/renderer_preferences.h" #include "content/public/common/url_constants.h" #include "content/public/common/web_preferences.h" #include "content/public/common/webrtc_ip_handling_policy.h" #include "extensions/buildflags/buildflags.h" #include "third_party/blink/public/mojom/frame/find_in_page.mojom.h" -//#include "third_party/blink/public/web/web_find_options.h" #include "third_party/blink/public/web/web_media_player_action.h" #include "printing/buildflags/buildflags.h" #include "ui/base/clipboard/clipboard.h" @@ -517,7 +516,7 @@ void WebContentsAdapter::initialize(content::SiteInstance *site) void WebContentsAdapter::initializeRenderPrefs() { - content::RendererPreferences *rendererPrefs = m_webContents->GetMutableRendererPrefs(); + blink::mojom::RendererPreferences *rendererPrefs = m_webContents->GetMutableRendererPrefs(); rendererPrefs->use_custom_colors = true; // Qt returns a flash time (the whole cycle) in ms, chromium expects just the interval in // seconds @@ -1597,7 +1596,12 @@ void WebContentsAdapter::waitForUpdateDragActionCalled() const qint64 timeout = 3000; QElapsedTimer t; t.start(); - base::MessagePump::Delegate *delegate = static_cast(base::MessageLoopCurrent::Get().ToMessageLoopBaseDeprecated()); + auto backend = static_cast( + base::MessageLoopCurrent::Get().ToMessageLoopBaseDeprecated()); + base::MessagePump::Delegate *delegate = + static_cast( + backend->controller_.get()); + DCHECK(delegate); m_updateDragActionCalled = false; for (;;) { diff --git a/src/core/web_contents_view_qt.h b/src/core/web_contents_view_qt.h index ec09f9aae..978a2ce2e 100644 --- a/src/core/web_contents_view_qt.h +++ b/src/core/web_contents_view_qt.h @@ -111,8 +111,7 @@ public: void FocusThroughTabTraversal(bool reverse) override; #if defined(OS_MACOSX) - void CloseTabAfterEventTracking() override { QT_NOT_YET_IMPLEMENTED } - bool IsEventTracking() const override { QT_NOT_YET_IMPLEMENTED; return false; } + bool CloseTabAfterEventTrackingIfNeeded() override { QT_NOT_YET_IMPLEMENTED return false; } #endif // defined(OS_MACOSX) // content::RenderViewHostDelegateView overrides: diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp index a3a5881bf..1b82b6174 100644 --- a/src/core/web_engine_context.cpp +++ b/src/core/web_engine_context.cpp @@ -44,9 +44,9 @@ #include "base/base_switches.h" #include "base/command_line.h" #include "base/files/file_path.h" -#include "base/message_loop/message_loop_impl.h" #include "base/run_loop.h" #include "base/task/post_task.h" +#include "base/task/sequence_manager/thread_controller_with_message_pump_impl.h" #include "base/threading/thread_restrictions.h" #include "cc/base/switches.h" #if QT_CONFIG(webengine_printing_and_pdf) @@ -77,6 +77,7 @@ #include "mojo/core/embedder/embedder.h" #include "net/base/port_util.h" #include "ppapi/buildflags/buildflags.h" +#include "services/network/public/cpp/features.h" #include "services/network/public/cpp/network_switches.h" #include "services/resource_coordinator/public/cpp/resource_coordinator_features.h" #include "services/service_manager/sandbox/switches.h" @@ -241,7 +242,8 @@ void WebEngineContext::destroy() destroyGpuProcess(); base::MessagePump::Delegate *delegate = - static_cast(m_runLoop->delegate_); + static_cast( + m_runLoop->delegate_); // Flush the UI message loop before quitting. while (delegate->DoWork()) { } @@ -499,9 +501,12 @@ WebEngineContext::WebEngineContext() appendToFeatureList(disableFeatures, features::kMojoVideoCapture.name); // Breaks WebEngineNewViewRequest.userInitiated API (since 73) appendToFeatureList(disableFeatures, features::kUserActivationV2.name); + appendToFeatureList(disableFeatures, features::kWebAuth.name); appendToFeatureList(disableFeatures, features::kBackgroundFetch.name); + appendToFeatureList(disableFeatures, network::features::kNetworkService.name); + #if QT_CONFIG(webengine_printing_and_pdf) appendToFeatureList(disableFeatures, printing::features::kUsePdfCompositorServiceForPrint.name); #endif @@ -612,11 +617,6 @@ WebEngineContext::WebEngineContext() SetContentClient(new ContentClientQt); - content::StartBrowserTaskScheduler(); - content::BrowserTaskExecutor::Create(); - - mojo::core::Init(); - content::ContentMainParams contentMainParams(m_mainDelegate.get()); #if defined(OS_WIN) sandbox::SandboxInterfaceInfo sandbox_info = {0}; @@ -624,12 +624,24 @@ WebEngineContext::WebEngineContext() contentMainParams.sandbox_info = &sandbox_info; #endif m_contentRunner->Initialize(contentMainParams); - m_browserRunner->Initialize(content::MainFunctionParams(*base::CommandLine::ForCurrentProcess())); + + mojo::core::Init(); + + // This block mirrors ContentMainRunnerImpl::RunServiceManager(): + m_mainDelegate->PreCreateMainMessageLoop(); + base::MessageLoop::InitMessagePumpForUIFactory(messagePumpFactory); + content::BrowserTaskExecutor::Create(); + m_mainDelegate->PostEarlyInitialization(false); + content::StartBrowserTaskScheduler(); + content::BrowserTaskExecutor::PostFeatureListSetup(); // Once the MessageLoop has been created, attach a top-level RunLoop. m_runLoop.reset(new base::RunLoop); m_runLoop->BeforeRun(); + content::MainFunctionParams mainParams(*base::CommandLine::ForCurrentProcess()); + m_browserRunner->Initialize(mainParams); + m_devtoolsServer.reset(new DevToolsServerQt()); m_devtoolsServer->start(); // Force the initialization of MediaCaptureDevicesDispatcher on the UI diff --git a/src/core/web_engine_settings.cpp b/src/core/web_engine_settings.cpp index b6250a65f..9bc1279ba 100644 --- a/src/core/web_engine_settings.cpp +++ b/src/core/web_engine_settings.cpp @@ -49,10 +49,10 @@ #include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" #include "content/public/common/content_switches.h" -#include "content/public/common/renderer_preferences.h" #include "content/public/common/web_preferences.h" -#include "media/base/media_switches.h" #include "content/public/common/webrtc_ip_handling_policy.h" +#include "media/base/media_switches.h" +#include "third_party/blink/public/mojom/renderer_preferences.mojom.h" #include "ui/events/event_switches.h" #include @@ -401,7 +401,7 @@ void WebEngineSettings::applySettingsToWebPreferences(content::WebPreferences *p prefs->default_encoding = defaultTextEncoding().toStdString(); } -bool WebEngineSettings::applySettingsToRendererPreferences(content::RendererPreferences *prefs) +bool WebEngineSettings::applySettingsToRendererPreferences(blink::mojom::RendererPreferences *prefs) { bool changed = false; #if QT_CONFIG(webengine_webrtc) diff --git a/src/core/web_engine_settings.h b/src/core/web_engine_settings.h index b2a45098a..95eea669f 100644 --- a/src/core/web_engine_settings.h +++ b/src/core/web_engine_settings.h @@ -60,10 +60,14 @@ #include namespace content { -struct RendererPreferences; class WebContents; struct WebPreferences; } +namespace blink { +namespace mojom { +class RendererPreferences; +} +} namespace QtWebEngineCore { class WebContentsAdapter; @@ -169,7 +173,7 @@ public: private: void doApply(); void applySettingsToWebPreferences(content::WebPreferences *); - bool applySettingsToRendererPreferences(content::RendererPreferences *); + bool applySettingsToRendererPreferences(blink::mojom::RendererPreferences *); void setWebContentsAdapter(WebContentsAdapter *adapter) { m_adapter = adapter; } WebContentsAdapter* m_adapter; diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp index f542c09d9..4334498b9 100644 --- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp +++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp @@ -3085,7 +3085,6 @@ void tst_QWebEngineView::webUIURLs_data() QTest::newRow("supervised-user-internals") << QUrl("chrome://supervised-user-internals") << false; QTest::newRow("sync-internals") << QUrl("chrome://sync-internals") << false; QTest::newRow("system") << QUrl("chrome://system") << false; - QTest::newRow("taskscheduler-internals") << QUrl("chrome://taskscheduler-internals") << true; QTest::newRow("terms") << QUrl("chrome://terms") << false; QTest::newRow("thumbnails") << QUrl("chrome://thumbnails") << false; QTest::newRow("tracing") << QUrl("chrome://tracing") << false; diff --git a/tools/scripts/init-repository.py b/tools/scripts/init-repository.py index 51de479d4..221f74a65 100755 --- a/tools/scripts/init-repository.py +++ b/tools/scripts/init-repository.py @@ -110,7 +110,7 @@ def initUpstreamSubmodules(): gnSubmodule = GitSubmodule.Submodule() gnSubmodule.path = 'src/3rdparty_upstream/gn' - gnSubmodule.ref = 'origin/master' + gnSubmodule.ref = 'master' gnSubmodule.url = gn_url gnSubmodule.os = 'all' gnSubmodule.initialize() diff --git a/tools/scripts/take_snapshot.py b/tools/scripts/take_snapshot.py index c6de5977d..982cab622 100755 --- a/tools/scripts/take_snapshot.py +++ b/tools/scripts/take_snapshot.py @@ -175,6 +175,7 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('third_party/fuschsia-sdk/') or file_path.startswith('third_party/glslang/src/Test/') or file_path.startswith('third_party/google_') + or file_path.startswith('third_party/grpc/') or file_path.startswith('third_party/hunspell_dictionaries') or (file_path.startswith('third_party/icu') and file_path.endswith('icudtl_dat.S')) or file_path.startswith('third_party/icu/android') @@ -243,6 +244,7 @@ def isInChromiumBlacklist(file_path): not file_path.endswith('mock_chrome_application_mac.h') and not file_path.endswith('perftimer.h') and not file_path.endswith('test-torque.tq') and + not file_path.endswith('fonts.conf') and not 'ozone' in file_path and not 'clang_coverage' in file_path and not 'crypto/test/trampoline' in file_path and diff --git a/tools/scripts/version_resolver.py b/tools/scripts/version_resolver.py index 450671fa5..2ccb55d83 100644 --- a/tools/scripts/version_resolver.py +++ b/tools/scripts/version_resolver.py @@ -38,8 +38,8 @@ import json import urllib2 import git_submodule as GitSubmodule -chromium_version = '73.0.3683.105' -chromium_branch = '3683' +chromium_version = '74.0.3729.159' +chromium_branch = '3729' ninja_version = 'v1.9.0' json_url = 'http://omahaproxy.appspot.com/all.json' -- cgit v1.2.3