OLD | NEW |
---|---|
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 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_cell.h" | 5 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_cell.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/mac/foundation_util.h" | 10 #include "base/mac/foundation_util.h" |
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
417 } | 417 } |
418 | 418 |
419 // NOTE: This function must closely match the logic in | 419 // NOTE: This function must closely match the logic in |
420 // |-textFrameForFrame:|. | 420 // |-textFrameForFrame:|. |
421 | 421 |
422 // Superclass draws text portion WRT original |cellFrame|. | 422 // Superclass draws text portion WRT original |cellFrame|. |
423 ui::ScopedCGContextSmoothFonts fontSmoothing; | 423 ui::ScopedCGContextSmoothFonts fontSmoothing; |
424 [super drawInteriorWithFrame:cellFrame inView:controlView]; | 424 [super drawInteriorWithFrame:cellFrame inView:controlView]; |
425 } | 425 } |
426 | 426 |
427 - (BOOL)canDropAtLocationInWindow:(NSPoint)location | |
msw
2016/09/30 00:37:04
Ditto: Is this from a bad rebase?
| |
428 ofView:(AutocompleteTextField*)controlView { | |
429 NSRect cellFrame = [controlView bounds]; | |
430 const NSPoint locationInView = | |
431 [controlView convertPoint:location fromView:nil]; | |
432 | |
433 // If we have decorations, the drop can't occur at their horizontal padding. | |
434 if (!leftDecorations_.empty() && locationInView.x < LeftDecorationXOffset()) | |
435 return false; | |
436 | |
437 if (!rightDecorations_.empty() && | |
438 locationInView.x > NSWidth(cellFrame) - kRightDecorationXOffset) { | |
439 return false; | |
440 } | |
441 | |
442 LocationBarDecoration* decoration = | |
443 [self decorationForLocationInWindow:location | |
444 inRect:cellFrame | |
445 ofView:controlView]; | |
446 return !decoration; | |
447 } | |
448 | |
427 - (LocationBarDecoration*)decorationForEvent:(NSEvent*)theEvent | 449 - (LocationBarDecoration*)decorationForEvent:(NSEvent*)theEvent |
428 inRect:(NSRect)cellFrame | 450 inRect:(NSRect)cellFrame |
429 ofView:(AutocompleteTextField*)controlView | 451 ofView:(AutocompleteTextField*)controlView |
430 { | 452 { |
453 return [self decorationForLocationInWindow:[theEvent locationInWindow] | |
454 inRect:cellFrame | |
455 ofView:controlView]; | |
456 } | |
457 | |
458 - (LocationBarDecoration*)decorationForLocationInWindow:(NSPoint)location | |
459 inRect:(NSRect)cellFrame | |
460 ofView:(AutocompleteTextField*) | |
461 controlView { | |
431 const BOOL flipped = [controlView isFlipped]; | 462 const BOOL flipped = [controlView isFlipped]; |
432 const NSPoint location = | 463 const NSPoint locationInView = |
433 [controlView convertPoint:[theEvent locationInWindow] fromView:nil]; | 464 [controlView convertPoint:location fromView:nil]; |
434 | 465 |
435 std::vector<LocationBarDecoration*> decorations; | 466 std::vector<LocationBarDecoration*> decorations; |
436 std::vector<NSRect> decorationFrames; | 467 std::vector<NSRect> decorationFrames; |
437 NSRect textFrame; | 468 NSRect textFrame; |
438 CalculatePositionsInFrame(cellFrame, leftDecorations_, rightDecorations_, | 469 CalculatePositionsInFrame(cellFrame, leftDecorations_, rightDecorations_, |
439 &decorations, &decorationFrames, &textFrame); | 470 &decorations, &decorationFrames, &textFrame); |
440 | 471 |
441 for (size_t i = 0; i < decorations.size(); ++i) { | 472 for (size_t i = 0; i < decorations.size(); ++i) { |
442 if (NSMouseInRect(location, decorationFrames[i], flipped)) | 473 if (NSMouseInRect(locationInView, decorationFrames[i], flipped)) |
443 return decorations[i]; | 474 return decorations[i]; |
444 } | 475 } |
445 | 476 |
446 return NULL; | 477 return NULL; |
447 } | 478 } |
448 | 479 |
449 - (NSMenu*)decorationMenuForEvent:(NSEvent*)theEvent | 480 - (NSMenu*)decorationMenuForEvent:(NSEvent*)theEvent |
450 inRect:(NSRect)cellFrame | 481 inRect:(NSRect)cellFrame |
451 ofView:(AutocompleteTextField*)controlView { | 482 ofView:(AutocompleteTextField*)controlView { |
452 LocationBarDecoration* decoration = | 483 LocationBarDecoration* decoration = |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
745 | 776 |
746 - (void)handleFocusEvent:(NSEvent*)event | 777 - (void)handleFocusEvent:(NSEvent*)event |
747 ofView:(AutocompleteTextField*)controlView { | 778 ofView:(AutocompleteTextField*)controlView { |
748 if ([controlView observer]) { | 779 if ([controlView observer]) { |
749 const bool controlDown = ([event modifierFlags] & NSControlKeyMask) != 0; | 780 const bool controlDown = ([event modifierFlags] & NSControlKeyMask) != 0; |
750 [controlView observer]->OnSetFocus(controlDown); | 781 [controlView observer]->OnSetFocus(controlDown); |
751 } | 782 } |
752 } | 783 } |
753 | 784 |
754 @end | 785 @end |
OLD | NEW |