summaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
authorZeno Albisser <zeno.albisser@digia.com>2013-10-29 11:36:06 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-29 21:02:44 +0100
commit2b9354c5399eeb538f31b1afc20b6d54f455bfcb (patch)
tree88d5d8b3aab9b28dc83b254824a000e62f13d882 /patches
parentf21cb5bc6fca478541d804d24ca0b60a96d82e8f (diff)
Add patch: Do not forward declare UIResourceRequest, Identity, IdentityKey.
This seems to be necessary to compile for OSX 10.7, and this is the OSX version we currently use in the CI system. Change-Id: I1edcf35baee040328de11801f58ce78ed1f8f6cb Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'patches')
-rw-r--r--patches/0001-Do-not-forward-declare-UIResourceRequest-Identity-an.patch145
-rwxr-xr-xpatches/patch-chromium.sh1
2 files changed, 146 insertions, 0 deletions
diff --git a/patches/0001-Do-not-forward-declare-UIResourceRequest-Identity-an.patch b/patches/0001-Do-not-forward-declare-UIResourceRequest-Identity-an.patch
new file mode 100644
index 000000000..4e71cdfdf
--- /dev/null
+++ b/patches/0001-Do-not-forward-declare-UIResourceRequest-Identity-an.patch
@@ -0,0 +1,145 @@
+From 7126d1d1fdb7b64b6bd46908154a7c8fa582ed8b Mon Sep 17 00:00:00 2001
+From: Zeno Albisser <zeno.albisser@digia.com>
+Date: Tue, 29 Oct 2013 11:30:28 +0100
+Subject: [PATCH] Do not forward declare UIResourceRequest, Identity and
+ IdentityKey.
+
+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(-)
+
+diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h
+index 7e66da8..4f1afbe 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"
+ #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;
+
+diff --git a/content/browser/media/webrtc_identity_store_backend.cc b/content/browser/media/webrtc_identity_store_backend.cc
+index 9ec73e9..4188116 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) {
+ "creation_time INTEGER)");
+ }
+
+-struct WebRTCIdentityStoreBackend::IdentityKey {
+- IdentityKey(const GURL& origin, const std::string& identity_name)
+- : origin(origin), identity_name(identity_name) {}
+-
+- bool operator<(const IdentityKey& other) const {
+- return origin < other.origin ||
+- (origin == other.origin && identity_name < other.identity_name);
+- }
+-
+- GURL origin;
+- std::string identity_name;
+-};
+-
+-struct WebRTCIdentityStoreBackend::Identity {
+- Identity(const std::string& common_name,
+- const std::string& certificate,
+- const std::string& private_key)
+- : common_name(common_name),
+- certificate(certificate),
+- private_key(private_key),
+- creation_time(base::Time::Now().ToInternalValue()) {}
+-
+- Identity(const std::string& common_name,
+- const std::string& certificate,
+- const std::string& private_key,
+- int64 creation_time)
+- : common_name(common_name),
+- certificate(certificate),
+- private_key(private_key),
+- creation_time(creation_time) {}
+-
+- std::string common_name;
+- std::string certificate;
+- std::string private_key;
+- int64 creation_time;
+-};
+-
+ struct WebRTCIdentityStoreBackend::PendingFindRequest {
+ 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
+--- a/content/browser/media/webrtc_identity_store_backend.h
++++ b/content/browser/media/webrtc_identity_store_backend.h
+@@ -11,8 +11,7 @@
+ #include "base/time/time.h"
+ #include "sql/connection.h"
+ #include "sql/meta_table.h"
+-
+-class GURL;
++#include "url/gurl.h"
+
+ namespace base {
+ class FilePath;
+@@ -88,7 +87,44 @@ class WebRTCIdentityStoreBackend
+ };
+ struct PendingFindRequest;
+ struct IdentityKey;
+- struct Identity;
++
++ struct IdentityKey {
++ IdentityKey(const GURL& origin, const std::string& identity_name)
++ : origin(origin), identity_name(identity_name) {}
++
++ bool operator<(const IdentityKey& other) const {
++ return origin < other.origin ||
++ (origin == other.origin && identity_name < other.identity_name);
++ }
++
++ GURL origin;
++ std::string identity_name;
++ };
++
++ struct Identity {
++ Identity(const std::string& common_name,
++ const std::string& certificate,
++ const std::string& private_key)
++ : common_name(common_name),
++ certificate(certificate),
++ private_key(private_key),
++ creation_time(base::Time::Now().ToInternalValue()) {}
++
++ Identity(const std::string& common_name,
++ const std::string& certificate,
++ const std::string& private_key,
++ int64 creation_time)
++ : common_name(common_name),
++ certificate(certificate),
++ private_key(private_key),
++ creation_time(creation_time) {}
++
++ std::string common_name;
++ std::string certificate;
++ std::string private_key;
++ int64 creation_time;
++ };
++
+ typedef std::map<IdentityKey, Identity> IdentityMap;
+
+ ~WebRTCIdentityStoreBackend();
+--
+1.7.10.2 (Apple Git-33)
+
diff --git a/patches/patch-chromium.sh b/patches/patch-chromium.sh
index 74ac4a55b..a1debf416 100755
--- a/patches/patch-chromium.sh
+++ b/patches/patch-chromium.sh
@@ -66,6 +66,7 @@ git am $PATCH_DIR/0001-Do-not-warn-for-header-hygiene.patch
git am $PATCH_DIR/0001-Build-files-necessary-for-touch-and-gestures.patch
git am $PATCH_DIR/0001-remove-Wno-deprecated-register-from-common.gypi.patch
git am $PATCH_DIR/0001-Solve-conflicts-when-including-both-QtOpenGL-headers.patch
+git am $PATCH_DIR/0001-Do-not-forward-declare-UIResourceRequest-Identity-an.patch
cd $CHROMIUM_SRC_DIR/third_party/WebKit
echo "Entering $PWD"