diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-01-25 15:09:31 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-03-01 12:06:20 +0000 |
commit | ab94349cb2fa073e8aec661a797de1cfc3819752 (patch) | |
tree | d3525f63aa9b3ff041989d5cf981e0ee8b07d77d | |
parent | cb6564b11ea0a81155b59ab178ff75148017a952 (diff) |
Simple adaptations to Chromium 55
The simplest adaptations to API and build changes in Chromium 55
Change-Id: I923fa188690a04902492317807f72f006bcab9c6
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
58 files changed, 375 insertions, 251 deletions
diff --git a/src/3rdparty b/src/3rdparty -Subproject b0bb02889e4df138c0b9e96e913bd95e7ab6252 +Subproject 8882e05e2d77f5b00f117c52c666e2b519c3deb diff --git a/src/core/access_token_store_qt.cpp b/src/core/access_token_store_qt.cpp index 5b8fe83f7..1819cd733 100644 --- a/src/core/access_token_store_qt.cpp +++ b/src/core/access_token_store_qt.cpp @@ -56,7 +56,7 @@ namespace QtWebEngineCore { -using content::AccessTokenStore; +using device::AccessTokenStore; using content::BrowserThread; AccessTokenStoreQt::AccessTokenStoreQt() diff --git a/src/core/access_token_store_qt.h b/src/core/access_token_store_qt.h index 973f304c0..ced69a2b6 100644 --- a/src/core/access_token_store_qt.h +++ b/src/core/access_token_store_qt.h @@ -41,7 +41,7 @@ #define ACCESS_TOKEN_STORE_QT_H #include "base/memory/ref_counted.h" -#include "content/public/browser/access_token_store.h" +#include "device/geolocation/access_token_store.h" #include <QtCore/qcompilerdetection.h> #include <QtCore/QFile> @@ -53,7 +53,7 @@ class URLRequestContextGetter; namespace QtWebEngineCore { -class AccessTokenStoreQt : public content::AccessTokenStore { +class AccessTokenStoreQt : public device::AccessTokenStore { public: AccessTokenStoreQt(); ~AccessTokenStoreQt(); diff --git a/src/core/browser_accessibility_qt.cpp b/src/core/browser_accessibility_qt.cpp index 30e6efc2e..ac4649d3d 100644 --- a/src/core/browser_accessibility_qt.cpp +++ b/src/core/browser_accessibility_qt.cpp @@ -173,9 +173,9 @@ void BrowserAccessibilityQt::setText(QAccessible::Text t, const QString &text) QRect BrowserAccessibilityQt::rect() const { - if (!manager()) // needed implicitly by GetGlobalBoundsRect() + if (!manager()) // needed implicitly by GetScreenBoundsRect() return QRect(); - gfx::Rect bounds = GetGlobalBoundsRect(); + gfx::Rect bounds = GetScreenBoundsRect(); return QRect(bounds.x(), bounds.y(), bounds.width(), bounds.height()); } @@ -573,7 +573,7 @@ void BrowserAccessibilityQt::scrollToSubstring(int startIndex, int endIndex) { int count = characterCount(); if (startIndex < endIndex && endIndex < count) - manager()->ScrollToMakeVisible(*this, GetLocalBoundsForRange(startIndex, endIndex - startIndex)); + manager()->ScrollToMakeVisible(*this, GetPageBoundsForRange(startIndex, endIndex - startIndex)); } QVariant BrowserAccessibilityQt::currentValue() const diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp index 3396f73ef..863731ff4 100644 --- a/src/core/browser_context_adapter.cpp +++ b/src/core/browser_context_adapter.cpp @@ -101,6 +101,7 @@ BrowserContextAdapter::BrowserContextAdapter(const QString &storageName) BrowserContextAdapter::~BrowserContextAdapter() { + m_browserContext->ShutdownStoragePartitions(); if (m_downloadManagerDelegate) content::BrowserThread::DeleteSoon(content::BrowserThread::UI, FROM_HERE, m_downloadManagerDelegate.take()); BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices(m_browserContext.data()); diff --git a/src/core/browser_context_qt.h b/src/core/browser_context_qt.h index ca65552be..96d3fa861 100644 --- a/src/core/browser_context_qt.h +++ b/src/core/browser_context_qt.h @@ -72,8 +72,6 @@ public: base::FilePath GetCachePath() const; virtual bool IsOffTheRecord() const Q_DECL_OVERRIDE; - net::URLRequestContextGetter *GetRequestContext(); - virtual net::URLRequestContextGetter *CreateMediaRequestContext() Q_DECL_OVERRIDE; virtual net::URLRequestContextGetter *CreateMediaRequestContextForStoragePartition(const base::FilePath& partition_path, bool in_memory) Q_DECL_OVERRIDE; @@ -97,6 +95,7 @@ public: // Profile implementation: PrefService* GetPrefs() override; const PrefService* GetPrefs() const override; + net::URLRequestContextGetter *GetRequestContext() override; BrowserContextAdapter *adapter() { return m_adapter; } diff --git a/src/core/certificate_error_controller.cpp b/src/core/certificate_error_controller.cpp index 18835a5c7..a681de859 100644 --- a/src/core/certificate_error_controller.cpp +++ b/src/core/certificate_error_controller.cpp @@ -71,7 +71,7 @@ ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateErrorEnd, net::ERR_CER void CertificateErrorControllerPrivate::accept(bool accepted) { - callback.Run(accepted); + callback.Run(accepted ? content::CERTIFICATE_REQUEST_RESULT_TYPE_CONTINUE : content::CERTIFICATE_REQUEST_RESULT_TYPE_DENY); } CertificateErrorControllerPrivate::CertificateErrorControllerPrivate(int cert_error, @@ -80,7 +80,7 @@ CertificateErrorControllerPrivate::CertificateErrorControllerPrivate(int cert_er content::ResourceType resource_type, bool _overridable, bool strict_enforcement, - const base::Callback<void(bool)>& cb + const base::Callback<void(content::CertificateRequestResultType)>& cb ) : certError(CertificateErrorController::CertificateError(cert_error)) , requestUrl(toQt(request_url)) diff --git a/src/core/certificate_error_controller_p.h b/src/core/certificate_error_controller_p.h index ee073b64f..abde9a7d5 100644 --- a/src/core/certificate_error_controller_p.h +++ b/src/core/certificate_error_controller_p.h @@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE class CertificateErrorControllerPrivate { public: - CertificateErrorControllerPrivate(int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, content::ResourceType resource_type, bool overridable, bool strict_enforcement, const base::Callback<void(bool)>& callback); + CertificateErrorControllerPrivate(int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, content::ResourceType resource_type, bool overridable, bool strict_enforcement, const base::Callback<void(content::CertificateRequestResultType)>& callback); void accept(bool accepted); @@ -70,7 +70,7 @@ public: CertificateErrorController::ResourceType resourceType; bool overridable; bool strictEnforcement; - const base::Callback<void(bool)> callback; + const base::Callback<void(content::CertificateRequestResultType)> callback; }; QT_END_NAMESPACE diff --git a/src/core/chromium_gpu_helper.cpp b/src/core/chromium_gpu_helper.cpp index d1133f5c2..1b415b9ec 100644 --- a/src/core/chromium_gpu_helper.cpp +++ b/src/core/chromium_gpu_helper.cpp @@ -75,13 +75,13 @@ gpu::gles2::MailboxManager *mailbox_manager() return gpuChannelManager->mailbox_manager(); } -gpu::gles2::Texture* ConsumeTexture(gpu::gles2::MailboxManager *mailboxManager, unsigned target, const gpu::Mailbox& mailbox) +gpu::gles2::TextureBase* ConsumeTexture(gpu::gles2::MailboxManager *mailboxManager, unsigned target, const gpu::Mailbox& mailbox) { Q_UNUSED(target); return mailboxManager->ConsumeTexture(mailbox); } -unsigned int service_id(gpu::gles2::Texture *tex) +unsigned int service_id(gpu::gles2::TextureBase *tex) { return tex->service_id(); } diff --git a/src/core/chromium_gpu_helper.h b/src/core/chromium_gpu_helper.h index 02fe2d3bb..9954dc1d0 100644 --- a/src/core/chromium_gpu_helper.h +++ b/src/core/chromium_gpu_helper.h @@ -52,7 +52,7 @@ struct Mailbox; class SyncPointManager; namespace gles2 { class MailboxManager; -class Texture; +class TextureBase; } } @@ -65,8 +65,8 @@ base::MessageLoop *gpu_message_loop(); gpu::SyncPointManager *sync_point_manager(); gpu::gles2::MailboxManager *mailbox_manager(); -gpu::gles2::Texture* ConsumeTexture(gpu::gles2::MailboxManager *mailboxManager, unsigned target, const gpu::Mailbox& mailbox); -unsigned int service_id(gpu::gles2::Texture *tex); +gpu::gles2::TextureBase* ConsumeTexture(gpu::gles2::MailboxManager *mailboxManager, unsigned target, const gpu::Mailbox& mailbox); +unsigned int service_id(gpu::gles2::TextureBase *tex); #ifdef Q_OS_QNX typedef void* EGLDisplay; diff --git a/src/core/chromium_overrides.cpp b/src/core/chromium_overrides.cpp index 882f5b1dd..f60b9213b 100644 --- a/src/core/chromium_overrides.cpp +++ b/src/core/chromium_overrides.cpp @@ -65,21 +65,25 @@ #include "ui/gfx/platform_font.h" #endif +#if defined(USE_OPENSSL_CERTS) +#include "net/ssl/openssl_client_key_store.h" +#endif + namespace QtWebEngineCore { -void GetScreenInfoFromNativeWindow(QWindow* window, blink::WebScreenInfo* results) +void GetScreenInfoFromNativeWindow(QWindow* window, content::ScreenInfo* results) { QScreen* screen = window->screen(); - blink::WebScreenInfo r; - r.deviceScaleFactor = screen->devicePixelRatio(); - r.depthPerComponent = 8; + content::ScreenInfo r; + r.device_scale_factor = screen->devicePixelRatio(); + r.depth_per_component = 8; r.depth = screen->depth(); - r.isMonochrome = (r.depth == 1); + r.is_monochrome = (r.depth == 1); QRect screenGeometry = screen->geometry(); - r.rect = blink::WebRect(screenGeometry.x(), screenGeometry.y(), screenGeometry.width(), screenGeometry.height()); + r.rect = gfx::Rect(screenGeometry.x(), screenGeometry.y(), screenGeometry.width(), screenGeometry.height()); QRect available = screen->availableGeometry(); - r.availableRect = blink::WebRect(available.x(), available.y(), available.width(), available.height()); + r.available_rect = gfx::Rect(available.x(), available.y(), available.width(), available.height()); *results = r; } @@ -108,14 +112,15 @@ WebContentsView* CreateWebContentsView(WebContentsImpl *web_contents, } // static -void RenderWidgetHostViewBase::GetDefaultScreenInfo(blink::WebScreenInfo* results) { +void WebContentsView::GetDefaultScreenInfo(content::ScreenInfo* results) +{ QWindow dummy; QtWebEngineCore::GetScreenInfoFromNativeWindow(&dummy, results); } } // namespace content -#if defined(USE_AURA) && !defined(USE_OZONE) +#if defined(USE_AURA) || defined(USE_OZONE) namespace content { // content/common/font_list.h @@ -123,22 +128,25 @@ std::unique_ptr<base::ListValue> GetFontList_SlowBlocking() { std::unique_ptr<base::ListValue> font_list(new base::ListValue); - QFontDatabase database; - for (auto family : database.families()){ - base::ListValue* font_item = new base::ListValue(); - font_item->Append(new base::StringValue(family.toStdString())); - font_item->Append(new base::StringValue(family.toStdString())); // should be localized name. - // TODO: Support localized family names. - font_list->Append(font_item); - } + QFontDatabase database; + for (auto family : database.families()){ + std::unique_ptr<base::ListValue> font_item(new base::ListValue()); + font_item->AppendString(family.toStdString()); + font_item->AppendString(family.toStdString()); // localized name. + // TODO(yusukes): Support localized family names. + font_list->Append(std::move(font_item)); + } return std::move(font_list); } #if defined(ENABLE_PLUGINS) // content/browser/renderer_host/pepper/pepper_truetype_font_list.h -void GetFontFamilies_SlowBlocking(std::vector<std::string> *) +void GetFontFamilies_SlowBlocking(std::vector<std::string> *font_families) { - QT_NOT_USED + QFontDatabase database; + for (auto family : database.families()){ + font_families->push_back(family.toStdString()); + } } void GetFontsInFamily_SlowBlocking(const std::string &, std::vector<ppapi::proxy::SerializedTrueTypeFontDesc> *) @@ -149,26 +157,14 @@ void GetFontsInFamily_SlowBlocking(const std::string &, std::vector<ppapi::proxy } // namespace content -namespace ui { - -OSExchangeData::Provider* OSExchangeData::CreateProvider() -{ - QT_NOT_USED - return 0; -} - -} // namespace ui - -#endif // defined(USE_AURA) && !defined(USE_OZONE) +#endif // defined(USE_AURA) || defined(USE_OZONE) #if defined(USE_OPENSSL_CERTS) namespace net { -class SSLPrivateKey { }; -class X509Certificate; -std::unique_ptr<SSLPrivateKey> FetchClientCertPrivateKey(X509Certificate* certificate) +scoped_refptr<SSLPrivateKey> FetchClientCertPrivateKey(X509Certificate* certificate) { - return std::unique_ptr<SSLPrivateKey>(); + return OpenSSLClientKeyStore::GetInstance()->FetchClientCertPrivateKey(certificate); } } // namespace net diff --git a/src/core/chromium_overrides.h b/src/core/chromium_overrides.h index b2bd398af..b27bf309c 100644 --- a/src/core/chromium_overrides.h +++ b/src/core/chromium_overrides.h @@ -40,7 +40,7 @@ #ifndef CHROMIUM_OVERRIDES_H #define CHROMIUM_OVERRIDES_H -#include "third_party/WebKit/public/platform/WebScreenInfo.h" +#include "content/public/common/screen_info.h" #include <QtGlobal> QT_BEGIN_NAMESPACE @@ -48,7 +48,7 @@ class QWindow; QT_END_NAMESPACE namespace QtWebEngineCore { -void GetScreenInfoFromNativeWindow(QWindow* window, blink::WebScreenInfo* results); +void GetScreenInfoFromNativeWindow(QWindow* window, content::ScreenInfo* results); } #endif diff --git a/src/core/config/common.pri b/src/core/config/common.pri index 1239ae963..b23625462 100644 --- a/src/core/config/common.pri +++ b/src/core/config/common.pri @@ -4,8 +4,11 @@ use?(gn) { gn_args += \ use_qt=true \ is_component_build=false \ - enable_remoting=false \ + is_shared=true \ + enable_media_router=false \ enable_nacl=false \ + enable_remoting=false \ + enable_web_speech=false \ use_experimental_allocator_shim=false \ use_allocator=\"none\" \ v8_use_external_startup_data=false \ @@ -40,6 +43,12 @@ use?(gn) { } else { gn_args += enable_webrtc=false } + + CONFIG(release, debug|release) { + force_debug_info: gn_args += symbol_level=1 + else: gn_args += symbol_level=0 + } + !webcore_debug: gn_args += remove_webcore_debug_symbols=true !v8base_debug: gn_args += remove_v8base_debug_symbols=true diff --git a/src/core/config/desktop_linux.pri b/src/core/config/desktop_linux.pri index f2ea4883a..10938a9f2 100644 --- a/src/core/config/desktop_linux.pri +++ b/src/core/config/desktop_linux.pri @@ -4,11 +4,14 @@ use?(gn) { gn_args += \ is_clang=false \ use_sysroot=false \ - use_system_libffi=false + enable_session_service=false \ + enable_notifications=false \ + toolkit_views=false use?(icecc) { gn_args += use_debug_fission=false } + !use_gold_linker: gn_args += use_gold=false } else { diff --git a/src/core/config/embedded_linux.pri b/src/core/config/embedded_linux.pri index c9de47562..853be7be9 100644 --- a/src/core/config/embedded_linux.pri +++ b/src/core/config/embedded_linux.pri @@ -2,6 +2,24 @@ GYP_ARGS += "-D qt_os=\"embedded_linux\" -I config/embedded_linux.gypi" include(linux.pri) +use?(gn) { + gn_args += \ + is_desktop_linux=false \ + use_gold=false \ + use_ozone=true \ + is_clang=false \ + use_sysroot=false \ + enable_session_service=false \ + enable_notifications=false \ + ozone_auto_platforms=false \ + ozone_platform_headless=true \ + toolkit_views=false + + use?(icecc) { + gn_args += use_debug_fission=false + } +} + GYP_CONFIG += \ clang=0 \ desktop_linux=0 \ diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri index 8509c0c8e..4854fae0d 100644 --- a/src/core/config/linux.pri +++ b/src/core/config/linux.pri @@ -4,16 +4,30 @@ QT_FOR_CONFIG += gui-private webengine-private use?(gn) { gn_args += \ + use_cups=false \ use_gconf=false \ use_gio=false \ + use_gnome_keyring=false \ use_kerberos=false \ linux_use_bundled_binutils=false - #qtConfig(system-zlib): use?(system_minizip): gn_args += use_system_zlib=true use_system_minizip=true - #qtConfig(system-png): gn_args += use_system_libpng=true + use?(nss) { + gn_args += \ + use_nss_certs=true \ + use_openssl_certs=false + } else { + gn_args += \ + use_nss_certs=false \ + use_openssl_certs=true + } + gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): gn_args += no_delete_null_pointer_checks=true + + + qtConfig(system-zlib): use?(system_minizip): gn_args += use_system_zlib=true use_system_minizip=true + qtConfig(system-png): gn_args += use_system_libpng=true qtConfig(system-jpeg): gn_args += use_system_libjpeg=true - qtConfig(system-harfbuzz): use?(system_harfbuzz): gn_args += use_system_harfbuzz=true - !qtConfig(glib): gn_args += use_glib=false + use?(system_harfbuzz): gn_args += use_system_harfbuzz=true + !use?(glib): gn_args += use_glib=false qtConfig(pulseaudio) { gn_args += use_pulseaudio=true } else { @@ -24,20 +38,20 @@ use?(gn) { } else { gn_args += use_alsa=false } + packagesExist(libffi): gn_args += use_system_libffi=true + else: gn_args += use_system_libffi=false - #use?(system_libevent): gn_args += use_system_libevent=true - #use?(system_libwebp): gn_args += use_system_libwebp=true + use?(system_libevent): gn_args += use_system_libevent=true + use?(system_libwebp): gn_args += use_system_libwebp=true #use?(system_libsrtp): gn_args += use_system_libsrtp=true - #use?(system_libxslt): gn_args += use_system_libxml=true use_system_libxslt=true + use?(system_libxslt): gn_args += use_system_libxml=true use_system_libxslt=true #use?(system_jsoncpp): gn_args += use_system_jsoncpp=true #use?(system_opus): gn_args += use_system_opus=true - #use?(system_snappy): gn_args += use_system_snappy=true + use?(system_snappy): gn_args += use_system_snappy=true #use?(system_vpx): gn_args += use_system_libvpx=true - #use?(system_icu): gn_args += use_system_icu=true icu_use_data_file_flag=false + #use?(system_icu): gn_args += use_system_icu=true icu_use_data_file=false #use?(system_ffmpeg): gn_args += use_system_ffmpeg=true #use?(system_protobuf): gn_args += use_system_protobuf=true - - #gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): gn_args += no_delete_null_pointer_checks=true } # linux_use_bundled_gold currently relies on a hardcoded relative path from chromium/src/out/(Release|Debug) diff --git a/src/core/config/windows.pri b/src/core/config/windows.pri index 334675481..d5b50842e 100644 --- a/src/core/config/windows.pri +++ b/src/core/config/windows.pri @@ -2,6 +2,16 @@ GYP_ARGS += "-D qt_os=\"win32\" -I config/windows.gypi" include(common.pri) +gn_args += \ + is_clang=false \ + use_sysroot=false \ + use_kerberos=true \ + enable_notifications=false \ + enable_session_service=false \ + ninja_use_custom_environment_files=false \ + is_multi_dll_chrome=false \ + win_link_timing=true + GYP_CONFIG += \ disable_nacl=1 \ remoting=0 \ @@ -16,6 +26,16 @@ GYP_ARGS += "-D perl_exe=\"perl.exe\" -D bison_exe=\"bison.exe\" -D gperf_exe=\" # Gyp's parallel processing is broken on Windows GYP_ARGS += "--no-parallel" + +isDeveloperBuild() { + gn_args += \ + is_win_fastlink=true \ + use_incremental_linking=true +} else { + gn_args += \ + use_incremental_linking=false +} + qtConfig(angle) { #FIXME: Expect LIBQTANGLE_NAME to be always set #FIXME: Replace qt_egl_library and qt_glesv2_library into qt_angle_library @@ -70,6 +90,12 @@ msvc { } GYP_ARGS += "-G msvs_version=$$MSVS_VERSION" + gn_args += visual_studio_version=$$MSVS_VERSION + + SDK_PATH = $$(WINDOWSSDKDIR) + VS_PATH= $$(VSINSTALLDIR) + gn_args += visual_studio_path=$$shell_quote($$VS_PATH) + gn_args += windows_sdk_path=$$shell_quote($$SDK_PATH) isBuildingOnWin32(): GYP_ARGS += "-D windows_sdk_path=\"C:/Program Files/Windows Kits/10\"" diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp index f9b6f31d8..71e83a578 100644 --- a/src/core/content_browser_client_qt.cpp +++ b/src/core/content_browser_client_qt.cpp @@ -469,17 +469,12 @@ void ContentBrowserClientQt::AllowCertificateError(content::WebContents *webCont bool overridable, bool strict_enforcement, bool expired_previous_decision, - const base::Callback<void(bool)>& callback, - content::CertificateRequestResultType* result) + const base::Callback<void(content::CertificateRequestResultType)>& callback) { WebContentsDelegateQt* contentsDelegate = static_cast<WebContentsDelegateQt*>(webContents->GetDelegate()); QSharedPointer<CertificateErrorController> errorController(new CertificateErrorController(new CertificateErrorControllerPrivate(cert_error, ssl_info, request_url, resource_type, overridable, strict_enforcement, callback))); contentsDelegate->allowCertificateError(errorController); - - // If we don't give the user a chance to allow it, we can reject it right away. - if (result && (!overridable || strict_enforcement)) - *result = content::CERTIFICATE_REQUEST_RESULT_TYPE_DENY; } void ContentBrowserClientQt::SelectClientCertificate(content::WebContents * /*webContents*/, diff --git a/src/core/content_browser_client_qt.h b/src/core/content_browser_client_qt.h index a13d14ff2..86373e2b0 100644 --- a/src/core/content_browser_client_qt.h +++ b/src/core/content_browser_client_qt.h @@ -98,8 +98,7 @@ public: bool overridable, bool strict_enforcement, bool expired_previous_decision, - const base::Callback<void(bool)>& callback, - content::CertificateRequestResultType* result) Q_DECL_OVERRIDE; + const base::Callback<void(content::CertificateRequestResultType)>& callback) Q_DECL_OVERRIDE; virtual void SelectClientCertificate(content::WebContents* web_contents, net::SSLCertRequestInfo* cert_request_info, std::unique_ptr<content::ClientCertificateDelegate> delegate) Q_DECL_OVERRIDE; diff --git a/src/core/cookie_monster_delegate_qt.cpp b/src/core/cookie_monster_delegate_qt.cpp index 4e52f562a..d2a3377a4 100644 --- a/src/core/cookie_monster_delegate_qt.cpp +++ b/src/core/cookie_monster_delegate_qt.cpp @@ -217,7 +217,7 @@ bool CookieMonsterDelegateQt::canSetCookie(const QUrl &firstPartyUrl, const QByt return true; } -void CookieMonsterDelegateQt::OnCookieChanged(const net::CanonicalCookie& cookie, bool removed, ChangeCause cause) +void CookieMonsterDelegateQt::OnCookieChanged(const net::CanonicalCookie& cookie, bool removed, net::CookieStore::ChangeCause cause) { if (!m_client) return; diff --git a/src/core/cookie_monster_delegate_qt.h b/src/core/cookie_monster_delegate_qt.h index f47dc86df..009abdd68 100644 --- a/src/core/cookie_monster_delegate_qt.h +++ b/src/core/cookie_monster_delegate_qt.h @@ -83,7 +83,7 @@ public: void setClient(QWebEngineCookieStore *client); bool canSetCookie(const QUrl &firstPartyUrl, const QByteArray &cookieLine, const QUrl &url); - void OnCookieChanged(const net::CanonicalCookie& cookie, bool removed, ChangeCause cause) override; + void OnCookieChanged(const net::CanonicalCookie& cookie, bool removed, net::CookieStore::ChangeCause cause) override; private: void GetAllCookiesOnIOThread(const net::CookieMonster::GetCookieListCallback& callback); diff --git a/src/core/core_generator.pro b/src/core/core_generator.pro index 6900468d9..9ea3f7246 100644 --- a/src/core/core_generator.pro +++ b/src/core/core_generator.pro @@ -31,6 +31,7 @@ DEFINES += QT_NO_KEYWORDS \ QT_USE_QSTRINGBUILDER \ $$forward_declaration_macro \ QTWEBENGINECORE_VERSION_STR=\"$$MODULE_VERSION\" \ + QTWEBENGINEPROCESS_NAME=\"$$QTWEBENGINEPROCESS_NAME\" \ BUILDING_CHROMIUM # Ensure that response files, generated by qtbase/mkspecs/features/moc.prf, are found by moc. diff --git a/src/core/core_module.pro b/src/core/core_module.pro index 584ef83ae..b02fb51f8 100644 --- a/src/core/core_module.pro +++ b/src/core/core_module.pro @@ -37,7 +37,9 @@ use?(gn){ linux: LIBS_PRIVATE += -Wl,--start-group $$NINJA_ARCHIVES -Wl,--end-group else: LIBS_PRIVATE += $$NINJA_ARCHIVES LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS - QMAKE_LFLAGS += $$NINJA_LFLAGS + # We need to use ObjC runtime to have categories selectors working. + macos: QMAKE_LFLAGS += -Wl,-ObjC +# QMAKE_LFLAGS += $$NINJA_LFLAGS POST_TARGETDEPS += $$NINJA_TARGETDEPS } diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp index 07b4bb2b6..03c76dd19 100644 --- a/src/core/delegated_frame_node.cpp +++ b/src/core/delegated_frame_node.cpp @@ -54,8 +54,9 @@ #include "type_conversion.h" #include "yuv_video_node.h" -#include "base/message_loop/message_loop.h" #include "base/bind.h" +#include "base/message_loop/message_loop.h" +#include "base/threading/thread_task_runner_handle.h" #include "cc/output/delegated_frame_data.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/draw_quad.h" @@ -65,6 +66,8 @@ #include "cc/quads/texture_draw_quad.h" #include "cc/quads/tile_draw_quad.h" #include "cc/quads/yuv_video_draw_quad.h" +#include "cc/resources/returned_resource.h" +#include "cc/resources/transferable_resource.h" #include "content/common/host_shared_bitmap_manager.h" #include "gpu/command_buffer/service/mailbox_manager.h" #include "ui/gl/gl_context.h" @@ -622,7 +625,7 @@ void MailboxTexture::setTarget(GLenum target) void MailboxTexture::fetchTexture(gpu::gles2::MailboxManager *mailboxManager) { - gpu::gles2::Texture *tex = ConsumeTexture(mailboxManager, m_target, m_mailboxHolder.mailbox); + gpu::gles2::TextureBase *tex = ConsumeTexture(mailboxManager, m_target, m_mailboxHolder.mailbox); // The texture might already have been deleted (e.g. when navigating away from a page). if (tex) { @@ -1125,7 +1128,7 @@ void DelegatedFrameNode::fetchAndSyncMailboxes(QList<MailboxTexture *> &mailboxe continue; } } - gpuMessageLoop->PostTask(FROM_HERE, base::Bind(&DelegatedFrameNode::pullTexture, this, mailboxTexture)); + gpuMessageLoop->task_runner()->PostTask(FROM_HERE, base::Bind(&DelegatedFrameNode::pullTexture, this, mailboxTexture)); } m_mailboxesFetchedWaitCond.wait(&m_mutex); @@ -1217,7 +1220,7 @@ void DelegatedFrameNode::pullTexture(DelegatedFrameNode *frameNode, MailboxTextu delete fence; } if (--frameNode->m_numPendingSyncPoints == 0) - base::MessageLoop::current()->PostTask(FROM_HERE, base::Bind(&DelegatedFrameNode::fenceAndUnlockQt, frameNode)); + base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, base::Bind(&DelegatedFrameNode::fenceAndUnlockQt, frameNode)); #else Q_UNUSED(frameNode) Q_UNUSED(texture) diff --git a/src/core/gl_surface_qt.cpp b/src/core/gl_surface_qt.cpp index e8f77e9ed..30a915598 100644 --- a/src/core/gl_surface_qt.cpp +++ b/src/core/gl_surface_qt.cpp @@ -174,6 +174,26 @@ bool GLSurfaceGLX::IsCreateContextSupported() return ExtensionsContain(g_extensions, "GLX_ARB_create_context"); } +bool GLSurfaceGLX::IsCreateContextRobustnessSupported() +{ + return false; // ExtensionsContain(g_extensions, "GLX_ARB_create_context_robustness"); +} + +bool GLSurfaceGLX::IsCreateContextProfileSupported() +{ + return false; // ExtensionsContain(g_extensions, "GLX_ARB_create_context_profile"); +} + +bool GLSurfaceGLX::IsCreateContextES2ProfileSupported() +{ + return ExtensionsContain(g_extensions, "GLX_ARB_create_context_es2_profile"); +} + +bool GLSurfaceGLX::IsOMLSyncControlSupported() +{ + return false; // ExtensionsContain(g_extensions, "GLX_OML_sync_control"); +} + bool GLSurfaceGLX::HasGLXExtension(const char *name) { return ExtensionsContain(g_extensions, name); @@ -189,11 +209,6 @@ const char* GLSurfaceGLX::GetGLXExtensions() return g_extensions; } -bool GLSurfaceGLX::IsCreateContextRobustnessSupported() -{ - return false; -} - bool GLSurfaceQtGLX::InitializeOneOff() { static bool initialized = false; diff --git a/src/core/media_capture_devices_dispatcher.cpp b/src/core/media_capture_devices_dispatcher.cpp index f06f0150f..031171bcc 100644 --- a/src/core/media_capture_devices_dispatcher.cpp +++ b/src/core/media_capture_devices_dispatcher.cpp @@ -50,7 +50,7 @@ #include "web_engine_settings.h" #include "base/strings/utf_string_conversions.h" -#include "chrome/browser/media/desktop_streams_registry.h" +#include "chrome/browser/media/webrtc/desktop_streams_registry.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/desktop_media_id.h" #include "content/public/browser/media_capture_devices.h" diff --git a/src/core/ozone_platform_eglfs.cpp b/src/core/ozone_platform_eglfs.cpp index 0b560da6c..e6e1ab5e2 100644 --- a/src/core/ozone_platform_eglfs.cpp +++ b/src/core/ozone_platform_eglfs.cpp @@ -52,7 +52,6 @@ #include "ui/ozone/common/stub_overlay_manager.h" #include "ui/ozone/public/ozone_platform.h" #include "ui/ozone/public/cursor_factory_ozone.h" -#include "ui/ozone/public/gpu_platform_support.h" #include "ui/ozone/public/gpu_platform_support_host.h" #include "ui/platform_window/platform_window.h" #include "ui/platform_window/platform_window_delegate.h" @@ -140,10 +139,6 @@ ui::CursorFactoryOzone* OzonePlatformEglfs::GetCursorFactoryOzone() { return cursor_factory_ozone_.get(); } -GpuPlatformSupport* OzonePlatformEglfs::GetGpuPlatformSupport() { - return gpu_platform_support_.get(); -} - GpuPlatformSupportHost* OzonePlatformEglfs::GetGpuPlatformSupportHost() { return gpu_platform_support_host_.get(); } @@ -186,13 +181,12 @@ void OzonePlatformEglfs::InitializeUI() { device_manager_ = CreateDeviceManager(); cursor_factory_ozone_.reset(new CursorFactoryOzone()); event_factory_ozone_.reset(new EventFactoryEvdev(NULL, device_manager_.get(), NULL)); - gpu_platform_support_host_.reset(CreateStubGpuPlatformSupportHost()); + gpu_platform_support_host_.reset(ui::CreateStubGpuPlatformSupportHost()); input_controller_ = CreateStubInputController(); } void OzonePlatformEglfs::InitializeGPU() { surface_factory_ozone_.reset(new QtWebEngineCore::SurfaceFactoryQt()); - gpu_platform_support_.reset(CreateStubGpuPlatformSupport()); } } // namespace ui diff --git a/src/core/ozone_platform_eglfs.h b/src/core/ozone_platform_eglfs.h index cdc2bd1ce..c319b1e5c 100644 --- a/src/core/ozone_platform_eglfs.h +++ b/src/core/ozone_platform_eglfs.h @@ -59,7 +59,6 @@ class OzonePlatformEglfs : public OzonePlatform { virtual ui::SurfaceFactoryOzone* GetSurfaceFactoryOzone() override; virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() override; - virtual GpuPlatformSupport* GetGpuPlatformSupport() override; virtual GpuPlatformSupportHost* GetGpuPlatformSupportHost() override; virtual std::unique_ptr<PlatformWindow> CreatePlatformWindow( PlatformWindowDelegate* delegate, @@ -78,7 +77,6 @@ class OzonePlatformEglfs : public OzonePlatform { std::unique_ptr<CursorFactoryOzone> cursor_factory_ozone_; std::unique_ptr<EventFactoryEvdev> event_factory_ozone_; - std::unique_ptr<GpuPlatformSupport> gpu_platform_support_; std::unique_ptr<GpuPlatformSupportHost> gpu_platform_support_host_; std::unique_ptr<InputController> input_controller_; std::unique_ptr<OverlayManagerOzone> overlay_manager_; diff --git a/src/core/permission_manager_qt.cpp b/src/core/permission_manager_qt.cpp index f76f100e6..970a608a3 100644 --- a/src/core/permission_manager_qt.cpp +++ b/src/core/permission_manager_qt.cpp @@ -59,6 +59,7 @@ BrowserContextAdapter::PermissionType toQt(content::PermissionType type) return BrowserContextAdapter::AudioCapturePermission; case content::PermissionType::VIDEO_CAPTURE: return BrowserContextAdapter::VideoCapturePermission; + case content::PermissionType::FLASH: case content::PermissionType::NOTIFICATIONS: case content::PermissionType::MIDI_SYSEX: case content::PermissionType::PUSH_MESSAGING: @@ -110,6 +111,7 @@ bool PermissionManagerQt::checkPermission(const QUrl &origin, BrowserContextAdap int PermissionManagerQt::RequestPermission(content::PermissionType permission, content::RenderFrameHost *frameHost, const GURL& requesting_origin, + bool /*user_gesture*/, const base::Callback<void(blink::mojom::PermissionStatus)>& callback) { int request_id = ++m_requestIdCount; @@ -139,6 +141,7 @@ int PermissionManagerQt::RequestPermission(content::PermissionType permission, int PermissionManagerQt::RequestPermissions(const std::vector<content::PermissionType>& permissions, content::RenderFrameHost* frameHost, const GURL& requesting_origin, + bool /*user_gesture*/, const base::Callback<void(const std::vector<blink::mojom::PermissionStatus>&)>& callback) { NOTIMPLEMENTED() << "RequestPermissions has not been implemented in QtWebEngine"; diff --git a/src/core/permission_manager_qt.h b/src/core/permission_manager_qt.h index e4392b01c..1cbb41b5e 100644 --- a/src/core/permission_manager_qt.h +++ b/src/core/permission_manager_qt.h @@ -64,6 +64,7 @@ public: content::PermissionType permission, content::RenderFrameHost* render_frame_host, const GURL& requesting_origin, + bool user_gesture, const base::Callback<void(blink::mojom::PermissionStatus)>& callback) override; void CancelPermissionRequest(int request_id) override; @@ -82,6 +83,7 @@ public: const std::vector<content::PermissionType>& permission, content::RenderFrameHost* render_frame_host, const GURL& requesting_origin, + bool user_gesture, const base::Callback<void( const std::vector<blink::mojom::PermissionStatus>&)>& callback) override; diff --git a/src/core/print_view_manager_base_qt.cpp b/src/core/print_view_manager_base_qt.cpp index 8c52e1b18..490a126e4 100644 --- a/src/core/print_view_manager_base_qt.cpp +++ b/src/core/print_view_manager_base_qt.cpp @@ -44,6 +44,8 @@ #include "type_conversion.h" #include "web_engine_context.h" +#include "base/message_loop/message_loop.h" +#include "base/run_loop.h" #include "base/single_thread_task_runner.h" #include "base/timer/timer.h" #include "base/values.h" @@ -483,9 +485,11 @@ bool PrintViewManagerBaseQt::RunInnerMessageLoop() { // Need to enable recursive task. { - base::MessageLoop::ScopedNestableTaskAllower allow( - base::MessageLoop::current()); - base::MessageLoop::current()->Run(); + base::RunLoop runLoop; + m_quitClosure = runLoop.QuitClosure(); + base::MessageLoop* loop = base::MessageLoop::current(); + base::MessageLoop::ScopedNestableTaskAllower allowNested(loop); + runLoop.Run(); } bool success = true; diff --git a/src/core/print_view_manager_base_qt.h b/src/core/print_view_manager_base_qt.h index a8b4b5fc8..27dda5ef6 100644 --- a/src/core/print_view_manager_base_qt.h +++ b/src/core/print_view_manager_base_qt.h @@ -135,6 +135,8 @@ protected: private: content::NotificationRegistrar m_registrar; scoped_refptr<printing::PrintJob> m_printJob; + // Closure for quitting nested message loop. + base::Closure m_quitClosure; bool m_isInsideInnerMessageLoop; bool m_isExpectingFirstPage; diff --git a/src/core/printing_message_filter_qt.cpp b/src/core/printing_message_filter_qt.cpp index a84ec491f..49940d7ee 100644 --- a/src/core/printing_message_filter_qt.cpp +++ b/src/core/printing_message_filter_qt.cpp @@ -111,6 +111,7 @@ void PrintingMessageFilterQt::OnGetDefaultPrintSettings(IPC::Message* reply_msg) false, printing::DEFAULT_MARGINS, false, + false, base::Bind(&PrintingMessageFilterQt::OnGetDefaultPrintSettingsReply, this, printer_query, @@ -156,6 +157,7 @@ void PrintingMessageFilterQt::OnScriptedPrint( params.has_selection, params.margin_type, params.is_scripted, + params.is_modifiable, base::Bind(&PrintingMessageFilterQt::OnScriptedPrintReply, this, printer_query, diff --git a/src/core/qtwebengine.gni b/src/core/qtwebengine.gni index 4e561e7a9..8fa018038 100644 --- a/src/core/qtwebengine.gni +++ b/src/core/qtwebengine.gni @@ -1,11 +1,9 @@ +import("//third_party/widevine/cdm/widevine.gni") + chromium_version = exec_script("//build/util/version.py", [ "-f", rebase_path("//chrome/VERSION"), "-t", "@MAJOR@.@MINOR@.@BUILD@.@PATCH@"], "list lines") -declare_args() { - use_qt = true -} - include_dirs = [ "//skia/config", "//third_party/skia/include/core" @@ -13,20 +11,17 @@ include_dirs = [ deps = [ "//base", - "//components/cdm/renderer", - "//components/devtools_http_handler", "//components/error_page/common", "//components/keyed_service/content", "//components/visitedlink/browser", "//components/visitedlink/renderer", "//components/web_cache/browser", - "//components/web_cache/public/interfaces", "//components/web_cache/renderer", "//content/public/app:browser", "//content/public/browser", "//content/public/common", + "//content/public/renderer", "//net:net_browser_services", - "//services/shell/public/cpp", "//skia", "//third_party/WebKit/public:blink", "//third_party/widevine/cdm:version_h", @@ -40,8 +35,10 @@ if (enable_widevine) { deps += [ "//components/cdm/renderer"] } -# fixme: +if (is_linux && !is_desktop_linux) { + deps += [ "//ui/events/ozone:events_ozone_evdev"] +} + defines = [ - "QTWEBENGINEPROCESS_NAME=\"QtWebEngineProcess\"", "CHROMIUM_VERSION=\"" + chromium_version[0] + "\"" ] diff --git a/src/core/qtwebengine_resources.gni b/src/core/qtwebengine_resources.gni index e3cd42169..a7ffb40f3 100644 --- a/src/core/qtwebengine_resources.gni +++ b/src/core/qtwebengine_resources.gni @@ -80,7 +80,7 @@ repack("qtwebengine_repack_resources_devtools") { chrome_repack_locales("qtwebengine_repack_locales_pack") { input_locales = locales - output_dir_name = "qtwebengine_locales" + output_dir = "$root_out_dir/qtwebengine_locales" output_locales = locales } diff --git a/src/core/qtwebengine_sources.gni b/src/core/qtwebengine_sources.gni index 2d3503e98..d58e92a55 100644 --- a/src/core/qtwebengine_sources.gni +++ b/src/core/qtwebengine_sources.gni @@ -1,3 +1,69 @@ +import("//build/config/features.gni") + +source_set("qtwebengine_spellcheck_sources") { + sources = [ + "//chrome/browser/spellchecker/spellcheck_custom_dictionary.cc", + "//chrome/browser/spellchecker/spellcheck_custom_dictionary.h", + "//chrome/browser/spellchecker/spellcheck_factory.cc", + "//chrome/browser/spellchecker/spellcheck_factory.h", + "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc", + "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h", + "//chrome/browser/spellchecker/spellcheck_message_filter.cc", + "//chrome/browser/spellchecker/spellcheck_message_filter.h", + "//chrome/browser/spellchecker/spellcheck_service.cc", + "//chrome/browser/spellchecker/spellcheck_service.h", + "//chrome/common/common_message_generator.cc", + "//components/spellcheck/browser/feedback.cc", + "//components/spellcheck/browser/feedback.h", + "//components/spellcheck/browser/feedback_sender.cc", + "//components/spellcheck/browser/feedback_sender.h", + "//components/spellcheck/browser/misspelling.cc", + "//components/spellcheck/browser/misspelling.h", + "//components/spellcheck/browser/spellcheck_action.cc", + "//components/spellcheck/browser/spellcheck_action.h", + "//components/spellcheck/browser/spellcheck_host_metrics.cc", + "//components/spellcheck/browser/spellcheck_host_metrics.h", + "//components/spellcheck/browser/spellcheck_platform_mac.mm", + "//components/spellcheck/browser/spelling_service_client.cc", + "//components/spellcheck/browser/spelling_service_client.h", + "//components/spellcheck/browser/word_trimmer.cc", + "//components/spellcheck/browser/word_trimmer.h", + "//components/spellcheck/browser/pref_names.cc", + "//components/spellcheck/browser/pref_names.h", + "//components/spellcheck/common/spellcheck_bdict_language.h", + "//components/spellcheck/common/spellcheck_common.cc", + "//components/spellcheck/common/spellcheck_common.h", + "//components/spellcheck/common/spellcheck_marker.h", + "//components/spellcheck/common/spellcheck_messages.h", + "//components/spellcheck/common/spellcheck_result.h", + "//components/spellcheck/common/spellcheck_switches.cc", + "//components/spellcheck/common/spellcheck_switches.h", + "//components/spellcheck/renderer/custom_dictionary_engine.cc", + "//components/spellcheck/renderer/custom_dictionary_engine.h", + "//components/spellcheck/renderer/hunspell_engine.cc", + "//components/spellcheck/renderer/hunspell_engine.h", + "//components/spellcheck/renderer/spellcheck.cc", + "//components/spellcheck/renderer/spellcheck.h", + "//components/spellcheck/renderer/spellcheck_language.cc", + "//components/spellcheck/renderer/spellcheck_language.h", + "//components/spellcheck/renderer/spellcheck_provider.cc", + "//components/spellcheck/renderer/spellcheck_provider.h", + "//components/spellcheck/renderer/spellcheck_worditerator.cc", + "//components/spellcheck/renderer/spellcheck_worditerator.h", + "//components/spellcheck/renderer/spelling_engine.h", + ] + deps = [ + "//third_party/WebKit/public:blink", + "//third_party/hunspell", + ] + if (is_mac && use_browser_spellchecker) { + sources += [ + "//chrome/browser/spellchecker/spellcheck_message_filter_platform.h", + "//chrome/browser/spellchecker/spellcheck_message_filter_platform_mac.cc", + ] + } +} + source_set("qtwebengine_sources") { include_dirs = [ "//skia/config", @@ -5,9 +71,9 @@ source_set("qtwebengine_sources") { ] deps = [] sources = [ - "//chrome/browser/media/desktop_media_list.h", - "//chrome/browser/media/desktop_streams_registry.cc", - "//chrome/browser/media/desktop_streams_registry.h", + "//chrome/browser/media/webrtc/desktop_media_list.h", + "//chrome/browser/media/webrtc/desktop_streams_registry.cc", + "//chrome/browser/media/webrtc/desktop_streams_registry.h", "//chrome/common/chrome_switches.cc", "//chrome/common/chrome_switches.h", "//components/prefs/testing_pref_store.cc", @@ -18,6 +84,17 @@ source_set("qtwebengine_sources") { "//extensions/common/url_pattern.h", ] + if (enable_spellcheck) { + sources += [ + "//chrome/common/pref_names.cc", + "//chrome/common/pref_names.h", + ] + deps += [ + ":qtwebengine_spellcheck_sources", + "//chrome/tools/convert_dict", + ] + } + if (enable_plugins) { sources += [ "//chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.cc", @@ -34,73 +111,6 @@ source_set("qtwebengine_sources") { ] } - if (enable_spellcheck) { - sources += [ - "//chrome/browser/spellchecker/feedback.cc", - "//chrome/browser/spellchecker/feedback.h", - "//chrome/browser/spellchecker/feedback_sender.cc", - "//chrome/browser/spellchecker/feedback_sender.h", - "//chrome/browser/spellchecker/misspelling.cc", - "//chrome/browser/spellchecker/misspelling.h", - "//chrome/browser/spellchecker/spellcheck_action.cc", - "//chrome/browser/spellchecker/spellcheck_action.h", - "//chrome/browser/spellchecker/spellcheck_custom_dictionary.cc", - "//chrome/browser/spellchecker/spellcheck_custom_dictionary.h", - "//chrome/browser/spellchecker/spellcheck_factory.cc", - "//chrome/browser/spellchecker/spellcheck_factory.h", - "//chrome/browser/spellchecker/spellcheck_host_metrics.cc", - "//chrome/browser/spellchecker/spellcheck_host_metrics.h", - "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc", - "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h", - "//chrome/browser/spellchecker/spellcheck_message_filter.cc", - "//chrome/browser/spellchecker/spellcheck_message_filter.h", - "//chrome/browser/spellchecker/spellcheck_platform_mac.mm", - "//chrome/browser/spellchecker/spellcheck_service.cc", - "//chrome/browser/spellchecker/spellcheck_service.h", - "//chrome/browser/spellchecker/spelling_service_client.cc", - "//chrome/browser/spellchecker/spelling_service_client.h", - "//chrome/browser/spellchecker/word_trimmer.cc", - "//chrome/browser/spellchecker/word_trimmer.h", - "//chrome/common/common_message_generator.cc", - "//chrome/common/pref_names.cc", - "//chrome/common/pref_names.h", - "//chrome/common/spellcheck_bdict_language.h", - "//chrome/common/spellcheck_common.cc", - "//chrome/common/spellcheck_common.h", - "//chrome/common/spellcheck_marker.h", - "//chrome/common/spellcheck_messages.h", - "//chrome/common/spellcheck_result.h", - "//chrome/renderer/spellchecker/custom_dictionary_engine.cc", - "//chrome/renderer/spellchecker/custom_dictionary_engine.h", - "//chrome/renderer/spellchecker/hunspell_engine.cc", - "//chrome/renderer/spellchecker/hunspell_engine.h", - "//chrome/renderer/spellchecker/spellcheck.cc", - "//chrome/renderer/spellchecker/spellcheck.h", - "//chrome/renderer/spellchecker/spellcheck_language.cc", - "//chrome/renderer/spellchecker/spellcheck_language.h", - "//chrome/renderer/spellchecker/spellcheck_provider.cc", - "//chrome/renderer/spellchecker/spellcheck_provider.h", - "//chrome/renderer/spellchecker/spellcheck_worditerator.cc", - "//chrome/renderer/spellchecker/spellcheck_worditerator.h", - "//chrome/renderer/spellchecker/spelling_engine.h", - ] - include_dirs += [ - "//third_party/WebKit" - ] - deps += [ - "//third_party/icu", - "//third_party/hunspell", - "//chrome/tools/convert_dict" - ] - - if (is_mac && use_browser_spellchecker) { - sources += [ - "//chrome/browser/spellchecker/spellcheck_message_filter_platform.h", - "//chrome/browser/spellchecker/spellcheck_message_filter_platform_mac.cc", - ] - } - } - if (enable_basic_printing || enable_print_preview) { sources += [ "//chrome/browser/printing/printer_query.cc", diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index 280a0475d..147fdb5bb 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -694,7 +694,7 @@ void RenderWidgetHostViewQt::OnSwapCompositorFrame(uint32_t output_surface_id, c m_adapterClient->updateContentsSize(toQt(m_lastContentsSize)); } -void RenderWidgetHostViewQt::GetScreenInfo(blink::WebScreenInfo* results) +void RenderWidgetHostViewQt::GetScreenInfo(content::ScreenInfo* results) { QWindow* window = m_delegate->window(); if (!window) @@ -702,7 +702,7 @@ void RenderWidgetHostViewQt::GetScreenInfo(blink::WebScreenInfo* results) GetScreenInfoFromNativeWindow(window, results); // Support experimental.viewport.devicePixelRatio - results->deviceScaleFactor *= dpiScale(); + results->device_scale_factor *= dpiScale(); } gfx::Rect RenderWidgetHostViewQt::GetBoundsInRootWindow() diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h index 2f5d97b67..8bc30f375 100644 --- a/src/core/render_widget_host_view_qt.h +++ b/src/core/render_widget_host_view_qt.h @@ -152,7 +152,7 @@ public: virtual bool HasAcceleratedSurface(const gfx::Size&) Q_DECL_OVERRIDE; virtual void OnSwapCompositorFrame(uint32_t output_surface_id, cc::CompositorFrame frame) Q_DECL_OVERRIDE; - virtual void GetScreenInfo(blink::WebScreenInfo* results) Q_DECL_OVERRIDE; + void GetScreenInfo(content::ScreenInfo* results); virtual gfx::Rect GetBoundsInRootWindow() Q_DECL_OVERRIDE; virtual void ProcessAckedTouchEvent(const content::TouchEventWithLatencyInfo &touch, content::InputEventAckState ack_result) Q_DECL_OVERRIDE; virtual void ClearCompositorFrame() Q_DECL_OVERRIDE; diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index 69f5bfefe..ee6ffe420 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -44,8 +44,8 @@ #include "base/strings/string_split.h" #include "base/strings/utf_string_conversions.h" #if defined(ENABLE_SPELLCHECK) -#include "chrome/renderer/spellchecker/spellcheck.h" -#include "chrome/renderer/spellchecker/spellcheck_provider.h" +#include "components/spellcheck/renderer/spellcheck.h" +#include "components/spellcheck/renderer/spellcheck_provider.h" #endif #include "components/cdm/renderer/widevine_key_system_properties.h" #include "components/error_page/common/error_page_params.h" @@ -75,6 +75,7 @@ #include "renderer/render_frame_observer_qt.h" #include "renderer/render_view_observer_qt.h" #include "renderer/user_resource_controller.h" +#include "services/shell/public/cpp/interface_registry.h" #include "components/grit/components_resources.h" @@ -98,7 +99,8 @@ void ContentRendererClientQt::RenderThreadStarted() content::RenderThread *renderThread = content::RenderThread::Get(); m_visitedLinkSlave.reset(new visitedlink::VisitedLinkSlave); m_webCacheImpl.reset(new web_cache::WebCacheImpl()); - renderThread->AddObserver(m_visitedLinkSlave.data()); + renderThread->GetInterfaceRegistry()->AddInterface( + m_visitedLinkSlave->GetBindCallback()); renderThread->AddObserver(UserResourceController::instance()); #if defined(ENABLE_SPELLCHECK) diff --git a/src/core/renderer/user_resource_controller.cpp b/src/core/renderer/user_resource_controller.cpp index 8c603b805..c89ad69ad 100644 --- a/src/core/renderer/user_resource_controller.cpp +++ b/src/core/renderer/user_resource_controller.cpp @@ -39,6 +39,7 @@ #include "user_resource_controller.h" +#include "base/pending_task.h" #include "base/strings/pattern.h" #include "content/public/renderer/render_frame.h" #include "content/public/renderer/render_view.h" @@ -166,16 +167,16 @@ UserResourceController::RenderViewObserverHelper::RenderViewObserverHelper(conte void UserResourceController::RenderViewObserverHelper::DidFinishDocumentLoad(blink::WebLocalFrame *frame) { m_pendingFrames.insert(frame); - base::MessageLoop::current()->PostDelayedTask(FROM_HERE, base::Bind(&UserResourceController::RenderViewObserverHelper::runScripts, - base::Unretained(this), UserScriptData::AfterLoad, frame), - base::TimeDelta::FromMilliseconds(afterLoadTimeout)); + base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(FROM_HERE, base::Bind(&UserResourceController::RenderViewObserverHelper::runScripts, + base::Unretained(this), UserScriptData::AfterLoad, frame), + base::TimeDelta::FromMilliseconds(afterLoadTimeout)); } void UserResourceController::RenderViewObserverHelper::DidFinishLoad(blink::WebLocalFrame *frame) { // DidFinishDocumentLoad always comes before this, so frame has already been marked as pending. - base::MessageLoop::current()->PostTask(FROM_HERE, base::Bind(&UserResourceController::RenderViewObserverHelper::runScripts, - base::Unretained(this), UserScriptData::AfterLoad, frame)); + base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, base::Bind(&UserResourceController::RenderViewObserverHelper::runScripts, + base::Unretained(this), UserScriptData::AfterLoad, frame)); } void UserResourceController::RenderViewObserverHelper::DidStartProvisionalLoad(blink::WebLocalFrame *frame) diff --git a/src/core/renderer_host/pepper/pepper_isolated_file_system_message_filter.cpp b/src/core/renderer_host/pepper/pepper_isolated_file_system_message_filter.cpp index 7e8b2fdda..8ebc74486 100644 --- a/src/core/renderer_host/pepper/pepper_isolated_file_system_message_filter.cpp +++ b/src/core/renderer_host/pepper/pepper_isolated_file_system_message_filter.cpp @@ -83,7 +83,7 @@ scoped_refptr<base::TaskRunner> PepperIsolatedFileSystemMessageFilter::OverrideT { // In order to reach ExtensionSystem, we need to get ProfileManager first. // ProfileManager lives in UI thread, so we need to do this in UI thread. - return content::BrowserThread::GetMessageLoopProxyForThread(content::BrowserThread::UI); + return content::BrowserThread::GetTaskRunnerForThread(content::BrowserThread::UI); } int32_t PepperIsolatedFileSystemMessageFilter::OnResourceMessageReceived(const IPC::Message& msg, ppapi::host::HostMessageContext *context) diff --git a/src/core/ssl_host_state_delegate_qt.cpp b/src/core/ssl_host_state_delegate_qt.cpp index 506172aaa..72aec2bff 100644 --- a/src/core/ssl_host_state_delegate_qt.cpp +++ b/src/core/ssl_host_state_delegate_qt.cpp @@ -34,6 +34,8 @@ ** ****************************************************************************/ +#include "base/callback.h" + #include "ssl_host_state_delegate_qt.h" #include "type_conversion.h" @@ -86,9 +88,21 @@ void SSLHostStateDelegateQt::AllowCert(const std::string &host, const net::X509C } // Clear all allow preferences. -void SSLHostStateDelegateQt::Clear() +void SSLHostStateDelegateQt::Clear(const base::Callback<bool(const std::string&)>& host_filter) { - m_certPolicyforHost.clear(); + if (host_filter.is_null()) { + m_certPolicyforHost.clear(); + return; + } + + for (auto it = m_certPolicyforHost.begin(); it != m_certPolicyforHost.end();) { + auto next_it = std::next(it); + + if (host_filter.Run(it->first)) + m_certPolicyforHost.erase(it); + + it = next_it; + } } // Queries whether |cert| is allowed for |host| and |error|. Returns true in @@ -102,12 +116,12 @@ content::SSLHostStateDelegate::CertJudgment SSLHostStateDelegateQt::QueryPolicy( } // Records that a host has run insecure content. -void SSLHostStateDelegateQt::HostRanInsecureContent(const std::string &host, int pid) +void SSLHostStateDelegateQt::HostRanInsecureContent(const std::string &host, int pid, InsecureContentType content_type) { } // Returns whether the specified host ran insecure content. -bool SSLHostStateDelegateQt::DidHostRunInsecureContent(const std::string &host, int pid) const +bool SSLHostStateDelegateQt::DidHostRunInsecureContent(const std::string &host, int pid, InsecureContentType content_type) const { return false; } diff --git a/src/core/ssl_host_state_delegate_qt.h b/src/core/ssl_host_state_delegate_qt.h index 64a430094..7cc63b339 100644 --- a/src/core/ssl_host_state_delegate_qt.h +++ b/src/core/ssl_host_state_delegate_qt.h @@ -62,11 +62,11 @@ public: // content::SSLHostStateDelegate implementation: virtual void AllowCert(const std::string &, const net::X509Certificate &cert, net::CertStatus error) override; - virtual void Clear() override; + virtual void Clear(const base::Callback<bool(const std::string&)>& host_filter) override; virtual CertJudgment QueryPolicy(const std::string &host, const net::X509Certificate &cert, net::CertStatus error,bool *expired_previous_decision) override; - virtual void HostRanInsecureContent(const std::string &host, int pid) override; - virtual bool DidHostRunInsecureContent(const std::string &host, int pid) const override; + virtual void HostRanInsecureContent(const std::string& host, int child_id, InsecureContentType content_type) override; + virtual bool DidHostRunInsecureContent(const std::string& host, int child_id, InsecureContentType content_type) const override; virtual void RevokeUserAllowExceptions(const std::string &host) override; virtual bool HasAllowException(const std::string &host) const override; diff --git a/src/core/surface_factory_qt.cpp b/src/core/surface_factory_qt.cpp index 97a304730..36c05ec5d 100644 --- a/src/core/surface_factory_qt.cpp +++ b/src/core/surface_factory_qt.cpp @@ -71,7 +71,7 @@ base::NativeLibrary LoadLibrary(const base::FilePath& filename) { return library; } -bool SurfaceFactoryQt::LoadEGLGLES2Bindings(AddGLLibraryCallback add_gl_library, SetGLGetProcAddressProcCallback set_gl_get_proc_address) +bool SurfaceFactoryQt::LoadEGLGLES2Bindings() { base::FilePath libEGLPath = QtWebEngineCore::toFilePath(QT_LIBDIR_EGL); libEGLPath = libEGLPath.Append("libEGL.so.1"); diff --git a/src/core/surface_factory_qt.h b/src/core/surface_factory_qt.h index d65680a4a..ad6018946 100644 --- a/src/core/surface_factory_qt.h +++ b/src/core/surface_factory_qt.h @@ -51,7 +51,7 @@ namespace QtWebEngineCore { class SurfaceFactoryQt : public ui::SurfaceFactoryOzone { - virtual bool LoadEGLGLES2Bindings(AddGLLibraryCallback add_gl_library, SetGLGetProcAddressProcCallback set_gl_get_proc_address) Q_DECL_OVERRIDE; + virtual bool LoadEGLGLES2Bindings() Q_DECL_OVERRIDE; virtual intptr_t GetNativeDisplay() Q_DECL_OVERRIDE; }; diff --git a/src/core/url_request_context_getter_qt.cpp b/src/core/url_request_context_getter_qt.cpp index bf4661102..cabf44ac6 100644 --- a/src/core/url_request_context_getter_qt.cpp +++ b/src/core/url_request_context_getter_qt.cpp @@ -173,8 +173,8 @@ void URLRequestContextGetterQt::updateStorageSettings() m_proxyConfigService = new ProxyConfigServiceQt( net::ProxyService::CreateSystemProxyConfigService( - content::BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO), - content::BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE) + content::BrowserThread::GetTaskRunnerForThread(BrowserThread::IO), + content::BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE) )); if (m_contextInitialized) content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE, @@ -470,7 +470,7 @@ void URLRequestContextGetterQt::generateHttpCache() net::CACHE_BACKEND_DEFAULT, base::FilePath(), m_httpCacheMaxSize, - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::CACHE) + BrowserThread::GetTaskRunnerForThread(BrowserThread::CACHE) ); break; case BrowserContextAdapter::DiskHttpCache: @@ -480,7 +480,7 @@ void URLRequestContextGetterQt::generateHttpCache() net::CACHE_BACKEND_DEFAULT, toFilePath(m_httpCachePath), m_httpCacheMaxSize, - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::CACHE) + BrowserThread::GetTaskRunnerForThread(BrowserThread::CACHE) ); break; case BrowserContextAdapter::NoCache: @@ -593,7 +593,7 @@ void URLRequestContextGetterQt::regenerateJobFactory() scoped_refptr<base::SingleThreadTaskRunner> URLRequestContextGetterQt::GetNetworkTaskRunner() const { - return content::BrowserThread::GetMessageLoopProxyForThread(content::BrowserThread::IO); + return content::BrowserThread::GetTaskRunnerForThread(content::BrowserThread::IO); } } // namespace QtWebEngineCore diff --git a/src/core/url_request_qrc_job_qt.cpp b/src/core/url_request_qrc_job_qt.cpp index 97460f0b7..b4e960921 100644 --- a/src/core/url_request_qrc_job_qt.cpp +++ b/src/core/url_request_qrc_job_qt.cpp @@ -41,6 +41,8 @@ #include "type_conversion.h" +#include "base/pending_task.h" +#include "base/threading/thread_task_runner_handle.h" #include "net/base/net_errors.h" #include "net/base/io_buffer.h" @@ -67,7 +69,7 @@ URLRequestQrcJobQt::~URLRequestQrcJobQt() void URLRequestQrcJobQt::Start() { - base::MessageLoop::current()->PostTask(FROM_HERE, base::Bind(&URLRequestQrcJobQt::startGetHead, m_weakFactory.GetWeakPtr())); + base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, base::Bind(&URLRequestQrcJobQt::startGetHead, m_weakFactory.GetWeakPtr())); } void URLRequestQrcJobQt::Kill() diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 2534286bf..f3a75ecff 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -372,7 +372,7 @@ QSharedPointer<WebContentsAdapter> WebContentsAdapter::createFromSerializedNavig // Unlike WebCore, Chromium only supports Restoring to a new WebContents instance. content::WebContents* newWebContents = createBlankWebContents(adapterClient, adapterClient->browserContextAdapter()->browserContext()); content::NavigationController &controller = newWebContents->GetController(); - controller.Restore(currentIndex, content::NavigationController::RESTORE_LAST_SESSION_EXITED_CLEANLY, &entries); + controller.Restore(currentIndex, content::RestoreType::LAST_SESSION_EXITED_CLEANLY, &entries); if (controller.GetActiveEntry()) { // Set up the file access rights for the selected navigation entry. diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h index 3112e4484..d4b2974fc 100644 --- a/src/core/web_contents_adapter_client.h +++ b/src/core/web_contents_adapter_client.h @@ -254,16 +254,15 @@ public: // This must match window_open_disposition_list.h. enum WindowOpenDisposition { UnknownDisposition = 0, - SuppressOpenDisposition = 1, - CurrentTabDisposition = 2, - SingletonTabDisposition = 3, - NewForegroundTabDisposition = 4, - NewBackgroundTabDisposition = 5, - NewPopupDisposition = 6, - NewWindowDisposition = 7, - SaveToDiskDisposition = 8, - OffTheRecordDisposition = 9, - IgnoreActionDisposition = 10, + CurrentTabDisposition = 1, + SingletonTabDisposition = 2, + NewForegroundTabDisposition = 3, + NewBackgroundTabDisposition = 4, + NewPopupDisposition = 5, + NewWindowDisposition = 6, + SaveToDiskDisposition = 7, + OffTheRecordDisposition = 8, + IgnoreActionDisposition = 9, }; // Must match the values in javascript_message_type.h. diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp index 87badc189..c7ad844a8 100644 --- a/src/core/web_contents_delegate_qt.cpp +++ b/src/core/web_contents_delegate_qt.cpp @@ -101,7 +101,7 @@ WebContentsDelegateQt::WebContentsDelegateQt(content::WebContents *webContents, content::WebContents *WebContentsDelegateQt::OpenURLFromTab(content::WebContents *source, const content::OpenURLParams ¶ms) { content::WebContents *target = source; - if (params.disposition != CURRENT_TAB) { + if (params.disposition != WindowOpenDisposition::CURRENT_TAB) { QSharedPointer<WebContentsAdapter> targetAdapter = createWindow(0, params.disposition, gfx::Rect(), params.user_gesture); if (targetAdapter) target = targetAdapter->webContents(); diff --git a/src/core/web_contents_view_qt.cpp b/src/core/web_contents_view_qt.cpp index 24c4e198f..a8c6cca70 100644 --- a/src/core/web_contents_view_qt.cpp +++ b/src/core/web_contents_view_qt.cpp @@ -232,4 +232,11 @@ void WebContentsViewQt::TakeFocus(bool reverse) m_client->passOnFocus(reverse); } +void WebContentsViewQt::GetScreenInfo(content::ScreenInfo* results) const +{ + if (auto rwhv = static_cast<RenderWidgetHostViewQt *>(m_webContents->GetRenderWidgetHostView())) + rwhv->GetScreenInfo(results); +} + + } // namespace QtWebEngineCore diff --git a/src/core/web_contents_view_qt.h b/src/core/web_contents_view_qt.h index 48532c0c5..8d7d7a032 100644 --- a/src/core/web_contents_view_qt.h +++ b/src/core/web_contents_view_qt.h @@ -117,6 +117,8 @@ public: virtual void TakeFocus(bool reverse) Q_DECL_OVERRIDE; + virtual void GetScreenInfo(content::ScreenInfo* results) const Q_DECL_OVERRIDE; + #if defined(OS_MACOSX) virtual void SetAllowOtherViews(bool allow) Q_DECL_OVERRIDE { m_allowOtherViews = allow; } virtual bool GetAllowOtherViews() const Q_DECL_OVERRIDE { return m_allowOtherViews; } diff --git a/src/core/web_event_factory.cpp b/src/core/web_event_factory.cpp index 9681ad629..ff5cc99a8 100644 --- a/src/core/web_event_factory.cpp +++ b/src/core/web_event_factory.cpp @@ -1036,25 +1036,25 @@ static inline double currentTimeForEvent(const QInputEvent* event) static WebMouseEvent::Button mouseButtonForEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) - return WebMouseEvent::ButtonLeft; + return WebMouseEvent::Button::Left; else if (event->button() == Qt::RightButton) - return WebMouseEvent::ButtonRight; + return WebMouseEvent::Button::Right; else if (event->button() == Qt::MidButton) - return WebMouseEvent::ButtonMiddle; + return WebMouseEvent::Button::Middle; if (event->type() != QEvent::MouseMove) - return WebMouseEvent::ButtonNone; + return WebMouseEvent::Button::NoButton; // This is technically wrong, mouse move should always have ButtonNone, // but it is consistent with aura and selection code depends on it: if (event->buttons() & Qt::LeftButton) - return WebMouseEvent::ButtonLeft; + return WebMouseEvent::Button::Left; else if (event->buttons() & Qt::RightButton) - return WebMouseEvent::ButtonRight; + return WebMouseEvent::Button::Right; else if (event->buttons() & Qt::MidButton) - return WebMouseEvent::ButtonMiddle; + return WebMouseEvent::Button::Middle; - return WebMouseEvent::ButtonNone; + return WebMouseEvent::Button::NoButton; } template <typename T> @@ -1247,7 +1247,6 @@ content::NativeWebKeyboardEvent WebEventFactory::toWebKeyboardEvent(QKeyEvent *e webKitEvent.nativeKeyCode = ev->nativeVirtualKey(); webKitEvent.windowsKeyCode = windowsKeyCodeForKeyEvent(ev->key(), ev->modifiers() & Qt::KeypadModifier); - webKitEvent.setKeyIdentifierFromWindowsKeyCode(); webKitEvent.domKey = getDomKeyFromQKeyEvent(ev); ui::DomCode domCode = ui::DomCode::NONE; diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf index b0e09aca0..b17626c3e 100644 --- a/tools/qmake/mkspecs/features/configure.prf +++ b/tools/qmake/mkspecs/features/configure.prf @@ -35,9 +35,11 @@ defineTest(runConfigure) { } isQtMinimum(5, 9) { qtConfig(appstore-compliant): WEBENGINE_CONFIG += use_appstore_compliant_code - linux: !cross_compile: use_gold_linker: WEBENGINE_CONFIG += use_gn + linux: !cross_compile: WEBENGINE_CONFIG += use_gn macos: WEBENGINE_CONFIG += use_gn + win32: WEBENGINE_CONFIG += use_gn } + !use?(gn): skipBuild("Chromium 55 and new can only be built with GN") linux { QT_FOR_CONFIG += gui-private @@ -51,6 +53,10 @@ defineTest(runConfigure) { packagesExist("\'harfbuzz >= 1.2.0\'"): WEBENGINE_CONFIG += use_system_harfbuzz else: log("System harfbuzz is too old (min. version 1.2). Using Chromium's copy.$${EOL}") } + qtConfig(glib) { + packagesExist("\'glib-2.0 >= 2.32.0\'"): WEBENGINE_CONFIG += use_glib + else: skipBuild("System glib is too old (min. version 2.32).$${EOL}") + } !contains(WEBENGINE_CONFIG, embedded_build): REQUIRED_PACKAGES += libpci for(package, $$list($$REQUIRED_PACKAGES)) { diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf index a26dbed48..6ef87f867 100644 --- a/tools/qmake/mkspecs/features/functions.prf +++ b/tools/qmake/mkspecs/features/functions.prf @@ -47,10 +47,10 @@ defineTest(isPlatformSupported) { skipBuild("Using XCode version $$QMAKE_XCODE_VERSION, but at least version 5.1 is required to build Qt WebEngine.") return(false) } - # We require OS X 10.9 (darwin version 13.0.0) or newer + # We require OS X 10.0 (darwin version 14.0.0) or newer darwin_major_version = $$section(QMAKE_HOST.version, ., 0, 0) - lessThan(darwin_major_version, 13) { - skipBuild("Qt WebEngine requires OS X version 10.9 or newer.") + lessThan(darwin_major_version, 14) { + skipBuild("Qt WebEngine requires OS X version 10.10 or newer.") return(false) } !isMinOSXSDKVersion(10, 10): { @@ -223,8 +223,13 @@ defineTest(isGCCVersionSupported) { return(false) } +defineTest(isDeveloperBuild) { + qtConfig(private_tests): return(true) # enabled for developer-build + return(false) +} + defineTest(isQMLTestSupportApiEnabled) { - qtConfig(private_tests): return(true) # enable for developer-build + isDeveloperBuild(): return(true) contains(QT_BUILD_PARTS, tests): return(true) contains(WEBENGINE_CONFIG, testsupport): return(true) return(false) diff --git a/tools/scripts/init-repository.py b/tools/scripts/init-repository.py index 9fd951be4..dc5cdb8ce 100755 --- a/tools/scripts/init-repository.py +++ b/tools/scripts/init-repository.py @@ -80,6 +80,7 @@ def updateLastChange(): print 'updating LASTCHANGE files' subprocess.call(['python', 'build/util/lastchange.py', '-o', 'build/util/LASTCHANGE']) subprocess.call(['python', 'build/util/lastchange.py', '-s', 'third_party/WebKit', '-o', 'build/util/LASTCHANGE.blink']) + subprocess.call(['python', 'build/util/lastchange.py', '-m', 'SKIA_COMMIT_HASH', '-s', 'third_party/skia', '--header', 'skia/ext/skia_commit_hash.h']) os.chdir(currentDir) def initUpstreamSubmodules(): diff --git a/tools/scripts/take_snapshot.py b/tools/scripts/take_snapshot.py index 78b8066ca..7af70bf22 100755 --- a/tools/scripts/take_snapshot.py +++ b/tools/scripts/take_snapshot.py @@ -76,10 +76,8 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('android_webview') or file_path.startswith('apps/') or file_path.startswith('ash/') - or file_path.startswith('athena') - or file_path.startswith('base/android/java') + or file_path.startswith('base/android') or file_path.startswith('breakpad') - or file_path.startswith('build/android/') or file_path.startswith('buildtools/clang_format/script') or (file_path.startswith('chrome/') and not file_path.startswith('chrome/VERSION') and @@ -91,8 +89,8 @@ def isInChromiumBlacklist(file_path): not '/renderer/resources/' in file_path and not 'repack_locales' in file_path and not 'third_party/chromevox' in file_path and - not 'media/desktop_media_list.h' in file_path and - not 'media/desktop_streams_registry.' in file_path and + not 'media/webrtc/desktop_media_list.h' in file_path and + not 'media/webrtc/desktop_streams_registry.' in file_path and not 'common/chrome_constants.' in file_path and not 'common/chrome_paths' in file_path and not 'common/chrome_switches.' in file_path and @@ -113,8 +111,8 @@ def isInChromiumBlacklist(file_path): not file_path.endswith('.json') and not file_path.endswith('chrome_version.rc.version')) or file_path.startswith('chrome_frame') + or file_path.startswith('chromecast') or file_path.startswith('chromeos') - or file_path.startswith('cloud_print') or file_path.startswith('components/chrome_apps/') or file_path.startswith('components/cronet/') or file_path.startswith('components/drive/') @@ -126,7 +124,7 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('components/proximity_auth/') or (file_path.startswith('components/resources/terms/') and not file_path.endswith('terms_chromium.html')) or file_path.startswith('components/rlz/') - or file_path.startswith('components/sync_driver/') + or file_path.startswith('components/sync/') or file_path.startswith('components/test/') or file_path.startswith('components/test_runner/') or file_path.startswith('components/translate/') @@ -142,7 +140,6 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('net/android/java') or file_path.startswith('remoting') or file_path.startswith('rlz') - or file_path.startswith('sync') or file_path.startswith('testing/android') or file_path.startswith('testing/buildbot') or file_path.startswith('third_party/WebKit/LayoutTests') @@ -158,13 +155,7 @@ def isInChromiumBlacklist(file_path): or (file_path.startswith('third_party/cacheinvalidation') and not file_path.endswith('isolate')) or file_path.startswith('third_party/boringssl/src/fuzz') - or (file_path.startswith('third_party/catapult') and not - (file_path.startswith('third_party/catapult/third_party/py_vulcanize') - or file_path.startswith('third_party/catapult/tracing/tracing/') - or file_path.startswith('third_party/catapult/tracing/tracing_build') - or file_path.startswith('third_party/catapult/tracing/third_party') - or file_path.startswith('third_party/catapult/tracing/bin') - or file_path.endswith('tracing_project.py'))) + or file_path.startswith('third_party/catapult') or file_path.startswith('third_party/chromite') or file_path.startswith('third_party/cld_2') or file_path.startswith('third_party/codesighs') @@ -173,6 +164,7 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('third_party/cython') or file_path.startswith('third_party/deqp') or file_path.startswith('third_party/elfutils') + or file_path.startswith('third_party/freetype-android') or file_path.startswith('third_party/google_input_tools') or file_path.startswith('third_party/gperf') or file_path.startswith('third_party/gnu_binutils') @@ -303,6 +295,7 @@ def exportChromium(): # Add LASTCHANGE files which are not tracked by git. files.append('build/util/LASTCHANGE') files.append('build/util/LASTCHANGE.blink') + files.append('skia/ext/skia_commit_hash.h') print 'copying files to ' + third_party_chromium for i in xrange(len(files)): printProgress(i+1, len(files)) diff --git a/tools/scripts/version_resolver.py b/tools/scripts/version_resolver.py index e481f0ed0..b80efff34 100644 --- a/tools/scripts/version_resolver.py +++ b/tools/scripts/version_resolver.py @@ -38,9 +38,9 @@ import json import urllib2 import git_submodule as GitSubmodule -chromium_version = '53.0.2785.148' -chromium_branch = '2785' -ninja_version = 'v1.7.1' +chromium_version = '55.0.2883.105' +chromium_branch = '2883' +ninja_version = 'v1.7.2' json_url = 'http://omahaproxy.appspot.com/all.json' |