Title: [272828] trunk
Revision
272828
Author
[email protected]
Date
2021-02-12 18:16:44 -0800 (Fri, 12 Feb 2021)

Log Message

Reduce explicit usage of [objC release] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=221780
<rdar://problem/74282389>

Reviewed by Darin Adler.

Apply review feedback from Darin Adler and Sam Weinig after r272789.

Source/WebCore:

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(if):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_addLinkForElement):
(HTMLConverter::_processElement):
(HTMLConverter::_addMarkersToList):
* platform/ios/WebCoreMotionManager.mm:
(-[WebCoreMotionManager initializeOnMainThread]):
* platform/network/ios/NetworkStateNotifierIOS.mm:

Source/WebKit:

* UIProcess/Inspector/ios/WKInspectorHighlightView.h:
* UIProcess/ios/WKScrollView.mm:
* UIProcess/mac/WebColorPickerMac.mm:
(+[WKPopoverColorWell _colorPopoverCreateIfNecessary:]):
* WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:
(-[WKAccessibilityWebPageObjectBase setRemoteParent:]):

Source/WebKitLegacy/ios:

* WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder _updateTitleForDocumentIfAvailable]):

Source/WebKitLegacy/mac:

* DOM/DOMUIKitExtensions.mm:
(-[DOMNode absoluteQuads]):
(-[DOMHTMLAreaElement absoluteQuadsWithOwner:]):
* DOM/ExceptionHandlers.mm:
(raiseDOMErrorException):
* DefaultDelegates/WebDefaultUIDelegate.mm:
(-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):
* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:]):
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]):
* Misc/WebNSDataExtras.mm:
(-[NSData _webkit_parseRFC822HeaderFields]):
* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::performRequest):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
(WebChromeClient::addMessageToConsole):
* WebCoreSupport/WebEditorClient.mm:
(attributesForAttributedStringConversion):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary const):
(WebFrameLoaderClient::createFrame):
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController initWithInspectedWebView:isUnderTest:]):
(-[WebInspectorWindowController window]):
* WebView/WebDataSource.mm:
(-[WebDataSource _documentFragmentWithArchive:]):
(-[WebDataSource _makeRepresentation]):
* WebView/WebFrame.mm:
* WebView/WebFrameView.mm:
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateMouseoverWithEvent:]):
* WebView/WebNavigationData.mm:
* WebView/WebPDFRepresentation.mm:
(-[WebPDFRepresentation finishedLoadingWithDataSource:]):
* WebView/WebPDFView.mm:
(-[WebPDFView _menuItemsFromPDFKitForEvent:]):
* WebView/WebPolicyDelegate.mm:
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::sourceParsed):
* WebView/WebView.mm:
(-[WebView _openNewWindowWithRequest:]):
* WebView/WebWindowAnimation.h:
* WebView/WebWindowAnimation.mm:
(-[WebWindowScaleAnimation setSubAnimation:]):

Tools:

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::addChromeInputField):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::addChromeInputField):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (272827 => 272828)


--- trunk/Source/WebCore/ChangeLog	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebCore/ChangeLog	2021-02-13 02:16:44 UTC (rev 272828)
@@ -1,3 +1,24 @@
+2021-02-12  Chris Dumez  <[email protected]>
+
+        Reduce explicit usage of [objC release] in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=221780
+        <rdar://problem/74282389>
+
+        Reviewed by Darin Adler.
+
+        Apply review feedback from Darin Adler and Sam Weinig after r272789.
+
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+        (-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
+        (if):
+        * editing/cocoa/HTMLConverter.mm:
+        (HTMLConverter::_addLinkForElement):
+        (HTMLConverter::_processElement):
+        (HTMLConverter::_addMarkersToList):
+        * platform/ios/WebCoreMotionManager.mm:
+        (-[WebCoreMotionManager initializeOnMainThread]):
+        * platform/network/ios/NetworkStateNotifierIOS.mm:
+
 2021-02-12  Jer Noble  <[email protected]>
 
         [Mac] Unable to play WebM/Opus generated from Chrome MediaRecorder

Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (272827 => 272828)


--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -1294,80 +1294,76 @@
     if (backingObject->isAttachment())
         return [[self attachmentView] accessibilityAttributeNames];
 
-    static NSArray* attributes = nil;
-    static NSArray* anchorAttrs = nil;
-    static NSArray* webAreaAttrs = nil;
-    static NSArray* textAttrs = nil;
-    static NSArray* listAttrs = nil;
-    static NSArray* listBoxAttrs = nil;
-    static NSArray* rangeAttrs = nil;
-    static NSArray* commonMenuAttrs = nil;
-    static NSArray* menuAttrs = nil;
-    static NSArray* menuBarAttrs = nil;
-    static NSArray* menuItemAttrs = nil;
-    static NSArray* menuButtonAttrs = nil;
-    static NSArray* controlAttrs = nil;
-    static NSArray* tableAttrs = nil;
-    static NSArray* tableRowAttrs = nil;
-    static NSArray* tableColAttrs = nil;
-    static NSArray* tableCellAttrs = nil;
-    static NSArray* groupAttrs = nil;
-    static NSArray* inputImageAttrs = nil;
-    static NSArray* passwordFieldAttrs = nil;
-    static NSArray* tabListAttrs = nil;
-    static NSArray* comboBoxAttrs = nil;
-    static NSArray* outlineAttrs = nil;
-    static NSArray* outlineRowAttrs = nil;
-    static NSArray* buttonAttrs = nil;
-    static NSArray* scrollViewAttrs = nil;
-    static NSArray* incrementorAttrs = nil;
-    if (attributes == nil) {
-        attributes = [[NSArray alloc] initWithObjects: NSAccessibilityRoleAttribute,
-            NSAccessibilitySubroleAttribute,
-            NSAccessibilityRoleDescriptionAttribute,
-            NSAccessibilityChildrenAttribute,
-            NSAccessibilityHelpAttribute,
-            NSAccessibilityParentAttribute,
-            NSAccessibilityPositionAttribute,
-            NSAccessibilitySizeAttribute,
-            NSAccessibilityTitleAttribute,
-            NSAccessibilityDescriptionAttribute,
-            NSAccessibilityValueAttribute,
-            NSAccessibilityFocusedAttribute,
-            NSAccessibilityEnabledAttribute,
-            NSAccessibilityWindowAttribute,
-            @"AXSelectedTextMarkerRange",
-            @"AXStartTextMarker",
-            @"AXEndTextMarker",
-            @"AXVisited",
-            NSAccessibilityLinkedUIElementsAttribute,
-            NSAccessibilitySelectedAttribute,
-            NSAccessibilityBlockQuoteLevelAttribute,
-            NSAccessibilityTopLevelUIElementAttribute,
-            NSAccessibilityLanguageAttribute,
-            NSAccessibilityDOMIdentifierAttribute,
-            NSAccessibilityDOMClassListAttribute,
-            NSAccessibilityFocusableAncestorAttribute,
-            NSAccessibilityEditableAncestorAttribute,
-            NSAccessibilityHighestEditableAncestorAttribute,
-            nil];
-    }
-    if (commonMenuAttrs == nil) {
-        commonMenuAttrs = [[NSArray alloc] initWithObjects: NSAccessibilityRoleAttribute,
-                           NSAccessibilityRoleDescriptionAttribute,
-                           NSAccessibilityChildrenAttribute,
-                           NSAccessibilityParentAttribute,
-                           NSAccessibilityEnabledAttribute,
-                           NSAccessibilityPositionAttribute,
-                           NSAccessibilitySizeAttribute,
-                           nil];
-    }
+    static NSArray *anchorAttrs;
+    static NSArray *webAreaAttrs;
+    static NSArray *textAttrs;
+    static NSArray *listAttrs;
+    static NSArray *listBoxAttrs;
+    static NSArray *rangeAttrs;
+    static NSArray *menuAttrs;
+    static NSArray *menuBarAttrs;
+    static NSArray *menuItemAttrs;
+    static NSArray *controlAttrs;
+    static NSArray *tableAttrs;
+    static NSArray *tableRowAttrs;
+    static NSArray *tableColAttrs;
+    static NSArray *tableCellAttrs;
+    static NSArray *groupAttrs;
+    static NSArray *inputImageAttrs;
+    static NSArray *passwordFieldAttrs;
+    static NSArray *tabListAttrs;
+    static NSArray *comboBoxAttrs;
+    static NSArray *outlineAttrs;
+    static NSArray *outlineRowAttrs;
+    static NSArray *buttonAttrs;
+    static NSArray *scrollViewAttrs;
+    static NSArray *incrementorAttrs;
+    static NSArray *attributes = retainPtr(@[
+        NSAccessibilityRoleAttribute,
+        NSAccessibilitySubroleAttribute,
+        NSAccessibilityRoleDescriptionAttribute,
+        NSAccessibilityChildrenAttribute,
+        NSAccessibilityHelpAttribute,
+        NSAccessibilityParentAttribute,
+        NSAccessibilityPositionAttribute,
+        NSAccessibilitySizeAttribute,
+        NSAccessibilityTitleAttribute,
+        NSAccessibilityDescriptionAttribute,
+        NSAccessibilityValueAttribute,
+        NSAccessibilityFocusedAttribute,
+        NSAccessibilityEnabledAttribute,
+        NSAccessibilityWindowAttribute,
+        @"AXSelectedTextMarkerRange",
+        @"AXStartTextMarker",
+        @"AXEndTextMarker",
+        @"AXVisited",
+        NSAccessibilityLinkedUIElementsAttribute,
+        NSAccessibilitySelectedAttribute,
+        NSAccessibilityBlockQuoteLevelAttribute,
+        NSAccessibilityTopLevelUIElementAttribute,
+        NSAccessibilityLanguageAttribute,
+        NSAccessibilityDOMIdentifierAttribute,
+        NSAccessibilityDOMClassListAttribute,
+        NSAccessibilityFocusableAncestorAttribute,
+        NSAccessibilityEditableAncestorAttribute,
+        NSAccessibilityHighestEditableAncestorAttribute,
+    ]).leakRef();
+    static NSArray *commonMenuAttrs = retainPtr(@[
+        NSAccessibilityRoleAttribute,
+        NSAccessibilityRoleDescriptionAttribute,
+        NSAccessibilityChildrenAttribute,
+        NSAccessibilityParentAttribute,
+        NSAccessibilityEnabledAttribute,
+        NSAccessibilityPositionAttribute,
+        NSAccessibilitySizeAttribute,
+    ]).leakRef();
+
     if (anchorAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
         [tempArray addObject:NSAccessibilityURLAttribute];
         [tempArray addObject:NSAccessibilityAccessKeyAttribute];
         [tempArray addObject:NSAccessibilityLinkRelationshipTypeAttribute];
-        anchorAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        anchorAttrs = tempArray.leakRef();
     }
     if (webAreaAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1385,7 +1381,7 @@
         [tempArray addObject:NSAccessibilityCaretBrowsingEnabledAttribute];
         [tempArray addObject:NSAccessibilityPreventKeyboardDOMEventDispatchAttribute];
         [tempArray addObject:NSAccessibilityWebSessionIDAttribute];
-        webAreaAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        webAreaAttrs = tempArray.leakRef();
     }
     if (textAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1400,7 +1396,7 @@
         [tempArray addObject:NSAccessibilityInvalidAttribute];
         [tempArray addObject:NSAccessibilityPlaceholderValueAttribute];
         [tempArray addObject:NSAccessibilityValueAutofilledAttribute];
-        textAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        textAttrs = tempArray.leakRef();
     }
     if (listAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1408,7 +1404,7 @@
         [tempArray addObject:NSAccessibilityVisibleChildrenAttribute];
         [tempArray addObject:NSAccessibilityOrientationAttribute];
         [tempArray addObject:NSAccessibilityTitleUIElementAttribute];
-        listAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        listAttrs = tempArray.leakRef();
     }
     if (listBoxAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:listAttrs]);
