diff options
author | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-20 09:24:17 +0000 |
---|---|---|
committer | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-20 09:24:17 +0000 |
commit | 2bdb36465f7fde5c0cfc146aa1910a874facd63c (patch) | |
tree | 626dff5de925d0e86cf84486d1e53dceeabe1c38 | |
parent | f9f140e71d514092f8de1c17c549e2c1a78d401c (diff) | |
download | chromium_src-2bdb36465f7fde5c0cfc146aa1910a874facd63c.zip chromium_src-2bdb36465f7fde5c0cfc146aa1910a874facd63c.tar.gz chromium_src-2bdb36465f7fde5c0cfc146aa1910a874facd63c.tar.bz2 |
[cros] Cleanup - remove registration/html/web_page screens (not used)
* Also: message_bubble, rounded_rect_painter, constants
BUG=124218
TEST=Compiles, tests pass
Review URL: https://codereview.chromium.org/12302012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183439 0039d316-1c4b-4281-b951-d872f2087c98
36 files changed, 6 insertions, 2017 deletions
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd index 5450283..f06a0db 100644 --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd @@ -269,7 +269,6 @@ <include name="IDR_GAIA_AUTH_MANIFEST" file="resources\gaia_auth\manifest.json" type="BINDATA" /> <include name="IDR_GAIA_TEST_AUTH_MANIFEST" file="resources\gaia_auth\manifest_test.json" type="BINDATA" /> <include name="IDR_GUEST_SESSION_TAB_HTML" file="resources\chromeos\guest_session_tab.html" flattenhtml="true" type="BINDATA" /> - <include name="IDR_HOST_REGISTRATION_PAGE_HTML" file="resources\chromeos\host_registration_page.html" flattenhtml="true" type="BINDATA" /> <include name="IDR_IMAGEBURNER_HTML" file="resources\chromeos\image_burner.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" /> <include name="IDR_IMAGEBURNER_JS" file="resources\chromeos\image_burner.js" type="BINDATA" /> <include name="IDR_KEYBOARD_OVERLAY_CSS" file="resources\chromeos\keyboard_overlay.css" flattenhtml="true" type="BINDATA" /> diff --git a/chrome/browser/chromeos/login/helper.cc b/chrome/browser/chromeos/login/helper.cc index ffb3c21..7e2df25 100644 --- a/chrome/browser/chromeos/login/helper.cc +++ b/chrome/browser/chromeos/login/helper.cc @@ -5,59 +5,25 @@ #include "chrome/browser/chromeos/login/helper.h" #include "ash/shell.h" -#include "base/command_line.h" -#include "base/file_util.h" #include "base/utf_string_conversions.h" #include "chrome/browser/chromeos/net/connectivity_state_helper.h" -#include "chrome/browser/google/google_util.h" -#include "googleurl/src/gurl.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" #include "third_party/cros_system_api/dbus/service_constants.h" #include "ui/base/l10n/l10n_util.h" -#include "ui/base/layout.h" #include "ui/base/resource/resource_bundle.h" -#include "ui/base/ui_base_switches.h" #include "ui/gfx/screen.h" -#include "ui/views/controls/button/menu_button.h" -#include "ui/views/controls/label.h" #include "ui/views/controls/textfield/textfield.h" -#include "ui/views/controls/throbber.h" namespace chromeos { namespace { -// Time in ms per throbber frame. -const int kThrobberFrameMs = 60; - -// Time in ms before smoothed throbber is shown. -const int kThrobberStartDelayMs = 500; - -const SkColor kBackgroundCenterColor = SkColorSetRGB(41, 50, 67); -const SkColor kBackgroundEdgeColor = SK_ColorBLACK; - -const char kAccountRecoveryHelpUrl[] = - "https://www.google.com/support/accounts/bin/answer.py?answer=48598"; +// Font size correction in pixels for login/oobe controls. +const int kFontSizeCorrectionDelta = 2; } // namespace -views::SmoothedThrobber* CreateDefaultSmoothedThrobber() { - views::SmoothedThrobber* throbber = - new views::SmoothedThrobber(kThrobberFrameMs); - throbber->SetFrames( - ResourceBundle::GetSharedInstance().GetImageSkiaNamed(IDR_SPINNER)); - throbber->set_start_delay_ms(kThrobberStartDelayMs); - return throbber; -} - -views::Throbber* CreateDefaultThrobber() { - views::Throbber* throbber = new views::Throbber(kThrobberFrameMs, false); - throbber->SetFrames( - ResourceBundle::GetSharedInstance().GetImageSkiaNamed(IDR_SPINNER)); - return throbber; -} - gfx::Rect CalculateScreenBounds(const gfx::Size& size) { gfx::Rect bounds(ash::Shell::GetScreen()->GetPrimaryDisplay().bounds()); if (!size.IsEmpty()) { @@ -68,20 +34,11 @@ gfx::Rect CalculateScreenBounds(const gfx::Size& size) { return bounds; } -void CorrectLabelFontSize(views::Label* label) { - if (label) - label->SetFont(label->font().DeriveFont(kFontSizeCorrectionDelta)); -} - void CorrectTextfieldFontSize(views::Textfield* textfield) { if (textfield) textfield->SetFont(textfield->font().DeriveFont(kFontSizeCorrectionDelta)); } -GURL GetAccountRecoveryHelpUrl() { - return google_util::AppendGoogleLocaleParam(GURL(kAccountRecoveryHelpUrl)); -} - string16 GetCurrentNetworkName() { ConnectivityStateHelper* csh = ConnectivityStateHelper::Get(); diff --git a/chrome/browser/chromeos/login/helper.h b/chrome/browser/chromeos/login/helper.h index ce243dd..b21cc74 100644 --- a/chrome/browser/chromeos/login/helper.h +++ b/chrome/browser/chromeos/login/helper.h @@ -20,34 +20,19 @@ class Size; } // namespace gfx namespace views { -class Label; -class SmoothedThrobber; class Textfield; -class Throbber; } // namespace views namespace chromeos { -// Creates default smoothed throbber for time consuming operations on login. -views::SmoothedThrobber* CreateDefaultSmoothedThrobber(); - -// Creates default throbber. -views::Throbber* CreateDefaultThrobber(); - // Returns bounds of the screen to use for login wizard. // The rect is centered within the default monitor and sized accordingly if // |size| is not empty. Otherwise the whole monitor is occupied. gfx::Rect CalculateScreenBounds(const gfx::Size& size); -// Corrects font size for Label control. -void CorrectLabelFontSize(views::Label* label); - // Corrects font size for Textfield control. void CorrectTextfieldFontSize(views::Textfield* textfield); -// Returns URL used for account recovery. -GURL GetAccountRecoveryHelpUrl(); - // Returns name of the currently connected network. // If there are no connected networks, returns name of the network // that is in the "connecting" state. Otherwise empty string is returned. @@ -66,27 +51,8 @@ namespace login { // displayed under all possible DPI values. const int kMaxUserImageSize = 512; -// Default link color on login/OOBE controls. -const SkColor kLinkColor = 0xFF0066CC; - -// Default size of the OOBE screen. Includes 10px shadow from each side. -// See rounded_rect_painter.cc for border definitions. -const int kWizardScreenWidth = 800; -const int kWizardScreenHeight = 450; - -const int kScreenCornerRadius = 10; -const int kUserCornerRadius = 6; - } // namespace login -// Font size correction in pixels for login/oobe controls. -const int kFontSizeCorrectionDelta = 2; -const int kNetworkSelectionLabelFontDelta = 1; -const int kSelectedUsernameFontDelta = 1; -const int kUnselectedUsernameFontDelta = 2; -const int kWelcomeTitleFontDelta = 9; -const int kLoginTitleFontDelta = 4; - } // namespace chromeos #endif // CHROME_BROWSER_CHROMEOS_LOGIN_HELPER_H_ diff --git a/chrome/browser/chromeos/login/html_page_screen.cc b/chrome/browser/chromeos/login/html_page_screen.cc deleted file mode 100644 index aa7858e5..0000000 --- a/chrome/browser/chromeos/login/html_page_screen.cc +++ /dev/null @@ -1,89 +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/html_page_screen.h" - -#include "base/string_util.h" -#include "base/utf_string_conversions.h" -#include "chrome/browser/chromeos/login/screen_observer.h" -#include "chrome/browser/chromeos/login/wizard_controller.h" -#include "chrome/browser/profiles/profile_manager.h" -#include "content/public/browser/render_view_host.h" -#include "content/public/browser/site_instance.h" -#include "googleurl/src/gurl.h" - -using content::NativeWebKeyboardEvent; -using content::SiteInstance; -using content::WebContents; - -namespace chromeos { - -/////////////////////////////////////////////////////////////////////////////// -// HTMLPageView -HTMLPageView::HTMLPageView(content::BrowserContext* browser_context) - : dom_view_(new WebPageDomView(browser_context)) { -} - -WebPageDomView* HTMLPageView::dom_view() { - return dom_view_; -} - -/////////////////////////////////////////////////////////////////////////////// -// HTMLPageScreen, public: -HTMLPageScreen::HTMLPageScreen(ViewScreenDelegate* delegate, - const std::string& url) - : ViewScreen<HTMLPageView>(delegate), url_(url) { -} - -HTMLPageScreen::~HTMLPageScreen() {} - -/////////////////////////////////////////////////////////////////////////////// -// HTMLPageScreen, WizardScreen implementation: -std::string HTMLPageScreen::GetName() const { - return WizardController::kHTMLPageScreenName; -} - -/////////////////////////////////////////////////////////////////////////////// -// HTMLPageScreen, ViewScreen implementation: -void HTMLPageScreen::CreateView() { - ViewScreen<HTMLPageView>::CreateView(); -} - -void HTMLPageScreen::Refresh() { - VLOG(1) << "HTMLPageScreen::Refresh(): " << url_; - StartTimeoutTimer(); - GURL url(url_); - Profile* profile = ProfileManager::GetDefaultProfile(); - view()->InitWebView(SiteInstance::CreateForURL(profile, url)); - view()->SetWebContentsDelegate(this); - view()->LoadURL(url); -} - -HTMLPageView* HTMLPageScreen::AllocateView() { - return new HTMLPageView(ProfileManager::GetDefaultProfile()); -} - -void HTMLPageScreen::HandleKeyboardEvent(content::WebContents* source, - const NativeWebKeyboardEvent& event) { - unhandled_keyboard_handler_.HandleKeyboardEvent(event, - view()->GetFocusManager()); -} - -/////////////////////////////////////////////////////////////////////////////// -// HTMLPageScreen, WebPageScreen implementation: -void HTMLPageScreen::OnNetworkTimeout() { - VLOG(1) << "HTMLPageScreen::OnNetworkTimeout"; - // Just show what we have now. We shouldn't exit from the screen on timeout. - StopTimeoutTimer(); - view()->ShowPageContent(); -} - -/////////////////////////////////////////////////////////////////////////////// -// HTMLPageScreen, private: -void HTMLPageScreen::CloseScreen(ScreenObserver::ExitCodes code) { - StopTimeoutTimer(); - delegate()->GetObserver()->OnExit(code); -} - -} // namespace chromeos diff --git a/chrome/browser/chromeos/login/html_page_screen.h b/chrome/browser/chromeos/login/html_page_screen.h deleted file mode 100644 index fae83f5..0000000 --- a/chrome/browser/chromeos/login/html_page_screen.h +++ /dev/null @@ -1,73 +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. - -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_HTML_PAGE_SCREEN_H_ -#define CHROME_BROWSER_CHROMEOS_LOGIN_HTML_PAGE_SCREEN_H_ - -#include <string> - -#include "base/compiler_specific.h" -#include "chrome/browser/chromeos/login/screen_observer.h" -#include "chrome/browser/chromeos/login/view_screen.h" -#include "chrome/browser/chromeos/login/web_page_screen.h" -#include "chrome/browser/chromeos/login/web_page_view.h" -#include "chrome/browser/ui/views/unhandled_keyboard_event_handler.h" - -namespace chromeos { - -class ViewScreenDelegate; - -class HTMLPageView : public WebPageView { - public: - explicit HTMLPageView(content::BrowserContext* browser_context); - - protected: - virtual WebPageDomView* dom_view() OVERRIDE; - - private: - // View that renders page. - WebPageDomView* dom_view_; - - DISALLOW_COPY_AND_ASSIGN(HTMLPageView); -}; - -// HTMLPageScreen is used to show arbitrary HTML page. It is used to show -// simple screens like recover. -class HTMLPageScreen : public ViewScreen<HTMLPageView>, - public WebPageScreen { - public: - HTMLPageScreen(ViewScreenDelegate* delegate, const std::string& url); - virtual ~HTMLPageScreen(); - - // WizardScreen overrides: - virtual std::string GetName() const OVERRIDE; - - protected: - // Overrides WebPageScreen: - virtual void OnNetworkTimeout() OVERRIDE; - - private: - // ViewScreen implementation: - virtual void CreateView() OVERRIDE; - virtual void Refresh() OVERRIDE; - virtual HTMLPageView* AllocateView() OVERRIDE; - - virtual void HandleKeyboardEvent( - content::WebContents* source, - const content::NativeWebKeyboardEvent& event) OVERRIDE; - - // WebPageScreen implementation: - virtual void CloseScreen(ScreenObserver::ExitCodes code) OVERRIDE; - - // URL to navigate. - std::string url_; - - UnhandledKeyboardEventHandler unhandled_keyboard_handler_; - - DISALLOW_COPY_AND_ASSIGN(HTMLPageScreen); -}; - -} // namespace chromeos - -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_HTML_PAGE_SCREEN_H_ diff --git a/chrome/browser/chromeos/login/message_bubble.cc b/chrome/browser/chromeos/login/message_bubble.cc deleted file mode 100644 index cd1abca..0000000 --- a/chrome/browser/chromeos/login/message_bubble.cc +++ /dev/null @@ -1,122 +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/message_bubble.h" - -#include <vector> - -#include "base/logging.h" -#include "chrome/browser/chromeos/login/helper.h" -#include "grit/generated_resources.h" -#include "grit/ui_resources.h" -#include "ui/base/resource/resource_bundle.h" -#include "ui/views/controls/button/image_button.h" -#include "ui/views/controls/image_view.h" -#include "ui/views/controls/label.h" -#include "ui/views/controls/link.h" -#include "ui/views/layout/grid_layout.h" -#include "ui/views/widget/widget.h" - -namespace { - -const int kBorderSize = 4; -const int kMaxLabelWidth = 250; - -} // namespace - -namespace chromeos { - -MessageBubble::MessageBubble(views::View* anchor_view, - views::BubbleBorder::ArrowLocation arrow_location, - gfx::ImageSkia* image, - const string16& text, - const std::vector<string16>& links) - : BubbleDelegateView(anchor_view, arrow_location), - image_(image), - text_(text), - close_button_(NULL), - link_listener_(NULL) { - set_use_focusless(true); - for (size_t i = 0; i < links.size(); ++i) - help_links_.push_back(new views::Link(links[i])); -} - -MessageBubble::~MessageBubble() { -} - -void MessageBubble::Init() { - using views::GridLayout; - - GridLayout* layout = new GridLayout(this); - SetLayoutManager(layout); - views::ColumnSet* column_set = layout->AddColumnSet(0); - column_set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0, - GridLayout::USE_PREF, 0, 0); - column_set->AddPaddingColumn(0, kBorderSize); - column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, - GridLayout::USE_PREF, 0, 0); - column_set->AddPaddingColumn(0, kBorderSize); - column_set->AddColumn(GridLayout::TRAILING, GridLayout::LEADING, 0, - GridLayout::USE_PREF, 0, 0); - if (!help_links_.empty()) { - column_set = layout->AddColumnSet(1); - column_set->AddPaddingColumn(0, kBorderSize + image_->width()); - column_set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 1, - GridLayout::USE_PREF, 0, 0); - } - - ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - - layout->StartRow(0, 0); - views::ImageView* icon = new views::ImageView(); - icon->SetImage(*image_); - layout->AddView(icon); - - views::Label* label = new views::Label(text_); - label->SetMultiLine(true); - label->SetHorizontalAlignment(gfx::ALIGN_LEFT); - label->SizeToFit(kMaxLabelWidth); - layout->AddView(label); - - close_button_ = new views::ImageButton(this); - close_button_->SetImage(views::CustomButton::STATE_NORMAL, - rb.GetImageSkiaNamed(IDR_CLOSE_BAR)); - close_button_->SetImage(views::CustomButton::STATE_HOVERED, - rb.GetImageSkiaNamed(IDR_CLOSE_BAR_H)); - close_button_->SetImage(views::CustomButton::STATE_PRESSED, - rb.GetImageSkiaNamed(IDR_CLOSE_BAR_P)); - layout->AddView(close_button_); - - for (size_t i = 0; i < help_links_.size(); ++i) { - layout->StartRowWithPadding(0, 1, 0, kBorderSize); - views::Link* help_link = help_links_[i]; - help_link->set_listener(this); - help_link->SetEnabledColor(login::kLinkColor); - help_link->SetPressedColor(login::kLinkColor); - layout->AddView(help_link); - } -} - -void MessageBubble::ButtonPressed(views::Button* sender, - const ui::Event& event) { - if (sender == close_button_) { - GetWidget()->Close(); - } else { - NOTREACHED() << "Unknown view"; - } -} - -void MessageBubble::LinkClicked(views::Link* source, int event_flags) { - if (!link_listener_) - return; - for (size_t i = 0; i < help_links_.size(); ++i) { - if (source == help_links_[i]) { - link_listener_->OnLinkActivated(i); - return; - } - } - NOTREACHED() << "Unknown view"; -} - -} // namespace chromeos diff --git a/chrome/browser/chromeos/login/message_bubble.h b/chrome/browser/chromeos/login/message_bubble.h deleted file mode 100644 index 52835d74..0000000 --- a/chrome/browser/chromeos/login/message_bubble.h +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright (c) 2011 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. - -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_MESSAGE_BUBBLE_H_ -#define CHROME_BROWSER_CHROMEOS_LOGIN_MESSAGE_BUBBLE_H_ - -#include <vector> - -#include "base/basictypes.h" -#include "base/compiler_specific.h" -#include "ui/views/bubble/bubble_delegate.h" -#include "ui/views/controls/button/button.h" -#include "ui/views/controls/link_listener.h" -#include "ui/views/view.h" - -namespace gfx { -class ImageSkia; -} - -namespace views { -class ImageButton; -} - -namespace chromeos { - -class MessageBubbleLinkListener { - public: - // Called when the user clicks on help link. - // |index| identifies which link was clicked in case there's more than one. - virtual void OnLinkActivated(size_t index) = 0; -}; - -// MessageBubble is used to show error and info messages on OOBE screens. -class MessageBubble : public views::BubbleDelegateView, - public views::ButtonListener, - public views::LinkListener { - public: - MessageBubble(views::View* anchor_view, - views::BubbleBorder::ArrowLocation arrow_location, - gfx::ImageSkia* image, - const string16& text, - const std::vector<string16>& links); - - virtual ~MessageBubble(); - - void set_link_listener(MessageBubbleLinkListener* link_listener) { - link_listener_ = link_listener; - } - - protected: - - // Overridden from views::BubbleDelegateView: - virtual void Init() OVERRIDE; - - // Overridden from views::ButtonListener: - virtual void ButtonPressed(views::Button* sender, - const ui::Event& event) OVERRIDE; - - // Overridden from views::LinkListener: - virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE; - - private: - gfx::ImageSkia* image_; - string16 text_; - views::ImageButton* close_button_; - std::vector<views::Link*> help_links_; - MessageBubbleLinkListener* link_listener_; - - DISALLOW_COPY_AND_ASSIGN(MessageBubble); -}; - -} // namespace chromeos - -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_MESSAGE_BUBBLE_H_ diff --git a/chrome/browser/chromeos/login/network_screen.h b/chrome/browser/chromeos/login/network_screen.h index ea6c273..30d61d8 100644 --- a/chrome/browser/chromeos/login/network_screen.h +++ b/chrome/browser/chromeos/login/network_screen.h @@ -11,7 +11,6 @@ #include "base/timer.h" #include "chrome/browser/chromeos/cros/network_library.h" #include "chrome/browser/chromeos/login/language_switch_menu.h" -#include "chrome/browser/chromeos/login/message_bubble.h" #include "chrome/browser/chromeos/login/network_screen_actor.h" #include "chrome/browser/chromeos/login/wizard_screen.h" diff --git a/chrome/browser/chromeos/login/network_screen_browsertest.cc b/chrome/browser/chromeos/login/network_screen_browsertest.cc index 97ef228..f164489 100644 --- a/chrome/browser/chromeos/login/network_screen_browsertest.cc +++ b/chrome/browser/chromeos/login/network_screen_browsertest.cc @@ -8,7 +8,6 @@ #include "chrome/browser/chromeos/cros/network_library.h" #include "chrome/browser/chromeos/login/mock_screen_observer.h" #include "chrome/browser/chromeos/login/network_screen.h" -#include "chrome/browser/chromeos/login/view_screen.h" #include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h" #include "chrome/browser/chromeos/login/wizard_screen.h" diff --git a/chrome/browser/chromeos/login/oobe_display.h b/chrome/browser/chromeos/login/oobe_display.h index 2cc3835..02345c9 100644 --- a/chrome/browser/chromeos/login/oobe_display.h +++ b/chrome/browser/chromeos/login/oobe_display.h @@ -47,7 +47,6 @@ class OobeDisplay { virtual UserImageScreenActor* GetUserImageScreenActor() = 0; // TODO(altimofeev): use real actors instead. virtual ViewScreenDelegate* GetRegistrationScreenActor() = 0; - virtual ViewScreenDelegate* GetHTMLPageScreenActor() = 0; virtual WrongHWIDScreenActor* GetWrongHWIDScreenActor() = 0; }; diff --git a/chrome/browser/chromeos/login/password_changed_view.cc b/chrome/browser/chromeos/login/password_changed_view.cc index 83ea702..d0c1f7f 100644 --- a/chrome/browser/chromeos/login/password_changed_view.cc +++ b/chrome/browser/chromeos/login/password_changed_view.cc @@ -5,7 +5,6 @@ #include "chrome/browser/chromeos/login/password_changed_view.h" #include "base/utf_string_conversions.h" -#include "chrome/browser/chromeos/login/rounded_rect_painter.h" #include "chrome/browser/chromeos/login/textfield_with_margin.h" #include "grit/generated_resources.h" #include "grit/locale_settings.h" diff --git a/chrome/browser/chromeos/login/registration_screen.cc b/chrome/browser/chromeos/login/registration_screen.cc deleted file mode 100644 index c57851f..0000000 --- a/chrome/browser/chromeos/login/registration_screen.cc +++ /dev/null @@ -1,150 +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/registration_screen.h" - -#include "base/logging.h" -#include "base/string_util.h" -#include "chrome/browser/browser_process.h" -#include "chrome/browser/chromeos/input_method/input_method_configuration.h" -#include "chrome/browser/chromeos/input_method/input_method_manager.h" -#include "chrome/browser/chromeos/input_method/input_method_util.h" -#include "chrome/browser/chromeos/login/wizard_controller.h" -#include "chrome/browser/profiles/profile_manager.h" -#include "chrome/common/url_constants.h" -#include "content/public/browser/child_process_security_policy.h" -#include "content/public/browser/render_view_host.h" -#include "content/public/browser/site_instance.h" -#include "content/public/browser/web_contents.h" -#include "googleurl/src/gurl.h" -#include "net/url_request/url_request_about_job.h" -#include "net/url_request/url_request_filter.h" - -using content::ChildProcessSecurityPolicy; -using content::NativeWebKeyboardEvent; -using content::OpenURLParams; -using content::SiteInstance; -using content::WebContents; - -namespace chromeos { - -namespace { - -const char kRegistrationHostPageUrl[] = "chrome://register/"; - -// "Hostname" that is used for redirects from host registration page. -const char kRegistrationHostnameUrl[] = "register"; - -// Host page navigates to these URLs in case of success/skipped registration. -const char kRegistrationSuccessUrl[] = "cros://register/success"; -const char kRegistrationSkippedUrl[] = "cros://register/skipped"; - -} // namespace - -/////////////////////////////////////////////////////////////////////////////// -// RegistrationView, protected: - -RegistrationView::RegistrationView(content::BrowserContext* browser_context) - : dom_view_(new WebPageDomView(browser_context)) { -} - - -WebPageDomView* RegistrationView::dom_view() { - return dom_view_; -} - -/////////////////////////////////////////////////////////////////////////////// -// RegistrationScreen, public: -RegistrationScreen::RegistrationScreen(ViewScreenDelegate* delegate) - : ViewScreen<RegistrationView>(delegate) { - ChildProcessSecurityPolicy::GetInstance()->RegisterWebSafeScheme( - chrome::kCrosScheme); - net::URLRequestFilter::GetInstance()->AddHostnameHandler( - chrome::kCrosScheme, - kRegistrationHostnameUrl, - &RegistrationScreen::Factory); -} - -RegistrationScreen::~RegistrationScreen() { -} - -/////////////////////////////////////////////////////////////////////////////// -// RegistrationScreen, WizardScreen implementation: -std::string RegistrationScreen::GetName() const { - return WizardController::kRegistrationScreenName; -} - -/////////////////////////////////////////////////////////////////////////////// -// RegistrationScreen, ViewScreen implementation: -void RegistrationScreen::CreateView() { - ViewScreen<RegistrationView>::CreateView(); -} - -void RegistrationScreen::Refresh() { - StartTimeoutTimer(); - GURL url(kRegistrationHostPageUrl); - Profile* profile = ProfileManager::GetDefaultProfile(); - view()->InitWebView(SiteInstance::CreateForURL(profile, url)); - view()->SetWebContentsDelegate(this); - view()->LoadURL(url); -} - -RegistrationView* RegistrationScreen::AllocateView() { - return new RegistrationView(ProfileManager::GetDefaultProfile()); -} - -/////////////////////////////////////////////////////////////////////////////// -// RegistrationScreen, content::WebContentsDelegate implementation: - -WebContents* RegistrationScreen::OpenURLFromTab(WebContents* source, - const OpenURLParams& params) { - if (params.url.spec() == kRegistrationSuccessUrl) { - source->Stop(); - VLOG(1) << "Registration form completed."; - CloseScreen(ScreenObserver::REGISTRATION_SUCCESS); - } else if (params.url.spec() == kRegistrationSkippedUrl) { - source->Stop(); - VLOG(1) << "Registration form skipped."; - CloseScreen(ScreenObserver::REGISTRATION_SKIPPED); - } else { - source->Stop(); - // Host registration page and actual registration page hosted by - // OEM partner doesn't contain links to external URLs. - LOG(WARNING) << "Navigate to unsupported url: " << params.url.spec(); - } - return NULL; -} - -void RegistrationScreen::HandleKeyboardEvent( - content::WebContents* source, - const NativeWebKeyboardEvent& event) { - unhandled_keyboard_handler_.HandleKeyboardEvent(event, - view()->GetFocusManager()); -} - -/////////////////////////////////////////////////////////////////////////////// -// RegistrationScreen, private: -void RegistrationScreen::CloseScreen(ScreenObserver::ExitCodes code) { - StopTimeoutTimer(); - // Disable input methods since they are not necessary to input username and - // password. - if (g_browser_process) { - const std::string locale = g_browser_process->GetApplicationLocale(); - input_method::InputMethodManager* manager = - input_method::GetInputMethodManager(); - manager->EnableLayouts(locale, ""); - } - delegate()->GetObserver()->OnExit(code); -} - -// static -net::URLRequestJob* RegistrationScreen::Factory( - net::URLRequest* request, - net::NetworkDelegate* network_delegate, - const std::string& scheme) { - VLOG(1) << "Handling url: " << request->url().spec().c_str(); - return new net::URLRequestAboutJob(request, network_delegate); -} - -} // namespace chromeos diff --git a/chrome/browser/chromeos/login/registration_screen.h b/chrome/browser/chromeos/login/registration_screen.h deleted file mode 100644 index 31bde9b..0000000 --- a/chrome/browser/chromeos/login/registration_screen.h +++ /dev/null @@ -1,89 +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. - -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_REGISTRATION_SCREEN_H_ -#define CHROME_BROWSER_CHROMEOS_LOGIN_REGISTRATION_SCREEN_H_ - -#include <string> - -#include "base/compiler_specific.h" -#include "chrome/browser/chromeos/login/screen_observer.h" -#include "chrome/browser/chromeos/login/view_screen.h" -#include "chrome/browser/chromeos/login/web_page_screen.h" -#include "chrome/browser/chromeos/login/web_page_view.h" -#include "chrome/browser/ui/views/unhandled_keyboard_event_handler.h" - -class GURL; -class Profile; - -namespace net { -class NetworkDelegate; -class URLRequest; -class URLRequestJob; -} // namespace net - -namespace chromeos { - -class ViewScreenDelegate; - -// Class that displays screen contents: page and throbber while waiting. -class RegistrationView : public WebPageView { - public: - explicit RegistrationView(content::BrowserContext* browser_context); - - protected: - virtual WebPageDomView* dom_view() OVERRIDE; - - private: - // View that renders page. - WebPageDomView* dom_view_; - - DISALLOW_COPY_AND_ASSIGN(RegistrationView); -}; - -// RegistrationScreen represents screen that is shown during OOBE. -// It renders host page served from resources that includes iframe with -// registration page specified in the startup customization manifest. -// Partner registration page notifies host page on registration result. -// Host page notifies that back to RegistrationScreen. -class RegistrationScreen : public ViewScreen<RegistrationView>, - public WebPageScreen { - public: - explicit RegistrationScreen(ViewScreenDelegate* delegate); - virtual ~RegistrationScreen(); - - // WizardScreen overrides: - virtual std::string GetName() const OVERRIDE; - - // Handler factory for net::URLRequestFilter::AddHostnameHandler. - static net::URLRequestJob* Factory(net::URLRequest* request, - net::NetworkDelegate* network_delegate, - const std::string& scheme); - - private: - // ViewScreen implementation: - virtual void CreateView() OVERRIDE; - virtual void Refresh() OVERRIDE; - virtual RegistrationView* AllocateView() OVERRIDE; - - // content::WebContentsDelegate implementation: - virtual content::WebContents* OpenURLFromTab( - content::WebContents* source, - const content::OpenURLParams& params) OVERRIDE; - - virtual void HandleKeyboardEvent( - content::WebContents* source, - const content::NativeWebKeyboardEvent& event) OVERRIDE; - - // WebPageScreen implementation: - virtual void CloseScreen(ScreenObserver::ExitCodes code) OVERRIDE; - - UnhandledKeyboardEventHandler unhandled_keyboard_handler_; - - DISALLOW_COPY_AND_ASSIGN(RegistrationScreen); -}; - -} // namespace chromeos - -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_REGISTRATION_SCREEN_H_ diff --git a/chrome/browser/chromeos/login/rounded_rect_painter.cc b/chrome/browser/chromeos/login/rounded_rect_painter.cc deleted file mode 100644 index 61ea230..0000000 --- a/chrome/browser/chromeos/login/rounded_rect_painter.cc +++ /dev/null @@ -1,220 +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/rounded_rect_painter.h" - -#include "base/logging.h" -#include "chrome/browser/chromeos/login/helper.h" -#include "third_party/skia/include/effects/SkBlurMaskFilter.h" -#include "third_party/skia/include/effects/SkGradientShader.h" -#include "ui/gfx/canvas.h" -#include "ui/gfx/skia_util.h" -#include "ui/views/border.h" -#include "ui/views/painter.h" - -namespace chromeos { - -namespace { - -const SkColor kScreenTopColor = SkColorSetRGB(250, 251, 251); -const SkColor kScreenBottomColor = SkColorSetRGB(204, 209, 212); -const SkColor kScreenShadowColor = SkColorSetARGB(64, 34, 54, 115); -const int kScreenShadow = 10; - -void DrawRoundedRect(gfx::Canvas* canvas, - const SkRect& rect, - int corner_radius, - SkColor top_color, - SkColor bottom_color) { - SkPath path; - path.addRoundRect(rect, - SkIntToScalar(corner_radius), SkIntToScalar(corner_radius)); - SkPaint paint; - paint.setStyle(SkPaint::kFill_Style); - paint.setFlags(SkPaint::kAntiAlias_Flag); - if (top_color != bottom_color) { - SkPoint p[2]; - p[0].set(SkIntToScalar(rect.left()), SkIntToScalar(rect.top())); - p[1].set(SkIntToScalar(rect.left()), SkIntToScalar(rect.bottom())); - SkColor colors[2] = { top_color, bottom_color }; - skia::RefPtr<SkShader> s = skia::AdoptRef( - SkGradientShader::CreateLinear( - p, colors, NULL, 2, SkShader::kClamp_TileMode, NULL)); - paint.setShader(s.get()); - } else { - paint.setColor(top_color); - } - - canvas->DrawPath(path, paint); -} - -void DrawRoundedRectShadow(gfx::Canvas* canvas, - const SkRect& rect, - int corner_radius, - int shadow, - SkColor color) { - SkPaint paint; - paint.setFlags(SkPaint::kAntiAlias_Flag); - paint.setStyle(SkPaint::kFill_Style); - paint.setColor(color); - skia::RefPtr<SkMaskFilter> filter = skia::AdoptRef( - SkBlurMaskFilter::Create( - shadow / 2, SkBlurMaskFilter::kNormal_BlurStyle)); - paint.setMaskFilter(filter.get()); - SkRect inset_rect(rect); - inset_rect.inset(SkIntToScalar(shadow / 2), SkIntToScalar(shadow / 2)); - canvas->sk_canvas()->drawRoundRect( - inset_rect, - SkIntToScalar(corner_radius), SkIntToScalar(corner_radius), - paint); - paint.setMaskFilter(NULL); -} - -void DrawRectWithBorder(gfx::Canvas* canvas, - const gfx::Size& size, - const BorderDefinition* const border) { - SkRect rect(gfx::RectToSkRect(gfx::Rect(size))); - if (border->padding > 0) { - SkPaint paint; - paint.setColor(border->padding_color); - canvas->sk_canvas()->drawRect(rect, paint); - rect.inset(SkIntToScalar(border->padding), SkIntToScalar(border->padding)); - } - if (border->shadow > 0) { - DrawRoundedRectShadow(canvas, rect, border->corner_radius, border->shadow, - border->shadow_color); - rect.inset(SkIntToScalar(border->shadow), SkIntToScalar(border->shadow)); - rect.offset(0, SkIntToScalar(-border->shadow / 3)); - } - DrawRoundedRect(canvas, rect, border->corner_radius, border->top_color, - border->bottom_color); -} - -// This Painter can be used to draw a background consistent cross all login -// screens. It draws a rect with padding, shadow and rounded corners. -class RoundedRectPainter : public views::Painter { - public: - explicit RoundedRectPainter(const BorderDefinition* const border) - : border_(border) { - } - - // Overridden from views::Painter: - virtual void Paint(gfx::Canvas* canvas, const gfx::Size& size) OVERRIDE { - DrawRectWithBorder(canvas, size, border_); - } - - private: - const BorderDefinition* const border_; - - DISALLOW_COPY_AND_ASSIGN(RoundedRectPainter); -}; - -// This border can be used to draw shadow and rounded corners across all -// login screens. -class RoundedRectBorder : public views::Border { - public: - explicit RoundedRectBorder(const BorderDefinition* const border) - : border_(border) { - } - - virtual void Paint(const views::View& view, gfx::Canvas* canvas) OVERRIDE; - virtual gfx::Insets GetInsets() const OVERRIDE; - - private: - const BorderDefinition* const border_; - - DISALLOW_COPY_AND_ASSIGN(RoundedRectBorder); -}; - -void RoundedRectBorder::Paint(const views::View& view, gfx::Canvas* canvas) { - // Don't paint anything. RoundedRectBorder is used to provide insets only. -} - -gfx::Insets RoundedRectBorder::GetInsets() const { - int shadow = border_->shadow; - int inset = border_->corner_radius / 2 + border_->padding + shadow; - return gfx::Insets(inset - shadow / 3, inset, inset + shadow / 3, inset); -} - -// Simple solid round background. -class RoundedBackground : public views::Background { - public: - RoundedBackground(int corner_radius, - int stroke_width, - SkColor background_color, - SkColor stroke_color) - : corner_radius_(corner_radius), - stroke_width_(stroke_width), - stroke_color_(stroke_color) { - SetNativeControlColor(background_color); - } - - virtual void Paint(gfx::Canvas* canvas, views::View* view) const OVERRIDE { - SkRect rect; - rect.iset(0, 0, view->width(), view->height()); - SkPath path; - path.addRoundRect(rect, - SkIntToScalar(corner_radius_), - SkIntToScalar(corner_radius_)); - // Draw interior. - SkPaint paint; - paint.setStyle(SkPaint::kFill_Style); - paint.setFlags(SkPaint::kAntiAlias_Flag); - paint.setColor(get_color()); - canvas->DrawPath(path, paint); - // Redraw boundary region with correspoinding color. - paint.setStyle(SkPaint::kStroke_Style); - paint.setStrokeWidth(SkIntToScalar(stroke_width_)); - paint.setColor(stroke_color_); - canvas->DrawPath(path, paint); - } - - private: - int corner_radius_; - int stroke_width_; - SkColor stroke_color_; - - DISALLOW_COPY_AND_ASSIGN(RoundedBackground); -}; - -} // namespace - -// static -const BorderDefinition BorderDefinition::kScreenBorder = { - 0, - SK_ColorBLACK, - kScreenShadow, - kScreenShadowColor, - login::kScreenCornerRadius, - kScreenTopColor, - kScreenBottomColor -}; - -const BorderDefinition BorderDefinition::kUserBorder = { - 0, - SK_ColorBLACK, - 0, - kScreenShadowColor, - login::kUserCornerRadius, - kScreenTopColor, - kScreenBottomColor -}; - -views::Painter* CreateWizardPainter(const BorderDefinition* const border) { - return new RoundedRectPainter(border); -} - -views::Border* CreateWizardBorder(const BorderDefinition* const border) { - return new RoundedRectBorder(border); -} - -views::Background* CreateRoundedBackground(int corner_radius, - int stroke_width, - SkColor background_color, - SkColor stroke_color) { - return new RoundedBackground( - corner_radius, stroke_width, background_color, stroke_color); -} - -} // namespace chromeos diff --git a/chrome/browser/chromeos/login/rounded_rect_painter.h b/chrome/browser/chromeos/login/rounded_rect_painter.h deleted file mode 100644 index d316a79..0000000 --- a/chrome/browser/chromeos/login/rounded_rect_painter.h +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) 2010 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. - -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_ROUNDED_RECT_PAINTER_H_ -#define CHROME_BROWSER_CHROMEOS_LOGIN_ROUNDED_RECT_PAINTER_H_ - -#include "third_party/skia/include/core/SkColor.h" - -namespace views { -class Background; -class Border; -class Painter; -} // namespace views - -namespace chromeos { - -struct BorderDefinition { - int padding; - SkColor padding_color; - int shadow; - SkColor shadow_color; - int corner_radius; - SkColor top_color; - SkColor bottom_color; - - static const BorderDefinition kScreenBorder; - static const BorderDefinition kUserBorder; -}; - -// Creates painter to paint view background with parameters specified. -views::Painter* CreateWizardPainter(const BorderDefinition* const border); -// Creates border to provide insets. Should be used together with WizardPainter -// that actually draws both border and background. -views::Border* CreateWizardBorder(const BorderDefinition* const border); - -// Creates simple round background. -views::Background* CreateRoundedBackground(int corner_radius, - int stroke_width, - SkColor background_color, - SkColor stroke_color); -} // namespace chromeos - -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_ROUNDED_RECT_PAINTER_H_ diff --git a/chrome/browser/chromeos/login/screen_observer.h b/chrome/browser/chromeos/login/screen_observer.h index 06bb3e0..5283348 100644 --- a/chrome/browser/chromeos/login/screen_observer.h +++ b/chrome/browser/chromeos/login/screen_observer.h @@ -30,8 +30,6 @@ class ScreenObserver { USER_IMAGE_SELECTED, EULA_ACCEPTED, EULA_BACK, - REGISTRATION_SUCCESS, - REGISTRATION_SKIPPED, ENTERPRISE_ENROLLMENT_COMPLETED, ENTERPRISE_AUTO_MAGIC_ENROLLMENT_COMPLETED, RESET_CANCELED, diff --git a/chrome/browser/chromeos/login/user_input.h b/chrome/browser/chromeos/login/user_input.h deleted file mode 100644 index e4d3141..0000000 --- a/chrome/browser/chromeos/login/user_input.h +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) 2010 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. - -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USER_INPUT_H_ -#define CHROME_BROWSER_CHROMEOS_LOGIN_USER_INPUT_H_ - -#include "ui/gfx/rect.h" - -namespace chromeos { - -// Interface that is used to manage the state of the user input controls. -class UserInput { - public: - virtual ~UserInput() {} - - // Enables/Disables the input controls. - virtual void EnableInputControls(bool enabled) = 0; - - // Clears and focuses the controls. - virtual void ClearAndFocusControls() = 0; - - // Clears and focuses the password field. - virtual void ClearAndFocusPassword() = 0; - - // Returns bounds of the main input field in the screen coordinates (e.g. - // these bounds could be used to choose positions for the error bubble). - virtual gfx::Rect GetMainInputScreenBounds() const = 0; -}; - -} // namespace chromeos - -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USER_INPUT_H_ diff --git a/chrome/browser/chromeos/login/view_screen.h b/chrome/browser/chromeos/login/view_screen.h deleted file mode 100644 index afc56ae..0000000 --- a/chrome/browser/chromeos/login/view_screen.h +++ /dev/null @@ -1,166 +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. - -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_VIEW_SCREEN_H_ -#define CHROME_BROWSER_CHROMEOS_LOGIN_VIEW_SCREEN_H_ - -#include "base/message_loop.h" -#include "chrome/browser/chromeos/login/helper.h" -#include "chrome/browser/chromeos/login/wizard_screen.h" -#include "ui/gfx/size.h" - -namespace views { -class View; -} // namespace views - -namespace chromeos { - -class ScreenObserver; - -// Interface that ViewOobeDisplay exposes to its screens. -class ViewScreenDelegate { - public: - // Returns top level view of ViewOobeDisplay. - virtual views::View* GetWizardView() = 0; - - // Returns observer screen should notify. - virtual ScreenObserver* GetObserver() = 0; - - // This method have to be used before screen showing. - virtual void SetScreenSize(const gfx::Size& size) = 0; - - protected: - virtual ~ViewScreenDelegate() {} -}; - -template <class V> -class ViewScreen : public WizardScreen { - public: - // Create screen with default size. - explicit ViewScreen(ViewScreenDelegate* delegate); - - // Create screen with the specified size. - ViewScreen(ViewScreenDelegate* delegate, int width, int height); - virtual ~ViewScreen(); - - // Overridden from WizardScreen: - virtual void PrepareToShow(); - virtual void Show(); - virtual void Hide(); - - virtual gfx::Size GetScreenSize() const { return size_; } - - V* view() { return view_; } - const V* view() const { return view_; } - - protected: - // Creates view object and adds it to views hierarchy. - virtual void CreateView(); - // Creates view object. - virtual V* AllocateView() = 0; - - // Refresh screen state. - virtual void Refresh() {} - - ViewScreenDelegate* delegate() { return delegate_; } - - private: - // For testing automation - friend class AutomationProvider; - - ViewScreenDelegate* delegate_; - - V* view_; - - // Size of the screen. - gfx::Size size_; - - DISALLOW_COPY_AND_ASSIGN(ViewScreen); -}; - -template <class V> -class DefaultViewScreen : public ViewScreen<V> { - public: - explicit DefaultViewScreen(ViewScreenDelegate* delegate) - : ViewScreen<V>(delegate) {} - DefaultViewScreen(ViewScreenDelegate* delegate, int width, int height) - : ViewScreen<V>(delegate, width, height) {} - V* AllocateView() { - return new V(ViewScreen<V>::delegate()->GetObserver()); - } -}; - -/////////////////////////////////////////////////////////////////////////////// -// ViewScreen, public: -template <class V> -ViewScreen<V>::ViewScreen(ViewScreenDelegate* delegate) - : WizardScreen(delegate->GetObserver()), - delegate_(delegate), - view_(NULL), - size_(login::kWizardScreenWidth, - login::kWizardScreenHeight) { -} - -template <class V> -ViewScreen<V>::ViewScreen(ViewScreenDelegate* delegate, int width, int height) - : WizardScreen(delegate->GetObserver()), - delegate_(delegate), - view_(NULL), - size_(width, height) { -} - -template <class V> -ViewScreen<V>::~ViewScreen() { - // Delete the view now. So we do not worry the View outlives its - // controller. - if (view_) { - delete view_; - view_ = NULL; - } -} - -/////////////////////////////////////////////////////////////////////////////// -// ViewScreen, WizardScreen implementation: -template <class V> -void ViewScreen<V>::PrepareToShow() { - delegate()->SetScreenSize(size_); -} - -template <class V> -void ViewScreen<V>::Show() { - if (!view_) { - CreateView(); - } - view_->SetVisible(true); - // After screen is initialized and shown refresh its model. - // Refresh() is called after SetVisible(true) because screen handler - // could exit right away. - Refresh(); -} - -template <class V> -void ViewScreen<V>::Hide() { - if (view_) { - delegate()->GetWizardView()->RemoveChildView(view_); - // RemoveChildView doesn't delete the view and we also can't delete it here - // because we are in message processing for the view. - MessageLoop::current()->DeleteSoon(FROM_HERE, view_); - view_ = NULL; - } -} - -/////////////////////////////////////////////////////////////////////////////// -// ViewScreen, protected: -template <class V> -void ViewScreen<V>::CreateView() { - view_ = AllocateView(); - view_->set_owned_by_client(); // ViewScreen owns the view. - delegate()->GetWizardView()->AddChildView(view_); - view_->Init(); - view_->SetVisible(false); -} - -} // namespace chromeos - -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_VIEW_SCREEN_H_ diff --git a/chrome/browser/chromeos/login/web_page_screen.cc b/chrome/browser/chromeos/login/web_page_screen.cc deleted file mode 100644 index 9e021f0..0000000 --- a/chrome/browser/chromeos/login/web_page_screen.cc +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) 2011 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/web_page_screen.h" - -#include "base/time.h" - -using base::TimeDelta; - -namespace chromeos { - -namespace { - -// Time in seconds after page load is considered timed out. -const int kNetworkTimeoutSec = 10; - -} // namespace - -WebPageScreen::WebPageScreen() {} - -WebPageScreen::~WebPageScreen() {} - -/////////////////////////////////////////////////////////////////////////////// -// WebPageScreen, content::WebContentsDelegate implementation: - -bool WebPageScreen::HandleContextMenu( - const content::ContextMenuParams& params) { - // Just return true because we don't want to show context menue. - return true; -} - -/////////////////////////////////////////////////////////////////////////////// -// WebPageScreen, protected: - -void WebPageScreen::OnNetworkTimeout() { - // TODO(nkostylev): Add better detection for limited connectivity. - // http://crosbug.com/3690 - CloseScreen(ScreenObserver::CONNECTION_FAILED); -} - -void WebPageScreen::StartTimeoutTimer() { - StopTimeoutTimer(); - timeout_timer_.Start(FROM_HERE, - TimeDelta::FromSeconds(kNetworkTimeoutSec), - this, - &WebPageScreen::OnNetworkTimeout); -} - -void WebPageScreen::StopTimeoutTimer() { - if (timeout_timer_.IsRunning()) - timeout_timer_.Stop(); -} - -} // namespace chromeos diff --git a/chrome/browser/chromeos/login/web_page_screen.h b/chrome/browser/chromeos/login/web_page_screen.h deleted file mode 100644 index 0454844..0000000 --- a/chrome/browser/chromeos/login/web_page_screen.h +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) 2011 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. - -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_WEB_PAGE_SCREEN_H_ -#define CHROME_BROWSER_CHROMEOS_LOGIN_WEB_PAGE_SCREEN_H_ - -#include "base/basictypes.h" -#include "base/compiler_specific.h" -#include "base/timer.h" -#include "chrome/browser/chromeos/login/screen_observer.h" -#include "content/public/browser/web_contents_delegate.h" - -namespace chromeos { - -// Base class for wizard screen that holds web page. -class WebPageScreen : public content::WebContentsDelegate { - public: - explicit WebPageScreen(); - virtual ~WebPageScreen(); - - // Exits from the screen with the specified exit code. - virtual void CloseScreen(ScreenObserver::ExitCodes code) = 0; - - protected: - // content::WebContentsDelegate implementation: - virtual bool HandleContextMenu( - const content::ContextMenuParams& params) OVERRIDE; - - // Called by |timeout_timer_|. Stops page fetching and closes screen. - virtual void OnNetworkTimeout(); - - // Start/stop timeout timer. - void StartTimeoutTimer(); - void StopTimeoutTimer(); - - private: - // Timer used for network response timeout. - base::OneShotTimer<WebPageScreen> timeout_timer_; - - DISALLOW_COPY_AND_ASSIGN(WebPageScreen); -}; - -} // namespace chromeos - -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_WEB_PAGE_SCREEN_H_ diff --git a/chrome/browser/chromeos/login/web_page_view.cc b/chrome/browser/chromeos/login/web_page_view.cc deleted file mode 100644 index 131cca8..0000000 --- a/chrome/browser/chromeos/login/web_page_view.cc +++ /dev/null @@ -1,152 +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/web_page_view.h" - -#include "base/callback.h" -#include "base/logging.h" -#include "base/string_util.h" -#include "base/time.h" -#include "base/utf_string_conversions.h" -#include "chrome/browser/chromeos/login/helper.h" -#include "chrome/browser/chromeos/login/rounded_rect_painter.h" -#include "chrome/browser/profiles/profile.h" -#include "content/public/browser/site_instance.h" -#include "content/public/browser/web_contents.h" -#include "content/public/browser/web_ui.h" -#include "content/public/common/bindings_policy.h" -#include "grit/generated_resources.h" -#include "grit/theme_resources.h" -#include "ipc/ipc_message.h" -#include "third_party/skia/include/core/SkColor.h" -#include "ui/base/l10n/l10n_util.h" -#include "ui/base/resource/resource_bundle.h" -#include "ui/gfx/canvas.h" -#include "ui/views/background.h" -#include "ui/views/border.h" -#include "ui/views/controls/label.h" -#include "ui/views/controls/throbber.h" - -using base::TimeDelta; -using content::SiteInstance; -using views::Label; -using views::View; - -namespace chromeos { - -namespace { - -// Spacing (vertical/horizontal) between controls. -const int kSpacing = 10; - -// Time in ms after that waiting controls are shown on Start. -const int kStartDelayMs = 500; - -// Time in ms after that waiting controls are hidden on Stop. -const int kStopDelayMs = 500; - -} // namespace - -/////////////////////////////////////////////////////////////////////////////// -// WebPageDomView, public: - -WebPageDomView::WebPageDomView(content::BrowserContext* browser_context) - : views::WebView(browser_context) { -} - -void WebPageDomView::SetWebContentsDelegate( - content::WebContentsDelegate* delegate) { - web_contents()->SetDelegate(delegate); -} - -/////////////////////////////////////////////////////////////////////////////// -// WebPageView, public: - -WebPageView::WebPageView() : throbber_(NULL), connecting_label_(NULL) {} - -WebPageView::~WebPageView() {} - -void WebPageView::Init() { - views::Painter* painter = CreateWizardPainter( - &BorderDefinition::kScreenBorder); - set_background( - views::Background::CreateBackgroundPainter(true, painter)); - set_border(CreateWizardBorder(&BorderDefinition::kScreenBorder)); - dom_view()->SetVisible(false); - AddChildView(dom_view()); - - throbber_ = CreateDefaultThrobber(); - AddChildView(throbber_); - - connecting_label_ = new views::Label(); - connecting_label_->SetText( - l10n_util::GetStringUTF16(IDS_LOAD_STATE_CONNECTING)); - ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - connecting_label_->SetFont(rb.GetFont(ResourceBundle::MediumFont)); - connecting_label_->SetVisible(false); - AddChildView(connecting_label_); - - start_timer_.Start(FROM_HERE, - TimeDelta::FromMilliseconds(kStartDelayMs), - this, - &WebPageView::ShowWaitingControls); -} - -void WebPageView::InitWebView(SiteInstance* site_instance) { - dom_view()->CreateWebContentsWithSiteInstance(site_instance); -} - -void WebPageView::LoadURL(const GURL& url) { - dom_view()->LoadInitialURL(url); -} - -void WebPageView::SetWebContentsDelegate( - content::WebContentsDelegate* delegate) { - dom_view()->SetWebContentsDelegate(delegate); -} - -void WebPageView::ShowPageContent() { - // TODO(nkostylev): Show throbber as an overlay until page has been rendered. - start_timer_.Stop(); - if (!stop_timer_.IsRunning()) { - stop_timer_.Start(FROM_HERE, - TimeDelta::FromMilliseconds(kStopDelayMs), - this, - &WebPageView::ShowRenderedPage); - } -} - -/////////////////////////////////////////////////////////////////////////////// -// WebPageView, private: - -void WebPageView::ShowRenderedPage() { - throbber_->Stop(); - connecting_label_->SetVisible(false); - dom_view()->SetVisible(true); -} - -void WebPageView::ShowWaitingControls() { - throbber_->Start(); - connecting_label_->SetVisible(true); -} - -/////////////////////////////////////////////////////////////////////////////// -// WebPageView, views::View implementation: - -void WebPageView::Layout() { - dom_view()->SetBoundsRect(GetContentsBounds()); - int y = height() / 2 - throbber_->GetPreferredSize().height() / 2; - throbber_->SetBounds( - width() / 2 - throbber_->GetPreferredSize().width() / 2, - y, - throbber_->GetPreferredSize().width(), - throbber_->GetPreferredSize().height()); - connecting_label_->SetBounds( - width() / 2 - connecting_label_->GetPreferredSize().width() / 2, - y + throbber_->GetPreferredSize().height() + kSpacing, - connecting_label_->GetPreferredSize().width(), - connecting_label_->GetPreferredSize().height()); -} - -} // namespace chromeos diff --git a/chrome/browser/chromeos/login/web_page_view.h b/chrome/browser/chromeos/login/web_page_view.h deleted file mode 100644 index 10f2d86..0000000 --- a/chrome/browser/chromeos/login/web_page_view.h +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright (c) 2011 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. - -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_WEB_PAGE_VIEW_H_ -#define CHROME_BROWSER_CHROMEOS_LOGIN_WEB_PAGE_VIEW_H_ - -#include <string> - -#include "base/compiler_specific.h" -#include "base/timer.h" -#include "ui/views/controls/webview/webview.h" -#include "ui/views/view.h" - -class Profile; - -namespace content { -class BrowserContext; -class SiteInstance; -class WebContentsDelegate; -} - -namespace views { -class Label; -class Throbber; -} - -namespace chromeos { - -// WebPageDomView is the view that is rendering the page. -class WebPageDomView : public views::WebView { - public: - explicit WebPageDomView(content::BrowserContext* browser_context); - - // Set delegate that will be notified about tab contents changes. - void SetWebContentsDelegate(content::WebContentsDelegate* delegate); - - private: - DISALLOW_COPY_AND_ASSIGN(WebPageDomView); -}; - -// WebPageView represents the view that holds WebPageDomView with -// page rendered in it. While page is loaded spinner overlay is shown. -class WebPageView : public views::View { - public: - WebPageView(); - virtual ~WebPageView(); - - // Initialize view layout. - void Init(); - - // Initialize the WebView, creating the contents. This should be - // called once the view has been added to a container. - void InitWebView(content::SiteInstance* site_instance); - - // Loads the given URL into the page. - // You must have previously called Init() and SetWebContentsDelegate. - void LoadURL(const GURL& url); - - // Sets delegate for tab contents changes. - void SetWebContentsDelegate(content::WebContentsDelegate* delegate); - - // Stops throbber and shows page content (starts renderer_timer_ for that). - void ShowPageContent(); - - protected: - virtual WebPageDomView* dom_view() = 0; - - private: - // Overriden from views::View: - virtual void Layout() OVERRIDE; - - // Called by stop_timer_. Shows rendered page. - void ShowRenderedPage(); - - // Called by start_timer_. Shows throbber and waiting label. - void ShowWaitingControls(); - - // Throbber shown during page load. - views::Throbber* throbber_; - - // "Connecting..." label shown while waiting for the page to load/render. - views::Label* connecting_label_; - - // Timer used when waiting for network response. - base::OneShotTimer<WebPageView> start_timer_; - - // Timer used before toggling loaded page visibility. - base::OneShotTimer<WebPageView> stop_timer_; - - DISALLOW_COPY_AND_ASSIGN(WebPageView); -}; - -} // namespace chromeos - -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_WEB_PAGE_VIEW_H_ diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc index 39e01fb..0d42b7c 100644 --- a/chrome/browser/chromeos/login/wizard_controller.cc +++ b/chrome/browser/chromeos/login/wizard_controller.cc @@ -29,13 +29,11 @@ #include "chrome/browser/chromeos/login/eula_screen.h" #include "chrome/browser/chromeos/login/existing_user_controller.h" #include "chrome/browser/chromeos/login/helper.h" -#include "chrome/browser/chromeos/login/html_page_screen.h" #include "chrome/browser/chromeos/login/hwid_checker.h" #include "chrome/browser/chromeos/login/login_display_host.h" #include "chrome/browser/chromeos/login/login_utils.h" #include "chrome/browser/chromeos/login/network_screen.h" #include "chrome/browser/chromeos/login/oobe_display.h" -#include "chrome/browser/chromeos/login/registration_screen.h" #include "chrome/browser/chromeos/login/reset_screen.h" #include "chrome/browser/chromeos/login/terms_of_service_screen.h" #include "chrome/browser/chromeos/login/update_screen.h" @@ -117,7 +115,6 @@ const char WizardController::kUpdateScreenName[] = "update"; const char WizardController::kUserImageScreenName[] = "image"; const char WizardController::kEulaScreenName[] = "eula"; const char WizardController::kRegistrationScreenName[] = "register"; -const char WizardController::kHTMLPageScreenName[] = "html"; const char WizardController::kEnterpriseEnrollmentScreenName[] = "enroll"; const char WizardController::kResetScreenName[] = "reset"; const char WizardController::kTermsOfServiceScreenName[] = "tos"; @@ -221,35 +218,6 @@ chromeos::EulaScreen* WizardController::GetEulaScreen() { return eula_screen_.get(); } -chromeos::RegistrationScreen* WizardController::GetRegistrationScreen() { - if (!registration_screen_.get()) - registration_screen_.reset( - new chromeos::RegistrationScreen( - oobe_display_->GetRegistrationScreenActor())); - return registration_screen_.get(); -} - -chromeos::HTMLPageScreen* WizardController::GetHTMLPageScreen() { - if (!html_page_screen_.get()) { - const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); - const CommandLine::StringVector& args = cmd_line->GetArgs(); - - std::string url; - // It's strange but args may contains empty strings. - for (size_t i = 0; i < args.size(); i++) { - if (!args[i].empty()) { - DCHECK(url.empty()) << "More than one URL in command line"; - url = args[i]; - } - } - DCHECK(!url.empty()) << "No URL in command line"; - html_page_screen_.reset( - new chromeos::HTMLPageScreen( - oobe_display_->GetHTMLPageScreenActor(), url)); - } - return html_page_screen_.get(); -} - chromeos::EnterpriseEnrollmentScreen* WizardController::GetEnterpriseEnrollmentScreen() { if (!enterprise_enrollment_screen_.get()) { @@ -342,25 +310,6 @@ void WizardController::ShowEulaScreen() { SetCurrentScreen(GetEulaScreen()); } -void WizardController::ShowRegistrationScreen() { - if (!IsRegisterScreenDefined()) { - VLOG(1) << "Skipping registration screen: manifest not defined or invalid " - "URL."; - OnRegistrationSkipped(); - return; - } - VLOG(1) << "Showing registration screen."; - SetStatusAreaVisible(true); - SetCurrentScreen(GetRegistrationScreen()); -} - -void WizardController::ShowHTMLPageScreen() { - VLOG(1) << "Showing HTML page screen."; - SetStatusAreaVisible(true); - host_->SetOobeProgressBarVisible(false); - SetCurrentScreen(GetHTMLPageScreen()); -} - void WizardController::ShowEnterpriseEnrollmentScreen() { SetStatusAreaVisible(true); @@ -415,13 +364,6 @@ void WizardController::SkipPostLoginScreensForTesting() { skip_post_login_screens_ = true; } -void WizardController::SkipRegistration() { - if (current_screen_ == GetRegistrationScreen()) - OnRegistrationSkipped(); - else - LOG(ERROR) << "Registration screen is not active."; -} - void WizardController::AddObserver(Observer* observer) { observer_list_.AddObserver(observer); } @@ -565,11 +507,6 @@ void WizardController::OnRegistrationSuccess() { } } -void WizardController::OnRegistrationSkipped() { - // TODO(nkostylev): Track in a histogram? - OnRegistrationSuccess(); -} - void WizardController::OnEnterpriseEnrollmentDone() { ShowLoginScreen(); } @@ -687,16 +624,10 @@ void WizardController::AdvanceToScreen(const std::string& screen_name) { } else if (screen_name == kEulaScreenName) { ShowEulaScreen(); } else if (screen_name == kRegistrationScreenName) { - if (is_official_build_) { - ShowRegistrationScreen(); - } else { - // Just proceed to image screen. - OnRegistrationSuccess(); - } + // Just proceed to next stage. + OnRegistrationSuccess(); } else if (screen_name == kResetScreenName) { ShowResetScreen(); - } else if (screen_name == kHTMLPageScreenName) { - ShowHTMLPageScreen(); } else if (screen_name == kEnterpriseEnrollmentScreenName) { ShowEnterpriseEnrollmentScreen(); } else if (screen_name == kTermsOfServiceScreenName) { @@ -812,14 +743,6 @@ void WizardController::SetInitialLocale(const std::string& locale) { NOTREACHED(); } -// static -bool WizardController::IsRegisterScreenDefined() { - const chromeos::StartupCustomizationDocument* manifest = - chromeos::StartupCustomizationDocument::GetInstance(); - return manifest->IsReady() && - GURL(manifest->registration_url()).is_valid(); -} - /////////////////////////////////////////////////////////////////////////////// // WizardController, chromeos::ScreenObserver overrides: void WizardController::OnExit(ExitCodes exit_code) { @@ -850,12 +773,6 @@ void WizardController::OnExit(ExitCodes exit_code) { case EULA_BACK: ShowNetworkScreen(); break; - case REGISTRATION_SUCCESS: - OnRegistrationSuccess(); - break; - case REGISTRATION_SKIPPED: - OnRegistrationSkipped(); - break; case ENTERPRISE_ENROLLMENT_COMPLETED: OnEnterpriseEnrollmentDone(); break; diff --git a/chrome/browser/chromeos/login/wizard_controller.h b/chrome/browser/chromeos/login/wizard_controller.h index 3e13b18..f6a7e4a 100644 --- a/chrome/browser/chromeos/login/wizard_controller.h +++ b/chrome/browser/chromeos/login/wizard_controller.h @@ -28,11 +28,9 @@ namespace chromeos { class EnterpriseEnrollmentScreen; class EulaScreen; -class HTMLPageScreen; class LoginDisplayHost; class NetworkScreen; class OobeDisplay; -class RegistrationScreen; class ResetScreen; class TermsOfServiceScreen; class UpdateScreen; @@ -83,9 +81,6 @@ class WizardController : public ScreenObserver { // Returns device registration completion status, i.e. second part of OOBE. static bool IsDeviceRegistered(); - // Returns true if valid registration URL is defined. - static bool IsRegisterScreenDefined(); - // Marks device registered. i.e. second part of OOBE is completed. static void MarkDeviceRegistered(); @@ -119,9 +114,6 @@ class WizardController : public ScreenObserver { // Advances to login screen. Should be used in for testing only. void SkipToLoginForTesting(); - // If being at register screen proceeds to the next one. - void SkipRegistration(); - // Adds and removes an observer. void AddObserver(Observer* observer); void RemoveObserver(Observer* observer); @@ -137,8 +129,6 @@ class WizardController : public ScreenObserver { UpdateScreen* GetUpdateScreen(); UserImageScreen* GetUserImageScreen(); EulaScreen* GetEulaScreen(); - RegistrationScreen* GetRegistrationScreen(); - HTMLPageScreen* GetHTMLPageScreen(); EnterpriseEnrollmentScreen* GetEnterpriseEnrollmentScreen(); ResetScreen* GetResetScreen(); TermsOfServiceScreen* GetTermsOfServiceScreen(); @@ -155,11 +145,11 @@ class WizardController : public ScreenObserver { static const char kLoginScreenName[]; static const char kUpdateScreenName[]; static const char kUserImageScreenName[]; + // Not a real screen, just a placeholder for OOBE final stage. static const char kRegistrationScreenName[]; static const char kOutOfBoxScreenName[]; static const char kTestNoScreenName[]; static const char kEulaScreenName[]; - static const char kHTMLPageScreenName[]; static const char kEnterpriseEnrollmentScreenName[]; static const char kResetScreenName[]; static const char kTermsOfServiceScreenName[]; @@ -171,8 +161,6 @@ class WizardController : public ScreenObserver { void ShowUpdateScreen(); void ShowUserImageScreen(); void ShowEulaScreen(); - void ShowRegistrationScreen(); - void ShowHTMLPageScreen(); void ShowEnterpriseEnrollmentScreen(); void ShowResetScreen(); void ShowTermsOfServiceScreen(); @@ -252,9 +240,7 @@ class WizardController : public ScreenObserver { scoped_ptr<UpdateScreen> update_screen_; scoped_ptr<UserImageScreen> user_image_screen_; scoped_ptr<EulaScreen> eula_screen_; - scoped_ptr<RegistrationScreen> registration_screen_; scoped_ptr<ResetScreen> reset_screen_; - scoped_ptr<HTMLPageScreen> html_page_screen_; scoped_ptr<EnterpriseEnrollmentScreen> enterprise_enrollment_screen_; scoped_ptr<TermsOfServiceScreen> terms_of_service_screen_; diff --git a/chrome/browser/chromeos/login/wizard_controller_browsertest.cc b/chrome/browser/chromeos/login/wizard_controller_browsertest.cc index 62b2b61..bc35174 100644 --- a/chrome/browser/chromeos/login/wizard_controller_browsertest.cc +++ b/chrome/browser/chromeos/login/wizard_controller_browsertest.cc @@ -21,7 +21,6 @@ #include "chrome/browser/chromeos/login/reset_screen.h" #include "chrome/browser/chromeos/login/test_login_utils.h" #include "chrome/browser/chromeos/login/user_image_screen.h" -#include "chrome/browser/chromeos/login/view_screen.h" #include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h" #include "chrome/browser/chromeos/login/wrong_hwid_screen.h" @@ -352,7 +351,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 -COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 17, +COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 15, add_tests_for_new_control_flow_you_just_introduced); } // namespace chromeos diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc index d869036..e460607 100644 --- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc +++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc @@ -53,7 +53,6 @@ #include "chrome/browser/chromeos/login/base_login_display_host.h" #include "chrome/browser/chromeos/login/help_app_launcher.h" #include "chrome/browser/chromeos/login/login_display_host.h" -#include "chrome/browser/chromeos/login/message_bubble.h" #include "chrome/browser/chromeos/login/user.h" #include "chrome/browser/chromeos/login/user_manager.h" #include "chrome/browser/chromeos/mobile_config.h" diff --git a/chrome/browser/resources/chromeos/host_registration_page.html b/chrome/browser/resources/chromeos/host_registration_page.html deleted file mode 100644 index 70d979b..0000000 --- a/chrome/browser/resources/chromeos/host_registration_page.html +++ /dev/null @@ -1,70 +0,0 @@ -<!DOCTYPE HTML> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Register your computer with Google</title> -<style> -#form { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - overflow: hidden; - width: 100%; - height: 100%; - background: -webkit-linear-gradient(#FAFBFB, #CCD1D4); -} - -</style> -<script> -document.addEventListener('DOMContentLoaded', load); -window.addEventListener('message', processMessage); -var hostPageDomain = 'chrome://register'; -var registerDoneUrl = 'cros://register/success'; -var registerSkipUrl = 'cros://register/skipped'; -var registrationUrl = ''; - -function load() { - chrome.send('getRegistrationUrl'); -} -function $(o) { - return document.getElementById(o); -} - -function processMessage(e) { - if (e.data.domain != registrationUrl){ - skipRegistration(); - return; - } - - if (e.data.type == 'get_user_info') { - chrome.send('getUserInfo'); - } else if (e.data.type == 'complete_registration') { - location.replace(e.data.payload.registration_status ? registerDoneUrl : - registerSkipUrl); - } -} - -function setRegistrationUrl(url) { - registrationUrl = url; - $('form').contentWindow.location.href = url; -} - -function setUserInfo(userInfo) { - var msg = { - type: 'set_user_info', - domain: hostPageDomain, - payload: userInfo - }; - $('form').contentWindow.postMessage(msg, registrationUrl); -} - -// Called by WebUI handler when startup manifest is not defined. -function skipRegistration() { - location.replace(registerSkipUrl); -} -</script> -</head> -<body><iframe id="form" frameborder="0"></iframe></body> -</html> diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc index c23501c..36bdf5d 100644 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc @@ -92,7 +92,6 @@ #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" #include "chrome/browser/ui/webui/chromeos/mobile_setup_ui.h" #include "chrome/browser/ui/webui/chromeos/proxy_settings_ui.h" -#include "chrome/browser/ui/webui/chromeos/register_page_ui.h" #include "chrome/browser/ui/webui/chromeos/sim_unlock_ui.h" #include "chrome/browser/ui/webui/chromeos/system_info_ui.h" #endif @@ -326,8 +325,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI<chromeos::OobeUI>; if (url.host() == chrome::kChromeUIProxySettingsHost) return &NewWebUI<chromeos::ProxySettingsUI>; - if (url.host() == chrome::kChromeUIRegisterPageHost) - return &NewWebUI<RegisterPageUI>; if (url.host() == chrome::kChromeUISimUnlockHost) return &NewWebUI<chromeos::SimUnlockUI>; if (url.host() == chrome::kChromeUISystemInfoHost) diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc index 4b8ee50..0e2176c 100644 --- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc +++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc @@ -288,13 +288,6 @@ ViewScreenDelegate* OobeUI::GetRegistrationScreenActor() { return NULL; } -ViewScreenDelegate* OobeUI::GetHTMLPageScreenActor() { - // WebUI implementation of the LoginDisplayHost opens HTML page directly, - // without opening OOBE page. - NOTREACHED(); - return NULL; -} - void OobeUI::GetLocalizedStrings(base::DictionaryValue* localized_strings) { // Note, handlers_[0] is a GenericHandler used by the WebUI. for (size_t i = 0; i < handlers_.size(); ++i) diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.h b/chrome/browser/ui/webui/chromeos/login/oobe_ui.h index 22a2268..3a9849b 100644 --- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.h +++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.h @@ -87,7 +87,6 @@ class OobeUI : public OobeDisplay, GetTermsOfServiceScreenActor() OVERRIDE; virtual UserImageScreenActor* GetUserImageScreenActor() OVERRIDE; virtual ViewScreenDelegate* GetRegistrationScreenActor() OVERRIDE; - virtual ViewScreenDelegate* GetHTMLPageScreenActor() OVERRIDE; virtual WrongHWIDScreenActor* GetWrongHWIDScreenActor() OVERRIDE; // Collects localized strings from the owned handlers. diff --git a/chrome/browser/ui/webui/chromeos/register_page_ui.cc b/chrome/browser/ui/webui/chromeos/register_page_ui.cc deleted file mode 100644 index 7f17ff9..0000000 --- a/chrome/browser/ui/webui/chromeos/register_page_ui.cc +++ /dev/null @@ -1,298 +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/ui/webui/chromeos/register_page_ui.h" - -#include <string> - -#include "base/bind.h" -#include "base/bind_helpers.h" -#include "base/chromeos/chromeos_version.h" -#include "base/logging.h" -#include "base/memory/ref_counted_memory.h" -#include "base/memory/weak_ptr.h" -#include "base/message_loop.h" -#include "base/string_piece.h" -#include "base/utf_string_conversions.h" -#include "base/values.h" -#include "chrome/browser/browser_process.h" -#include "chrome/browser/chromeos/cros/cros_library.h" -#include "chrome/browser/chromeos/cros/network_library.h" -#include "chrome/browser/chromeos/customization_document.h" -#include "chrome/browser/chromeos/login/wizard_controller.h" -#include "chrome/browser/chromeos/system/statistics_provider.h" -#include "chrome/browser/chromeos/version_loader.h" -#include "chrome/browser/profiles/profile.h" -#include "chrome/common/cancelable_task_tracker.h" -#include "chrome/common/url_constants.h" -#include "content/public/browser/url_data_source.h" -#include "content/public/browser/web_contents.h" -#include "content/public/browser/web_ui.h" -#include "content/public/browser/web_ui_message_handler.h" -#include "googleurl/src/gurl.h" -#include "grit/browser_resources.h" -#include "ui/base/resource/resource_bundle.h" - -using content::WebContents; -using content::WebUIMessageHandler; - -namespace { - -// Host page JS API callback names. -const char kJsCallbackGetRegistrationUrl[] = "getRegistrationUrl"; -const char kJsCallbackUserInfo[] = "getUserInfo"; - -// Host page JS API function names. -const char kJsApiSetRegistrationUrl[] = "setRegistrationUrl"; -const char kJsApiSetUserInfo[] = "setUserInfo"; -const char kJsApiSkipRegistration[] = "skipRegistration"; - -// Constant value for os_name sent in setUserInfo. -const char kOSName[] = "ChromeOS"; - -// MachineInfo keys names. -const char kMachineInfoSystemHwqual[] = "hardware_class"; -const char kMachineInfoSerialNumber[] = "serial_number"; - -// Types of network connection. -const char kConnectionEthernet[] = "ethernet"; -const char kConnectionWifi[] = "wifi"; -const char kConnectionWimax[] = "wimax"; -const char kConnection3g[] = "3g"; -const char kUndefinedValue[] = "undefined"; - -// Utility function that returns string corresponding to currently active -// connection type |kConnectionEthernet|kConnectionWifi|kConnection3g|. -// If multiple interfaces are connected, result is based on the -// priority Ethernet-Wifi-Cellular. -// If there's no interface that's connected, interface that's in connecting -// state is considered as the active one. -// Otherwise |kUndefinedValue| is returned. -static std::string GetConnectionType() { - chromeos::NetworkLibrary* network_lib = - chromeos::CrosLibrary::Get()->GetNetworkLibrary(); - if (network_lib->ethernet_connected()) - return kConnectionEthernet; - else if (network_lib->wifi_connected()) - return kConnectionWifi; - else if (network_lib->cellular_connected()) - return kConnection3g; - else if (network_lib->wimax_connected()) - return kConnectionWimax; - // Connection might have been lost and is in reconnecting state at this point. - else if (network_lib->ethernet_connecting()) - return kConnectionEthernet; - else if (network_lib->wifi_connecting()) - return kConnectionWifi; - else if (network_lib->cellular_connecting()) - return kConnection3g; - else if (network_lib->wimax_connecting()) - return kConnectionWimax; - else - return kUndefinedValue; -} - -} // namespace - -class RegisterPageUIHTMLSource : public content::URLDataSource { - public: - RegisterPageUIHTMLSource(); - - // content::URLDataSource implementation. - virtual std::string GetSource() OVERRIDE; - virtual void StartDataRequest( - const std::string& path, - bool is_incognito, - const content::URLDataSource::GotDataCallback& callback) OVERRIDE; - virtual std::string GetMimeType(const std::string&) const OVERRIDE { - return "text/html"; - } - virtual bool ShouldAddContentSecurityPolicy() const OVERRIDE { - return false; - } - - private: - virtual ~RegisterPageUIHTMLSource() {} - - DISALLOW_COPY_AND_ASSIGN(RegisterPageUIHTMLSource); -}; - -// The handler for Javascript messages related to the "register" view. -class RegisterPageHandler : public WebUIMessageHandler, - public base::SupportsWeakPtr<RegisterPageHandler> { - public: - RegisterPageHandler(); - virtual ~RegisterPageHandler(); - - // WebUIMessageHandler implementation. - virtual void RegisterMessages() OVERRIDE; - - private: - // Handlers for JS WebUI messages. - void HandleGetRegistrationUrl(const ListValue* args); - void HandleGetUserInfo(const ListValue* args); - - // Callback from chromeos::VersionLoader giving the version. - void OnVersion(const std::string& version); - - // Skips registration logging |error_msg| with log type ERROR. - void SkipRegistration(const std::string& error_msg); - - // Sends message to host registration page with system/user info data. - void SendUserInfo(); - - // Handles asynchronously loading the version. - chromeos::VersionLoader version_loader_; - - // Used to request the version. - CancelableTaskTracker tracker_; - - std::string version_; - - DISALLOW_COPY_AND_ASSIGN(RegisterPageHandler); -}; - -//////////////////////////////////////////////////////////////////////////////// -// -// RegisterPageUIHTMLSource -// -//////////////////////////////////////////////////////////////////////////////// - -RegisterPageUIHTMLSource::RegisterPageUIHTMLSource() { -} - -std::string RegisterPageUIHTMLSource::GetSource() { - return chrome::kChromeUIRegisterPageHost; -} - -void RegisterPageUIHTMLSource::StartDataRequest( - const std::string& path, - bool is_incognito, - const content::URLDataSource::GotDataCallback& callback) { - // Make sure that chrome://register is available only during - // OOBE wizard lifetime and when device has not been registered yet. - if (!chromeos::WizardController::default_controller() || - chromeos::WizardController::IsDeviceRegistered()) { - scoped_refptr<base::RefCountedBytes> empty_bytes(new base::RefCountedBytes); - callback.Run(empty_bytes); - return; - } - - scoped_refptr<base::RefCountedMemory> html_bytes( - ResourceBundle::GetSharedInstance().LoadDataResourceBytes( - IDR_HOST_REGISTRATION_PAGE_HTML)); - - callback.Run(html_bytes); -} - -//////////////////////////////////////////////////////////////////////////////// -// -// RegisterPageHandler -// -//////////////////////////////////////////////////////////////////////////////// -RegisterPageHandler::RegisterPageHandler() { -} - -RegisterPageHandler::~RegisterPageHandler() { -} - -void RegisterPageHandler::RegisterMessages() { - web_ui()->RegisterMessageCallback(kJsCallbackGetRegistrationUrl, - base::Bind(&RegisterPageHandler::HandleGetRegistrationUrl, - base::Unretained(this))); - web_ui()->RegisterMessageCallback(kJsCallbackUserInfo, - base::Bind(&RegisterPageHandler::HandleGetUserInfo, - base::Unretained(this))); -} - -void RegisterPageHandler::HandleGetRegistrationUrl(const ListValue* args) { - chromeos::StartupCustomizationDocument* customization = - chromeos::StartupCustomizationDocument::GetInstance(); - if (chromeos::WizardController::default_controller() && - customization->IsReady()) { - const std::string& url = customization->registration_url(); - VLOG(1) << "Loading registration form with URL: " << url; - GURL register_url(url); - if (!register_url.is_valid()) { - SkipRegistration("Registration URL defined in manifest is invalid."); - return; - } - StringValue url_value(url); - web_ui()->CallJavascriptFunction(kJsApiSetRegistrationUrl, url_value); - } else { - SkipRegistration("Startup manifest not defined."); - } -} - -void RegisterPageHandler::HandleGetUserInfo(const ListValue* args) { - if (base::chromeos::IsRunningOnChromeOS()) { - version_loader_.GetVersion( - chromeos::VersionLoader::VERSION_FULL, - base::Bind(&RegisterPageHandler::OnVersion, base::Unretained(this)), - &tracker_); - } else { - SkipRegistration("Not running on ChromeOS."); - } -} - -void RegisterPageHandler::OnVersion(const std::string& version) { - version_ = version; - SendUserInfo(); -} - -void RegisterPageHandler::SkipRegistration(const std::string& error_msg) { - LOG(ERROR) << error_msg; - if (chromeos::WizardController::default_controller()) - chromeos::WizardController::default_controller()->SkipRegistration(); - else - web_ui()->CallJavascriptFunction(kJsApiSkipRegistration); -} - -void RegisterPageHandler::SendUserInfo() { - DictionaryValue value; - - chromeos::system::StatisticsProvider * provider = - chromeos::system::StatisticsProvider::GetInstance(); - - // Required info. - std::string system_hwqual; - std::string serial_number; - if (!provider->GetMachineStatistic(kMachineInfoSystemHwqual, - &system_hwqual) || - !provider->GetMachineStatistic(kMachineInfoSerialNumber, - &serial_number)) { - SkipRegistration("Failed to get required machine info."); - return; - } - value.SetString("system_hwqual", system_hwqual); - value.SetString("system_serial", serial_number); - value.SetString("os_language", g_browser_process->GetApplicationLocale()); - value.SetString("os_name", kOSName); - value.SetString("os_version", version_); - value.SetString("os_connection", GetConnectionType()); - value.SetString("user_email", ""); - - // Optional info. - value.SetString("user_first_name", ""); - value.SetString("user_last_name", ""); - - web_ui()->CallJavascriptFunction(kJsApiSetUserInfo, value); -} - -//////////////////////////////////////////////////////////////////////////////// -// -// RegisterPageUI -// -//////////////////////////////////////////////////////////////////////////////// - -RegisterPageUI::RegisterPageUI(content::WebUI* web_ui) - : WebUIController(web_ui) { - RegisterPageHandler* handler = new RegisterPageHandler(); - web_ui->AddMessageHandler(handler); - RegisterPageUIHTMLSource* html_source = new RegisterPageUIHTMLSource(); - - // Set up the chrome://register/ source. - Profile* profile = Profile::FromWebUI(web_ui); - content::URLDataSource::Add(profile, html_source); -} diff --git a/chrome/browser/ui/webui/chromeos/register_page_ui.h b/chrome/browser/ui/webui/chromeos/register_page_ui.h deleted file mode 100644 index 3be2464..0000000 --- a/chrome/browser/ui/webui/chromeos/register_page_ui.h +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c) 2011 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. - -#ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_REGISTER_PAGE_UI_H_ -#define CHROME_BROWSER_UI_WEBUI_CHROMEOS_REGISTER_PAGE_UI_H_ - -#include "content/public/browser/web_ui_controller.h" - -// A custom WebUI that defines datasource for host registration page that -// is used in Chrome OS to register product on first sign in. -class RegisterPageUI : public content::WebUIController { - public: - explicit RegisterPageUI(content::WebUI* web_ui); - - private: - DISALLOW_COPY_AND_ASSIGN(RegisterPageUI); -}; - -#endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_REGISTER_PAGE_UI_H_ diff --git a/chrome/chrome_browser_chromeos.gypi b/chrome/chrome_browser_chromeos.gypi index 7fe3cf7..b48ec0db 100644 --- a/chrome/chrome_browser_chromeos.gypi +++ b/chrome/chrome_browser_chromeos.gypi @@ -394,8 +394,6 @@ 'browser/chromeos/login/help_app_launcher.h', 'browser/chromeos/login/helper.cc', 'browser/chromeos/login/helper.h', - 'browser/chromeos/login/html_page_screen.cc', - 'browser/chromeos/login/html_page_screen.h', 'browser/chromeos/login/hwid_checker.cc', 'browser/chromeos/login/hwid_checker.h', 'browser/chromeos/login/language_list.cc', @@ -418,8 +416,6 @@ 'browser/chromeos/login/login_web_dialog.cc', 'browser/chromeos/login/login_web_dialog.h', 'browser/chromeos/login/login_wizard.h', - 'browser/chromeos/login/message_bubble.cc', - 'browser/chromeos/login/message_bubble.h', 'browser/chromeos/login/merge_session_load_page.cc', 'browser/chromeos/login/merge_session_load_page.h', 'browser/chromeos/login/merge_session_throttle.cc', @@ -452,14 +448,10 @@ 'browser/chromeos/login/profile_auth_data.h', 'browser/chromeos/login/proxy_settings_dialog.cc', 'browser/chromeos/login/proxy_settings_dialog.h', - 'browser/chromeos/login/registration_screen.cc', - 'browser/chromeos/login/registration_screen.h', 'browser/chromeos/login/remove_user_delegate.h', 'browser/chromeos/login/reset_screen.cc', 'browser/chromeos/login/reset_screen.h', 'browser/chromeos/login/reset_screen_actor.h', - 'browser/chromeos/login/rounded_rect_painter.cc', - 'browser/chromeos/login/rounded_rect_painter.h', 'browser/chromeos/login/screen_locker.cc', 'browser/chromeos/login/screen_locker.h', 'browser/chromeos/login/screen_locker_delegate.cc', @@ -498,13 +490,8 @@ 'browser/chromeos/login/user_manager_impl.h', 'browser/chromeos/login/version_info_updater.cc', 'browser/chromeos/login/version_info_updater.h', - 'browser/chromeos/login/view_screen.h', 'browser/chromeos/login/wallpaper_manager.cc', 'browser/chromeos/login/wallpaper_manager.h', - 'browser/chromeos/login/web_page_screen.cc', - 'browser/chromeos/login/web_page_screen.h', - 'browser/chromeos/login/web_page_view.cc', - 'browser/chromeos/login/web_page_view.h', 'browser/chromeos/login/webui_login_display.cc', 'browser/chromeos/login/webui_login_display.h', 'browser/chromeos/login/webui_login_display_host.cc', diff --git a/chrome/chrome_browser_ui.gypi b/chrome/chrome_browser_ui.gypi index f2475aa..090d04c 100644 --- a/chrome/chrome_browser_ui.gypi +++ b/chrome/chrome_browser_ui.gypi @@ -1879,8 +1879,6 @@ 'browser/ui/webui/chromeos/mobile_setup_ui.h', 'browser/ui/webui/chromeos/proxy_settings_ui.cc', 'browser/ui/webui/chromeos/proxy_settings_ui.h', - 'browser/ui/webui/chromeos/register_page_ui.cc', - 'browser/ui/webui/chromeos/register_page_ui.h', 'browser/ui/webui/chromeos/sim_unlock_ui.cc', 'browser/ui/webui/chromeos/sim_unlock_ui.h', 'browser/ui/webui/chromeos/system_info_ui.cc', diff --git a/chrome/common/url_constants.cc b/chrome/common/url_constants.cc index 1eb1eb4..d58e363 100644 --- a/chrome/common/url_constants.cc +++ b/chrome/common/url_constants.cc @@ -98,7 +98,6 @@ const char kChromeUIMobileSetupURL[] = "chrome://mobilesetup/"; const char kChromeUIOobeURL[] = "chrome://oobe/"; const char kChromeUIOSCreditsURL[] = "chrome://os-credits/"; const char kChromeUIProxySettingsURL[] = "chrome://proxy-settings/"; -const char kChromeUIRegisterPageURL[] = "chrome://register/"; const char kChromeUISimUnlockURL[] = "chrome://sim-unlock/"; const char kChromeUISlideshowURL[] = "chrome://slideshow/"; const char kChromeUISystemInfoURL[] = "chrome://system/"; @@ -238,7 +237,6 @@ const char kChromeUINetworkHost[] = "network"; const char kChromeUIOobeHost[] = "oobe"; const char kChromeUIOSCreditsHost[] = "os-credits"; const char kChromeUIProxySettingsHost[] = "proxy-settings"; -const char kChromeUIRegisterPageHost[] = "register"; const char kChromeUIRotateHost[] = "rotate"; const char kChromeUISimUnlockHost[] = "sim-unlock"; const char kChromeUISlideshowHost[] = "slideshow"; diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h index 8b5c165..934fbaa 100644 --- a/chrome/common/url_constants.h +++ b/chrome/common/url_constants.h @@ -94,7 +94,6 @@ extern const char kChromeUIMobileSetupURL[]; extern const char kChromeUIOobeURL[]; extern const char kChromeUIOSCreditsURL[]; extern const char kChromeUIProxySettingsURL[]; -extern const char kChromeUIRegisterPageURL[]; extern const char kChromeUISimUnlockURL[]; extern const char kChromeUISlideshowURL[]; extern const char kChromeUISystemInfoURL[]; @@ -231,7 +230,6 @@ extern const char kChromeUINetworkHost[]; extern const char kChromeUIOobeHost[]; extern const char kChromeUIOSCreditsHost[]; extern const char kChromeUIProxySettingsHost[]; -extern const char kChromeUIRegisterPageHost[]; extern const char kChromeUIRotateHost[]; extern const char kChromeUISimUnlockHost[]; extern const char kChromeUISlideshowHost[]; |