Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(616)

Side by Side Diff: third_party/WebKit/public/platform/WebSecurityOrigin.h

Issue 1723753002: Make Document::isSecureContext() work for OOPIFs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: layout test tweaks, remove unnecessarily #include Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 WebSecurityOrigin& operator=(const WebSecurityOrigin& s) 55 WebSecurityOrigin& operator=(const WebSecurityOrigin& s)
56 { 56 {
57 assign(s); 57 assign(s);
58 return *this; 58 return *this;
59 } 59 }
60 60
61 BLINK_PLATFORM_EXPORT static WebSecurityOrigin createFromDatabaseIdentifier( const WebString& databaseIdentifier); 61 BLINK_PLATFORM_EXPORT static WebSecurityOrigin createFromDatabaseIdentifier( const WebString& databaseIdentifier);
62 BLINK_PLATFORM_EXPORT static WebSecurityOrigin createFromString(const WebStr ing&); 62 BLINK_PLATFORM_EXPORT static WebSecurityOrigin createFromString(const WebStr ing&);
63 BLINK_PLATFORM_EXPORT static WebSecurityOrigin create(const WebURL&); 63 BLINK_PLATFORM_EXPORT static WebSecurityOrigin create(const WebURL&);
64 BLINK_PLATFORM_EXPORT static WebSecurityOrigin createUnique(); 64 BLINK_PLATFORM_EXPORT static WebSecurityOrigin createUnique();
65 BLINK_PLATFORM_EXPORT static WebSecurityOrigin createUnique(bool isPotential lyTrustworthy, bool shouldBypassSecureContextCheck);
65 66
66 BLINK_PLATFORM_EXPORT void reset(); 67 BLINK_PLATFORM_EXPORT void reset();
67 BLINK_PLATFORM_EXPORT void assign(const WebSecurityOrigin&); 68 BLINK_PLATFORM_EXPORT void assign(const WebSecurityOrigin&);
68 69
69 bool isNull() const { return !m_private; } 70 bool isNull() const { return !m_private; }
70 71
71 BLINK_PLATFORM_EXPORT WebString protocol() const; 72 BLINK_PLATFORM_EXPORT WebString protocol() const;
72 BLINK_PLATFORM_EXPORT WebString host() const; 73 BLINK_PLATFORM_EXPORT WebString host() const;
73 BLINK_PLATFORM_EXPORT unsigned short port() const; 74 BLINK_PLATFORM_EXPORT unsigned short port() const;
74 75
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 #if INSIDE_BLINK 117 #if INSIDE_BLINK
117 BLINK_PLATFORM_EXPORT WebSecurityOrigin(const WTF::PassRefPtr<SecurityOrigin >&); 118 BLINK_PLATFORM_EXPORT WebSecurityOrigin(const WTF::PassRefPtr<SecurityOrigin >&);
118 BLINK_PLATFORM_EXPORT WebSecurityOrigin& operator=(const WTF::PassRefPtr<Sec urityOrigin>&); 119 BLINK_PLATFORM_EXPORT WebSecurityOrigin& operator=(const WTF::PassRefPtr<Sec urityOrigin>&);
119 BLINK_PLATFORM_EXPORT operator WTF::PassRefPtr<SecurityOrigin>() const; 120 BLINK_PLATFORM_EXPORT operator WTF::PassRefPtr<SecurityOrigin>() const;
120 BLINK_PLATFORM_EXPORT SecurityOrigin* get() const; 121 BLINK_PLATFORM_EXPORT SecurityOrigin* get() const;
121 #else 122 #else
122 // TODO(mkwst): A number of properties don't survive a round-trip ('document .domain', for instance). 123 // TODO(mkwst): A number of properties don't survive a round-trip ('document .domain', for instance).
123 // We'll need to fix that for OOPI-enabled embedders: https://crbug.com/4900 74. 124 // We'll need to fix that for OOPI-enabled embedders: https://crbug.com/4900 74.
124 operator url::Origin() const 125 operator url::Origin() const
125 { 126 {
126 return isUnique() 127 if (!isUnique())
127 ? url::Origin() 128 return url::Origin::UnsafelyCreateOriginWithoutNormalization(protoco l().utf8(), host().utf8(), effectivePort());
128 : url::Origin::UnsafelyCreateOriginWithoutNormalization(protocol().u tf8(), host().utf8(), effectivePort()); 129
130 url::Origin origin;
131 origin.set_is_unique_origin_potentially_trustworthy(isUniqueOriginPotent iallyTrustworthy());
132 origin.set_should_unique_origin_bypass_secure_context_check(shouldUnique OriginBypassSecureContextCheck());
133 return origin;
129 } 134 }
130 135
131 WebSecurityOrigin(const url::Origin& origin) 136 WebSecurityOrigin(const url::Origin& origin)
132 : m_private(0) 137 : m_private(0)
133 { 138 {
134 if (origin.unique()) { 139 if (origin.unique()) {
135 assign(WebSecurityOrigin::createUnique()); 140 assign(WebSecurityOrigin::createUnique(origin.is_unique_origin_poten tially_trustworthy(), origin.should_unique_origin_bypass_secure_context_check()) );
136 return; 141 return;
137 } 142 }
138 143
139 // TODO(mkwst): This might open up issues by double-canonicalizing the h ost. 144 // TODO(mkwst): This might open up issues by double-canonicalizing the h ost.
140 assign(WebSecurityOrigin::createFromTuple(WebString::fromUTF8(origin.sch eme()), 145 assign(WebSecurityOrigin::createFromTuple(WebString::fromUTF8(origin.sch eme()),
141 WebString::fromUTF8(origin.host()), 146 WebString::fromUTF8(origin.host()),
142 origin.port())); 147 origin.port()));
143 } 148 }
144 #endif 149 #endif
145 150
146 private: 151 private:
147 // Present only to facilitate conversion from 'url::Origin'; this constructo r shouldn't be used anywhere else. 152 // Present only to facilitate conversion from 'url::Origin'; this constructo r shouldn't be used anywhere else.
148 BLINK_PLATFORM_EXPORT static WebSecurityOrigin createFromTuple(const WebStri ng& protocol, const WebString& host, int port); 153 BLINK_PLATFORM_EXPORT static WebSecurityOrigin createFromTuple(const WebStri ng& protocol, const WebString& host, int port);
149 154
150 void assign(WebSecurityOriginPrivate*); 155 void assign(WebSecurityOriginPrivate*);
156 bool isUniqueOriginPotentiallyTrustworthy() const;
157 bool shouldUniqueOriginBypassSecureContextCheck() const;
158
151 WebSecurityOriginPrivate* m_private; 159 WebSecurityOriginPrivate* m_private;
152 }; 160 };
153 161
154 } // namespace blink 162 } // namespace blink
155 163
156 #endif 164 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698