@@ -1416,7 +1412,7 @@
         [tempArray addObject:NSAccessibilityRequiredAttribute];
         [tempArray addObject:NSAccessibilityInvalidAttribute];
         [tempArray addObject:NSAccessibilityOrientationAttribute];
-        listBoxAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        listBoxAttrs = tempArray.leakRef();
     }
     if (rangeAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1425,7 +1421,7 @@
         [tempArray addObject:NSAccessibilityOrientationAttribute];
         [tempArray addObject:NSAccessibilityValueDescriptionAttribute];
         [tempArray addObject:NSAccessibilityTitleUIElementAttribute];
-        rangeAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        rangeAttrs = tempArray.leakRef();
     }
     if (menuBarAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:commonMenuAttrs]);
@@ -1433,7 +1429,7 @@
         [tempArray addObject:NSAccessibilityVisibleChildrenAttribute];
         [tempArray addObject:NSAccessibilityTitleUIElementAttribute];
         [tempArray addObject:NSAccessibilityOrientationAttribute];
-        menuBarAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        menuBarAttrs = tempArray.leakRef();
     }
     if (menuAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:commonMenuAttrs]);
@@ -1441,7 +1437,7 @@
         [tempArray addObject:NSAccessibilityVisibleChildrenAttribute];
         [tempArray addObject:NSAccessibilityTitleUIElementAttribute];
         [tempArray addObject:NSAccessibilityOrientationAttribute];
-        menuAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        menuAttrs = tempArray.leakRef();
     }
     if (menuItemAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:commonMenuAttrs]);
@@ -1458,20 +1454,20 @@
         [tempArray addObject:(NSString*)kAXMenuItemPrimaryUIElementAttribute];
         [tempArray addObject:NSAccessibilityServesAsTitleForUIElementsAttribute];
         [tempArray addObject:NSAccessibilityFocusedAttribute];
-        menuItemAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        menuItemAttrs = tempArray.leakRef();
     }
-    if (menuButtonAttrs == nil) {
-        menuButtonAttrs = [[NSArray alloc] initWithObjects:NSAccessibilityRoleAttribute,
-                           NSAccessibilityRoleDescriptionAttribute,
-                           NSAccessibilityParentAttribute,
-                           NSAccessibilityPositionAttribute,
-                           NSAccessibilitySizeAttribute,
-                           NSAccessibilityWindowAttribute,
-                           NSAccessibilityEnabledAttribute,
-                           NSAccessibilityFocusedAttribute,
-                           NSAccessibilityTitleAttribute,
-                           NSAccessibilityChildrenAttribute, nil];
-    }
+    static NSArray *menuButtonAttrs = retainPtr(@[
+        NSAccessibilityRoleAttribute,
+        NSAccessibilityRoleDescriptionAttribute,
+        NSAccessibilityParentAttribute,
+        NSAccessibilityPositionAttribute,
+        NSAccessibilitySizeAttribute,
+        NSAccessibilityWindowAttribute,
+        NSAccessibilityEnabledAttribute,
+        NSAccessibilityFocusedAttribute,
+        NSAccessibilityTitleAttribute,
+        NSAccessibilityChildrenAttribute,
+    ]).leakRef();
     if (controlAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
         [tempArray addObject:NSAccessibilityTitleUIElementAttribute];
@@ -1478,7 +1474,7 @@
         [tempArray addObject:NSAccessibilityAccessKeyAttribute];
         [tempArray addObject:NSAccessibilityRequiredAttribute];
         [tempArray addObject:NSAccessibilityInvalidAttribute];
-        controlAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        controlAttrs = tempArray.leakRef();
     }
     if (incrementorAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1487,7 +1483,7 @@
         [tempArray addObject:NSAccessibilityValueDescriptionAttribute];
         [tempArray addObject:NSAccessibilityMinValueAttribute];
         [tempArray addObject:NSAccessibilityMaxValueAttribute];
-        incrementorAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        incrementorAttrs = tempArray.leakRef();
     }
     if (buttonAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1495,13 +1491,13 @@
         [tempArray removeObject:NSAccessibilityValueAttribute];
         [tempArray addObject:NSAccessibilityTitleUIElementAttribute];
         [tempArray addObject:NSAccessibilityAccessKeyAttribute];
-        buttonAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        buttonAttrs = tempArray.leakRef();
     }
     if (comboBoxAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:controlAttrs]);
         [tempArray addObject:NSAccessibilityExpandedAttribute];
         [tempArray addObject:NSAccessibilityOrientationAttribute];
