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

Side by Side Diff: chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h

Issue 2641003002: Show scheme in black and content in gray for data: protocol urls (Closed)
Patch Set: Only call UpdateSchemeStyle when a scheme is present. Created 3 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 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_COCOA_OMNIBOX_OMNIBOX_VIEW_MAC_H_ 5 #ifndef CHROME_BROWSER_UI_COCOA_OMNIBOX_OMNIBOX_VIEW_MAC_H_
6 #define CHROME_BROWSER_UI_COCOA_OMNIBOX_OMNIBOX_VIEW_MAC_H_ 6 #define CHROME_BROWSER_UI_COCOA_OMNIBOX_OMNIBOX_VIEW_MAC_H_
7 7
8 #import <Cocoa/Cocoa.h> 8 #import <Cocoa/Cocoa.h>
9 #include <stddef.h> 9 #include <stddef.h>
10 10
11 #include <memory> 11 #include <memory>
12 12
13 #include "base/auto_reset.h"
13 #include "base/gtest_prod_util.h" 14 #include "base/gtest_prod_util.h"
14 #include "base/macros.h" 15 #include "base/macros.h"
15 #include "base/strings/string16.h" 16 #include "base/strings/string16.h"
16 #include "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field.h" 17 #include "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field.h"
17 #include "components/omnibox/browser/omnibox_view.h" 18 #include "components/omnibox/browser/omnibox_view.h"
18 #include "components/security_state/core/security_state.h" 19 #include "components/security_state/core/security_state.h"
19 #include "third_party/skia/include/core/SkColor.h" 20 #include "third_party/skia/include/core/SkColor.h"
20 21
21 class CommandUpdater; 22 class CommandUpdater;
22 class OmniboxPopupView; 23 class OmniboxPopupView;
23 class Profile; 24 class Profile;
24 25
25 namespace content { 26 namespace content {
26 class WebContents; 27 class WebContents;
27 } 28 }
28 29
29 // Implements OmniboxView on an AutocompleteTextField. 30 // Implements OmniboxView on an AutocompleteTextField.
30 class OmniboxViewMac : public OmniboxView, 31 class OmniboxViewMac : public OmniboxView,
31 public AutocompleteTextFieldObserver { 32 public AutocompleteTextFieldObserver {
32 public: 33 public:
33 static SkColor BaseTextColorSkia(bool in_dark_mode); 34 static SkColor BaseTextColorSkia(bool in_dark_mode);
34 static NSColor* BaseTextColor(bool in_dark_mode); 35 static NSColor* BaseTextColor(bool in_dark_mode);
36 // Returns a color representing |security_level|, adjusted based on whether
37 // the browser is in Incognito mode.
35 static NSColor* GetSecureTextColor( 38 static NSColor* GetSecureTextColor(
36 security_state::SecurityLevel security_level, 39 security_state::SecurityLevel security_level,
37 bool in_dark_mode); 40 bool in_dark_mode);
38 41
39 OmniboxViewMac(OmniboxEditController* controller, 42 OmniboxViewMac(OmniboxEditController* controller,
40 Profile* profile, 43 Profile* profile,
41 CommandUpdater* command_updater, 44 CommandUpdater* command_updater,
42 AutocompleteTextField* field); 45 AutocompleteTextField* field);
43 ~OmniboxViewMac() override; 46 ~OmniboxViewMac() override;
44 47
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 176
174 // Pass the current content of |field_| to SetText(), maintaining 177 // Pass the current content of |field_| to SetText(), maintaining
175 // any selection. Named to be consistent with GTK and Windows, 178 // any selection. Named to be consistent with GTK and Windows,
176 // though here we cannot really do the in-place operation they do. 179 // though here we cannot really do the in-place operation they do.
177 void EmphasizeURLComponents() override; 180 void EmphasizeURLComponents() override;
178 181
179 // Apply our font and paragraph style to |attributedString|. 182 // Apply our font and paragraph style to |attributedString|.
180 void ApplyTextStyle(NSMutableAttributedString* attributedString); 183 void ApplyTextStyle(NSMutableAttributedString* attributedString);
181 184
182 // Calculates text attributes according to |display_text| and applies them 185 // Calculates text attributes according to |display_text| and applies them
183 // to the given |attributedString| object. 186 // to the given |attributed_string| object.
184 void ApplyTextAttributes(const base::string16& display_text, 187 void ApplyTextAttributes(const base::string16& display_text,
185 NSMutableAttributedString* attributedString); 188 NSMutableAttributedString* attributed_string);
189
190 void SetEmphasis(bool emphasize, const gfx::Range& range) override;
Peter Kasting 2017/03/03 02:31:08 Nit: Consider an "// OmniboxView:" header above th
elawrence 2017/03/03 16:07:42 Done.
191 void UpdateSchemeStyle(const gfx::Range& scheme_range) override;
186 192
187 // Return the number of UTF-16 units in the current buffer, excluding the 193 // Return the number of UTF-16 units in the current buffer, excluding the
188 // suggested text. 194 // suggested text.
189 int GetOmniboxTextLength() const override; 195 int GetOmniboxTextLength() const override;
190 NSUInteger GetTextLength() const; 196 NSUInteger GetTextLength() const;
191 197
192 // Returns true if the caret is at the end of the content. 198 // Returns true if the caret is at the end of the content.
193 bool IsCaretAtEnd() const; 199 bool IsCaretAtEnd() const;
194 200
195 // Announce that an inline autocomplete is available for screenreaders. 201 // Announce that an inline autocomplete is available for screenreaders.
(...skipping 28 matching lines...) Expand all
224 bool do_coalesced_range_update_; 230 bool do_coalesced_range_update_;
225 NSRange coalesced_range_update_; 231 NSRange coalesced_range_update_;
226 232
227 // The time of the first character insert operation that has not yet been 233 // The time of the first character insert operation that has not yet been
228 // painted. Used to measure omnibox responsiveness with a histogram. 234 // painted. Used to measure omnibox responsiveness with a histogram.
229 base::TimeTicks insert_char_time_; 235 base::TimeTicks insert_char_time_;
230 236
231 // The time when OnBeforeDrawRect() was called. 237 // The time when OnBeforeDrawRect() was called.
232 base::TimeTicks draw_rect_start_time_; 238 base::TimeTicks draw_rect_start_time_;
233 239
240 // Temporary pointer to the attributed display string, stored as color and
241 // other emphasis attributes are applied by the superclass.
242 NSMutableAttributedString* attributing_display_string_; // weak
243
234 DISALLOW_COPY_AND_ASSIGN(OmniboxViewMac); 244 DISALLOW_COPY_AND_ASSIGN(OmniboxViewMac);
235 }; 245 };
236 246
237 #endif // CHROME_BROWSER_UI_COCOA_OMNIBOX_OMNIBOX_VIEW_MAC_H_ 247 #endif // CHROME_BROWSER_UI_COCOA_OMNIBOX_OMNIBOX_VIEW_MAC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698