summaryrefslogtreecommitdiffstats
path: root/patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch')
-rw-r--r--patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch133
1 files changed, 133 insertions, 0 deletions
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
new file mode 100644
index 000000000..9d24881fb
--- /dev/null
+++ b/patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch
@@ -0,0 +1,133 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Zeno Albisser <zeno.albisser@digia.com>
+Date: Tue, 29 Oct 2013 11:30:28 +0100
+Subject: 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 | 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 eb6a015..2ae33df 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/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
+--- 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();