Title: [165019] trunk/Source/WebKit2
Revision
165019
Author
wei...@apple.com
Date
2014-03-03 16:44:02 -0800 (Mon, 03 Mar 2014)

Log Message

Fix ASSERT and leaks introduced in recent "Support IOS Accessibility in WK2" patch

Reviewed by Simon Fraser.

* UIProcess/ios/WKContentView.mm:
(-[WKContentView _accessibilityRegisterUIProcessTokens]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformInitializeAccessibility):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (165018 => 165019)


--- trunk/Source/WebKit2/ChangeLog	2014-03-04 00:24:54 UTC (rev 165018)
+++ trunk/Source/WebKit2/ChangeLog	2014-03-04 00:44:02 UTC (rev 165019)
@@ -1,3 +1,14 @@
+2014-03-03  Sam Weinig  <s...@webkit.org>
+
+        Fix ASSERT and leaks introduced in recent "Support IOS Accessibility in WK2" patch
+
+        Reviewed by Simon Fraser.
+
+        * UIProcess/ios/WKContentView.mm:
+        (-[WKContentView _accessibilityRegisterUIProcessTokens]):
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::platformInitializeAccessibility):
+
 2014-03-03  Simon Fraser  <simon.fra...@apple.com>
 
         Composited masks not working on iOS after r164890 

Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm (165018 => 165019)


--- trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm	2014-03-04 00:24:54 UTC (rev 165018)
+++ trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm	2014-03-04 00:44:02 UTC (rev 165019)
@@ -240,14 +240,15 @@
 
 - (void)_accessibilityRegisterUIProcessTokens
 {
-    RetainPtr<CFUUIDRef> uuid = CFUUIDCreate(kCFAllocatorDefault);
+    RetainPtr<CFUUIDRef> uuid = adoptCF(CFUUIDCreate(kCFAllocatorDefault));
     NSData *remoteElementToken = WKAXRemoteToken(uuid.get());
-    IPC::Connection* connection = _page->process().connection();
 
     // Store information about the WebProcess that can later be retrieved by the iOS Accessibility runtime.
-    if (connection)
+    if (_page->process().state() == WebProcessProxy::State::Running) {
+        IPC::Connection* connection = _page->process().connection();
         WKAXStoreRemoteConnectionInformation(self, _page->process().processIdentifier(), connection->identifier().port, uuid.get());
-    
+    }
+
     IPC::DataReference elementToken = IPC::DataReference(reinterpret_cast<const uint8_t*>([remoteElementToken bytes]), [remoteElementToken length]);
     _page->registerUIProcessAccessibilityTokens(elementToken, elementToken);
 }

Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (165018 => 165019)


--- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm	2014-03-04 00:24:54 UTC (rev 165018)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm	2014-03-04 00:44:02 UTC (rev 165019)
@@ -91,10 +91,10 @@
 
 void WebPage::platformInitializeAccessibility()
 {
-    m_mockAccessibilityElement = [[[WKAccessibilityWebPageObject alloc] init] autorelease];
+    m_mockAccessibilityElement = adoptNS([[WKAccessibilityWebPageObject alloc] init]);
     [m_mockAccessibilityElement setWebPage:this];
     
-    RetainPtr<CFUUIDRef> uuid = CFUUIDCreate(kCFAllocatorDefault);
+    RetainPtr<CFUUIDRef> uuid = adoptCF(CFUUIDCreate(kCFAllocatorDefault));
     NSData *remoteToken = WKAXRemoteToken(uuid.get());
     
     IPC::DataReference dataToken = IPC::DataReference(reinterpret_cast<const uint8_t*>([remoteToken bytes]), [remoteToken length]);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to