-        comboBoxAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        comboBoxAttrs = tempArray.leakRef();
     }
     if (tableAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1517,12 +1513,12 @@
         [tempArray addObject:NSAccessibilityRowCountAttribute];
         [tempArray addObject:NSAccessibilityARIAColumnCountAttribute];
         [tempArray addObject:NSAccessibilityARIARowCountAttribute];
-        tableAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        tableAttrs = tempArray.leakRef();
     }
     if (tableRowAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
         [tempArray addObject:NSAccessibilityIndexAttribute];
-        tableRowAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        tableRowAttrs = tempArray.leakRef();
     }
     if (tableColAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1530,7 +1526,7 @@
         [tempArray addObject:NSAccessibilityHeaderAttribute];
         [tempArray addObject:NSAccessibilityRowsAttribute];
         [tempArray addObject:NSAccessibilityVisibleRowsAttribute];
-        tableColAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        tableColAttrs = tempArray.leakRef();
     }
     if (tableCellAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1540,17 +1536,17 @@
         [tempArray addObject:NSAccessibilityRowHeaderUIElementsAttribute];
         [tempArray addObject:NSAccessibilityARIAColumnIndexAttribute];
         [tempArray addObject:NSAccessibilityARIARowIndexAttribute];
-        tableCellAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        tableCellAttrs = tempArray.leakRef();
     }
     if (groupAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
         [tempArray addObject:NSAccessibilityTitleUIElementAttribute];
-        groupAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        groupAttrs = tempArray.leakRef();
     }
     if (inputImageAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:buttonAttrs]);
         [tempArray addObject:NSAccessibilityURLAttribute];
-        inputImageAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        inputImageAttrs = tempArray.leakRef();
     }
     if (passwordFieldAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1559,7 +1555,7 @@
         [tempArray addObject:NSAccessibilityInvalidAttribute];
         [tempArray addObject:NSAccessibilityPlaceholderValueAttribute];
         [tempArray addObject:NSAccessibilityValueAutofilledAttribute];
-        passwordFieldAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        passwordFieldAttrs = tempArray.leakRef();
     }
     if (tabListAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1566,7 +1562,7 @@
         [tempArray addObject:NSAccessibilityTabsAttribute];
         [tempArray addObject:NSAccessibilityContentsAttribute];
         [tempArray addObject:NSAccessibilityOrientationAttribute];
-        tabListAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        tabListAttrs = tempArray.leakRef();
     }
     if (outlineAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1574,7 +1570,7 @@
         [tempArray addObject:NSAccessibilityRowsAttribute];
         [tempArray addObject:NSAccessibilityColumnsAttribute];
         [tempArray addObject:NSAccessibilityOrientationAttribute];
-        outlineAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        outlineAttrs = tempArray.leakRef();
     }
     if (outlineRowAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:tableRowAttrs]);
@@ -1583,7 +1579,7 @@
         [tempArray addObject:NSAccessibilityDisclosureLevelAttribute];
         [tempArray addObject:NSAccessibilityDisclosedRowsAttribute];
         [tempArray removeObject:NSAccessibilityValueAttribute];
-        outlineRowAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        outlineRowAttrs = tempArray.leakRef();
     }
     if (scrollViewAttrs == nil) {
         auto tempArray = adoptNS([[NSMutableArray alloc] initWithArray:attributes]);
@@ -1590,7 +1586,7 @@
         [tempArray addObject:NSAccessibilityContentsAttribute];
         [tempArray addObject:NSAccessibilityHorizontalScrollBarAttribute];
         [tempArray addObject:NSAccessibilityVerticalScrollBarAttribute];
-        scrollViewAttrs = [[NSArray alloc] initWithArray:tempArray.get()];
+        scrollViewAttrs = tempArray.leakRef();
     }
 
     NSArray *objectAttributes = attributes;
@@ -3055,10 +3051,10 @@
     if (backingObject->isAttachment())
         return nil;
 
-    static NSArray* paramAttrs = nil;
-    static NSArray* textParamAttrs = nil;
-    static NSArray* tableParamAttrs = nil;
-    static NSArray* webAreaParamAttrs = nil;
+    static NSArray *paramAttrs;
+    static NSArray *textParamAttrs;
+    static NSArray *tableParamAttrs;
+    static NSArray *webAreaParamAttrs;
     if (paramAttrs == nil) {
         paramAttrs = [[NSArray alloc] initWithObjects:
             @"AXUIElementForTextMarker",

Modified: trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm (272827 => 272828)


--- trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -295,7 +295,7 @@
 
     RetainPtr<NSMutableAttributedString> _attrStr;
     RetainPtr<NSMutableDictionary> _documentAttrs;
-    NSURL *_baseURL;
+    RetainPtr<NSURL> _baseURL;
     RetainPtr<NSMutableArray> _textLists;
     RetainPtr<NSMutableArray> _textBlocks;
     RetainPtr<NSMutableArray> _textTables;
@@ -1636,7 +1636,7 @@
         if (!url)
             url = ""
         if (!url)
-            url = "" _web_URLWithString:strippedString relativeToURL:_baseURL];
+            url = "" _web_URLWithString:strippedString relativeToURL:_baseURL.get()];
         [_attrStr addAttribute:NSLinkAttributeName value:url ? (id)url : (id)urlString range:range];
     }
 }
@@ -1795,7 +1795,7 @@
         if (urlString && [urlString length] > 0) {
             NSURL *url = ""
             if (!url)
-                url = "" _web_URLWithString:[urlString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] relativeToURL:_baseURL];
+                url = "" _web_URLWithString:[urlString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] relativeToURL:_baseURL.get()];
 #if PLATFORM(IOS_FAMILY)
             BOOL usePlaceholderImage = NO;
 #else
@@ -1815,7 +1815,7 @@
             if (baseString && [baseString length] > 0) {
                 baseURL = element.document().completeURL(stripLeadingAndTrailingHTMLSpaces(baseString));
                 if (!baseURL)
-                    baseURL = [NSURL _web_URLWithString:[baseString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] relativeToURL:_baseURL];
+                    baseURL = [NSURL _web_URLWithString:[baseString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] relativeToURL:_baseURL.get()];
             }
             if (baseURL)
                 url = "" _web_URLWithString:[urlString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] relativeToURL:baseURL];
@@ -1822,7 +1822,7 @@
             if (!url)
                 url = ""
             if (!url)
-                url = "" _web_URLWithString:[urlString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] relativeToURL:_baseURL];
+                url = "" _web_URLWithString:[urlString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] relativeToURL:_baseURL.get()];
             if (url)
                 retval = !_addAttachmentForElement(element, url, isBlockLevel, NO);
         }
@@ -1894,7 +1894,6 @@
     NSDictionary *attrsToInsert = nil;
     PlatformFont *font;
     NSParagraphStyle *paragraphStyle;
-    RetainPtr<NSMutableParagraphStyle> newStyle;
     NSTextTab *tab = nil;
     NSTextTab *tabToRemove;
     NSRange paragraphRange;
@@ -1933,7 +1932,7 @@
                     if (paragraphRange.location < _domRangeStartIndex)
                         _domRangeStartIndex += insertLength;
                     
-                    newStyle = adoptNS([paragraphStyle mutableCopy]);
+                    auto newStyle = adoptNS([paragraphStyle mutableCopy]);
                     listLocation = (listIndex + 1) * 36;
                     markerLocation = listLocation - 25;
                     [newStyle setFirstLineHeadIndent:0];
@@ -1952,7 +1951,6 @@
                     [newStyle addTabStop:adoptNS([[PlatformNSTextTab alloc] initWithType:NSLeftTabStopType location:markerLocation]).get()];
                     [newStyle addTabStop:adoptNS([[PlatformNSTextTab alloc] initWithTextAlignment:NSTextAlignmentNatural location:listLocation options:@{ }]).get()];
                     [_attrStr addAttribute:NSParagraphStyleAttributeName value:newStyle.get() range:paragraphRange];
