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

Unified Diff: chrome/browser/views/location_bar_view.h

Issue 1056002: Omnibox M5 work, part 1: Security changes... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/views/app_launcher.cc ('k') | chrome/browser/views/location_bar_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/views/location_bar_view.h
===================================================================
--- chrome/browser/views/location_bar_view.h (revision 42491)
+++ chrome/browser/views/location_bar_view.h (working copy)
@@ -75,9 +75,6 @@
SELECTED_TEXT,
DEEMPHASIZED_TEXT,
SECURITY_TEXT,
- SECURITY_INFO_BUBBLE_TEXT,
- SCHEME_STRIKEOUT,
- NUM_KINDS
};
LocationBarView(Profile* profile,
@@ -96,7 +93,8 @@
// Returns the appropriate color for the desired kind, based on the user's
// system theme.
- static SkColor GetColor(bool is_secure, ColorKind kind);
+ static SkColor GetColor(ToolbarModel::SecurityLevel security_level,
+ ColorKind kind);
// Updates the location bar. We also reset the bar's permanent text and
// security style, and, if |tab_for_state_restoring| is non-NULL, also restore
@@ -191,6 +189,26 @@
void Focus();
private:
+ // SecurityImageView is used to display the appropriate status icon when the
+ // current URL's scheme is https.
+ class SecurityImageView : public views::ImageView {
+ public:
+ explicit SecurityImageView(const LocationBarView* parent);
+ virtual ~SecurityImageView();
+
+ // Sets the image that should be displayed.
+ void SetSecurityIcon(int resource_id);
+
+ // Overridden from view.
+ virtual bool OnMousePressed(const views::MouseEvent& event);
+
+ private:
+ // The owning LocationBarView.
+ const LocationBarView* parent_;
+
+ DISALLOW_COPY_AND_ASSIGN(SecurityImageView);
+ };
+
// View used when the user has selected a keyword.
//
// SelectedKeywordView maintains two labels. One label contains the
@@ -279,95 +297,6 @@
DISALLOW_COPY_AND_ASSIGN(KeywordHintView);
};
- class ShowInfoBubbleTask;
- class ShowFirstRunBubbleTask;
-
- class LocationBarImageView : public views::ImageView,
- public InfoBubbleDelegate {
- public:
- explicit LocationBarImageView(const BubblePositioner* bubble_positioner);
- virtual ~LocationBarImageView();
-
- // Overridden from view for the mouse hovering.
- virtual void OnMouseMoved(const views::MouseEvent& event);
- virtual void OnMouseExited(const views::MouseEvent& event);
- virtual bool OnMousePressed(const views::MouseEvent& event) = 0;
-
- // InfoBubbleDelegate
- void InfoBubbleClosing(InfoBubble* info_bubble, bool closed_by_escape);
- bool CloseOnEscape() { return true; }
-
- virtual void ShowInfoBubble() = 0;
-
- protected:
- void ShowInfoBubbleImpl(const std::wstring& text, SkColor text_color);
-
- private:
- friend class ShowInfoBubbleTask;
-
- // The currently shown info bubble if any.
- InfoBubble* info_bubble_;
-
- // A task used to display the info bubble when the mouse hovers on the
- // image.
- ShowInfoBubbleTask* show_info_bubble_task_;
-
- // A positioner used to give the info bubble the correct target bounds. The
- // caller maintains ownership of this and must ensure it's kept alive.
- const BubblePositioner* bubble_positioner_;
-
- DISALLOW_COPY_AND_ASSIGN(LocationBarImageView);
- };
-
- // SecurityImageView is used to display the lock or warning icon when the
- // current URL's scheme is https.
- //
- // If a message has been set with SetInfoBubbleText, it displays an info
- // bubble when the mouse hovers on the image.
- class SecurityImageView : public LocationBarImageView {
- public:
- enum Image {
- LOCK = 0,
- WARNING
- };
-
- SecurityImageView(const LocationBarView* parent,
- Profile* profile,
- ToolbarModel* model_,
- const BubblePositioner* bubble_positioner);
- virtual ~SecurityImageView();
-
- // Sets the image that should be displayed.
- void SetImageShown(Image image);
-
- // Overridden from view for the mouse hovering.
- virtual bool OnMousePressed(const views::MouseEvent& event);
-
- void set_profile(Profile* profile) { profile_ = profile; }
-
- virtual void ShowInfoBubble();
-
- private:
- // The lock icon shown when using HTTPS.
- static SkBitmap* lock_icon_;
-
- // The warning icon shown when HTTPS is broken.
- static SkBitmap* warning_icon_;
-
- // A task used to display the info bubble when the mouse hovers on the
- // image.
- ShowInfoBubbleTask* show_info_bubble_task_;
-
- // The owning LocationBarView.
- const LocationBarView* parent_;
-
- Profile* profile_;
-
- ToolbarModel* model_;
-
- DISALLOW_COPY_AND_ASSIGN(SecurityImageView);
- };
-
class ContentSettingImageView : public views::ImageView,
public InfoBubbleDelegate {
public:
@@ -411,15 +340,14 @@
// PageActionImageView is used to display the icon for a given PageAction
// and notify the extension when the icon is clicked.
- class PageActionImageView : public LocationBarImageView,
+ class PageActionImageView : public views::ImageView,
public ImageLoadingTracker::Observer,
public ExtensionContextMenuModel::PopupDelegate,
public ExtensionPopup::Observer {
public:
PageActionImageView(LocationBarView* owner,
Profile* profile,
- ExtensionAction* page_action,
- const BubblePositioner* bubble_positioner);
+ ExtensionAction* page_action);
virtual ~PageActionImageView();
ExtensionAction* page_action() { return page_action_; }
@@ -431,13 +359,9 @@
}
// Overridden from view.
- virtual void OnMouseMoved(const views::MouseEvent& event);
virtual bool OnMousePressed(const views::MouseEvent& event);
virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled);
- // Overridden from LocationBarImageView.
- virtual void ShowInfoBubble();
-
// Overridden from ImageLoadingTracker.
virtual void OnImageLoaded(
SkBitmap* image, ExtensionResource resource, int index);
@@ -531,10 +455,10 @@
// size.
bool NeedsResize(View* view, int available_width);
- // Adjusts the keyword hint, selected keyword and type to search views
- // based on the contents of the edit. Returns true if something changed that
- // necessitates a layout.
- bool AdjustHints(int available_width);
+ // Adjusts the keyword hint, selected keyword view, type to search label, and
+ // security info label based on the contents of the edit. Returns true if
+ // something changed that necessitates a layout.
+ bool AdjustAutocollapseViews(int available_width);
// If View fits in the specified region, it is made visible and the
// bounds are adjusted appropriately. If the View does not fit, it is
@@ -542,9 +466,6 @@
void LayoutView(bool leading, views::View* view, int available_width,
gfx::Rect* bounds);
- // Sets the security icon to display. Note that no repaint is done.
- void SetSecurityIcon(ToolbarModel::Icon icon);
-
// Update the visibility state of the Content Blocked icons to reflect what is
// actually blocked on the current page.
void RefreshContentSettingViews();
@@ -556,13 +477,6 @@
// PageActions.
void RefreshPageActionViews();
- // Sets the text that should be displayed in the info label and its associated
- // tooltip text. Call with an empty string if the info label should be
- // hidden.
- void SetInfoText(const std::wstring& text,
- ToolbarModel::InfoTextType text_type,
- const std::wstring& tooltip_text);
-
// Sets the visibility of view to new_vis. Returns whether the visibility
// changed.
bool ToggleVisibility(bool new_vis, views::View* view);
@@ -610,6 +524,9 @@
// Font used by edit and some of the hints.
gfx::Font font_;
+ // The view that shows the lock/warning when in HTTPS mode.
+ SecurityImageView security_image_view_;
+
// Location_entry view wrapper
views::NativeViewHost* location_entry_view_;
@@ -617,6 +534,8 @@
// what is going in the edit. They are all added a children of the
// LocationBarView. At most one is visible at a time. Preference is
// given to the keyword_view_, then hint_view_, then type_to_search_view_.
+ // These, as well as |security_info_label_|, autocollapse when the edit needs
+ // the room.
// Shown if the user has selected a keyword.
SelectedKeywordView selected_keyword_view_;
@@ -627,8 +546,9 @@
// Shown if the text is not a keyword or url.
views::Label type_to_search_view_;
- // The view that shows the lock/warning when in HTTPS mode.
- SecurityImageView security_image_view_;
+ // A label displayed on the right side of the box to show more information
+ // about certain security states.
+ views::Label security_info_label_;
// The content setting views.
ContentSettingViews content_setting_views_;
@@ -636,9 +556,6 @@
// The page action icon views.
PageActionViews page_action_views_;
- // A label displayed after the lock icon to show some extra information.
- views::Label info_label_;
-
// When true, the location bar view is read only and also is has a slightly
// different presentation (font size / color). This is used for popups.
bool popup_window_mode_;
« no previous file with comments | « chrome/browser/views/app_launcher.cc ('k') | chrome/browser/views/location_bar_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698