| Index: android_webview/browser/aw_cookie_access_policy.cc
|
| diff --git a/android_webview/browser/aw_cookie_access_policy.cc b/android_webview/browser/aw_cookie_access_policy.cc
|
| index 1dc3ba979a8d3cc3630ba83094c3a5f5fb291ad4..f14d09f69f3d58965f1f60957e5eb4d3c8a59430 100644
|
| --- a/android_webview/browser/aw_cookie_access_policy.cc
|
| +++ b/android_webview/browser/aw_cookie_access_policy.cc
|
| @@ -10,11 +10,13 @@
|
| #include "base/logging.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/resource_request_info.h"
|
| +#include "content/public/browser/websocket_handshake_request_info.h"
|
| #include "net/base/net_errors.h"
|
|
|
| using base::AutoLock;
|
| using content::BrowserThread;
|
| using content::ResourceRequestInfo;
|
| +using content::WebSocketHandshakeRequestInfo;
|
| using net::StaticCookiePolicy;
|
|
|
| namespace android_webview {
|
| @@ -57,12 +59,21 @@ bool AwCookieAccessPolicy::GetShouldAcceptThirdPartyCookies(
|
|
|
| bool AwCookieAccessPolicy::GetShouldAcceptThirdPartyCookies(
|
| const net::URLRequest& request) {
|
| + int child_id = 0;
|
| + int frame_id = 0;
|
| const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(&request);
|
| - if (!info) {
|
| - return false;
|
| + if (info) {
|
| + child_id = info->GetChildID();
|
| + frame_id = info->GetRenderFrameID();
|
| + } else {
|
| + const WebSocketHandshakeRequestInfo* websocket_info =
|
| + WebSocketHandshakeRequestInfo::ForRequest(&request);
|
| + if (!websocket_info)
|
| + return false;
|
| + child_id = websocket_info->GetChildId();
|
| + frame_id = websocket_info->GetRenderFrameId();
|
| }
|
| - return GetShouldAcceptThirdPartyCookies(info->GetChildID(),
|
| - info->GetRenderFrameID());
|
| + return GetShouldAcceptThirdPartyCookies(child_id, frame_id);
|
| }
|
|
|
| bool AwCookieAccessPolicy::OnCanGetCookies(const net::URLRequest& request,
|
|
|