From 2fc2651226baac27029e38c9d6ef883fa32084db Mon Sep 17 00:00:00 2001 From: Steve Block Date: Wed, 18 May 2011 13:36:51 +0100 Subject: Merge WebKit at r78450: Initial merge by git. Change-Id: I6d3e5f1f868ec266a0aafdef66182ddc3f265dc1 --- .../WebKit2/WebProcess/WebPage/mac/WebPageMac.mm | 75 +++++++++++++--------- 1 file changed, 46 insertions(+), 29 deletions(-) (limited to 'Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm') diff --git a/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm b/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm index f3211f2..71bbf78 100644 --- a/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm +++ b/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm @@ -23,28 +23,29 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#include "WebPage.h" +#import "config.h" +#import "WebPage.h" -#include "AccessibilityWebPageObject.h" -#include "DataReference.h" -#include "PluginView.h" -#include "WebCoreArgumentCoders.h" -#include "WebEvent.h" -#include "WebFrame.h" -#include "WebPageProxyMessages.h" -#include "WebProcess.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#import "AccessibilityWebPageObject.h" +#import "DataReference.h" +#import "PluginView.h" +#import "WebCoreArgumentCoders.h" +#import "WebEvent.h" +#import "WebFrame.h" +#import "WebPageProxyMessages.h" +#import "WebProcess.h" +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import using namespace WebCore; @@ -65,7 +66,7 @@ void WebPage::platformInitialize() // send data back over NSData* remoteToken = (NSData *)WKAXRemoteTokenForElement(mockAccessibilityElement); CoreIPC::DataReference dataToken = CoreIPC::DataReference(reinterpret_cast([remoteToken bytes]), [remoteToken length]); - send(Messages::WebPageProxy::DidReceiveAccessibilityPageToken(dataToken)); + send(Messages::WebPageProxy::RegisterWebProcessAccessibilityToken(dataToken)); m_mockAccessibilityElement = mockAccessibilityElement; #endif } @@ -230,10 +231,11 @@ void WebPage::firstRectForCharacterRange(uint64_t location, uint64_t length, Web resultRect.setSize(IntSize(0, 0)); RefPtr range = convertToRange(frame, NSMakeRange(location, length)); - if (range) { - ASSERT(range->startContainer()); - ASSERT(range->endContainer()); - } + if (!range) + return; + + ASSERT(range->startContainer()); + ASSERT(range->endContainer()); IntRect rect = frame->editor()->firstRectForRange(range.get()); resultRect = frame->view()->contentsToWindow(rect); @@ -334,11 +336,16 @@ bool WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent& keyboard return true; } -void WebPage::sendAccessibilityPresenterToken(const CoreIPC::DataReference& data) +void WebPage::registerUIProcessAccessibilityTokens(const CoreIPC::DataReference& elementToken, const CoreIPC::DataReference& windowToken) { #if !defined(BUILDING_ON_SNOW_LEOPARD) - NSData* tokenData = [NSData dataWithBytes:data.data() length:data.size()]; - [m_mockAccessibilityElement.get() setRemoteParent:WKAXRemoteElementForToken((CFDataRef)tokenData)]; + NSData* elementTokenData = [NSData dataWithBytes:elementToken.data() length:elementToken.size()]; + NSData* windowTokenData = [NSData dataWithBytes:windowToken.data() length:windowToken.size()]; + id remoteElement = WKAXRemoteElementForToken(elementTokenData); + id remoteWindow = WKAXRemoteElementForToken(windowTokenData); + WKAXSetWindowForRemoteElement(remoteWindow, remoteElement); + + [accessibilityRemoteObject() setRemoteParent:remoteElement]; #endif } @@ -357,6 +364,16 @@ bool WebPage::platformHasLocalDataForURL(const WebCore::KURL& url) return cachedResponse; } +String WebPage::cachedResponseMIMETypeForURL(const WebCore::KURL& url) +{ + NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url]; + [request setValue:(NSString*)userAgent() forHTTPHeaderField:@"User-Agent"]; + NSCachedURLResponse *cachedResponse = [[NSURLCache sharedURLCache] cachedResponseForRequest:request]; + [request release]; + + return [[cachedResponse response] MIMEType]; +} + bool WebPage::canHandleRequest(const WebCore::ResourceRequest& request) { if ([NSURLConnection canHandleRequest:request.nsURLRequest()]) -- cgit v1.1