diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/API/mac/WKView.mm')
-rw-r--r-- | Source/WebKit2/UIProcess/API/mac/WKView.mm | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/Source/WebKit2/UIProcess/API/mac/WKView.mm b/Source/WebKit2/UIProcess/API/mac/WKView.mm index 0bb174337..1e2509ba6 100644 --- a/Source/WebKit2/UIProcess/API/mac/WKView.mm +++ b/Source/WebKit2/UIProcess/API/mac/WKView.mm @@ -225,7 +225,6 @@ struct WKViewInterpretKeyEventsParameters { - (void)dealloc { _data->_page->close(); - [NSEvent removeMonitor:_data->_flagsChangedEventMonitor]; ASSERT(!_data->_inSecureInputState); @@ -1823,12 +1822,20 @@ static NSString * const backingPropertyOldScaleFactorKey = @"NSBackingPropertyOl _data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible | WebPageProxy::ViewIsInWindow); [self _updateWindowVisibility]; [self _updateWindowAndViewFrames]; - - [self _accessibilityRegisterUIProcessTokens]; + + _data->_flagsChangedEventMonitor = [NSEvent addLocalMonitorForEventsMatchingMask:NSFlagsChangedMask handler:^(NSEvent *flagsChangedEvent) { + [self _postFakeMouseMovedEventForFlagsChangedEvent:flagsChangedEvent]; + return flagsChangedEvent; + }]; + + [self _accessibilityRegisterUIProcessTokens]; } else { _data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible); _data->_page->viewStateDidChange(WebPageProxy::ViewWindowIsActive | WebPageProxy::ViewIsInWindow); + [NSEvent removeMonitor:_data->_flagsChangedEventMonitor]; + _data->_flagsChangedEventMonitor = nil; + #if ENABLE(GESTURE_EVENTS) if (_data->_endGestureMonitor) { [NSEvent removeMonitor:_data->_endGestureMonitor]; @@ -2703,10 +2710,6 @@ static void drawPageBackground(CGContextRef context, WebPageProxy* page, const I #endif _data->_mouseDownEvent = nil; _data->_ignoringMouseDraggedEvents = NO; - _data->_flagsChangedEventMonitor = [NSEvent addLocalMonitorForEventsMatchingMask:NSFlagsChangedMask handler:^(NSEvent *flagsChangedEvent) { - [self _postFakeMouseMovedEventForFlagsChangedEvent:flagsChangedEvent]; - return flagsChangedEvent; - }]; [self _registerDraggedTypes]; |