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

Side by Side Diff: chrome/browser/autocomplete/autocomplete_popup_view_mac.mm

Issue 6602070: Port autocomplete_edit_view_browsertest.cc to Mac. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix PrimarySelection test. Created 9 years, 9 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 | Annotate | Revision Log
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 #include <cmath> 5 #include <cmath>
6 6
7 #include "chrome/browser/autocomplete/autocomplete_popup_view_mac.h" 7 #include "chrome/browser/autocomplete/autocomplete_popup_view_mac.h"
8 8
9 #include "base/stl_util-inl.h" 9 #include "base/stl_util-inl.h"
10 #include "base/sys_string_conversions.h" 10 #include "base/sys_string_conversions.h"
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 // content view. 312 // content view.
313 if (popup_ && [[[popup_ contentView] subviews] count]) { 313 if (popup_ && [[[popup_ contentView] subviews] count]) {
314 NSArray* subviews = [[popup_ contentView] subviews]; 314 NSArray* subviews = [[popup_ contentView] subviews];
315 DCHECK_GE([subviews count], 0U); 315 DCHECK_GE([subviews count], 0U);
316 return (AutocompleteMatrix*)[subviews objectAtIndex:0]; 316 return (AutocompleteMatrix*)[subviews objectAtIndex:0];
317 } 317 }
318 return nil; 318 return nil;
319 } 319 }
320 320
321 bool AutocompletePopupViewMac::IsOpen() const { 321 bool AutocompletePopupViewMac::IsOpen() const {
322 return [popup_ isVisible] ? true : false; 322 return popup_ != nil;
323 } 323 }
324 324
325 void AutocompletePopupViewMac::CreatePopupIfNeeded() { 325 void AutocompletePopupViewMac::CreatePopupIfNeeded() {
326 if (!popup_) { 326 if (!popup_) {
327 popup_.reset([[NSWindow alloc] initWithContentRect:NSZeroRect 327 popup_.reset([[NSWindow alloc] initWithContentRect:NSZeroRect
328 styleMask:NSBorderlessWindowMask 328 styleMask:NSBorderlessWindowMask
329 backing:NSBackingStoreBuffered 329 backing:NSBackingStoreBuffered
330 defer:YES]); 330 defer:YES]);
331 [popup_ setMovableByWindowBackground:NO]; 331 [popup_ setMovableByWindowBackground:NO];
332 // The window shape is determined by the content view (OmniboxPopupView). 332 // The window shape is determined by the content view (OmniboxPopupView).
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 [[NSAnimationContext currentContext] setDuration:kShrinkAnimationDuration]; 402 [[NSAnimationContext currentContext] setDuration:kShrinkAnimationDuration];
403 [[popup_ animator] setFrame:popupFrame display:YES]; 403 [[popup_ animator] setFrame:popupFrame display:YES];
404 [NSAnimationContext endGrouping]; 404 [NSAnimationContext endGrouping];
405 405
406 if (!animate) { 406 if (!animate) {
407 // Restore the original animations dictionary. This does not reinstate any 407 // Restore the original animations dictionary. This does not reinstate any
408 // previously running animations. 408 // previously running animations.
409 [popup_ setAnimations:savedAnimations]; 409 [popup_ setAnimations:savedAnimations];
410 } 410 }
411 411
412 if (!IsOpen()) 412 if (![popup_ isVisible])
413 [[field_ window] addChildWindow:popup_ ordered:NSWindowAbove]; 413 [[field_ window] addChildWindow:popup_ ordered:NSWindowAbove];
414 } 414 }
415 415
416 NSImage* AutocompletePopupViewMac::ImageForMatch( 416 NSImage* AutocompletePopupViewMac::ImageForMatch(
417 const AutocompleteMatch& match) { 417 const AutocompleteMatch& match) {
418 const SkBitmap* bitmap = model_->GetSpecialIconForMatch(match); 418 const SkBitmap* bitmap = model_->GetSpecialIconForMatch(match);
419 if (bitmap) 419 if (bitmap)
420 return gfx::SkBitmapToNSImage(*bitmap); 420 return gfx::SkBitmapToNSImage(*bitmap);
421 421
422 const int resource_id = match.starred ? 422 const int resource_id = match.starred ?
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 bottomRightCornerRadius:kPopupRoundingRadius]; 821 bottomRightCornerRadius:kPopupRoundingRadius];
822 822
823 // Draw the matrix clipped to our border. 823 // Draw the matrix clipped to our border.
824 [NSGraphicsContext saveGraphicsState]; 824 [NSGraphicsContext saveGraphicsState];
825 [path addClip]; 825 [path addClip];
826 [super drawRect:rect]; 826 [super drawRect:rect];
827 [NSGraphicsContext restoreGraphicsState]; 827 [NSGraphicsContext restoreGraphicsState];
828 } 828 }
829 829
830 @end 830 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698