Title: [259207] trunk/Source/WebKit
- Revision
- 259207
- Author
- wenson_hs...@apple.com
- Date
- 2020-03-30 10:29:59 -0700 (Mon, 30 Mar 2020)
Log Message
[Cocoa] Minor code cleanup around WebDataListSuggestionsDropdown
https://bugs.webkit.org/show_bug.cgi?id=209747
Reviewed by Tim Horton.
Refactor WKDataListSuggestionsController and WKDataListSuggestionsControl, such that their `_dropdown`s are
`WeakPtr`s instead of raw pointers. Also, make `-showSuggestionsDropdown:` take a reference instead of a
pointer, since the argument is always `this` (and assumed to be non-null).
No change in behavior.
* UIProcess/WebDataListSuggestionsDropdown.h:
* UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
(WebKit::WebDataListSuggestionsDropdownIOS::show):
(-[WKDataListSuggestionsControl showSuggestionsDropdown:activationType:]):
(-[WKDataListSuggestionsPicker showSuggestionsDropdown:activationType:]):
(-[WKDataListSuggestionsPopover showSuggestionsDropdown:activationType:]):
* UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:
(WebKit::WebDataListSuggestionsDropdownMac::show):
(-[WKDataListSuggestionsController showSuggestionsDropdown:]):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (259206 => 259207)
--- trunk/Source/WebKit/ChangeLog 2020-03-30 17:17:27 UTC (rev 259206)
+++ trunk/Source/WebKit/ChangeLog 2020-03-30 17:29:59 UTC (rev 259207)
@@ -1,3 +1,26 @@
+2020-03-30 Wenson Hsieh <wenson_hs...@apple.com>
+
+ [Cocoa] Minor code cleanup around WebDataListSuggestionsDropdown
+ https://bugs.webkit.org/show_bug.cgi?id=209747
+
+ Reviewed by Tim Horton.
+
+ Refactor WKDataListSuggestionsController and WKDataListSuggestionsControl, such that their `_dropdown`s are
+ `WeakPtr`s instead of raw pointers. Also, make `-showSuggestionsDropdown:` take a reference instead of a
+ pointer, since the argument is always `this` (and assumed to be non-null).
+
+ No change in behavior.
+
+ * UIProcess/WebDataListSuggestionsDropdown.h:
+ * UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
+ (WebKit::WebDataListSuggestionsDropdownIOS::show):
+ (-[WKDataListSuggestionsControl showSuggestionsDropdown:activationType:]):
+ (-[WKDataListSuggestionsPicker showSuggestionsDropdown:activationType:]):
+ (-[WKDataListSuggestionsPopover showSuggestionsDropdown:activationType:]):
+ * UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:
+ (WebKit::WebDataListSuggestionsDropdownMac::show):
+ (-[WKDataListSuggestionsController showSuggestionsDropdown:]):
+
2020-03-30 David Kilzer <ddkil...@apple.com>
NetworkConnectionToWebProcess::registerFileBlobURL should validate its parameters
Modified: trunk/Source/WebKit/UIProcess/WebDataListSuggestionsDropdown.h (259206 => 259207)
--- trunk/Source/WebKit/UIProcess/WebDataListSuggestionsDropdown.h 2020-03-30 17:17:27 UTC (rev 259206)
+++ trunk/Source/WebKit/UIProcess/WebDataListSuggestionsDropdown.h 2020-03-30 17:29:59 UTC (rev 259207)
@@ -36,7 +36,7 @@
class WebPageProxy;
-class WebDataListSuggestionsDropdown : public RefCounted<WebDataListSuggestionsDropdown> {
+class WebDataListSuggestionsDropdown : public RefCounted<WebDataListSuggestionsDropdown>, public CanMakeWeakPtr<WebDataListSuggestionsDropdown> {
public:
virtual ~WebDataListSuggestionsDropdown();
Modified: trunk/Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm (259206 => 259207)
--- trunk/Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm 2020-03-30 17:17:27 UTC (rev 259206)
+++ trunk/Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm 2020-03-30 17:29:59 UTC (rev 259207)
@@ -41,7 +41,7 @@
static NSString * const suggestionCellReuseIdentifier = @"WKDataListSuggestionCell";
@interface WKDataListSuggestionsControl : NSObject {
- WebKit::WebDataListSuggestionsDropdownIOS* _dropdown;
+ WeakPtr<WebKit::WebDataListSuggestionsDropdownIOS> _dropdown;
Vector<String> _suggestions;
}
@@ -49,7 +49,7 @@
- (instancetype)initWithInformation:(WebCore::DataListSuggestionInformation&&)information inView:(WKContentView *)view;
- (void)updateWithInformation:(WebCore::DataListSuggestionInformation&&)information;
-- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownIOS *)dropdown activationType:(WebCore::DataListSuggestionActivationType)activationType;
+- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownIOS&)dropdown activationType:(WebCore::DataListSuggestionActivationType)activationType;
- (void)didSelectOptionAtIndex:(NSInteger)index;
- (void)invalidate;
@@ -107,7 +107,7 @@
else
m_suggestionsControl = adoptNS([[WKDataListSuggestionsPicker alloc] initWithInformation:WTFMove(information) inView:m_contentView]);
- [m_suggestionsControl showSuggestionsDropdown:this activationType:type];
+ [m_suggestionsControl showSuggestionsDropdown:*this activationType:type];
}
void WebDataListSuggestionsDropdownIOS::handleKeydownWithIdentifier(const String&)
@@ -152,9 +152,9 @@
_suggestions = WTFMove(information.suggestions);
}
-- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownIOS *)dropdown activationType:(WebCore::DataListSuggestionActivationType)activationType
+- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownIOS&)dropdown activationType:(WebCore::DataListSuggestionActivationType)activationType
{
- _dropdown = dropdown;
+ _dropdown = makeWeakPtr(dropdown);
}
- (void)didSelectOptionAtIndex:(NSInteger)index
@@ -232,7 +232,7 @@
[_pickerView selectRow:0 inComponent:0 animated:NO];
}
-- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownIOS *)dropdown activationType:(WebCore::DataListSuggestionActivationType)activationType
+- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownIOS&)dropdown activationType:(WebCore::DataListSuggestionActivationType)activationType
{
[super showSuggestionsDropdown:dropdown activationType:activationType];
if (activationType == WebCore::DataListSuggestionActivationType::IndicatorClicked) {
@@ -311,7 +311,7 @@
self.view.dataListTextSuggestions = self.textSuggestions;
}
-- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownIOS *)dropdown activationType:(WebCore::DataListSuggestionActivationType)activationType
+- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownIOS&)dropdown activationType:(WebCore::DataListSuggestionActivationType)activationType
{
[super showSuggestionsDropdown:dropdown activationType:activationType];
Modified: trunk/Source/WebKit/UIProcess/mac/WebDataListSuggestionsDropdownMac.mm (259206 => 259207)
--- trunk/Source/WebKit/UIProcess/mac/WebDataListSuggestionsDropdownMac.mm 2020-03-30 17:17:27 UTC (rev 259206)
+++ trunk/Source/WebKit/UIProcess/mac/WebDataListSuggestionsDropdownMac.mm 2020-03-30 17:29:59 UTC (rev 259207)
@@ -55,7 +55,7 @@
@interface WKDataListSuggestionsController : NSObject<NSTableViewDataSource, NSTableViewDelegate>
- (id)initWithInformation:(WebCore::DataListSuggestionInformation&&)information inView:(NSView *)view;
-- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownMac*)dropdown;
+- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownMac&)dropdown;
- (void)updateWithInformation:(WebCore::DataListSuggestionInformation&&)information;
- (void)moveSelectionByDirection:(const String&)direction;
- (void)invalidate;
@@ -87,7 +87,7 @@
}
m_dropdownUI = adoptNS([[WKDataListSuggestionsController alloc] initWithInformation:WTFMove(information) inView:m_view]);
- [m_dropdownUI showSuggestionsDropdown:this];
+ [m_dropdownUI showSuggestionsDropdown:*this];
}
void WebDataListSuggestionsDropdownMac::didSelectOption(const String& selectedOption)
@@ -252,7 +252,7 @@
@end
@implementation WKDataListSuggestionsController {
- WebKit::WebDataListSuggestionsDropdownMac* _dropdown;
+ WeakPtr<WebKit::WebDataListSuggestionsDropdownMac> _dropdown;
Vector<String> _suggestions;
NSView *_presentingView;
@@ -374,9 +374,9 @@
return NSMakeRect(NSMinX(windowRect), NSMinY(windowRect) - height - dropdownTopMargin, rect.width(), height);
}
-- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownMac*)dropdown
+- (void)showSuggestionsDropdown:(WebKit::WebDataListSuggestionsDropdownMac&)dropdown
{
- _dropdown = dropdown;
+ _dropdown = makeWeakPtr(dropdown);
[[_enclosingWindow contentView] addSubview:_scrollView.get()];
[_table reload];
[[_presentingView window] addChildWindow:_enclosingWindow.get() ordered:NSWindowAbove];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes