summaryrefslogtreecommitdiffstats
path: root/patches/chromium/0009-Do-not-forward-declare-UIResourceRequest-Identity-an.patch
blob: 9d24881fb7f3a60f38c32543447fe90695629d0d (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 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();