Index: chrome/browser/ui/cocoa/website_settings/website_settings_bubble_controller.mm |
diff --git a/chrome/browser/ui/cocoa/website_settings/website_settings_bubble_controller.mm b/chrome/browser/ui/cocoa/website_settings/website_settings_bubble_controller.mm |
index 1968d1ecb64a3189e851d3fd0c660e8d6e84e1da..1d47e9eada6a1a740e1c812f4c3d0f895db5acbd 100644 |
--- a/chrome/browser/ui/cocoa/website_settings/website_settings_bubble_controller.mm |
+++ b/chrome/browser/ui/cocoa/website_settings/website_settings_bubble_controller.mm |
@@ -58,31 +58,29 @@ using ChosenObjectDeleteCallback = |
namespace { |
+/**************** General ****************/ |
+ |
// The default width of the window, in view coordinates. It may be larger to |
// fit the content. |
-const CGFloat kDefaultWindowWidth = 310; |
- |
-// Padding between the window frame and content. |
-const CGFloat kFramePadding = 20; |
- |
-// Padding between the window frame and content. |
-const CGFloat kVerticalSectionMargin = 16; |
+const CGFloat kDefaultWindowWidth = 320; |
-// Padding between the window frame and content for the internal page bubble. |
-const CGFloat kInternalPageFramePadding = 10; |
+// Padding around each section |
+const CGFloat kSectionVerticalPadding = 20; |
+const CGFloat kSectionHorizontalPadding = 16; |
// Spacing between the identity field and the security summary. |
const CGFloat kSpacingBeforeSecuritySummary = 2; |
+/**************** Security Section ****************/ |
+ |
// Spacing between the security summary and the reset decisions button. |
const CGFloat kSpacingBeforeResetDecisionsButton = 8; |
+/**************** Site Settings Section ****************/ |
+ |
// Spacing between parts of the site settings section. |
const CGFloat kSiteSettingsSectionSpacing = 2; |
-// Spacing between the image and text for internal pages. |
-const CGFloat kInternalPageImageSpacing = 10; |
- |
// Square size of the permission images. |
const CGFloat kPermissionImageSize = 19; |
@@ -109,6 +107,16 @@ const CGFloat kPermissionPopUpXSpacing = 3; |
// |IDS_WEBSITE_SETTINGS_{FIRST,THIRD}_PARTY_SITE_DATA| next to each other. |
const CGFloat kTextLabelXPadding = 5; |
+/**************** Internal Page Bubble ****************/ |
+ |
+// Padding between the window frame and content for the internal page bubble. |
+const CGFloat kInternalPageFramePadding = 10; |
+ |
+// Spacing between the image and text for internal pages. |
+const CGFloat kInternalPageImageSpacing = 10; |
+ |
+/********************************/ |
+ |
// NOTE: This assumes that there will never be more than one website settings |
// popup shown, and that the one that is shown is associated with the current |
// window. This matches the behaviour in views: see WebsiteSettingsPopupView. |
@@ -316,7 +324,7 @@ bool IsInternalURL(const GURL& url) { |
// Create a controlOrigin to place the text fields. The y value doesn't |
// matter, because the correct value is calculated in -performLayout. |
- NSPoint controlOrigin = NSMakePoint(kFramePadding, 0); |
+ NSPoint controlOrigin = NSMakePoint(kSectionHorizontalPadding, 0); |
// Create a text field (empty for now) to show the site identity. |
identityField_ = [self addText:base::string16() |
@@ -459,20 +467,17 @@ bool IsInternalURL(const GURL& url) { |
[self setWidthOfView:securitySectionView_ to:contentWidth]; |
[self setWidthOfView:siteSettingsSectionView_ to:contentWidth]; |
- CGFloat yPos = info_bubble::kBubbleArrowHeight; |
+ CGFloat yPos = 0; |
[self layoutSecuritySection]; |
- yPos = [self setYPositionOfView:securitySectionView_ to:yPos + kFramePadding]; |
+ yPos = [self setYPositionOfView:securitySectionView_ to:yPos]; |
- yPos = [self setYPositionOfView:separatorAfterSecuritySection_ |
- to:yPos + kVerticalSectionMargin]; |
+ yPos = [self setYPositionOfView:separatorAfterSecuritySection_ to:yPos]; |
[self layoutSiteSettingsSection]; |
- yPos = [self setYPositionOfView:siteSettingsSectionView_ |
- to:yPos + kVerticalSectionMargin]; |
+ yPos = [self setYPositionOfView:siteSettingsSectionView_ to:yPos]; |
- [contentView_ setFrame:NSMakeRect(0, 0, NSWidth([contentView_ frame]), |
- yPos + kFramePadding)]; |
+ [contentView_ setFrame:NSMakeRect(0, 0, NSWidth([contentView_ frame]), yPos)]; |
[self sizeAndPositionWindow]; |
} |
@@ -482,7 +487,8 @@ bool IsInternalURL(const GURL& url) { |
CGFloat yPos = 0; |
[self sizeTextFieldHeightToFit:identityField_]; |
- yPos = [self setYPositionOfView:identityField_ to:yPos]; |
+ yPos = [self setYPositionOfView:identityField_ |
+ to:yPos + kSectionVerticalPadding]; |
[self sizeTextFieldHeightToFit:securitySummaryField_]; |
yPos = [self setYPositionOfView:securitySummaryField_ |
@@ -503,14 +509,15 @@ bool IsInternalURL(const GURL& url) { |
} |
// Resize the height based on contents. |
- [self setHeightOfView:securitySectionView_ to:yPos]; |
+ [self setHeightOfView:securitySectionView_ to:yPos + kSectionVerticalPadding]; |
} |
- (void)layoutSiteSettingsSection { |
// Start the layout with the first element. Margins are handled by the caller. |
CGFloat yPos = 0; |
- yPos = [self setYPositionOfView:cookiesView_ to:yPos]; |
+ yPos = |
+ [self setYPositionOfView:cookiesView_ to:yPos + kSectionVerticalPadding]; |
if (permissionsPresent_) { |
// Put the permission info just below the link button. |
@@ -522,11 +529,13 @@ bool IsInternalURL(const GURL& url) { |
// TODO(lgarron): set the position of this based on RTL/LTR. |
// http://code.google.com/p/chromium/issues/detail?id=525304 |
yPos += kSiteSettingsSectionSpacing; |
- [siteSettingsButton_ setFrameOrigin:NSMakePoint(kFramePadding, yPos)]; |
+ [siteSettingsButton_ |
+ setFrameOrigin:NSMakePoint(kSectionHorizontalPadding, yPos)]; |
yPos = NSMaxY([siteSettingsButton_ frame]); |
// Resize the height based on contents. |
- [self setHeightOfView:siteSettingsSectionView_ to:yPos]; |
+ [self setHeightOfView:siteSettingsSectionView_ |
+ to:yPos + kSectionVerticalPadding]; |
} |
// Adjust the size of the window to match the size of the content, and position |
@@ -577,7 +586,7 @@ bool IsInternalURL(const GURL& url) { |
atPoint:(NSPoint)point { |
// Size the text to take up the full available width, with some padding. |
// The height is arbitrary as it will be adjusted later. |
- CGFloat width = NSWidth([view frame]) - point.x - kFramePadding; |
+ CGFloat width = NSWidth([view frame]) - point.x - kSectionHorizontalPadding; |
NSRect frame = NSMakeRect(point.x, point.y, width, 100); |
base::scoped_nsobject<NSTextField> textField( |
[[NSTextField alloc] initWithFrame:frame]); |
@@ -617,7 +626,7 @@ bool IsInternalURL(const GURL& url) { |
// Add a link button with the given text to |view|. |
- (NSButton*)addLinkButtonWithText:(NSString*)text toView:(NSView*)view { |
// Frame size is arbitrary; it will be adjusted by the layout tweaker. |
- NSRect frame = NSMakeRect(kFramePadding, 0, 100, 10); |
+ NSRect frame = NSMakeRect(kSectionHorizontalPadding, 0, 100, 10); |
base::scoped_nsobject<NSButton> button( |
[[NSButton alloc] initWithFrame:frame]); |
base::scoped_nsobject<HyperlinkButtonCell> cell( |
@@ -637,7 +646,7 @@ bool IsInternalURL(const GURL& url) { |
- (NSButton*)addButtonWithText:(NSString*)text toView:(NSView*)view { |
NSRect containerFrame = [view frame]; |
// Frame size is arbitrary; it will be adjusted by the layout tweaker. |
- NSRect frame = NSMakeRect(kFramePadding, 0, 100, 10); |
+ NSRect frame = NSMakeRect(kSectionHorizontalPadding, 0, 100, 10); |
base::scoped_nsobject<NSButton> button( |
[[NSButton alloc] initWithFrame:frame]); |
@@ -645,7 +654,8 @@ bool IsInternalURL(const GURL& url) { |
// of the connection section minus the padding on both sides minus the |
// connection image size and spacing. |
// TODO(lgarron): handle this sizing in -performLayout. |
- CGFloat maxTitleWidth = containerFrame.size.width - kFramePadding * 2; |
+ CGFloat maxTitleWidth = |
+ containerFrame.size.width - kSectionHorizontalPadding * 2; |
base::scoped_nsobject<NSButtonCell> cell( |
[[NSButtonCell alloc] initTextCell:text]); |
@@ -710,8 +720,9 @@ bool IsInternalURL(const GURL& url) { |
// Ensure the containing view is large enough to contain the button with its |
// widest possible title. |
NSRect containerFrame = [view frame]; |
- containerFrame.size.width = std::max( |
- NSWidth(containerFrame), point.x + maxTitleWidth + kFramePadding); |
+ containerFrame.size.width = |
+ std::max(NSWidth(containerFrame), |
+ point.x + maxTitleWidth + kSectionHorizontalPadding); |
[view setFrame:containerFrame]; |
[view addSubview:button.get()]; |
return button.get(); |
@@ -735,8 +746,8 @@ bool IsInternalURL(const GURL& url) { |
// Ensure the containing view is large enough to contain the button. |
NSRect containerFrame = [view frame]; |
containerFrame.size.width = |
- std::max(NSWidth(containerFrame), |
- point.x + kPermissionDeleteImageSize + kFramePadding); |
+ std::max(NSWidth(containerFrame), point.x + kPermissionDeleteImageSize + |
+ kSectionHorizontalPadding); |
[view setFrame:containerFrame]; |
[view addSubview:button.get()]; |
return button.get(); |
@@ -780,7 +791,7 @@ bool IsInternalURL(const GURL& url) { |
if (isRTL) { |
point.x = NSWidth([view frame]) - kPermissionImageSize - |
- kPermissionImageSpacing - kFramePadding; |
+ kPermissionImageSpacing - kSectionHorizontalPadding; |
imageView = [self addImageWithSize:[image size] toView:view atPoint:point]; |
[imageView setImage:image]; |
point.x -= kPermissionImageSpacing; |
@@ -870,7 +881,7 @@ bool IsInternalURL(const GURL& url) { |
if (isRTL) { |
point.x = NSWidth([view frame]) - kPermissionImageSize - |
- kPermissionImageSpacing - kFramePadding; |
+ kPermissionImageSpacing - kSectionHorizontalPadding; |
imageView = [self addImageWithSize:[image size] toView:view atPoint:point]; |
[imageView setImage:image]; |
point.x -= kPermissionImageSpacing; |
@@ -972,7 +983,7 @@ bool IsInternalURL(const GURL& url) { |
base::i18n::GetStringDirection(firstPartyLabelText); |
[cookiesView_ setSubviews:[NSArray array]]; |
- NSPoint controlOrigin = NSMakePoint(kFramePadding, 0); |
+ NSPoint controlOrigin = NSMakePoint(kSectionHorizontalPadding, 0); |
NSTextField* label; |
@@ -986,7 +997,8 @@ bool IsInternalURL(const GURL& url) { |
[header sizeToFit]; |
if (isRTL) { |
- controlOrigin.x = viewWidth - kFramePadding - NSWidth([header frame]); |
+ controlOrigin.x = |
+ viewWidth - kSectionHorizontalPadding - NSWidth([header frame]); |
[header setFrameOrigin:controlOrigin]; |
} |
controlOrigin.y += NSHeight([header frame]) + kPermissionsHeadlineSpacing; |
@@ -995,7 +1007,7 @@ bool IsInternalURL(const GURL& url) { |
// Reset X for the cookie image. |
if (isRTL) { |
controlOrigin.x = viewWidth - kPermissionImageSize - |
- kPermissionImageSpacing - kFramePadding; |
+ kPermissionImageSpacing - kSectionHorizontalPadding; |
} |
WebsiteSettingsUI::PermissionInfo info; |
@@ -1061,7 +1073,7 @@ bool IsInternalURL(const GURL& url) { |
- (void)setPermissionInfo:(const PermissionInfoList&)permissionInfoList |
andChosenObjects:(const ChosenObjectInfoList&)chosenObjectInfoList { |
[permissionsView_ setSubviews:[NSArray array]]; |
- NSPoint controlOrigin = NSMakePoint(kFramePadding, 0); |
+ NSPoint controlOrigin = NSMakePoint(kSectionHorizontalPadding, 0); |
permissionsPresent_ = YES; |
@@ -1077,8 +1089,8 @@ bool IsInternalURL(const GURL& url) { |
atPoint:controlOrigin]; |
[header sizeToFit]; |
if (isRTL) { |
- controlOrigin.x = NSWidth([permissionsView_ frame]) - kFramePadding - |
- NSWidth([header frame]); |
+ controlOrigin.x = NSWidth([permissionsView_ frame]) - |
+ kSectionHorizontalPadding - NSWidth([header frame]); |
[header setFrameOrigin:controlOrigin]; |
} |
controlOrigin.y += NSHeight([header frame]) + kPermissionsHeadlineSpacing; |
@@ -1099,7 +1111,7 @@ bool IsInternalURL(const GURL& url) { |
controlOrigin.y = rowBottomRight.y; |
} |
- controlOrigin.y += kFramePadding; |
+ controlOrigin.y += kPermissionsTabSpacing; |
} |
[permissionsView_ setFrameSize: |