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

Side by Side Diff: chrome/browser/cocoa/autocomplete_text_field_cell.mm

Issue 1540009: [Mac] Move star button into page-actions area of omnibox. (Closed)
Patch Set: Why did the trybot fail? I can't see anything. Created 10 years, 8 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/autocomplete_text_field_cell.h" 5 #import "chrome/browser/cocoa/autocomplete_text_field_cell.h"
6 6
7 #include "app/resource_bundle.h" 7 #include "app/resource_bundle.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "gfx/font.h" 9 #include "gfx/font.h"
10 10
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 } 265 }
266 266
267 - (void)setPageActionViewList:(LocationBarViewMac::PageActionViewList*)list { 267 - (void)setPageActionViewList:(LocationBarViewMac::PageActionViewList*)list {
268 page_action_views_ = list; 268 page_action_views_ = list;
269 } 269 }
270 270
271 - (void)setLocationIconView:(LocationBarViewMac::LocationIconView*)view { 271 - (void)setLocationIconView:(LocationBarViewMac::LocationIconView*)view {
272 locationIconView_ = view; 272 locationIconView_ = view;
273 } 273 }
274 274
275 - (void)setStarIconView:(LocationBarViewMac::LocationBarImageView*)view {
276 starIconView_ = view;
277 }
278
275 - (void)setSecurityLabelView:(LocationBarViewMac::LocationBarImageView*)view { 279 - (void)setSecurityLabelView:(LocationBarViewMac::LocationBarImageView*)view {
276 securityLabelView_ = view; 280 securityLabelView_ = view;
277 } 281 }
278 282
279 - (void)setContentSettingViewsList: 283 - (void)setContentSettingViewsList:
280 (LocationBarViewMac::ContentSettingViews*)views { 284 (LocationBarViewMac::ContentSettingViews*)views {
281 content_setting_views_ = views; 285 content_setting_views_ = views;
282 } 286 }
283 287
284 // Overriden to account for the hint strings and hint icons. 288 // Overriden to account for the hint strings and hint icons.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 if (!locationIconView_ || !locationIconView_->IsVisible()) 337 if (!locationIconView_ || !locationIconView_->IsVisible())
334 return NSZeroRect; 338 return NSZeroRect;
335 339
336 const NSSize imageSize = locationIconView_->GetImageSize(); 340 const NSSize imageSize = locationIconView_->GetImageSize();
337 const CGFloat yOffset = floor((NSHeight(cellFrame) - imageSize.height) / 2); 341 const CGFloat yOffset = floor((NSHeight(cellFrame) - imageSize.height) / 2);
338 return NSMakeRect(NSMinX(cellFrame) + kLocationIconXOffset, 342 return NSMakeRect(NSMinX(cellFrame) + kLocationIconXOffset,
339 NSMinY(cellFrame) + yOffset, 343 NSMinY(cellFrame) + yOffset,
340 imageSize.width, imageSize.height); 344 imageSize.width, imageSize.height);
341 } 345 }
342 346
347 - (NSRect)starIconFrameForFrame:(NSRect)cellFrame {
348 if (!starIconView_ || !starIconView_->IsVisible())
349 return NSZeroRect;
350
351 // The star icon is always at the RHS.
352 scoped_nsobject<AutocompleteTextFieldIcon> icon(
353 [[AutocompleteTextFieldIcon alloc] initImageWithView:starIconView_]);
354 cellFrame.size.width -= kHintXOffset;
355 [icon positionInFrame:cellFrame];
356 return [icon rect];
357 }
358
343 - (size_t)pageActionCount { 359 - (size_t)pageActionCount {
344 // page_action_views_ may be NULL during testing, or if the 360 // page_action_views_ may be NULL during testing, or if the
345 // containing LocationViewMac object has already been destructed 361 // containing LocationViewMac object has already been destructed
346 // (happens sometimes during window shutdown). 362 // (happens sometimes during window shutdown).
347 if (!page_action_views_) 363 if (!page_action_views_)
348 return 0; 364 return 0;
349 return page_action_views_->Count(); 365 return page_action_views_->Count();
350 } 366 }
351 367
352 - (NSRect)pageActionFrameForIndex:(size_t)index inFrame:(NSRect)cellFrame { 368 - (NSRect)pageActionFrameForIndex:(size_t)index inFrame:(NSRect)cellFrame {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 } 480 }
465 481
466 // TODO(shess): Previous implementation of this method made a 482 // TODO(shess): Previous implementation of this method made a
467 // right-to-left array, so add the page-action items in that order. 483 // right-to-left array, so add the page-action items in that order.
468 // As part of the refactor mentioned above, lay everything out 484 // As part of the refactor mentioned above, lay everything out
469 // nicely left-to-right. 485 // nicely left-to-right.
470 for (size_t i = [self pageActionCount]; i-- > 0;) { 486 for (size_t i = [self pageActionCount]; i-- > 0;) {
471 views.push_back(page_action_views_->ViewAt(i)); 487 views.push_back(page_action_views_->ViewAt(i));
472 } 488 }
473 489
490 // The star icon should always come last.
491 if (starIconView_)
492 views.push_back(starIconView_);
493
474 // Load the visible views into |result|. 494 // Load the visible views into |result|.
475 for (std::vector<LocationBarViewMac::LocationBarImageView*>::const_iterator 495 for (std::vector<LocationBarViewMac::LocationBarImageView*>::const_iterator
476 iter = views.begin(); iter != views.end(); ++iter) { 496 iter = views.begin(); iter != views.end(); ++iter) {
477 if ((*iter)->IsVisible()) { 497 if ((*iter)->IsVisible()) {
478 scoped_nsobject<AutocompleteTextFieldIcon> icon( 498 scoped_nsobject<AutocompleteTextFieldIcon> icon(
479 [[AutocompleteTextFieldIcon alloc] initImageWithView:*iter]); 499 [[AutocompleteTextFieldIcon alloc] initImageWithView:*iter]);
480 [result addObject:icon]; 500 [result addObject:icon];
481 } 501 }
482 } 502 }
483 503
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 icon = [self iconForEvent:theEvent inRect:cellFrame ofView:controlView]; 557 icon = [self iconForEvent:theEvent inRect:cellFrame ofView:controlView];
538 if (icon) { 558 if (icon) {
539 [icon view]->OnMousePressed([icon rect]); 559 [icon view]->OnMousePressed([icon rect]);
540 return YES; 560 return YES;
541 } 561 }
542 562
543 return NO; 563 return NO;
544 } 564 }
545 565
546 @end 566 @end
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/autocomplete_text_field_cell.h ('k') | chrome/browser/cocoa/bookmark_bubble_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698