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

Unified Diff: ui/views/cocoa/bridged_native_widget.mm

Issue 329463002: MacViews: Implement text input. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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: ui/views/cocoa/bridged_native_widget.mm
diff --git a/ui/views/cocoa/bridged_native_widget.mm b/ui/views/cocoa/bridged_native_widget.mm
index 2116ba36d86f66a3c65c025d86a1acea82f9536b..5bfe7bcb13df9eee35ac19a04f001403f6e494df 100644
--- a/ui/views/cocoa/bridged_native_widget.mm
+++ b/ui/views/cocoa/bridged_native_widget.mm
@@ -5,7 +5,8 @@
#import "ui/views/cocoa/bridged_native_widget.h"
#include "base/logging.h"
-#import "ui/views/cocoa/bridged_content_view.h"
+#include "ui/views/cocoa/bridged_content_view.h"
tapted 2014/06/17 13:23:56 include -> import. Typically import is used if a h
Andre 2014/06/18 21:48:35 Done.
+#include "ui/views/view.h"
namespace views {
@@ -25,16 +26,35 @@ void BridgedNativeWidget::SetRootView(views::View* view) {
if (view == [bridged_view_ view])
return;
+ if ([bridged_view_ view])
+ [bridged_view_ view]->GetFocusManager()->RemoveFocusChangeListener(this);
tapted 2014/06/17 13:23:56 I think this belongs in [BridgedContentView clearV
Andre 2014/06/18 21:48:35 Done.
+
[bridged_view_ clearView];
bridged_view_.reset();
// Note that there can still be references to the old |bridged_view_|
// floating around in Cocoa libraries at this point. However, references to
// the old views::View will be gone, so any method calls will become no-ops.
- if (view)
+ if (view) {
bridged_view_.reset([[BridgedContentView alloc] initWithView:view]);
+ view->GetFocusManager()->AddFocusChangeListener(this);
+ }
[window_ setContentView:bridged_view_];
[window_ makeFirstResponder:bridged_view_];
}
+// FocusChangeListener implementation.
tapted 2014/06/17 13:23:56 I usually skip these comments for C++ implementati
Andre 2014/06/18 21:48:35 Done.
+
+void BridgedNativeWidget::OnWillChangeFocus(View* focused_before,
+ View* focused_now) {
+}
+
+void BridgedNativeWidget::OnDidChangeFocus(View* focused_before,
+ View* focused_now) {
+ if (focused_now)
tapted 2014/06/17 13:23:56 nit: I'd probably write this ui::TextInputClien
Andre 2014/06/18 21:48:35 Done.
+ [bridged_view_ setTextInputClient:focused_now->GetTextInputClient()];
+ else
+ [bridged_view_ setTextInputClient:NULL];
+}
+
} // namespace views

Powered by Google App Engine
This is Rietveld 408576698