-                    newStyle = nil;
                     
                     idx = NSMaxRange(paragraphRange);
                 } else {

Modified: trunk/Source/WebCore/platform/ios/WebCoreMotionManager.mm (272827 => 272828)


--- trunk/Source/WebCore/platform/ios/WebCoreMotionManager.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebCore/platform/ios/WebCoreMotionManager.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -145,9 +145,9 @@
     m_gyroAvailable = m_motionManager.get().deviceMotionAvailable;
 
     if (m_gyroAvailable)
-        [m_motionManager setDeviceMotionUpdateInterval: kMotionUpdateInterval];
+        [m_motionManager setDeviceMotionUpdateInterval:kMotionUpdateInterval];
     else
-        [m_motionManager setAccelerometerUpdateInterval: kMotionUpdateInterval];
+        [m_motionManager setAccelerometerUpdateInterval:kMotionUpdateInterval];
 
     m_locationManager = adoptNS([allocCLLocationManagerInstance() init]);
     m_headingAvailable = [getCLLocationManagerClass() headingAvailable];

Modified: trunk/Source/WebCore/platform/network/ios/NetworkStateNotifierIOS.mm (272827 => 272828)


--- trunk/Source/WebCore/platform/network/ios/NetworkStateNotifierIOS.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebCore/platform/network/ios/NetworkStateNotifierIOS.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -59,11 +59,6 @@
     return self;
 }
 
-- (void)dealloc
-{
-    [super dealloc];
-}
-
 - (void)networkStateChanged:(NSNotification *)unusedNotification
 {
     UNUSED_PARAM(unusedNotification);

Modified: trunk/Source/WebKit/ChangeLog (272827 => 272828)


--- trunk/Source/WebKit/ChangeLog	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKit/ChangeLog	2021-02-13 02:16:44 UTC (rev 272828)
@@ -1,3 +1,20 @@
+2021-02-12  Chris Dumez  <[email protected]>
+
+        Reduce explicit usage of [objC release] in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=221780
+        <rdar://problem/74282389>
+
+        Reviewed by Darin Adler.
+
+        Apply review feedback from Darin Adler and Sam Weinig after r272789.
+
+        * UIProcess/Inspector/ios/WKInspectorHighlightView.h:
+        * UIProcess/ios/WKScrollView.mm:
+        * UIProcess/mac/WebColorPickerMac.mm:
+        (+[WKPopoverColorWell _colorPopoverCreateIfNecessary:]):
+        * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:
+        (-[WKAccessibilityWebPageObjectBase setRemoteParent:]):
+
 2021-02-12  Jiewen Tan  <[email protected]>
 
         [WebAuthn] Provide SPI to query local credentials

Modified: trunk/Source/WebKit/UIProcess/Inspector/ios/WKInspectorHighlightView.h (272827 => 272828)


--- trunk/Source/WebKit/UIProcess/Inspector/ios/WKInspectorHighlightView.h	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKit/UIProcess/Inspector/ios/WKInspectorHighlightView.h	2021-02-13 02:16:44 UTC (rev 272828)
@@ -29,7 +29,7 @@
 #import <WebCore/InspectorOverlay.h>
 
 @interface WKInspectorHighlightView : UIView {
-    RetainPtr<NSMutableArray> _layers; // CAShapeLayers.
+    RetainPtr<NSMutableArray<CAShapeLayer *>> _layers;
 }
 - (void)update:(const WebCore::InspectorOverlay::Highlight&)highlight;
 @end

Modified: trunk/Source/WebKit/UIProcess/ios/WKScrollView.mm (272827 => 272828)


--- trunk/Source/WebKit/UIProcess/ios/WKScrollView.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKit/UIProcess/ios/WKScrollView.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -217,11 +217,6 @@
     }
 }
 
-- (void)dealloc
-{
-    [super dealloc];
-}
-
 static inline bool valuesAreWithinOnePixel(CGFloat a, CGFloat b)
 {
     return CGFAbs(a - b) < 1;

Modified: trunk/Source/WebKit/UIProcess/mac/WebColorPickerMac.mm (272827 => 272828)


--- trunk/Source/WebKit/UIProcess/mac/WebColorPickerMac.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKit/UIProcess/mac/WebColorPickerMac.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -140,7 +140,7 @@
 
         auto controller = adoptNS([[NSClassFromString(@"NSColorPopoverController") alloc] init]);
         popover.contentViewController = controller.get();
-        [controller setPopover: popover];
+        [controller setPopover:popover];
 
         colorPopover = popover;
     }

Modified: trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm (272827 => 272828)


--- trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -131,8 +131,7 @@
 - (void)setRemoteParent:(id)parent
 {
     ASSERT(isMainThread());
-    if (parent != m_parent)
-        m_parent = parent;
+    m_parent = parent;
 }
 
 - (id)accessibilityFocusedUIElement

Modified: trunk/Source/WebKitLegacy/ios/ChangeLog (272827 => 272828)


--- trunk/Source/WebKitLegacy/ios/ChangeLog	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/ios/ChangeLog	2021-02-13 02:16:44 UTC (rev 272828)
@@ -2,7 +2,20 @@
 
         Reduce explicit usage of [objC release] in WebKit
         https://bugs.webkit.org/show_bug.cgi?id=221780
+        <rdar://problem/74282389>
 
+        Reviewed by Darin Adler.
+
+        Apply review feedback from Darin Adler and Sam Weinig after r272789.
+
+        * WebView/WebPDFViewPlaceholder.mm:
+        (-[WebPDFViewPlaceholder _updateTitleForDocumentIfAvailable]):
+
+2021-02-12  Chris Dumez  <[email protected]>
+
+        Reduce explicit usage of [objC release] in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=221780
+
         Reviewed by Alex Christensen.
 
         Reduce explicit usage of [objC release] in WebKit by using smart pointers.

Modified: trunk/Source/WebKitLegacy/ios/WebView/WebPDFViewPlaceholder.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/ios/WebView/WebPDFViewPlaceholder.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/ios/WebView/WebPDFViewPlaceholder.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -328,16 +328,16 @@
     if (!_document || !CGPDFDocumentIsUnlocked(_document))
         return;
 
-    RetainPtr<NSString> title;
+    RetainPtr<CFStringRef> title;
 
     CGPDFDictionaryRef info = CGPDFDocumentGetInfo(_document);
     CGPDFStringRef value;
     if (CGPDFDictionaryGetString(info, "Title", &value))
-        title = adoptNS((NSString *)CGPDFStringCopyTextString(value));
+        title = adoptCF(CGPDFStringCopyTextString(value));
 
-    if ([title length]) {
-        [self setTitle:title.get()];
-        [[self _frame] _dispatchDidReceiveTitle:title.get()];
+    if (title && CFStringGetLength(title.get())) {
+        [self setTitle:(NSString *)title.get()];
+        [[self _frame] _dispatchDidReceiveTitle:(NSString *)title.get()];
     }
 }
 

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2021-02-13 02:16:44 UTC (rev 272828)
@@ -2,7 +2,69 @@
 
         Reduce explicit usage of [objC release] in WebKit
         https://bugs.webkit.org/show_bug.cgi?id=221780
+        <rdar://problem/74282389>
 
+        Reviewed by Darin Adler.
+
+        Apply review feedback from Darin Adler and Sam Weinig after r272789.
+
+        * DOM/DOMUIKitExtensions.mm:
+        (-[DOMNode absoluteQuads]):
+        (-[DOMHTMLAreaElement absoluteQuadsWithOwner:]):
+        * DOM/ExceptionHandlers.mm:
+        (raiseDOMErrorException):
+        * DefaultDelegates/WebDefaultUIDelegate.mm:
+        (-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):
+        * History/WebHistory.mm:
+        (-[WebHistoryPrivate visitedURL:withTitle:]):
+        (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
+        * History/WebHistoryItem.mm:
+        (-[WebHistoryItem initFromDictionaryRepresentation:]):
+        * Misc/WebNSDataExtras.mm:
+        (-[NSData _webkit_parseRFC822HeaderFields]):
+        * Misc/WebNSPasteboardExtras.mm:
+        (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
+        * Plugins/Hosted/NetscapePluginHostManager.mm:
+        (WebKit::NetscapePluginHostManager::spawnPluginHost):
+        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+        (WebKit::NetscapePluginInstanceProxy::performRequest):
+        * WebCoreSupport/WebChromeClient.mm:
+        (WebChromeClient::createWindow):
+        (WebChromeClient::addMessageToConsole):
+        * WebCoreSupport/WebEditorClient.mm:
+        (attributesForAttributedStringConversion):
+        * WebCoreSupport/WebFrameLoaderClient.mm:
+        (WebFrameLoaderClient::actionDictionary const):
+        (WebFrameLoaderClient::createFrame):
+        * WebCoreSupport/WebInspectorClient.mm:
+        (-[WebInspectorWindowController initWithInspectedWebView:isUnderTest:]):
+        (-[WebInspectorWindowController window]):
+        * WebView/WebDataSource.mm:
+        (-[WebDataSource _documentFragmentWithArchive:]):
+        (-[WebDataSource _makeRepresentation]):
+        * WebView/WebFrame.mm:
+        * WebView/WebFrameView.mm:
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView _updateMouseoverWithEvent:]):
+        * WebView/WebNavigationData.mm:
+        * WebView/WebPDFRepresentation.mm:
+        (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
+        * WebView/WebPDFView.mm:
+        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
+        * WebView/WebPolicyDelegate.mm:
+        * WebView/WebScriptDebugger.mm:
+        (WebScriptDebugger::sourceParsed):
+        * WebView/WebView.mm:
+        (-[WebView _openNewWindowWithRequest:]):
+        * WebView/WebWindowAnimation.h:
+        * WebView/WebWindowAnimation.mm:
+        (-[WebWindowScaleAnimation setSubAnimation:]):
+
+2021-02-12  Chris Dumez  <[email protected]>
+
+        Reduce explicit usage of [objC release] in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=221780
+
         Reviewed by Alex Christensen.
 
         Reduce explicit usage of [objC release] in WebKit by using smart pointers.

Modified: trunk/Source/WebKitLegacy/mac/DOM/DOMUIKitExtensions.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/DOM/DOMUIKitExtensions.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/DOM/DOMUIKitExtensions.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -182,10 +182,8 @@
             quads = [self lineBoxQuads];
     }
 
