From acefc4ef38759bea3ede377e21c38dc8e4046e9e Mon Sep 17 00:00:00 2001
From: Andras Becsi <andras.becsi@digia.com>
Date: Fri, 6 Dec 2013 18:19:58 +0100
Subject: [PATCH] Update chromium patches to apply on current stable (1650)

Change-Id: I3bdad02a2ef69d242980e34774a8219ef0c74ea9
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
---
 ...tup-GL-contexts-sharing-with-QtQuick.patch |   4 +-
 ...pport-for-libc-to-xcode_emulation.py.patch |   8 +-
 ...les-necessary-for-touch-and-gestures.patch |  35 +-
 ...eclare-UIResourceRequest-Identity-an.patch |  22 +-
 ...rward-declare-WebRtcVoiceChannelInfo.patch |  12 +-
 ...Assertions.h-within-namespace-WebKit.patch |  68 ---
 .../0001-Do-not-warn-for-header-hygiene.patch |   6 +-
 patches/0001-Export-ContentMainRunner.patch   |  33 --
 ...he-build-with-a-GL-ES2-configured-Qt.patch |  12 +-
 ...files-outside-of-chromium-source-dir.patch |   4 +-
 ...ion-of-MessagePumpGtk-GetDefaultXDis.patch |  12 +-
 ...0001-Mac-Use-libc-instead-of-stdlibc.patch |  18 +-
 ...leftovers-from-WebKitSystemInterface.patch |   6 +-
 ...when-including-both-QtOpenGL-headers.patch |  18 +-
 ...deprecated-register-from-common.gypi.patch |  12 +-
 ...ebEngineContext-to-RunLoop-s-friends.patch |   6 +-
 ...not-support-incomplete-types-in-temp.patch | 467 ++++--------------
 patches/patch-chromium.sh                     |   2 -
 18 files changed, 179 insertions(+), 566 deletions(-)
 delete mode 100644 patches/0001-Do-not-include-Assertions.h-within-namespace-WebKit.patch
 delete mode 100644 patches/0001-Export-ContentMainRunner.patch

diff --git a/patches/0001-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch b/patches/0001-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch
index 55cf5a5d5..926f799f2 100644
--- a/patches/0001-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch
+++ b/patches/0001-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch
@@ -40,7 +40,7 @@ index 8b466bd..fe3f7b3 100644
    }
  
 diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
-index 1f5e836..2168769 100644
+index cc664c6..f817cb2 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
 @@ -48,6 +48,7 @@ class CryptoModuleBlockingPasswordDelegate;
@@ -51,7 +51,7 @@ index 1f5e836..2168769 100644
  class ImageSkia;
  }
  
-@@ -563,6 +564,10 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -570,6 +571,10 @@ class CONTENT_EXPORT ContentBrowserClient {
    // Return NULL to use the default one for the platform to be created.
    virtual LocationProvider* OverrideSystemLocationProvider();
  
diff --git a/patches/0001-Add-support-for-libc-to-xcode_emulation.py.patch b/patches/0001-Add-support-for-libc-to-xcode_emulation.py.patch
index 0baed04a2..68eb74500 100644
--- a/patches/0001-Add-support-for-libc-to-xcode_emulation.py.patch
+++ b/patches/0001-Add-support-for-libc-to-xcode_emulation.py.patch
@@ -1,4 +1,4 @@
-From ade7ffb418d848084cd35efdadfdc6524700115c Mon Sep 17 00:00:00 2001
+From 43673a67cdcced912cad207ee0fbca7321f72ecf Mon Sep 17 00:00:00 2001
 From: Zeno Albisser <zeno.albisser@digia.com>
 Date: Thu, 27 Jun 2013 20:04:51 +0200
 Subject: [PATCH] Add support for libc++ to xcode_emulation.py
@@ -8,10 +8,10 @@ Subject: [PATCH] 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 c6f018c..f118b94 100644
+index b4af0fd..fb40048 100644
 --- a/pylib/gyp/xcode_emulation.py
 +++ b/pylib/gyp/xcode_emulation.py
-@@ -541,6 +541,9 @@ class XcodeSettings(object):
+@@ -580,6 +580,9 @@ class XcodeSettings(object):
      for ldflag in self._Settings().get('OTHER_LDFLAGS', []):
        ldflags.append(self._MapLinkerFlagFilename(ldflag, gyp_to_build_path))
  
@@ -22,5 +22,5 @@ index c6f018c..f118b94 100644
        ldflags.append('-Wl,-dead_strip')
  
 -- 
-1.8.0.1
+1.8.4.2
 
diff --git a/patches/0001-Build-files-necessary-for-touch-and-gestures.patch b/patches/0001-Build-files-necessary-for-touch-and-gestures.patch
index a7d8541ce..8243b97dc 100644
--- a/patches/0001-Build-files-necessary-for-touch-and-gestures.patch
+++ b/patches/0001-Build-files-necessary-for-touch-and-gestures.patch
@@ -7,15 +7,14 @@ Also guard the use of MessagePumpAuraX11 in events_x.cc. We need to
 build it to get symbols depending on base::NativeEvent.
 ---
  content/content_browser.gypi | 2 +-
- ui/base/x/events_x.cc        | 4 ++++
  ui/ui.gyp                    | 4 ++--
- 3 files changed, 7 insertions(+), 3 deletions(-)
+ 2 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/content/content_browser.gypi b/content/content_browser.gypi
-index b3751ac..3597da6 100644
+index 1e3485c..c2e5f18 100644
 --- a/content/content_browser.gypi
 +++ b/content/content_browser.gypi
-@@ -1441,7 +1441,7 @@
+@@ -1479,7 +1479,7 @@
          ['exclude', '^browser/geolocation/wifi_data_provider_linux\\.cc$'],
        ],
      }],
@@ -24,27 +23,11 @@ index b3751ac..3597da6 100644
        'sources!': [
          'browser/renderer_host/input/touchscreen_tap_suppression_controller.cc',
          'browser/renderer_host/ui_events_helper.cc',
-diff --git a/ui/base/x/events_x.cc b/ui/base/x/events_x.cc
-index 03d4ae2..5152168 100644
---- a/ui/base/x/events_x.cc
-+++ b/ui/base/x/events_x.cc
-@@ -275,7 +275,11 @@ double GetTouchParamFromXEvent(XEvent* xev,
- 
- Atom GetNoopEventAtom() {
-   return XInternAtom(
-+#if defined(USE_AURA)
-       base::MessagePumpAuraX11::GetDefaultXDisplay(),
-+#else
-+      XOpenDisplay(NULL),
-+#endif
-       "noop", False);
- }
- 
 diff --git a/ui/ui.gyp b/ui/ui.gyp
-index e17d242..d4897cc 100644
+index 09c011c..4716f6c 100644
 --- a/ui/ui.gyp
 +++ b/ui/ui.gyp
-@@ -694,7 +694,7 @@
+@@ -708,7 +708,7 @@
              ['exclude', 'base/dragdrop/drag_utils_aura.cc'],
            ],
          }],
@@ -53,15 +36,15 @@ index e17d242..d4897cc 100644
            'sources/': [
              ['exclude', '^base/gestures/*'],
            ]
