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

Side by Side Diff: chrome/browser/cocoa/location_bar/autocomplete_text_field.mm

Issue 2888014: [Mac] Convert content settings to LocationBarDecoration, cleanup. (Closed) Base URL: git://codf21.jail/chromium.git
Patch Set: noop change aiming for a clean try run. Created 10 years, 5 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #import "chrome/browser/cocoa/location_bar/autocomplete_text_field.h" 5 #import "chrome/browser/cocoa/location_bar/autocomplete_text_field.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #import "chrome/browser/cocoa/browser_window_controller.h" 8 #import "chrome/browser/cocoa/browser_window_controller.h"
9 #import "chrome/browser/cocoa/location_bar/autocomplete_text_field_cell.h" 9 #import "chrome/browser/cocoa/location_bar/autocomplete_text_field_cell.h"
10 #import "chrome/browser/cocoa/location_bar/autocomplete_text_field_editor.h" 10 #import "chrome/browser/cocoa/location_bar/autocomplete_text_field_editor.h"
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 [undoManager_ removeAllActions]; 204 [undoManager_ removeAllActions];
205 } 205 }
206 206
207 // Show the I-beam cursor unless the mouse is over an image within the field 207 // Show the I-beam cursor unless the mouse is over an image within the field
208 // (Page Actions or the security icon) in which case show the arrow cursor. 208 // (Page Actions or the security icon) in which case show the arrow cursor.
209 // TODO(rohitrao): Should default to the arrow cursor. http://crbug.com/41612 209 // TODO(rohitrao): Should default to the arrow cursor. http://crbug.com/41612
210 - (void)resetCursorRects { 210 - (void)resetCursorRects {
211 NSRect fieldBounds = [self bounds]; 211 NSRect fieldBounds = [self bounds];
212 [self addCursorRect:fieldBounds cursor:[NSCursor IBeamCursor]]; 212 [self addCursorRect:fieldBounds cursor:[NSCursor IBeamCursor]];
213 213
214 AutocompleteTextFieldCell* cell = [self cell];
215 for (AutocompleteTextFieldIcon* icon in [cell layedOutIcons:fieldBounds])
216 [self addCursorRect:[icon rect] cursor:[NSCursor arrowCursor]];
217
218 // TODO(shess): This needs to traverse the LocationBarDecorations 214 // TODO(shess): This needs to traverse the LocationBarDecorations
219 // and put up a cursor for them, too. Except for the keyword-search 215 // and put up a cursor for them, too. Except for the keyword-search
220 // stuff? Sigh. 216 // stuff? Sigh.
217 // http://crbug.com/48867
221 } 218 }
222 219
223 // TODO(shess): -resetFieldEditorFrameIfNeeded is the place where 220 // TODO(shess): -resetFieldEditorFrameIfNeeded is the place where
224 // changes to the cell layout should be flushed. LocationBarViewMac 221 // changes to the cell layout should be flushed. LocationBarViewMac
225 // and ToolbarController are calling this routine directly, and I 222 // and ToolbarController are calling this routine directly, and I
226 // think they are probably wrong. 223 // think they are probably wrong.
227 // http://crbug.com/40053 224 // http://crbug.com/40053
228 - (void)updateCursorAndToolTipRects { 225 - (void)updateCursorAndToolTipRects {
229 // This will force |resetCursorRects| to be called, as it is not to be called 226 // This will force |resetCursorRects| to be called, as it is not to be called
230 // directly. 227 // directly.
231 [[self window] invalidateCursorRectsForView:self]; 228 [[self window] invalidateCursorRectsForView:self];
232 229
233 // |removeAllToolTips| only removes those set on the current NSView, not any 230 // |removeAllToolTips| only removes those set on the current NSView, not any
234 // subviews. Unless more tooltips are added to this view, this should suffice 231 // subviews. Unless more tooltips are added to this view, this should suffice
235 // in place of managing a set of NSToolTipTag objects. 232 // in place of managing a set of NSToolTipTag objects.
236 [self removeAllToolTips]; 233 [self removeAllToolTips];
237 [currentToolTips_ removeAllObjects]; 234 [currentToolTips_ removeAllObjects];
238 235
236 #if 0
237 // TODO(shess): Bring back tooltips. All the wiring is in there,
238 // just need to hook it up.
239 // http://crbug.com/49321
239 AutocompleteTextFieldCell* cell = [self cell]; 240 AutocompleteTextFieldCell* cell = [self cell];
240 for (AutocompleteTextFieldIcon* icon in [cell layedOutIcons:[self bounds]]) { 241 for (AutocompleteTextFieldIcon* icon in [cell layedOutIcons:[self bounds]]) {
241 NSRect iconRect = [icon rect]; 242 NSRect iconRect = [icon rect];
242 NSString* tooltip = [icon view]->GetToolTip(); 243 NSString* tooltip = [icon view]->GetToolTip();
243 if (!tooltip) 244 if (!tooltip)
244 continue; 245 continue;
245 246
246 // -[NSView addToolTipRect:owner:userData] does _not_ retain its |owner:|. 247 // -[NSView addToolTipRect:owner:userData] does _not_ retain its |owner:|.
247 // Put the string in a collection so it can't be dealloced while in use. 248 // Put the string in a collection so it can't be dealloced while in use.
248 [currentToolTips_ addObject:tooltip]; 249 [currentToolTips_ addObject:tooltip];
249 [self addToolTipRect:iconRect owner:tooltip userData:nil]; 250 [self addToolTipRect:iconRect owner:tooltip userData:nil];
250 } 251 }
252 #endif
251 } 253 }
252 254
253 // NOTE(shess): http://crbug.com/19116 describes a weird bug which 255 // NOTE(shess): http://crbug.com/19116 describes a weird bug which
254 // happens when the user runs a Print panel on Leopard. After that, 256 // happens when the user runs a Print panel on Leopard. After that,
255 // spurious -controlTextDidBeginEditing notifications are sent when an 257 // spurious -controlTextDidBeginEditing notifications are sent when an
256 // NSTextField is firstResponder, even though -currentEditor on that 258 // NSTextField is firstResponder, even though -currentEditor on that
257 // field returns nil. That notification caused significant problems 259 // field returns nil. That notification caused significant problems
258 // in AutocompleteEditViewMac. -textDidBeginEditing: was NOT being 260 // in AutocompleteEditViewMac. -textDidBeginEditing: was NOT being
259 // sent in those cases, so this approach doesn't have the problem. 261 // sent in those cases, so this approach doesn't have the problem.
260 - (void)textDidBeginEditing:(NSNotification*)aNotification { 262 - (void)textDidBeginEditing:(NSNotification*)aNotification {
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 - (BOOL)performDragOperation:(id<NSDraggingInfo>)sender { 405 - (BOOL)performDragOperation:(id<NSDraggingInfo>)sender {
404 return [dropHandler_ performDragOperation:sender]; 406 return [dropHandler_ performDragOperation:sender];
405 } 407 }
406 408
407 - (NSMenu*)decorationMenuForEvent:(NSEvent*)event { 409 - (NSMenu*)decorationMenuForEvent:(NSEvent*)event {
408 AutocompleteTextFieldCell* cell = [self cell]; 410 AutocompleteTextFieldCell* cell = [self cell];
409 return [cell decorationMenuForEvent:event inRect:[self bounds] ofView:self]; 411 return [cell decorationMenuForEvent:event inRect:[self bounds] ofView:self];
410 } 412 }
411 413
412 @end 414 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698