mirror of
https://codeberg.org/kiss-community/repo
synced 2024-08-22 22:16:19 +00:00
88 lines
3.7 KiB
Diff
88 lines
3.7 KiB
Diff
--- a/components/gcm_driver/gcm_channel_status_request.cc
|
|
+++ b/components/gcm_driver/gcm_channel_status_request.cc
|
|
@@ -24,8 +24,6 @@ namespace gcm {
|
|
|
|
namespace {
|
|
|
|
-const char kRequestContentType[] = "application/octet-stream";
|
|
-const char kGCMChannelTag[] = "gcm_channel";
|
|
const int kDefaultPollIntervalSeconds = 60 * 60; // 60 minutes.
|
|
const int kMinPollIntervalSeconds = 30 * 60; // 30 minutes.
|
|
|
|
@@ -57,73 +55,8 @@ int GCMChannelStatusRequest::min_poll_in
|
|
}
|
|
|
|
void GCMChannelStatusRequest::Start() {
|
|
- // url_loader_factory_ can be null for tests.
|
|
- if (!url_loader_factory_)
|
|
- return;
|
|
-
|
|
- DCHECK(!simple_url_loader_);
|
|
-
|
|
- GURL request_url(channel_status_request_url_);
|
|
-
|
|
- sync_pb::ExperimentStatusRequest proto_data;
|
|
- proto_data.add_experiment_name(kGCMChannelTag);
|
|
- std::string upload_data;
|
|
- if (!proto_data.SerializeToString(&upload_data)) {
|
|
- NOTREACHED();
|
|
- }
|
|
-
|
|
- net::NetworkTrafficAnnotationTag traffic_annotation =
|
|
- net::DefineNetworkTrafficAnnotation("gcm_channel_status_request", R"(
|
|
- semantics {
|
|
- sender: "GCM Driver"
|
|
- description:
|
|
- "Google Chrome interacts with Google Cloud Messaging to receive "
|
|
- "push messages for various browser features, as well as on behalf "
|
|
- "of websites and extensions. The channel status request "
|
|
- "periodically confirms with Google servers whether the feature "
|
|
- "should be enabled."
|
|
- trigger:
|
|
- "Periodically when Chrome has established an active Google Cloud "
|
|
- "Messaging subscription. The first request will be issued a minute "
|
|
- "after the first subscription activates. Subsequent requests will "
|
|
- "be issued each hour with a jitter of 15 minutes. Google can "
|
|
- "adjust this interval when it deems necessary."
|
|
- data:
|
|
- "A user agent string containing the Chrome version, channel and "
|
|
- "platform will be sent to the server. No user identifier is sent "
|
|
- "along with the request."
|
|
- destination: GOOGLE_OWNED_SERVICE
|
|
- }
|
|
- policy {
|
|
- cookies_allowed: NO
|
|
- setting:
|
|
- "Support for interacting with Google Cloud Messaging is enabled by "
|
|
- "default, and there is no configuration option to completely "
|
|
- "disable it. Websites wishing to receive push messages must "
|
|
- "acquire express permission from the user for the 'Notification' "
|
|
- "permission."
|
|
- policy_exception_justification:
|
|
- "Not implemented, considered not useful."
|
|
- })");
|
|
-
|
|
- auto resource_request = std::make_unique<network::ResourceRequest>();
|
|
-
|
|
- resource_request->url = request_url;
|
|
- resource_request->load_flags =
|
|
- net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES;
|
|
- resource_request->method = "POST";
|
|
- resource_request->headers.SetHeader(net::HttpRequestHeaders::kUserAgent,
|
|
- user_agent_);
|
|
- // TODO(https://crbug.com/808498): Re-add data use measurement once
|
|
- // SimpleURLLoader supports it.
|
|
- // ID=data_use_measurement::DataUseUserData::GCM_DRIVER
|
|
- simple_url_loader_ = network::SimpleURLLoader::Create(
|
|
- std::move(resource_request), traffic_annotation);
|
|
- simple_url_loader_->AttachStringForUpload(upload_data, kRequestContentType);
|
|
- simple_url_loader_->DownloadToStringOfUnboundedSizeUntilCrashAndDie(
|
|
- url_loader_factory_.get(),
|
|
- base::BindOnce(&GCMChannelStatusRequest::OnSimpleLoaderComplete,
|
|
- base::Unretained(this)));
|
|
+ // Simulate an empty response and disable GCM.
|
|
+ callback_.Run(false, false, 0);
|
|
}
|
|
|
|
void GCMChannelStatusRequest::OnSimpleLoaderComplete(
|