-    if (![quads count]) {
-        auto quadObject = adoptNS([[WKQuadObject alloc] initWithQuad:[self absoluteQuad]]);
-        quads = @[quadObject.get()];
-    }
+    if (![quads count])
+        quads = @[adoptNS([[WKQuadObject alloc] initWithQuad:[self absoluteQuad]]).get()];
 
     return quads;
 }
@@ -359,9 +357,7 @@
 
 - (NSArray *)absoluteQuadsWithOwner:(DOMNode *)owner
 {
-    auto quadObject = adoptNS([[WKQuadObject alloc] initWithQuad:[self absoluteQuadWithOwner:owner]]);
-    NSArray *quadArray = @[quadObject.get()];
-    return quadArray;
+    return @[adoptNS([[WKQuadObject alloc] initWithQuad:[self absoluteQuadWithOwner:owner]]).get()];
 }
 
 @end

Modified: trunk/Source/WebKitLegacy/mac/DOM/ExceptionHandlers.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/DOM/ExceptionHandlers.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/DOM/ExceptionHandlers.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -48,9 +48,8 @@
     else
         reason = adoptNS([[NSString alloc] initWithFormat:@"*** %@ %d", DOMException, description.legacyCode]);
 
-    auto userInfo = adoptNS([[NSDictionary alloc] initWithObjectsAndKeys:@(description.legacyCode), DOMException, nil]);
-
-    NSException *exception = [NSException exceptionWithName:DOMException reason:reason.get() userInfo:userInfo.get()];
+    auto userInfo = @{ DOMException: @(description.legacyCode) };
+    auto exception = [NSException exceptionWithName:DOMException reason:reason.get() userInfo:userInfo];
     [exception raise];
 
     RELEASE_ASSERT_NOT_REACHED();

Modified: trunk/Source/WebKitLegacy/mac/DefaultDelegates/WebDefaultUIDelegate.h (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/DefaultDelegates/WebDefaultUIDelegate.h	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/DefaultDelegates/WebDefaultUIDelegate.h	2021-02-13 02:16:44 UTC (rev 272828)
@@ -30,7 +30,7 @@
 
 @interface WebDefaultUIDelegate : NSObject <WebUIDelegate>
 {
-#if !PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC)
     IBOutlet NSMenu *defaultMenu;
 #endif
 }

Modified: trunk/Source/WebKitLegacy/mac/DefaultDelegates/WebDefaultUIDelegate.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/DefaultDelegates/WebDefaultUIDelegate.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/DefaultDelegates/WebDefaultUIDelegate.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -33,7 +33,7 @@
 #import "WebView.h"
 #import <wtf/RetainPtr.h>
 
-#if !PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC)
 #import "WebJavaScriptTextInputPanel.h"
 #import <WebCore/VersionChecks.h>
 #endif
@@ -43,7 +43,7 @@
 #import <WebCore/WKViewPrivate.h>
 #endif
 
-#if !PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC)
 @interface NSApplication (DeclarationStolenFromAppKit)
 - (void)_cycleWindowsReversed:(BOOL)reversed;
 @end
@@ -87,7 +87,7 @@
 
 - (void)webViewClose: (WebView *)wv
 {
-#if !PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC)
     [[wv window] close];
 #endif
 }
@@ -94,7 +94,7 @@
 
 - (void)webViewFocus: (WebView *)wv
 {
-#if !PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC)
     [[wv window] makeKeyAndOrderFront:wv];
 #endif
 }
@@ -101,7 +101,7 @@
 
 - (void)webViewUnfocus: (WebView *)wv
 {
-#if !PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC)
     if ([[wv window] isKeyWindow] || [[[wv window] attachedSheet] isKeyWindow])
         [NSApp _cycleWindowsReversed:FALSE];
 #endif
@@ -159,7 +159,7 @@
 
 - (void)webView: (WebView *)wv setResizable:(BOOL)resizable
 {
-#if !PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC)
     // FIXME: This doesn't actually change the resizability of the window,
     // only visibility of the indicator.
     [[wv window] setShowsResizeIndicator:resizable];
@@ -168,7 +168,7 @@
 
 - (void)webView: (WebView *)wv setFrame:(NSRect)frame
 {
-#if !PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC)
     [[wv window] setFrame:frame display:YES];
 #endif
 }
@@ -192,7 +192,7 @@
 
 - (NSString *)webView: (WebView *)wv runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText initiatedByFrame:(WebFrame *)frame
 {
-#if !PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC)
     auto panel = adoptNS([[WebJavaScriptTextInputPanel alloc] initWithPrompt:prompt text:defaultText]);
     [panel showWindow:nil];
     NSString *result;
@@ -216,7 +216,7 @@
 {
 }
 
-#if !PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC)
 - (NSUInteger)webView:(WebView *)webView dragDestinationActionMaskForDraggingInfo:(id <NSDraggingInfo>)draggingInfo
 {
     if (!linkedOnOrAfter(WebCore::SDKVersion::FirstWithDropToNavigateDisallowedByDefault))

Modified: trunk/Source/WebKitLegacy/mac/History/WebHistory.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/History/WebHistory.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/History/WebHistory.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -137,11 +137,6 @@
     return self;
 }
 
-- (void)dealloc
-{
-    [super dealloc];
-}
-
 // MARK: MODIFYING CONTENTS
 
 static void getDayBoundaries(NSTimeInterval interval, NSTimeInterval& beginningOfDay, NSTimeInterval& beginningOfNextDay)
@@ -286,7 +281,7 @@
     NSString *URLString = [url _web_originalDataAsString];
     if (!URLString)
         URLString = @"";
-    RetainPtr<WebHistoryItem> entry = [_entriesByURL objectForKey:URLString];
+    auto entry = retainPtr([_entriesByURL objectForKey:URLString]);
 
     if (entry) {
         LOG(History, "Updating global history entry %@", entry.get());
@@ -304,7 +299,7 @@
     
     [self addItemToDateCaches:entry.get()];
 
-    return entry.get();
+    return entry.autorelease();
 }
 
 - (BOOL)addItem:(WebHistoryItem *)entry discardDuplicate:(BOOL)discardDuplicate
@@ -859,8 +854,7 @@
 
     entry->_private->_redirectURLs = nullptr;
 
-    auto entries = adoptNS([[NSArray alloc] initWithObjects:entry, nil]);
-    [self _sendNotification:WebHistoryItemsAddedNotification entries:entries.get()];
+    [self _sendNotification:WebHistoryItemsAddedNotification entries:@[entry]];
 }
 
 - (void)_addVisitedLinksToVisitedLinkStore:(WebVisitedLinkStore &)visitedLinkStore

Modified: trunk/Source/WebKitLegacy/mac/History/WebHistoryItem.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/History/WebHistoryItem.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/History/WebHistoryItem.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -349,12 +349,9 @@
     if (NSArray *redirectURLs = [dict _webkit_arrayForKey:redirectURLsKey])
         _private->_redirectURLs = makeUnique<Vector<String>>(makeVector<String>(redirectURLs));
 
-    NSArray *childDicts = [dict objectForKey:childrenKey];
-    if (childDicts) {
-        for (int i = [childDicts count] - 1; i >= 0; i--) {
-            auto child = adoptNS([[WebHistoryItem alloc] initFromDictionaryRepresentation:[childDicts objectAtIndex:i]]);
-            core(_private)->addChildItem(*core(child->_private));
-        }
+    for (id childDict in [[dict objectForKey:childrenKey] reverseObjectEnumerator]) {
+        auto child = adoptNS([[WebHistoryItem alloc] initFromDictionaryRepresentation:childDict]);
+        core(_private)->addChildItem(*core(child->_private));
     }
 
 #if PLATFORM(IOS_FAMILY)

Modified: trunk/Source/WebKitLegacy/mac/Misc/WebNSDataExtras.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/Misc/WebNSDataExtras.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/Misc/WebNSDataExtras.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -332,10 +332,8 @@
                     break;
             }
             auto value = adoptNS([[NSString alloc] initWithBytes:colon length:eol - colon encoding:NSISOLatin1StringEncoding]);
-            if (NSString *oldValue = [headerFields objectForKey:lastKey]) {
-                auto newValue = [[NSString alloc] initWithFormat:@"%@, %@", oldValue, value.get()];
-                value = WTFMove(newValue);
-            }
+            if (NSString *oldValue = [headerFields objectForKey:lastKey])
+                value = adoptNS([[NSString alloc] initWithFormat:@"%@, %@", oldValue, value.get()]);
             [headerFields setObject:value.get() forKey:lastKey];
         }
     }

Modified: trunk/Source/WebKitLegacy/mac/Misc/WebNSPasteboardExtras.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/Misc/WebNSPasteboardExtras.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/Misc/WebNSPasteboardExtras.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -315,8 +315,7 @@
     if (customDataBuffer)
         [self setData:customDataBuffer.get() forType:@(PasteboardCustomData::cocoaType())];
 
-    auto extensions = adoptNS([[NSArray alloc] initWithObjects:extension, nil]);
-    [self setPropertyList:extensions.get() forType:legacyFilesPromisePasteboardType()];
+    [self setPropertyList:@[extension] forType:legacyFilesPromisePasteboardType()];
 
     return source;
 }

