3db1b2c2ec3cefe74fcfe7dcc142c9ae4428f5f7
[WebKit-https.git] / Tools / ChangeLog
1 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
2
3         [WPE][GTK] Unreviewed, update to latest GNOME SDK
4
5         * flatpak/org.webkit.WebKit.yaml:
6
7 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
8
9         Unreviewed, rolling out r235500.
10
11         Time to switch back to master runtime
12
13         Reverted changeset:
14
15         "Unreviewed, rolling out r235114."
16         https://bugs.webkit.org/show_bug.cgi?id=188731
17         https://trac.webkit.org/changeset/235500
18
19 2018-09-19  Adrian Perez de Castro  <aperez@igalia.com>
20
21         Unreviewed. Add Pablo Saavedra to the list of contributors.
22
23         * Scripts/webkitpy/common/config/contributors.json:
24
25 2018-09-19  Philippe Normand  <pnormand@igalia.com>
26
27         [GStreamer] Add support for AV1 decoding
28         https://bugs.webkit.org/show_bug.cgi?id=189647
29
30         Reviewed by Žan Doberšek.
31
32         Add patches required for AV1 decoding support. They're all
33         upstream already and will be shipped in GStreamer 1.16. The aom
34         GStreamer plugin depends on the aom library for which there's no
35         official release yet.
36
37         * gstreamer/jhbuild.modules:
38         * gstreamer/patches/gst-plugins-bad-0001-aomenc-Add-support-for-10-12bit-decoding.patch: Added.
39         * gstreamer/patches/gst-plugins-bad-0002-aomenc-Handle-8-bit_depth-images-with-AOM_IMG_FMT_HI.patch: Added.
40         * gstreamer/patches/gst-plugins-good-0001-qtdemux-Detect-and-expose-CEA-608-708-Closed-Caption.patch: Added. This one is unrelated but an implicit dependency of the next one.
41         * gstreamer/patches/gst-plugins-good-0004-qtdemux-Add-initial-support-for-AV1-demuxing.patch: Added.
42         * gstreamer/patches/gst-plugins-good-0005-qtdemux-Extract-AV1-codec_data-and-put-it-in-the-cap.patch: Added.
43         * gstreamer/patches/gst-plugins-good-0006-qtdemux-Recognize-more-AV1-atoms.patch: Added.
44
45 2018-09-18  Jonathan Bedard  <jbedard@apple.com>
46
47         webkitpy: Clobbering and building occurs multiple times for iOS Simulator ports
48         https://bugs.webkit.org/show_bug.cgi?id=189702
49         <rdar://problem/44541704>
50
51         Reviewed by Aakash Jain.
52
53         * Scripts/webkitpy/layout_tests/controllers/manager.py:
54         (Manager._set_up_run): Move build check and clobbering to run, since set up is
55         run multiple times for iOS simulator.
56         (Manager.run):
57
58 2018-09-18  Chris Dumez  <cdumez@apple.com>
59
60         "DidFirstVisuallyNonEmptyLayout" callback does not get called when restoring a page from PageCache
61         https://bugs.webkit.org/show_bug.cgi?id=189681
62         <rdar://problem/44526171>
63
64         Reviewed by Alex Christensen and Zalan Bujtas.
65
66         Add API test coverage.
67
68         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
69         (TestWebKitAPI::didFinishNavigation):
70         (TestWebKitAPI::TEST):
71
72 2018-09-18  Claudio Saavedra  <csaavedra@igalia.com>
73
74         [WPE] Implement mouse event modifiers
75         https://bugs.webkit.org/show_bug.cgi?id=189697
76
77         Reviewed by Carlos Garcia Campos.
78
79         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
80         (WTR::wkEventModifiersToWPE):
81         (WTR::EventSenderProxy::mouseDown):
82         (WTR::EventSenderProxy::mouseUp):
83
84 2018-09-17  Yusuke Suzuki  <utatane.tea@gmail.com>
85
86         [WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t
87         https://bugs.webkit.org/show_bug.cgi?id=185339
88
89         Reviewed by Mark Lam.
90
91         * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
92         (TestWebKitAPI::ToUpperConverter::stopProducing):
93         (TestWebKitAPI::ToUpperConverter::stopConsuming):
94
95 2018-09-17  Simon Fraser  <simon.fraser@apple.com>
96
97         Many modern media control tests leak documents in testing
98         https://bugs.webkit.org/show_bug.cgi?id=189437
99
100         Reviewed by Darin Adler.
101         
102         In order to accurately detect leaks in media controls tests which use lots of
103         SVGImages, we have to:
104         - Fire a zero-delay timer after the postTask, in order for ImagesLoader's m_derefElementTimer
105           to clear references to elements.
106         - Have releaseCriticalMemory() call CachedResourceLoader's garbageCollectDocumentResources()
107           to drop the last handle to the CachedResource for an SVGImage.
108         - Call WKBundleReleaseMemory() after the GC and timer, since we need garbageCollectDocumentResources()
109           to run again after that timer has fired.
110         
111         This should fix most of the spurious leak reports involving SVGImage documents.
112
113         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
114         (WTR::InjectedBundle::reportLiveDocuments):
115         (WTR::InjectedBundle::didReceiveMessageToPage):
116
117 2018-09-17  Chris Dumez  <cdumez@apple.com>
118
119         PSON: window.open() with 'noopener' should only process-swap cross-site, not cross-origin
120         https://bugs.webkit.org/show_bug.cgi?id=189602
121         <rdar://problem/44430549>
122
123         Reviewed by Geoff Garen.
124
125         Add API test coverage.
126
127         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
128
129 2018-09-17  Philippe Normand  <pnormand@igalia.com>
130
131         [JHBuild] Update to GStreamer 1.14.3
132         https://bugs.webkit.org/show_bug.cgi?id=189450
133
134         Reviewed by Xabier Rodriguez-Calvar.
135
136         * gstreamer/jhbuild.modules: Bump GStreamer modules from 1.14.1 to 1.14.3.
137
138 2018-09-17  Philippe Normand  <pnormand@igalia.com>
139
140         [JHBuild] Doesn't check sha256 sums
141         https://bugs.webkit.org/show_bug.cgi?id=189646
142
143         Reviewed by Michael Catanzaro.
144
145         * gstreamer/jhbuild.modules: Properly set the sha256: prefix on hashes.
146
147 2018-09-17  Sihui Liu  <sihui_liu@apple.com>
148
149         Move IndexedDB to Network Process
150         https://bugs.webkit.org/show_bug.cgi?id=189415
151         <rdar://problem/44396973>
152
153         Reviewed by Chris Dumez.
154
155         * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
156         (TEST):
157         * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
158         (TEST):
159         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
160         (TEST):
161         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
162         (TEST):
163         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
164         (TEST):
165
166 2018-09-08  Darin Adler  <darin@apple.com>
167
168         Streamline JSRetainPtr, fix leaks of JSString and JSGlobalContext
169         https://bugs.webkit.org/show_bug.cgi?id=189455
170
171         Reviewed by Keith Miller.
172
173         There is a lot of copied and pasted code for WebKit vs. Legacy WebKit
174         testing and even for macOS vs. iOS vs. Windows platform-specific code.
175         For now, this patch just makes corresponding changes to the copied code.
176         Later we might get better results by merging more code instead of having
177         all these separate copies.
178
179         * DumpRenderTree/AccessibilityController.cpp:
180         (AccessibilityController::makeWindowObject): Use the adopt function
181         instead of the special Adopt constructor of JSRetainPtr.
182
183         * DumpRenderTree/AccessibilityTextMarker.cpp: Removed unneeded include.
184
185         * DumpRenderTree/AccessibilityUIElement.cpp: Ditto.
186         (allAttributesCallback): Don't adopt at this level; changed the
187         underlying function to return a JSRetainPtr so the adopt is right next
188         to the call to the create or copy function.
189         (attributesOfLinkedUIElementsCallback): Ditto.
190         (attributesOfDocumentLinksCallback): Ditto.
191         (attributesOfChildrenCallback): Ditto.
192         (parameterizedAttributeNamesCallback): Ditto.
193         (attributesOfColumnHeadersCallback): Ditto.
194         (attributesOfRowHeadersCallback): Ditto.
195         (attributesOfColumnsCallback): Ditto.
196         (attributesOfRowsCallback): Ditto.
197         (attributesOfVisibleCellsCallback): Ditto.
198         (attributesOfHeaderCallback): Ditto.
199         (rowIndexRangeCallback): Ditto.
200         (columnIndexRangeCallback): Ditto.
201         (rangeForLineCallback): Ditto.
202         (boundsForRangeCallback): Ditto.
203         (rangeForPositionCallback): Ditto.
204         (stringForRangeCallback): Ditto.
205         (attributedStringForRangeCallback): Ditto.
206         (uiElementCountForSearchPredicateCallback): Use the free adopt
207         function instead of the adopt member function.
208         (uiElementForSearchPredicateCallback): Ditto.
209         (selectTextWithCriteriaCallback): Don't adopt at this level.
210         (attributedStringForElementCallback): Ditto.
211         (setValueCallback): Use free adopt.
212         (stringAttributeValueCallback): Don't adopt at this level.
213         (uiElementArrayAttributeValueCallback): Ditto.
214         (uiElementAttributeValueCallback): Ditto.
215         (stringForTextMarkerRangeCallback): Ditto.
216         (attributedStringForTextMarkerRangeCallback): Ditto.
217         (attributedStringForTextMarkerRangeWithOptionsCallback): Ditto.
218         (getARIADropEffectsCallback): Ditto.
219         (getClassListCallback): Ditto.
220         (getRoleCallback): Ditto.
221         (getSubroleCallback): Ditto.
222         (getRoleDescriptionCallback): Ditto.
223         (getComputedRoleStringCallback): Ditto.
224         (getTitleCallback): Ditto.
225         (getDescriptionCallback): Ditto.
226         (getStringValueCallback): Ditto.
227         (getLanguageCallback): Ditto.
228         (getHelpTextCallback): Ditto.
229         (getOrientationCallback): Ditto.
230         (getPathDescriptionCallback): Ditto.
231         (getSelectedTextRangeCallback): Ditto.
232         (speakAsCallback): Ditto.
233         (getValueDescriptionCallback): Ditto.
234         (getAccessibilityValueCallback): Ditto.
235         (getDocumentEncodingCallback): Ditto.
236         (getDocumentURICallback): Ditto.
237         (getURLCallback): Ditto.
238         (characterAtOffsetCallback): Ditto.
239         (wordAtOffsetCallback): Ditto.
240         (lineAtOffsetCallback): Ditto.
241         (sentenceAtOffsetCallback): Ditto.
242         (stringForSelectionCallback): Ditto.
243         (getIdentifierCallback): Ditto.
244         (getTraitsCallback): Ditto.
245         (supportedActionsCallback): Ditto.
246         (mathPostscriptsDescriptionCallback): Ditto.
247         (mathPrescriptsDescriptionCallback): Ditto.
248         (AccessibilityUIElement::rangeForLine): Updated to return JSRetainPtr.
249         (AccessibilityUIElement::rangeForPosition): Ditto.
250         (AccessibilityUIElement::speakAs): Ditto.
251         (AccessibilityUIElement::pathDescription const): Ditto.
252         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
253         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
254         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
255
256         * DumpRenderTree/AccessibilityUIElement.h: Use JSRetainPtr instead of
257         raw pointers for the results of the functions that create strings.
258         The old way was difficult to get right; the functions didn't even follow
259         the create/copy naming rule.
260
261         * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
262         (_platformTypeConstructor): Use the adopt function instead of the
263         JSRetainPtr adopt constructor. Also nullptr instead of 0.
264
265         * DumpRenderTree/GCController.cpp:
266         (GCController::makeWindowObject): Use adopt function instead of constructor.
267
268         * DumpRenderTree/TestRunner.cpp:
269         (pathToLocalResourceCallback): Use adopt function instead of constructor.
270         (addDisallowedURLCallback): Ditto.
271         (addURLToRedirectCallback): Ditto.
272         (clearApplicationCacheForOriginCallback): Ditto.
273         (applicationCacheDiskUsageForOriginCallback): Ditto.
274         (decodeHostNameCallback): Don't adopt at this level.
275         (encodeHostNameCallback): Ditto.
276         (execCommandCallback): Use adopt instead of JSRetainPtr::adopt.
277         (findStringCallback): Use adopt function instead of constructor.
278         (isCommandEnabledCallback): Ditto.
279         (overridePreferenceCallback): Ditto.
280         (queueLoadCallback): Ditto.
281         (queueLoadHTMLStringCallback): Ditto.
282         (queueLoadingScriptCallback): Ditto.
283         (queueNonLoadingScriptCallback): Ditto.
284         (setAuthenticationPasswordCallback): Ditto.
285         (setAuthenticationUsernameCallback): Ditto.
286         (setDomainRelaxationForbiddenForURLSchemeCallback): Ditto.
287         (setMockGeolocationPositionUnavailableErrorCallback): Ditto.
288         (setPOSIXLocaleCallback): Ditto.
289         (setPersistentUserStyleSheetLocationCallback): Ditto.
290         (setUserStyleSheetLocationCallback): Ditto.
291         (setValueForUserCallback): Ditto.
292         (setWillSendRequestClearHeaderCallback): Ditto.
293         (setPageVisibilityCallback): Ditto.
294         (evaluateInWebInspectorCallback): Ditto.
295         (evaluateScriptInIsolatedWorldCallback): Ditto.
296         (evaluateScriptInIsolatedWorldAndReturnValueCallback): Ditto.
297         (addOriginAccessWhitelistEntryCallback): Ditto.
298         (removeOriginAccessWhitelistEntryCallback): Ditto.
299         (setScrollbarPolicyCallback): Ditto.
300         (addUserScriptCallback): Ditto.
301         (addUserStyleSheetCallback): Ditto.
302         (apiTestNewWindowDataLoadBaseURLCallback): Ditto.
303         (authenticateSessionCallback): Ditto.
304         (getTitleTextDirectionCallback): Ditto.
305         (getInspectorTestStubURLCallback): Ditto.
306         (simulateLegacyWebNotificationClickCallback): Ditto.
307         (setTextDirectionCallback): Ditto.
308         (grantWebNotificationPermissionCallback): Ditto.
309         (denyWebNotificationPermissionCallback): Ditto.
310         (accummulateLogsForChannel): Ditto.
311         (runUIScriptCallback): Ditto.
312         (TestRunner::makeWindowObject): Ditto.
313         (TestRunner::uiScriptDidComplete): Ditto.
314         (TestRunner::setOpenPanelFiles): Ditto.
315
316         * DumpRenderTree/TestRunner.h: Use JSRetainPtr instead of
317         raw pointers for the results of the functions that create strings.
318
319         * DumpRenderTree/ios/AccessibilityControllerIOS.mm:
320         (AccessibilityController::platformName const): Use the adopt
321         function instead of the adopt constructor.
322
323         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
324         (createEmptyJSString): Added. This helper function makes reduces the
325         repetitive code to create empty strings.
326         (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
327         (AccessibilityUIElement::identifier): Ditto.
328         (AccessibilityUIElement::traits): Ditto.
329         (AccessibilityUIElement::url): Ditto.
330         (AccessibilityUIElement::speakAs): Ditto.
331         (AccessibilityUIElement::stringForSelection): Ditto.
332         (AccessibilityUIElement::stringForRange): Ditto.
333         (AccessibilityUIElement::attributedStringForRange): Ditto.
334         (AccessibilityUIElement::attributedStringForElement): Ditto.
335         (AccessibilityUIElement::pathDescription const): Ditto.
336         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
337         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
338         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
339         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
340         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
341         (AccessibilityUIElement::attributesOfChildren): Ditto.
342         (AccessibilityUIElement::allAttributes): Ditto.
343         (AccessibilityUIElement::stringAttributeValue): Ditto.
344         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
345         (AccessibilityUIElement::role): Ditto.
346         (AccessibilityUIElement::subrole): Ditto.
347         (AccessibilityUIElement::roleDescription): Ditto.
348         (AccessibilityUIElement::computedRoleString): Ditto.
349         (AccessibilityUIElement::title): Ditto.
350         (AccessibilityUIElement::description): Ditto.
351         (AccessibilityUIElement::orientation const): Ditto.
352         (AccessibilityUIElement::stringValue): Ditto.
353         (AccessibilityUIElement::language): Ditto.
354         (AccessibilityUIElement::helpText const): Ditto.
355         (AccessibilityUIElement::valueDescription): Ditto.
356         (AccessibilityUIElement::ariaDropEffects const): Ditto.
357         (AccessibilityUIElement::boundsForRange): Ditto.
358         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
359         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
360         (AccessibilityUIElement::attributesOfColumns): Ditto.
361         (AccessibilityUIElement::attributesOfRows): Ditto.
362         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
363         (AccessibilityUIElement::attributesOfHeader): Ditto.
364         (AccessibilityUIElement::rowIndexRange): Ditto.
365         (AccessibilityUIElement::columnIndexRange): Ditto.
366         (AccessibilityUIElement::selectedTextRange): Ditto.
367         (AccessibilityUIElement::accessibilityValue const): Ditto.
368         (AccessibilityUIElement::documentEncoding): Ditto.
369         (AccessibilityUIElement::documentURI): Ditto.
370         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
371         (AccessibilityUIElement::classList const): Ditto.
372
373         * DumpRenderTree/mac/AccessibilityCommonMac.h: Changed the
374         createJSStringRef method to return a JSRetainPtr.
375         * DumpRenderTree/mac/AccessibilityCommonMac.mm:
376         (-[NSString createJSStringRef]): Ditto.
377         (searchPredicateParameterizedAttributeForSearchCriteria): Use the
378         adopt function instead of the adopt constructor.
379         * DumpRenderTree/mac/AccessibilityControllerMac.mm:
380         (AccessibilityController::platformName const): Ditto.
381
382         * DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
383         (-[NSString createJSStringRef]): Return a JSRetainPtr.
384         (makeValueRefForValue): Updated for the above, no adopt needed here now.
385         (makeObjectRefForDictionary): Ditto.
386         (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
387
388         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
389         (createEmptyJSString): Added. This helper function makes reduces the
390         repetitive code to create empty strings.
391         (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
392         (descriptionOfElements): Ditto.
393         (selectTextParameterizedAttributeForCriteria): Ditto.
394         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
395         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
396         (AccessibilityUIElement::attributesOfChildren): Ditto.
397         (AccessibilityUIElement::allAttributes): Ditto.
398         (AccessibilityUIElement::stringAttributeValue): Ditto.
399         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
400         (AccessibilityUIElement::role): Ditto.
401         (AccessibilityUIElement::subrole): Ditto.
402         (AccessibilityUIElement::roleDescription): Ditto.
403         (AccessibilityUIElement::computedRoleString): Ditto.
404         (AccessibilityUIElement::title): Ditto.
405         (AccessibilityUIElement::description): Ditto.
406         (AccessibilityUIElement::orientation const): Ditto.
407         (AccessibilityUIElement::stringValue): Ditto.
408         (AccessibilityUIElement::language): Ditto.
409         (AccessibilityUIElement::helpText const): Ditto.
410         (AccessibilityUIElement::valueDescription): Ditto.
411         (AccessibilityUIElement::speakAs): Ditto.
412         (AccessibilityUIElement::classList const): Ditto.
413         (AccessibilityUIElement::ariaDropEffects const): Ditto.
414         (AccessibilityUIElement::rangeForLine): Ditto.
415         (AccessibilityUIElement::rangeForPosition): Ditto.
416         (AccessibilityUIElement::boundsForRange): Ditto.
417         (AccessibilityUIElement::stringForRange): Ditto.
418         (AccessibilityUIElement::attributedStringForRange): Ditto.
419         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
420         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
421         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
422         (AccessibilityUIElement::attributesOfColumns): Ditto.
423         (AccessibilityUIElement::attributesOfRows): Ditto.
424         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
425         (AccessibilityUIElement::attributesOfHeader): Ditto.
426         (AccessibilityUIElement::rowIndexRange): Ditto.
427         (AccessibilityUIElement::columnIndexRange): Ditto.
428         (AccessibilityUIElement::pathDescription const): Ditto.
429         (AccessibilityUIElement::selectedTextRange): Ditto.
430         (AccessibilityUIElement::accessibilityValue const): Ditto.
431         (AccessibilityUIElement::documentEncoding): Ditto.
432         (AccessibilityUIElement::documentURI): Ditto.
433         (AccessibilityUIElement::url): Ditto.
434         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
435         (createJSStringRef): Ditto.
436         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
437         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
438         (AccessibilityUIElement::supportedActions): Ditto.
439         (AccessibilityUIElement::mathPostscriptsDescription const): Ditto.
440         (AccessibilityUIElement::mathPrescriptsDescription const): Ditto.
441
442         * DumpRenderTree/mac/FrameLoadDelegate.mm:
443         (-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
444         Use the adopt function instead of the adopt constructor.
445         * DumpRenderTree/mac/TestRunnerMac.mm:
446         (originsArrayToJS): Ditto.
447         (TestRunner::copyDecodedHostName): Return a JSRetainPtr.
448         (TestRunner::copyEncodedHostName): Ditto.
449         (TestRunner::pathToLocalResource): Ditto.
450         (TestRunner::queueLoad): Use adopt function instead of constructor.
451         (TestRunner::findString): Ditto.
452         (TestRunner::inspectorTestStubURL): Return a JSRetainPtr.
453
454         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
455         (AccessibilityController::winNotificationReceived): Use adopt function
456         instead of adopt constructor.
457         (AccessibilityController::platformName const): Ditto.
458
459         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
460         (createEmptyJSString): Added. This helper function makes reduces the
461         repetitive code to create empty strings.
462         (AccessibilityUIElement::allAttributes): Changed to return a JSRetainPtr.
463         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
464         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
465         (AccessibilityUIElement::attributesOfChildren): Ditto.
466         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
467         (AccessibilityUIElement::role): Ditto.
468         (AccessibilityUIElement::subrole): Ditto.
469         (AccessibilityUIElement::roleDescription): Ditto.
470         (AccessibilityUIElement::computedRoleString): Ditto.
471         (AccessibilityUIElement::title): Ditto.
472         (AccessibilityUIElement::description): Ditto.
473         (AccessibilityUIElement::stringValue): Ditto.
474         (AccessibilityUIElement::language): Ditto.
475         (AccessibilityUIElement::helpText const): Ditto.
476         (AccessibilityUIElement::valueDescription): Ditto.
477         (AccessibilityUIElement::ariaDropEffects const): Ditto.
478         (AccessibilityUIElement::orientation const): Ditto.
479         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
480         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
481         (AccessibilityUIElement::attributesOfColumns): Ditto.
482         (AccessibilityUIElement::attributesOfRows): Ditto.
483         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
484         (AccessibilityUIElement::attributesOfHeader): Ditto.
485         (AccessibilityUIElement::rowIndexRange): Ditto.
486         (AccessibilityUIElement::columnIndexRange): Ditto.
487         (AccessibilityUIElement::boundsForRange): Ditto.
488         (AccessibilityUIElement::stringForRange): Ditto.
489         (AccessibilityUIElement::attributedStringForRange): Ditto.
490         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
491         (AccessibilityUIElement::selectedTextRange): Ditto.
492         (AccessibilityUIElement::stringAttributeValue): Ditto.
493         (AccessibilityUIElement::accessibilityValue const): Ditto.
494         (AccessibilityUIElement::documentEncoding): Ditto.
495         (AccessibilityUIElement::documentURI): Ditto.
496         (AccessibilityUIElement::url): Ditto.
497         (AccessibilityUIElement::classList const): Ditto.
498
499         * DumpRenderTree/win/TestRunnerWin.cpp:
500         (TestRunner::copyDecodedHostName): Changed to return a JSRetainPtr.
501         (TestRunner::copyEncodedHostName): Ditto.
502         (TestRunner::pathToLocalResource): Ditto.
503         (TestRunner::queueLoad): Ditto.
504         (TestRunner::findString): Ditto.
505         (TestRunner::inspectorTestStubURL): Ditto.
506
507         * TestRunnerShared/Bindings/JSWrapper.h:
508         (WTR::setProperty): Use adopt function instead of constructor.
509         * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
510         (UIScriptContext::UIScriptContext): Ditto.
511         (UIScriptContext::runUIScript): Ditto.
512         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
513         (WTR::toDeviceOrientation): Ditto.
514
515         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
516         (nsTextCheckingType): Changed this function to not take an rvalue
517         reference to a JSRetainPtr since it doesn't take ownership.
518         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Updated
519         for the above change.
520
521         * TestWebKitAPI/JavaScriptTest.cpp:
522         (TestWebKitAPI::javaScriptCallback): Use adopt function instead of
523         adopt member function.
524
525         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp: Removed unneeded include.
526         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm: Ditto.
527         * TestWebKitAPI/Tests/mac/DOMNodeFromJSObject.mm: Use adopt function instead of
528         adopt constructor.
529         * TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm: Ditto.
530
531         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
532         Removed unneeded includes.
533         * WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Ditto.
534         * WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Ditto.
535         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Ditto.
536
537         * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
538         (_platformTypeConstructor): Use the adopt function instead of the
539         JSRetainPtr adopt constructor. Also nullptr instead of 0.
540
541         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
542         (WTR::arrayLength): Use adopt function instead of constructor.
543         (WTR::parseModifierArray): Ditto.
544         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
545         (WTR::propertyValue): Ditto.
546         (WTR::dumpPath): Ditto.
547         (WTR::toJS): Ditto.
548         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
549         (WTR::TestRunner::findString): Ditto.
550         (WTR::TestRunner::statisticsDidRunTelemetryCallback): Ditto.
551         (WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback): Ditto.
552         (WTR::TestRunner::setOpenPanelFiles): Ditto.
553         * WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
554         (WTR::AccessibilityController::platformName): Ditto.
555
556         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
557         (-[NSString createJSStringRef]): Return a JSRetainPtr.
558         This fixes storage leaks in many functions below, which were using
559         the create function and putting the value right into a JSRetainPtr
560         without adoption.
561         (WTR::createEmptyJSString): Added. This helper function reduces the
562         repetitive code to create empty strings.
563         (WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
564         (WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
565         Use createEmptyJSString, fixing a storage leak due to missing adoption.
566         (WTR::AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
567         (WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
568         (WTR::AccessibilityUIElement::allAttributes): Ditto.
569         (WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
570         (WTR::AccessibilityUIElement::parameterizedAttributeNames): Ditto.
571         (WTR::AccessibilityUIElement::role): Ditto.
572         (WTR::AccessibilityUIElement::subrole): Ditto.
573         (WTR::AccessibilityUIElement::roleDescription): Ditto.
574         (WTR::AccessibilityUIElement::computedRoleString): Ditto.
575         (WTR::AccessibilityUIElement::title): Ditto.
576         (WTR::AccessibilityUIElement::orientation const): Ditto.
577         (WTR::AccessibilityUIElement::language): Ditto.
578         (WTR::AccessibilityUIElement::valueDescription): Ditto.
579         (WTR::AccessibilityUIElement::ariaDropEffects const): Ditto.
580         (WTR::AccessibilityUIElement::boundsForRange): Ditto.
581         (WTR::AccessibilityUIElement::stringForRange): Removed unneeded null check.
582         (WTR::AccessibilityUIElement::attributedStringForRange): Ditto.
583         (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
584         Use createEmptyJSString, fixing a storage leak due to missing adoption.
585         (WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
586         (WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
587         (WTR::AccessibilityUIElement::attributesOfRows): Ditto.
588         (WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
589         (WTR::AccessibilityUIElement::attributesOfHeader): Ditto.
590         (WTR::AccessibilityUIElement::selectedTextRange): Ditto.
591         (WTR::AccessibilityUIElement::accessibilityValue const): Ditto.
592         (WTR::AccessibilityUIElement::documentEncoding): Ditto.
593         (WTR::AccessibilityUIElement::documentURI): Ditto.
594         (WTR::AccessibilityUIElement::stringForSelection): Removed unneeded
595         null check.
596         (WTR::AccessibilityUIElement::stringForTextMarkerRange):
597         Use createEmptyJSString, fixing a storage leak due to missing adoption.
598
599         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
600         Use JSRetainPtr for the return value of createJSStringRef.
601         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
602         (-[NSString createJSStringRef]): Ditto.
603         (WTR::searchPredicateParameterizedAttributeForSearchCriteria): Use the
604         adopt function instead of the adopt constructor.
605         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
606         (WTR::AccessibilityController::platformName): Ditto
607
608         * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
609         (-[NSString createJSStringRef]): Return a JSRetainPtr.
610         (makeValueRefForValue): Updated for above by removing adopt.
611         (makeObjectRefForDictionary): Ditto.
612         (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
613
614         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
615         (WTR::createEmptyJSString): Added. This helper function makes reduces the
616         repetitive code to create empty strings.
617         (WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
618         (WTR::descriptionOfElements): Ditto.
619         (WTR::selectTextParameterizedAttributeForCriteria): Ditto.
620         (WTR::AccessibilityUIElement::accessibilityValue const): Use createEmptyJSString,
621         fixing a storage leak due to missing adoption.
622         (WTR::AccessibilityUIElement::documentEncoding): Ditto.
623         (WTR::AccessibilityUIElement::documentURI): Ditto.
624         (WTR::createJSStringRef): Return a JSRetainPtr.
625
626         * WebKitTestRunner/StringFunctions.h:
627         (WTR::toWK): Take a const& to eliminate a little bit of reference count churn.
628         (WTR::toJS): Use the adopt function instead of the constructor.
629
630 2018-09-14  Dean Jackson  <dino@grorg.org>
631
632         Add Justin Michaud.
633
634         * Scripts/webkitpy/common/config/contributors.json:
635
636 2018-09-14  Ryan Haddad  <ryanhaddad@apple.com>
637
638         bots should pass --clobber-old-results to run-webkit-tests
639         https://bugs.webkit.org/show_bug.cgi?id=189623
640
641         Reviewed by Aakash Jain.
642
643         In order to ensure that bots to not produce confusing results due to transient execptions,
644         or run out of space if they continually hit an exception, old layout test results should be clobbered.
645
646         * BuildSlaveSupport/build.webkit.org-config/steps.py:
647         (RunWebKitTests):
648
649 2018-09-13  Ryan Haddad  <ryanhaddad@apple.com>
650
651         Unreviewed, rolling out r235954.
652
653         Breaks the watchOS build.
654
655         Reverted changeset:
656
657         "Move IndexedDB to Network Process"
658         https://bugs.webkit.org/show_bug.cgi?id=189415
659         https://trac.webkit.org/changeset/235954
660
661 2018-09-13  Daniel Bates  <dabates@apple.com>
662
663         Add Copy WebKit Permalink plugin for Sublime Text
664         https://bugs.webkit.org/show_bug.cgi?id=189589
665
666         Rubber-stamped by Joseph Pecoraro.
667
668         Port the Copy WebKit Permalink Automator service to a Sublime Text plugin. Once installed you can
669         use the plugin to copy to the Clipboard a trac.webkit.org hyperlink to the selected line in the
670         active document with or without blame annotations.
671
672         Once installed, you can Control-click (on Mac) or right-click (on Windows and Linux) on a line and
673         choose Copy WebKit Permalink or Copy WebKit Permalink to Blame from the context menu to copy to the
674         Clipboard a permanent hyperlink to the selected line without or with blame annotations, respectively.
675         On Mac you can also invoke the same functionality using the keyboard shortcuts Command + Shift + Control + C
676         and Command + Shift + Control + Option + C, respectively.
677
678         * CopyPermalink/Sublime Text/CopyWebKitPermalink/Context.sublime-menu: Added.
679         * CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py: Added.
680         * CopyPermalink/Sublime Text/CopyWebKitPermalink/Default (OSX).sublime-keymap: Added.
681         * CopyPermalink/Sublime Text/INSTALL: Added.
682         * CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/Info.plist: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/Info.plist.
683         * CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/document.wflow: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow.
684         * CopyPermalink/Xcode/INSTALL: Renamed from Tools/CopyPermalink/README.
685
686 2018-09-13  Carlos Garcia Campos  <cgarcia@igalia.com>
687
688         Unreviewed. Fix WebDriver tests after r235225.
689
690         Use wpt serve command to run the http server.
691
692         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
693         (WebDriverW3CWebServer.__init__):
694         (WebDriverW3CWebServer.start):
695         (WebDriverW3CWebServer.stop):
696
697 2018-09-13  Carlos Garcia Campos  <cgarcia@igalia.com>
698
699         [GTK][WPE] Allow to run script dialogs asynchronously in the UI process
700         https://bugs.webkit.org/show_bug.cgi?id=189544
701
702         Reviewed by Michael Catanzaro.
703
704         Add test cases for the new API.
705
706         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
707         (testWebViewJavaScriptDialogs):
708
709 2018-09-12  Fujii Hironori  <Hironori.Fujii@sony.com>
710
711         [Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
712         https://bugs.webkit.org/show_bug.cgi?id=189496
713         <rdar://problem/44370981>
714
715         Unreviewed warning fix.
716
717         r235929 has introduced a new compilation warning:
718         > Tools/ImageDiff/cairo/PlatformImageCairo.cpp:34:70: warning: unused parameter ‘imageSize’ [-Wunused-parameter]
719
720         * ImageDiff/cairo/PlatformImageCairo.cpp:
721         (ImageDiff::PlatformImage::createFromStdin): Removed the variable name.
722
723 2018-09-12  Dan Bernstein  <mitz@apple.com>
724
725         [Cocoa] Complete support for Paste as Quotation
726         https://bugs.webkit.org/show_bug.cgi?id=189504
727
728         Reviewed by Wenson Hsieh.
729
730         * MiniBrowser/mac/MainMenu.xib: Added a Paste as Quotation command in the Edit menu.
731
732 2018-09-12  Sihui Liu  <sihui_liu@apple.com>
733
734         Move IndexedDB to Network Process
735         https://bugs.webkit.org/show_bug.cgi?id=189415
736
737         Reviewed by Geoffrey Garen.
738
739         * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
740         (TEST):
741         * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
742         (TEST):
743         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
744         (TEST):
745         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
746         (TEST):
747         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
748         (TEST):
749
750 2018-09-12  Chris Dumez  <cdumez@apple.com>
751
752         PSON: No process swap on back navigation after URL bar navigation
753         https://bugs.webkit.org/show_bug.cgi?id=189557
754         <rdar://problem/44353108>
755
756         Reviewed by Alex Christensen.
757
758         Add API test coverage.
759
760         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
761
762 2018-09-11  Dean Jackson  <dino@apple.com>
763
764         Header parsing for experimental and internal debug features
765         https://bugs.webkit.org/show_bug.cgi?id=189486
766         <rdar://problem/44320618>
767
768         Reviewed by Tim Horton.
769
770         Keep track of experimental and internal debug features in TestOptions, and
771         allow webkit-test-runner headers to toggle them by name.
772
773         * DumpRenderTree/TestOptions.cpp:
774         (TestOptions::TestOptions):
775         * WebKitTestRunner/TestController.cpp:
776         (WTR::TestController::resetPreferencesToConsistentValues):
777         (WTR::updateTestOptionsFromTestHeader):
778         * WebKitTestRunner/TestOptions.h:
779         (WTR::TestOptions::hasSameInitializationOptions const):
780
781 2018-09-12  Fujii Hironori  <Hironori.Fujii@sony.com>
782
783         [Win][Clang][DumpRenderTree] 0 and nullptr can't be implicitly converted to AccessibilityUIElement
784         https://bugs.webkit.org/show_bug.cgi?id=189492
785
786         Reviewed by Alex Christensen.
787
788         0 and nullptr can't be implicitly converted to
789         AccessibilityUIElement because only Windows port typedefs
790         PlatformUIElement as COMPtr<IAccessible> not a pointer.
791
792         Replaced "return 0" and "return nullptr" with "return { nullptr }".
793
794         * DumpRenderTree/AccessibilityUIElement.cpp:
795         (AccessibilityUIElement::horizontalScrollbar const):
796         (AccessibilityUIElement::verticalScrollbar const):
797         (AccessibilityUIElement::uiElementAttributeValue const):
798         (AccessibilityUIElement::accessibilityElementForTextMarker):
799         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
800         (AccessibilityController::elementAtPoint):
801         (AccessibilityController::accessibleElementById):
802         (AccessibilityController::focusedElement):
803         (AccessibilityController::rootElement):
804         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
805         (AccessibilityUIElement::elementAtPoint):
806         (AccessibilityUIElement::linkedUIElementAtIndex):
807         (AccessibilityUIElement::getChildAtIndex):
808         (AccessibilityUIElement::titleUIElement):
809         (AccessibilityUIElement::parentElement):
810         (AccessibilityUIElement::uiElementForSearchPredicate):
811         (AccessibilityUIElement::cellForColumnAndRow):
812         (AccessibilityUIElement::disclosedRowAtIndex):
813         (AccessibilityUIElement::ariaOwnsElementAtIndex):
814         (AccessibilityUIElement::ariaFlowToElementAtIndex):
815         (AccessibilityUIElement::ariaControlsElementAtIndex):
816         (AccessibilityUIElement::selectedRowAtIndex):
817         (AccessibilityUIElement::rowAtIndex):
818         (AccessibilityUIElement::disclosedByRow):
819         (AccessibilityUIElement::selectedChildAtIndex const):
820
821 2018-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
822
823         FontManagerTests.ChangeFontColorWithColorPanel fails on macOS Sierra
824         https://bugs.webkit.org/show_bug.cgi?id=189382
825
826         Reviewed by Ryosuke Niwa.
827
828         Fix the test by specifying colors in RGB colorspace.
829
830         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
831         (TestWebKitAPI::TEST):
832
833 2018-09-11  Fujii Hironori  <Hironori.Fujii@sony.com>
834
835         [Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
836         https://bugs.webkit.org/show_bug.cgi?id=189496
837
838         Reviewed by Alex Christensen.
839
840         * ImageDiff/cairo/PlatformImageCairo.cpp:
841         (ImageDiff::PlatformImage::createFromStdin): Removed unnecessary ReadContext struct.
842         (ImageDiff::PlatformImage::writeAsPNGToStdout): Use '%lu' format type specifier for unsigned long.
843
844 2018-09-07  Dean Jackson  <dino@apple.com>
845
846         Add and expose Internal features from WebKit
847         https://bugs.webkit.org/show_bug.cgi?id=189442
848         <rdar://problem/44243404>
849
850         Reviewed by Simon Fraser.
851
852         Update MiniBrowser to expose an Internal feature menu.
853
854         * MiniBrowser/mac/AppDelegate.m:
855         (defaultConfiguration):
856         * MiniBrowser/mac/SettingsController.m:
857         (-[SettingsController _populateMenu]):
858         (-[SettingsController validateMenuItem:]):
859         (-[SettingsController toggleExperimentalFeature:]):
860         (-[SettingsController toggleInternalDebugFeature:]):
861
862 2018-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
863
864         [macOS] [WK2] Support changing foreground colors via color panel
865         https://bugs.webkit.org/show_bug.cgi?id=189382
866         <rdar://problem/44227311>
867
868         Reviewed by Ryosuke Niwa.
869
870         Add an API test that uses NSColorPanel to change the color of selected text, and also apply typing styles when
871         the selection is collapsed. The test also exercises switching between opaque colors (alpha = 1) and transparent
872         colors, as well as making different parts of a word different colors.
873
874         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
875         (-[TestWKWebView collapseToEnd]):
876         (webViewForFontManagerTesting):
877         (TestWebKitAPI::TEST):
878         * TestWebKitAPI/cocoa/TestWKWebView.h:
879
880 == Rolled over to ChangeLog-2018-09-11 ==