Skip to content

Commit 358eab5

Browse files
committed
Address Safer C++ static analysis warnings in WebKitLegacy/mac/WebView
https://bugs.webkit.org/show_bug.cgi?id=326054 Reviewed by NOBODY (OOPS!). Fix Safer C++ warnings in Source/WebKitLegacy/mac/WebView and update the expectations accordingly. WebFeature and WebFormDelegate are renamed to Objective-C++ so that they can use smart pointers. * Source/WebKitLegacy/PlatformCocoa.cmake: * Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj: * Source/WebKitLegacy/mac/WebView/WebFeature.mm: Renamed from Source/WebKitLegacy/mac/WebView/WebFeature.m. * Source/WebKitLegacy/mac/WebView/WebFormDelegate.mm: Renamed from Source/WebKitLegacy/mac/WebView/WebFormDelegate.m. * Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h: * Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.h: * Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h: * Source/WebKitLegacy/mac/WebCoreSupport/WebNotificationClient.h: Add type traits. * Source/WebKitLegacy/mac/WebView/WebArchive.h: * Source/WebKitLegacy/mac/WebView/WebArchive.mm: * Source/WebKitLegacy/mac/WebView/WebFramePrivate.h: * Source/WebKitLegacy/mac/WebView/WebPreferences.h: * Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h: * Source/WebKitLegacy/mac/WebView/WebViewInternal.h: * Source/WebKitLegacy/mac/WebView/WebViewPrivate.h: Declare NSString globals as NSString * const. * Source/WebKitLegacy/mac/WebView/WebDeviceOrientationProviderMock.h: * Source/WebKitLegacy/mac/WebView/WebDeviceOrientationProviderMock.mm: * Source/WebKitLegacy/mac/WebView/WebDeviceOrientationProviderMockInternal.h: Make m_core const and initialize it with lazyInitialize(). * Source/WebKitLegacy/mac/WebView/WebFullScreenController.h: * Source/WebKitLegacy/mac/WebView/WebFullScreenController.mm: * Source/WebKitLegacy/mac/WebView/WebPDFView.h: * Source/WebKitLegacy/mac/WebView/WebPDFView.mm: * Source/WebKitLegacy/mac/WebView/WebTextCompletionController.h: * Source/WebKitLegacy/mac/WebView/WebTextCompletionController.mm: Use RetainPtr for owned instance variables and __weak for non-owning ones. * Source/WebKitLegacy/mac/WebView/WebIndicateLayer.h: * Source/WebKitLegacy/mac/WebView/WebIndicateLayer.mm: * Source/WebKitLegacy/mac/WebView/WebWindowAnimation.h: Use __weak for non-owning instance variables. * Source/WebKitLegacy/mac/WebView/WebVideoFullscreenController.h: * Source/WebKitLegacy/mac/WebView/WebVideoFullscreenController.mm: Remove unused instance variables, suppress a MemoryUnsafeCast warning for WebAVPlayerController, which mimics AVPlayerController without subclassing it, and use protect() at call sites. * Source/WebKitLegacy/mac/WebView/WebHTMLView.mm: (-[WebHTMLView attachRootLayer:]): Read layerHostingView after creating it. Also use protect(), smart pointer locals and checked Objective-C casts. * Source/WebKitLegacy/mac/WebView/WebDataSource.mm: * Source/WebKitLegacy/mac/WebView/WebDelegateImplementationCaching.mm: * Source/WebKitLegacy/mac/WebView/WebDynamicScrollBarsView.mm: * Source/WebKitLegacy/mac/WebView/WebFrame.mm: * Source/WebKitLegacy/mac/WebView/WebFrameView.mm: * Source/WebKitLegacy/mac/WebView/WebHTMLRepresentation.mm: * Source/WebKitLegacy/mac/WebView/WebImmediateActionController.mm: * Source/WebKitLegacy/mac/WebView/WebMediaPlaybackTargetPicker.mm: * Source/WebKitLegacy/mac/WebView/WebPreferences.mm: * Source/WebKitLegacy/mac/WebView/WebScriptDebugger.mm: * Source/WebKitLegacy/mac/WebView/WebView.mm: Use protect(), smart pointer locals, downcast<> and checked Objective-C casts. * Source/WebKitLegacy/SaferCPPExpectations/ForwardDeclCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/MemoryUnsafeCastCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/NoUncountedMemberCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/NoUnretainedMemberCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/RetainPtrCtorAdoptCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/UncheckedLocalVarsCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/UncountedCallArgsCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/UnretainedCallArgsCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/UnretainedLambdaCapturesCheckerExpectations: * Source/WebKitLegacy/SaferCPPExpectations/UnretainedLocalVarsCheckerExpectations:
1 parent b435774 commit 358eab5