Modified: trunk/Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginHostManager.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginHostManager.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginHostManager.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -172,12 +172,11 @@
                                                                  "and the second argument is the application name."),
                              [[(NSString*)pluginPath lastPathComponent] stringByDeletingPathExtension], [[NSProcessInfo processInfo] processName]];
     
-    auto hostProperties = adoptNS([[NSDictionary alloc] initWithObjectsAndKeys:
-                                    visibleName, @"visibleName",
-                                    (NSString *)pluginPath, @"bundlePath",
-                                    nil]);
-    
-    data = "" dataWithPropertyList:hostProperties.get() format:NSPropertyListBinaryFormat_v1_0 options:0 error:NULL];
+    auto hostProperties = @{
+        @"visibleName": visibleName,
+        @"bundlePath": (NSString *)pluginPath,
+    };
+    data = "" dataWithPropertyList:hostProperties format:NSPropertyListBinaryFormat_v1_0 options:0 error:NULL];
     ASSERT(data);
 
     ProcessSerialNumber psn;

Modified: trunk/Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -651,10 +651,7 @@
         frame = kit(core([m_pluginView webFrame])->loader().findFrameForNavigation(frameName));
         if (!frame) {
             WebView *currentWebView = [m_pluginView webView];
-            auto features = adoptNS([[NSDictionary alloc] init]);
-            WebView *newWebView = [[currentWebView _UIDelegateForwarder] webView:currentWebView
-                                                        createWebViewWithRequest:nil
-                                                                  windowFeatures:features.get()];
+            WebView *newWebView = [[currentWebView _UIDelegateForwarder] webView:currentWebView createWebViewWithRequest:nil windowFeatures:@{ }];
 
             if (!newWebView) {
                 _WKPHLoadURLNotify(m_pluginHostProxy->port(), m_pluginID, pluginRequest->requestID(), NPERR_GENERIC_ERROR);

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -253,36 +253,24 @@
 #endif
     
     if ([delegate respondsToSelector:@selector(webView:createWebViewWithRequest:windowFeatures:)]) {
-        auto x = features.x ? adoptNS([[NSNumber alloc] initWithFloat:*features.x]) : nil;
-        auto y = features.y ? adoptNS([[NSNumber alloc] initWithFloat:*features.y]) : nil;
-        auto width = features.width ? adoptNS([[NSNumber alloc] initWithFloat:*features.width]) : nil;
-        auto height = features.height ? adoptNS([[NSNumber alloc] initWithFloat:*features.height]) : nil;
-        auto menuBarVisible = adoptNS([[NSNumber alloc] initWithBool:features.menuBarVisible]);
-        auto statusBarVisible = adoptNS([[NSNumber alloc] initWithBool:features.statusBarVisible]);
-        auto toolBarVisible = adoptNS([[NSNumber alloc] initWithBool:features.toolBarVisible]);
-        auto scrollbarsVisible = adoptNS([[NSNumber alloc] initWithBool:features.scrollbarsVisible]);
-        auto resizable = adoptNS([[NSNumber alloc] initWithBool:features.resizable]);
-        auto fullscreen = adoptNS([[NSNumber alloc] initWithBool:features.fullscreen]);
-        auto dialog = adoptNS([[NSNumber alloc] initWithBool:features.dialog]);
-        
         auto dictFeatures = adoptNS([[NSMutableDictionary alloc] initWithObjectsAndKeys:
-                                             menuBarVisible.get(), @"menuBarVisible",
-                                             statusBarVisible.get(), @"statusBarVisible",
-                                             toolBarVisible.get(), @"toolBarVisible",
-                                             scrollbarsVisible.get(), @"scrollbarsVisible",
-                                             resizable.get(), @"resizable",
-                                             fullscreen.get(), @"fullscreen",
-                                             dialog.get(), @"dialog",
+                                             @(features.menuBarVisible), @"menuBarVisible",
+                                             @(features.statusBarVisible), @"statusBarVisible",
+                                             @(features.toolBarVisible), @"toolBarVisible",
+                                             @(features.scrollbarsVisible), @"scrollbarsVisible",
+                                             @(features.resizable), @"resizable",
+                                             @(features.fullscreen), @"fullscreen",
+                                             @(features.dialog), @"dialog",
                                              nil]);
         
-        if (x)
-            [dictFeatures setObject:x.get() forKey:@"x"];
-        if (y)
-            [dictFeatures setObject:y.get() forKey:@"y"];
-        if (width)
-            [dictFeatures setObject:width.get() forKey:@"width"];
-        if (height)
-            [dictFeatures setObject:height.get() forKey:@"height"];
+        if (features.x)
+            [dictFeatures setObject:@(*features.x) forKey:@"x"];
+        if (features.y)
+            [dictFeatures setObject:@(*features.y) forKey:@"y"];
+        if (features.width)
+            [dictFeatures setObject:@(*features.width) forKey:@"width"];
+        if (features.height)
+            [dictFeatures setObject:@(*features.height) forKey:@"height"];
         
         newWebView = CallUIDelegate(m_webView, @selector(webView:createWebViewWithRequest:windowFeatures:), nil, dictFeatures.get());
     } else if (features.dialog && [delegate respondsToSelector:@selector(webView:createWebViewModalDialogWithRequest:)]) {
@@ -450,22 +438,22 @@
     }
 
     NSString *messageSource = stringForMessageSource(source);
-    auto dictionary = adoptNS([[NSDictionary alloc] initWithObjectsAndKeys:
-        (NSString *)message, @"message",
-        @(lineNumber), @"lineNumber",
-        @(columnNumber), @"columnNumber",
-        (NSString *)sourceURL, @"sourceURL",
-        messageSource, @"MessageSource",
-        stringForMessageLevel(level), @"MessageLevel",
-        NULL]);
+    auto dictionary = @{
+        @"message": (NSString *)message,
+        @"lineNumber": @(lineNumber),
+        @"columnNumber": @(columnNumber),
+        @"sourceURL": (NSString *)sourceURL,
+        @"MessageSource": messageSource,
+        @"MessageLevel": stringForMessageLevel(level),
+    };
 
 #if PLATFORM(IOS_FAMILY)
-    [[[m_webView _UIKitDelegateForwarder] asyncForwarder] webView:m_webView addMessageToConsole:dictionary.get() withSource:messageSource];
+    [[[m_webView _UIKitDelegateForwarder] asyncForwarder] webView:m_webView addMessageToConsole:dictionary withSource:messageSource];
 #else
     if (respondsToNewSelector)
-        CallUIDelegate(m_webView, selector, dictionary.get(), messageSource);
+        CallUIDelegate(m_webView, selector, dictionary, messageSource);
     else
-        CallUIDelegate(m_webView, selector, dictionary.get());
+        CallUIDelegate(m_webView, selector, dictionary);
 #endif
 }
 

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -454,9 +454,7 @@
         [excludedElements addObject:@"object"];
 #endif
 
-    NSDictionary *dictionary = @{ NSExcludedElementsDocumentAttribute: excludedElements.get() };
-
-    return dictionary;
+    return @{ NSExcludedElementsDocumentAttribute: excludedElements.get() };
 }
 
 void _WebCreateFragment(Document& document, NSAttributedString *string, FragmentAndResources& result)

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -1565,8 +1565,7 @@
 
     if (auto mouseEventData = action.mouseEventData()) {
         constexpr OptionSet<HitTestRequest::RequestType> hitType { HitTestRequest::ReadOnly, HitTestRequest::Active, HitTestRequest::DisallowUserAgentShadowContent, HitTestRequest::AllowChildFrameContent };
-        auto element = adoptNS([[WebElementDictionary alloc]
-            initWithHitTestResult:core(m_webFrame.get())->eventHandler().hitTestResultAtPoint(mouseEventData->absoluteLocation, hitType)]);
+        auto element = adoptNS([[WebElementDictionary alloc] initWithHitTestResult:core(m_webFrame.get())->eventHandler().hitTestResultAtPoint(mouseEventData->absoluteLocation, hitType)]);
         [result setObject:element.get() forKey:WebActionElementKey];
 
         if (mouseEventData->isTrusted)
@@ -1609,11 +1608,9 @@
     ASSERT(m_webFrame);
     
     auto childView = adoptNS([[WebFrameView alloc] init]);
-    
-    RefPtr<WebCore::Frame> result = [WebFrame _createSubframeWithOwnerElement:&ownerElement frameName:name frameView:childView.get()];
+    auto result = [WebFrame _createSubframeWithOwnerElement:&ownerElement frameName:name frameView:childView.get()];
+    auto newFrame = kit(result.ptr());
 
-    WebFrame *newFrame = kit(result.get());
-
     if ([newFrame _dataSource])
         [[newFrame _dataSource] _documentLoader]->setOverrideEncoding([[m_webFrame.get() _dataSource] _documentLoader]->overrideEncoding());  
 

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -512,17 +512,12 @@
     _inspectedWebView = webView;
 
     NSString *pagePath = isUnderTest ? [self inspectorTestPagePath] : [self inspectorPagePath];
-    auto request = adoptNS([[NSURLRequest alloc] initWithURL:[NSURL fileURLWithPath: pagePath]]);
+    auto request = adoptNS([[NSURLRequest alloc] initWithURL:[NSURL fileURLWithPath:pagePath]]);
     [[_frontendWebView mainFrame] loadRequest:request.get()];
 
     return self;
 }
 
