Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2460)

Unified Diff: ash/screensaver/screensaver_view.cc

Issue 608283003: Remove retail mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/screensaver/screensaver_view.h ('k') | ash/screensaver/screensaver_view_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/screensaver/screensaver_view.cc
diff --git a/ash/screensaver/screensaver_view.cc b/ash/screensaver/screensaver_view.cc
deleted file mode 100644
index 7762a49994115c3460bd336c71aa12a446c6cdbc..0000000000000000000000000000000000000000
--- a/ash/screensaver/screensaver_view.cc
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright (c) 2012 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 "ash/screensaver/screensaver_view.h"
-
-#include "ash/shell.h"
-#include "ash/shell_delegate.h"
-#include "base/bind.h"
-#include "base/logging.h"
-#include "content/public/browser/browser_context.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/web_contents.h"
-#include "ui/aura/window_event_dispatcher.h"
-#include "ui/gfx/screen.h"
-#include "ui/views/controls/webview/webview.h"
-#include "ui/views/layout/fill_layout.h"
-#include "ui/views/widget/widget.h"
-
-using content::BrowserThread;
-
-namespace {
-
-ash::ScreensaverView* g_instance = NULL;
-
-// Do not restart the screensaver again if it has
-// terminated kMaxTerminations times already.
-const int kMaxTerminations = 3;
-
-} // namespace
-
-namespace ash {
-
-void ShowScreensaver(const GURL& url) { ScreensaverView::ShowScreensaver(url); }
-
-void CloseScreensaver() { ScreensaverView::CloseScreensaver(); }
-
-bool IsScreensaverShown() { return ScreensaverView::IsScreensaverShown(); }
-
-// static
-void ScreensaverView::ShowScreensaver(const GURL& url) {
- if (!g_instance) {
- g_instance = new ScreensaverView(url);
- g_instance->Show();
- }
-}
-
-// static
-void ScreensaverView::CloseScreensaver() {
- if (g_instance) {
- g_instance->Close();
- g_instance = NULL;
- }
-}
-
-// static
-bool ScreensaverView::IsScreensaverShown() {
- return g_instance && g_instance->IsScreensaverShowingURL(g_instance->url_);
-}
-
-bool ScreensaverView::IsScreensaverShowingURL(const GURL& url) {
- return screensaver_webview_ &&
- screensaver_webview_->web_contents() &&
- (screensaver_webview_->web_contents()->GetURL() == url);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// ScreensaverView, views::WidgetDelegateView implementation.
-views::View* ScreensaverView::GetContentsView() {
- return this;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// ScreensaverView, content::WebContentsObserver implementation.
-void ScreensaverView::RenderProcessGone(
- base::TerminationStatus status) {
- LOG(ERROR) << "Screensaver terminated with status " << status;
- termination_count_++;
-
- if (termination_count_ < kMaxTerminations) {
- LOG(ERROR) << termination_count_
- << " terminations is under the threshold of "
- << kMaxTerminations
- << "; reloading Screensaver.";
- LoadScreensaver();
- } else {
- LOG(ERROR) << "Exceeded termination threshold, closing Screensaver.";
- ScreensaverView::CloseScreensaver();
- }
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// ScreensaverView private methods.
-ScreensaverView::ScreensaverView(const GURL& url)
- : url_(url),
- termination_count_(0),
- screensaver_webview_(NULL),
- container_window_(NULL) {
-}
-
-ScreensaverView::~ScreensaverView() {
-}
-
-void ScreensaverView::Show() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- // Add the WebView to our view.
- AddChildWebContents();
- // Show the window.
- ShowWindow();
-}
-
-void ScreensaverView::Close() {
- DCHECK(GetWidget());
- GetWidget()->Close();
-}
-
-void ScreensaverView::AddChildWebContents() {
- content::BrowserContext* context =
- Shell::GetInstance()->delegate()->GetActiveBrowserContext();
- screensaver_webview_ = new views::WebView(context);
- SetLayoutManager(new views::FillLayout);
- AddChildView(screensaver_webview_);
-
- LoadScreensaver();
- content::WebContentsObserver::Observe(
- screensaver_webview_->GetWebContents());
-}
-
-void ScreensaverView::LoadScreensaver() {
- screensaver_webview_->GetWebContents()->GetController().LoadURL(
- url_,
- content::Referrer(),
- ui::PAGE_TRANSITION_AUTO_TOPLEVEL,
- std::string());
-}
-
-void ScreensaverView::ShowWindow() {
- aura::Window* root_window = ash::Shell::GetPrimaryRootWindow();
- gfx::Rect screen_rect =
- Shell::GetScreen()->GetDisplayNearestWindow(root_window).bounds();
-
- // We want to be the fullscreen topmost child of the root window.
- // There should be nothing ever really that should show up on top of us.
- container_window_ = new views::Widget();
- views::Widget::InitParams params(
- views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
- params.delegate = this;
- params.parent = root_window;
- container_window_->Init(params);
-
- container_window_->StackAtTop();
- container_window_->SetBounds(screen_rect);
- container_window_->Show();
-}
-
-// static
-ScreensaverView* ScreensaverView::GetInstance() {
- return g_instance;
-}
-
-} // namespace ash
« no previous file with comments | « ash/screensaver/screensaver_view.h ('k') | ash/screensaver/screensaver_view_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698