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

Side by Side Diff: chrome/browser/ui/autofill/autofill_popup_controller_impl.h

Issue 15769018: [Autofill] Determine Popup RTLness from page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix android compile Created 7 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_CONTROLLER_IMPL_H_ 5 #ifndef CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_CONTROLLER_IMPL_H_
6 #define CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_CONTROLLER_IMPL_H_ 6 #define CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_CONTROLLER_IMPL_H_
7 7
8 #include "base/gtest_prod_util.h" 8 #include "base/gtest_prod_util.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "base/string16.h" 10 #include "base/string16.h"
(...skipping 22 matching lines...) Expand all
33 class AutofillPopupControllerImpl : public AutofillPopupController, 33 class AutofillPopupControllerImpl : public AutofillPopupController,
34 public content::KeyboardListener { 34 public content::KeyboardListener {
35 public: 35 public:
36 // Creates a new |AutofillPopupControllerImpl|, or reuses |previous| if 36 // Creates a new |AutofillPopupControllerImpl|, or reuses |previous| if
37 // the construction arguments are the same. |previous| may be invalidated by 37 // the construction arguments are the same. |previous| may be invalidated by
38 // this call. 38 // this call.
39 static base::WeakPtr<AutofillPopupControllerImpl> GetOrCreate( 39 static base::WeakPtr<AutofillPopupControllerImpl> GetOrCreate(
40 base::WeakPtr<AutofillPopupControllerImpl> previous, 40 base::WeakPtr<AutofillPopupControllerImpl> previous,
41 base::WeakPtr<AutofillPopupDelegate> delegate, 41 base::WeakPtr<AutofillPopupDelegate> delegate,
42 gfx::NativeView container_view, 42 gfx::NativeView container_view,
43 const gfx::RectF& element_bounds); 43 const gfx::RectF& element_bounds,
44 bool is_rtl);
44 45
45 // Shows the popup, or updates the existing popup with the given values. 46 // Shows the popup, or updates the existing popup with the given values.
46 void Show(const std::vector<string16>& names, 47 void Show(const std::vector<string16>& names,
47 const std::vector<string16>& subtexts, 48 const std::vector<string16>& subtexts,
48 const std::vector<string16>& icons, 49 const std::vector<string16>& icons,
49 const std::vector<int>& identifiers); 50 const std::vector<int>& identifiers);
50 51
51 // Hides the popup and destroys the controller. This also invalidates 52 // Hides the popup and destroys the controller. This also invalidates
52 // |delegate_|. 53 // |delegate_|.
53 virtual void Hide() OVERRIDE; 54 virtual void Hide() OVERRIDE;
54 55
55 // Invoked when the view was destroyed by by someone other than this class. 56 // Invoked when the view was destroyed by by someone other than this class.
56 virtual void ViewDestroyed() OVERRIDE; 57 virtual void ViewDestroyed() OVERRIDE;
57 58
58 // KeyboardListener implementation. 59 // KeyboardListener implementation.
59 virtual bool HandleKeyPressEvent( 60 virtual bool HandleKeyPressEvent(
60 const content::NativeWebKeyboardEvent& event) OVERRIDE; 61 const content::NativeWebKeyboardEvent& event) OVERRIDE;
61 62
62 protected: 63 protected:
63 FRIEND_TEST_ALL_PREFIXES(AutofillExternalDelegateBrowserTest, 64 FRIEND_TEST_ALL_PREFIXES(AutofillExternalDelegateBrowserTest,
64 CloseWidgetAndNoLeaking); 65 CloseWidgetAndNoLeaking);
65 FRIEND_TEST_ALL_PREFIXES(AutofillPopupControllerUnitTest, 66 FRIEND_TEST_ALL_PREFIXES(AutofillPopupControllerUnitTest,
66 ProperlyResetController); 67 ProperlyResetController);
67 68
68 AutofillPopupControllerImpl(base::WeakPtr<AutofillPopupDelegate> delegate, 69 AutofillPopupControllerImpl(base::WeakPtr<AutofillPopupDelegate> delegate,
69 gfx::NativeView container_view, 70 gfx::NativeView container_view,
70 const gfx::RectF& element_bounds); 71 const gfx::RectF& element_bounds,
72 bool is_rtl);
Ilya Sherman 2013/06/06 09:04:04 Please pass a value from base::i18n::TextDirection
csharp 2013/06/06 14:13:53 Done.
71 virtual ~AutofillPopupControllerImpl(); 73 virtual ~AutofillPopupControllerImpl();
72 74
73 // AutofillPopupController implementation. 75 // AutofillPopupController implementation.
74 virtual void UpdateBoundsAndRedrawPopup() OVERRIDE; 76 virtual void UpdateBoundsAndRedrawPopup() OVERRIDE;
75 virtual void MouseHovered(int x, int y) OVERRIDE; 77 virtual void MouseHovered(int x, int y) OVERRIDE;
76 virtual void MouseClicked(int x, int y) OVERRIDE; 78 virtual void MouseClicked(int x, int y) OVERRIDE;
77 virtual void MouseExitedPopup() OVERRIDE; 79 virtual void MouseExitedPopup() OVERRIDE;
78 virtual void AcceptSuggestion(size_t index) OVERRIDE; 80 virtual void AcceptSuggestion(size_t index) OVERRIDE;
79 virtual int GetIconResourceID(const string16& resource_name) OVERRIDE; 81 virtual int GetIconResourceID(const string16& resource_name) OVERRIDE;
80 virtual bool CanDelete(size_t index) const OVERRIDE; 82 virtual bool CanDelete(size_t index) const OVERRIDE;
81 virtual gfx::Rect GetRowBounds(size_t index) OVERRIDE; 83 virtual gfx::Rect GetRowBounds(size_t index) OVERRIDE;
82 virtual void SetPopupBounds(const gfx::Rect& bounds) OVERRIDE; 84 virtual void SetPopupBounds(const gfx::Rect& bounds) OVERRIDE;
83 virtual const gfx::Rect& popup_bounds() const OVERRIDE; 85 virtual const gfx::Rect& popup_bounds() const OVERRIDE;
84 virtual gfx::NativeView container_view() const OVERRIDE; 86 virtual gfx::NativeView container_view() const OVERRIDE;
85 virtual const gfx::RectF& element_bounds() const OVERRIDE; 87 virtual const gfx::RectF& element_bounds() const OVERRIDE;
88 virtual bool is_rtl() const OVERRIDE;
86 89
87 virtual const std::vector<string16>& names() const OVERRIDE; 90 virtual const std::vector<string16>& names() const OVERRIDE;
88 virtual const std::vector<string16>& subtexts() const OVERRIDE; 91 virtual const std::vector<string16>& subtexts() const OVERRIDE;
89 virtual const std::vector<string16>& icons() const OVERRIDE; 92 virtual const std::vector<string16>& icons() const OVERRIDE;
90 virtual const std::vector<int>& identifiers() const OVERRIDE; 93 virtual const std::vector<int>& identifiers() const OVERRIDE;
91 #if !defined(OS_ANDROID) 94 #if !defined(OS_ANDROID)
92 virtual const gfx::Font& GetNameFontForRow(size_t index) const OVERRIDE; 95 virtual const gfx::Font& GetNameFontForRow(size_t index) const OVERRIDE;
93 virtual const gfx::Font& subtext_font() const OVERRIDE; 96 virtual const gfx::Font& subtext_font() const OVERRIDE;
94 #endif 97 #endif
95 virtual int selected_line() const OVERRIDE; 98 virtual int selected_line() const OVERRIDE;
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 base::WeakPtr<AutofillPopupDelegate> delegate_; 187 base::WeakPtr<AutofillPopupDelegate> delegate_;
185 gfx::NativeView container_view_; // Weak reference. 188 gfx::NativeView container_view_; // Weak reference.
186 189
187 // The bounds of the text element that is the focus of the Autofill. 190 // The bounds of the text element that is the focus of the Autofill.
188 // These coordinates are in screen space. 191 // These coordinates are in screen space.
189 const gfx::RectF element_bounds_; 192 const gfx::RectF element_bounds_;
190 193
191 // The bounds of the Autofill popup. 194 // The bounds of the Autofill popup.
192 gfx::Rect popup_bounds_; 195 gfx::Rect popup_bounds_;
193 196
197 // If the popup should be displayed RTL.
198 bool is_rtl_;
199
194 // The current Autofill query values. 200 // The current Autofill query values.
195 std::vector<string16> names_; 201 std::vector<string16> names_;
196 std::vector<string16> subtexts_; 202 std::vector<string16> subtexts_;
197 std::vector<string16> icons_; 203 std::vector<string16> icons_;
198 std::vector<int> identifiers_; 204 std::vector<int> identifiers_;
199 205
200 // Since names_ can be elided to ensure that it fits on the screen, we need to 206 // Since names_ can be elided to ensure that it fits on the screen, we need to
201 // keep an unelided copy of the names to be able to pass to the delegate. 207 // keep an unelided copy of the names to be able to pass to the delegate.
202 std::vector<string16> full_names_; 208 std::vector<string16> full_names_;
203 209
204 #if !defined(OS_ANDROID) 210 #if !defined(OS_ANDROID)
205 // The fonts for the popup text. 211 // The fonts for the popup text.
206 gfx::Font name_font_; 212 gfx::Font name_font_;
207 gfx::Font subtext_font_; 213 gfx::Font subtext_font_;
208 gfx::Font warning_font_; 214 gfx::Font warning_font_;
209 #endif 215 #endif
210 216
211 // The line that is currently selected by the user. 217 // The line that is currently selected by the user.
212 // |kNoSelection| indicates that no line is currently selected. 218 // |kNoSelection| indicates that no line is currently selected.
213 int selected_line_; 219 int selected_line_;
214 220
215 base::WeakPtrFactory<AutofillPopupControllerImpl> weak_ptr_factory_; 221 base::WeakPtrFactory<AutofillPopupControllerImpl> weak_ptr_factory_;
216 }; 222 };
217 223
218 } // namespace autofill 224 } // namespace autofill
219 225
220 #endif // CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_CONTROLLER_IMPL_H_ 226 #endif // CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_CONTROLLER_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698