-- (void)dealloc
-{
-    [super dealloc];
-}
-
 // MARK: -
 
 - (NSString *)inspectorPagePath
@@ -567,7 +562,7 @@
     [window setMinFullScreenContentSize:NSMakeSize(minimumFullScreenWidth, minimumWindowHeight)];
     [window setCollectionBehavior:([window collectionBehavior] | NSWindowCollectionBehaviorFullScreenAllowsTiling)];
 
-    [window setTitlebarAppearsTransparent: YES];
+    [window setTitlebarAppearsTransparent:YES];
 
     [self setWindow:window.get()];
     return window.get();

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebDataSource.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebDataSource.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebDataSource.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -317,12 +317,9 @@
             // FIXME: seems poor form to do this as a side effect of getting a document fragment
             toPrivate(_private)->loader->addAllArchiveResources(*[archive _coreLegacyWebArchive]);
 
-            DOMDocumentFragment *fragment = [[self webFrame] _documentFragmentWithMarkupString:markupString.get() baseURLString:[[mainResource URL] _web_originalDataAsString]];
-            return fragment;
-        } else if (WebCore::MIMETypeRegistry::isSupportedImageMIMEType(MIMEType)) {
+            return [[self webFrame] _documentFragmentWithMarkupString:markupString.get() baseURLString:[[mainResource URL] _web_originalDataAsString]];
+        } else if (WebCore::MIMETypeRegistry::isSupportedImageMIMEType(MIMEType))
             return [self _documentFragmentWithImageResource:mainResource];
-            
-        }
     }
     return nil;
 }
@@ -384,7 +381,7 @@
 
     // Check if the data source was already bound?
     if (![[self representation] isKindOfClass:repClass]) {
-        RetainPtr<id> newRep = repClass != nil ? adoptNS([(NSObject *)[repClass alloc] init]) : nil;
+        RetainPtr<id> newRep = repClass ? adoptNS([[repClass alloc] init]) : nil;
         [self _setRepresentation:(id <WebDocumentRepresentation>)newRep.get()];
     }
 

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -187,11 +187,6 @@
 
 @implementation WebFramePrivate
 
-- (void)dealloc
-{
-    [super dealloc];
-}
-
 - (void)setWebFrameView:(WebFrameView *)v
 { 
     webFrameView = v;

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebFrameView.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebFrameView.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebFrameView.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -117,11 +117,6 @@
 
 @implementation WebFrameViewPrivate
 
-- (void)dealloc
-{
-    [super dealloc];
-}
-
 @end
 
 @implementation WebFrameView (WebFrameViewFileInternal)

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -1911,10 +1911,7 @@
     NSView *hitView = [contentView hitTest:locationForHitTest];
     forceWebHTMLViewHitTest = NO;
     
-    RetainPtr<WebHTMLView> view;
-    if ([hitView isKindOfClass:[WebHTMLView class]])
-        view = (WebHTMLView *)hitView;    
-
+    auto view = retainPtr(dynamic_objc_cast<WebHTMLView>(hitView));
     if (lastHitView != view && lastHitView && [lastHitView _frame]) {
         // If we are moving out of a view (or frame), let's pretend the mouse moved
         // all the way out of that view. But we have to account for scrolling, because

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebNavigationData.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebNavigationData.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebNavigationData.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -41,11 +41,6 @@
 
 @implementation WebNavigationDataPrivate
 
-- (void)dealloc
-{
-    [super dealloc];
-}
-
 @end
 
 @implementation WebNavigationData

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPDFRepresentation.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPDFRepresentation.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPDFRepresentation.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -121,12 +121,10 @@
     }
 
     WebPDFView *view = (WebPDFView *)[[[dataSource webFrame] frameView] documentView];
-    auto doc = adoptNS([[[[self class] PDFDocumentClass] alloc] initWithData:data]);
-    [view setPDFDocument:doc.get()];
+    auto document = adoptNS([[[[self class] PDFDocumentClass] alloc] initWithData:data]);
+    [view setPDFDocument:document.get()];
 
-    NSArray *scripts = allScriptsInPDFDocument(doc.get());
-    doc = nil;
-
+    NSArray *scripts = allScriptsInPDFDocument(document.get());
     if (![scripts count])
         return;
 

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPDFView.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPDFView.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPDFView.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -1101,19 +1101,19 @@
     NSMutableArray *copiedItems = [NSMutableArray array];
 
 IGNORE_WARNINGS_BEGIN("undeclared-selector")
-    auto actionsToTags = adoptNS([[NSDictionary alloc] initWithObjectsAndKeys:
-        @(WebMenuItemPDFActualSize), NSStringFromSelector(@selector(_setActualSize:)),
-        @(WebMenuItemPDFZoomIn), NSStringFromSelector(@selector(zoomIn:)),
-        @(WebMenuItemPDFZoomOut), NSStringFromSelector(@selector(zoomOut:)),
-        @(WebMenuItemPDFAutoSize), NSStringFromSelector(@selector(_setAutoSize:)),
-        @(WebMenuItemPDFSinglePage), NSStringFromSelector(@selector(_setSinglePage:)),
-        @(WebMenuItemPDFSinglePageScrolling), NSStringFromSelector(@selector(_setSinglePageScrolling:)),
-        @(WebMenuItemPDFFacingPages), NSStringFromSelector(@selector(_setDoublePage:)),
-        @(WebMenuItemPDFFacingPagesScrolling), NSStringFromSelector(@selector(_setDoublePageScrolling:)),
-        @(WebMenuItemPDFContinuous), NSStringFromSelector(@selector(_toggleContinuous:)),
-        @(WebMenuItemPDFNextPage), NSStringFromSelector(@selector(goToNextPage:)),
-        @(WebMenuItemPDFPreviousPage), NSStringFromSelector(@selector(goToPreviousPage:)),
-        nil]);
+    auto actionsToTags = @{
+        NSStringFromSelector(@selector(_setActualSize:)): @(WebMenuItemPDFActualSize),
+        NSStringFromSelector(@selector(zoomIn:)): @(WebMenuItemPDFZoomIn),
+        NSStringFromSelector(@selector(zoomOut:)): @(WebMenuItemPDFZoomOut),
+        NSStringFromSelector(@selector(_setAutoSize:)): @(WebMenuItemPDFAutoSize),
+        NSStringFromSelector(@selector(_setSinglePage:)): @(WebMenuItemPDFSinglePage),
+        NSStringFromSelector(@selector(_setSinglePageScrolling:)): @(WebMenuItemPDFSinglePageScrolling),
+        NSStringFromSelector(@selector(_setDoublePage:)): @(WebMenuItemPDFFacingPages),
+        NSStringFromSelector(@selector(_setDoublePageScrolling:)): @(WebMenuItemPDFFacingPagesScrolling),
+        NSStringFromSelector(@selector(_toggleContinuous:)): @(WebMenuItemPDFContinuous),
+        NSStringFromSelector(@selector(goToNextPage:)): @(WebMenuItemPDFNextPage),
+        NSStringFromSelector(@selector(goToPreviousPage:)): @(WebMenuItemPDFPreviousPage),
+    };
 IGNORE_WARNINGS_END
 
     // Leave these menu items out, since WebKit inserts equivalent ones. Note that we leave out PDFKit's "Look Up in Dictionary"

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPolicyDelegate.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPolicyDelegate.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPolicyDelegate.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -63,11 +63,6 @@
     return self;
 }
 
