Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 77f8e1f

Browse files
committed
update
1 parent f78e0fc commit 77f8e1f

File tree

2 files changed

+107
-21
lines changed

2 files changed

+107
-21
lines changed

shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMacDelegate.mm

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
#import "flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine_Internal.h"
88
#import "flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformNodeDelegateMac.h"
9-
#import "flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputSemanticsObject.h"
109
#include "flutter/shell/platform/embedder/embedder.h"
1110

1211
namespace flutter {
@@ -117,15 +116,6 @@
117116
}
118117
break;
119118
case ui::AXEventGenerator::Event::DOCUMENT_SELECTION_CHANGED: {
120-
id focused = mac_platform_node_delegate->GetFocus();
121-
if ([focused isKindOfClass:[FlutterTextField class]]) {
122-
// For text field, we update the native NSTextField selection
123-
FlutterTextField* native_text_field = (FlutterTextField*)focused;
124-
if (native_text_field == mac_platform_node_delegate->GetFocus()) {
125-
[native_text_field becomeFirstResponder];
126-
}
127-
break;
128-
}
129119
// This event always fires at root
130120
events.push_back({
131121
.name = NSAccessibilitySelectedTextChangedNotification,
@@ -158,15 +148,6 @@
158148
});
159149
break;
160150
case ui::AXEventGenerator::Event::VALUE_CHANGED:
161-
if (ax_node.data().role == ax::mojom::Role::kTextField) {
162-
// For text field, we update the native NSTextField string value
163-
FlutterTextField* native_text_field =
164-
(FlutterTextField*)mac_platform_node_delegate->GetNativeViewAccessible();
165-
if (native_text_field == mac_platform_node_delegate->GetFocus()) {
166-
[native_text_field becomeFirstResponder];
167-
}
168-
break;
169-
}
170151
events.push_back({
171152
.name = NSAccessibilityValueChangedNotification,
172153
.target = native_node,

shell/platform/darwin/macos/framework/Source/FlutterTextInputPlugin.mm

Lines changed: 107 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,9 @@ - (void)setEditingState:(NSDictionary*)state {
288288
state[kComposingBaseKey], state[kComposingExtentKey], _activeModel->composing_range());
289289
size_t cursor_offset = selected_range.base() - composing_range.start();
290290
_activeModel->SetComposingRange(composing_range, cursor_offset);
291+
if (_client) {
292+
[_client becomeFirstResponder];
293+
}
291294
[self updateTextAndSelection];
292295
}
293296

@@ -347,13 +350,115 @@ - (BOOL)handleKeyEvent:(NSEvent*)event {
347350
#pragma mark NSResponder
348351

349352
- (void)keyDown:(NSEvent*)event {
353+
if (!self.flutterViewController) {
354+
return;
355+
}
350356
[self.flutterViewController keyDown:event];
351-
return;
352357
}
353358

354359
- (void)keyUp:(NSEvent*)event {
360+
if (!self.flutterViewController) {
361+
return;
362+
}
355363
[self.flutterViewController keyUp:event];
356-
return;
364+
}
365+
366+
- (void)flagsChanged:(NSEvent*)event {
367+
if (!self.flutterViewController) {
368+
return;
369+
}
370+
[self.flutterViewController flagsChanged:event];
371+
}
372+
373+
- (void)mouseEntered:(NSEvent*)event {
374+
if (!self.flutterViewController) {
375+
return;
376+
}
377+
[self.flutterViewController mouseEntered:event];
378+
}
379+
380+
- (void)mouseExited:(NSEvent*)event {
381+
if (!self.flutterViewController) {
382+
return;
383+
}
384+
[self.flutterViewController mouseExited:event];
385+
}
386+
387+
- (void)mouseDown:(NSEvent*)event {
388+
if (!self.flutterViewController) {
389+
return;
390+
}
391+
[self.flutterViewController mouseDown:event];
392+
}
393+
394+
- (void)mouseUp:(NSEvent*)event {
395+
if (!self.flutterViewController) {
396+
return;
397+
}
398+
[self.flutterViewController mouseUp:event];
399+
}
400+
401+
- (void)mouseDragged:(NSEvent*)event {
402+
if (!self.flutterViewController) {
403+
return;
404+
}
405+
[self.flutterViewController mouseDragged:event];
406+
}
407+
408+
- (void)rightMouseDown:(NSEvent*)event {
409+
if (!self.flutterViewController) {
410+
return;
411+
}
412+
[self.flutterViewController rightMouseDown:event];
413+
}
414+
415+
- (void)rightMouseUp:(NSEvent*)event {
416+
if (!self.flutterViewController) {
417+
return;
418+
}
419+
[self.flutterViewController rightMouseUp:event];
420+
}
421+
422+
- (void)rightMouseDragged:(NSEvent*)event {
423+
if (!self.flutterViewController) {
424+
return;
425+
}
426+
[self.flutterViewController rightMouseDragged:event];
427+
}
428+
429+
- (void)otherMouseDown:(NSEvent*)event {
430+
if (!self.flutterViewController) {
431+
return;
432+
}
433+
[self.flutterViewController otherMouseDown:event];
434+
}
435+
436+
- (void)otherMouseUp:(NSEvent*)event {
437+
if (!self.flutterViewController) {
438+
return;
439+
}
440+
[self.flutterViewController otherMouseUp:event];
441+
}
442+
443+
- (void)otherMouseDragged:(NSEvent*)event {
444+
if (!self.flutterViewController) {
445+
return;
446+
}
447+
[self.flutterViewController otherMouseDragged:event];
448+
}
449+
450+
- (void)mouseMoved:(NSEvent*)event {
451+
if (!self.flutterViewController) {
452+
return;
453+
}
454+
[self.flutterViewController mouseMoved:event];
455+
}
456+
457+
- (void)scrollWheel:(NSEvent*)event {
458+
if (!self.flutterViewController) {
459+
return;
460+
}
461+
[self.flutterViewController scrollWheel:event];
357462
}
358463

359464
#pragma mark -

0 commit comments

Comments
 (0)