diff options
author | finnur@chromium.org <finnur@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-26 20:11:54 +0000 |
---|---|---|
committer | finnur@chromium.org <finnur@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-26 20:11:54 +0000 |
commit | b1b7394fa3880dab9f9bd0cfc40ea8c614f0b49e (patch) | |
tree | d6e9f57d10714b67c4c7fbed0e874d4e337f406e /chrome/browser/views/update_recommended_message_box.h | |
parent | a8e4a8fa39604cd309e1e3d62cf9c552dcfe541d (diff) | |
download | chromium_src-b1b7394fa3880dab9f9bd0cfc40ea8c614f0b49e.zip chromium_src-b1b7394fa3880dab9f9bd0cfc40ea8c614f0b49e.tar.gz chromium_src-b1b7394fa3880dab9f9bd0cfc40ea8c614f0b49e.tar.bz2 |
Implement upgrade notifications.
When we detect that the installed version is newer than the version you are
running we show a little throbbing orange dot over the wrench menu.
If you open the wrench menu and close it again, the throbbing will stop.
However, if you look at the contents of the wrench menu you'll notice that
the About box menu item has been removed and in its place is a menu item
"Update Chrome Now" with a bright orange icon to draw your attention to it.
Clicking on the icon shows a dialog box asking whether you want to restart
Chrome. If you do, the browser restarts with your session restored
(even if you have Session Restore turned off).
Known issues:
- Currently this is Windows only. We'll have to port this to Linux and do
something differnet for Mac (which doesn't have the wrench menu).
- Showing an icon in front of Update Chrome causes the checkbox for the
bookmark bar menu to go away. Given that we will soon redesign the menus I'm
not going to spend much time trying to fix it.
BUG=27941
TEST=Wait for Chrome to be upgraded in the background, an orange dot should
appear over the wrench menu and if you select Update Chrome your session should
be retained.
Review URL: http://codereview.chromium.org/2225003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48318 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/update_recommended_message_box.h')
-rw-r--r-- | chrome/browser/views/update_recommended_message_box.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/chrome/browser/views/update_recommended_message_box.h b/chrome/browser/views/update_recommended_message_box.h new file mode 100644 index 0000000..9751db4 --- /dev/null +++ b/chrome/browser/views/update_recommended_message_box.h @@ -0,0 +1,49 @@ +// 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_VIEWS_UPDATE_RECOMMENDED_MESSAGE_BOX_H_ +#define CHROME_BROWSER_VIEWS_UPDATE_RECOMMENDED_MESSAGE_BOX_H_ + +#include "base/basictypes.h" +#include "gfx/native_widget_types.h" +#include "views/window/dialog_delegate.h" + +class MessageBoxView; +class PrefService; + +// A dialog box that tells the user that an update is recommended in order for +// the latest version to be put to use. +class UpdateRecommendedMessageBox : public views::DialogDelegate { + public: + // This box is modal to |parent_window|. + static void ShowMessageBox(gfx::NativeWindow parent_window); + + // Register preferences specific to this view. + static void RegisterUpdateRecommendedPrefs(PrefService* prefs); + + // Overridden from views::DialogDelegate: + virtual bool Accept(); + + protected: + // Overridden from views::DialogDelegate: + virtual int GetDialogButtons() const; + virtual std::wstring GetDialogButtonLabel( + MessageBoxFlags::DialogButton button) const; + virtual std::wstring GetWindowTitle() const; + + // Overridden from views::WindowDelegate: + virtual void DeleteDelegate(); + virtual bool IsModal() const; + virtual views::View* GetContentsView(); + + private: + explicit UpdateRecommendedMessageBox(gfx::NativeWindow parent_window); + virtual ~UpdateRecommendedMessageBox(); + + MessageBoxView* message_box_view_; + + DISALLOW_COPY_AND_ASSIGN(UpdateRecommendedMessageBox); +}; + +#endif // CHROME_BROWSER_VIEWS_UPDATE_RECOMMENDED_MESSAGE_BOX_H_ |