Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / extensions / media_galleries_dialog_cocoa.mm
index a92f70b..cae9226 100644 (file)
@@ -26,7 +26,7 @@
   MediaGalleriesDialogCocoa* dialog_;
 }
 
-@property(nonatomic, assign) MediaGalleriesDialogCocoa* dialog;
+@property(assign, nonatomic) MediaGalleriesDialogCocoa* dialog;
 
 @end
 
 
 @end
 
+
 @interface MediaGalleriesCheckbox : NSButton {
  @private
-  MediaGalleriesDialogCocoa* dialog_;
+  MediaGalleriesDialogCocoa* dialog_;  // |dialog_| owns |this|.
   MediaGalleryPrefId prefId_;
-  base::scoped_nsobject<MenuController> menu_controller_;
+  base::scoped_nsobject<MenuController> menuController_;
 }
 
 - (id)initWithFrame:(NSRect)frameRect
 }
 
 - (NSMenu*)menuForEvent:(NSEvent*)theEvent {
-  menu_controller_.reset(
-    [[MenuController alloc] initWithModel:dialog_->GetContextMenuModel(prefId_)
+  menuController_.reset(
+    [[MenuController alloc] initWithModel:dialog_->GetContextMenu(prefId_)
                    useWithPopUpButtonCell:NO]);
-  return [menu_controller_ menu];
+  return [menuController_ menu];
 }
 
 @end
@@ -112,7 +113,8 @@ MediaGalleriesDialogCocoa::MediaGalleriesDialogCocoa(
   alert_.reset([[ConstrainedWindowAlert alloc] init]);
 
   [alert_ setMessageText:base::SysUTF16ToNSString(controller_->GetHeader())];
-  [alert_ setInformativeText:SysUTF16ToNSString(controller_->GetSubtext())];
+  [alert_ setInformativeText:
+      base::SysUTF16ToNSString(controller_->GetSubtext())];
   [alert_ addButtonWithTitle:
     l10n_util::GetNSString(IDS_MEDIA_GALLERIES_DIALOG_CONFIRM)
                keyEquivalent:kKeyEquivalentReturn
@@ -147,24 +149,25 @@ MediaGalleriesDialogCocoa::~MediaGalleriesDialogCocoa() {
 }
 
 void MediaGalleriesDialogCocoa::InitDialogControls() {
-  accessory_.reset([[NSBox alloc] init]);
-  [accessory_ setBoxType:NSBoxCustom];
-  [accessory_ setBorderType:NSLineBorder];
-  [accessory_ setBorderWidth:1];
-  [accessory_ setCornerRadius:0];
-  [accessory_ setTitlePosition:NSNoTitle];
-  [accessory_ setBorderColor:[NSColor colorWithCalibratedRed:0.625
-                                                       green:0.625
-                                                        blue:0.625
-                                                       alpha:1.0]];
-
-  base::scoped_nsobject<NSScrollView> scroll_view([[NSScrollView alloc]
-      initWithFrame:NSMakeRect(0, 0, kCheckboxMaxWidth, kScrollAreaHeight)]);
+  main_container_.reset([[NSBox alloc] init]);
+  [main_container_ setBoxType:NSBoxCustom];
+  [main_container_ setBorderType:NSLineBorder];
+  [main_container_ setBorderWidth:0];
+  [main_container_ setCornerRadius:0];
+  [main_container_ setTitlePosition:NSNoTitle];
+  [main_container_ setBorderColor:[NSColor colorWithCalibratedRed:0.625
+                                                            green:0.625
+                                                             blue:0.625
+                                                            alpha:1.0]];
+
+  base::scoped_nsobject<NSScrollView> scroll_view(
+      [[NSScrollView alloc] initWithFrame:
+          NSMakeRect(0, 0, kCheckboxMaxWidth, kScrollAreaHeight)]);
   [scroll_view setHasVerticalScroller:YES];
   [scroll_view setHasHorizontalScroller:NO];
   [scroll_view setBorderType:NSNoBorder];
   [scroll_view setAutohidesScrollers:YES];
-  [[accessory_ contentView] addSubview:scroll_view];
+  [[main_container_ contentView] addSubview:scroll_view];
 
   // Add gallery permission checkboxes inside the scrolling view.
   checkbox_container_.reset([[FlippedView alloc] initWithFrame:NSZeroRect]);
@@ -191,9 +194,9 @@ void MediaGalleriesDialogCocoa::InitDialogControls() {
     [scroll_view setFrame:scroll_frame];
   }
 
-  [accessory_ setFrame:NSMakeRect(
+  [main_container_ setFrame:NSMakeRect(
       0, 0, kCheckboxMaxWidth, NSHeight(scroll_frame))];
-  [alert_ setAccessoryView:accessory_];
+  [alert_ setAccessoryView:main_container_];
 
   // As a safeguard against the user skipping reading over the dialog and just
   // confirming, the button will be unavailable for dialogs without any checks
@@ -327,6 +330,7 @@ void MediaGalleriesDialogCocoa::UpdateGalleryCheckbox(
     const MediaGalleryPrefInfo& gallery,
     bool permitted,
     CGFloat y_pos) {
+  // Checkbox.
   base::scoped_nsobject<MediaGalleriesCheckbox> checkbox(
       [[MediaGalleriesCheckbox alloc] initWithFrame:NSZeroRect
                                              dialog:this
@@ -339,7 +343,6 @@ void MediaGalleriesDialogCocoa::UpdateGalleryCheckbox(
   [checkbox setAction:@selector(onCheckboxToggled:)];
   [checkboxes_ addObject:checkbox];
 
-  // TODO(gbillock): Would be nice to add middle text elide behavior here.
   [checkbox setTitle:base::SysUTF16ToNSString(
       gallery.GetGalleryDisplayName())];
   [checkbox setToolTip:base::SysUTF16ToNSString(gallery.GetGalleryTooltip())];
@@ -347,12 +350,8 @@ void MediaGalleriesDialogCocoa::UpdateGalleryCheckbox(
 
   [checkbox sizeToFit];
   NSRect rect = [checkbox bounds];
-  rect.origin.y = y_pos;
-  rect.origin.x = kCheckboxMargin;
-  rect.size.width = std::min(NSWidth(rect), kCheckboxMaxWidth);
-  [checkbox setFrame:rect];
-  [checkbox_container_ addSubview:checkbox];
 
+  // Detail text.
   base::scoped_nsobject<NSTextField> details(
       [[NSTextField alloc] initWithFrame:NSZeroRect]);
   [details setEditable:NO];
@@ -371,9 +370,16 @@ void MediaGalleriesDialogCocoa::UpdateGalleryCheckbox(
                                                   alpha:1.0]];
   [details sizeToFit];
   NSRect details_rect = [details bounds];
-  details_rect.origin.y = y_pos - 1;
-  details_rect.origin.x = kCheckboxMargin + rect.size.width + kCheckboxMargin;
-  details_rect.size.width = kCheckboxMaxWidth - details_rect.origin.x;
+
+  // The checkbox will elide so reduce its size so it will all fit.
+  rect.size.width =
+      std::min(NSWidth(rect),
+               kCheckboxMaxWidth - 3 * kCheckboxMargin - NSWidth(details_rect));
+  rect.origin = NSMakePoint(kCheckboxMargin, y_pos);
+  [checkbox setFrame:rect];
+  [checkbox_container_ addSubview:checkbox];
+
+  details_rect.origin = NSMakePoint(NSMaxX(rect) + kCheckboxMargin, y_pos - 1);
   [details setFrame:details_rect];
 
   [checkbox_container_ addSubview:details];
@@ -388,9 +394,9 @@ void MediaGalleriesDialogCocoa::OnConstrainedWindowClosed(
   controller_->DialogFinished(accepted_);
 }
 
-ui::MenuModel* MediaGalleriesDialogCocoa::GetContextMenuModel(
+ui::MenuModel* MediaGalleriesDialogCocoa::GetContextMenu(
     MediaGalleryPrefId prefid) {
-  return controller_->GetContextMenuModel(prefid);
+  return controller_->GetContextMenu(prefid);
 }
 
 // static