diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm')
-rw-r--r-- | Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm | 50 |
1 files changed, 44 insertions, 6 deletions
diff --git a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm index 60be5bc..fd70a67 100644 --- a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm +++ b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm @@ -23,11 +23,12 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#import "NativeWebKeyboardEvent.h" +#import "config.h" #import "PageClientImpl.h" #import "DataReference.h" #import "FindIndicator.h" +#import "NativeWebKeyboardEvent.h" #import "WKAPICast.h" #import "WKStringCF.h" #import "WKViewInternal.h" @@ -43,6 +44,10 @@ #import <wtf/text/CString.h> #import <wtf/text/WTFString.h> +@interface NSApplication (WebNSApplicationDetails) +- (NSCursor *)_cursorRectCursor; +@end + using namespace WebCore; @interface WebEditCommandObjC : NSObject @@ -177,6 +182,11 @@ void PageClientImpl::processDidCrash() { [m_wkView _processDidCrash]; } + +void PageClientImpl::pageClosed() +{ + [m_wkView _pageClosed]; +} void PageClientImpl::didRelaunchProcess() { @@ -195,7 +205,8 @@ void PageClientImpl::toolTipChanged(const String& oldToolTip, const String& newT void PageClientImpl::setCursor(const WebCore::Cursor& cursor) { - [m_wkView _setCursor:cursor.platformCursor()]; + if (![NSApp _cursorRectCursor]) + [m_wkView _setCursor:cursor.platformCursor()]; } void PageClientImpl::setViewportArguments(const WebCore::ViewportArguments&) @@ -297,10 +308,14 @@ FloatRect PageClientImpl::convertToUserSpace(const FloatRect& rect) return [m_wkView _convertToUserSpace:rect]; } -void PageClientImpl::didNotHandleKeyEvent(const NativeWebKeyboardEvent& event) +void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool wasEventHandled) { NSEvent* nativeEvent = event.nativeEvent(); - if ([nativeEvent type] == NSKeyDown) { + if ([nativeEvent type] != NSKeyDown) + return; + if (wasEventHandled) + [NSCursor setHiddenUntilMouseMoves:YES]; + else { [m_wkView _setEventBeingResent:nativeEvent]; [[NSApplication sharedApplication] sendEvent:nativeEvent]; } @@ -321,13 +336,23 @@ void PageClientImpl::setFindIndicator(PassRefPtr<FindIndicator> findIndicator, b [m_wkView _setFindIndicator:findIndicator fadeOut:fadeOut]; } -void PageClientImpl::accessibilityChildTokenReceived(const CoreIPC::DataReference& data) +void PageClientImpl::accessibilityWebProcessTokenReceived(const CoreIPC::DataReference& data) { NSData* remoteToken = [NSData dataWithBytes:data.data() length:data.size()]; - [m_wkView _setAccessibilityChildToken:remoteToken]; + [m_wkView _setAccessibilityWebProcessToken:remoteToken]; } #if USE(ACCELERATED_COMPOSITING) +void PageClientImpl::enterAcceleratedCompositingMode(const LayerTreeContext& layerTreeContext) +{ + [m_wkView _enterAcceleratedCompositingMode:layerTreeContext]; +} + +void PageClientImpl::exitAcceleratedCompositingMode() +{ + [m_wkView _exitAcceleratedCompositingMode]; +} + void PageClientImpl::pageDidEnterAcceleratedCompositing() { [m_wkView _pageDidEnterAcceleratedCompositing]; @@ -344,11 +369,24 @@ void PageClientImpl::setComplexTextInputEnabled(uint64_t pluginComplexTextInputI [m_wkView _setComplexTextInputEnabled:complexTextInputEnabled pluginComplexTextInputIdentifier:pluginComplexTextInputIdentifier]; } +void PageClientImpl::setAutodisplay(bool newState) +{ + if (!newState && [[m_wkView window] isAutodisplay]) + [m_wkView displayIfNeeded]; + + [[m_wkView window] setAutodisplay:newState]; +} + CGContextRef PageClientImpl::containingWindowGraphicsContext() { return static_cast<CGContextRef>([[[m_wkView window] graphicsContext] graphicsPort]); } +void PageClientImpl::didChangeScrollbarsForMainFrame() const +{ + [m_wkView _didChangeScrollbarsForMainFrame]; +} + void PageClientImpl::didCommitLoadForMainFrame(bool useCustomRepresentation) { [m_wkView _setPageHasCustomRepresentation:useCustomRepresentation]; |