| Index: net/url_request/url_request.h
|
| diff --git a/net/url_request/url_request.h b/net/url_request/url_request.h
|
| index 0c413f7e50c095266da3a7fd6239abdad45bcc0a..0f7ee9aee33bbfcff0577a40792dbfb75d9b559a 100644
|
| --- a/net/url_request/url_request.h
|
| +++ b/net/url_request/url_request.h
|
| @@ -14,6 +14,7 @@
|
| #include "base/debug/leak_tracker.h"
|
| #include "base/logging.h"
|
| #include "base/macros.h"
|
| +#include "base/optional.h"
|
| #include "base/strings/string16.h"
|
| #include "base/supports_user_data.h"
|
| #include "base/threading/non_thread_safe.h"
|
| @@ -303,9 +304,13 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe),
|
| //
|
| // This value is used to perform the cross-origin check specified in Section
|
| // 4.3 of https://tools.ietf.org/html/draft-west-first-party-cookies.
|
| - const url::Origin& initiator() const { return initiator_; }
|
| + //
|
| + // Note: the initiator can be null for browser-initiated top level
|
| + // navigations. This is different from a unique Origin (e.g. in sandboxed
|
| + // iframes).
|
| + const base::Optional<url::Origin>& initiator() const { return initiator_; }
|
| // This method may only be called before Start().
|
| - void set_initiator(const url::Origin& initiator);
|
| + void set_initiator(const base::Optional<url::Origin>& initiator);
|
|
|
| // The request method, as an uppercase string. "GET" is the default value.
|
| // The request method may only be changed before Start() is called and
|
| @@ -761,7 +766,7 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe),
|
|
|
| std::vector<GURL> url_chain_;
|
| GURL first_party_for_cookies_;
|
| - url::Origin initiator_;
|
| + base::Optional<url::Origin> initiator_;
|
| GURL delegate_redirect_url_;
|
| std::string method_; // "GET", "POST", etc. Should be all uppercase.
|
| std::string referrer_;
|
|
|