54 files changed

Lines changed: 715 additions & 746 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎Source/WebCore/platform/ios/LegacyTileCache.h‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ class LegacyTileCache : public CanMakeWeakPtr<LegacyTileCache> {
5454
LegacyTileCache(WAKWindow *);
5555
~LegacyTileCache();
5656

57-
void ref() const;
58-
void deref() const;
57+
WEBCORE_EXPORT void ref() const;
58+
WEBCORE_EXPORT void deref() const;
5959

6060
CGFloat screenScale() const;
6161

‎Source/WebKitLegacy/PlatformCocoa.cmake‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ list(APPEND WebKitLegacy_SOURCES
6969
mac/Misc/WebNSDictionaryExtras.m
7070
mac/Misc/WebNSURLRequestExtras.m
7171

72-
mac/WebView/WebFeature.m
73-
mac/WebView/WebFormDelegate.m
72+
mac/WebView/WebFeature.mm
73+
mac/WebView/WebFormDelegate.mm
7474
)
7575

7676
# Preferences codegen.

‎Source/WebKitLegacy/SaferCPPExpectations/ForwardDeclCheckerExpectations‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,3 @@ Storage/StorageTracker.h
22
WebCoreSupport/SocketStreamHandle.h
33
mac/DOM/DOMAbstractView.mm
44
mac/DOM/DOMObject.mm
5-
[ Mac ] mac/WebView/WebView.mm

‎Source/WebKitLegacy/SaferCPPExpectations/MemoryUnsafeCastCheckerExpectations‎

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,3 @@ mac/DOM/ObjCEventListener.h
8282
mac/DOM/WebDOMOperations.mm
8383
mac/WebCoreSupport/WebSecurityOrigin.mm
8484
[ iOS ] mac/WebInspector/WebNodeHighlight.mm
85-
[ Mac ] mac/WebView/WebDynamicScrollBarsView.mm
86-
mac/WebView/WebFrame.mm
87-
mac/WebView/WebFrameView.mm
88-
mac/WebView/WebHTMLRepresentation.mm
89-
mac/WebView/WebHTMLView.mm
90-
mac/WebView/WebScriptDebugger.mm
91-
[ Mac ] mac/WebView/WebVideoFullscreenController.mm
92-
mac/WebView/WebView.mm
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-
mac/WebView/WebHTMLView.mm

‎Source/WebKitLegacy/SaferCPPExpectations/NoUnretainedMemberCheckerExpectations‎

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,34 +22,21 @@ mac/WebInspector/WebNodeHighlight.h
2222
mac/WebInspector/WebNodeHighlightView.h
2323
mac/WebInspector/WebNodeHighlighter.h
2424
mac/WebView/WebArchive.h
25-
[ iOS ] mac/WebView/WebDataSource.mm
2625
mac/WebView/WebDeviceOrientation.h
27-
mac/WebView/WebDeviceOrientationProviderMock.h
2826
mac/WebView/WebDocumentLoaderMac.h
2927
mac/WebView/WebFrame.h
3028
mac/WebView/WebFrameView.h
31-
mac/WebView/WebFrameView.mm
32-
[ Mac ] mac/WebView/WebFullScreenController.h
3329
mac/WebView/WebGeolocationPosition.h
3430
mac/WebView/WebHTMLRepresentation.h
35-
mac/WebView/WebHTMLRepresentation.mm
3631
mac/WebView/WebHTMLView.h
37-
mac/WebView/WebHTMLView.mm
38-
[ iOS ] mac/WebView/WebIndicateLayer.h
3932
mac/WebView/WebNavigationData.h
4033
mac/WebView/WebNotification.h
41-
[ Mac ] mac/WebView/WebPDFView.h
42-
[ Mac ] mac/WebView/WebPDFView.mm
4334
mac/WebView/WebPolicyDelegatePrivate.h
4435
mac/WebView/WebResource.h
4536
mac/WebView/WebScriptDebugDelegate.h
4637
mac/WebView/WebScriptDebugDelegate.mm
4738
mac/WebView/WebScriptWorld.h
48-
[ Mac ] mac/WebView/WebTextCompletionController.h
4939
mac/WebView/WebTextIterator.h
50-
[ Mac ] mac/WebView/WebVideoFullscreenController.h
5140
mac/WebView/WebView.h
52-
mac/WebView/WebView.mm
5341
mac/WebView/WebViewData.h
5442
[ iOS ] mac/WebView/WebViewRenderingUpdateScheduler.h
55-
[ Mac ] mac/WebView/WebWindowAnimation.h

‎Source/WebKitLegacy/SaferCPPExpectations/RetainPtrCtorAdoptCheckerExpectations‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,7 @@ mac/History/WebHistory.mm
77
mac/Plugins/WebPluginController.mm
88
mac/Storage/WebDatabaseManager.mm
99
mac/Storage/WebStorageManager.mm
10-
mac/WebView/WebDeviceOrientationProviderMock.mm
11-
mac/WebView/WebFormDelegate.m
1210
[ Mac ] mac/WebView/WebHTMLView.mm
13-
[ Mac ] mac/WebView/WebVideoFullscreenController.mm
14-
mac/WebView/WebView.mm
1511
[ iOS ] ios/DefaultDelegates/WebDefaultFormDelegate.m
1612
[ iOS ] ios/DefaultDelegates/WebDefaultFrameLoadDelegate.m
1713
[ iOS ] ios/DefaultDelegates/WebDefaultResourceLoadDelegate.m

‎Source/WebKitLegacy/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations‎

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,3 @@ mac/DOM/DOMHTMLInputElement.mm
66
mac/DOM/DOMHTMLObjectElement.mm
77
mac/DOM/DOMInternal.mm
88
[ iOS ] mac/DOM/DOMUIKitExtensions.mm
9-
mac/WebView/WebDeviceOrientationProviderMock.mm
10-
mac/WebView/WebFrame.mm
11-
[ Mac ] mac/WebView/WebFullScreenController.mm
12-
mac/WebView/WebHTMLRepresentation.mm
13-
mac/WebView/WebHTMLView.mm
14-
[ Mac ] mac/WebView/WebImmediateActionController.mm
15-
[ Mac ] mac/WebView/WebPDFView.mm
16-
mac/WebView/WebPreferences.mm
17-
mac/WebView/WebScriptDebugger.mm
18-
[ Mac ] mac/WebView/WebVideoFullscreenController.mm
19-
mac/WebView/WebView.mm

‎Source/WebKitLegacy/SaferCPPExpectations/UncheckedLocalVarsCheckerExpectations‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,3 @@ mac/DOM/DOM.mm
44
[ iOS ] mac/DOM/DOMUIKitExtensions.mm
55
[ iOS ] mac/DOM/WebDOMOperations.mm
66
[ iOS ] mac/Plugins/WebPluginController.mm
7-
mac/WebView/WebFrame.mm
8-
mac/WebView/WebFrameView.mm
9-
mac/WebView/WebHTMLRepresentation.mm
10-
[ iOS ] mac/WebView/WebHTMLView.mm
11-
[ Mac ] mac/WebView/WebImmediateActionController.mm
12-
mac/WebView/WebView.mm
Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1 @@
11
[ macOS ] mac/DOM/DOM.mm
2-
[ macOS ] mac/WebView/WebFrame.mm
3-
[ Mac ] mac/WebView/WebFullScreenController.mm
4-
[ macOS ] mac/WebView/WebHTMLView.mm
5-
[ Mac ] mac/WebView/WebImmediateActionController.mm
6-
[ Mac ] mac/WebView/WebMediaPlaybackTargetPicker.mm
7-
[ Mac ] mac/WebView/WebPDFView.mm
8-
[ Mac ] mac/WebView/WebVideoFullscreenController.mm
9-
[ macOS ] mac/WebView/WebView.mm

0 commit comments

Comments
 (0)