| Index: chrome/browser/chromeos/login/simple_web_view_dialog.cc
|
| diff --git a/chrome/browser/chromeos/login/simple_web_view_dialog.cc b/chrome/browser/chromeos/login/simple_web_view_dialog.cc
|
| deleted file mode 100644
|
| index 969c7d92e7e6a066ca7e300f19a412ee57ca1716..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chromeos/login/simple_web_view_dialog.cc
|
| +++ /dev/null
|
| @@ -1,400 +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 "chrome/browser/chromeos/login/simple_web_view_dialog.h"
|
| -
|
| -#include "ash/shell.h"
|
| -#include "ash/shell_window_ids.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "chrome/app/chrome_command_ids.h"
|
| -#include "chrome/browser/chromeos/login/captive_portal_window_proxy.h"
|
| -#include "chrome/browser/chromeos/login/helper.h"
|
| -#include "chrome/browser/command_updater.h"
|
| -#include "chrome/browser/password_manager/chrome_password_manager_client.h"
|
| -#include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/ui/autofill/tab_autofill_manager_delegate.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| -#include "chrome/browser/ui/content_settings/content_setting_bubble_model_delegate.h"
|
| -#include "chrome/browser/ui/toolbar/toolbar_model_impl.h"
|
| -#include "chrome/browser/ui/view_ids.h"
|
| -#include "chrome/browser/ui/views/location_bar/location_icon_view.h"
|
| -#include "chrome/browser/ui/views/toolbar/reload_button.h"
|
| -#include "components/password_manager/core/browser/password_manager.h"
|
| -#include "content/public/browser/navigation_controller.h"
|
| -#include "content/public/browser/navigation_entry.h"
|
| -#include "content/public/browser/web_contents.h"
|
| -#include "grit/generated_resources.h"
|
| -#include "grit/theme_resources.h"
|
| -#include "ipc/ipc_message.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| -#include "ui/base/theme_provider.h"
|
| -#include "ui/views/background.h"
|
| -#include "ui/views/controls/webview/webview.h"
|
| -#include "ui/views/layout/grid_layout.h"
|
| -#include "ui/views/layout/layout_constants.h"
|
| -#include "ui/views/view.h"
|
| -#include "ui/views/widget/widget.h"
|
| -
|
| -using content::WebContents;
|
| -using views::GridLayout;
|
| -
|
| -namespace {
|
| -
|
| -const int kLocationBarHeight = 35;
|
| -
|
| -// Margin between screen edge and SimpleWebViewDialog border.
|
| -const int kExternalMargin = 60;
|
| -
|
| -// Margin between WebView and SimpleWebViewDialog border.
|
| -const int kInnerMargin = 2;
|
| -
|
| -const SkColor kDialogColor = SK_ColorWHITE;
|
| -
|
| -class ToolbarRowView : public views::View {
|
| - public:
|
| - ToolbarRowView() {
|
| - set_background(views::Background::CreateSolidBackground(kDialogColor));
|
| - }
|
| -
|
| - virtual ~ToolbarRowView() {}
|
| -
|
| - void Init(views::View* back,
|
| - views::View* forward,
|
| - views::View* reload,
|
| - views::View* location_bar) {
|
| - GridLayout* layout = new GridLayout(this);
|
| - SetLayoutManager(layout);
|
| -
|
| - // Back button.
|
| - views::ColumnSet* column_set = layout->AddColumnSet(0);
|
| - column_set->AddColumn(GridLayout::CENTER, GridLayout::CENTER, 0,
|
| - GridLayout::USE_PREF, 0, 0);
|
| - column_set->AddPaddingColumn(0, views::kRelatedControlHorizontalSpacing);
|
| - // Forward button.
|
| - column_set->AddColumn(GridLayout::CENTER, GridLayout::CENTER, 0,
|
| - GridLayout::USE_PREF, 0, 0);
|
| - column_set->AddPaddingColumn(0, views::kRelatedControlHorizontalSpacing);
|
| - // Reload button.
|
| - column_set->AddColumn(GridLayout::CENTER, GridLayout::CENTER, 0,
|
| - GridLayout::USE_PREF, 0, 0);
|
| - column_set->AddPaddingColumn(0, views::kRelatedControlHorizontalSpacing);
|
| - // Location bar.
|
| - column_set->AddColumn(GridLayout::FILL, GridLayout::CENTER, 1,
|
| - GridLayout::FIXED, kLocationBarHeight, 0);
|
| - column_set->AddPaddingColumn(0, views::kRelatedControlHorizontalSpacing);
|
| -
|
| - layout->StartRow(0, 0);
|
| - layout->AddView(back);
|
| - layout->AddView(forward);
|
| - layout->AddView(reload);
|
| - layout->AddView(location_bar);
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(ToolbarRowView);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -namespace chromeos {
|
| -
|
| -// Stub implementation of ContentSettingBubbleModelDelegate.
|
| -class StubBubbleModelDelegate : public ContentSettingBubbleModelDelegate {
|
| - public:
|
| - StubBubbleModelDelegate() {}
|
| - virtual ~StubBubbleModelDelegate() {}
|
| -
|
| - // ContentSettingBubbleModelDelegate implementation:
|
| - virtual void ShowCollectedCookiesDialog(
|
| - content::WebContents* web_contents) OVERRIDE {
|
| - }
|
| -
|
| - virtual void ShowContentSettingsPage(ContentSettingsType type) OVERRIDE {
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(StubBubbleModelDelegate);
|
| -};
|
| -
|
| -// SimpleWebViewDialog class ---------------------------------------------------
|
| -
|
| -SimpleWebViewDialog::SimpleWebViewDialog(Profile* profile)
|
| - : profile_(profile),
|
| - back_(NULL),
|
| - forward_(NULL),
|
| - reload_(NULL),
|
| - location_bar_(NULL),
|
| - web_view_(NULL),
|
| - bubble_model_delegate_(new StubBubbleModelDelegate) {
|
| - command_updater_.reset(new CommandUpdater(this));
|
| - command_updater_->UpdateCommandEnabled(IDC_BACK, true);
|
| - command_updater_->UpdateCommandEnabled(IDC_FORWARD, true);
|
| - command_updater_->UpdateCommandEnabled(IDC_STOP, true);
|
| - command_updater_->UpdateCommandEnabled(IDC_RELOAD, true);
|
| - command_updater_->UpdateCommandEnabled(IDC_RELOAD_IGNORING_CACHE, true);
|
| - command_updater_->UpdateCommandEnabled(IDC_RELOAD_CLEARING_CACHE, true);
|
| -}
|
| -
|
| -SimpleWebViewDialog::~SimpleWebViewDialog() {
|
| - if (web_view_ && web_view_->web_contents())
|
| - web_view_->web_contents()->SetDelegate(NULL);
|
| -}
|
| -
|
| -void SimpleWebViewDialog::StartLoad(const GURL& url) {
|
| - if (!web_view_container_.get())
|
| - web_view_container_.reset(new views::WebView(profile_));
|
| - web_view_ = web_view_container_.get();
|
| - web_view_->set_owned_by_client();
|
| - web_view_->GetWebContents()->SetDelegate(this);
|
| - web_view_->LoadInitialURL(url);
|
| -
|
| - WebContents* web_contents = web_view_->GetWebContents();
|
| - DCHECK(web_contents);
|
| -
|
| - // Create the password manager that is needed for the proxy.
|
| - ChromePasswordManagerClient::CreateForWebContentsWithAutofillManagerDelegate(
|
| - web_contents,
|
| - autofill::TabAutofillManagerDelegate::FromWebContents(web_contents));
|
| -}
|
| -
|
| -void SimpleWebViewDialog::Init() {
|
| - toolbar_model_.reset(new ToolbarModelImpl(this));
|
| -
|
| - set_background(views::Background::CreateSolidBackground(kDialogColor));
|
| -
|
| - // Back/Forward buttons.
|
| - back_ = new views::ImageButton(this);
|
| - back_->set_triggerable_event_flags(ui::EF_LEFT_MOUSE_BUTTON |
|
| - ui::EF_MIDDLE_MOUSE_BUTTON);
|
| - back_->set_tag(IDC_BACK);
|
| - back_->SetImageAlignment(views::ImageButton::ALIGN_RIGHT,
|
| - views::ImageButton::ALIGN_TOP);
|
| - back_->SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_BACK));
|
| - back_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_BACK));
|
| - back_->set_id(VIEW_ID_BACK_BUTTON);
|
| -
|
| - forward_ = new views::ImageButton(this);
|
| - forward_->set_triggerable_event_flags(ui::EF_LEFT_MOUSE_BUTTON |
|
| - ui::EF_MIDDLE_MOUSE_BUTTON);
|
| - forward_->set_tag(IDC_FORWARD);
|
| - forward_->SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_FORWARD));
|
| - forward_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_FORWARD));
|
| - forward_->set_id(VIEW_ID_FORWARD_BUTTON);
|
| -
|
| - // Location bar.
|
| - location_bar_ = new LocationBarView(NULL, profile_, command_updater_.get(),
|
| - this, true);
|
| -
|
| - // Reload button.
|
| - reload_ = new ReloadButton(command_updater_.get());
|
| - reload_->set_triggerable_event_flags(ui::EF_LEFT_MOUSE_BUTTON |
|
| - ui::EF_MIDDLE_MOUSE_BUTTON);
|
| - reload_->set_tag(IDC_RELOAD);
|
| - reload_->SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_RELOAD));
|
| - reload_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_RELOAD));
|
| - reload_->set_id(VIEW_ID_RELOAD_BUTTON);
|
| -
|
| - // Use separate view to setup custom background.
|
| - ToolbarRowView* toolbar_row = new ToolbarRowView;
|
| - toolbar_row->Init(back_, forward_, reload_, location_bar_);
|
| -
|
| - // Layout.
|
| - GridLayout* layout = new GridLayout(this);
|
| - SetLayoutManager(layout);
|
| -
|
| - views::ColumnSet* column_set = layout->AddColumnSet(0);
|
| - column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1,
|
| - GridLayout::FIXED, 0, 0);
|
| -
|
| - column_set = layout->AddColumnSet(1);
|
| - column_set->AddPaddingColumn(0, kInnerMargin);
|
| - column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1,
|
| - GridLayout::FIXED, 0, 0);
|
| - column_set->AddPaddingColumn(0, kInnerMargin);
|
| -
|
| - // Setup layout rows.
|
| - layout->StartRow(0, 0);
|
| - layout->AddView(toolbar_row);
|
| -
|
| - layout->AddPaddingRow(0, kInnerMargin);
|
| -
|
| - layout->StartRow(1, 1);
|
| - layout->AddView(web_view_container_.get());
|
| - layout->AddPaddingRow(0, kInnerMargin);
|
| -
|
| - LoadImages();
|
| -
|
| - location_bar_->Init();
|
| - UpdateReload(web_view_->web_contents()->IsLoading(), true);
|
| -
|
| - gfx::Rect bounds(CalculateScreenBounds(gfx::Size()));
|
| - bounds.Inset(kExternalMargin, kExternalMargin);
|
| - layout->set_minimum_size(bounds.size());
|
| -
|
| - Layout();
|
| -}
|
| -
|
| -void SimpleWebViewDialog::Layout() {
|
| - views::WidgetDelegateView::Layout();
|
| -}
|
| -
|
| -views::View* SimpleWebViewDialog::GetContentsView() {
|
| - return this;
|
| -}
|
| -
|
| -views::View* SimpleWebViewDialog::GetInitiallyFocusedView() {
|
| - return web_view_;
|
| -}
|
| -
|
| -void SimpleWebViewDialog::ButtonPressed(views::Button* sender,
|
| - const ui::Event& event) {
|
| - command_updater_->ExecuteCommand(sender->tag());
|
| -}
|
| -
|
| -content::WebContents* SimpleWebViewDialog::OpenURL(
|
| - const content::OpenURLParams& params) {
|
| - // As there are no Browsers right now, this could not actually ever work.
|
| - NOTIMPLEMENTED();
|
| - return NULL;
|
| -}
|
| -
|
| -void SimpleWebViewDialog::NavigationStateChanged(
|
| - const WebContents* source, unsigned changed_flags) {
|
| - if (location_bar_) {
|
| - location_bar_->Update(NULL);
|
| - UpdateButtons();
|
| - }
|
| -}
|
| -
|
| -void SimpleWebViewDialog::LoadingStateChanged(WebContents* source,
|
| - bool to_different_document) {
|
| - bool is_loading = source->IsLoading();
|
| - UpdateReload(is_loading && to_different_document, false);
|
| - command_updater_->UpdateCommandEnabled(IDC_STOP, is_loading);
|
| -}
|
| -
|
| -WebContents* SimpleWebViewDialog::GetWebContents() {
|
| - return NULL;
|
| -}
|
| -
|
| -ToolbarModel* SimpleWebViewDialog::GetToolbarModel() {
|
| - return toolbar_model_.get();
|
| -}
|
| -
|
| -const ToolbarModel* SimpleWebViewDialog::GetToolbarModel() const {
|
| - return toolbar_model_.get();
|
| -}
|
| -
|
| -InstantController* SimpleWebViewDialog::GetInstant() {
|
| - return NULL;
|
| -}
|
| -
|
| -views::Widget* SimpleWebViewDialog::CreateViewsBubble(
|
| - views::BubbleDelegateView* bubble_delegate) {
|
| - return views::BubbleDelegateView::CreateBubble(bubble_delegate);
|
| -}
|
| -
|
| -ContentSettingBubbleModelDelegate*
|
| -SimpleWebViewDialog::GetContentSettingBubbleModelDelegate() {
|
| - return bubble_model_delegate_.get();
|
| -}
|
| -
|
| -void SimpleWebViewDialog::ShowWebsiteSettings(
|
| - content::WebContents* web_contents,
|
| - const GURL& url,
|
| - const content::SSLStatus& ssl) {
|
| - NOTIMPLEMENTED();
|
| - // TODO (ygorshenin@,markusheintz@): implement this
|
| -}
|
| -
|
| -PageActionImageView* SimpleWebViewDialog::CreatePageActionImageView(
|
| - LocationBarView* owner,
|
| - ExtensionAction* action) {
|
| - // Notreached because SimpleWebViewDialog uses a popup-mode LocationBarView,
|
| - // and it doesn't create PageActionImageViews.
|
| - NOTREACHED();
|
| - return NULL;
|
| -}
|
| -
|
| -content::WebContents* SimpleWebViewDialog::GetActiveWebContents() const {
|
| - return web_view_->web_contents();
|
| -}
|
| -
|
| -bool SimpleWebViewDialog::InTabbedBrowser() const {
|
| - return false;
|
| -}
|
| -
|
| -void SimpleWebViewDialog::ExecuteCommandWithDisposition(
|
| - int id,
|
| - WindowOpenDisposition) {
|
| - WebContents* web_contents = web_view_->web_contents();
|
| - switch (id) {
|
| - case IDC_BACK:
|
| - if (web_contents->GetController().CanGoBack()) {
|
| - location_bar_->Revert();
|
| - web_contents->GetController().GoBack();
|
| - }
|
| - break;
|
| - case IDC_FORWARD:
|
| - if (web_contents->GetController().CanGoForward()) {
|
| - location_bar_->Revert();
|
| - web_contents->GetController().GoForward();
|
| - }
|
| - break;
|
| - case IDC_STOP:
|
| - web_contents->Stop();
|
| - break;
|
| - case IDC_RELOAD:
|
| - // Always reload ignoring cache.
|
| - case IDC_RELOAD_IGNORING_CACHE:
|
| - case IDC_RELOAD_CLEARING_CACHE:
|
| - location_bar_->Revert();
|
| - web_contents->GetController().ReloadIgnoringCache(true);
|
| - break;
|
| - default:
|
| - NOTREACHED();
|
| - }
|
| -}
|
| -
|
| -void SimpleWebViewDialog::LoadImages() {
|
| - ui::ThemeProvider* tp = GetThemeProvider();
|
| -
|
| - back_->SetImage(views::CustomButton::STATE_NORMAL,
|
| - tp->GetImageSkiaNamed(IDR_BACK));
|
| - back_->SetImage(views::CustomButton::STATE_HOVERED,
|
| - tp->GetImageSkiaNamed(IDR_BACK_H));
|
| - back_->SetImage(views::CustomButton::STATE_PRESSED,
|
| - tp->GetImageSkiaNamed(IDR_BACK_P));
|
| - back_->SetImage(views::CustomButton::STATE_DISABLED,
|
| - tp->GetImageSkiaNamed(IDR_BACK_D));
|
| -
|
| - forward_->SetImage(views::CustomButton::STATE_NORMAL,
|
| - tp->GetImageSkiaNamed(IDR_FORWARD));
|
| - forward_->SetImage(views::CustomButton::STATE_HOVERED,
|
| - tp->GetImageSkiaNamed(IDR_FORWARD_H));
|
| - forward_->SetImage(views::CustomButton::STATE_PRESSED,
|
| - tp->GetImageSkiaNamed(IDR_FORWARD_P));
|
| - forward_->SetImage(views::CustomButton::STATE_DISABLED,
|
| - tp->GetImageSkiaNamed(IDR_FORWARD_D));
|
| -
|
| - reload_->LoadImages();
|
| -}
|
| -
|
| -void SimpleWebViewDialog::UpdateButtons() {
|
| - const content::NavigationController& navigation_controller =
|
| - web_view_->web_contents()->GetController();
|
| - back_->SetEnabled(navigation_controller.CanGoBack());
|
| - forward_->SetEnabled(navigation_controller.CanGoForward());
|
| -}
|
| -
|
| -void SimpleWebViewDialog::UpdateReload(bool is_loading, bool force) {
|
| - if (reload_) {
|
| - reload_->ChangeMode(
|
| - is_loading ? ReloadButton::MODE_STOP : ReloadButton::MODE_RELOAD,
|
| - force);
|
| - }
|
| -}
|
| -
|
| -} // namespace chromeos
|
|
|