Commit 6eb4340f authored by Pavel Shmakov's avatar Pavel Shmakov Committed by Commit Bot

Reland "Persist cookies for profiles with non-null path"

getDataDir() should be replaced with getFileDir()

This is a reland of 6cd69069

Original change's description:
> Revert "Persist cookies for profiles with non-null path"
>
> This reverts commit 6cd69069.
>
> Reason for revert: broke weblayer instrumentation tests, see https://ci.chromium.org/p/chromium/builders/ci/Mojo%20Android/20184?blamelist=1#blamelist-tab
>
> Original change's description:
> > Persist cookies for profiles with non-null path
> >
> > Currently the cookies are not persisted because the default
> > implementation of ContentBrowserClient::CreateNetworkContext doesn't
> > specify cookie_path parameter. In this CL CreateNetworkContext is
> > overridden in WebLayer implementation.
> >
> > Bug: 1014048
> > Change-Id: I1b7a307a64cd836eb5c4a45817412b997b89f1f5
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1862677
> > Commit-Queue: Pavel Shmakov <pshmakov@chromium.org>
> > Reviewed-by: John Abd-El-Malek <jam@chromium.org>
> > Reviewed-by: Bo <boliu@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#706390}
>
> TBR=jam@chromium.org,boliu@chromium.org,pshmakov@chromium.org
>
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 1014048
> Change-Id: I7b302c7ea8618acd1c578b14ac9c8ed894744cca
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1865130
> Reviewed-by: John Abd-El-Malek <jam@chromium.org>
> Commit-Queue: John Abd-El-Malek <jam@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#706638}

TBR=jam@chromium.org,boliu@chromium.org,pshmakov@chromium.org

Change-Id: I4848f94a9531b2eda78c593f7cabeb5a68a05dae
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1014048
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1865323
Commit-Queue: Pavel Shmakov <pshmakov@chromium.org>
Reviewed-by: default avatarPavel Shmakov <pshmakov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#706864}
parent 10b0a1a5
...@@ -93,6 +93,7 @@ jumbo_static_library("weblayer_lib") { ...@@ -93,6 +93,7 @@ jumbo_static_library("weblayer_lib") {
"//net", "//net",
"//net:net_resources", "//net:net_resources",
"//sandbox", "//sandbox",
"//services/network/public/mojom",
"//services/service_manager/embedder:embedder_result_codes", "//services/service_manager/embedder:embedder_result_codes",
"//skia", "//skia",
"//third_party/blink/public/strings", "//third_party/blink/public/strings",
......
...@@ -5,6 +5,8 @@ include_rules = [ ...@@ -5,6 +5,8 @@ include_rules = [
"+mojo/public", "+mojo/public",
"+net", "+net",
"+sandbox", "+sandbox",
"+services/network/network_service.h",
"+services/network/public",
"+services/service_manager", "+services/service_manager",
"+third_party/blink/public/common", "+third_party/blink/public/common",
"+ui/aura", "+ui/aura",
......
...@@ -9,12 +9,18 @@ ...@@ -9,12 +9,18 @@
#include "base/command_line.h" #include "base/command_line.h"
#include "base/files/file.h" #include "base/files/file.h"
#include "base/files/file_util.h" #include "base/files/file_util.h"
#include "base/path_service.h"
#include "base/stl_util.h" #include "base/stl_util.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/devtools_manager_delegate.h" #include "content/public/browser/devtools_manager_delegate.h"
#include "content/public/browser/network_service_instance.h"
#include "content/public/common/service_names.mojom.h" #include "content/public/common/service_names.mojom.h"
#include "content/public/common/user_agent.h" #include "content/public/common/user_agent.h"
#include "content/public/common/web_preferences.h" #include "content/public/common/web_preferences.h"
#include "services/network/network_service.h"
#include "services/network/public/mojom/network_context.mojom.h"
#include "services/network/public/mojom/network_service.mojom.h"
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h" #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
#include "url/gurl.h" #include "url/gurl.h"
#include "url/origin.h" #include "url/origin.h"
...@@ -109,6 +115,26 @@ void ContentBrowserClientImpl::OverrideWebkitPrefs( ...@@ -109,6 +115,26 @@ void ContentBrowserClientImpl::OverrideWebkitPrefs(
browser_controller && browser_controller->fullscreen_delegate(); browser_controller && browser_controller->fullscreen_delegate();
} }
mojo::Remote<network::mojom::NetworkContext>
ContentBrowserClientImpl::CreateNetworkContext(
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path) {
mojo::Remote<network::mojom::NetworkContext> network_context;
network::mojom::NetworkContextParamsPtr context_params =
network::mojom::NetworkContextParams::New();
context_params->user_agent = GetUserAgent();
context_params->accept_language = "en-us,en";
if (!context->IsOffTheRecord()) {
base::FilePath cookie_path = context->GetPath();
cookie_path = cookie_path.Append(FILE_PATH_LITERAL("Cookies"));
context_params->cookie_path = cookie_path;
}
content::GetNetworkService()->CreateNetworkContext(
network_context.BindNewPipeAndPassReceiver(), std::move(context_params));
return network_context;
}
#if defined(OS_LINUX) || defined(OS_ANDROID) #if defined(OS_LINUX) || defined(OS_ANDROID)
void ContentBrowserClientImpl::GetAdditionalMappedFilesForChildProcess( void ContentBrowserClientImpl::GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line, const base::CommandLine& command_line,
......
...@@ -37,6 +37,10 @@ class ContentBrowserClientImpl : public content::ContentBrowserClient { ...@@ -37,6 +37,10 @@ class ContentBrowserClientImpl : public content::ContentBrowserClient {
blink::UserAgentMetadata GetUserAgentMetadata() override; blink::UserAgentMetadata GetUserAgentMetadata() override;
void OverrideWebkitPrefs(content::RenderViewHost* render_view_host, void OverrideWebkitPrefs(content::RenderViewHost* render_view_host,
content::WebPreferences* prefs) override; content::WebPreferences* prefs) override;
mojo::Remote<network::mojom::NetworkContext> CreateNetworkContext(
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path) override;
#if defined(OS_LINUX) || defined(OS_ANDROID) #if defined(OS_LINUX) || defined(OS_ANDROID)
void GetAdditionalMappedFilesForChildProcess( void GetAdditionalMappedFilesForChildProcess(
......
...@@ -36,6 +36,7 @@ import org.chromium.weblayer.Profile; ...@@ -36,6 +36,7 @@ import org.chromium.weblayer.Profile;
import org.chromium.weblayer.UnsupportedVersionException; import org.chromium.weblayer.UnsupportedVersionException;
import org.chromium.weblayer.WebLayer; import org.chromium.weblayer.WebLayer;
import java.io.File;
import java.util.List; import java.util.List;
/** /**
...@@ -210,7 +211,8 @@ public class WebLayerShellActivity extends FragmentActivity { ...@@ -210,7 +211,8 @@ public class WebLayerShellActivity extends FragmentActivity {
} }
} }
BrowserFragment fragment = WebLayer.createBrowserFragment(null); File profile = new File(getFilesDir(), "defaultProfile");
BrowserFragment fragment = WebLayer.createBrowserFragment(profile.getPath());
FragmentTransaction transaction = fragmentManager.beginTransaction(); FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.add(mMainViewId, fragment); transaction.add(mMainViewId, fragment);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment