summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2014-03-25 14:55:56 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-28 17:20:36 +0100
commit25ff83bc7b3e921aa540b88f6c848a78ee7d461f (patch)
tree4a455f2410e5e1c0cbdfd91a4dce40c75532c9f0
parent175dba21885a5bcbd031c1cbc394825b5fbb783e (diff)
downloadqtwebengine-25ff83bc7b3e921aa540b88f6c848a78ee7d461f.tar.gz
Update patches to stable branch 1750
Change-Id: I85149bf4405420813d07bee5259f11a192e86a73 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu>
-rwxr-xr-xinit-repository.py2
-rw-r--r--patches/chromium/0001-Add-WebEngineContext-to-RunLoop-s-friends.patch2
-rw-r--r--patches/chromium/0002-Mac-Use-libc-instead-of-stdlibc.patch24
-rw-r--r--patches/chromium/0003-Clang-libc-does-not-support-incomplete-types-in-temp.patch163
-rw-r--r--patches/chromium/0004-Do-not-modify-the-child-path.patch4
-rw-r--r--patches/chromium/0005-Do-not-warn-for-header-hygiene.patch6
-rw-r--r--patches/chromium/0006-Build-files-necessary-for-touch-and-gestures.patch45
-rw-r--r--patches/chromium/0007-remove-Wno-deprecated-register-from-common.gypi.patch6
-rw-r--r--patches/chromium/0008-Solve-conflicts-when-including-both-QtOpenGL-headers.patch156
-rw-r--r--patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch16
-rw-r--r--patches/chromium/0010-Fix-the-build-with-a-GL-ES2-configured-Qt.patch32
-rw-r--r--patches/chromium/0011-Hide-the-definition-of-MessagePumpGtk-GetDefaultXDis.patch31
-rw-r--r--patches/chromium/0011-Hide-the-definition-of-MessagePumpX11-GetDefaultXDis.patch33
-rw-r--r--patches/chromium/0012-Add-accessors-for-the-Qt-delegated-renderer-integrat.patch6
-rw-r--r--patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch10
-rw-r--r--patches/chromium/0014-Declare-a-Qt-IPC-message-class.patch4
-rw-r--r--patches/chromium/0015-Blacklist-the-skypebuttons-plugin.patch (renamed from patches/chromium/0016-Blacklist-the-skypebuttons-plugin.patch)2
-rw-r--r--patches/chromium/0015-InstantExtended-Send-search-URLs-to-renderers.patch271
-rw-r--r--patches/chromium/0016-Remove-the-Running-without-renderer-sandbox-error-me.patch (renamed from patches/chromium/0017-Remove-the-Running-without-renderer-sandbox-error-me.patch)4
-rw-r--r--patches/chromium/0017-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch (renamed from patches/chromium/0018-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch)18
-rw-r--r--patches/chromium/0018-Get-rid-of-the-gtk-pango-cairo-dependency.patch86
-rw-r--r--patches/chromium/0019-Cherry-pick-https-codereview.chromium.org-137433002-.patch34
-rw-r--r--patches/chromium/third_party/WebKit/0001-Remove-leftovers-from-WebKitSystemInterface.patch10
-rw-r--r--patches/chromium/third_party/WebKit/0002-Overrideable-path-for-perl-gperf-and-bison.patch14
-rw-r--r--patches/chromium/third_party/WebKit/0003-Add-missing-dependency-to-khronos_headers.patch32
-rw-r--r--patches/chromium/third_party/WebKit/0004-Disable-rubber-banding-on-Mac.patch24
-rw-r--r--patches/chromium/third_party/libjingle/source/talk/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch10
-rw-r--r--patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-spe.patch (renamed from patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-specific-actions.patch)10
-rw-r--r--patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch11
-rw-r--r--patches/chromium/tools/gyp/0001-Fix-build-with-toplevel-dir.patch13
-rw-r--r--patches/chromium/tools/gyp/0002-Add-support-for-libc-to-xcode_emulation.py.patch4
-rw-r--r--patches/chromium/tools/gyp/0003-Allow-letting-qmake-do-the-link-step.patch4
-rw-r--r--tools/scripts/git_submodule.py2
-rw-r--r--tools/scripts/version_resolver.py20
34 files changed, 547 insertions, 562 deletions
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<AgentHosts>::Leaky g_orphan_map = LAZY_INSTANCE_INITIALIZER;
+@@ -51,19 +51,6 @@ base::LazyInstance<AgentHosts>::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<InspectedWorker> 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<TerminatedInspectedWorker> 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<std::string, StreamRequest> 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<MessagePortService>::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<MediaStreamDispatcherEventHandler>& 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 <map>
#include <string>
-@@ -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<AudioBuffer> 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 <zeno.albisser@digia.com>
---
- 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 <limits>
+
+ #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 <typename T> 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 <jocelyn.turcotte@digia.com>
-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 <andras.becsi@digia.com>
+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 <jocelyn.turcotte@digia.com>
+---
+ 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 <pierre.rossi@gmail.com>
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/0016-Blacklist-the-skypebuttons-plugin.patch b/patches/chromium/0015-Blacklist-the-skypebuttons-plugin.patch
index 7807eef0d..8ebd56a93 100644
--- a/patches/chromium/0016-Blacklist-the-skypebuttons-plugin.patch
+++ b/patches/chromium/0015-Blacklist-the-skypebuttons-plugin.patch
@@ -19,7 +19,7 @@ Reviewed-by: Andras Becsi <andras.becsi@digia.com>
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
+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) {
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" <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 <andras.becsi@digia.com>
----
- 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<RenderViewImpl*>(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<GURL, double> HostZoomLevels;
-
diff --git a/patches/chromium/0017-Remove-the-Running-without-renderer-sandbox-error-me.patch b/patches/chromium/0016-Remove-the-Running-without-renderer-sandbox-error-me.patch
index 810c64fe5..3ab1002fb 100644
--- a/patches/chromium/0017-Remove-the-Running-without-renderer-sandbox-error-me.patch
+++ b/patches/chromium/0016-Remove-the-Running-without-renderer-sandbox-error-me.patch
@@ -13,10 +13,10 @@ Reviewed-by: Andras Becsi <andras.becsi@digia.com>
1 file changed, 1 deletion(-)
diff --git a/content/renderer/renderer_main.cc b/content/renderer/renderer_main.cc
-index 2d298a6..1c33cf3 100644
+index 63c72ae..f0c16d2 100644
--- a/content/renderer/renderer_main.cc
+++ b/content/renderer/renderer_main.cc
-@@ -224,7 +224,6 @@ int RendererMain(const MainFunctionParams& parameters) {
+@@ -223,7 +223,6 @@ int RendererMain(const MainFunctionParams& parameters) {
if (!no_sandbox) {
run_loop = platform.EnableSandbox();
} else {
diff --git a/patches/chromium/0018-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch b/patches/chromium/0017-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch
index 5420fdb30..6a39ffec2 100644
--- a/patches/chromium/0018-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch
+++ b/patches/chromium/0017-Update-clipboard.h-to-allow-building-clipboard_qt.cp.patch
@@ -7,14 +7,14 @@ Subject: Update clipboard.h to allow building clipboard_qt.cpp on all
Change-Id: Ife754b2fcb1c1a535565facdbab615c07b8c4935
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
---
- ui/base/clipboard/clipboard.h | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
+ 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 94cd664..87a5f01 100644
+index f41ac7a..5cf936c 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) {
+@@ -88,6 +88,7 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) {
bool operator<(const FormatType& other) const;
#endif
@@ -22,15 +22,17 @@ index 94cd664..87a5f01 100644
#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) {
+@@ -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
-+#endif // TOOLKIT_QT
++#else
++ const std::string& ToString() const { return data_; }
++#endif // !defined(TOOLKIT_QT)
private:
friend class Clipboard;
-@@ -110,7 +112,10 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) {
+@@ -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.
@@ -42,7 +44,7 @@ index 94cd664..87a5f01 100644
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) {
+@@ -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);
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 <andras.becsi@digia.com>
+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 <zeno.albisser@digia.com>
+---
+ 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 <gtk/gtk.h>
+-#elif defined(USE_X11)
++#elif defined(USE_CAIRO)
+ #include <cairo/cairo.h>
+ #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/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 <andras.becsi@digia.com>
+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 <pierre.rossi@gmail.com>
+---
+ 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 <zarvai@inf.u-szeged.hu>
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 <andras.becsi@digia.com>
+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 <andras.becsi@digia.com>
+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<VoiceMediaChannel, WebRtcVoiceEngine>(
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-specific-actions.patch b/patches/chromium/third_party/libvpx/0001-LIBVPX-Add-path-for-QtWebEngine-build-in-Windows-spe.patch
index 8d659eb34..425e94c45 100644
--- 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-spe.patch
@@ -4,14 +4,14 @@ 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(-)
+ libvpx.gyp | 2 ++
+ 1 file changed, 2 insertions(+)
diff --git a/libvpx.gyp b/libvpx.gyp
-index 392ccde..7f1a18d 100644
+index 3f668df..32a4bb1 100644
--- a/libvpx.gyp
+++ b/libvpx.gyp
-@@ -402,6 +402,7 @@
+@@ -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',
@@ -19,7 +19,7 @@ index 392ccde..7f1a18d 100644
],
'process_output_as_sources': 1,
'msvs_cygwin_shell': 1,
-@@ -500,6 +501,7 @@
+@@ -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',
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 <andras.becsi@digia.com>
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')