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

Unified Diff: chrome/browser/cocoa/toolbar_controller.mm

Issue 126075: Fix http://crbug.com/13971: OSX: Text copied from Omnibox is styled (Closed)
Patch Set: Fix-ed Created 11 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/cocoa/toolbar_controller.mm
diff --git a/chrome/browser/cocoa/toolbar_controller.mm b/chrome/browser/cocoa/toolbar_controller.mm
index 74f319f9f2a45c1d0248c0ac63d7988ed1e56eb5..81fdf04fc0fb433f76481bb18ff98e61f2fd7bc5 100644
--- a/chrome/browser/cocoa/toolbar_controller.mm
+++ b/chrome/browser/cocoa/toolbar_controller.mm
@@ -14,6 +14,30 @@
static NSString* const kStarImageName = @"star";
static NSString* const kStarredImageName = @"starred";
+@implementation LocationBarFieldEditor
+- (void)copy:(id)sender {
+ NSPasteboard* pb = [NSPasteboard generalPasteboard];
+ [self performCopy:pb];
+}
+
+- (void)cut:(id)sender {
+ NSPasteboard* pb = [NSPasteboard generalPasteboard];
+ [self performCut:pb];
+}
+
+- (void)performCopy:(NSPasteboard*)pb {
+ [pb declareTypes:[NSArray array] owner:nil];
+ [self writeSelectionToPasteboard:pb types:
+ [NSArray arrayWithObject:NSStringPboardType]];
+}
+
+- (void)performCut:(NSPasteboard*)pb {
+ [self performCopy:pb];
+ [self delete:nil];
+}
+
+@end
+
@interface ToolbarController(Private)
- (void)initCommandStatus:(CommandUpdater*)commands;
@end
@@ -51,10 +75,6 @@ static NSString* const kStarredImageName = @"starred";
[locationBar_ setFont:[NSFont systemFontOfSize:[NSFont systemFontSize]]];
}
-- (void)dealloc {
- [super dealloc];
-}
-
- (LocationBar*)locationBar {
return locationBarView_.get();
}
@@ -121,6 +141,23 @@ static NSString* const kStarredImageName = @"starred";
[goButton_ setTag:tag];
}
+- (id)customFieldEditorForObject:(id)obj {
+ if (obj == locationBar_) {
+ // Lazilly construct Field editor, Cocoa UI code always runs on the
+ // same thread, so there shoudn't be a race condition here.
+ if (locationBarFieldEditor_.get() == nil) {
+ locationBarFieldEditor_.reset([[LocationBarFieldEditor alloc] init]);
+ }
+
+ // This needs to be called every time, otherwise notifications
+ // aren't sent correctly.
+ DCHECK(locationBarFieldEditor_.get());
+ [locationBarFieldEditor_.get() setFieldEditor:YES];
+ return locationBarFieldEditor_.get();
+ }
+ return nil;
+}
+
// Returns an array of views in the order of the outlets above.
- (NSArray*)toolbarViews {
return [NSArray arrayWithObjects:backButton_, forwardButton_, reloadButton_,

Powered by Google App Engine
This is Rietveld 408576698