-@@ -866,7 +866,7 @@
+@@ -886,7 +886,7 @@
              'base/cursor/cursor_loader_null.h',
            ],
          }],
 -        ['toolkit_views==0', {
 +        ['use_qt==0 and toolkit_views==0', {
            'sources!': [
-             'base/events/event.cc',
-             'base/events/event.h',
+             'base/x/events_x.cc',
+             'events/event.cc',
 -- 
-1.7.12.4 (Apple Git-37)
+1.8.4.2
 
diff --git a/patches/0001-Do-not-forward-declare-UIResourceRequest-Identity-an.patch b/patches/0001-Do-not-forward-declare-UIResourceRequest-Identity-an.patch
index 4e71cdfdf..7738e9bf9 100644
--- a/patches/0001-Do-not-forward-declare-UIResourceRequest-Identity-an.patch
+++ b/patches/0001-Do-not-forward-declare-UIResourceRequest-Identity-an.patch
@@ -7,13 +7,13 @@ Subject: [PATCH] Do not forward declare UIResourceRequest, Identity and
 Clang / libc++ does not support incomplete types in templates.
 See: http://clang.llvm.org/compatibility.html#undep_incomplete
 ---
- cc/trees/layer_tree_impl.h                         |    2 +-
- .../browser/media/webrtc_identity_store_backend.cc |   37 -----------------
- .../browser/media/webrtc_identity_store_backend.h  |   42 ++++++++++++++++++--
- 3 files changed, 40 insertions(+), 41 deletions(-)
+ cc/trees/layer_tree_impl.h                         |  1 +
+ .../browser/media/webrtc_identity_store_backend.cc | 37 -------------------
+ .../browser/media/webrtc_identity_store_backend.h  | 42 ++++++++++++++++++++--
+ 3 files changed, 40 insertions(+), 40 deletions(-)
 
 diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h
-index 7e66da8..4f1afbe 100644
+index eb6a015..2ae33df 100644
 --- a/cc/trees/layer_tree_impl.h
 +++ b/cc/trees/layer_tree_impl.h
 @@ -12,6 +12,7 @@
@@ -22,15 +22,7 @@ index 7e66da8..4f1afbe 100644
  #include "cc/layers/layer_impl.h"
 +#include "cc/trees/layer_tree_host.h"
  #include "cc/resources/ui_resource_client.h"
- #include "ui/base/latency_info.h"
- 
-@@ -42,7 +43,6 @@ class Proxy;
- class ResourceProvider;
- class TileManager;
- struct RendererCapabilities;
--struct UIResourceRequest;
- 
- typedef std::list<UIResourceRequest> UIResourceRequestQueue;
+ #include "ui/events/latency_info.h"
  
 diff --git a/content/browser/media/webrtc_identity_store_backend.cc b/content/browser/media/webrtc_identity_store_backend.cc
 index 9ec73e9..4188116 100644
@@ -141,5 +133,5 @@ index ab4e1ed..e660c73 100644
  
    ~WebRTCIdentityStoreBackend();
 -- 
-1.7.10.2 (Apple Git-33)
+1.8.4.2
 
diff --git a/patches/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch b/patches/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch
index 24353f845..929312e57 100644
--- a/patches/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch
+++ b/patches/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch
@@ -1,4 +1,4 @@
-From b127cb37c9624ffc48c9cbbf08271d3aca899f59 Mon Sep 17 00:00:00 2001
+From 22f77b7305fa13a3d3987a1c4609a7fe51a603b4 Mon Sep 17 00:00:00 2001
 From: Zeno Albisser <zeno.albisser@digia.com>
 Date: Wed, 16 Oct 2013 10:17:11 +0200
 Subject: [PATCH] Do not forward declare WebRtcVoiceChannelInfo.
@@ -14,10 +14,10 @@ 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 855a9e4..4331385 100644
+index 2a6ccd7..8686038 100644
 --- a/media/webrtc/webrtcvoiceengine.cc
 +++ b/media/webrtc/webrtcvoiceengine.cc
-@@ -1472,19 +1472,6 @@ void WebRtcVoiceEngine::StopAecDump() {
+@@ -1475,19 +1475,6 @@ void WebRtcVoiceEngine::StopAecDump() {
    }
  }
  
@@ -38,7 +38,7 @@ index 855a9e4..4331385 100644
  WebRtcVoiceMediaChannel::WebRtcVoiceMediaChannel(WebRtcVoiceEngine *engine)
      : WebRtcMediaChannel<VoiceMediaChannel, WebRtcVoiceEngine>(
 diff --git a/media/webrtc/webrtcvoiceengine.h b/media/webrtc/webrtcvoiceengine.h
-index 0c2b613..76f5be7 100644
+index 6cb0b30..62d3bc1 100644
 --- a/media/webrtc/webrtcvoiceengine.h
 +++ b/media/webrtc/webrtcvoiceengine.h
 @@ -374,7 +374,18 @@ class WebRtcVoiceMediaChannel
@@ -60,7 +60,7 @@ index 0c2b613..76f5be7 100644
 +  };
    typedef std::map<uint32, WebRtcVoiceChannelInfo> ChannelMap;
  
-   void SetNack(uint32 ssrc, int channel, bool nack_enabled);
+   void SetNack(int channel, bool nack_enabled);
 -- 
-1.8.3.4
+1.8.4.2
 
diff --git a/patches/0001-Do-not-include-Assertions.h-within-namespace-WebKit.patch b/patches/0001-Do-not-include-Assertions.h-within-namespace-WebKit.patch
deleted file mode 100644
index 72af661f7..000000000
--- a/patches/0001-Do-not-include-Assertions.h-within-namespace-WebKit.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 98fb04e24e92a17a2e8bd8c1d5449392896004d1 Mon Sep 17 00:00:00 2001
-From: Zeno Albisser <zeno.albisser@digia.com>
-Date: Thu, 15 Aug 2013 15:40:24 +0200
-Subject: [PATCH] Do not include Assertions.h within namespace WebKit.
-
-Including Assertions.h leads to __darwin_ssize_t being
-defined inside namespace WebKit but not outside that namespace.
-This is because certain headers will not be pulled in again
-later on in the same compilation unit.
-
-This bug is caused by: r155495
-This patch will be upstreamed right away.
----
- public/platform/WebDeviceMotionData.h      | 6 ++++--
- public/platform/WebDeviceOrientationData.h | 6 ++++--
- 2 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/public/platform/WebDeviceMotionData.h b/public/platform/WebDeviceMotionData.h
-index e7b165f..3284d3a 100644
---- a/public/platform/WebDeviceMotionData.h
-+++ b/public/platform/WebDeviceMotionData.h
-@@ -33,6 +33,10 @@
- 
- #include "WebCommon.h"
- 
-+#if WEBKIT_IMPLEMENTATION
-+#include "wtf/Assertions.h"
-+#endif
-+
- namespace WebKit {
- 
- #pragma pack(push, 1)
-@@ -72,8 +76,6 @@ public:
- };
- 
- #if WEBKIT_IMPLEMENTATION
--#include "wtf/Assertions.h"
--
- COMPILE_ASSERT(sizeof(WebDeviceMotionData) == (10 * sizeof(double) + 2 * sizeof(char)), WebDeviceMotionData_has_wrong_size);
- #endif
- 
-diff --git a/public/platform/WebDeviceOrientationData.h b/public/platform/WebDeviceOrientationData.h
-index 4aa950e..072dd09 100644
---- a/public/platform/WebDeviceOrientationData.h
-+++ b/public/platform/WebDeviceOrientationData.h
-@@ -33,6 +33,10 @@
- 
- #include "WebCommon.h"
- 
-+#if WEBKIT_IMPLEMENTATION
-+#include "wtf/Assertions.h"
-+#endif
-+
- namespace WebKit {
- 
- #pragma pack(push, 1)
-@@ -57,8 +61,6 @@ public:
- };
- 
- #if WEBKIT_IMPLEMENTATION
--#include "wtf/Assertions.h"
--
- COMPILE_ASSERT(sizeof(WebDeviceOrientationData) == (3 * sizeof(double) + 1 * sizeof(char)), WebDeviceOrientationData_has_wrong_size);
- #endif
- 
--- 
-1.7.12.4 (Apple Git-37)
-
diff --git a/patches/0001-Do-not-warn-for-header-hygiene.patch b/patches/0001-Do-not-warn-for-header-hygiene.patch
index c13e3257c..c72d0f4b0 100644
--- a/patches/0001-Do-not-warn-for-header-hygiene.patch
+++ b/patches/0001-Do-not-warn-for-header-hygiene.patch
@@ -13,10 +13,10 @@ in the same application.
  1 file changed, 1 insertion(+)
 
 diff --git a/build/common.gypi b/build/common.gypi
-index 0e57abb..e81104b 100644
+index 9961053..ab759282 100644
 --- a/build/common.gypi
 +++ b/build/common.gypi
-@@ -3850,6 +3850,7 @@
+@@ -3936,6 +3936,7 @@
                  '-Wno-newline-eof',
                  '-Wno-unused-value',
                  '-Wno-unused-variable',
@@ -25,5 +25,5 @@ index 0e57abb..e81104b 100644
              }],
              ['clang==1 and clang_use_chrome_plugins==1', {
 -- 
-1.7.12.4 (Apple Git-37)
+1.8.4.2
 
diff --git a/patches/0001-Export-ContentMainRunner.patch b/patches/0001-Export-ContentMainRunner.patch
deleted file mode 100644
index 7cd402485..000000000
--- a/patches/0001-Export-ContentMainRunner.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0a3b4029af83089cb313b555a47c5c510dc94cc7 Mon Sep 17 00:00:00 2001
-From: Simon Hausmann <simon.hausmann@digia.com>
-Date: Mon, 29 Apr 2013 11:25:37 +0200
-Subject: Export ContentMainRunner
-
----
- content/public/app/content_main_runner.h              | 3 ++-
- 3 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/content/public/app/content_main_runner.h b/content/public/app/content_main_runner.h
-index bed5ff2..992e0d0 100644
---- a/content/public/app/content_main_runner.h
-+++ b/content/public/app/content_main_runner.h
-@@ -8,6 +8,7 @@
- #include <string>
- 
- #include "build/build_config.h"
-+#include "content/common/content_export.h"
- 
- #if defined(OS_WIN)
- #include <windows.h>
-@@ -22,7 +23,7 @@ namespace content {
- class ContentMainDelegate;
- 
- // This class is responsible for content initialization, running and shutdown.
--class ContentMainRunner {
-+class CONTENT_EXPORT ContentMainRunner {
-  public:
-   virtual ~ContentMainRunner() {}
- 
--- 
-1.8.3
-
diff --git a/patches/0001-Fix-the-build-with-a-GL-ES2-configured-Qt.patch b/patches/0001-Fix-the-build-with-a-GL-ES2-configured-Qt.patch
index cb0652f87..03b50e1e0 100644
--- a/patches/0001-Fix-the-build-with-a-GL-ES2-configured-Qt.patch
+++ b/patches/0001-Fix-the-build-with-a-GL-ES2-configured-Qt.patch
@@ -29,10 +29,10 @@ Change-Id: Id4d98fe22ef8b778b5ba8da300dad28e69507732
  6 files changed, 29 insertions(+), 1 deletion(-)
 
 diff --git a/content/content_browser.gypi b/content/content_browser.gypi
-index 22d857a..8a37d91 100644
+index c2e5f18..f820ad0 100644
 --- a/content/content_browser.gypi
 +++ b/content/content_browser.gypi
-@@ -1234,6 +1234,7 @@
+@@ -1270,6 +1270,7 @@
        'dependencies': [
          'browser/devtools/devtools_resources.gyp:devtools_resources',
          '../cc/cc.gyp:cc',
@@ -55,7 +55,7 @@ index b4d5b78..75bea79 100644
      'command_buffer/client/atomicops.cc',
      'command_buffer/client/atomicops.h',
 diff --git a/gpu/command_buffer_common.gypi b/gpu/command_buffer_common.gypi
-index 85431e4..f159355 100644
+index 55e825e..4c1044a 100644
 --- a/gpu/command_buffer_common.gypi
 +++ b/gpu/command_buffer_common.gypi
 @@ -6,6 +6,9 @@
@@ -146,10 +146,10 @@ 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 5390c9a..effc5b7 100644
+index 2831446..be79c22 100644
 --- a/webkit/common/gpu/webkit_gpu.gyp
 +++ b/webkit/common/gpu/webkit_gpu.gyp
-@@ -26,6 +26,9 @@
+@@ -27,6 +27,9 @@
              '<(DEPTH)/ui/gl/gl.gyp:gl',
              '<(DEPTH)/ui/ui.gyp:ui',
            ],
@@ -160,5 +160,5 @@ index 5390c9a..effc5b7 100644
              # This list contains all .h and .cc in gpu except for test code.
              'context_provider_in_process.cc',
 -- 
-1.8.4
+1.8.4.2
 
diff --git a/patches/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch b/patches/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch
index a195d5674..0816daec2 100644
--- a/patches/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch
+++ b/patches/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch
@@ -1,4 +1,4 @@
-From c95babeeea70a71aaabca18924e2471fbb065b84 Mon Sep 17 00:00:00 2001
+From d170ae2a713d6f69dbecbf31c566f5c092896344 Mon Sep 17 00:00:00 2001
 From: Zeno Albisser <zeno.albisser@digia.com>
 Date: Wed, 24 Jul 2013 15:54:50 +0200
 Subject: [PATCH] GRIT: Allow grd files outside of chromium source dir.
@@ -42,5 +42,5 @@ index 734c57a..33848b2 100755
            filename = abs_filename[len(src_root_dir) + 1:]
            filename = filename.replace('\\', '/')
 -- 
-1.8.0.1
+1.8.4.2
 
diff --git a/patches/0001-Hide-the-definition-of-MessagePumpGtk-GetDefaultXDis.patch b/patches/0001-Hide-the-definition-of-MessagePumpGtk-GetDefaultXDis.patch
index 20b614d56..3fdf76b20 100644
--- a/patches/0001-Hide-the-definition-of-MessagePumpGtk-GetDefaultXDis.patch
+++ b/patches/0001-Hide-the-definition-of-MessagePumpGtk-GetDefaultXDis.patch
@@ -8,10 +8,10 @@ Subject: [PATCH] Hide the definition of MessagePumpGtk::GetDefaultXDisplay.
  1 file changed, 4 insertions(+)
 
 diff --git a/base/message_loop/message_pump_gtk.cc b/base/message_loop/message_pump_gtk.cc
-index ad65113..af59685 100644
+index 86d2415..6023c11 100644
 --- a/base/message_loop/message_pump_gtk.cc
 +++ b/base/message_loop/message_pump_gtk.cc
-@@ -85,6 +85,9 @@ void MessagePumpGtk::DispatchEvents(GdkEvent* event) {
+@@ -79,6 +79,9 @@ void MessagePumpGtk::DispatchEvents(GdkEvent* event) {
    DidProcessEvent(event);
  }
  
@@ -21,14 +21,14 @@ index ad65113..af59685 100644
  // static
  Display* MessagePumpGtk::GetDefaultXDisplay() {
    static GdkDisplay* display = gdk_display_get_default();
-@@ -96,6 +99,7 @@ Display* MessagePumpGtk::GetDefaultXDisplay() {
+@@ -90,6 +93,7 @@ Display* MessagePumpGtk::GetDefaultXDisplay() {
    }
    return GDK_DISPLAY_XDISPLAY(display);
  }
 +*/
  
- void MessagePumpGtk::WillProcessEvent(GdkEvent* event) {
-   FOR_EACH_OBSERVER(MessagePumpObserver, observers(), WillProcessEvent(event));
+ void MessagePumpGtk::AddObserver(MessagePumpGdkObserver* observer) {
+   observers_.AddObserver(observer);
 -- 
-1.8.4
+1.8.4.2
 
diff --git a/patches/0001-Mac-Use-libc-instead-of-stdlibc.patch b/patches/0001-Mac-Use-libc-instead-of-stdlibc.patch
index 72edaa59e..a0e954005 100644
--- a/patches/0001-Mac-Use-libc-instead-of-stdlibc.patch
+++ b/patches/0001-Mac-Use-libc-instead-of-stdlibc.patch
@@ -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 72e9ecb..04f023c 100644
+index e13aba4..9961053 100644
 --- a/build/common.gypi
 +++ b/build/common.gypi
-@@ -288,7 +288,7 @@
+@@ -287,7 +287,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 72e9ecb..04f023c 100644
  
        # Enable building with ASAN (Clang's -fsanitize=address option).
        # -fsanitize=address only works with clang, but asan=1 implies clang=1
-@@ -1121,6 +1121,9 @@
+@@ -1144,6 +1144,9 @@
      # rlz codes for searches but do not use the library.
      'enable_rlz%': 0,
  
@@ -52,7 +52,7 @@ index 72e9ecb..04f023c 100644
      # Turns on the i18n support in V8.
      'v8_enable_i18n_support': 1,
  
-@@ -1382,10 +1385,10 @@
+@@ -1414,10 +1417,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 72e9ecb..04f023c 100644
          },
  
          'mac_sdk_min': '<(mac_sdk_min)',
-@@ -1395,6 +1398,7 @@
+@@ -1427,6 +1430,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,7 +73,7 @@ index 72e9ecb..04f023c 100644
          'conditions': [
            # mac_product_name is set to the name of the .app bundle as it should
            # appear on disk.  This duplicates data from
-@@ -1960,6 +1964,16 @@
+@@ -1997,6 +2001,16 @@
        ['use_x11==1', {
          'defines': ['USE_X11=1'],
        }],
@@ -90,8 +90,8 @@ index 72e9ecb..04f023c 100644
        ['enable_one_click_signin==1', {
          'defines': ['ENABLE_ONE_CLICK_SIGNIN'],
        }],
-@@ -3899,6 +3913,16 @@
-                 '$(inherited)', '-std=gnu++11',
+@@ -3914,6 +3928,16 @@
+                 '-Wno-deprecated-register',
                ],
              }],
 +            ['use_libcpp==1', {
@@ -158,5 +158,5 @@ index dcc0041..affcf55 100644
  
  /* Define to 1 if you have the <dlfcn.h> header file. */
 -- 
-1.7.12.4 (Apple Git-37)
+1.8.4.2
 
diff --git a/patches/0001-Remove-leftovers-from-WebKitSystemInterface.patch b/patches/0001-Remove-leftovers-from-WebKitSystemInterface.patch
index a91cd7dd0..7840d8ffc 100644
--- a/patches/0001-Remove-leftovers-from-WebKitSystemInterface.patch
+++ b/patches/0001-Remove-leftovers-from-WebKitSystemInterface.patch
@@ -1,4 +1,4 @@
-From 7a3ceac028997022cb2c6b09fd611ace6d84d932 Mon Sep 17 00:00:00 2001
+From 3920838a47cac775bb9f1eebc2c144bd1bde9848 Mon Sep 17 00:00:00 2001
 From: Zeno Albisser <zeno.albisser@digia.com>
 Date: Thu, 27 Jun 2013 19:21:34 +0200
 Subject: [PATCH] Remove leftovers from WebKitSystemInterface
@@ -8,7 +8,7 @@ Subject: [PATCH] Remove leftovers from WebKitSystemInterface
  1 file changed, 5 deletions(-)
 
 diff --git a/Source/core/platform/graphics/mac/ComplexTextControllerCoreText.mm b/Source/core/platform/graphics/mac/ComplexTextControllerCoreText.mm
-index e5c514b..6bcdf0b 100644
+index c5be0bb..5882bcd 100644
 --- a/Source/core/platform/graphics/mac/ComplexTextControllerCoreText.mm
 +++ b/Source/core/platform/graphics/mac/ComplexTextControllerCoreText.mm
 @@ -223,14 +223,9 @@ void ComplexTextController::collectComplexTextRunsForCharacters(const UChar* cp,
@@ -27,5 +27,5 @@ index e5c514b..6bcdf0b 100644
          line.adoptCF(CTTypesetterCreateLine(typesetter.get(), CFRangeMake(0, 0)));
      } else {
 -- 
-1.8.0.1
+1.8.4.2
 
diff --git a/patches/0001-Solve-conflicts-when-including-both-QtOpenGL-headers.patch b/patches/0001-Solve-conflicts-when-including-both-QtOpenGL-headers.patch
index 837870c24..56b54dfc0 100644
--- a/patches/0001-Solve-conflicts-when-including-both-QtOpenGL-headers.patch
+++ b/patches/0001-Solve-conflicts-when-including-both-QtOpenGL-headers.patch
@@ -17,19 +17,19 @@ Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
  4 files changed, 6 insertions(+), 2 deletions(-)
 
 diff --git a/cc/layers/texture_layer.cc b/cc/layers/texture_layer.cc
-index 316042b..2325a80 100644
+index 21c5e93..a845709 100644
 --- a/cc/layers/texture_layer.cc
 +++ b/cc/layers/texture_layer.cc
-@@ -10,6 +10,7 @@
- #include "cc/layers/texture_layer_client.h"
- #include "cc/layers/texture_layer_impl.h"
+@@ -13,6 +13,7 @@
+ #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"
  
  namespace cc {
 diff --git a/cc/output/delegating_renderer.cc b/cc/output/delegating_renderer.cc
-index bd1c5d1..0c3051c 100644
+index e3413a5..1b4021f 100644
 --- a/cc/output/delegating_renderer.cc
 +++ b/cc/output/delegating_renderer.cc
 @@ -23,6 +23,7 @@
@@ -53,11 +53,11 @@ index cbf18ca..6229d61 100644
  #include "ui/gfx/size.h"
  
 diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h
-index b5dccc8..1d51a27 100644
+index fb1e5f0..928d4f9 100644
 --- a/cc/resources/resource_provider.h
 +++ b/cc/resources/resource_provider.h
-@@ -20,11 +20,14 @@
- #include "cc/output/output_surface.h"
+@@ -25,11 +25,14 @@
+ #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"
@@ -73,5 +73,5 @@ index b5dccc8..1d51a27 100644
  
  namespace gfx {
 -- 
-1.8.4
+1.8.4.2
 
diff --git a/patches/0001-remove-Wno-deprecated-register-from-common.gypi.patch b/patches/0001-remove-Wno-deprecated-register-from-common.gypi.patch
index 90dbe8da0..3a5bef7f8 100644
--- a/patches/0001-remove-Wno-deprecated-register-from-common.gypi.patch
+++ b/patches/0001-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 07abb6a..19ef09c 100644
+index ab759282..cf5b196 100644
 --- a/build/common.gypi
 +++ b/build/common.gypi
-@@ -3166,7 +3166,7 @@
+@@ -3222,7 +3222,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,15 +24,15 @@ index 07abb6a..19ef09c 100644
              ],
              'cflags!': [
                # Clang doesn't seem to know know this flag.
-@@ -3877,7 +3877,7 @@
+@@ -3925,7 +3925,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
 -                '-Wno-deprecated-register',
 +                '-Wno-deprecated',
                ],
-               'OTHER_CPLUSPLUSFLAGS': [
-                 # gnu++11 instead of c++11 is needed because some code uses
+             }],
+             ['use_libcpp==1', {
 -- 
-1.7.12.4 (Apple Git-37)
+1.8.4.2
 
diff --git a/patches/0002-Add-WebEngineContext-to-RunLoop-s-friends.patch b/patches/0002-Add-WebEngineContext-to-RunLoop-s-friends.patch
index b2998b8b6..fba13a90a 100644
--- a/patches/0002-Add-WebEngineContext-to-RunLoop-s-friends.patch
+++ b/patches/0002-Add-WebEngineContext-to-RunLoop-s-friends.patch
@@ -8,7 +8,7 @@ Subject: [PATCH 2/2] Add WebEngineContext to RunLoop's friends.
  1 file changed, 3 insertions(+)
 
 diff --git a/base/run_loop.h b/base/run_loop.h
-index 380c8bf..12f810a 100644
+index f5ee5c3..b167907 100644
 --- a/base/run_loop.h
 +++ b/base/run_loop.h
 @@ -10,6 +10,8 @@
@@ -20,7 +20,7 @@ index 380c8bf..12f810a 100644
  namespace base {
  #if defined(OS_ANDROID)
  class MessagePumpForUI;
-@@ -74,6 +76,7 @@ class BASE_EXPORT RunLoop {
+@@ -76,6 +78,7 @@ class BASE_EXPORT RunLoop {
  
   private:
    friend class MessageLoop;
@@ -29,5 +29,5 @@ index 380c8bf..12f810a 100644
    // Android doesn't support the blocking MessageLoop::Run, so it calls
    // BeforeRun and AfterRun directly.
 -- 
-1.8.3
+1.8.4.2
 
diff --git a/patches/0002-Clang-libc-does-not-support-incomplete-types-in-temp.patch b/patches/0002-Clang-libc-does-not-support-incomplete-types-in-temp.patch
index 9bd5ef0dd..36d032cad 100644
--- a/patches/0002-Clang-libc-does-not-support-incomplete-types-in-temp.patch
+++ b/patches/0002-Clang-libc-does-not-support-incomplete-types-in-temp.patch
@@ -23,34 +23,25 @@ Therefore forward declarations must be removed in several places:
 - WorkerDevToolsManager::InspectedWorker
 - WorkerDevToolsManager::TerminatedInspectedWorker
 ---
- base/callback_forward.h                            |   9 +-
- .../browser/devtools/worker_devtools_manager.cc    |  24 ----
- content/browser/devtools/worker_devtools_manager.h |  26 +++-
- .../browser/dom_storage/dom_storage_namespace.h    |   3 +-
- .../indexed_db/indexed_db_dispatcher_host.h        |   2 +-
- .../media/media_stream_dispatcher_host.cc          |  11 --
- .../media/media_stream_dispatcher_host.h           |  12 +-
- .../renderer_host/pepper/browser_ppapi_host_impl.h |   3 +-
- .../browser/worker_host/message_port_service.cc    |  15 ---
- content/browser/worker_host/message_port_service.h |  16 ++-
- content/common/gpu/gpu_messages.h                  |   4 +-
- content/public/test/test_file_error_injector.h     |   3 +-
- content/renderer/media/media_stream_center.h       |   1 +
- content/renderer/media/media_stream_dispatcher.cc  |  31 -----
- content/renderer/media/media_stream_dispatcher.h   |  31 ++++-
- gpu/config/dx_diag_node.cc                         |   4 +
- gpu/config/dx_diag_node.h                          |   4 +
- media/filters/ffmpeg_audio_decoder.cc              |   6 -
- media/filters/ffmpeg_audio_decoder.h               |   8 +-
- 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 ++++-
- net/http/http_auth_cache.h                         | 144 ++++++++++-----------
- ui/gfx/image/image_family.h                        |  23 ++--
- webkit/support/weburl_loader_mock_factory.cc       |   5 -
- webkit/support/weburl_loader_mock_factory.h        |   8 +-
- 27 files changed, 240 insertions(+), 255 deletions(-)
+ base/callback_forward.h                            |  9 +-----
+ .../browser/devtools/worker_devtools_manager.cc    | 24 ----------------
+ 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/common/gpu/gpu_messages.h                  |  4 ++-
+ content/renderer/media/media_stream_dispatcher.cc  | 31 ---------------------
+ content/renderer/media/media_stream_dispatcher.h   | 31 +++++++++++++++++++--
+ gpu/config/dx_diag_node.cc                         |  4 +++
+ gpu/config/dx_diag_node.h                          |  4 +++
+ media/filters/ffmpeg_audio_decoder.cc              |  6 ----
+ media/filters/ffmpeg_audio_decoder.h               |  8 +++++-
+ 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 +++++++++++++++++++++-
+ 18 files changed, 155 insertions(+), 162 deletions(-)
 
 diff --git a/base/callback_forward.h b/base/callback_forward.h
 index 7983248..8538bb2 100644
@@ -72,10 +63,10 @@ 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 dd54f80..14efaa5 100644
+index f08523b..983c55c 100644
 --- a/content/browser/devtools/worker_devtools_manager.cc
 +++ b/content/browser/devtools/worker_devtools_manager.cc
-@@ -41,17 +41,6 @@ base::LazyInstance<AgentHosts>::Leaky g_orphan_map = LAZY_INSTANCE_INITIALIZER;
+@@ -51,17 +51,6 @@ base::LazyInstance<AgentHosts>::Leaky g_orphan_map = LAZY_INSTANCE_INITIALIZER;
  
  }  // namespace
  
@@ -93,7 +84,7 @@ index dd54f80..14efaa5 100644
  class WorkerDevToolsManager::WorkerDevToolsAgentHost
      : public IPCDevToolsAgentHost {
   public:
-@@ -190,19 +179,6 @@ class WorkerDevToolsManager::DetachedClientHosts {
+@@ -200,19 +189,6 @@ class WorkerDevToolsManager::DetachedClientHosts {
    }
  };
  
@@ -114,10 +105,10 @@ index dd54f80..14efaa5 100644
  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 7ea8840..0f0111e 100644
+index 8a9a708..e6d090c 100644
 --- a/content/browser/devtools/worker_devtools_manager.h
 +++ b/content/browser/devtools/worker_devtools_manager.h
-@@ -49,7 +49,20 @@ class WorkerDevToolsManager {
+@@ -54,7 +54,20 @@ class WorkerDevToolsManager {
   private:
    friend struct DefaultSingletonTraits<WorkerDevToolsManager>;
    class DetachedClientHosts;
@@ -139,7 +130,7 @@ index 7ea8840..0f0111e 100644
    typedef std::list<InspectedWorker> InspectedWorkersList;
  
    WorkerDevToolsManager();
-@@ -79,7 +92,16 @@ class WorkerDevToolsManager {
+@@ -84,7 +97,16 @@ class WorkerDevToolsManager {
  
    InspectedWorkersList inspected_workers_;
  
@@ -157,34 +148,6 @@ index 7ea8840..0f0111e 100644
    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/dom_storage/dom_storage_namespace.h b/content/browser/dom_storage/dom_storage_namespace.h
-index f33042f..5860685 100644
---- a/content/browser/dom_storage/dom_storage_namespace.h
-+++ b/content/browser/dom_storage/dom_storage_namespace.h
-@@ -11,8 +11,7 @@
- #include "base/files/file_path.h"
- #include "base/memory/ref_counted.h"
- #include "content/common/content_export.h"
--
--class GURL;
-+#include "url/gurl.h"
- 
- namespace content {
- 
-diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.h b/content/browser/indexed_db/indexed_db_dispatcher_host.h
-index 0731113..e254cad 100644
---- a/content/browser/indexed_db/indexed_db_dispatcher_host.h
-+++ b/content/browser/indexed_db/indexed_db_dispatcher_host.h
-@@ -12,8 +12,8 @@
- #include "base/id_map.h"
- #include "base/memory/ref_counted.h"
- #include "content/public/browser/browser_message_filter.h"
-+#include "url/gurl.h"
- 
--class GURL;
- struct IndexedDBDatabaseMetadata;
- struct IndexedDBHostMsg_DatabaseCount_Params;
- struct IndexedDBHostMsg_DatabaseCreateIndex_Params;
 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
@@ -230,32 +193,11 @@ index ec1dd15..cfc6913 100644
    typedef std::map<std::string, StreamRequest> StreamMap;
    // Streams generated for this host.
    StreamMap streams_;
-diff --git a/content/browser/renderer_host/pepper/browser_ppapi_host_impl.h b/content/browser/renderer_host/pepper/browser_ppapi_host_impl.h
-index 9723634..c46ab13 100644
---- a/content/browser/renderer_host/pepper/browser_ppapi_host_impl.h
-+++ b/content/browser/renderer_host/pepper/browser_ppapi_host_impl.h
-@@ -15,6 +15,7 @@
- #include "content/browser/renderer_host/pepper/content_browser_pepper_host_factory.h"
- #include "content/browser/renderer_host/pepper/pepper_message_filter.h"
- #include "content/common/content_export.h"
-+#include "content/common/pepper_renderer_instance_data.h"
- #include "content/public/browser/browser_ppapi_host.h"
- #include "content/public/common/process_type.h"
- #include "ipc/ipc_channel_proxy.h"
-@@ -22,8 +23,6 @@
- 
- namespace content {
- 
--struct PepperRendererInstanceData;
--
- class CONTENT_EXPORT BrowserPpapiHostImpl : public BrowserPpapiHost {
-  public:
-   // The creator is responsible for calling set_plugin_process_handle as soon
 diff --git a/content/browser/worker_host/message_port_service.cc b/content/browser/worker_host/message_port_service.cc
-index 2ad3b19..d0563f0 100644
+index 3bc8f5a..b413c1f 100644
 --- a/content/browser/worker_host/message_port_service.cc
 +++ b/content/browser/worker_host/message_port_service.cc
-@@ -9,21 +9,6 @@
+@@ -9,28 +9,6 @@
  
  namespace content {
  
@@ -270,6 +212,13 @@ index 2ad3b19..d0563f0 100644
 -  // The globally unique id of the entangled message port.
 -  int entangled_message_port_id;
 -  // If true, all messages to this message port are queued and not delivered.
+-  // This is needed so that when a message port is sent between processes all
+-  // pending message get transferred. There are two possibilities for pending
+-  // messages: either they are already received by the child process, or they're
+-  // 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.
 -  bool queue_messages;
 -  QueuedMessages queued_messages;
 -};
@@ -278,10 +227,10 @@ index 2ad3b19..d0563f0 100644
    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..e6bf717 100644
+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,21 @@ class MessagePortService {
+@@ -61,7 +61,28 @@ class MessagePortService {
    // verify that the message port id exists.
    void Erase(int message_port_id);
  
@@ -297,6 +246,13 @@ index b85e76b..e6bf717 100644
 +    // The globally unique id of the entangled message port.
 +    int entangled_message_port_id;
 +    // If true, all messages to this message port are queued and not delivered.
++    // This is needed so that when a message port is sent between processes all
++    // pending message get transferred. There are two possibilities for pending
++    // messages: either they are already received by the child process, or they're
++    // 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.
 +    bool queue_messages;
 +    QueuedMessages queued_messages;
 +  };
@@ -305,10 +261,10 @@ index b85e76b..e6bf717 100644
    MessagePorts message_ports_;
  
 diff --git a/content/common/gpu/gpu_messages.h b/content/common/gpu/gpu_messages.h
-index 49493d9..35c4635 100644
+index b4e5be5..3952d79 100644
 --- a/content/common/gpu/gpu_messages.h
 +++ b/content/common/gpu/gpu_messages.h
-@@ -112,10 +112,12 @@ IPC_STRUCT_BEGIN(GpuStreamTextureMsg_MatrixChanged_Params)
+@@ -116,10 +116,12 @@ IPC_STRUCT_BEGIN(GpuStreamTextureMsg_MatrixChanged_Params)
  IPC_STRUCT_END()
  #endif
  
@@ -322,32 +278,6 @@ index 49493d9..35c4635 100644
  
  IPC_STRUCT_TRAITS_BEGIN(gpu::GpuPerformanceStats)
    IPC_STRUCT_TRAITS_MEMBER(graphics)
-diff --git a/content/public/test/test_file_error_injector.h b/content/public/test/test_file_error_injector.h
-index c056780..306c7e2 100644
---- a/content/public/test/test_file_error_injector.h
-+++ b/content/public/test/test_file_error_injector.h
-@@ -13,8 +13,7 @@
- #include "base/memory/scoped_ptr.h"
- #include "base/memory/ref_counted.h"
- #include "content/public/browser/download_interrupt_reasons.h"
--
--class GURL;
-+#include "url/gurl.h"
- 
- namespace content {
- 
-diff --git a/content/renderer/media/media_stream_center.h b/content/renderer/media/media_stream_center.h
-index 642cda5..83a55f6 100644
---- a/content/renderer/media/media_stream_center.h
-+++ b/content/renderer/media/media_stream_center.h
-@@ -15,6 +15,7 @@
- #include "third_party/WebKit/public/platform/WebMediaStream.h"
- #include "third_party/WebKit/public/platform/WebMediaStreamCenter.h"
- #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
-+#include "third_party/WebKit/public/platform/WebMediaStreamTrackSourcesRequest.h"
- 
- namespace WebKit {
- class WebMediaStreamCenterClient;
 diff --git a/content/renderer/media/media_stream_dispatcher.cc b/content/renderer/media/media_stream_dispatcher.cc
 index cc241fa..57d65b6 100644
 --- a/content/renderer/media/media_stream_dispatcher.cc
@@ -475,7 +405,7 @@ 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 34fc793..53dec64 100644
+index f922e98..f41c893 100644
 --- a/media/filters/ffmpeg_audio_decoder.cc
 +++ b/media/filters/ffmpeg_audio_decoder.cc
 @@ -22,12 +22,6 @@
@@ -572,10 +502,10 @@ index 5af7b7e..704c66b 100644
  
    int default_result_;
 diff --git a/net/dns/mock_host_resolver.cc b/net/dns/mock_host_resolver.cc
-index 0ddb8cf..b3d1489 100644
+index ff5ffbc..25918ba 100644
 --- a/net/dns/mock_host_resolver.cc
 +++ b/net/dns/mock_host_resolver.cc
-@@ -209,37 +209,6 @@ void MockHostResolverBase::ResolveNow(size_t id) {
+@@ -212,37 +212,6 @@ void MockHostResolverBase::ResolveNow(size_t id) {
  
  //-----------------------------------------------------------------------------
  
@@ -614,10 +544,10 @@ index 0ddb8cf..b3d1489 100644
      : HostResolverProc(previous) {
  }
 diff --git a/net/dns/mock_host_resolver.h b/net/dns/mock_host_resolver.h
-index b73bd0a..282521c 100644
+index 3593fbd..f8a4240 100644
 --- a/net/dns/mock_host_resolver.h
 +++ b/net/dns/mock_host_resolver.h
-@@ -201,7 +201,37 @@ class RuleBasedHostResolverProc : public HostResolverProc {
+@@ -209,7 +209,37 @@ class RuleBasedHostResolverProc : public HostResolverProc {
                        int* os_error) OVERRIDE;
  
   private:
@@ -656,256 +586,67 @@ index b73bd0a..282521c 100644
    typedef std::list<Rule> RuleList;
  
    virtual ~RuleBasedHostResolverProc();
-diff --git a/net/http/http_auth_cache.h b/net/http/http_auth_cache.h
-index 1d6f2d2..75b379f 100644
---- a/net/http/http_auth_cache.h
-+++ b/net/http/http_auth_cache.h
-@@ -26,7 +26,77 @@ namespace net {
- // Entries can be looked up by either (origin, realm, scheme) or (origin, path).
- class NET_EXPORT_PRIVATE HttpAuthCache {
-  public:
--  class Entry;
-+  class NET_EXPORT_PRIVATE Entry {
-+   public:
-+    ~Entry();
-+
-+    const GURL& origin() const {
-+      return origin_;
-+    }
-+
-+    // The case-sensitive realm string of the challenge.
-+    const std::string realm() const {
-+      return realm_;
-+    }
-+
-+    // The authentication scheme of the challenge.
-+    HttpAuth::Scheme scheme() const {
-+      return scheme_;
-+    }
-+
-+    // The authentication challenge.
-+    const std::string auth_challenge() const {
-+      return auth_challenge_;
-+    }
-+
-+    // The login credentials.
-+    const AuthCredentials& credentials() const {
-+      return credentials_;
-+    }
-+
-+    int IncrementNonceCount() {
-+      return ++nonce_count_;
-+    }
-+
-+    void UpdateStaleChallenge(const std::string& auth_challenge);
-+
-+   private:
-+    friend class HttpAuthCache;
-+    FRIEND_TEST_ALL_PREFIXES(HttpAuthCacheTest, AddPath);
-+    FRIEND_TEST_ALL_PREFIXES(HttpAuthCacheTest, AddToExistingEntry);
-+
-+    typedef std::list<std::string> PathList;
-+
-+    Entry();
-+
-+    // Adds a path defining the realm's protection space. If the path is
-+    // already contained in the protection space, is a no-op.
-+    void AddPath(const std::string& path);
-+
-+    // Returns true if |dir| is contained within the realm's protection
-+    // space.  |*path_len| is set to the length of the enclosing path if
-+    // such a path exists and |path_len| is non-NULL.  If no enclosing
-+    // path is found, |*path_len| is left unmodified.
-+    //
-+    // Note that proxy auth cache entries are associated with empty
-+    // paths.  Therefore it is possible for HasEnclosingPath() to return
-+    // true and set |*path_len| to 0.
-+    bool HasEnclosingPath(const std::string& dir, size_t* path_len);
-+
-+    // |origin_| contains the {protocol, host, port} of the server.
-+    GURL origin_;
-+    std::string realm_;
-+    HttpAuth::Scheme scheme_;
-+
-+    // Identity.
-+    std::string auth_challenge_;
-+    AuthCredentials credentials_;
-+
-+    int nonce_count_;
-+
-+    // List of paths that define the realm's protection space.
-+    PathList paths_;
-+  };
- 
-   // Prevent unbounded memory growth. These are safeguards for abuse; it is
-   // not expected that the limits will be reached in ordinary usage.
-@@ -106,78 +176,6 @@ class NET_EXPORT_PRIVATE HttpAuthCache {
- };
+diff --git a/content/renderer/pepper/message_channel.cc b/content/renderer/pepper/message_channel.cc
+index f06b787..c41be2f 100644
+--- a/content/renderer/pepper/message_channel.cc
++++ b/content/renderer/pepper/message_channel.cc
+@@ -279,18 +279,6 @@ NPClass message_channel_class = {
+ }  // namespace
  
- // An authentication realm entry.
--class NET_EXPORT_PRIVATE HttpAuthCache::Entry {
-- public:
--  ~Entry();
--
--  const GURL& origin() const {
--    return origin_;
--  }
--
--  // The case-sensitive realm string of the challenge.
--  const std::string realm() const {
--    return realm_;
--  }
--
--  // The authentication scheme of the challenge.
--  HttpAuth::Scheme scheme() const {
--    return scheme_;
--  }
--
--  // The authentication challenge.
--  const std::string auth_challenge() const {
--    return auth_challenge_;
--  }
--
--  // The login credentials.
--  const AuthCredentials& credentials() const {
--    return credentials_;
--  }
--
--  int IncrementNonceCount() {
--    return ++nonce_count_;
--  }
--
--  void UpdateStaleChallenge(const std::string& auth_challenge);
--
-- private:
--  friend class HttpAuthCache;
--  FRIEND_TEST_ALL_PREFIXES(HttpAuthCacheTest, AddPath);
--  FRIEND_TEST_ALL_PREFIXES(HttpAuthCacheTest, AddToExistingEntry);
--
--  typedef std::list<std::string> PathList;
--
--  Entry();
--
--  // Adds a path defining the realm's protection space. If the path is
--  // already contained in the protection space, is a no-op.
--  void AddPath(const std::string& path);
--
--  // Returns true if |dir| is contained within the realm's protection
--  // space.  |*path_len| is set to the length of the enclosing path if
--  // such a path exists and |path_len| is non-NULL.  If no enclosing
--  // path is found, |*path_len| is left unmodified.
--  //
--  // Note that proxy auth cache entries are associated with empty
--  // paths.  Therefore it is possible for HasEnclosingPath() to return
--  // true and set |*path_len| to 0.
--  bool HasEnclosingPath(const std::string& dir, size_t* path_len);
--
--  // |origin_| contains the {protocol, host, port} of the server.
--  GURL origin_;
--  std::string realm_;
--  HttpAuth::Scheme scheme_;
--
--  // Identity.
--  std::string auth_challenge_;
--  AuthCredentials credentials_;
--
--  int nonce_count_;
--
--  // List of paths that define the realm's protection space.
--  PathList paths_;
+ // MessageChannel --------------------------------------------------------------
+-struct MessageChannel::VarConversionResult {
+-  VarConversionResult(const ppapi::ScopedPPVar& r, bool s)
+-      : result(r),
+-        success(s),
+-        conversion_completed(true) {}
+-  VarConversionResult()
+-      : success(false),
+-        conversion_completed(false) {}
+-  ppapi::ScopedPPVar result;
+-  bool success;
+-  bool conversion_completed;
 -};
--
- }  // namespace net
- 
- #endif  // NET_HTTP_HTTP_AUTH_CACHE_H_
-diff --git a/ui/gfx/image/image_family.h b/ui/gfx/image/image_family.h
-index b2a2c07..902dede 100644
---- a/ui/gfx/image/image_family.h
-+++ b/ui/gfx/image/image_family.h
-@@ -27,8 +27,16 @@ class Size;
- // include high-DPI representations).
- class UI_EXPORT ImageFamily {
-  private:
--  // Forward declaration.
--  struct MapKey;
-+  // An <aspect ratio, DIP width> pair.
-+  // A 0x0 image has aspect ratio 1.0. 0xN and Nx0 images are treated as 0x0.
-+  struct MapKey : std::pair<float, int> {
-+    MapKey(float aspect, int width)
-+        : std::pair<float, int>(aspect, width) {}
-+
-+    float aspect() const { return first; }
-+
-+    int width() const { return second; }
-+  };
  
-  public:
-   // Type for iterating over all images in the family, in order.
-@@ -127,17 +135,6 @@ class UI_EXPORT ImageFamily {
-   const gfx::Image* GetBest(const gfx::Size& size) const;
+ MessageChannel::MessageChannelNPObject::MessageChannelNPObject() {
+ }
+diff --git a/content/renderer/pepper/message_channel.h b/content/renderer/pepper/message_channel.h
+index 9c8c28d..1a74513 100644
+--- a/content/renderer/pepper/message_channel.h
++++ b/content/renderer/pepper/message_channel.h
+@@ -10,15 +10,12 @@
  
-  private:
--  // An <aspect ratio, DIP width> pair.
--  // A 0x0 image has aspect ratio 1.0. 0xN and Nx0 images are treated as 0x0.
--  struct MapKey : std::pair<float, int> {
--    MapKey(float aspect, int width)
--        : std::pair<float, int>(aspect, width) {}
--
--    float aspect() const { return first; }
--
--    int width() const { return second; }
--  };
--
-   // Find the closest aspect ratio in the map to |desired_aspect|.
-   // Ties are broken by the thinner aspect.
-   // |map_| must not be empty. |desired_aspect| must be > 0.0.
-diff --git a/webkit/support/weburl_loader_mock_factory.cc b/webkit/support/weburl_loader_mock_factory.cc
-index f18bc07..f459211 100644
---- a/webkit/support/weburl_loader_mock_factory.cc
-+++ b/webkit/support/weburl_loader_mock_factory.cc
-@@ -24,11 +24,6 @@ using WebKit::WebURLLoader;
- using WebKit::WebURLRequest;
- using WebKit::WebURLResponse;
- 
--struct WebURLLoaderMockFactory::ResponseInfo {
--  WebKit::WebURLResponse response;
--  base::FilePath file_path;
--};
+ #include "base/memory/weak_ptr.h"
+ #include "ppapi/shared_impl/resource.h"
++#include "ppapi/shared_impl/scoped_pp_var.h"
+ #include "third_party/WebKit/public/web/WebSerializedScriptValue.h"
+ #include "third_party/npapi/bindings/npruntime.h"
+ 
+ struct PP_Var;
+ 
+-namespace ppapi {
+-class ScopedPPVar;
+-}
 -
- WebURLLoaderMockFactory::WebURLLoaderMockFactory() {}
- 
- WebURLLoaderMockFactory::~WebURLLoaderMockFactory() {}
-diff --git a/webkit/support/weburl_loader_mock_factory.h b/webkit/support/weburl_loader_mock_factory.h
-index 78abd96..8f00fc0 100644
---- a/webkit/support/weburl_loader_mock_factory.h
-+++ b/webkit/support/weburl_loader_mock_factory.h
-@@ -9,12 +9,12 @@
- 
- #include "base/files/file_path.h"
- #include "third_party/WebKit/public/platform/WebURL.h"
-+#include "third_party/WebKit/public/platform/WebURLError.h"
- #include "third_party/WebKit/public/platform/WebURLRequest.h"
- #include "third_party/WebKit/public/platform/WebURLResponse.h"
- 
- namespace WebKit {
- class WebData;
--struct WebURLError;
- class WebURLLoader;
- }
+ namespace content {
  
-@@ -75,7 +75,11 @@ class WebURLLoaderMockFactory {
-   void CancelLoad(WebURLLoaderMock* loader);
+ class PepperPluginInstanceImpl;
+@@ -86,7 +86,18 @@ class MessageChannel {
  
   private:
--  struct ResponseInfo;
-+  struct ResponseInfo {
-+    WebKit::WebURLResponse response;
-+    base::FilePath file_path;
+   // Struct for storing the result of a NPVariant being converted to a PP_Var.
+-  struct VarConversionResult;
++  struct VarConversionResult {
++    VarConversionResult(const ppapi::ScopedPPVar& r, bool s)
++        : result(r),
++          success(s),
++          conversion_completed(true) {}
++    VarConversionResult()
++        : success(false),
++          conversion_completed(false) {}
++    ppapi::ScopedPPVar result;
++    bool success;
++    bool conversion_completed;
 +  };
-+
  
-   // Loads the specified request and populates the response, error and data
-   // accordingly.
--- 
-1.7.12.4 (Apple Git-37)
-
+   // This is called when an NPVariant is finished being converted.
+   // |result_iteartor| is an iterator into |converted_var_queue_| where the
diff --git a/patches/patch-chromium.sh b/patches/patch-chromium.sh
index 3c593c741..a048d2e7d 100755
--- a/patches/patch-chromium.sh
+++ b/patches/patch-chromium.sh
@@ -56,7 +56,6 @@ fi
 cd $CHROMIUM_SRC_DIR
 echo "Entering $PWD"
 
-git am $PATCH_DIR/0001-Export-ContentMainRunner.patch
 git am $PATCH_DIR/0002-Add-WebEngineContext-to-RunLoop-s-friends.patch
 git am $PATCH_DIR/0001-Mac-Use-libc-instead-of-stdlibc.patch
 git am $PATCH_DIR/0002-Clang-libc-does-not-support-incomplete-types-in-temp.patch
@@ -75,7 +74,6 @@ cd $CHROMIUM_SRC_DIR/third_party/WebKit
 echo "Entering $PWD"
 
 git am $PATCH_DIR/0001-Remove-leftovers-from-WebKitSystemInterface.patch
-git am $PATCH_DIR/0001-Do-not-include-Assertions.h-within-namespace-WebKit.patch
 
 cd $CHROMIUM_SRC_DIR/third_party/libjingle/source/talk
 echo "Entering $PWD"
-- 
GitLab