| Index: chromecast/browser/android/cast_window_android.cc
|
| diff --git a/chromecast/browser/android/cast_window_android.cc b/chromecast/browser/android/cast_window_android.cc
|
| deleted file mode 100644
|
| index 2e94f5cac21ffb2bf8c620fe45b8a15d03e8cab5..0000000000000000000000000000000000000000
|
| --- a/chromecast/browser/android/cast_window_android.cc
|
| +++ /dev/null
|
| @@ -1,161 +0,0 @@
|
| -// Copyright 2014 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 "chromecast/browser/android/cast_window_android.h"
|
| -
|
| -#include "base/single_thread_task_runner.h"
|
| -#include "base/threading/thread_task_runner_handle.h"
|
| -#include "chromecast/base/version.h"
|
| -#include "chromecast/browser/android/cast_window_manager.h"
|
| -#include "chromecast/browser/cast_content_window.h"
|
| -#include "content/public/browser/devtools_agent_host.h"
|
| -#include "content/public/browser/navigation_controller.h"
|
| -#include "content/public/browser/navigation_entry.h"
|
| -#include "content/public/browser/render_process_host.h"
|
| -#include "content/public/browser/render_view_host.h"
|
| -#include "content/public/browser/render_widget_host.h"
|
| -#include "content/public/browser/render_widget_host_view.h"
|
| -#include "content/public/common/renderer_preferences.h"
|
| -#include "jni/CastWindowAndroid_jni.h"
|
| -#include "ui/gfx/skia_util.h"
|
| -
|
| -namespace chromecast {
|
| -namespace shell {
|
| -
|
| -namespace {
|
| -
|
| -// The time (in milliseconds) we wait for after a page is closed (i.e.
|
| -// after an app is stopped) before we delete the corresponding WebContents.
|
| -const int kWebContentsDestructionDelayInMs = 50;
|
| -
|
| -} // namespace
|
| -
|
| -// static
|
| -CastWindowAndroid* CastWindowAndroid::CreateNewWindow(
|
| - content::BrowserContext* browser_context,
|
| - const GURL& url) {
|
| - CastWindowAndroid* window_android = new CastWindowAndroid(browser_context);
|
| - window_android->Initialize();
|
| -
|
| - if (!url.is_empty())
|
| - window_android->LoadURL(url);
|
| -
|
| - content::RenderWidgetHostView* rwhv =
|
| - window_android->web_contents_->GetRenderWidgetHostView();
|
| - if (rwhv) {
|
| - rwhv->SetBackgroundColor(SK_ColorBLACK);
|
| - }
|
| -
|
| - return window_android;
|
| -}
|
| -
|
| -CastWindowAndroid::CastWindowAndroid(content::BrowserContext* browser_context)
|
| - : browser_context_(browser_context),
|
| - content_window_(new CastContentWindow),
|
| - weak_factory_(this) {
|
| -}
|
| -
|
| -void CastWindowAndroid::Initialize() {
|
| - web_contents_ = content_window_->CreateWebContents(browser_context_);
|
| - web_contents_->SetDelegate(this);
|
| - content::WebContentsObserver::Observe(web_contents_.get());
|
| -
|
| - JNIEnv* env = base::android::AttachCurrentThread();
|
| - window_java_.Reset(CreateCastWindowView(this));
|
| -
|
| - Java_CastWindowAndroid_initFromNativeWebContents(
|
| - env, window_java_, web_contents_->GetJavaWebContents(),
|
| - web_contents_->GetRenderProcessHost()->GetID(),
|
| - base::android::ConvertUTF8ToJavaString(env, PRODUCT_VERSION));
|
| -
|
| - // Enabling hole-punching also requires runtime renderer preference
|
| - content::RendererPreferences* prefs =
|
| - web_contents_->GetMutableRendererPrefs();
|
| - prefs->use_video_overlay_for_embedded_encrypted_video = true;
|
| - web_contents_->GetRenderViewHost()->SyncRendererPrefs();
|
| -}
|
| -
|
| -CastWindowAndroid::~CastWindowAndroid() {
|
| -}
|
| -
|
| -void CastWindowAndroid::Close() {
|
| - // Close page first, which fires the window.unload event. The WebContents
|
| - // itself will be destroyed after browser-process has received renderer
|
| - // notification that the page is closed.
|
| - web_contents_->ClosePage();
|
| -}
|
| -
|
| -void CastWindowAndroid::Destroy() {
|
| - // Note: if multiple windows becomes supported, this may close other devtools
|
| - // sessions.
|
| - content::DevToolsAgentHost::DetachAllClients();
|
| - CloseCastWindowView(window_java_.obj());
|
| - delete this;
|
| -}
|
| -
|
| -void CastWindowAndroid::LoadURL(const GURL& url) {
|
| - content::NavigationController::LoadURLParams params(url);
|
| - params.transition_type = ui::PageTransitionFromInt(
|
| - ui::PAGE_TRANSITION_TYPED |
|
| - ui::PAGE_TRANSITION_FROM_ADDRESS_BAR);
|
| - web_contents_->GetController().LoadURLWithParams(params);
|
| - web_contents_->Focus();
|
| -}
|
| -
|
| -void CastWindowAndroid::AddNewContents(content::WebContents* source,
|
| - content::WebContents* new_contents,
|
| - WindowOpenDisposition disposition,
|
| - const gfx::Rect& initial_rect,
|
| - bool user_gesture,
|
| - bool* was_blocked) {
|
| - NOTIMPLEMENTED();
|
| - if (was_blocked) {
|
| - *was_blocked = true;
|
| - }
|
| -}
|
| -
|
| -void CastWindowAndroid::CloseContents(content::WebContents* source) {
|
| - DCHECK_EQ(source, web_contents_.get());
|
| -
|
| - // We need to delay the deletion of web_contents_ (currently for 50ms) to
|
| - // give (and guarantee) the renderer enough time to finish 'onunload'
|
| - // handler (but we don't want to wait any longer than that to delay the
|
| - // starting of next app).
|
| - base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
|
| - FROM_HERE,
|
| - base::Bind(&CastWindowAndroid::Destroy, weak_factory_.GetWeakPtr()),
|
| - base::TimeDelta::FromMilliseconds(kWebContentsDestructionDelayInMs));
|
| -}
|
| -
|
| -bool CastWindowAndroid::CanOverscrollContent() const {
|
| - return false;
|
| -}
|
| -
|
| -bool CastWindowAndroid::DidAddMessageToConsole(
|
| - content::WebContents* source,
|
| - int32_t level,
|
| - const base::string16& message,
|
| - int32_t line_no,
|
| - const base::string16& source_id) {
|
| - return false;
|
| -}
|
| -
|
| -void CastWindowAndroid::ActivateContents(content::WebContents* contents) {
|
| - DCHECK_EQ(contents, web_contents_.get());
|
| - contents->GetRenderViewHost()->GetWidget()->Focus();
|
| -}
|
| -
|
| -base::android::ScopedJavaLocalRef<jobject>
|
| -CastWindowAndroid::GetContentVideoViewEmbedder() {
|
| - JNIEnv* env = base::android::AttachCurrentThread();
|
| - return Java_CastWindowAndroid_getContentVideoViewEmbedder(env, window_java_);
|
| -}
|
| -
|
| -void CastWindowAndroid::RenderProcessGone(base::TerminationStatus status) {
|
| - LOG(ERROR) << "Render process gone: status=" << status;
|
| - Destroy();
|
| -}
|
| -
|
| -} // namespace shell
|
| -} // namespace chromecast
|
|
|