• Home
  • Raw
  • Download

Lines Matching full:origin

17 #include "url/origin.h"
26 // AbstractOriginTest below abstracts away differences between url::Origin and
31 using OriginType = Origin;
33 // Constructing an origin.
41 // Accessors for origin properties.
42 static bool IsOpaque(const OriginType& origin);
43 static std::string GetScheme(const OriginType& origin);
44 static std::string GetHost(const OriginType& origin);
45 static uint16_t GetPort(const OriginType& origin);
47 const OriginType& origin);
51 static std::string Serialize(const OriginType& origin);
63 // Test suite for tests that cover both url::Origin and blink::SecurityOrigin.
114 bool IsOpaque(const OriginType& origin) { in IsOpaque() argument
115 return TOriginTraits::IsOpaque(origin); in IsOpaque()
117 std::string GetScheme(const OriginType& origin) { in GetScheme() argument
118 return TOriginTraits::GetScheme(origin); in GetScheme()
120 std::string GetHost(const OriginType& origin) { in GetHost() argument
121 return TOriginTraits::GetHost(origin); in GetHost()
123 uint16_t GetPort(const OriginType& origin) { in GetPort() argument
124 return TOriginTraits::GetPort(origin); in GetPort()
126 SchemeHostPort GetTupleOrPrecursorTupleIfOpaque(const OriginType& origin) { in GetTupleOrPrecursorTupleIfOpaque() argument
127 return TOriginTraits::GetTupleOrPrecursorTupleIfOpaque(origin); in GetTupleOrPrecursorTupleIfOpaque()
135 std::string Serialize(const OriginType& origin) { in Serialize() argument
136 return TOriginTraits::Serialize(origin); in Serialize()
145 << "same-origin with \"" << this->Serialize(b) << "\""
150 << "cross-origin from \"" << this->Serialize(b) << "\""
152 void VerifyOriginInvariants(const OriginType& origin) { in VerifyOriginInvariants() argument
153 // An origin is always same-origin with itself. in VerifyOriginInvariants()
154 EXPECT_SAME_ORIGIN(origin, origin); in VerifyOriginInvariants()
156 // A copy of |origin| should be same-origin as well. in VerifyOriginInvariants()
157 auto origin_copy = origin; in VerifyOriginInvariants()
158 EXPECT_EQ(this->GetScheme(origin), this->GetScheme(origin_copy)); in VerifyOriginInvariants()
159 EXPECT_EQ(this->GetHost(origin), this->GetHost(origin_copy)); in VerifyOriginInvariants()
160 EXPECT_EQ(this->GetPort(origin), this->GetPort(origin_copy)); in VerifyOriginInvariants()
161 EXPECT_EQ(this->IsOpaque(origin), this->IsOpaque(origin_copy)); in VerifyOriginInvariants()
162 EXPECT_SAME_ORIGIN(origin, origin_copy); in VerifyOriginInvariants()
164 // An origin is always cross-origin from another, unique, opaque origin. in VerifyOriginInvariants()
165 EXPECT_CROSS_ORIGIN(origin, this->CreateUniqueOpaqueOrigin()); in VerifyOriginInvariants()
167 // An origin is always cross-origin from another tuple origin. in VerifyOriginInvariants()
170 EXPECT_CROSS_ORIGIN(origin, different_tuple_origin); in VerifyOriginInvariants()
172 // Deriving an origin for "about:blank". in VerifyOriginInvariants()
174 this->CreateWithReferenceOrigin("about:blank", origin); in VerifyOriginInvariants()
176 this->CreateWithReferenceOrigin("about:blank?bar#foo", origin); in VerifyOriginInvariants()
177 EXPECT_SAME_ORIGIN(origin, about_blank_origin1); in VerifyOriginInvariants()
178 EXPECT_SAME_ORIGIN(origin, about_blank_origin2); in VerifyOriginInvariants()
182 this->DeriveNewOpaqueOrigin(origin), in VerifyOriginInvariants()
183 this->CreateWithReferenceOrigin("data:text/html,baz", origin), in VerifyOriginInvariants()
187 SCOPED_TRACE(testing::Message() << "Derived origin #" << i); in VerifyOriginInvariants()
191 EXPECT_CROSS_ORIGIN(origin, derived_origin); in VerifyOriginInvariants()
192 EXPECT_EQ(this->GetTupleOrPrecursorTupleIfOpaque(origin), in VerifyOriginInvariants()
197 void VerifyUniqueOpaqueOriginInvariants(const OriginType& origin) { in VerifyUniqueOpaqueOriginInvariants() argument
198 if (!this->IsOpaque(origin)) { in VerifyUniqueOpaqueOriginInvariants()
199 ADD_FAILURE() << "Got unexpectedly non-opaque origin: " in VerifyUniqueOpaqueOriginInvariants()
200 << this->Serialize(origin); in VerifyUniqueOpaqueOriginInvariants()
205 EXPECT_EQ("", this->GetScheme(origin)); in VerifyUniqueOpaqueOriginInvariants()
206 EXPECT_EQ("", this->GetHost(origin)); in VerifyUniqueOpaqueOriginInvariants()
207 EXPECT_EQ(0, this->GetPort(origin)); in VerifyUniqueOpaqueOriginInvariants()
210 EXPECT_EQ(SchemeHostPort(), this->GetTupleOrPrecursorTupleIfOpaque(origin)); in VerifyUniqueOpaqueOriginInvariants()
213 EXPECT_EQ("null", this->Serialize(origin)); in VerifyUniqueOpaqueOriginInvariants()
215 // Invariants that should hold for any origin. in VerifyUniqueOpaqueOriginInvariants()
216 VerifyOriginInvariants(origin); in VerifyUniqueOpaqueOriginInvariants()
220 auto origin = this->CreateOriginFromString(test_input); in TestUniqueOpaqueOrigin() local
221 this->VerifyUniqueOpaqueOriginInvariants(origin); in TestUniqueOpaqueOrigin()
223 // Re-creating from the URL should be cross-origin. in TestUniqueOpaqueOrigin()
226 EXPECT_CROSS_ORIGIN(origin, origin_recreated_from_same_input); in TestUniqueOpaqueOrigin()
229 void VerifyTupleOriginInvariants(const OriginType& origin, in VerifyTupleOriginInvariants() argument
231 if (this->IsOpaque(origin)) { in VerifyTupleOriginInvariants()
232 ADD_FAILURE() << "Got unexpectedly opaque origin"; in VerifyTupleOriginInvariants()
236 << "Actual origin: " << this->Serialize(origin)); in VerifyTupleOriginInvariants()
238 // Compare `origin` against the `expected_tuple`. in VerifyTupleOriginInvariants()
239 EXPECT_EQ(expected_tuple.scheme(), this->GetScheme(origin)); in VerifyTupleOriginInvariants()
240 EXPECT_EQ(expected_tuple.host(), this->GetHost(origin)); in VerifyTupleOriginInvariants()
241 EXPECT_EQ(expected_tuple.port(), this->GetPort(origin)); in VerifyTupleOriginInvariants()
242 EXPECT_EQ(expected_tuple, this->GetTupleOrPrecursorTupleIfOpaque(origin)); in VerifyTupleOriginInvariants()
250 // implementation *does* include the hostname in the origin SchemeHostPort in VerifyTupleOriginInvariants()
253 EXPECT_SAME_ORIGIN(origin, in VerifyTupleOriginInvariants()
254 this->CreateOriginFromString(this->Serialize(origin))); in VerifyTupleOriginInvariants()
257 // Invariants that should hold for any origin. in VerifyTupleOriginInvariants()
258 VerifyOriginInvariants(origin); in VerifyTupleOriginInvariants()
271 auto origin = this->CreateOriginFromString("unknown-scheme://"); in TYPED_TEST_P() local
272 EXPECT_FALSE(this->IsOpaque(origin)); in TYPED_TEST_P()
273 EXPECT_EQ("unknown-scheme", this->GetScheme(origin)); in TYPED_TEST_P()
274 EXPECT_EQ("", this->GetHost(origin)); in TYPED_TEST_P()
275 EXPECT_EQ(0, this->GetPort(origin)); in TYPED_TEST_P()
277 // about:blank translates into an opaque origin, even in presence of in TYPED_TEST_P()
279 origin = this->CreateOriginFromString("about:blank"); in TYPED_TEST_P()
280 EXPECT_TRUE(this->IsOpaque(origin)); in TYPED_TEST_P()
309 // URLs are considered same-origin if their schemes match, even if in TYPED_TEST_P()
314 // URLs are not considered same-origin if their schemes don't match, in TYPED_TEST_P()
357 // Verify that `origin` is opaque not just because `test_input` results is in TYPED_TEST_P()
401 // Standard schemes require a hostname (and result in an opaque origin if in TYPED_TEST_P()
415 // Invalid URLs should always result in an opaque origin. in TYPED_TEST_P()
495 auto origin = this->CreateOriginFromString(test.input); in TYPED_TEST_P() local
496 this->VerifyTupleOriginInvariants(origin, test.expected_tuple); in TYPED_TEST_P()
512 // Custom no-access schemes translate into an opaque origin (just like the in TYPED_TEST_P()
524 // Verify that `origin` is opaque not just because `test_input` results is in TYPED_TEST_P()
565 auto origin = this->CreateOriginFromString(test.input); in TYPED_TEST_P() local
566 this->VerifyTupleOriginInvariants(origin, test.expected_tuple); in TYPED_TEST_P()
599 auto origin = this->CreateOriginFromString(test.input); in TYPED_TEST_P() local
601 origin, flag ? test.expected_tuple_when_standard_compliant_flag_on in TYPED_TEST_P()