| Index: webkit/renderer/media/media_info_loader.cc
|
| diff --git a/webkit/renderer/media/media_info_loader.cc b/webkit/renderer/media/media_info_loader.cc
|
| deleted file mode 100644
|
| index 9aeba1f3f1c3b438b4ae2b08cda9cb88ecddd89c..0000000000000000000000000000000000000000
|
| --- a/webkit/renderer/media/media_info_loader.cc
|
| +++ /dev/null
|
| @@ -1,185 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "webkit/renderer/media/media_info_loader.h"
|
| -
|
| -#include "base/bits.h"
|
| -#include "base/callback_helpers.h"
|
| -#include "base/metrics/histogram.h"
|
| -#include "third_party/WebKit/public/web/WebFrame.h"
|
| -#include "third_party/WebKit/public/platform/WebURLError.h"
|
| -#include "third_party/WebKit/public/platform/WebURLLoader.h"
|
| -#include "third_party/WebKit/public/platform/WebURLResponse.h"
|
| -
|
| -using WebKit::WebFrame;
|
| -using WebKit::WebURLError;
|
| -using WebKit::WebURLLoader;
|
| -using WebKit::WebURLLoaderOptions;
|
| -using WebKit::WebURLRequest;
|
| -using WebKit::WebURLResponse;
|
| -
|
| -namespace webkit_media {
|
| -
|
| -static const int kHttpOK = 200;
|
| -
|
| -MediaInfoLoader::MediaInfoLoader(
|
| - const GURL& url,
|
| - WebKit::WebMediaPlayer::CORSMode cors_mode,
|
| - const ReadyCB& ready_cb)
|
| - : loader_failed_(false),
|
| - url_(url),
|
| - cors_mode_(cors_mode),
|
| - single_origin_(true),
|
| - ready_cb_(ready_cb) {}
|
| -
|
| -MediaInfoLoader::~MediaInfoLoader() {}
|
| -
|
| -void MediaInfoLoader::Start(WebKit::WebFrame* frame) {
|
| - // Make sure we have not started.
|
| - DCHECK(!ready_cb_.is_null());
|
| - CHECK(frame);
|
| -
|
| - start_time_ = base::TimeTicks::Now();
|
| -
|
| - // Prepare the request.
|
| - WebURLRequest request(url_);
|
| - request.setTargetType(WebURLRequest::TargetIsMedia);
|
| - frame->setReferrerForRequest(request, WebKit::WebURL());
|
| -
|
| - scoped_ptr<WebURLLoader> loader;
|
| - if (test_loader_) {
|
| - loader = test_loader_.Pass();
|
| - } else {
|
| - WebURLLoaderOptions options;
|
| - if (cors_mode_ == WebKit::WebMediaPlayer::CORSModeUnspecified) {
|
| - options.allowCredentials = true;
|
| - options.crossOriginRequestPolicy =
|
| - WebURLLoaderOptions::CrossOriginRequestPolicyAllow;
|
| - } else {
|
| - options.exposeAllResponseHeaders = true;
|
| - options.crossOriginRequestPolicy =
|
| - WebURLLoaderOptions::CrossOriginRequestPolicyUseAccessControl;
|
| - if (cors_mode_ == WebKit::WebMediaPlayer::CORSModeUseCredentials)
|
| - options.allowCredentials = true;
|
| - }
|
| - loader.reset(frame->createAssociatedURLLoader(options));
|
| - }
|
| -
|
| - // Start the resource loading.
|
| - loader->loadAsynchronously(request, this);
|
| - active_loader_.reset(new ActiveLoader(loader.Pass()));
|
| -}
|
| -
|
| -/////////////////////////////////////////////////////////////////////////////
|
| -// WebKit::WebURLLoaderClient implementation.
|
| -void MediaInfoLoader::willSendRequest(
|
| - WebURLLoader* loader,
|
| - WebURLRequest& newRequest,
|
| - const WebURLResponse& redirectResponse) {
|
| - // The load may have been stopped and |ready_cb| is destroyed.
|
| - // In this case we shouldn't do anything.
|
| - if (ready_cb_.is_null()) {
|
| - // Set the url in the request to an invalid value (empty url).
|
| - newRequest.setURL(WebKit::WebURL());
|
| - return;
|
| - }
|
| -
|
| - // Only allow |single_origin_| if we haven't seen a different origin yet.
|
| - if (single_origin_)
|
| - single_origin_ = url_.GetOrigin() == GURL(newRequest.url()).GetOrigin();
|
| -
|
| - url_ = newRequest.url();
|
| -}
|
| -
|
| -void MediaInfoLoader::didSendData(
|
| - WebURLLoader* loader,
|
| - unsigned long long bytes_sent,
|
| - unsigned long long total_bytes_to_be_sent) {
|
| - NOTIMPLEMENTED();
|
| -}
|
| -
|
| -void MediaInfoLoader::didReceiveResponse(
|
| - WebURLLoader* loader,
|
| - const WebURLResponse& response) {
|
| - DVLOG(1) << "didReceiveResponse: HTTP/"
|
| - << (response.httpVersion() == WebURLResponse::HTTP_0_9 ? "0.9" :
|
| - response.httpVersion() == WebURLResponse::HTTP_1_0 ? "1.0" :
|
| - response.httpVersion() == WebURLResponse::HTTP_1_1 ? "1.1" :
|
| - "Unknown")
|
| - << " " << response.httpStatusCode();
|
| - DCHECK(active_loader_.get());
|
| - if (response.httpStatusCode() == kHttpOK) {
|
| - DidBecomeReady(kOk);
|
| - return;
|
| - }
|
| - loader_failed_ = true;
|
| - DidBecomeReady(kFailed);
|
| -}
|
| -
|
| -void MediaInfoLoader::didReceiveData(
|
| - WebURLLoader* loader,
|
| - const char* data,
|
| - int data_length,
|
| - int encoded_data_length) {
|
| - // Ignored.
|
| -}
|
| -
|
| -void MediaInfoLoader::didDownloadData(
|
| - WebKit::WebURLLoader* loader,
|
| - int dataLength) {
|
| - NOTIMPLEMENTED();
|
| -}
|
| -
|
| -void MediaInfoLoader::didReceiveCachedMetadata(
|
| - WebURLLoader* loader,
|
| - const char* data,
|
| - int data_length) {
|
| - NOTIMPLEMENTED();
|
| -}
|
| -
|
| -void MediaInfoLoader::didFinishLoading(
|
| - WebURLLoader* loader,
|
| - double finishTime) {
|
| - DCHECK(active_loader_.get());
|
| - DidBecomeReady(kOk);
|
| -}
|
| -
|
| -void MediaInfoLoader::didFail(
|
| - WebURLLoader* loader,
|
| - const WebURLError& error) {
|
| - DVLOG(1) << "didFail: reason=" << error.reason
|
| - << ", isCancellation=" << error.isCancellation
|
| - << ", domain=" << error.domain.utf8().data()
|
| - << ", localizedDescription="
|
| - << error.localizedDescription.utf8().data();
|
| - DCHECK(active_loader_.get());
|
| - loader_failed_ = true;
|
| - DidBecomeReady(kFailed);
|
| -}
|
| -
|
| -bool MediaInfoLoader::HasSingleOrigin() const {
|
| - DCHECK(ready_cb_.is_null())
|
| - << "Must become ready before calling HasSingleOrigin()";
|
| - return single_origin_;
|
| -}
|
| -
|
| -bool MediaInfoLoader::DidPassCORSAccessCheck() const {
|
| - DCHECK(ready_cb_.is_null())
|
| - << "Must become ready before calling DidPassCORSAccessCheck()";
|
| - return !loader_failed_ &&
|
| - cors_mode_ != WebKit::WebMediaPlayer::CORSModeUnspecified;
|
| -}
|
| -
|
| -/////////////////////////////////////////////////////////////////////////////
|
| -// Helper methods.
|
| -
|
| -void MediaInfoLoader::DidBecomeReady(Status status) {
|
| - UMA_HISTOGRAM_TIMES("Media.InfoLoadDelay",
|
| - base::TimeTicks::Now() - start_time_);
|
| - active_loader_.reset();
|
| - if (!ready_cb_.is_null())
|
| - base::ResetAndReturn(&ready_cb_).Run(status);
|
| -}
|
| -
|
| -} // namespace webkit_media
|
|
|