-- (void)dealloc
-{
-    [super dealloc];
-}
-
 @end
 
 @implementation WebPolicyDecisionListener

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebScriptDebugger.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebScriptDebugger.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebScriptDebugger.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -96,9 +96,18 @@
                 CallScriptDebugDelegate(implementations->didParseSourceFunc, webView, @selector(webView:didParseSource:fromURL:sourceId:forWebFrame:), nsSource, [nsURL absoluteString], sourceProvider->asID(), webFrame);
         }
     } else {
-        NSString* nsErrorMessage = nsStringNilIfEmpty(errorMsg);
-        auto info = adoptNS([[NSDictionary alloc] initWithObjectsAndKeys:nsErrorMessage, WebScriptErrorDescriptionKey, @(errorLine), WebScriptErrorLineNumberKey, nil]);
-        auto error = adoptNS([[NSError alloc] initWithDomain:WebScriptErrorDomain code:WebScriptGeneralErrorCode userInfo:info.get()]);
+        NSDictionary *info;
+        if (errorMsg.isEmpty()) {
+            info = @{
+                WebScriptErrorLineNumberKey: @(errorLine),
+            };
+        } else {
+            info = @{
+                WebScriptErrorDescriptionKey: (NSString *)errorMsg,
+                WebScriptErrorLineNumberKey: @(errorLine),
+            };
+        }
+        auto error = adoptNS([[NSError alloc] initWithDomain:WebScriptErrorDomain code:WebScriptGeneralErrorCode userInfo:info]);
 
         if (implementations->failedToParseSourceFunc)
             CallScriptDebugDelegate(implementations->failedToParseSourceFunc, webView, @selector(webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:), nsSource, firstLine, nsURL, error.get(), webFrame);

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -2578,10 +2578,7 @@
 
 - (WebView *)_openNewWindowWithRequest:(NSURLRequest *)request
 {
-    auto features = adoptNS([[NSDictionary alloc] init]);
-    WebView *newWindowWebView = [[self _UIDelegateForwarder] webView:self
-                                            createWebViewWithRequest:nil
-                                                      windowFeatures:features.get()];
+    WebView *newWindowWebView = [[self _UIDelegateForwarder] webView:self createWebViewWithRequest:nil windowFeatures:@{ }];
     if (!newWindowWebView)
         return nil;
 

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebWindowAnimation.h (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebWindowAnimation.h	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebWindowAnimation.h	2021-02-13 02:16:44 UTC (rev 272828)
@@ -24,12 +24,13 @@
  */
 
 #import <Cocoa/Cocoa.h>
+#import <wtf/RetainPtr.h>
 
 @interface WebWindowScaleAnimation : NSAnimation {
 @private
     NSRect _initialFrame, _finalFrame, _realFrame;
     NSWindow *_window; // (assign)
-    NSAnimation *_subAnimation; // (retain)
+    RetainPtr<NSAnimation> _subAnimation;
     NSTimeInterval _hintedDuration;
 }
 - (id)initWithHintedDuration:(NSTimeInterval)duration window:(NSWindow *)window initalFrame:(NSRect)initialFrame finalFrame:(NSRect)finalFrame;

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebWindowAnimation.mm (272827 => 272828)


--- trunk/Source/WebKitLegacy/mac/WebView/WebWindowAnimation.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebWindowAnimation.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -84,12 +84,6 @@
     return self;
 }
 
-- (void) dealloc
-{
-    [_subAnimation release];
-    [super dealloc];
-}
-
 - (void)setDuration:(NSTimeInterval)duration
 {
     [super setDuration:WebWindowAnimationDurationFromDuration(duration)];
@@ -179,8 +173,7 @@
 
 - (void)setSubAnimation:(NSAnimation *)animation
 {
-    auto oldAnimation = adoptNS(_subAnimation);
-    _subAnimation = [animation retain];
+    _subAnimation = animation;
 }
 
 - (NSTimeInterval)additionalDurationNeededToReachFinalFrame

Modified: trunk/Tools/ChangeLog (272827 => 272828)


--- trunk/Tools/ChangeLog	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Tools/ChangeLog	2021-02-13 02:16:44 UTC (rev 272828)
@@ -1,3 +1,18 @@
+2021-02-12  Chris Dumez  <[email protected]>
+
+        Reduce explicit usage of [objC release] in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=221780
+        <rdar://problem/74282389>
+
+        Reviewed by Darin Adler.
+
+        Apply review feedback from Darin Adler and Sam Weinig after r272789.
+
+        * DumpRenderTree/mac/TestRunnerMac.mm:
+        (TestRunner::addChromeInputField):
+        * WebKitTestRunner/mac/PlatformWebViewMac.mm:
+        (WTR::PlatformWebView::addChromeInputField):
+
 2021-02-12  Jiewen Tan  <[email protected]>
 
         [WebAuthn] Provide SPI to query local credentials

Modified: trunk/Tools/DumpRenderTree/mac/TestRunnerMac.mm (272827 => 272828)


--- trunk/Tools/DumpRenderTree/mac/TestRunnerMac.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Tools/DumpRenderTree/mac/TestRunnerMac.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -1065,7 +1065,7 @@
 {
 #if !PLATFORM(IOS_FAMILY)
     auto textField = adoptNS([[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 100, 20)]);
-    [textField setTag: 1];
+    [textField setTag:1];
     [[[[mainFrame webView] window] contentView] addSubview:textField.get()];
     
     [textField setNextKeyView:[mainFrame webView]];

Modified: trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm (272827 => 272828)


--- trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm	2021-02-13 01:48:23 UTC (rev 272827)
+++ trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm	2021-02-13 02:16:44 UTC (rev 272828)
@@ -150,7 +150,7 @@
 void PlatformWebView::addChromeInputField()
 {
     auto textField = adoptNS([[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 100, 20)]);
-    [textField setTag: 1];
+    [textField setTag:1];
     [[m_window contentView] addSubview:textField.get()];
 
     NSView *view = platformView();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to