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

Side by Side Diff: chrome/browser/ui/cocoa/toolbar/toolbar_controller.mm

Issue 636283004: To ensure that the location bar will not reach the minimum width. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make naming consistent. Created 6 years, 1 month 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
« no previous file with comments | « chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" 5 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/mac/bundle_locations.h" 9 #include "base/mac/bundle_locations.h"
10 #include "base/mac/mac_util.h" 10 #include "base/mac/mac_util.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 @interface ToolbarController() 83 @interface ToolbarController()
84 @property(assign, nonatomic) Browser* browser; 84 @property(assign, nonatomic) Browser* browser;
85 - (void)addAccessibilityDescriptions; 85 - (void)addAccessibilityDescriptions;
86 - (void)initCommandStatus:(CommandUpdater*)commands; 86 - (void)initCommandStatus:(CommandUpdater*)commands;
87 - (void)prefChanged:(const std::string&)prefName; 87 - (void)prefChanged:(const std::string&)prefName;
88 - (BackgroundGradientView*)backgroundGradientView; 88 - (BackgroundGradientView*)backgroundGradientView;
89 - (void)toolbarFrameChanged; 89 - (void)toolbarFrameChanged;
90 - (void)pinLocationBarToLeftOfBrowserActionsContainerAndAnimate:(BOOL)animate; 90 - (void)pinLocationBarToLeftOfBrowserActionsContainerAndAnimate:(BOOL)animate;
91 - (void)maintainMinimumLocationBarWidth; 91 - (void)maintainMinimumLocationBarWidth;
92 - (void)adjustBrowserActionsContainerForNewWindow:(NSNotification*)notification; 92 - (void)adjustBrowserActionsContainerForNewWindow:(NSNotification*)notification;
93 - (void)browserActionsContainerWillDrag:(NSNotification*)notification;
93 - (void)browserActionsContainerDragged:(NSNotification*)notification; 94 - (void)browserActionsContainerDragged:(NSNotification*)notification;
94 - (void)browserActionsContainerDragFinished:(NSNotification*)notification; 95 - (void)browserActionsContainerDragFinished:(NSNotification*)notification;
95 - (void)browserActionsVisibilityChanged:(NSNotification*)notification; 96 - (void)browserActionsVisibilityChanged:(NSNotification*)notification;
96 - (void)adjustLocationSizeBy:(CGFloat)dX animate:(BOOL)animate; 97 - (void)adjustLocationSizeBy:(CGFloat)dX animate:(BOOL)animate;
97 - (void)updateWrenchButtonSeverity:(WrenchIconPainter::Severity)severity 98 - (void)updateWrenchButtonSeverity:(WrenchIconPainter::Severity)severity
98 animate:(BOOL)animate; 99 animate:(BOOL)animate;
99 @end 100 @end
100 101
101 namespace ToolbarControllerInternal { 102 namespace ToolbarControllerInternal {
102 103
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 } 585 }
585 } 586 }
586 587
587 - (void)createBrowserActionButtons { 588 - (void)createBrowserActionButtons {
588 if (!browserActionsController_.get()) { 589 if (!browserActionsController_.get()) {
589 browserActionsController_.reset([[BrowserActionsController alloc] 590 browserActionsController_.reset([[BrowserActionsController alloc]
590 initWithBrowser:browser_ 591 initWithBrowser:browser_
591 containerView:browserActionsContainerView_]); 592 containerView:browserActionsContainerView_]);
592 [[NSNotificationCenter defaultCenter] 593 [[NSNotificationCenter defaultCenter]
593 addObserver:self 594 addObserver:self
595 selector:@selector(browserActionsContainerWillDrag:)
596 name:kBrowserActionGrippyWillDragNotification
597 object:browserActionsController_];
598 [[NSNotificationCenter defaultCenter]
599 addObserver:self
594 selector:@selector(browserActionsContainerDragged:) 600 selector:@selector(browserActionsContainerDragged:)
595 name:kBrowserActionGrippyDraggingNotification 601 name:kBrowserActionGrippyDraggingNotification
596 object:browserActionsController_]; 602 object:browserActionsController_];
597 [[NSNotificationCenter defaultCenter] 603 [[NSNotificationCenter defaultCenter]
598 addObserver:self 604 addObserver:self
599 selector:@selector(browserActionsContainerDragFinished:) 605 selector:@selector(browserActionsContainerDragFinished:)
600 name:kBrowserActionGrippyDragFinishedNotification 606 name:kBrowserActionGrippyDragFinishedNotification
601 object:browserActionsController_]; 607 object:browserActionsController_];
602 [[NSNotificationCenter defaultCenter] 608 [[NSNotificationCenter defaultCenter]
603 addObserver:self 609 addObserver:self
(...skipping 28 matching lines...) Expand all
632 [browserActionsContainerView_ setGrippyPinned:locationBarAtMinSize_]; 638 [browserActionsContainerView_ setGrippyPinned:locationBarAtMinSize_];
633 [self adjustLocationSizeBy: 639 [self adjustLocationSizeBy:
634 [browserActionsContainerView_ resizeDeltaX] animate:NO]; 640 [browserActionsContainerView_ resizeDeltaX] animate:NO];
635 } 641 }
636 642
637 - (void)browserActionsContainerDragFinished:(NSNotification*)notification { 643 - (void)browserActionsContainerDragFinished:(NSNotification*)notification {
638 [browserActionsController_ resizeContainerAndAnimate:YES]; 644 [browserActionsController_ resizeContainerAndAnimate:YES];
639 [self pinLocationBarToLeftOfBrowserActionsContainerAndAnimate:YES]; 645 [self pinLocationBarToLeftOfBrowserActionsContainerAndAnimate:YES];
640 } 646 }
641 647
648 - (void)browserActionsContainerWillDrag:(NSNotification*)notification {
649 CGFloat deltaX = [[notification.userInfo objectForKey:kTranslationWithDelta]
650 floatValue];
651 CGFloat locationBarWidth = NSWidth([locationBar_ frame]);
652 BOOL locationBarWillBeAtMinSize =
653 (locationBarWidth + deltaX) <= kMinimumLocationBarWidth;
654
655 // Prevent the |browserActionsContainerView_| from dragging if the width of
656 // location bar will reach the minimum.
657 [browserActionsContainerView_ setCanDragLeft:!locationBarWillBeAtMinSize];
658 }
659
642 - (void)browserActionsVisibilityChanged:(NSNotification*)notification { 660 - (void)browserActionsVisibilityChanged:(NSNotification*)notification {
643 [self pinLocationBarToLeftOfBrowserActionsContainerAndAnimate:NO]; 661 [self pinLocationBarToLeftOfBrowserActionsContainerAndAnimate:NO];
644 } 662 }
645 663
646 - (void)pinLocationBarToLeftOfBrowserActionsContainerAndAnimate:(BOOL)animate { 664 - (void)pinLocationBarToLeftOfBrowserActionsContainerAndAnimate:(BOOL)animate {
647 CGFloat locationBarXPos = NSMaxX([locationBar_ frame]); 665 CGFloat locationBarXPos = NSMaxX([locationBar_ frame]);
648 CGFloat leftDistance; 666 CGFloat leftDistance;
649 667
650 if ([browserActionsContainerView_ isHidden]) { 668 if ([browserActionsContainerView_ isHidden]) {
651 CGFloat edgeXPos = [wrenchButton_ frame].origin.x; 669 CGFloat edgeXPos = [wrenchButton_ frame].origin.x;
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 - (void)hideDropURLsIndicatorInView:(NSView*)view { 848 - (void)hideDropURLsIndicatorInView:(NSView*)view {
831 // Do nothing. 849 // Do nothing.
832 } 850 }
833 851
834 // (URLDropTargetController protocol) 852 // (URLDropTargetController protocol)
835 - (BOOL)isUnsupportedDropData:(id<NSDraggingInfo>)info { 853 - (BOOL)isUnsupportedDropData:(id<NSDraggingInfo>)info {
836 return drag_util::IsUnsupportedDropData(profile_, info); 854 return drag_util::IsUnsupportedDropData(profile_, info);
837 } 855 }
838 856
839 @end 857 @end
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698