From 25ff83bc7b3e921aa540b88f6c848a78ee7d461f Mon Sep 17 00:00:00 2001 From: Andras Becsi Date: Tue, 25 Mar 2014 14:55:56 +0100 Subject: Update patches to stable branch 1750 Change-Id: I85149bf4405420813d07bee5259f11a192e86a73 Reviewed-by: Jocelyn Turcotte Reviewed-by: Zoltan Arvai --- init-repository.py | 2 +- ...Add-WebEngineContext-to-RunLoop-s-friends.patch | 2 +- .../0002-Mac-Use-libc-instead-of-stdlibc.patch | 24 +- ...does-not-support-incomplete-types-in-temp.patch | 163 +++++-------- .../0004-Do-not-modify-the-child-path.patch | 4 +- .../0005-Do-not-warn-for-header-hygiene.patch | 6 +- ...ld-files-necessary-for-touch-and-gestures.patch | 45 ++-- ...-Wno-deprecated-register-from-common.gypi.patch | 6 +- ...icts-when-including-both-QtOpenGL-headers.patch | 156 ++++++++++-- ...ard-declare-UIResourceRequest-Identity-an.patch | 16 +- ...Fix-the-build-with-a-GL-ES2-configured-Qt.patch | 32 +-- ...finition-of-MessagePumpGtk-GetDefaultXDis.patch | 31 --- ...finition-of-MessagePumpX11-GetDefaultXDis.patch | 33 +++ ...rs-for-the-Qt-delegated-renderer-integrat.patch | 6 +- ...to-setup-GL-contexts-sharing-with-QtQuick.patch | 10 +- .../0014-Declare-a-Qt-IPC-message-class.patch | 4 +- .../0015-Blacklist-the-skypebuttons-plugin.patch | 32 +++ ...antExtended-Send-search-URLs-to-renderers.patch | 271 --------------------- .../0016-Blacklist-the-skypebuttons-plugin.patch | 32 --- ...Running-without-renderer-sandbox-error-me.patch | 26 ++ ...Running-without-renderer-sandbox-error-me.patch | 26 -- ...board.h-to-allow-building-clipboard_qt.cp.patch | 55 +++++ ...Get-rid-of-the-gtk-pango-cairo-dependency.patch | 86 +++++++ ...board.h-to-allow-building-clipboard_qt.cp.patch | 53 ---- ...-https-codereview.chromium.org-137433002-.patch | 34 +++ ...move-leftovers-from-WebKitSystemInterface.patch | 10 +- ...verrideable-path-for-perl-gperf-and-bison.patch | 14 +- ...Add-missing-dependency-to-khronos_headers.patch | 32 +++ .../0004-Disable-rubber-banding-on-Mac.patch | 24 ++ ...ot-forward-declare-WebRtcVoiceChannelInfo.patch | 10 +- ...path-for-QtWebEngine-build-in-Windows-spe.patch | 29 +++ ...bEngine-build-in-Windows-specific-actions.patch | 29 --- ...-grd-files-outside-of-chromium-source-dir.patch | 11 +- .../gyp/0001-Fix-build-with-toplevel-dir.patch | 13 +- ...dd-support-for-libc-to-xcode_emulation.py.patch | 4 +- ...0003-Allow-letting-qmake-do-the-link-step.patch | 4 +- tools/scripts/git_submodule.py | 2 + tools/scripts/version_resolver.py | 20 +- 38 files changed, 671 insertions(+), 686 deletions(-) delete mode 100644 patches/chromium/0011-Hide-the-definition-of-MessagePumpGtk-GetDefaultXDis.patch create mode 100644 patches/chromium/0011-Hide-the-definition-of-MessagePumpX11-GetDefaultXDis.patch create mode 100644 patches/chromium/0015-Blacklist-the-skypebuttons-plugin.patch delete mode 100644 patches/chromium/0015-InstantExtended-Send-search-URLs-to-renderers.patch delete mode 100644 patches/chromium/0016-Blacklist-the-skypebuttons-plugin.patch create mode 100644 patches/chromium/0016-Remove-the-Running-without-renderer-sandbox-error-me.patch delete mode 100644 patches/chromium/0017-Remove-the-Running-without-renderer-sandbox-error-me.patch create mode 100644 patches/chromium/0017-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch create mode 100644 patches/chromium/0018-Get-rid-of-the-gtk-pango-cairo-dependency.patch delete mode 100644 patches/chromium/0018-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch create mode 100644 patches/chromium/0019-Cherry-pick-https-codereview.chromium.org-137433002-.patch create mode 100644 patches/chromium/third_party/WebKit/0003-Add-missing-dependency-to-khronos_headers.patch create mode 100644 patches/chromium/third_party/WebKit/0004-Disable-rubber-banding-on-Mac.patch create mode 100644 patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-spe.patch delete mode 100644 patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-specific-actions.patch diff --git a/init-repository.py b/init-repository.py index d3f170fd8..a4572b16e 100755 --- a/init-repository.py +++ b/init-repository.py @@ -134,7 +134,7 @@ def applyPatches(): def initUpstreamSubmodules(): ninja_url = 'https://github.com/martine/ninja.git' chromium_url = 'https://chromium.googlesource.com/chromium/src.git' - ninja_shasum = '40b51a0b986b8675e15b0cd1b10c272bf51fdb84' + ninja_shasum = '84986af6fdeae3f649f2bf884b20f644bc370e48' chromium_ref = 'refs/branch-heads/' + resolver.currentBranch() os.chdir(qtwebengine_root) diff --git a/patches/chromium/0001-Add-WebEngineContext-to-RunLoop-s-friends.patch b/patches/chromium/0001-Add-WebEngineContext-to-RunLoop-s-friends.patch index 31e97a832..7d6fadb24 100644 --- a/patches/chromium/0001-Add-WebEngineContext-to-RunLoop-s-friends.patch +++ b/patches/chromium/0001-Add-WebEngineContext-to-RunLoop-s-friends.patch @@ -8,7 +8,7 @@ Subject: Add WebEngineContext to RunLoop's friends. 1 file changed, 3 insertions(+) diff --git a/base/run_loop.h b/base/run_loop.h -index f5ee5c3..b167907 100644 +index 0dce634..055b1b8 100644 --- a/base/run_loop.h +++ b/base/run_loop.h @@ -10,6 +10,8 @@ diff --git a/patches/chromium/0002-Mac-Use-libc-instead-of-stdlibc.patch b/patches/chromium/0002-Mac-Use-libc-instead-of-stdlibc.patch index 279e10a95..3ff182bca 100644 --- a/patches/chromium/0002-Mac-Use-libc-instead-of-stdlibc.patch +++ b/patches/chromium/0002-Mac-Use-libc-instead-of-stdlibc.patch @@ -13,9 +13,9 @@ Subject: Mac: Use libc++ instead of stdlibc++. Use unordered containers as a replacement. --- base/process/process_iterator_mac.cc | 1 + - build/common.gypi | 30 +++++++++++++++++++++++++++--- + build/common.gypi | 32 +++++++++++++++++++++++++++++--- third_party/protobuf/config.h | 27 ++++++++++++++------------- - 3 files changed, 42 insertions(+), 16 deletions(-) + 3 files changed, 44 insertions(+), 16 deletions(-) diff --git a/base/process/process_iterator_mac.cc b/base/process/process_iterator_mac.cc index 29daa2d..e35c2ae 100644 @@ -30,10 +30,10 @@ index 29daa2d..e35c2ae 100644 #include "base/logging.h" #include "base/strings/string_util.h" diff --git a/build/common.gypi b/build/common.gypi -index e13aba4..9961053 100644 +index d7b385c..89f86bb 100644 --- a/build/common.gypi +++ b/build/common.gypi -@@ -287,7 +287,7 @@ +@@ -343,7 +343,7 @@ # Run tools/clang/scripts/update.sh to make sure they are compiled. # This causes 'clang_chrome_plugins_flags' to be set. # Has no effect if 'clang' is not set as well. @@ -42,7 +42,7 @@ index e13aba4..9961053 100644 # Enable building with ASAN (Clang's -fsanitize=address option). # -fsanitize=address only works with clang, but asan=1 implies clang=1 -@@ -1144,6 +1144,9 @@ +@@ -1232,6 +1232,9 @@ # rlz codes for searches but do not use the library. 'enable_rlz%': 0, @@ -52,7 +52,7 @@ index e13aba4..9961053 100644 # Turns on the i18n support in V8. 'v8_enable_i18n_support': 1, -@@ -1414,10 +1417,10 @@ +@@ -1512,10 +1515,10 @@ # someplace that Xcode doesn't know about, set mac_sdk_path to the # path to the SDK; when set to a non-empty string, SDK detection # based on mac_sdk_min will be bypassed entirely. @@ -65,7 +65,7 @@ index e13aba4..9961053 100644 }, 'mac_sdk_min': '<(mac_sdk_min)', -@@ -1427,6 +1430,7 @@ +@@ -1525,6 +1528,7 @@ # Compile in Breakpad support by default so that it can be # tested, even if it is not enabled by default at runtime. 'mac_breakpad_compiled_in%': 1, @@ -73,9 +73,9 @@ index e13aba4..9961053 100644 'conditions': [ # mac_product_name is set to the name of the .app bundle as it should # appear on disk. This duplicates data from -@@ -1997,6 +2001,16 @@ - ['use_x11==1', { - 'defines': ['USE_X11=1'], +@@ -2134,6 +2138,17 @@ + ['use_clipboard_aurax11==1', { + 'defines': ['USE_CLIPBOARD_AURAX11=1'], }], + ['use_libcpp==1', { + 'defines': ['USE_UNORDERED_CONTAINERS=1'], @@ -84,13 +84,14 @@ index e13aba4..9961053 100644 + '-Wno-newline-eof', + '-Wno-unused-value', + '-Wno-unused-variable', ++ '-Wno-unused-function', + '-stdlib=libc++' + ], + }], ['enable_one_click_signin==1', { 'defines': ['ENABLE_ONE_CLICK_SIGNIN'], }], -@@ -3914,6 +3928,16 @@ +@@ -4046,6 +4061,17 @@ '-Wno-deprecated-register', ], }], @@ -102,6 +103,7 @@ index e13aba4..9961053 100644 + '-Wno-newline-eof', + '-Wno-unused-value', + '-Wno-unused-variable', ++ '-Wno-unused-function', + ], + }], ['clang==1 and clang_use_chrome_plugins==1', { diff --git a/patches/chromium/0003-Clang-libc-does-not-support-incomplete-types-in-temp.patch b/patches/chromium/0003-Clang-libc-does-not-support-incomplete-types-in-temp.patch index e3d9ace7b..66e8feb4f 100644 --- a/patches/chromium/0003-Clang-libc-does-not-support-incomplete-types-in-temp.patch +++ b/patches/chromium/0003-Clang-libc-does-not-support-incomplete-types-in-temp.patch @@ -23,26 +23,24 @@ Therefore forward declarations must be removed in several places: - WorkerDevToolsManager::TerminatedInspectedWorker --- base/callback_forward.h | 9 +----- - .../browser/devtools/worker_devtools_manager.cc | 24 ---------------- + .../browser/devtools/worker_devtools_manager.cc | 26 ------------------ content/browser/devtools/worker_devtools_manager.h | 26 ++++++++++++++++-- - .../media/media_stream_dispatcher_host.cc | 11 -------- - .../media/media_stream_dispatcher_host.h | 12 +++++++- - .../browser/worker_host/message_port_service.cc | 22 --------------- - content/browser/worker_host/message_port_service.h | 23 +++++++++++++++- + content/browser/message_port_service.cc | 22 --------------- + content/browser/message_port_service.h | 23 +++++++++++++++- content/common/gpu/gpu_messages.h | 4 ++- content/renderer/media/media_stream_dispatcher.cc | 31 --------------------- content/renderer/media/media_stream_dispatcher.h | 31 +++++++++++++++++++-- content/renderer/pepper/message_channel.cc | 12 -------- content/renderer/pepper/message_channel.h | 18 ++++++++---- gpu/config/dx_diag_node.cc | 4 +++ - gpu/config/dx_diag_node.h | 4 +++ + gpu/config/dx_diag_node.h | 6 ++++ media/filters/ffmpeg_audio_decoder.cc | 6 ---- - media/filters/ffmpeg_audio_decoder.h | 8 +++++- + media/filters/ffmpeg_audio_decoder.h | 7 ++++- net/cert/mock_cert_verifier.cc | 19 ------------- net/cert/mock_cert_verifier.h | 20 +++++++++++++- net/dns/mock_host_resolver.cc | 31 --------------------- net/dns/mock_host_resolver.h | 32 +++++++++++++++++++++- - 20 files changed, 168 insertions(+), 179 deletions(-) + 18 files changed, 158 insertions(+), 169 deletions(-) diff --git a/base/callback_forward.h b/base/callback_forward.h index 7983248..8538bb2 100644 @@ -64,34 +62,36 @@ index 7983248..8538bb2 100644 #endif // BASE_CALLBACK_FORWARD_H diff --git a/content/browser/devtools/worker_devtools_manager.cc b/content/browser/devtools/worker_devtools_manager.cc -index f08523b..983c55c 100644 +index f060881..983c55c 100644 --- a/content/browser/devtools/worker_devtools_manager.cc +++ b/content/browser/devtools/worker_devtools_manager.cc -@@ -51,17 +51,6 @@ base::LazyInstance::Leaky g_orphan_map = LAZY_INSTANCE_INITIALIZER; +@@ -51,19 +51,6 @@ base::LazyInstance::Leaky g_orphan_map = LAZY_INSTANCE_INITIALIZER; } // namespace -struct WorkerDevToolsManager::TerminatedInspectedWorker { -- TerminatedInspectedWorker(WorkerId id, const GURL& url, const string16& name) +- TerminatedInspectedWorker(WorkerId id, +- const GURL& url, +- const base::string16& name) - : old_worker_id(id), - worker_url(url), - worker_name(name) {} - WorkerId old_worker_id; - GURL worker_url; -- string16 worker_name; +- base::string16 worker_name; -}; - - class WorkerDevToolsManager::WorkerDevToolsAgentHost : public IPCDevToolsAgentHost { public: -@@ -200,19 +189,6 @@ class WorkerDevToolsManager::DetachedClientHosts { +@@ -202,19 +189,6 @@ class WorkerDevToolsManager::DetachedClientHosts { } }; -struct WorkerDevToolsManager::InspectedWorker { - InspectedWorker(WorkerProcessHost* host, int route_id, const GURL& url, -- const string16& name) +- const base::string16& name) - : host(host), - route_id(route_id), - worker_url(url), @@ -99,14 +99,14 @@ index f08523b..983c55c 100644 - WorkerProcessHost* const host; - int const route_id; - GURL worker_url; -- string16 worker_name; +- base::string16 worker_name; -}; - // static WorkerDevToolsManager* WorkerDevToolsManager::GetInstance() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); diff --git a/content/browser/devtools/worker_devtools_manager.h b/content/browser/devtools/worker_devtools_manager.h -index 8a9a708..e6d090c 100644 +index 8a9a708..955b1db 100644 --- a/content/browser/devtools/worker_devtools_manager.h +++ b/content/browser/devtools/worker_devtools_manager.h @@ -54,7 +54,20 @@ class WorkerDevToolsManager { @@ -117,7 +117,7 @@ index 8a9a708..e6d090c 100644 + + struct InspectedWorker { + InspectedWorker(WorkerProcessHost* host, int route_id, const GURL& url, -+ const string16& name) ++ const base::string16& name) + : host(host), + route_id(route_id), + worker_url(url), @@ -125,7 +125,7 @@ index 8a9a708..e6d090c 100644 + WorkerProcessHost* const host; + int const route_id; + GURL worker_url; -+ string16 worker_name; ++ base::string16 worker_name; + }; + typedef std::list InspectedWorkersList; @@ -137,67 +137,22 @@ index 8a9a708..e6d090c 100644 - struct TerminatedInspectedWorker; + struct TerminatedInspectedWorker { -+ TerminatedInspectedWorker(WorkerId id, const GURL& url, const string16& name) ++ TerminatedInspectedWorker(WorkerId id, const GURL& url, const base::string16& name) + : old_worker_id(id), + worker_url(url), + worker_name(name) {} + WorkerId old_worker_id; + GURL worker_url; -+ string16 worker_name; ++ base::string16 worker_name; + }; + typedef std::list TerminatedInspectedWorkers; // List of terminated workers for which there may be a devtools client on // the UI thread. Worker entry is added into this list when inspected worker -diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc -index ebc4d89..9135b71 100644 ---- a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc -+++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc -@@ -12,17 +12,6 @@ - - namespace content { - --struct MediaStreamDispatcherHost::StreamRequest { -- StreamRequest() : render_view_id(0), page_request_id(0) {} -- StreamRequest(int render_view_id, int page_request_id) -- : render_view_id(render_view_id), -- page_request_id(page_request_id ) { -- } -- int render_view_id; -- // Id of the request generated by MediaStreamDispatcher. -- int page_request_id; --}; -- - MediaStreamDispatcherHost::MediaStreamDispatcherHost( - int render_process_id, - MediaStreamManager* media_stream_manager) -diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.h b/content/browser/renderer_host/media/media_stream_dispatcher_host.h -index ec1dd15..cfc6913 100644 ---- a/content/browser/renderer_host/media/media_stream_dispatcher_host.h -+++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.h -@@ -72,7 +72,17 @@ class CONTENT_EXPORT MediaStreamDispatcherHost : public BrowserMessageFilter, - int render_process_id_; - MediaStreamManager* media_stream_manager_; - -- struct StreamRequest; -+ struct StreamRequest { -+ StreamRequest() : render_view_id(0), page_request_id(0) {} -+ StreamRequest(int render_view_id, int page_request_id) -+ : render_view_id(render_view_id), -+ page_request_id(page_request_id ) { -+ } -+ int render_view_id; -+ // Id of the request generated by MediaStreamDispatcher. -+ int page_request_id; -+ }; -+ - typedef std::map StreamMap; - // Streams generated for this host. - StreamMap streams_; -diff --git a/content/browser/worker_host/message_port_service.cc b/content/browser/worker_host/message_port_service.cc -index 3bc8f5a..b413c1f 100644 ---- a/content/browser/worker_host/message_port_service.cc -+++ b/content/browser/worker_host/message_port_service.cc +diff --git a/content/browser/message_port_service.cc b/content/browser/message_port_service.cc +index 0d9f608..25c2b44 100644 +--- a/content/browser/message_port_service.cc ++++ b/content/browser/message_port_service.cc @@ -9,28 +9,6 @@ namespace content { @@ -206,7 +161,7 @@ index 3bc8f5a..b413c1f 100644 - // |filter| and |route_id| are what we need to send messages to the port. - // |filter| is just a weak pointer since we get notified when its process has - // gone away and remove it. -- WorkerMessageFilter* filter; +- MessagePortMessageFilter* filter; - int route_id; - // A globally unique id for this message port. - int message_port_id; @@ -219,7 +174,7 @@ index 3bc8f5a..b413c1f 100644 - // in-flight. This flag ensures that the latter type get flushed through the - // system. - // This flag should only be set to true in response to -- // WorkerProcessHostMsg_QueueMessages. +- // MessagePortHostMsg_QueueMessages. - bool queue_messages; - QueuedMessages queued_messages; -}; @@ -227,11 +182,11 @@ index 3bc8f5a..b413c1f 100644 MessagePortService* MessagePortService::GetInstance() { return Singleton::get(); } -diff --git a/content/browser/worker_host/message_port_service.h b/content/browser/worker_host/message_port_service.h -index b85e76b..30645c7 100644 ---- a/content/browser/worker_host/message_port_service.h -+++ b/content/browser/worker_host/message_port_service.h -@@ -61,7 +61,28 @@ class MessagePortService { +diff --git a/content/browser/message_port_service.h b/content/browser/message_port_service.h +index 6689591..3e197a4 100644 +--- a/content/browser/message_port_service.h ++++ b/content/browser/message_port_service.h +@@ -64,7 +64,28 @@ class MessagePortService { // verify that the message port id exists. void Erase(int message_port_id); @@ -240,7 +195,7 @@ index b85e76b..30645c7 100644 + // |filter| and |route_id| are what we need to send messages to the port. + // |filter| is just a weak pointer since we get notified when its process has + // gone away and remove it. -+ WorkerMessageFilter* filter; ++ MessagePortMessageFilter* filter; + int route_id; + // A globally unique id for this message port. + int message_port_id; @@ -253,7 +208,7 @@ index b85e76b..30645c7 100644 + // in-flight. This flag ensures that the latter type get flushed through the + // system. + // This flag should only be set to true in response to -+ // WorkerProcessHostMsg_QueueMessages. ++ // MessagePortHostMsg_QueueMessages. + bool queue_messages; + QueuedMessages queued_messages; + }; @@ -262,7 +217,7 @@ index b85e76b..30645c7 100644 MessagePorts message_ports_; diff --git a/content/common/gpu/gpu_messages.h b/content/common/gpu/gpu_messages.h -index b4e5be5..3952d79 100644 +index 936a8a0..084b2d8 100644 --- a/content/common/gpu/gpu_messages.h +++ b/content/common/gpu/gpu_messages.h @@ -116,10 +116,12 @@ IPC_STRUCT_BEGIN(GpuStreamTextureMsg_MatrixChanged_Params) @@ -280,12 +235,12 @@ index b4e5be5..3952d79 100644 IPC_STRUCT_TRAITS_BEGIN(gpu::GpuPerformanceStats) IPC_STRUCT_TRAITS_MEMBER(graphics) diff --git a/content/renderer/media/media_stream_dispatcher.cc b/content/renderer/media/media_stream_dispatcher.cc -index cc241fa..57d65b6 100644 +index 6890ffc..96f92fb 100644 --- a/content/renderer/media/media_stream_dispatcher.cc +++ b/content/renderer/media/media_stream_dispatcher.cc -@@ -14,37 +14,6 @@ +@@ -30,37 +30,6 @@ bool RemoveStreamDeviceFromArray(const StreamDeviceInfo device_info, - namespace content { + } // namespace -// A request is identified by pair (request_id, handler), or ipc_request. -// There could be multiple clients making requests and each has its own @@ -318,14 +273,14 @@ index cc241fa..57d65b6 100644 - StreamDeviceInfoArray video_array; -}; - - MediaStreamDispatcher::EnumerationRequest::EnumerationRequest( - const base::WeakPtr& handler, - int request_id) + MediaStreamDispatcher::MediaStreamDispatcher(RenderViewImpl* render_view) + : RenderViewObserver(render_view), + main_loop_(base::MessageLoopProxy::current()), diff --git a/content/renderer/media/media_stream_dispatcher.h b/content/renderer/media/media_stream_dispatcher.h -index aa8f345..af25963 100644 +index 89d7c0d..4c08958 100644 --- a/content/renderer/media/media_stream_dispatcher.h +++ b/content/renderer/media/media_stream_dispatcher.h -@@ -98,11 +98,38 @@ class CONTENT_EXPORT MediaStreamDispatcher +@@ -99,11 +99,38 @@ class CONTENT_EXPORT MediaStreamDispatcher FRIEND_TEST_ALL_PREFIXES(MediaStreamDispatcherTest, TestFailure); FRIEND_TEST_ALL_PREFIXES(MediaStreamDispatcherTest, CancelGenerateStream); @@ -364,13 +319,13 @@ index aa8f345..af25963 100644 + StreamDeviceInfoArray video_array; + }; - // An enumeration request is identified by pair (request_id, handler). - // It allows multiple clients to make requests and each client could have + // RenderViewObserver OVERRIDE. + virtual bool Send(IPC::Message* message) OVERRIDE; diff --git a/content/renderer/pepper/message_channel.cc b/content/renderer/pepper/message_channel.cc -index f06b787..c41be2f 100644 +index 51132a6..7c5961c 100644 --- a/content/renderer/pepper/message_channel.cc +++ b/content/renderer/pepper/message_channel.cc -@@ -279,18 +279,6 @@ NPClass message_channel_class = { +@@ -292,18 +292,6 @@ NPClass message_channel_class = { } // namespace // MessageChannel -------------------------------------------------------------- @@ -390,10 +345,10 @@ index f06b787..c41be2f 100644 MessageChannel::MessageChannelNPObject::MessageChannelNPObject() { } diff --git a/content/renderer/pepper/message_channel.h b/content/renderer/pepper/message_channel.h -index 9c8c28d..e4e1423 100644 +index e0020e6..43aa0f9 100644 --- a/content/renderer/pepper/message_channel.h +++ b/content/renderer/pepper/message_channel.h -@@ -10,15 +10,12 @@ +@@ -11,15 +11,12 @@ #include "base/memory/weak_ptr.h" #include "ppapi/shared_impl/resource.h" @@ -410,7 +365,7 @@ index 9c8c28d..e4e1423 100644 namespace content { class PepperPluginInstanceImpl; -@@ -86,7 +83,18 @@ class MessageChannel { +@@ -90,7 +87,18 @@ class MessageChannel { private: // Struct for storing the result of a NPVariant being converted to a PP_Var. @@ -450,13 +405,13 @@ index e0902ca..c1e84ae 100644 + +#endif // defined(OS_WIN) diff --git a/gpu/config/dx_diag_node.h b/gpu/config/dx_diag_node.h -index 33d29b3..45ffa65 100644 +index 33d29b3..7f77362 100644 --- a/gpu/config/dx_diag_node.h +++ b/gpu/config/dx_diag_node.h @@ -8,6 +8,10 @@ #ifndef GPU_CONFIG_DX_DIAG_NODE_H_ #define GPU_CONFIG_DX_DIAG_NODE_H_ - + +#include "build/build_config.h" + +#if defined(OS_WIN) @@ -464,7 +419,7 @@ index 33d29b3..45ffa65 100644 #include #include -@@ -24,4 +26,6 @@ struct GPU_EXPORT DxDiagNode { +@@ -24,4 +28,6 @@ struct GPU_EXPORT DxDiagNode { } // namespace gpu @@ -472,10 +427,10 @@ index 33d29b3..45ffa65 100644 + #endif // GPU_CONFIG_DX_DIAG_NODE_H_ diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_decoder.cc -index f922e98..f41c893 100644 +index 00f7566..bb64c36 100644 --- a/media/filters/ffmpeg_audio_decoder.cc +++ b/media/filters/ffmpeg_audio_decoder.cc -@@ -22,12 +22,6 @@ +@@ -23,12 +23,6 @@ namespace media { @@ -489,24 +444,26 @@ index f922e98..f41c893 100644 static inline bool IsEndOfStream(int result, int decoded_size, diff --git a/media/filters/ffmpeg_audio_decoder.h b/media/filters/ffmpeg_audio_decoder.h -index 7ea8615..44c9830 100644 +index 40103b8..2963847 100644 --- a/media/filters/ffmpeg_audio_decoder.h +++ b/media/filters/ffmpeg_audio_decoder.h -@@ -25,7 +25,13 @@ namespace media { +@@ -26,10 +26,15 @@ namespace media { class AudioTimestampHelper; class DecoderBuffer; -struct QueuedAudioBuffer; -+ + class ScopedPtrAVFreeContext; + class ScopedPtrAVFreeFrame; + +// Helper structure for managing multiple decoded audio frames per packet. +struct QueuedAudioBuffer { + AudioDecoder::Status status; + scoped_refptr buffer; +}; + - class MEDIA_EXPORT FFmpegAudioDecoder : public AudioDecoder { public: + explicit FFmpegAudioDecoder( diff --git a/net/cert/mock_cert_verifier.cc b/net/cert/mock_cert_verifier.cc index ea5538e..a30e3d5 100644 --- a/net/cert/mock_cert_verifier.cc diff --git a/patches/chromium/0004-Do-not-modify-the-child-path.patch b/patches/chromium/0004-Do-not-modify-the-child-path.patch index ee80678eb..b6f598204 100644 --- a/patches/chromium/0004-Do-not-modify-the-child-path.patch +++ b/patches/chromium/0004-Do-not-modify-the-child-path.patch @@ -12,10 +12,10 @@ May be we should instead implement our own ChildProcessHost. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/common/child_process_host_impl.cc b/content/common/child_process_host_impl.cc -index fb058d3..2208376 100644 +index 1467536..2607496 100644 --- a/content/common/child_process_host_impl.cc +++ b/content/common/child_process_host_impl.cc -@@ -106,7 +106,7 @@ base::FilePath ChildProcessHost::GetChildPath(int flags) { +@@ -107,7 +107,7 @@ base::FilePath ChildProcessHost::GetChildPath(int flags) { if (child_path.empty()) PathService::Get(CHILD_PROCESS_EXE, &child_path); diff --git a/patches/chromium/0005-Do-not-warn-for-header-hygiene.patch b/patches/chromium/0005-Do-not-warn-for-header-hygiene.patch index 01afa7e9c..14247a280 100644 --- a/patches/chromium/0005-Do-not-warn-for-header-hygiene.patch +++ b/patches/chromium/0005-Do-not-warn-for-header-hygiene.patch @@ -13,13 +13,13 @@ in the same application. 1 file changed, 1 insertion(+) diff --git a/build/common.gypi b/build/common.gypi -index 9961053..ab759282 100644 +index 89f86bb..eff4b61 100644 --- a/build/common.gypi +++ b/build/common.gypi -@@ -3936,6 +3936,7 @@ - '-Wno-newline-eof', +@@ -4070,6 +4070,7 @@ '-Wno-unused-value', '-Wno-unused-variable', + '-Wno-unused-function', + '-Wno-header-hygiene', ], }], diff --git a/patches/chromium/0006-Build-files-necessary-for-touch-and-gestures.patch b/patches/chromium/0006-Build-files-necessary-for-touch-and-gestures.patch index 35d5c6579..7f9900e99 100644 --- a/patches/chromium/0006-Build-files-necessary-for-touch-and-gestures.patch +++ b/patches/chromium/0006-Build-files-necessary-for-touch-and-gestures.patch @@ -10,27 +10,27 @@ Change-Id: Ib7bb4fb1fc8692df1b8151c3d159de3d0f73c76f --- content/content_browser.gypi | 2 +- ui/events/event.cc | 14 ++++++++++++-- - ui/ui.gyp | 4 ++-- - 3 files changed, 15 insertions(+), 5 deletions(-) + ui/ui.gyp | 2 +- + 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/content/content_browser.gypi b/content/content_browser.gypi -index 1e3485c..c2e5f18 100644 +index 99cc728..b0f963c 100644 --- a/content/content_browser.gypi +++ b/content/content_browser.gypi -@@ -1479,7 +1479,7 @@ - ['exclude', '^browser/geolocation/wifi_data_provider_linux\\.cc$'], +@@ -1547,7 +1547,7 @@ + ['exclude', '^browser/gamepad/gamepad_platform_data_fetcher_linux\\.cc$'], ], }], - ['use_aura!=1 and OS!="win"', { + ['use_aura!=1 and use_qt!=1 and OS!="win"', { 'sources!': [ - 'browser/renderer_host/input/touchscreen_tap_suppression_controller.cc', 'browser/renderer_host/ui_events_helper.cc', + 'browser/renderer_host/ui_events_helper.h', diff --git a/ui/events/event.cc b/ui/events/event.cc -index 7c3e6d5..7153607 100644 +index 246e397..39d2b9a 100644 --- a/ui/events/event.cc +++ b/ui/events/event.cc -@@ -294,7 +294,13 @@ void LocatedEvent::UpdateForRootTransform( +@@ -273,7 +273,13 @@ void LocatedEvent::UpdateForRootTransform( MouseEvent::MouseEvent(const base::NativeEvent& native_event) : LocatedEvent(native_event), changed_button_flags_( @@ -45,7 +45,7 @@ index 7c3e6d5..7153607 100644 if (type() == ET_MOUSE_PRESSED || type() == ET_MOUSE_RELEASED) SetClickCount(GetRepeatCount(*this)); } -@@ -698,6 +704,8 @@ DropTargetEvent::DropTargetEvent(const OSExchangeData& data, +@@ -638,6 +644,8 @@ void TranslatedKeyEvent::ConvertToKeyEvent() { ScrollEvent::ScrollEvent(const base::NativeEvent& native_event) : MouseEvent(native_event) { @@ -54,7 +54,7 @@ index 7c3e6d5..7153607 100644 if (type() == ET_SCROLL) { GetScrollOffsets(native_event, &x_offset_, &y_offset_, -@@ -709,7 +717,9 @@ ScrollEvent::ScrollEvent(const base::NativeEvent& native_event) +@@ -649,7 +657,9 @@ ScrollEvent::ScrollEvent(const base::NativeEvent& native_event) &x_offset_, &y_offset_, &x_offset_ordinal_, &y_offset_ordinal_, NULL); @@ -66,24 +66,15 @@ index 7c3e6d5..7153607 100644 << " when constructing a ScrollEvent."; } diff --git a/ui/ui.gyp b/ui/ui.gyp -index 09c011c..4716f6c 100644 +index 5d61dc4..aa0f3be 100644 --- a/ui/ui.gyp +++ b/ui/ui.gyp -@@ -708,7 +708,7 @@ - ['exclude', 'base/dragdrop/drag_utils_aura.cc'], - ], +@@ -350,7 +350,7 @@ + ], + }, }], -- ['use_aura==0 and toolkit_views==0', { -+ ['use_aura==0 and use_qt==0 and toolkit_views==0', { - 'sources/': [ - ['exclude', '^base/gestures/*'], - ] -@@ -886,7 +886,7 @@ - 'base/cursor/cursor_loader_null.h', +- ['toolkit_views==1', { ++ ['toolkit_views==1 or use_qt==1', { + 'dependencies': [ + 'events/events.gyp:events', ], - }], -- ['toolkit_views==0', { -+ ['use_qt==0 and toolkit_views==0', { - 'sources!': [ - 'base/x/events_x.cc', - 'events/event.cc', diff --git a/patches/chromium/0007-remove-Wno-deprecated-register-from-common.gypi.patch b/patches/chromium/0007-remove-Wno-deprecated-register-from-common.gypi.patch index cb980c691..94d9e6b30 100644 --- a/patches/chromium/0007-remove-Wno-deprecated-register-from-common.gypi.patch +++ b/patches/chromium/0007-remove-Wno-deprecated-register-from-common.gypi.patch @@ -12,10 +12,10 @@ It seems that the flag is still supported in upstream clang. 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/common.gypi b/build/common.gypi -index ab759282..cf5b196 100644 +index eff4b61..e975a96 100644 --- a/build/common.gypi +++ b/build/common.gypi -@@ -3222,7 +3222,7 @@ +@@ -3350,7 +3350,7 @@ # Clang considers the `register` keyword as deprecated, but e.g. # code generated by flex (used in angle) contains that keyword. # http://crbug.com/255186 @@ -24,7 +24,7 @@ index ab759282..cf5b196 100644 ], 'cflags!': [ # Clang doesn't seem to know know this flag. -@@ -3925,7 +3925,7 @@ +@@ -4058,7 +4058,7 @@ # Clang considers the `register` keyword as deprecated, but e.g. # code generated by flex (used in angle) contains that keyword. # http://crbug.com/255186 diff --git a/patches/chromium/0008-Solve-conflicts-when-including-both-QtOpenGL-headers.patch b/patches/chromium/0008-Solve-conflicts-when-including-both-QtOpenGL-headers.patch index a12c9fb8e..5203645d1 100644 --- a/patches/chromium/0008-Solve-conflicts-when-including-both-QtOpenGL-headers.patch +++ b/patches/chromium/0008-Solve-conflicts-when-including-both-QtOpenGL-headers.patch @@ -8,38 +8,104 @@ If resource_provider.h is going to be used to integrate delegated frame to external compositors, it should avoid conflicting with the system's gl.h. Change-Id: Ie37d6cde263157e6717cc006a9896f0b9ebdaa5d -Reviewed-by: Zeno Albisser --- - cc/layers/texture_layer.cc | 1 + - cc/output/delegating_renderer.cc | 1 + - cc/quads/content_draw_quad_base.h | 1 - - cc/resources/resource_provider.h | 5 ++++- - 4 files changed, 6 insertions(+), 2 deletions(-) + cc/base/util.h | 33 ++++++++++++++++++++++++ + cc/layers/texture_layer.cc | 2 ++ + cc/output/delegating_renderer.cc | 1 + + cc/output/gl_renderer.cc | 1 + + cc/quads/content_draw_quad_base.h | 1 - + cc/resources/resource_provider.h | 35 +++----------------------- + content/renderer/gpu/mailbox_output_surface.cc | 1 + + 7 files changed, 41 insertions(+), 33 deletions(-) +diff --git a/cc/base/util.h b/cc/base/util.h +index 1d716ae..bd51178 100644 +--- a/cc/base/util.h ++++ b/cc/base/util.h +@@ -8,6 +8,9 @@ + #include + + #include "base/basictypes.h" ++#include "cc/resources/resource_provider.h" ++#include "third_party/khronos/GLES2/gl2.h" ++#include "third_party/khronos/GLES2/gl2ext.h" + + namespace cc { + +@@ -24,6 +27,36 @@ template T RoundDown(T n, T mul) { + : ((n - mul + 1) / mul) * mul; + } + ++inline GLenum GLDataType(ResourceFormat format) { ++ DCHECK_LE(format, RESOURCE_FORMAT_MAX); ++ static const unsigned format_gl_data_type[RESOURCE_FORMAT_MAX + 1] = { ++ GL_UNSIGNED_BYTE, // RGBA_8888 ++ GL_UNSIGNED_SHORT_4_4_4_4, // RGBA_4444 ++ GL_UNSIGNED_BYTE, // BGRA_8888 ++ GL_UNSIGNED_BYTE, // LUMINANCE_8 ++ GL_UNSIGNED_SHORT_5_6_5, // RGB_565, ++ GL_UNSIGNED_BYTE // ETC1 ++ }; ++ return format_gl_data_type[format]; ++} ++ ++inline GLenum GLDataFormat(ResourceFormat format) { ++ DCHECK_LE(format, RESOURCE_FORMAT_MAX); ++ static const unsigned format_gl_data_format[RESOURCE_FORMAT_MAX + 1] = { ++ GL_RGBA, // RGBA_8888 ++ GL_RGBA, // RGBA_4444 ++ GL_BGRA_EXT, // BGRA_8888 ++ GL_LUMINANCE, // LUMINANCE_8 ++ GL_RGB, // RGB_565 ++ GL_ETC1_RGB8_OES // ETC1 ++ }; ++ return format_gl_data_format[format]; ++} ++ ++inline GLenum GLInternalFormat(ResourceFormat format) { ++ return GLDataFormat(format); ++} ++ + } // namespace cc + + #endif // CC_BASE_UTIL_H_ diff --git a/cc/layers/texture_layer.cc b/cc/layers/texture_layer.cc -index 21c5e93..a845709 100644 +index 195d05d..5c954c1 100644 --- a/cc/layers/texture_layer.cc +++ b/cc/layers/texture_layer.cc -@@ -13,6 +13,7 @@ +@@ -13,6 +13,8 @@ #include "cc/resources/single_release_callback.h" #include "cc/trees/blocking_task_runner.h" #include "cc/trees/layer_tree_host.h" +#include "third_party/khronos/GLES2/gl2.h" - #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" ++#include "third_party/khronos/GLES2/gl2ext.h" namespace cc { + diff --git a/cc/output/delegating_renderer.cc b/cc/output/delegating_renderer.cc -index e3413a5..1b4021f 100644 +index c76f250..1b57161 100644 --- a/cc/output/delegating_renderer.cc +++ b/cc/output/delegating_renderer.cc -@@ -23,6 +23,7 @@ - #include "cc/quads/yuv_video_draw_quad.h" - #include "cc/resources/resource_provider.h" +@@ -25,6 +25,7 @@ + #include "gpu/command_buffer/client/context_support.h" + #include "gpu/command_buffer/common/gpu_memory_allocation.h" #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" +#include "third_party/khronos/GLES2/gl2.h" #include "third_party/khronos/GLES2/gl2ext.h" - using WebKit::WebGraphicsContext3D; + using blink::WebGraphicsContext3D; +diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc +index 04db7b0..f0e32f4 100644 +--- a/cc/output/gl_renderer.cc ++++ b/cc/output/gl_renderer.cc +@@ -16,6 +16,7 @@ + #include "base/strings/string_util.h" + #include "base/strings/stringprintf.h" + #include "build/build_config.h" ++#include "cc/base/util.h" + #include "cc/base/math_util.h" + #include "cc/layers/video_layer_impl.h" + #include "cc/output/compositor_frame.h" diff --git a/cc/quads/content_draw_quad_base.h b/cc/quads/content_draw_quad_base.h index cbf18ca..6229d61 100644 --- a/cc/quads/content_draw_quad_base.h @@ -53,22 +119,74 @@ index cbf18ca..6229d61 100644 #include "ui/gfx/size.h" diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h -index fb1e5f0..928d4f9 100644 +index 6e5c61a..2478661 100644 --- a/cc/resources/resource_provider.h +++ b/cc/resources/resource_provider.h -@@ -25,11 +25,14 @@ +@@ -25,8 +25,6 @@ #include "cc/resources/single_release_callback.h" #include "cc/resources/texture_mailbox.h" #include "cc/resources/transferable_resource.h" -#include "third_party/khronos/GLES2/gl2.h" +-#include "third_party/khronos/GLES2/gl2ext.h" #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkCanvas.h" #include "ui/gfx/size.h" - +@@ -36,6 +34,9 @@ namespace gles { + class GLES2Interface; + } + } +// A correct fix would be not to use GL types in this interal API file. +typedef unsigned int GLenum; +typedef int GLint; -+ - namespace WebKit { class WebGraphicsContext3D; } namespace gfx { + class Rect; +@@ -525,36 +526,6 @@ inline unsigned BitsPerPixel(ResourceFormat format) { + return format_bits_per_pixel[format]; + } + +-inline GLenum GLDataType(ResourceFormat format) { +- DCHECK_LE(format, RESOURCE_FORMAT_MAX); +- static const unsigned format_gl_data_type[RESOURCE_FORMAT_MAX + 1] = { +- GL_UNSIGNED_BYTE, // RGBA_8888 +- GL_UNSIGNED_SHORT_4_4_4_4, // RGBA_4444 +- GL_UNSIGNED_BYTE, // BGRA_8888 +- GL_UNSIGNED_BYTE, // LUMINANCE_8 +- GL_UNSIGNED_SHORT_5_6_5, // RGB_565, +- GL_UNSIGNED_BYTE // ETC1 +- }; +- return format_gl_data_type[format]; +-} +- +-inline GLenum GLDataFormat(ResourceFormat format) { +- DCHECK_LE(format, RESOURCE_FORMAT_MAX); +- static const unsigned format_gl_data_format[RESOURCE_FORMAT_MAX + 1] = { +- GL_RGBA, // RGBA_8888 +- GL_RGBA, // RGBA_4444 +- GL_BGRA_EXT, // BGRA_8888 +- GL_LUMINANCE, // LUMINANCE_8 +- GL_RGB, // RGB_565 +- GL_ETC1_RGB8_OES // ETC1 +- }; +- return format_gl_data_format[format]; +-} +- +-inline GLenum GLInternalFormat(ResourceFormat format) { +- return GLDataFormat(format); +-} +- + } // namespace cc + + #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_ +diff --git a/content/renderer/gpu/mailbox_output_surface.cc b/content/renderer/gpu/mailbox_output_surface.cc +index 09e1ec0..b23575d 100644 +--- a/content/renderer/gpu/mailbox_output_surface.cc ++++ b/content/renderer/gpu/mailbox_output_surface.cc +@@ -5,6 +5,7 @@ + #include "content/renderer/gpu/mailbox_output_surface.h" + + #include "base/logging.h" ++#include "cc/base/util.h" + #include "cc/output/compositor_frame.h" + #include "cc/output/compositor_frame_ack.h" + #include "cc/output/gl_frame_data.h" diff --git a/patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch b/patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch index 9d24881fb..a5ae49a28 100644 --- a/patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch +++ b/patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch @@ -12,19 +12,19 @@ See: http://clang.llvm.org/compatibility.html#undep_incomplete 3 files changed, 40 insertions(+), 40 deletions(-) diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h -index eb6a015..2ae33df 100644 +index 2f27460..85a71f5c 100644 --- a/cc/trees/layer_tree_impl.h +++ b/cc/trees/layer_tree_impl.h -@@ -12,6 +12,7 @@ - #include "base/containers/hash_tables.h" - #include "base/values.h" +@@ -14,6 +14,7 @@ + #include "cc/base/scoped_ptr_vector.h" + #include "cc/base/swap_promise.h" #include "cc/layers/layer_impl.h" +#include "cc/trees/layer_tree_host.h" #include "cc/resources/ui_resource_client.h" - #include "ui/events/latency_info.h" + #if defined(COMPILER_GCC) diff --git a/content/browser/media/webrtc_identity_store_backend.cc b/content/browser/media/webrtc_identity_store_backend.cc -index 9ec73e9..4188116 100644 +index d599dcd..697de93 100644 --- a/content/browser/media/webrtc_identity_store_backend.cc +++ b/content/browser/media/webrtc_identity_store_backend.cc @@ -46,43 +46,6 @@ static bool InitDB(sql::Connection* db) { @@ -72,7 +72,7 @@ index 9ec73e9..4188116 100644 PendingFindRequest(const GURL& origin, const std::string& identity_name, diff --git a/content/browser/media/webrtc_identity_store_backend.h b/content/browser/media/webrtc_identity_store_backend.h -index ab4e1ed..e660c73 100644 +index 92b68b6..9be3fc2 100644 --- a/content/browser/media/webrtc_identity_store_backend.h +++ b/content/browser/media/webrtc_identity_store_backend.h @@ -11,8 +11,7 @@ @@ -85,7 +85,7 @@ index ab4e1ed..e660c73 100644 namespace base { class FilePath; -@@ -88,7 +87,44 @@ class WebRTCIdentityStoreBackend +@@ -94,7 +93,44 @@ class WebRTCIdentityStoreBackend }; struct PendingFindRequest; struct IdentityKey; diff --git a/patches/chromium/0010-Fix-the-build-with-a-GL-ES2-configured-Qt.patch b/patches/chromium/0010-Fix-the-build-with-a-GL-ES2-configured-Qt.patch index 02688d6ad..24f6bedf2 100644 --- a/patches/chromium/0010-Fix-the-build-with-a-GL-ES2-configured-Qt.patch +++ b/patches/chromium/0010-Fix-the-build-with-a-GL-ES2-configured-Qt.patch @@ -29,19 +29,19 @@ Change-Id: Id4d98fe22ef8b778b5ba8da300dad28e69507732 6 files changed, 29 insertions(+), 1 deletion(-) diff --git a/content/content_browser.gypi b/content/content_browser.gypi -index c2e5f18..f820ad0 100644 +index b0f963c..28878f7 100644 --- a/content/content_browser.gypi +++ b/content/content_browser.gypi -@@ -1270,6 +1270,7 @@ +@@ -1323,6 +1323,7 @@ 'dependencies': [ 'browser/devtools/devtools_resources.gyp:devtools_resources', '../cc/cc.gyp:cc', + '../gpu/gpu.gyp:gpu_ipc', '../net/net.gyp:http_server', - '../printing/printing.gyp:printing', '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase', + '../ui/surface/surface.gyp:surface', diff --git a/gpu/command_buffer_client.gypi b/gpu/command_buffer_client.gypi -index b4d5b78..75bea79 100644 +index cb52ee7..827474c 100644 --- a/gpu/command_buffer_client.gypi +++ b/gpu/command_buffer_client.gypi @@ -14,6 +14,9 @@ @@ -52,10 +52,10 @@ index b4d5b78..75bea79 100644 + '../third_party/khronos/khronos.gyp:khronos_headers', + ], 'sources': [ - 'command_buffer/client/atomicops.cc', - 'command_buffer/client/atomicops.h', + 'command_buffer/client/cmd_buffer_helper.cc', + 'command_buffer/client/cmd_buffer_helper.h', diff --git a/gpu/command_buffer_common.gypi b/gpu/command_buffer_common.gypi -index 55e825e..4c1044a 100644 +index 87eeb5b..ab9a635 100644 --- a/gpu/command_buffer_common.gypi +++ b/gpu/command_buffer_common.gypi @@ -6,6 +6,9 @@ @@ -69,7 +69,7 @@ index 55e825e..4c1044a 100644 'command_buffer/common/bitfield_helpers.h', 'command_buffer/common/buffer.h', diff --git a/gpu/gpu.gyp b/gpu/gpu.gyp -index 316aa91..1599623 100644 +index 46831ee..c3c9502 100644 --- a/gpu/gpu.gyp +++ b/gpu/gpu.gyp @@ -23,6 +23,9 @@ @@ -82,7 +82,7 @@ index 316aa91..1599623 100644 'defines': [ 'GLES2_IMPL_IMPLEMENTATION', ], -@@ -88,6 +91,9 @@ +@@ -90,6 +93,9 @@ 'command_buffer_client', 'gles2_implementation', ], @@ -92,7 +92,7 @@ index 316aa91..1599623 100644 'defines': [ 'GLES2_C_LIB_IMPLEMENTATION', ], -@@ -113,6 +119,9 @@ +@@ -115,6 +121,9 @@ 'command_buffer_client', 'gles2_implementation_client_side_arrays_no_check', ], @@ -102,7 +102,7 @@ index 316aa91..1599623 100644 'sources': [ '<@(gles2_c_lib_source_files)', ], -@@ -348,6 +357,9 @@ +@@ -378,6 +387,9 @@ 'gpu_config', 'gpu_ipc', ], @@ -112,7 +112,7 @@ index 316aa91..1599623 100644 'sources': [ 'gpu_export.h', ], -@@ -390,6 +402,9 @@ +@@ -420,6 +432,9 @@ 'dependencies': [ 'command_buffer_common', ], @@ -122,7 +122,7 @@ index 316aa91..1599623 100644 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 'msvs_disabled_warnings': [4267, ], }, -@@ -415,6 +430,9 @@ +@@ -445,6 +460,9 @@ 'dependencies': [ 'command_buffer_common', ], @@ -146,12 +146,12 @@ index 8a85572..88130d2 100644 '.', '../../gpu', # Contains GLES2/gl2chromium.h diff --git a/webkit/common/gpu/webkit_gpu.gyp b/webkit/common/gpu/webkit_gpu.gyp -index 2831446..be79c22 100644 +index a28e4e8..1a0190c 100644 --- a/webkit/common/gpu/webkit_gpu.gyp +++ b/webkit/common/gpu/webkit_gpu.gyp -@@ -27,6 +27,9 @@ +@@ -28,6 +28,9 @@ '<(DEPTH)/ui/gl/gl.gyp:gl', - '<(DEPTH)/ui/ui.gyp:ui', + '<(DEPTH)/ui/gfx/gfx.gyp:gfx', ], + 'export_dependent_settings': [ + '<(DEPTH)/gpu/gpu.gyp:gles2_implementation', diff --git a/patches/chromium/0011-Hide-the-definition-of-MessagePumpGtk-GetDefaultXDis.patch b/patches/chromium/0011-Hide-the-definition-of-MessagePumpGtk-GetDefaultXDis.patch deleted file mode 100644 index 41ac2c5e1..000000000 --- a/patches/chromium/0011-Hide-the-definition-of-MessagePumpGtk-GetDefaultXDis.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jocelyn Turcotte -Date: Fri, 20 Sep 2013 15:01:41 +0200 -Subject: Hide the definition of MessagePumpGtk::GetDefaultXDisplay. - ---- - base/message_loop/message_pump_gtk.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/base/message_loop/message_pump_gtk.cc b/base/message_loop/message_pump_gtk.cc -index 86d2415..6023c11 100644 ---- a/base/message_loop/message_pump_gtk.cc -+++ b/base/message_loop/message_pump_gtk.cc -@@ -79,6 +79,9 @@ void MessagePumpGtk::DispatchEvents(GdkEvent* event) { - DidProcessEvent(event); - } - -+// FIXME: Get our own MessagePumpUI to avoid this. -+// Comment out this version so that our Qt version in shared_globals.cpp is used. -+/* - // static - Display* MessagePumpGtk::GetDefaultXDisplay() { - static GdkDisplay* display = gdk_display_get_default(); -@@ -90,6 +93,7 @@ Display* MessagePumpGtk::GetDefaultXDisplay() { - } - return GDK_DISPLAY_XDISPLAY(display); - } -+*/ - - void MessagePumpGtk::AddObserver(MessagePumpGdkObserver* observer) { - observers_.AddObserver(observer); diff --git a/patches/chromium/0011-Hide-the-definition-of-MessagePumpX11-GetDefaultXDis.patch b/patches/chromium/0011-Hide-the-definition-of-MessagePumpX11-GetDefaultXDis.patch new file mode 100644 index 000000000..a9ab410dd --- /dev/null +++ b/patches/chromium/0011-Hide-the-definition-of-MessagePumpX11-GetDefaultXDis.patch @@ -0,0 +1,33 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Andras Becsi +Date: Mon, 24 Mar 2014 18:36:43 +0100 +Subject: Hide the definition of MessagePumpX11::GetDefaultXDisplay + +This should replace patch 0011 since we do not build GTK code any more. + +Change-Id: I156f164128b04eee6d5956a576adef3b9d2d18ea +Reviewed-by: Jocelyn Turcotte +--- + base/message_loop/message_pump_x11.cc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/base/message_loop/message_pump_x11.cc b/base/message_loop/message_pump_x11.cc +index 35dcc04..001775c 100644 +--- a/base/message_loop/message_pump_x11.cc ++++ b/base/message_loop/message_pump_x11.cc +@@ -141,12 +141,15 @@ MessagePumpX11::~MessagePumpX11() { + g_xdisplay = NULL; + } + ++#if !defined(TOOLKIT_QT) ++// Qt uses it's own version. + // static + Display* MessagePumpX11::GetDefaultXDisplay() { + if (!g_xdisplay) + g_xdisplay = XOpenDisplay(NULL); + return g_xdisplay; + } ++#endif + + #if defined(TOOLKIT_GTK) + // static diff --git a/patches/chromium/0012-Add-accessors-for-the-Qt-delegated-renderer-integrat.patch b/patches/chromium/0012-Add-accessors-for-the-Qt-delegated-renderer-integrat.patch index 3a9052ff2..f6fb05d79 100644 --- a/patches/chromium/0012-Add-accessors-for-the-Qt-delegated-renderer-integrat.patch +++ b/patches/chromium/0012-Add-accessors-for-the-Qt-delegated-renderer-integrat.patch @@ -12,10 +12,10 @@ SyncPointManager of the GPU in-process host. 3 files changed, 14 insertions(+) diff --git a/content/common/gpu/gpu_channel_manager.h b/content/common/gpu/gpu_channel_manager.h -index f01a1c5..e41a548 100644 +index eb4d224..1ab04d9 100644 --- a/content/common/gpu/gpu_channel_manager.h +++ b/content/common/gpu/gpu_channel_manager.h -@@ -89,6 +89,8 @@ class GpuChannelManager : public IPC::Listener, +@@ -90,6 +90,8 @@ class GpuChannelManager : public IPC::Listener, gpu::gles2::ProgramCache* program_cache(); @@ -23,7 +23,7 @@ index f01a1c5..e41a548 100644 + GpuMemoryManager* gpu_memory_manager() { return &gpu_memory_manager_; } - GpuChannel* LookupChannel(int32 client_id); + GpuEventsDispatcher* gpu_devtools_events_dispatcher() { diff --git a/content/gpu/gpu_child_thread.cc b/content/gpu/gpu_child_thread.cc index 170b364..a84a9e0 100644 --- a/content/gpu/gpu_child_thread.cc diff --git a/patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch b/patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch index a304c93bc..febdf6aab 100644 --- a/patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch +++ b/patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch @@ -40,10 +40,10 @@ index 8b466bd..fe3f7b3 100644 } diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index cc664c6..f817cb2 100644 +index 8633105..639998f 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -48,6 +48,7 @@ class CryptoModuleBlockingPasswordDelegate; +@@ -45,6 +45,7 @@ class FilePath; } namespace gfx { @@ -51,9 +51,9 @@ index cc664c6..f817cb2 100644 class ImageSkia; } -@@ -570,6 +571,10 @@ class CONTENT_EXPORT ContentBrowserClient { - // Return NULL to use the default one for the platform to be created. - virtual LocationProvider* OverrideSystemLocationProvider(); +@@ -582,6 +583,10 @@ class CONTENT_EXPORT ContentBrowserClient { + // information. + virtual VibrationProvider* OverrideVibrationProvider(); + // Allow an embedder to provide a share group reimplementation to connect renderer + // GL contexts with the root compositor. diff --git a/patches/chromium/0014-Declare-a-Qt-IPC-message-class.patch b/patches/chromium/0014-Declare-a-Qt-IPC-message-class.patch index c08c09916..15f98cc13 100644 --- a/patches/chromium/0014-Declare-a-Qt-IPC-message-class.patch +++ b/patches/chromium/0014-Declare-a-Qt-IPC-message-class.patch @@ -12,7 +12,7 @@ Reviewed-by: Pierre Rossi 1 file changed, 1 insertion(+) diff --git a/ipc/ipc_message_start.h b/ipc/ipc_message_start.h -index a8cca53..314ed0e 100644 +index 7ce2bdd..3016f5d 100644 --- a/ipc/ipc_message_start.h +++ b/ipc/ipc_message_start.h @@ -10,6 +10,7 @@ @@ -20,6 +20,6 @@ index a8cca53..314ed0e 100644 enum IPCMessageStart { AutomationMsgStart = 0, + QtMsgStart, + FrameMsgStart, ViewMsgStart, InputMsgStart, - PluginMsgStart, diff --git a/patches/chromium/0015-Blacklist-the-skypebuttons-plugin.patch b/patches/chromium/0015-Blacklist-the-skypebuttons-plugin.patch new file mode 100644 index 000000000..8ebd56a93 --- /dev/null +++ b/patches/chromium/0015-Blacklist-the-skypebuttons-plugin.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jocelyn Turcotte +Date: Wed, 27 Nov 2013 13:31:28 +0100 +Subject: Blacklist the skypebuttons plugin + +Even though plugins are disabled it happens that the libraries are +loaded and cause a crash since skypebuttons pulls Qt4 with it on +Linux and creates a dynamic linking error conflicting with Qt5 +symbols. + +Add the plugin library name to the blacklist to avoid it being +loaded altogether. +We have a similar fix in QtWebKit doing the same thing. + +Change-Id: I6706d45d1f19252d3b60af7b97c0a3a729dfe8b7 +Reviewed-by: Andras Becsi +--- + content/common/plugin_list_posix.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/content/common/plugin_list_posix.cc b/content/common/plugin_list_posix.cc +index acd7830..0e82276 100644 +--- a/content/common/plugin_list_posix.cc ++++ b/content/common/plugin_list_posix.cc +@@ -151,6 +151,7 @@ bool IsUndesirablePlugin(const WebPluginInfo& info) { + // http://code.google.com/p/chromium/issues/detail?id=38229 + bool IsBlacklistedPlugin(const base::FilePath& path) { + const char* kBlackListedPlugins[] = { ++ "skypebuttons.so", // Crash on dlopen since it uses Qt4 + "nppdf.so", // Adobe PDF + }; + std::string filename = path.BaseName().value(); diff --git a/patches/chromium/0015-InstantExtended-Send-search-URLs-to-renderers.patch b/patches/chromium/0015-InstantExtended-Send-search-URLs-to-renderers.patch deleted file mode 100644 index e70ade28a..000000000 --- a/patches/chromium/0015-InstantExtended-Send-search-URLs-to-renderers.patch +++ /dev/null @@ -1,271 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: "jered@chromium.org" -Date: Tue, 1 Oct 2013 01:33:30 +0000 -Subject: InstantExtended: Send search URLs to renderers. - -Previously, navigations initiated by an instant renderer were bounced to -the browser to be rebucketed into an instant or non-instant renderer. -But navigations from non-instant renderers to instant URLs (i.e. -privileged search page URLs) were not rebucketed, because the renderer -had no knowledge of which URLs were instant URLs, and it would be too -expensive to bounce ALL URLs. As a result, non-instant pages like -google.com/setprefs could not redirect to instant pages like -google.com/search. - -This change has InstantService tell renderers about URLs associated with -the default search engine, and uses this knowledge to bounce -renderer-initiated navigations to likely instant URLs from non-instant -processes back into the browser for rebucketing. So now link clicks from -non-instant pages to instant pages will put the destination pages into -an instant process. Unfortunately, though, redirects are still broken. -For example, - -0. User clicks "Set preferences" button on an instant page. -1. Instant renderer bounces google.com/setprefs to the browser. -2. Browser says google.com/setprefs is not an instant URL, - and assigns it to a non-instant renderer. -3. After rebucketing to the non-instant renderer, google.com/setprefs - is marked as a browser initiated request(!) -4. /setprefs redirects to /search, which _is_ an instant URL, but - because /setprefs is marked as browser initiated the non-instant - renderer does not get a chance to bounce it back to the browser. - -I tried working around this by giving redirects a chance to bounce back -to the browser in step #4, but this broke the signin process model in a -scary way that I don't fully understand. It seems like the right fix -here is going to need to EITHER follow the redirect chain in step #2 -when determining if an URL is an instant URL, OR somehow flag the -bounced redirect request for further inspection in step #3. - -This change also includes a small side benefit. Since renderers now know -about instant URLs, we can suppress a flash of a baked-in error page in -the event of an error while loading the InstantExtended new tab page. - -TEST=manual,unit,browsertest -BUG=271088,223754 - -Review URL: https://codereview.chromium.org/23455047 - -Change-Id: I8a552e7d51d480c09efbfe77f5a2786f56d471ad -git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226103 0039d316-1c4b-4281-b951-d872f2087c98 -Reviewed-by: Andras Becsi ---- - chrome/chrome_common.gypi | 2 + - chrome/chrome_renderer.gypi | 2 + - chrome/chrome_tests.gypi | 1 + - chrome/chrome_tests_unit.gypi | 2 + - content/public/renderer/content_renderer_client.cc | 4 ++ - content/public/renderer/content_renderer_client.h | 4 ++ - content/renderer/render_view_browsertest.cc | 76 ++++++++++++++++++++++ - content/renderer/render_view_impl.cc | 10 ++- - content/renderer/render_view_impl.h | 2 + - 9 files changed, 102 insertions(+), 1 deletion(-) - -diff --git a/chrome/chrome_common.gypi b/chrome/chrome_common.gypi -index 3157836..f3dfc27 100644 ---- a/chrome/chrome_common.gypi -+++ b/chrome/chrome_common.gypi -@@ -441,6 +441,8 @@ - 'common/safe_browsing/zip_analyzer.h', - 'common/search_provider.h', - 'common/search_types.h', -+ 'common/search_urls.cc', -+ 'common/search_urls.h', - 'common/service_messages.h', - 'common/service_process_util.cc', - 'common/service_process_util.h', -diff --git a/chrome/chrome_renderer.gypi b/chrome/chrome_renderer.gypi -index 7b8b758..2e9ef9b 100644 ---- a/chrome/chrome_renderer.gypi -+++ b/chrome/chrome_renderer.gypi -@@ -310,6 +310,8 @@ - 'renderer/safe_browsing/phishing_url_feature_extractor.h', - 'renderer/safe_browsing/scorer.cc', - 'renderer/safe_browsing/scorer.h', -+ 'renderer/searchbox/search_bouncer.cc', -+ 'renderer/searchbox/search_bouncer.h', - 'renderer/searchbox/searchbox.cc', - 'renderer/searchbox/searchbox.h', - 'renderer/searchbox/searchbox_extension.cc', -diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi -index 6e362a6..581d52d 100644 ---- a/chrome/chrome_tests.gypi -+++ b/chrome/chrome_tests.gypi -@@ -1419,6 +1419,7 @@ - 'common/mac/mock_launchd.cc', - 'common/mac/mock_launchd.h', - 'common/time_format_browsertest.cc', -+ 'renderer/chrome_content_renderer_client_browsertest.cc', - 'renderer/autofill/autofill_renderer_browsertest.cc', - 'renderer/autofill/form_autocomplete_browsertest.cc', - 'renderer/autofill/form_autofill_browsertest.cc', -diff --git a/chrome/chrome_tests_unit.gypi b/chrome/chrome_tests_unit.gypi -index 1b77d80..666e8bc 100644 ---- a/chrome/chrome_tests_unit.gypi -+++ b/chrome/chrome_tests_unit.gypi -@@ -1806,6 +1806,7 @@ - 'common/net/x509_certificate_model_unittest.cc', - 'common/partial_circular_buffer_unittest.cc', - 'common/pref_names_util_unittest.cc', -+ 'common/search_urls_unittest.cc', - 'common/service_process_util_unittest.cc', - 'common/switch_utils_unittest.cc', - 'common/thumbnail_score_unittest.cc', -@@ -1835,6 +1836,7 @@ - 'renderer/safe_browsing/phishing_term_feature_extractor_unittest.cc', - 'renderer/safe_browsing/phishing_url_feature_extractor_unittest.cc', - 'renderer/safe_browsing/scorer_unittest.cc', -+ 'renderer/searchbox/search_bouncer_unittest.cc', - 'renderer/searchbox/searchbox_extension_unittest.cc', - 'renderer/searchbox/searchbox_unittest.cc', - 'renderer/spellchecker/custom_dictionary_engine_unittest.cc', -diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc -index 2621de3..76c80b4 100644 ---- a/content/public/renderer/content_renderer_client.cc -+++ b/content/public/renderer/content_renderer_client.cc -@@ -37,6 +37,10 @@ bool ContentRendererClient::HasErrorPage(int http_status_code, - return false; - } - -+bool ContentRendererClient::ShouldSuppressErrorPage(const GURL& url) { -+ return false; -+} -+ - void ContentRendererClient::DeferMediaLoad(RenderView* render_view, - const base::Closure& closure) { - closure.Run(); -diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index fcb8e56..4434a0f 100644 ---- a/content/public/renderer/content_renderer_client.h -+++ b/content/public/renderer/content_renderer_client.h -@@ -101,6 +101,10 @@ class CONTENT_EXPORT ContentRendererClient { - virtual bool HasErrorPage(int http_status_code, - std::string* error_domain); - -+ // Returns true if the embedder prefers not to show an error page for a failed -+ // navigation to |url|. -+ virtual bool ShouldSuppressErrorPage(const GURL& url); -+ - // Returns the information to display when a navigation error occurs. - // If |error_html| is not null then it may be set to a HTML page containing - // the details of the error and maybe links to more info. -diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc -index fc13ec0..a66e041 100644 ---- a/content/renderer/render_view_browsertest.cc -+++ b/content/renderer/render_view_browsertest.cc -@@ -1950,4 +1950,80 @@ TEST_F(RenderViewImplTest, GetSSLStatusOfFrame) { - EXPECT_TRUE(net::IsCertStatusError(ssl_status.cert_status)); - } - -+class SuppressErrorPageTest : public RenderViewTest { -+ public: -+ virtual void SetUp() OVERRIDE { -+ SetRendererClientForTesting(&client_); -+ RenderViewTest::SetUp(); -+ } -+ -+ RenderViewImpl* view() { -+ return static_cast(view_); -+ } -+ -+ private: -+ class TestContentRendererClient : public ContentRendererClient { -+ public: -+ virtual bool ShouldSuppressErrorPage(const GURL& url) OVERRIDE { -+ return url == GURL("http://example.com/suppress"); -+ } -+ -+ virtual void GetNavigationErrorStrings( -+ WebKit::WebFrame* frame, -+ const WebKit::WebURLRequest& failed_request, -+ const WebKit::WebURLError& error, -+ std::string* error_html, -+ string16* error_description) OVERRIDE { -+ if (error_html) -+ *error_html = "A suffusion of yellow."; -+ } -+ }; -+ -+ TestContentRendererClient client_; -+}; -+ -+TEST_F(SuppressErrorPageTest, Suppresses) { -+ WebURLError error; -+ error.domain = WebString::fromUTF8(net::kErrorDomain); -+ error.reason = net::ERR_FILE_NOT_FOUND; -+ error.unreachableURL = GURL("http://example.com/suppress"); -+ WebFrame* web_frame = GetMainFrame(); -+ -+ // Start a load that will reach provisional state synchronously, -+ // but won't complete synchronously. -+ ViewMsg_Navigate_Params params; -+ params.page_id = -1; -+ params.navigation_type = ViewMsg_Navigate_Type::NORMAL; -+ params.url = GURL("data:text/html,test data"); -+ view()->OnNavigate(params); -+ -+ // An error occurred. -+ view()->didFailProvisionalLoad(web_frame, error); -+ const int kMaxOutputCharacters = 22; -+ EXPECT_EQ("", UTF16ToASCII(web_frame->contentAsText(kMaxOutputCharacters))); -+} -+ -+TEST_F(SuppressErrorPageTest, DoesNotSuppress) { -+ WebURLError error; -+ error.domain = WebString::fromUTF8(net::kErrorDomain); -+ error.reason = net::ERR_FILE_NOT_FOUND; -+ error.unreachableURL = GURL("http://example.com/dont-suppress"); -+ WebFrame* web_frame = GetMainFrame(); -+ -+ // Start a load that will reach provisional state synchronously, -+ // but won't complete synchronously. -+ ViewMsg_Navigate_Params params; -+ params.page_id = -1; -+ params.navigation_type = ViewMsg_Navigate_Type::NORMAL; -+ params.url = GURL("data:text/html,test data"); -+ view()->OnNavigate(params); -+ -+ // An error occurred. -+ view()->didFailProvisionalLoad(web_frame, error); -+ ProcessPendingMessages(); -+ const int kMaxOutputCharacters = 22; -+ EXPECT_EQ("A suffusion of yellow.", -+ UTF16ToASCII(web_frame->contentAsText(kMaxOutputCharacters))); -+} -+ - } // namespace content -diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc -index f52080e..6efebff 100644 ---- a/content/renderer/render_view_impl.cc -+++ b/content/renderer/render_view_impl.cc -@@ -3646,8 +3646,16 @@ void RenderViewImpl::didFailProvisionalLoad(WebFrame* frame, - return; - } - -- if (RenderThreadImpl::current()->layout_test_mode()) -+ // Allow the embedder to suppress an error page. -+ if (GetContentClient()->renderer()->ShouldSuppressErrorPage( -+ error.unreachableURL)) { - return; -+ } -+ -+ if (RenderThreadImpl::current() && -+ RenderThreadImpl::current()->layout_test_mode()) { -+ return; -+ } - - // Make sure we never show errors in view source mode. - frame->enableViewSourceMode(false); -diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h -index 2b18b3c..2634ce1 100644 ---- a/content/renderer/render_view_impl.h -+++ b/content/renderer/render_view_impl.h -@@ -832,6 +832,8 @@ class CONTENT_EXPORT RenderViewImpl - ShouldUpdateSelectionTextFromContextMenuParams); - FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, BasicRenderFrame); - FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, TextInputTypeWithPepper); -+ FRIEND_TEST_ALL_PREFIXES(SuppressErrorPageTest, Suppresses); -+ FRIEND_TEST_ALL_PREFIXES(SuppressErrorPageTest, DoesNotSuppress); - - typedef std::map HostZoomLevels; - diff --git a/patches/chromium/0016-Blacklist-the-skypebuttons-plugin.patch b/patches/chromium/0016-Blacklist-the-skypebuttons-plugin.patch deleted file mode 100644 index 7807eef0d..000000000 --- a/patches/chromium/0016-Blacklist-the-skypebuttons-plugin.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jocelyn Turcotte -Date: Wed, 27 Nov 2013 13:31:28 +0100 -Subject: Blacklist the skypebuttons plugin - -Even though plugins are disabled it happens that the libraries are -loaded and cause a crash since skypebuttons pulls Qt4 with it on -Linux and creates a dynamic linking error conflicting with Qt5 -symbols. - -Add the plugin library name to the blacklist to avoid it being -loaded altogether. -We have a similar fix in QtWebKit doing the same thing. - -Change-Id: I6706d45d1f19252d3b60af7b97c0a3a729dfe8b7 -Reviewed-by: Andras Becsi ---- - content/common/plugin_list_posix.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/content/common/plugin_list_posix.cc b/content/common/plugin_list_posix.cc -index 3e1353be..7c04485 100644 ---- a/content/common/plugin_list_posix.cc -+++ b/content/common/plugin_list_posix.cc -@@ -151,6 +151,7 @@ bool IsUndesirablePlugin(const WebPluginInfo& info) { - // http://code.google.com/p/chromium/issues/detail?id=38229 - bool IsBlacklistedPlugin(const base::FilePath& path) { - const char* kBlackListedPlugins[] = { -+ "skypebuttons.so", // Crash on dlopen since it uses Qt4 - "nppdf.so", // Adobe PDF - }; - std::string filename = path.BaseName().value(); diff --git a/patches/chromium/0016-Remove-the-Running-without-renderer-sandbox-error-me.patch b/patches/chromium/0016-Remove-the-Running-without-renderer-sandbox-error-me.patch new file mode 100644 index 000000000..3ab1002fb --- /dev/null +++ b/patches/chromium/0016-Remove-the-Running-without-renderer-sandbox-error-me.patch @@ -0,0 +1,26 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jocelyn Turcotte +Date: Thu, 30 Jan 2014 18:09:32 +0100 +Subject: Remove the Running without renderer sandbox error message + +We are currently not planing to enable the sandbox and the error +pollutes the auto tests output. + +Change-Id: Idd2e7eeea8f890f55dd6b6d513a7a43890e7d5b4 +Reviewed-by: Andras Becsi +--- + content/renderer/renderer_main.cc | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/content/renderer/renderer_main.cc b/content/renderer/renderer_main.cc +index 63c72ae..f0c16d2 100644 +--- a/content/renderer/renderer_main.cc ++++ b/content/renderer/renderer_main.cc +@@ -223,7 +223,6 @@ int RendererMain(const MainFunctionParams& parameters) { + if (!no_sandbox) { + run_loop = platform.EnableSandbox(); + } else { +- LOG(ERROR) << "Running without renderer sandbox"; + #ifndef NDEBUG + // For convenience, we print the stack trace for crashes. We can't get + // symbols when the sandbox is enabled, so only try when the sandbox is diff --git a/patches/chromium/0017-Remove-the-Running-without-renderer-sandbox-error-me.patch b/patches/chromium/0017-Remove-the-Running-without-renderer-sandbox-error-me.patch deleted file mode 100644 index 810c64fe5..000000000 --- a/patches/chromium/0017-Remove-the-Running-without-renderer-sandbox-error-me.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jocelyn Turcotte -Date: Thu, 30 Jan 2014 18:09:32 +0100 -Subject: Remove the Running without renderer sandbox error message - -We are currently not planing to enable the sandbox and the error -pollutes the auto tests output. - -Change-Id: Idd2e7eeea8f890f55dd6b6d513a7a43890e7d5b4 -Reviewed-by: Andras Becsi ---- - content/renderer/renderer_main.cc | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/content/renderer/renderer_main.cc b/content/renderer/renderer_main.cc -index 2d298a6..1c33cf3 100644 ---- a/content/renderer/renderer_main.cc -+++ b/content/renderer/renderer_main.cc -@@ -224,7 +224,6 @@ int RendererMain(const MainFunctionParams& parameters) { - if (!no_sandbox) { - run_loop = platform.EnableSandbox(); - } else { -- LOG(ERROR) << "Running without renderer sandbox"; - #ifndef NDEBUG - // For convenience, we print the stack trace for crashes. We can't get - // symbols when the sandbox is enabled, so only try when the sandbox is diff --git a/patches/chromium/0017-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch b/patches/chromium/0017-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch new file mode 100644 index 000000000..6a39ffec2 --- /dev/null +++ b/patches/chromium/0017-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch @@ -0,0 +1,55 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jocelyn Turcotte +Date: Tue, 18 Feb 2014 14:49:48 +0100 +Subject: Update clipboard.h to allow building clipboard_qt.cpp on all + platforms + +Change-Id: Ife754b2fcb1c1a535565facdbab615c07b8c4935 +Reviewed-by: Simon Hausmann +--- + ui/base/clipboard/clipboard.h | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/ui/base/clipboard/clipboard.h b/ui/base/clipboard/clipboard.h +index f41ac7a..5cf936c 100644 +--- a/ui/base/clipboard/clipboard.h ++++ b/ui/base/clipboard/clipboard.h +@@ -88,6 +88,7 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { + bool operator<(const FormatType& other) const; + #endif + ++#if !defined(TOOLKIT_QT) + #if defined(OS_WIN) + const FORMATETC& ToFormatEtc() const { return data_; } + #elif defined(OS_MACOSX) +@@ -97,6 +98,9 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { + #elif defined(USE_AURA) + const std::string& ToString() const { return data_; } + #endif ++#else ++ const std::string& ToString() const { return data_; } ++#endif // !defined(TOOLKIT_QT) + + private: + friend class Clipboard; +@@ -111,7 +115,10 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { + // + // Note that in some cases, the accessor for the wrapped descriptor may be + // public, as these format types can be used by drag and drop code as well. +-#if defined(OS_WIN) ++#if defined(TOOLKIT_QT) ++ explicit FormatType(const std::string& native_format); ++ std::string data_; ++#elif defined(OS_WIN) + explicit FormatType(UINT native_format); + FormatType(UINT native_format, LONG index); + UINT ToUINT() const { return data_.cfFormat; } +@@ -339,7 +346,7 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { + void WriteData(const FormatType& format, + const char* data_data, + size_t data_len); +-#if defined(OS_WIN) ++#if !defined(TOOLKIT_QT) && defined(OS_WIN) + void WriteBitmapFromHandle(HBITMAP source_hbitmap, + const gfx::Size& size); + diff --git a/patches/chromium/0018-Get-rid-of-the-gtk-pango-cairo-dependency.patch b/patches/chromium/0018-Get-rid-of-the-gtk-pango-cairo-dependency.patch new file mode 100644 index 000000000..295959fdb --- /dev/null +++ b/patches/chromium/0018-Get-rid-of-the-gtk-pango-cairo-dependency.patch @@ -0,0 +1,86 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Andras Becsi +Date: Mon, 24 Mar 2014 18:41:20 +0100 +Subject: Get rid of the gtk/pango/cairo dependency + +This also removes the aura dependency to chrome resources +since we repack the needed resources ourselves. + +Change-Id: I8180d5668334540cfd88ade449f3f0c966b989ce +Reviewed-by: Zeno Albisser +--- + build/linux/system.gyp | 6 +++++- + content/browser/renderer_host/render_sandbox_host_linux.cc | 2 +- + content/renderer/npapi/webplugin_delegate_proxy.cc | 2 +- + ui/aura/aura.gyp | 1 - + 4 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/build/linux/system.gyp b/build/linux/system.gyp +index 4a7e857..1451afb 100644 +--- a/build/linux/system.gyp ++++ b/build/linux/system.gyp +@@ -29,7 +29,7 @@ + 'use_system_ssl%': 1, + }, + }], +- [ 'chromeos==0', { ++ [ 'chromeos==0 and use_qt==0', { + # Hide GTK and related dependencies for Chrome OS, so they won't get + # added back to Chrome OS. Don't try to use GTK on Chrome OS. + 'targets': [ +@@ -660,6 +660,8 @@ + 'type': 'none', + 'toolsets': ['host', 'target'], + 'conditions': [ ++ ['use_pango==1', { ++ 'conditions': [ + ['_toolset=="target"', { + 'direct_dependent_settings': { + 'cflags': [ +@@ -690,6 +692,8 @@ + }, + }], + ], ++ }], ++ ], + }, + { + 'target_name': 'ssl', +diff --git a/content/browser/renderer_host/render_sandbox_host_linux.cc b/content/browser/renderer_host/render_sandbox_host_linux.cc +index 19cbc5b..f4e1cfc 100644 +--- a/content/browser/renderer_host/render_sandbox_host_linux.cc ++++ b/content/browser/renderer_host/render_sandbox_host_linux.cc +@@ -709,7 +709,7 @@ void RenderSandboxHostLinux::Init(const std::string& sandbox_path) { + childs_lifeline_fd_ = pipefds[1]; + + // We need to be monothreaded before we fork(). +-#if !defined(TOOLKIT_GTK) ++#if !defined(TOOLKIT_GTK) && !defined(TOOLKIT_QT) + // Exclude gtk port as TestSuite in base/tests/test_suite.cc is calling + // gtk_init. + // TODO(oshima): Remove ifdef when above issues are resolved. +diff --git a/content/renderer/npapi/webplugin_delegate_proxy.cc b/content/renderer/npapi/webplugin_delegate_proxy.cc +index d7f8472..a6418fb 100644 +--- a/content/renderer/npapi/webplugin_delegate_proxy.cc ++++ b/content/renderer/npapi/webplugin_delegate_proxy.cc +@@ -6,7 +6,7 @@ + + #if defined(TOOLKIT_GTK) + #include +-#elif defined(USE_X11) ++#elif defined(USE_CAIRO) + #include + #endif + +diff --git a/ui/aura/aura.gyp b/ui/aura/aura.gyp +index 68164d4..139e046 100644 +--- a/ui/aura/aura.gyp ++++ b/ui/aura/aura.gyp +@@ -243,7 +243,6 @@ + 'type': 'executable', + 'dependencies': [ + '../../base/base.gyp:test_support_base', +- '../../chrome/chrome_resources.gyp:packed_resources', + '../../skia/skia.gyp:skia', + '../../testing/gtest.gyp:gtest', + '../compositor/compositor.gyp:compositor', diff --git a/patches/chromium/0018-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch b/patches/chromium/0018-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch deleted file mode 100644 index 5420fdb30..000000000 --- a/patches/chromium/0018-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jocelyn Turcotte -Date: Tue, 18 Feb 2014 14:49:48 +0100 -Subject: Update clipboard.h to allow building clipboard_qt.cpp on all - platforms - -Change-Id: Ife754b2fcb1c1a535565facdbab615c07b8c4935 -Reviewed-by: Simon Hausmann ---- - ui/base/clipboard/clipboard.h | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/ui/base/clipboard/clipboard.h b/ui/base/clipboard/clipboard.h -index 94cd664..87a5f01 100644 ---- a/ui/base/clipboard/clipboard.h -+++ b/ui/base/clipboard/clipboard.h -@@ -87,6 +87,7 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { - bool operator<(const FormatType& other) const; - #endif - -+#if !defined(TOOLKIT_QT) - #if defined(OS_WIN) - const FORMATETC& ToFormatEtc() const { return data_; } - #elif defined(OS_MACOSX) -@@ -96,6 +97,7 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { - #elif defined(USE_AURA) - const std::string& ToString() const { return data_; } - #endif -+#endif // TOOLKIT_QT - - private: - friend class Clipboard; -@@ -110,7 +112,10 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { - // - // Note that in some cases, the accessor for the wrapped descriptor may be - // public, as these format types can be used by drag and drop code as well. --#if defined(OS_WIN) -+#if defined(TOOLKIT_QT) -+ explicit FormatType(const std::string& native_format); -+ std::string data_; -+#elif defined(OS_WIN) - explicit FormatType(UINT native_format); - FormatType(UINT native_format, LONG index); - UINT ToUINT() const { return data_.cfFormat; } -@@ -351,7 +356,7 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { - void WriteData(const FormatType& format, - const char* data_data, - size_t data_len); --#if defined(OS_WIN) -+#if !defined(TOOLKIT_QT) && defined(OS_WIN) - void WriteBitmapFromHandle(HBITMAP source_hbitmap, - const gfx::Size& size); - diff --git a/patches/chromium/0019-Cherry-pick-https-codereview.chromium.org-137433002-.patch b/patches/chromium/0019-Cherry-pick-https-codereview.chromium.org-137433002-.patch new file mode 100644 index 000000000..fa6e8fbf4 --- /dev/null +++ b/patches/chromium/0019-Cherry-pick-https-codereview.chromium.org-137433002-.patch @@ -0,0 +1,34 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Andras Becsi +Date: Fri, 14 Mar 2014 18:37:44 +0100 +Subject: Cherry-pick https://codereview.chromium.org/137433002 from upstream + +This fixes the build with a cross compiler toolchain. +We do not require the functionality of this script but +gyp tries to run it and fails if the specified file +does not exist. + +As the upstream issue mentions, this script is "going +away soonish", until then we can keep this patch around. + +Change-Id: Ib9084103cd95aad3c48541e13351ebee2c9279ea +Reviewed-by: Pierre Rossi +--- + build/linux/python_arch.sh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/build/linux/python_arch.sh b/build/linux/python_arch.sh +index 3a41f94..e0f63bc 100755 +--- a/build/linux/python_arch.sh ++++ b/build/linux/python_arch.sh +@@ -11,7 +11,9 @@ + # + + file_out=$(file --dereference "$1") +-if [ $? -ne 0 ]; then ++# The POSIX spec says that `file` should not exit(1) if the file does not ++# exist, so do our own -e check to catch things. ++if [ $? -ne 0 ] || [ ! -e "$1" ] ; then + echo unknown + exit 0 + fi diff --git a/patches/chromium/third_party/WebKit/0001-Remove-leftovers-from-WebKitSystemInterface.patch b/patches/chromium/third_party/WebKit/0001-Remove-leftovers-from-WebKitSystemInterface.patch index bfd00a573..43eb24883 100644 --- a/patches/chromium/third_party/WebKit/0001-Remove-leftovers-from-WebKitSystemInterface.patch +++ b/patches/chromium/third_party/WebKit/0001-Remove-leftovers-from-WebKitSystemInterface.patch @@ -4,13 +4,13 @@ Date: Thu, 27 Jun 2013 19:21:34 +0200 Subject: Remove leftovers from WebKitSystemInterface --- - Source/core/platform/graphics/mac/ComplexTextControllerCoreText.mm | 5 ----- + Source/platform/fonts/mac/ComplexTextControllerCoreText.mm | 5 ----- 1 file changed, 5 deletions(-) -diff --git a/Source/core/platform/graphics/mac/ComplexTextControllerCoreText.mm b/Source/core/platform/graphics/mac/ComplexTextControllerCoreText.mm -index c5be0bb..5882bcd 100644 ---- a/Source/core/platform/graphics/mac/ComplexTextControllerCoreText.mm -+++ b/Source/core/platform/graphics/mac/ComplexTextControllerCoreText.mm +diff --git a/Source/platform/fonts/mac/ComplexTextControllerCoreText.mm b/Source/platform/fonts/mac/ComplexTextControllerCoreText.mm +index 822aa8c..42cdbed 100644 +--- a/Source/platform/fonts/mac/ComplexTextControllerCoreText.mm ++++ b/Source/platform/fonts/mac/ComplexTextControllerCoreText.mm @@ -223,14 +223,9 @@ void ComplexTextController::collectComplexTextRunsForCharacters(const UChar* cp, static CFDictionaryRef ltrTypesetterOptions = CFDictionaryCreate(kCFAllocatorDefault, optionKeys, ltrOptionValues, WTF_ARRAY_LENGTH(optionKeys), &kCFCopyStringDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); static CFDictionaryRef rtlTypesetterOptions = CFDictionaryCreate(kCFAllocatorDefault, optionKeys, rtlOptionValues, WTF_ARRAY_LENGTH(optionKeys), &kCFCopyStringDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); diff --git a/patches/chromium/third_party/WebKit/0002-Overrideable-path-for-perl-gperf-and-bison.patch b/patches/chromium/third_party/WebKit/0002-Overrideable-path-for-perl-gperf-and-bison.patch index f636afc4c..af3f6b494 100644 --- a/patches/chromium/third_party/WebKit/0002-Overrideable-path-for-perl-gperf-and-bison.patch +++ b/patches/chromium/third_party/WebKit/0002-Overrideable-path-for-perl-gperf-and-bison.patch @@ -1,17 +1,17 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Zoltan Arvai Date: Mon, 3 Mar 2014 14:18:12 +0100 -Subject: [PATCH] Overrideable path for perl, gperf and bison. +Subject: Overrideable path for perl, gperf and bison. --- - Source/core/core.gypi | 6 +++--- + Source/build/scripts/scripts.gypi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/Source/core/core.gypi b/Source/core/core.gypi -index 3cd07aa..77879bb 100644 ---- a/Source/core/core.gypi -+++ b/Source/core/core.gypi -@@ -3879,9 +3879,9 @@ +diff --git a/Source/build/scripts/scripts.gypi b/Source/build/scripts/scripts.gypi +index 2cf0a34..c7bdc4f 100644 +--- a/Source/build/scripts/scripts.gypi ++++ b/Source/build/scripts/scripts.gypi +@@ -43,9 +43,9 @@ ['OS=="win"', { # Using native perl rather than cygwin perl cuts execution time # of idl preprocessing rules by a bit more than 50%. diff --git a/patches/chromium/third_party/WebKit/0003-Add-missing-dependency-to-khronos_headers.patch b/patches/chromium/third_party/WebKit/0003-Add-missing-dependency-to-khronos_headers.patch new file mode 100644 index 000000000..e2796a22f --- /dev/null +++ b/patches/chromium/third_party/WebKit/0003-Add-missing-dependency-to-khronos_headers.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Andras Becsi +Date: Thu, 13 Mar 2014 16:11:59 +0100 +Subject: Add missing dependency to khronos_headers + +This is needed since https://codereview.chromium.org/106503003 +and because of our chromium patch that fixes the build with a +GL ES2 configured Qt. +--- + Source/core/core.gyp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Source/core/core.gyp b/Source/core/core.gyp +index 882565d..8b8a8b5 100644 +--- a/Source/core/core.gyp ++++ b/Source/core/core.gyp +@@ -821,6 +821,7 @@ + 'webcore_derived', + '../wtf/wtf.gyp:wtf', + '<(DEPTH)/skia/skia.gyp:skia', ++ '<(DEPTH)/third_party/khronos/khronos.gyp:khronos_headers', + '<(DEPTH)/third_party/npapi/npapi.gyp:npapi', + '<(DEPTH)/third_party/qcms/qcms.gyp:qcms', + '<(DEPTH)/url/url.gyp:url_lib', +@@ -830,6 +831,7 @@ + '../wtf/wtf.gyp:wtf', + 'webcore_derived', + '<(DEPTH)/skia/skia.gyp:skia', ++ '<(DEPTH)/third_party/khronos/khronos.gyp:khronos_headers', + '<(DEPTH)/third_party/npapi/npapi.gyp:npapi', + '<(DEPTH)/third_party/qcms/qcms.gyp:qcms', + '<(DEPTH)/url/url.gyp:url_lib', diff --git a/patches/chromium/third_party/WebKit/0004-Disable-rubber-banding-on-Mac.patch b/patches/chromium/third_party/WebKit/0004-Disable-rubber-banding-on-Mac.patch new file mode 100644 index 000000000..ffcaad441 --- /dev/null +++ b/patches/chromium/third_party/WebKit/0004-Disable-rubber-banding-on-Mac.patch @@ -0,0 +1,24 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Andras Becsi +Date: Thu, 20 Mar 2014 11:27:56 +0100 +Subject: Disable "rubber-banding" on Mac + +Rubber-banding is the scrolling effect on Mac when overscrolling +which does not work with Qt and also causes a crash with branch 1750. +Disable the feature for now. +--- + Source/config.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Source/config.h b/Source/config.h +index e556d5b..d7501db 100644 +--- a/Source/config.h ++++ b/Source/config.h +@@ -97,7 +97,6 @@ + + #if OS(MACOSX) + #define WTF_USE_CF 1 +-#define WTF_USE_RUBBER_BANDING 1 + + /* We can't override the global operator new and delete on OS(MACOSX) because + * some object are allocated by WebKit and deallocated by the embedder. */ diff --git a/patches/chromium/third_party/libjingle/source/talk/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch b/patches/chromium/third_party/libjingle/source/talk/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch index 5af44662d..ee78844fb 100644 --- a/patches/chromium/third_party/libjingle/source/talk/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch +++ b/patches/chromium/third_party/libjingle/source/talk/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch @@ -14,11 +14,11 @@ This fixes the fixes the "error: field has incomplete type" compiler error. 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/media/webrtc/webrtcvoiceengine.cc b/media/webrtc/webrtcvoiceengine.cc -index 2a6ccd7..8686038 100644 +index 51da9ac..3bdc403 100644 --- a/media/webrtc/webrtcvoiceengine.cc +++ b/media/webrtc/webrtcvoiceengine.cc -@@ -1475,19 +1475,6 @@ void WebRtcVoiceEngine::StopAecDump() { - } +@@ -1620,19 +1620,6 @@ int WebRtcVoiceEngine::CreateSoundclipVoiceChannel() { + return CreateVoiceChannel(voe_wrapper_sc_.get()); } -// This struct relies on the generated copy constructor and assignment operator @@ -38,10 +38,10 @@ index 2a6ccd7..8686038 100644 WebRtcVoiceMediaChannel::WebRtcVoiceMediaChannel(WebRtcVoiceEngine *engine) : WebRtcMediaChannel( diff --git a/media/webrtc/webrtcvoiceengine.h b/media/webrtc/webrtcvoiceengine.h -index 6cb0b30..62d3bc1 100644 +index 23d97f5..6a2c6d8 100644 --- a/media/webrtc/webrtcvoiceengine.h +++ b/media/webrtc/webrtcvoiceengine.h -@@ -374,7 +374,18 @@ class WebRtcVoiceMediaChannel +@@ -388,7 +388,18 @@ class WebRtcVoiceMediaChannel static Error WebRtcErrorToChannelError(int err_code); private: diff --git a/patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-spe.patch b/patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-spe.patch new file mode 100644 index 000000000..425e94c45 --- /dev/null +++ b/patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-spe.patch @@ -0,0 +1,29 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Zoltan Arvai +Date: Mon, 24 Feb 2014 07:29:32 -0800 +Subject: LIBVPX: Add path for QtWebEngine build in Windows specific actions + +--- + libvpx.gyp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libvpx.gyp b/libvpx.gyp +index 3f668df..32a4bb1 100644 +--- a/libvpx.gyp ++++ b/libvpx.gyp +@@ -404,6 +404,7 @@ + '-s', '<(PRODUCT_DIR)/obj/libvpx_asm_offsets_vp8/vp8_asm_enc_offsets.obj', + '-s', '<(ninja_obj_dir)/encoder/libvpx_asm_offsets_vp8.vp8_asm_enc_offsets.obj', + '-s', '<(PRODUCT_DIR)/obj/Source/WebKit/chromium/third_party/libvpx/<(libvpx_source)/vp8/encoder/libvpx_asm_offsets_vp8.vp8_asm_enc_offsets.obj', ++ '-s', '<(qtwe_chromium_obj_dir)/third_party/libvpx/<(libvpx_source)/vp8/encoder/libvpx_asm_offsets_vp8.vp8_asm_enc_offsets.obj', + ], + 'process_output_as_sources': 1, + 'msvs_cygwin_shell': 1, +@@ -502,6 +503,7 @@ + '-s', '<(PRODUCT_DIR)/obj/libvpx_asm_offsets_vpx_scale/vpx_scale_asm_offsets.obj', + '-s', '<(ninja_obj_dir)/encoder/libvpx_asm_offsets_vpx_scale.vpx_scale_asm_offsets.obj', + '-s', '<(PRODUCT_DIR)/obj/Source/WebKit/chromium/third_party/libvpx/<(libvpx_source)/vpx_scale/libvpx_asm_offsets_vpx_scale.vpx_scale_asm_offsets.obj', ++ '-s', '<(qtwe_chromium_obj_dir)/third_party/libvpx/<(libvpx_source)/vpx_scale/libvpx_asm_offsets_vpx_scale.vpx_scale_asm_offsets.obj', + ], + 'process_output_as_sources': 1, + 'msvs_cygwin_shell': 1, diff --git a/patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-specific-actions.patch b/patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-specific-actions.patch deleted file mode 100644 index 8d659eb34..000000000 --- a/patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-specific-actions.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Zoltan Arvai -Date: Mon, 24 Feb 2014 07:29:32 -0800 -Subject: LIBVPX: Add path for QtWebEngine build in Windows specific actions - ---- - libvpx.gyp | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/libvpx.gyp b/libvpx.gyp -index 392ccde..7f1a18d 100644 ---- a/libvpx.gyp -+++ b/libvpx.gyp -@@ -402,6 +402,7 @@ - '-s', '<(PRODUCT_DIR)/obj/libvpx_asm_offsets_vp8/vp8_asm_enc_offsets.obj', - '-s', '<(ninja_obj_dir)/encoder/libvpx_asm_offsets_vp8.vp8_asm_enc_offsets.obj', - '-s', '<(PRODUCT_DIR)/obj/Source/WebKit/chromium/third_party/libvpx/<(libvpx_source)/vp8/encoder/libvpx_asm_offsets_vp8.vp8_asm_enc_offsets.obj', -+ '-s', '<(qtwe_chromium_obj_dir)/third_party/libvpx/<(libvpx_source)/vp8/encoder/libvpx_asm_offsets_vp8.vp8_asm_enc_offsets.obj', - ], - 'process_output_as_sources': 1, - 'msvs_cygwin_shell': 1, -@@ -500,6 +501,7 @@ - '-s', '<(PRODUCT_DIR)/obj/libvpx_asm_offsets_vpx_scale/vpx_scale_asm_offsets.obj', - '-s', '<(ninja_obj_dir)/encoder/libvpx_asm_offsets_vpx_scale.vpx_scale_asm_offsets.obj', - '-s', '<(PRODUCT_DIR)/obj/Source/WebKit/chromium/third_party/libvpx/<(libvpx_source)/vpx_scale/libvpx_asm_offsets_vpx_scale.vpx_scale_asm_offsets.obj', -+ '-s', '<(qtwe_chromium_obj_dir)/third_party/libvpx/<(libvpx_source)/vpx_scale/libvpx_asm_offsets_vpx_scale.vpx_scale_asm_offsets.obj', - ], - 'process_output_as_sources': 1, - 'msvs_cygwin_shell': 1, diff --git a/patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch b/patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch index 3a703b8ac..67188c051 100644 --- a/patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch +++ b/patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch @@ -14,23 +14,22 @@ file in chromium > file basename > absolute file name. THIS SHOULD BE UPSTREAMABLE. --- - grit/node/misc.py | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) + grit/node/misc.py | 6 ++++++ + 1 file changed, 6 insertions(+) diff --git a/grit/node/misc.py b/grit/node/misc.py -index 734c57a..33848b2 100755 +index 345081f..3daf89c 100755 --- a/grit/node/misc.py +++ b/grit/node/misc.py -@@ -49,7 +49,7 @@ def _ReadFirstIdsFromFile(filename, defines): +@@ -49,6 +49,7 @@ def _ReadFirstIdsFromFile(filename, defines): def ReplaceVariable(matchobj): for key, value in defines.iteritems(): if matchobj.group(1) == key: -- value = os.path.abspath(value)[len(src_root_dir) + 1:] + value = os.path.abspath(value) return value return '' -@@ -427,6 +427,11 @@ class GritNode(base.Node): +@@ -431,6 +432,11 @@ class GritNode(base.Node): abs_filename = os.path.abspath(filename_or_stream) if abs_filename[:len(src_root_dir)] != src_root_dir: filename = os.path.basename(filename_or_stream) diff --git a/patches/chromium/tools/gyp/0001-Fix-build-with-toplevel-dir.patch b/patches/chromium/tools/gyp/0001-Fix-build-with-toplevel-dir.patch index 0ab2861ee..d3680ac3a 100644 --- a/patches/chromium/tools/gyp/0001-Fix-build-with-toplevel-dir.patch +++ b/patches/chromium/tools/gyp/0001-Fix-build-with-toplevel-dir.patch @@ -4,14 +4,14 @@ Date: Mon, 13 May 2013 16:25:46 +0200 Subject: Fix build with toplevel-dir --- - pylib/gyp/generator/ninja.py | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) + pylib/gyp/generator/ninja.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pylib/gyp/generator/ninja.py b/pylib/gyp/generator/ninja.py -index 9011807..6fe07c5 100644 +index a40c7fe..a169234 100644 --- a/pylib/gyp/generator/ninja.py +++ b/pylib/gyp/generator/ninja.py -@@ -1476,9 +1476,13 @@ def CalculateVariables(default_variables, params): +@@ -1473,8 +1473,13 @@ def CalculateVariables(default_variables, params): default_variables.setdefault('SHARED_LIB_SUFFIX', '.so') default_variables.setdefault('SHARED_LIB_DIR', os.path.join('$!PRODUCT_DIR', 'lib')) @@ -22,8 +22,7 @@ index 9011807..6fe07c5 100644 + toplevel_offset = os.path.relpath(options.depth, options.toplevel_dir) default_variables.setdefault('LIB_DIR', - os.path.join('$!PRODUCT_DIR', 'obj')) -- + os.path.join('$!PRODUCT_DIR', 'obj', toplevel_offset)) - def OpenOutput(path, mode='w'): - """Open |path| for writing, creating directories if necessary.""" + def ComputeOutputDir(params): + """Returns the path from the toplevel_dir to the build output directory.""" diff --git a/patches/chromium/tools/gyp/0002-Add-support-for-libc-to-xcode_emulation.py.patch b/patches/chromium/tools/gyp/0002-Add-support-for-libc-to-xcode_emulation.py.patch index d12bad22b..b4a39a42f 100644 --- a/patches/chromium/tools/gyp/0002-Add-support-for-libc-to-xcode_emulation.py.patch +++ b/patches/chromium/tools/gyp/0002-Add-support-for-libc-to-xcode_emulation.py.patch @@ -8,10 +8,10 @@ Subject: Add support for libc++ to xcode_emulation.py 1 file changed, 3 insertions(+) diff --git a/pylib/gyp/xcode_emulation.py b/pylib/gyp/xcode_emulation.py -index b4af0fd..fb40048 100644 +index 5e50f10..31191da 100644 --- a/pylib/gyp/xcode_emulation.py +++ b/pylib/gyp/xcode_emulation.py -@@ -580,6 +580,9 @@ class XcodeSettings(object): +@@ -609,6 +609,9 @@ class XcodeSettings(object): for ldflag in self._Settings().get('OTHER_LDFLAGS', []): ldflags.append(self._MapLinkerFlagFilename(ldflag, gyp_to_build_path)) diff --git a/patches/chromium/tools/gyp/0003-Allow-letting-qmake-do-the-link-step.patch b/patches/chromium/tools/gyp/0003-Allow-letting-qmake-do-the-link-step.patch index 8b86bd5ad..88d1a83c8 100644 --- a/patches/chromium/tools/gyp/0003-Allow-letting-qmake-do-the-link-step.patch +++ b/patches/chromium/tools/gyp/0003-Allow-letting-qmake-do-the-link-step.patch @@ -15,10 +15,10 @@ Reviewed-by: Andras Becsi 1 file changed, 43 insertions(+) diff --git a/pylib/gyp/generator/ninja.py b/pylib/gyp/generator/ninja.py -index 6fe07c5..c61f180 100644 +index a169234..909c8d8 100644 --- a/pylib/gyp/generator/ninja.py +++ b/pylib/gyp/generator/ninja.py -@@ -1090,6 +1090,49 @@ class NinjaWriter: +@@ -1101,6 +1101,49 @@ class NinjaWriter: else: command = command + '_notoc' diff --git a/tools/scripts/git_submodule.py b/tools/scripts/git_submodule.py index a364ef650..419263799 100644 --- a/tools/scripts/git_submodule.py +++ b/tools/scripts/git_submodule.py @@ -185,6 +185,7 @@ class Submodule: current_shasum = subprocessCheckOutput(['git', 'show', '-s', '--oneline']).split(' ')[0] if not self.shasum.startswith(current_shasum): # In case HEAD differs check out the actual shasum we require. + subprocessCall(['git', 'fetch']) error = subprocessCall(['git', 'checkout', self.shasum]) os.chdir(oldCwd) return error @@ -220,6 +221,7 @@ class Submodule: if self.url: subprocessCall(['git', 'submodule', 'add', '-f', self.url, self.path]) + subprocessCall(['git', 'submodule', 'sync', '--', self.path]) subprocessCall(['git', 'submodule', 'init', self.path]) subprocessCall(['git', 'submodule', 'update', self.path]) diff --git a/tools/scripts/version_resolver.py b/tools/scripts/version_resolver.py index b52b8f501..5c625472e 100644 --- a/tools/scripts/version_resolver.py +++ b/tools/scripts/version_resolver.py @@ -48,8 +48,8 @@ import json import urllib2 import git_submodule as GitSubmodule -chromium_version = '31.0.1650.63' -chromium_branch = '1650' +chromium_version = '33.0.1750.149' +chromium_branch = '1750' json_url = 'http://omahaproxy.appspot.com/all.json' git_deps_url = 'http://src.chromium.org/chrome/branches/' + chromium_branch + '/src/.DEPS.git' @@ -74,6 +74,14 @@ def readReleaseChannels(): channels[os].append({ 'channel': ver['channel'], 'version': ver['version'], 'branch': ver['true_branch'] }) return channels +def repositoryUrlFix(submodule): + # The git repository info for webrtc is outdated in the 1750 + # branch's .DEPS.git file, so we have to update the url. + # We should be able to remove this with a branch post 1750. + repository_url = submodule.url + if 'external/webrtc/stable' in repository_url: + submodule.url = repository_url.replace('external/webrtc/stable', 'external/webrtc/trunk') + def sanityCheckModules(submodules): submodule_dict = {} sys.stdout.write('\nverifying submodule refs.') @@ -92,13 +100,13 @@ def sanityCheckModules(submodules): sys.exit('ERROR: branch mismatch for ' + submodule.path + '(' + prev_module.ref + ' vs ' + submodule.ref + ')') print('Duplicate submodule ' + submodule.path + '. Using latest revison ' + str(submodule.revision) + '.') if submodule.ref: + repositoryUrlFix(submodule) sys.stdout.write('.') result = subprocess.check_output(['git', 'ls-remote', submodule.url, submodule.ref]) - # Fallback to git shasum if the parsed remote ref does not exist in the git repository. if submodule.ref not in result: - submodule.ref = submodule.revision = '' - if not submodule.shasum: - sys.exit('\nERROR: No valid remote found!') + # We could fall back to the git shasum if the parsed remote ref does not exist in + # the git repository but that would most certainly be outdated, so bail out here. + sys.exit('\nERROR: No valid remote found!') sys.stdout.flush() submodule_dict[submodule.path] = submodule print('done.\n') -- cgit v1.2.3