Commit c6191389 authored by Dan Harrington's avatar Dan Harrington Committed by Commit Bot

feedv2: choose upload URL depending on channel

We need to pick the action upload endpoint based on
the Chrome channel. While I was here, I refactored some code
to hopefully make it more clear. There was one actual improvement:
we were needlessly copying the request body before gzipping it.

See b/156953207 for some additional information about the api endpoint.

Bug: 1044139
Change-Id: I7ddac54abca3471d68dfffb080ede929ad178848
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2222801Reviewed-by: default avatarIan Wells <iwells@chromium.org>
Commit-Queue: Dan H <harringtond@chromium.org>
Cr-Commit-Position: refs/heads/master@{#774698}
parent 60f4f958
......@@ -11,6 +11,7 @@
#include "base/containers/unique_ptr_adapters.h"
#include "base/memory/scoped_refptr.h"
#include "components/feed/core/v2/feed_network.h"
#include "components/version_info/channel.h"
#include "url/gurl.h"
class PrefService;
......@@ -43,7 +44,8 @@ class FeedNetworkImpl : public FeedNetwork {
const std::string& api_key,
scoped_refptr<network::SharedURLLoaderFactory> loader_factory,
const base::TickClock* tick_clock,
PrefService* pref_service);
PrefService* pref_service,
version_info::Channel chrome_channel);
~FeedNetworkImpl() override;
FeedNetworkImpl(const FeedNetworkImpl&) = delete;
FeedNetworkImpl& operator=(FeedNetworkImpl&) = delete;
......@@ -79,6 +81,7 @@ class FeedNetworkImpl : public FeedNetwork {
Delegate* delegate_;
signin::IdentityManager* identity_manager_;
const std::string api_key_;
const version_info::Channel chrome_channel_;
scoped_refptr<network::SharedURLLoaderFactory> loader_factory_;
const base::TickClock* tick_clock_;
PrefService* pref_service_;
......
......@@ -94,7 +94,7 @@ class FeedNetworkTest : public testing::Test {
feed_network_ = std::make_unique<FeedNetworkImpl>(
&delegate_, identity_test_env_.identity_manager(), "dummy_api_key",
shared_url_loader_factory_, task_environment_.GetMockTickClock(),
&profile_prefs_);
&profile_prefs_, version_info::Channel::STABLE);
}
FeedNetwork* feed_network() { return feed_network_.get(); }
......@@ -410,8 +410,8 @@ TEST_F(FeedNetworkTest, SendActionRequestSendsValidRequest) {
RespondToActionRequest(GetTestActionResponse(), net::HTTP_OK);
EXPECT_EQ(
GURL("https://www.google.com/httpservice/retry/ClankActionUploadService/"
"ClankActionUpload?fmt=bin&hl=en"),
GURL(
"https://discover-pa.googleapis.com/v1/actions:upload?fmt=bin&hl=en"),
resource_request.url);
EXPECT_EQ("POST", resource_request.method);
......
......@@ -145,7 +145,8 @@ FeedService::FeedService(
base::DefaultTickClock::GetInstance(), profile_prefs);
feed_network_ = std::make_unique<FeedNetworkImpl>(
network_delegate_.get(), identity_manager, api_key, url_loader_factory,
base::DefaultTickClock::GetInstance(), profile_prefs);
base::DefaultTickClock::GetInstance(), profile_prefs,
chrome_info.channel);
store_ = std::make_unique<FeedStore>(std::move(database));
stream_ = std::make_unique<FeedStream>(
......
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