From a9be4bcf7b568b6b3c26cfcbda1138aae74deff3 Mon Sep 17 00:00:00 2001 From: "rohitrao@chromium.org" Date: Fri, 23 Oct 2009 03:22:23 +0000 Subject: [Mac] Remove flicker when typing in the findbar. BUG=http://crbug.com/25590 TEST=No flicker when typing in findbar. Review URL: http://codereview.chromium.org/333007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29868 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/cocoa/find_bar_cocoa_controller.h | 3 +++ chrome/browser/cocoa/find_bar_cocoa_controller.mm | 4 ++++ 2 files changed, 7 insertions(+) (limited to 'chrome/browser/cocoa') diff --git a/chrome/browser/cocoa/find_bar_cocoa_controller.h b/chrome/browser/cocoa/find_bar_cocoa_controller.h index 523db10..b974fcf 100644 --- a/chrome/browser/cocoa/find_bar_cocoa_controller.h +++ b/chrome/browser/cocoa/find_bar_cocoa_controller.h @@ -39,6 +39,9 @@ class FindNotificationDetails; // running (stopAnimation is currently called before the last tab in a // window is removed). scoped_nsobject currentAnimation_; + + // If YES, do nothing as a result of find pasteboard update notifications. + BOOL suppressPboardUpdateActions_; }; // Initializes a new FindBarCocoaController. diff --git a/chrome/browser/cocoa/find_bar_cocoa_controller.mm b/chrome/browser/cocoa/find_bar_cocoa_controller.mm index 995f29c..dc39596 100644 --- a/chrome/browser/cocoa/find_bar_cocoa_controller.mm +++ b/chrome/browser/cocoa/find_bar_cocoa_controller.mm @@ -92,6 +92,8 @@ static float kFindBarCloseDuration = 0.15; } - (void)findPboardUpdated:(NSNotification*)notification { + if (suppressPboardUpdateActions_) + return; [self prepopulateText:[[FindPasteboard sharedInstance] findText] stopSearch:YES]; } @@ -132,7 +134,9 @@ static float kFindBarCloseDuration = 0.15; return; NSString* findText = [findText_ stringValue]; + suppressPboardUpdateActions_ = YES; [[FindPasteboard sharedInstance] setFindText:findText]; + suppressPboardUpdateActions_ = NO; if ([findText length] > 0) { tab_contents->StartFinding(base::SysNSStringToUTF16(findText), true, false); -- cgit v1.1