summaryrefslogtreecommitdiffstats
path: root/patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch
blob: a5ae49a28942e6749f93c093593b8b4c1d415fff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
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 2f27460..85a71f5c 100644
--- a/cc/trees/layer_tree_impl.h
+++ b/cc/trees/layer_tree_impl.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"
 
 #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 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) {
       "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 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 @@
 #include "base/time/time.h"
 #include "sql/connection.h"
 #include "sql/meta_table.h"
-
-class GURL;
+#include "url/gurl.h"
 
 namespace base {
 class FilePath;
@@ -94,7 +93,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();