summaryrefslogtreecommitdiff
path: root/chromium/content/browser/devtools/protocol/network_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/browser/devtools/protocol/network_handler.cc')
-rw-r--r--chromium/content/browser/devtools/protocol/network_handler.cc34
1 files changed, 22 insertions, 12 deletions
diff --git a/chromium/content/browser/devtools/protocol/network_handler.cc b/chromium/content/browser/devtools/protocol/network_handler.cc
index d18d87a6b96..5163f19b853 100644
--- a/chromium/content/browser/devtools/protocol/network_handler.cc
+++ b/chromium/content/browser/devtools/protocol/network_handler.cc
@@ -15,8 +15,10 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/cert_store.h"
#include "content/public/browser/content_browser_client.h"
+#include "content/public/browser/render_process_host.h"
#include "content/public/browser/resource_context.h"
#include "content/public/browser/site_instance.h"
+#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_delegate.h"
#include "content/public/common/content_client.h"
@@ -133,8 +135,6 @@ class GetCookiesCommand {
request_count_(0) {
CookieListCallback got_cookies_callback = base::Bind(
&GetCookiesCommand::GotCookiesForURL, base::Unretained(this));
- BrowserContext* browser_context =
- frame_host->GetSiteInstance()->GetBrowserContext();
std::queue<FrameTreeNode*> queue;
queue.push(frame_host->frame_tree_node());
@@ -145,11 +145,12 @@ class GetCookiesCommand {
// Only traverse nodes with the same local root.
if (node->current_frame_host()->IsCrossProcessSubframe())
continue;
- int process_id = node->current_frame_host()->GetProcess()->GetID();
++request_count_;
GetCookiesForURLOnUI(
- browser_context->GetResourceContext(),
- browser_context->GetRequestContextForRenderProcess(process_id),
+ frame_host->GetSiteInstance()->GetBrowserContext()->
+ GetResourceContext(),
+ frame_host->GetProcess()->GetStoragePartition()->
+ GetURLRequestContext(),
node->current_url(),
got_cookies_callback);
@@ -233,7 +234,7 @@ void NetworkHandler::SendGetCookiesResponse(
std::vector<scoped_refptr<Cookie>> cookies;
for (size_t i = 0; i < cookie_list.size(); ++i) {
const net::CanonicalCookie& cookie = cookie_list[i];
- cookies.push_back(Cookie::Create()
+ scoped_refptr<Cookie> devtools_cookie = Cookie::Create()
->set_name(cookie.Name())
->set_value(cookie.Value())
->set_domain(cookie.Domain())
@@ -242,7 +243,19 @@ void NetworkHandler::SendGetCookiesResponse(
->set_size(cookie.Name().length() + cookie.Value().length())
->set_http_only(cookie.IsHttpOnly())
->set_secure(cookie.IsSecure())
- ->set_session(!cookie.IsPersistent()));
+ ->set_session(!cookie.IsPersistent());
+
+ switch (cookie.SameSite()) {
+ case net::CookieSameSite::STRICT_MODE:
+ devtools_cookie->set_same_site(cookie::kSameSiteStrict);
+ break;
+ case net::CookieSameSite::LAX_MODE:
+ devtools_cookie->set_same_site(cookie::kSameSiteLax);
+ break;
+ case net::CookieSameSite::NO_RESTRICTION:
+ break;
+ }
+ cookies.push_back(devtools_cookie);
}
client_->SendGetCookiesResponse(command_id,
GetCookiesResponse::Create()->set_cookies(cookies));
@@ -254,12 +267,9 @@ Response NetworkHandler::DeleteCookie(
const std::string& url) {
if (!host_)
return Response::InternalError("Could not connect to view");
- BrowserContext* browser_context =
- host_->GetSiteInstance()->GetBrowserContext();
- int process_id = host_->GetProcess()->GetID();
DeleteCookieOnUI(
- browser_context->GetResourceContext(),
- browser_context->GetRequestContextForRenderProcess(process_id),
+ host_->GetSiteInstance()->GetBrowserContext()->GetResourceContext(),
+ host_->GetProcess()->GetStoragePartition()->GetURLRequestContext(),
GURL(url),
cookie_name,
base::Bind(&NetworkHandler::SendDeleteCookieResponse,