--- 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(); - - 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(