a6025d8cc4e735651e8f33fd1446984ac66eadc8
[WebKit-https.git] / Tools / ChangeLog
1 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
2
3         Native functions which accept pointers need to do null checks
4         https://bugs.webkit.org/show_bug.cgi?id=189883
5
6         Reviewed by Dean Jackson.
7
8         Simply guard all the places where we write through an author-provided pointer.
9
10         * WebGPUShadingLanguageRI/Intrinsics.js:
11         (Intrinsics.):
12         * WebGPUShadingLanguageRI/Test.js:
13         (tests.textureDimensionsNull):
14
15 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
16
17         [WHLSL] Implement atomic operations and barriers
18         https://bugs.webkit.org/show_bug.cgi?id=189025
19
20         Reviewed by Dean Jackson.
21
22         In the interpreter, atomic operations don't need to be atomic.
23
24         * WebGPUShadingLanguageRI/Intrinsics.js:
25         (Intrinsics.):
26         * WebGPUShadingLanguageRI/StandardLibrary.js:
27         (let.standardLibrary):
28         * WebGPUShadingLanguageRI/Test.js:
29         (tests.atomics):
30
31 2018-09-22  Thibault Saunier  <tsaunier@igalia.com>
32
33         [WPE] Be very permissive in the MiniBrowser.
34         https://bugs.webkit.org/show_bug.cgi?id=189800
35
36         This is just a test tool and we should make
37         it just work, security and privacy is not really
38         a primary focus here.
39
40         Reviewed by Žan Doberšek.
41
42         * MiniBrowser/wpe/main.cpp:
43         (decidePermissionRequest):
44         (main):
45
46 2018-09-21  Thomas Denney  <tdenney@apple.com>
47
48         [WHLSL] Local variables should be statically allocated
49         https://bugs.webkit.org/show_bug.cgi?id=188402
50
51         Reviewed by Myles C. Maxfield.
52
53         An additional preparation stage is now performed so that all local
54         variables and function parameters are allocated in a single struct at
55         entry points. A pointer to this struct is then passed for function
56         calls.
57
58         * WebGPUShadingLanguageRI/All.js: Update dependencies.
59         * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Added new stage.
60         * WebGPUShadingLanguageRI/CallExpression.js:
61         (CallExpression.prototype.set argumentList): Add setter because
62         allocateAtEntryPoints needs to change this.
63         * WebGPUShadingLanguageRI/EBufferBuilder.js: Remove a redundant
64         constructor that wasn't used anywhere.
65         * WebGPUShadingLanguageRI/Func.js:
66         (Func.prototype.set parameters): Add setter.
67         * WebGPUShadingLanguageRI/FuncDef.js:
68         (FuncDef.prototype.set body): Ditto.
69         * WebGPUShadingLanguageRI/Prepare.js:
70         (let.prepare): Add call to allocateAtEntryPoints. This call cannot
71         happen any earlier because it depends on having types for call
72         arguments.
73         * WebGPUShadingLanguageRI/Rewriter.js:
74         (Rewriter.prototype.visitReturn): Resolve issue where the return
75         statement's function wasn't copied. A null check is required as the
76         Rewriter might be used before this property is set.
77         * WebGPUShadingLanguageRI/SPIRV.html: Update dependencies.
78         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Abstracted logic
79         into a separate function so that allocateAtEntryPoints can create the
80         accessors for the struct type it introduces.
81         * WebGPUShadingLanguageRI/Test.html: Update dependencies.
82         * WebGPUShadingLanguageRI/Test.js: Add new tests to verify the static
83         allocation transform works safely.
84         * WebGPUShadingLanguageRI/index.html: Update dependencies.
85
86 2018-09-21  Jonathan Bedard  <jbedard@apple.com>
87
88         Bring up queues for iOS 12 (Build fix)
89         https://bugs.webkit.org/show_bug.cgi?id=189683
90
91         Unreviewed build fix.
92
93         We should not build ImageDiff as x86 by default since 32 bit projects are
94         deprecated in Xcode. ImageDiff should only be built once.
95
96         * Scripts/build-webkit:
97         * Scripts/webkitdirs.pm:
98         (argumentsForConfiguration):
99
100 2018-09-21  Adrian Perez de Castro  <aperez@igalia.com>
101
102         [WPE] Built RPM of WPE webkit fails to install with "nothing provides libWPEToolingBackends.so()"
103         https://bugs.webkit.org/show_bug.cgi?id=189797
104
105         Reviewed by Žan Doberšek.
106
107         * wpe/backends/CMakeLists.txt: Make libWPEToolingBackends a static library to avoid
108         the need for installing it. This works fine because the library only contains utility
109         code intended to be reused from other various components (MiniBrowser, WebKitTestRunner).
110
111 2018-09-20  Daniel Bates  <dabates@apple.com>
112
113         Move IOKitSPI.h from TestRunnerShared to PAL
114         https://bugs.webkit.org/show_bug.cgi?id=189804
115
116         Reviewed by Wenson Hsieh.
117
118         Towards fixing <https://bugs.webkit.org/show_bug.cgi?id=189604> move the IOKit SPI forward
119         declarations to PAL so that they can be shared by WebKit, DumpRenderTree and WebKitTestRunner.
120
121         No functionality changed. So, no new tests.
122
123         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
124         * TestRunnerShared/spi/UIKitTestSPI.h:
125         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
126         * WebKitTestRunner/ios/HIDEventGenerator.mm:
127
128 2018-09-20  Thomas Denney  <tdenney@apple.com>
129
130         [WHLSL] Metal code generation
131         https://bugs.webkit.org/show_bug.cgi?id=187735
132
133         Reviewed by Myles C. Maxfield.
134
135         Adds support for generating Metal Shading Language from WHLSL. Clients
136         should include the file MetalCodegenAll.js and then call whlslToMsl
137         with their program source code to compile to Metal.
138
139         * WebGPUShadingLanguageRI/ArrayType.js:
140         (ArrayType.prototype.get arrayRefType): Adds the arrayRefType method to
141         all types to find the type of that expression when it is used in a
142         MakeArrayRefExpression.
143         * WebGPUShadingLanguageRI/MakeArrayRefExpression.js:
144         (MakeArrayRefExpression):
145         (MakeArrayRefExpression.prototype.get type): Uses the new arrayRefType
146         getter on all types to find the type of the expression.
147         * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Added.
148         * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Added.
149         * WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Added.
150         * WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Added.
151         * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Added.
152         * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Added.
153         * WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Added.
154         * WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Added.
155         * WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Added.
156         * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Added.
157         * WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Added.
158         * WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Added.
159         * WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Added.
160         * WebGPUShadingLanguageRI/Metal/TypeOf.js: Added.
161         * WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Added.
162         * WebGPUShadingLanguageRI/PropertyResolver.js:
163         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
164         * WebGPUShadingLanguageRI/Test.js: Added awkward tests for the compiler
165         to generate code for.
166         (tests.incrementAndDecrement):
167         (tests.returnIntLiteralUint):
168         (tests.returnIntLiteralFloat):
169         (tests.nestedSubscriptWithArraysInStructs):
170         (tests.nestedSubscript):
171         (tests.lotsOfLocalVariables):
172         * WebGPUShadingLanguageRI/Type.js:
173         (Type.prototype.get arrayRefType): See above.
174
175 2018-09-20  Ryan Haddad  <ryanhaddad@apple.com>
176
177         Bring up queues for iOS 12
178         https://bugs.webkit.org/show_bug.cgi?id=189683
179
180         Unreviewed infrastructure fix.
181
182         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12@2x.png: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png.
183         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
184         (BubbleQueueServer): Move EWS bubbles to the iOS 12 section of the dashboard.
185
186 2018-09-20  Ryan Haddad  <ryanhaddad@apple.com>
187
188         Bring up queues for iOS 12
189         https://bugs.webkit.org/show_bug.cgi?id=189683
190
191         Reviewed by Aakash Jain.
192
193         * BuildSlaveSupport/build.webkit.org-config/config.json:
194         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12.png: Added.
195         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator.png: Added.
196         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator@2x.png: Added.
197         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png: Added.
198         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
199         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
200         (WebKitBuildbot):
201         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
202         (table.queue-grid tr.platform.ios-simulator-12 img.logo):
203         (table.queue-grid tr.platform.ios-12 img.logo):
204         (table.queue-grid tr.platform.ios-simulator-11 img.logo): Deleted.
205         (table.queue-grid tr.platform.ios-11 img.logo): Deleted.
206         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
207         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
208         (_should_file_trigger_build):
209         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
210         (ShouldBuildTest):
211         (ShouldBuildTest.test_should_build):
212
213 2018-09-20  Basuke Suzuki  <Basuke.Suzuki@sony.com>
214
215         [Win] TestRunner::queueLoad() fails to generate correct url for some urls.
216         https://bugs.webkit.org/show_bug.cgi?id=189679
217
218         Reviewed by Fujii Hironori.
219
220         Replace the implementation with correct API call.
221
222         * DumpRenderTree/win/TestRunnerWin.cpp:
223         (TestRunner::queueLoad): Call UrlCombineW.
224
225 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
226
227         [WPE] fails to build on ARM arches complaining about undefined reference to `epoxy_eglMakeCurrent'
228         https://bugs.webkit.org/show_bug.cgi?id=189556
229
230         Reviewed by Konstantin Tokarev.
231
232         This is only a speculative build fix as I didn't attempt to reproduce. Explicitly link to
233         libepoxy.
234
235         * wpe/backends/CMakeLists.txt:
236
237 2018-09-20  Daniel Bates  <dabates@apple.com>
238
239         [iOS] Support testing more hardware special keys
240         https://bugs.webkit.org/show_bug.cgi?id=189793
241
242         Reviewed by Simon Fraser.
243
244         * TestRunnerShared/spi/IOKitSPI.h: Add more SPI constants.
245         * WebKitTestRunner/ios/HIDEventGenerator.mm:
246         (keyCodeForDOMFunctionKey): Extracted out logic from hidUsageCodeForCharacter() to return the
247         key code for the F1, F2, ..., F12 keys and extended the code to compute the key code for the
248         F13, F14, ..., F24 keys.
249         (hidUsageCodeForCharacter): Modified to call keyCodeForDOMFunctionKey().
250
251 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
252
253         Unreviewed, remove accidentally-committed debugging changes from flatpakutils script
254
255         Aaaaaah maybe this is why changes are supposed to be reviewed.
256
257         * flatpak/flatpakutils.py:
258         (WebkitFlatpak.clean_args):
259
260 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
261
262         Unreviewed, manually rollout our switch to master runtime
263
264         Phil wants html5-codecs, which aren't available yet here. Let's switch back to 3.28 in the
265         meantime, where we were already building GStreamer ourselves anyway. But use an updated
266         SDK revision.
267
268         * flatpak/files/httpd-autogen.sh: Added.
269         * flatpak/flatpakutils.py:
270         (WebkitFlatpak.clean_args):
271         * flatpak/org.webkit.GTK.yaml:
272         * flatpak/org.webkit.WebKit.yaml:
273         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
274         * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Added.
275
276 2018-09-20  Thibault Saunier  <tsaunier@igalia.com>
277
278         [WPE][GTK] webkit-flatpak intercepts --help for other commands
279         https://bugs.webkit.org/show_bug.cgi?id=189058
280
281         The approach of run_in_sandbox_if_available is that we basically have the
282         same set of arguments to setup the sandbox (ie. port name, build type, etc...)
283         and we can pass those args first to setup the flatpak launcher object
284         and then to the underlying script. That doesn't work well with the `--help` argument
285         as once processed it 1. prints the help (which make no sense to the user of the calling script)
286         2. exits the app - The solution is to just make sure that `--help` is not used when using
287         flatpakutils from any script that is not `webkit-flatpak` itself.
288
289         Reviewed by Michael Catanzaro.
290
291         * flatpak/flatpakutils.py:
292         (WebkitFlatpak.load_from_args):
293         (run_in_sandbox_if_available):
294
295 2018-09-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
296
297         Unreviewed. Add W3C imported tests to the MSEEME watchlist.
298
299         * Scripts/webkitpy/common/config/watchlist:
300
301 2018-09-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
302
303         Unreviewed. Fix the Streams API watchlist.
304
305         * Scripts/webkitpy/common/config/watchlist:
306
307 2018-09-19  Chris Dumez  <cdumez@apple.com>
308
309         Crash under WebProcessProxy::suspendedPageWasDestroyed(WebKit::SuspendedPageProxy&)
310         https://bugs.webkit.org/show_bug.cgi?id=189721
311         <rdar://problem/44359788>
312
313         Reviewed by Geoffrey Garen.
314
315         Add API test coverage.
316
317         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
318
319 2018-09-19  Thomas Denney  <tdenney@apple.com>
320
321         [WHLSL] Improve test suite type safety
322         https://bugs.webkit.org/show_bug.cgi?id=189502
323
324         Reviewed by Myles C. Maxfield.
325
326         Each of the 'makeT' functions now call the relevant cast function on the
327         value before hand. The checkNumber function has also been removed and
328         its uses have been replaced with functions that also check the type.
329         Some of the arithmetic checks have been updated to reflect that the
330         casts happen outside of WHLSL evaluation. Other tests have also been
331         updated to reflect that some values cannot be precisely expressed in
332         32-bit floating point.
333
334         * WebGPUShadingLanguageRI/Casts.js:
335         (castToBool): Added.
336         (castAndCheckValue): Added.
337         (isBitwiseEquivalent): Moved from Intrinsics.js.
338         * WebGPUShadingLanguageRI/Intrinsics.js: Ditto.
339         * WebGPUShadingLanguageRI/SPIRV.html: Update depdencies.
340         * WebGPUShadingLanguageRI/Test.html: Ditto.
341         * WebGPUShadingLanguageRI/Test.js: Update makeT functions to do a cast
342         and check the result. Some tests were also updated to reflect the change
343         in the behavior of these functions.
344         * WebGPUShadingLanguageRI/index.html: Update dependencies.
345
346 2018-09-19  John Wilander  <wilander@apple.com>
347
348         Resource Load Statistics: Add optional cap on partitioned cache max age
349         https://bugs.webkit.org/show_bug.cgi?id=189711
350         <rdar://problem/39246837>
351
352         Reviewed by Antti Koivisto and Chris Dumez.
353
354         This change adds infrastructure for layout tests of capped cache max age.
355
356         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
357         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
358         (WTR::TestRunner::setStatisticsCacheMaxAgeCap):
359         * WebKitTestRunner/InjectedBundle/TestRunner.h:
360         * WebKitTestRunner/TestController.cpp:
361         (WTR::TestController::setStatisticsCacheMaxAgeCap):
362         * WebKitTestRunner/TestController.h:
363         * WebKitTestRunner/TestInvocation.cpp:
364         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
365
366 2018-09-19  Dawei Fenton  <realdawei@apple.com>
367
368        Unreviewed. Update my email and alias in list of contributors.
369
370         * Scripts/webkitpy/common/config/contributors.json:
371
372 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
373
374         [WPE][GTK] Unreviewed, try #3 to fix a typo
375
376         I feel like Charlie Brown, how hard this has been for me....
377
378         * Scripts/run-minibrowser:
379         * Scripts/webkitdirs.pm:
380         (runInFlatpakIfAvailable):
381         (runInFlatpakIfAvailible): Deleted.
382
383 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
384
385         [WPE][GTK] Unreviewed, fix that typo in more places
386
387         It got copied into webkitdirs.pm!
388
389         * Scripts/webkitdirs.pm:
390         (runInFlatpakIfAvailible):
391         (runInFlatpakIfAvalaible): Deleted.
392
393 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
394
395         [WPE][GTK] Unreviewed, fix a pervasive typo in the webkit-flatpak script
396
397         * flatpak/flatpakutils.py:
398         (WebkitFlatpak.load_from_args):
399         (WebkitFlatpak.__init__):
400         (WebkitFlatpak.run):
401
402 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
403
404         [WPE][GTK] Unreviewed, update to latest GNOME SDK
405
406         * flatpak/org.webkit.WebKit.yaml:
407
408 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
409
410         Unreviewed, rolling out r235500.
411
412         Time to switch back to master runtime
413
414         Reverted changeset:
415
416         "Unreviewed, rolling out r235114."
417         https://bugs.webkit.org/show_bug.cgi?id=188731
418         https://trac.webkit.org/changeset/235500
419
420 2018-09-19  Adrian Perez de Castro  <aperez@igalia.com>
421
422         Unreviewed. Add Pablo Saavedra to the list of contributors.
423
424         * Scripts/webkitpy/common/config/contributors.json:
425
426 2018-09-19  Philippe Normand  <pnormand@igalia.com>
427
428         [GStreamer] Add support for AV1 decoding
429         https://bugs.webkit.org/show_bug.cgi?id=189647
430
431         Reviewed by Žan Doberšek.
432
433         Add patches required for AV1 decoding support. They're all
434         upstream already and will be shipped in GStreamer 1.16. The aom
435         GStreamer plugin depends on the aom library for which there's no
436         official release yet.
437
438         * gstreamer/jhbuild.modules:
439         * gstreamer/patches/gst-plugins-bad-0001-aomenc-Add-support-for-10-12bit-decoding.patch: Added.
440         * gstreamer/patches/gst-plugins-bad-0002-aomenc-Handle-8-bit_depth-images-with-AOM_IMG_FMT_HI.patch: Added.
441         * 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.
442         * gstreamer/patches/gst-plugins-good-0004-qtdemux-Add-initial-support-for-AV1-demuxing.patch: Added.
443         * gstreamer/patches/gst-plugins-good-0005-qtdemux-Extract-AV1-codec_data-and-put-it-in-the-cap.patch: Added.
444         * gstreamer/patches/gst-plugins-good-0006-qtdemux-Recognize-more-AV1-atoms.patch: Added.
445
446 2018-09-18  Jonathan Bedard  <jbedard@apple.com>
447
448         webkitpy: Clobbering and building occurs multiple times for iOS Simulator ports
449         https://bugs.webkit.org/show_bug.cgi?id=189702
450         <rdar://problem/44541704>
451
452         Reviewed by Aakash Jain.
453
454         * Scripts/webkitpy/layout_tests/controllers/manager.py:
455         (Manager._set_up_run): Move build check and clobbering to run, since set up is
456         run multiple times for iOS simulator.
457         (Manager.run):
458
459 2018-09-18  Chris Dumez  <cdumez@apple.com>
460
461         "DidFirstVisuallyNonEmptyLayout" callback does not get called when restoring a page from PageCache
462         https://bugs.webkit.org/show_bug.cgi?id=189681
463         <rdar://problem/44526171>
464
465         Reviewed by Alex Christensen and Zalan Bujtas.
466
467         Add API test coverage.
468
469         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
470         (TestWebKitAPI::didFinishNavigation):
471         (TestWebKitAPI::TEST):
472
473 2018-09-18  Claudio Saavedra  <csaavedra@igalia.com>
474
475         [WPE] Implement mouse event modifiers
476         https://bugs.webkit.org/show_bug.cgi?id=189697
477
478         Reviewed by Carlos Garcia Campos.
479
480         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
481         (WTR::wkEventModifiersToWPE):
482         (WTR::EventSenderProxy::mouseDown):
483         (WTR::EventSenderProxy::mouseUp):
484
485 2018-09-17  Yusuke Suzuki  <utatane.tea@gmail.com>
486
487         [WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t
488         https://bugs.webkit.org/show_bug.cgi?id=185339
489
490         Reviewed by Mark Lam.
491
492         * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
493         (TestWebKitAPI::ToUpperConverter::stopProducing):
494         (TestWebKitAPI::ToUpperConverter::stopConsuming):
495
496 2018-09-17  Simon Fraser  <simon.fraser@apple.com>
497
498         Many modern media control tests leak documents in testing
499         https://bugs.webkit.org/show_bug.cgi?id=189437
500
501         Reviewed by Darin Adler.
502         
503         In order to accurately detect leaks in media controls tests which use lots of
504         SVGImages, we have to:
505         - Fire a zero-delay timer after the postTask, in order for ImagesLoader's m_derefElementTimer
506           to clear references to elements.
507         - Have releaseCriticalMemory() call CachedResourceLoader's garbageCollectDocumentResources()
508           to drop the last handle to the CachedResource for an SVGImage.
509         - Call WKBundleReleaseMemory() after the GC and timer, since we need garbageCollectDocumentResources()
510           to run again after that timer has fired.
511         
512         This should fix most of the spurious leak reports involving SVGImage documents.
513
514         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
515         (WTR::InjectedBundle::reportLiveDocuments):
516         (WTR::InjectedBundle::didReceiveMessageToPage):
517
518 2018-09-17  Chris Dumez  <cdumez@apple.com>
519
520         PSON: window.open() with 'noopener' should only process-swap cross-site, not cross-origin
521         https://bugs.webkit.org/show_bug.cgi?id=189602
522         <rdar://problem/44430549>
523
524         Reviewed by Geoff Garen.
525
526         Add API test coverage.
527
528         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
529
530 2018-09-17  Philippe Normand  <pnormand@igalia.com>
531
532         [JHBuild] Update to GStreamer 1.14.3
533         https://bugs.webkit.org/show_bug.cgi?id=189450
534
535         Reviewed by Xabier Rodriguez-Calvar.
536
537         * gstreamer/jhbuild.modules: Bump GStreamer modules from 1.14.1 to 1.14.3.
538
539 2018-09-17  Philippe Normand  <pnormand@igalia.com>
540
541         [JHBuild] Doesn't check sha256 sums
542         https://bugs.webkit.org/show_bug.cgi?id=189646
543
544         Reviewed by Michael Catanzaro.
545
546         * gstreamer/jhbuild.modules: Properly set the sha256: prefix on hashes.
547
548 2018-09-17  Sihui Liu  <sihui_liu@apple.com>
549
550         Move IndexedDB to Network Process
551         https://bugs.webkit.org/show_bug.cgi?id=189415
552         <rdar://problem/44396973>
553
554         Reviewed by Chris Dumez.
555
556         * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
557         (TEST):
558         * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
559         (TEST):
560         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
561         (TEST):
562         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
563         (TEST):
564         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
565         (TEST):
566
567 2018-09-08  Darin Adler  <darin@apple.com>
568
569         Streamline JSRetainPtr, fix leaks of JSString and JSGlobalContext
570         https://bugs.webkit.org/show_bug.cgi?id=189455
571
572         Reviewed by Keith Miller.
573
574         There is a lot of copied and pasted code for WebKit vs. Legacy WebKit
575         testing and even for macOS vs. iOS vs. Windows platform-specific code.
576         For now, this patch just makes corresponding changes to the copied code.
577         Later we might get better results by merging more code instead of having
578         all these separate copies.
579
580         * DumpRenderTree/AccessibilityController.cpp:
581         (AccessibilityController::makeWindowObject): Use the adopt function
582         instead of the special Adopt constructor of JSRetainPtr.
583
584         * DumpRenderTree/AccessibilityTextMarker.cpp: Removed unneeded include.
585
586         * DumpRenderTree/AccessibilityUIElement.cpp: Ditto.
587         (allAttributesCallback): Don't adopt at this level; changed the
588         underlying function to return a JSRetainPtr so the adopt is right next
589         to the call to the create or copy function.
590         (attributesOfLinkedUIElementsCallback): Ditto.
591         (attributesOfDocumentLinksCallback): Ditto.
592         (attributesOfChildrenCallback): Ditto.
593         (parameterizedAttributeNamesCallback): Ditto.
594         (attributesOfColumnHeadersCallback): Ditto.
595         (attributesOfRowHeadersCallback): Ditto.
596         (attributesOfColumnsCallback): Ditto.
597         (attributesOfRowsCallback): Ditto.
598         (attributesOfVisibleCellsCallback): Ditto.
599         (attributesOfHeaderCallback): Ditto.
600         (rowIndexRangeCallback): Ditto.
601         (columnIndexRangeCallback): Ditto.
602         (rangeForLineCallback): Ditto.
603         (boundsForRangeCallback): Ditto.
604         (rangeForPositionCallback): Ditto.
605         (stringForRangeCallback): Ditto.
606         (attributedStringForRangeCallback): Ditto.
607         (uiElementCountForSearchPredicateCallback): Use the free adopt
608         function instead of the adopt member function.
609         (uiElementForSearchPredicateCallback): Ditto.
610         (selectTextWithCriteriaCallback): Don't adopt at this level.
611         (attributedStringForElementCallback): Ditto.
612         (setValueCallback): Use free adopt.
613         (stringAttributeValueCallback): Don't adopt at this level.
614         (uiElementArrayAttributeValueCallback): Ditto.
615         (uiElementAttributeValueCallback): Ditto.
616         (stringForTextMarkerRangeCallback): Ditto.
617         (attributedStringForTextMarkerRangeCallback): Ditto.
618         (attributedStringForTextMarkerRangeWithOptionsCallback): Ditto.
619         (getARIADropEffectsCallback): Ditto.
620         (getClassListCallback): Ditto.
621         (getRoleCallback): Ditto.
622         (getSubroleCallback): Ditto.
623         (getRoleDescriptionCallback): Ditto.
624         (getComputedRoleStringCallback): Ditto.
625         (getTitleCallback): Ditto.
626         (getDescriptionCallback): Ditto.
627         (getStringValueCallback): Ditto.
628         (getLanguageCallback): Ditto.
629         (getHelpTextCallback): Ditto.
630         (getOrientationCallback): Ditto.
631         (getPathDescriptionCallback): Ditto.
632         (getSelectedTextRangeCallback): Ditto.
633         (speakAsCallback): Ditto.
634         (getValueDescriptionCallback): Ditto.
635         (getAccessibilityValueCallback): Ditto.
636         (getDocumentEncodingCallback): Ditto.
637         (getDocumentURICallback): Ditto.
638         (getURLCallback): Ditto.
639         (characterAtOffsetCallback): Ditto.
640         (wordAtOffsetCallback): Ditto.
641         (lineAtOffsetCallback): Ditto.
642         (sentenceAtOffsetCallback): Ditto.
643         (stringForSelectionCallback): Ditto.
644         (getIdentifierCallback): Ditto.
645         (getTraitsCallback): Ditto.
646         (supportedActionsCallback): Ditto.
647         (mathPostscriptsDescriptionCallback): Ditto.
648         (mathPrescriptsDescriptionCallback): Ditto.
649         (AccessibilityUIElement::rangeForLine): Updated to return JSRetainPtr.
650         (AccessibilityUIElement::rangeForPosition): Ditto.
651         (AccessibilityUIElement::speakAs): Ditto.
652         (AccessibilityUIElement::pathDescription const): Ditto.
653         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
654         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
655         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
656
657         * DumpRenderTree/AccessibilityUIElement.h: Use JSRetainPtr instead of
658         raw pointers for the results of the functions that create strings.
659         The old way was difficult to get right; the functions didn't even follow
660         the create/copy naming rule.
661
662         * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
663         (_platformTypeConstructor): Use the adopt function instead of the
664         JSRetainPtr adopt constructor. Also nullptr instead of 0.
665
666         * DumpRenderTree/GCController.cpp:
667         (GCController::makeWindowObject): Use adopt function instead of constructor.
668
669         * DumpRenderTree/TestRunner.cpp:
670         (pathToLocalResourceCallback): Use adopt function instead of constructor.
671         (addDisallowedURLCallback): Ditto.
672         (addURLToRedirectCallback): Ditto.
673         (clearApplicationCacheForOriginCallback): Ditto.
674         (applicationCacheDiskUsageForOriginCallback): Ditto.
675         (decodeHostNameCallback): Don't adopt at this level.
676         (encodeHostNameCallback): Ditto.
677         (execCommandCallback): Use adopt instead of JSRetainPtr::adopt.
678         (findStringCallback): Use adopt function instead of constructor.
679         (isCommandEnabledCallback): Ditto.
680         (overridePreferenceCallback): Ditto.
681         (queueLoadCallback): Ditto.
682         (queueLoadHTMLStringCallback): Ditto.
683         (queueLoadingScriptCallback): Ditto.
684         (queueNonLoadingScriptCallback): Ditto.
685         (setAuthenticationPasswordCallback): Ditto.
686         (setAuthenticationUsernameCallback): Ditto.
687         (setDomainRelaxationForbiddenForURLSchemeCallback): Ditto.
688         (setMockGeolocationPositionUnavailableErrorCallback): Ditto.
689         (setPOSIXLocaleCallback): Ditto.
690         (setPersistentUserStyleSheetLocationCallback): Ditto.
691         (setUserStyleSheetLocationCallback): Ditto.
692         (setValueForUserCallback): Ditto.
693         (setWillSendRequestClearHeaderCallback): Ditto.
694         (setPageVisibilityCallback): Ditto.
695         (evaluateInWebInspectorCallback): Ditto.
696         (evaluateScriptInIsolatedWorldCallback): Ditto.
697         (evaluateScriptInIsolatedWorldAndReturnValueCallback): Ditto.
698         (addOriginAccessWhitelistEntryCallback): Ditto.
699         (removeOriginAccessWhitelistEntryCallback): Ditto.
700         (setScrollbarPolicyCallback): Ditto.
701         (addUserScriptCallback): Ditto.
702         (addUserStyleSheetCallback): Ditto.
703         (apiTestNewWindowDataLoadBaseURLCallback): Ditto.
704         (authenticateSessionCallback): Ditto.
705         (getTitleTextDirectionCallback): Ditto.
706         (getInspectorTestStubURLCallback): Ditto.
707         (simulateLegacyWebNotificationClickCallback): Ditto.
708         (setTextDirectionCallback): Ditto.
709         (grantWebNotificationPermissionCallback): Ditto.
710         (denyWebNotificationPermissionCallback): Ditto.
711         (accummulateLogsForChannel): Ditto.
712         (runUIScriptCallback): Ditto.
713         (TestRunner::makeWindowObject): Ditto.
714         (TestRunner::uiScriptDidComplete): Ditto.
715         (TestRunner::setOpenPanelFiles): Ditto.
716
717         * DumpRenderTree/TestRunner.h: Use JSRetainPtr instead of
718         raw pointers for the results of the functions that create strings.
719
720         * DumpRenderTree/ios/AccessibilityControllerIOS.mm:
721         (AccessibilityController::platformName const): Use the adopt
722         function instead of the adopt constructor.
723
724         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
725         (createEmptyJSString): Added. This helper function makes reduces the
726         repetitive code to create empty strings.
727         (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
728         (AccessibilityUIElement::identifier): Ditto.
729         (AccessibilityUIElement::traits): Ditto.
730         (AccessibilityUIElement::url): Ditto.
731         (AccessibilityUIElement::speakAs): Ditto.
732         (AccessibilityUIElement::stringForSelection): Ditto.
733         (AccessibilityUIElement::stringForRange): Ditto.
734         (AccessibilityUIElement::attributedStringForRange): Ditto.
735         (AccessibilityUIElement::attributedStringForElement): Ditto.
736         (AccessibilityUIElement::pathDescription const): Ditto.
737         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
738         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
739         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
740         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
741         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
742         (AccessibilityUIElement::attributesOfChildren): Ditto.
743         (AccessibilityUIElement::allAttributes): Ditto.
744         (AccessibilityUIElement::stringAttributeValue): Ditto.
745         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
746         (AccessibilityUIElement::role): Ditto.
747         (AccessibilityUIElement::subrole): Ditto.
748         (AccessibilityUIElement::roleDescription): Ditto.
749         (AccessibilityUIElement::computedRoleString): Ditto.
750         (AccessibilityUIElement::title): Ditto.
751         (AccessibilityUIElement::description): Ditto.
752         (AccessibilityUIElement::orientation const): Ditto.
753         (AccessibilityUIElement::stringValue): Ditto.
754         (AccessibilityUIElement::language): Ditto.
755         (AccessibilityUIElement::helpText const): Ditto.
756         (AccessibilityUIElement::valueDescription): Ditto.
757         (AccessibilityUIElement::ariaDropEffects const): Ditto.
758         (AccessibilityUIElement::boundsForRange): Ditto.
759         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
760         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
761         (AccessibilityUIElement::attributesOfColumns): Ditto.
762         (AccessibilityUIElement::attributesOfRows): Ditto.
763         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
764         (AccessibilityUIElement::attributesOfHeader): Ditto.
765         (AccessibilityUIElement::rowIndexRange): Ditto.
766         (AccessibilityUIElement::columnIndexRange): Ditto.
767         (AccessibilityUIElement::selectedTextRange): Ditto.
768         (AccessibilityUIElement::accessibilityValue const): Ditto.
769         (AccessibilityUIElement::documentEncoding): Ditto.
770         (AccessibilityUIElement::documentURI): Ditto.
771         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
772         (AccessibilityUIElement::classList const): Ditto.
773
774         * DumpRenderTree/mac/AccessibilityCommonMac.h: Changed the
775         createJSStringRef method to return a JSRetainPtr.
776         * DumpRenderTree/mac/AccessibilityCommonMac.mm:
777         (-[NSString createJSStringRef]): Ditto.
778         (searchPredicateParameterizedAttributeForSearchCriteria): Use the
779         adopt function instead of the adopt constructor.
780         * DumpRenderTree/mac/AccessibilityControllerMac.mm:
781         (AccessibilityController::platformName const): Ditto.
782
783         * DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
784         (-[NSString createJSStringRef]): Return a JSRetainPtr.
785         (makeValueRefForValue): Updated for the above, no adopt needed here now.
786         (makeObjectRefForDictionary): Ditto.
787         (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
788
789         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
790         (createEmptyJSString): Added. This helper function makes reduces the
791         repetitive code to create empty strings.
792         (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
793         (descriptionOfElements): Ditto.
794         (selectTextParameterizedAttributeForCriteria): Ditto.
795         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
796         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
797         (AccessibilityUIElement::attributesOfChildren): Ditto.
798         (AccessibilityUIElement::allAttributes): Ditto.
799         (AccessibilityUIElement::stringAttributeValue): Ditto.
800         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
801         (AccessibilityUIElement::role): Ditto.
802         (AccessibilityUIElement::subrole): Ditto.
803         (AccessibilityUIElement::roleDescription): Ditto.
804         (AccessibilityUIElement::computedRoleString): Ditto.
805         (AccessibilityUIElement::title): Ditto.
806         (AccessibilityUIElement::description): Ditto.
807         (AccessibilityUIElement::orientation const): Ditto.
808         (AccessibilityUIElement::stringValue): Ditto.
809         (AccessibilityUIElement::language): Ditto.
810         (AccessibilityUIElement::helpText const): Ditto.
811         (AccessibilityUIElement::valueDescription): Ditto.
812         (AccessibilityUIElement::speakAs): Ditto.
813         (AccessibilityUIElement::classList const): Ditto.
814         (AccessibilityUIElement::ariaDropEffects const): Ditto.
815         (AccessibilityUIElement::rangeForLine): Ditto.
816         (AccessibilityUIElement::rangeForPosition): Ditto.
817         (AccessibilityUIElement::boundsForRange): Ditto.
818         (AccessibilityUIElement::stringForRange): Ditto.
819         (AccessibilityUIElement::attributedStringForRange): Ditto.
820         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
821         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
822         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
823         (AccessibilityUIElement::attributesOfColumns): Ditto.
824         (AccessibilityUIElement::attributesOfRows): Ditto.
825         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
826         (AccessibilityUIElement::attributesOfHeader): Ditto.
827         (AccessibilityUIElement::rowIndexRange): Ditto.
828         (AccessibilityUIElement::columnIndexRange): Ditto.
829         (AccessibilityUIElement::pathDescription const): Ditto.
830         (AccessibilityUIElement::selectedTextRange): Ditto.
831         (AccessibilityUIElement::accessibilityValue const): Ditto.
832         (AccessibilityUIElement::documentEncoding): Ditto.
833         (AccessibilityUIElement::documentURI): Ditto.
834         (AccessibilityUIElement::url): Ditto.
835         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
836         (createJSStringRef): Ditto.
837         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
838         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
839         (AccessibilityUIElement::supportedActions): Ditto.
840         (AccessibilityUIElement::mathPostscriptsDescription const): Ditto.
841         (AccessibilityUIElement::mathPrescriptsDescription const): Ditto.
842
843         * DumpRenderTree/mac/FrameLoadDelegate.mm:
844         (-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
845         Use the adopt function instead of the adopt constructor.
846         * DumpRenderTree/mac/TestRunnerMac.mm:
847         (originsArrayToJS): Ditto.
848         (TestRunner::copyDecodedHostName): Return a JSRetainPtr.
849         (TestRunner::copyEncodedHostName): Ditto.
850         (TestRunner::pathToLocalResource): Ditto.
851         (TestRunner::queueLoad): Use adopt function instead of constructor.
852         (TestRunner::findString): Ditto.
853         (TestRunner::inspectorTestStubURL): Return a JSRetainPtr.
854
855         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
856         (AccessibilityController::winNotificationReceived): Use adopt function
857         instead of adopt constructor.
858         (AccessibilityController::platformName const): Ditto.
859
860         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
861         (createEmptyJSString): Added. This helper function makes reduces the
862         repetitive code to create empty strings.
863         (AccessibilityUIElement::allAttributes): Changed to return a JSRetainPtr.
864         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
865         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
866         (AccessibilityUIElement::attributesOfChildren): Ditto.
867         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
868         (AccessibilityUIElement::role): Ditto.
869         (AccessibilityUIElement::subrole): Ditto.
870         (AccessibilityUIElement::roleDescription): Ditto.
871         (AccessibilityUIElement::computedRoleString): Ditto.
872         (AccessibilityUIElement::title): Ditto.
873         (AccessibilityUIElement::description): Ditto.
874         (AccessibilityUIElement::stringValue): Ditto.
875         (AccessibilityUIElement::language): Ditto.
876         (AccessibilityUIElement::helpText const): Ditto.
877         (AccessibilityUIElement::valueDescription): Ditto.
878         (AccessibilityUIElement::ariaDropEffects const): Ditto.
879         (AccessibilityUIElement::orientation const): Ditto.
880         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
881         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
882         (AccessibilityUIElement::attributesOfColumns): Ditto.
883         (AccessibilityUIElement::attributesOfRows): Ditto.
884         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
885         (AccessibilityUIElement::attributesOfHeader): Ditto.
886         (AccessibilityUIElement::rowIndexRange): Ditto.
887         (AccessibilityUIElement::columnIndexRange): Ditto.
888         (AccessibilityUIElement::boundsForRange): Ditto.
889         (AccessibilityUIElement::stringForRange): Ditto.
890         (AccessibilityUIElement::attributedStringForRange): Ditto.
891         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
892         (AccessibilityUIElement::selectedTextRange): Ditto.
893         (AccessibilityUIElement::stringAttributeValue): Ditto.
894         (AccessibilityUIElement::accessibilityValue const): Ditto.
895         (AccessibilityUIElement::documentEncoding): Ditto.
896         (AccessibilityUIElement::documentURI): Ditto.
897         (AccessibilityUIElement::url): Ditto.
898         (AccessibilityUIElement::classList const): Ditto.
899
900         * DumpRenderTree/win/TestRunnerWin.cpp:
901         (TestRunner::copyDecodedHostName): Changed to return a JSRetainPtr.
902         (TestRunner::copyEncodedHostName): Ditto.
903         (TestRunner::pathToLocalResource): Ditto.
904         (TestRunner::queueLoad): Ditto.
905         (TestRunner::findString): Ditto.
906         (TestRunner::inspectorTestStubURL): Ditto.
907
908         * TestRunnerShared/Bindings/JSWrapper.h:
909         (WTR::setProperty): Use adopt function instead of constructor.
910         * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
911         (UIScriptContext::UIScriptContext): Ditto.
912         (UIScriptContext::runUIScript): Ditto.
913         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
914         (WTR::toDeviceOrientation): Ditto.
915
916         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
917         (nsTextCheckingType): Changed this function to not take an rvalue
918         reference to a JSRetainPtr since it doesn't take ownership.
919         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Updated
920         for the above change.
921
922         * TestWebKitAPI/JavaScriptTest.cpp:
923         (TestWebKitAPI::javaScriptCallback): Use adopt function instead of
924         adopt member function.
925
926         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp: Removed unneeded include.
927         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm: Ditto.
928         * TestWebKitAPI/Tests/mac/DOMNodeFromJSObject.mm: Use adopt function instead of
929         adopt constructor.
930         * TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm: Ditto.
931
932         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
933         Removed unneeded includes.
934         * WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Ditto.
935         * WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Ditto.
936         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Ditto.
937
938         * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
939         (_platformTypeConstructor): Use the adopt function instead of the
940         JSRetainPtr adopt constructor. Also nullptr instead of 0.
941
942         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
943         (WTR::arrayLength): Use adopt function instead of constructor.
944         (WTR::parseModifierArray): Ditto.
945         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
946         (WTR::propertyValue): Ditto.
947         (WTR::dumpPath): Ditto.
948         (WTR::toJS): Ditto.
949         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
950         (WTR::TestRunner::findString): Ditto.
951         (WTR::TestRunner::statisticsDidRunTelemetryCallback): Ditto.
952         (WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback): Ditto.
953         (WTR::TestRunner::setOpenPanelFiles): Ditto.
954         * WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
955         (WTR::AccessibilityController::platformName): Ditto.
956
957         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
958         (-[NSString createJSStringRef]): Return a JSRetainPtr.
959         This fixes storage leaks in many functions below, which were using
960         the create function and putting the value right into a JSRetainPtr
961         without adoption.
962         (WTR::createEmptyJSString): Added. This helper function reduces the
963         repetitive code to create empty strings.
964         (WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
965         (WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
966         Use createEmptyJSString, fixing a storage leak due to missing adoption.
967         (WTR::AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
968         (WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
969         (WTR::AccessibilityUIElement::allAttributes): Ditto.
970         (WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
971         (WTR::AccessibilityUIElement::parameterizedAttributeNames): Ditto.
972         (WTR::AccessibilityUIElement::role): Ditto.
973         (WTR::AccessibilityUIElement::subrole): Ditto.
974         (WTR::AccessibilityUIElement::roleDescription): Ditto.
975         (WTR::AccessibilityUIElement::computedRoleString): Ditto.
976         (WTR::AccessibilityUIElement::title): Ditto.
977         (WTR::AccessibilityUIElement::orientation const): Ditto.
978         (WTR::AccessibilityUIElement::language): Ditto.
979         (WTR::AccessibilityUIElement::valueDescription): Ditto.
980         (WTR::AccessibilityUIElement::ariaDropEffects const): Ditto.
981         (WTR::AccessibilityUIElement::boundsForRange): Ditto.
982         (WTR::AccessibilityUIElement::stringForRange): Removed unneeded null check.
983         (WTR::AccessibilityUIElement::attributedStringForRange): Ditto.
984         (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
985         Use createEmptyJSString, fixing a storage leak due to missing adoption.
986         (WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
987         (WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
988         (WTR::AccessibilityUIElement::attributesOfRows): Ditto.
989         (WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
990         (WTR::AccessibilityUIElement::attributesOfHeader): Ditto.
991         (WTR::AccessibilityUIElement::selectedTextRange): Ditto.
992         (WTR::AccessibilityUIElement::accessibilityValue const): Ditto.
993         (WTR::AccessibilityUIElement::documentEncoding): Ditto.
994         (WTR::AccessibilityUIElement::documentURI): Ditto.
995         (WTR::AccessibilityUIElement::stringForSelection): Removed unneeded
996         null check.
997         (WTR::AccessibilityUIElement::stringForTextMarkerRange):
998         Use createEmptyJSString, fixing a storage leak due to missing adoption.
999
1000         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
1001         Use JSRetainPtr for the return value of createJSStringRef.
1002         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
1003         (-[NSString createJSStringRef]): Ditto.
1004         (WTR::searchPredicateParameterizedAttributeForSearchCriteria): Use the
1005         adopt function instead of the adopt constructor.
1006         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
1007         (WTR::AccessibilityController::platformName): Ditto
1008
1009         * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
1010         (-[NSString createJSStringRef]): Return a JSRetainPtr.
1011         (makeValueRefForValue): Updated for above by removing adopt.
1012         (makeObjectRefForDictionary): Ditto.
1013         (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
1014
1015         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
1016         (WTR::createEmptyJSString): Added. This helper function makes reduces the
1017         repetitive code to create empty strings.
1018         (WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
1019         (WTR::descriptionOfElements): Ditto.
1020         (WTR::selectTextParameterizedAttributeForCriteria): Ditto.
1021         (WTR::AccessibilityUIElement::accessibilityValue const): Use createEmptyJSString,
1022         fixing a storage leak due to missing adoption.
1023         (WTR::AccessibilityUIElement::documentEncoding): Ditto.
1024         (WTR::AccessibilityUIElement::documentURI): Ditto.
1025         (WTR::createJSStringRef): Return a JSRetainPtr.
1026
1027         * WebKitTestRunner/StringFunctions.h:
1028         (WTR::toWK): Take a const& to eliminate a little bit of reference count churn.
1029         (WTR::toJS): Use the adopt function instead of the constructor.
1030
1031 2018-09-14  Dean Jackson  <dino@grorg.org>
1032
1033         Add Justin Michaud.
1034
1035         * Scripts/webkitpy/common/config/contributors.json:
1036
1037 2018-09-14  Ryan Haddad  <ryanhaddad@apple.com>
1038
1039         bots should pass --clobber-old-results to run-webkit-tests
1040         https://bugs.webkit.org/show_bug.cgi?id=189623
1041
1042         Reviewed by Aakash Jain.
1043
1044         In order to ensure that bots to not produce confusing results due to transient execptions,
1045         or run out of space if they continually hit an exception, old layout test results should be clobbered.
1046
1047         * BuildSlaveSupport/build.webkit.org-config/steps.py:
1048         (RunWebKitTests):
1049
1050 2018-09-13  Ryan Haddad  <ryanhaddad@apple.com>
1051
1052         Unreviewed, rolling out r235954.
1053
1054         Breaks the watchOS build.
1055
1056         Reverted changeset:
1057
1058         "Move IndexedDB to Network Process"
1059         https://bugs.webkit.org/show_bug.cgi?id=189415
1060         https://trac.webkit.org/changeset/235954
1061
1062 2018-09-13  Daniel Bates  <dabates@apple.com>
1063
1064         Add Copy WebKit Permalink plugin for Sublime Text
1065         https://bugs.webkit.org/show_bug.cgi?id=189589
1066
1067         Rubber-stamped by Joseph Pecoraro.
1068
1069         Port the Copy WebKit Permalink Automator service to a Sublime Text plugin. Once installed you can
1070         use the plugin to copy to the Clipboard a trac.webkit.org hyperlink to the selected line in the
1071         active document with or without blame annotations.
1072
1073         Once installed, you can Control-click (on Mac) or right-click (on Windows and Linux) on a line and
1074         choose Copy WebKit Permalink or Copy WebKit Permalink to Blame from the context menu to copy to the
1075         Clipboard a permanent hyperlink to the selected line without or with blame annotations, respectively.
1076         On Mac you can also invoke the same functionality using the keyboard shortcuts Command + Shift + Control + C
1077         and Command + Shift + Control + Option + C, respectively.
1078
1079         * CopyPermalink/Sublime Text/CopyWebKitPermalink/Context.sublime-menu: Added.
1080         * CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py: Added.
1081         * CopyPermalink/Sublime Text/CopyWebKitPermalink/Default (OSX).sublime-keymap: Added.
1082         * CopyPermalink/Sublime Text/INSTALL: Added.
1083         * CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/Info.plist: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/Info.plist.
1084         * CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/document.wflow: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow.
1085         * CopyPermalink/Xcode/INSTALL: Renamed from Tools/CopyPermalink/README.
1086
1087 2018-09-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1088
1089         Unreviewed. Fix WebDriver tests after r235225.
1090
1091         Use wpt serve command to run the http server.
1092
1093         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
1094         (WebDriverW3CWebServer.__init__):
1095         (WebDriverW3CWebServer.start):
1096         (WebDriverW3CWebServer.stop):
1097
1098 2018-09-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1099
1100         [GTK][WPE] Allow to run script dialogs asynchronously in the UI process
1101         https://bugs.webkit.org/show_bug.cgi?id=189544
1102
1103         Reviewed by Michael Catanzaro.
1104
1105         Add test cases for the new API.
1106
1107         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
1108         (testWebViewJavaScriptDialogs):
1109
1110 2018-09-12  Fujii Hironori  <Hironori.Fujii@sony.com>
1111
1112         [Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
1113         https://bugs.webkit.org/show_bug.cgi?id=189496
1114         <rdar://problem/44370981>
1115
1116         Unreviewed warning fix.
1117
1118         r235929 has introduced a new compilation warning:
1119         > Tools/ImageDiff/cairo/PlatformImageCairo.cpp:34:70: warning: unused parameter ‘imageSize’ [-Wunused-parameter]
1120
1121         * ImageDiff/cairo/PlatformImageCairo.cpp:
1122         (ImageDiff::PlatformImage::createFromStdin): Removed the variable name.
1123
1124 2018-09-12  Dan Bernstein  <mitz@apple.com>
1125
1126         [Cocoa] Complete support for Paste as Quotation
1127         https://bugs.webkit.org/show_bug.cgi?id=189504
1128
1129         Reviewed by Wenson Hsieh.
1130
1131         * MiniBrowser/mac/MainMenu.xib: Added a Paste as Quotation command in the Edit menu.
1132
1133 2018-09-12  Sihui Liu  <sihui_liu@apple.com>
1134
1135         Move IndexedDB to Network Process
1136         https://bugs.webkit.org/show_bug.cgi?id=189415
1137
1138         Reviewed by Geoffrey Garen.
1139
1140         * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
1141         (TEST):
1142         * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
1143         (TEST):
1144         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
1145         (TEST):
1146         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
1147         (TEST):
1148         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
1149         (TEST):
1150
1151 2018-09-12  Chris Dumez  <cdumez@apple.com>
1152
1153         PSON: No process swap on back navigation after URL bar navigation
1154         https://bugs.webkit.org/show_bug.cgi?id=189557
1155         <rdar://problem/44353108>
1156
1157         Reviewed by Alex Christensen.
1158
1159         Add API test coverage.
1160
1161         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1162
1163 2018-09-11  Dean Jackson  <dino@apple.com>
1164
1165         Header parsing for experimental and internal debug features
1166         https://bugs.webkit.org/show_bug.cgi?id=189486
1167         <rdar://problem/44320618>
1168
1169         Reviewed by Tim Horton.
1170
1171         Keep track of experimental and internal debug features in TestOptions, and
1172         allow webkit-test-runner headers to toggle them by name.
1173
1174         * DumpRenderTree/TestOptions.cpp:
1175         (TestOptions::TestOptions):
1176         * WebKitTestRunner/TestController.cpp:
1177         (WTR::TestController::resetPreferencesToConsistentValues):
1178         (WTR::updateTestOptionsFromTestHeader):
1179         * WebKitTestRunner/TestOptions.h:
1180         (WTR::TestOptions::hasSameInitializationOptions const):
1181
1182 2018-09-12  Fujii Hironori  <Hironori.Fujii@sony.com>
1183
1184         [Win][Clang][DumpRenderTree] 0 and nullptr can't be implicitly converted to AccessibilityUIElement
1185         https://bugs.webkit.org/show_bug.cgi?id=189492
1186
1187         Reviewed by Alex Christensen.
1188
1189         0 and nullptr can't be implicitly converted to
1190         AccessibilityUIElement because only Windows port typedefs
1191         PlatformUIElement as COMPtr<IAccessible> not a pointer.
1192
1193         Replaced "return 0" and "return nullptr" with "return { nullptr }".
1194
1195         * DumpRenderTree/AccessibilityUIElement.cpp:
1196         (AccessibilityUIElement::horizontalScrollbar const):
1197         (AccessibilityUIElement::verticalScrollbar const):
1198         (AccessibilityUIElement::uiElementAttributeValue const):
1199         (AccessibilityUIElement::accessibilityElementForTextMarker):
1200         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
1201         (AccessibilityController::elementAtPoint):
1202         (AccessibilityController::accessibleElementById):
1203         (AccessibilityController::focusedElement):
1204         (AccessibilityController::rootElement):
1205         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
1206         (AccessibilityUIElement::elementAtPoint):
1207         (AccessibilityUIElement::linkedUIElementAtIndex):
1208         (AccessibilityUIElement::getChildAtIndex):
1209         (AccessibilityUIElement::titleUIElement):
1210         (AccessibilityUIElement::parentElement):
1211         (AccessibilityUIElement::uiElementForSearchPredicate):
1212         (AccessibilityUIElement::cellForColumnAndRow):
1213         (AccessibilityUIElement::disclosedRowAtIndex):
1214         (AccessibilityUIElement::ariaOwnsElementAtIndex):
1215         (AccessibilityUIElement::ariaFlowToElementAtIndex):
1216         (AccessibilityUIElement::ariaControlsElementAtIndex):
1217         (AccessibilityUIElement::selectedRowAtIndex):
1218         (AccessibilityUIElement::rowAtIndex):
1219         (AccessibilityUIElement::disclosedByRow):
1220         (AccessibilityUIElement::selectedChildAtIndex const):
1221
1222 2018-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
1223
1224         FontManagerTests.ChangeFontColorWithColorPanel fails on macOS Sierra
1225         https://bugs.webkit.org/show_bug.cgi?id=189382
1226
1227         Reviewed by Ryosuke Niwa.
1228
1229         Fix the test by specifying colors in RGB colorspace.
1230
1231         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
1232         (TestWebKitAPI::TEST):
1233
1234 2018-09-11  Fujii Hironori  <Hironori.Fujii@sony.com>
1235
1236         [Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
1237         https://bugs.webkit.org/show_bug.cgi?id=189496
1238
1239         Reviewed by Alex Christensen.
1240
1241         * ImageDiff/cairo/PlatformImageCairo.cpp:
1242         (ImageDiff::PlatformImage::createFromStdin): Removed unnecessary ReadContext struct.
1243         (ImageDiff::PlatformImage::writeAsPNGToStdout): Use '%lu' format type specifier for unsigned long.
1244
1245 2018-09-07  Dean Jackson  <dino@apple.com>
1246
1247         Add and expose Internal features from WebKit
1248         https://bugs.webkit.org/show_bug.cgi?id=189442
1249         <rdar://problem/44243404>
1250
1251         Reviewed by Simon Fraser.
1252
1253         Update MiniBrowser to expose an Internal feature menu.
1254
1255         * MiniBrowser/mac/AppDelegate.m:
1256         (defaultConfiguration):
1257         * MiniBrowser/mac/SettingsController.m:
1258         (-[SettingsController _populateMenu]):
1259         (-[SettingsController validateMenuItem:]):
1260         (-[SettingsController toggleExperimentalFeature:]):
1261         (-[SettingsController toggleInternalDebugFeature:]):
1262
1263 2018-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
1264
1265         [macOS] [WK2] Support changing foreground colors via color panel
1266         https://bugs.webkit.org/show_bug.cgi?id=189382
1267         <rdar://problem/44227311>
1268
1269         Reviewed by Ryosuke Niwa.
1270
1271         Add an API test that uses NSColorPanel to change the color of selected text, and also apply typing styles when
1272         the selection is collapsed. The test also exercises switching between opaque colors (alpha = 1) and transparent
1273         colors, as well as making different parts of a word different colors.
1274
1275         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
1276         (-[TestWKWebView collapseToEnd]):
1277         (webViewForFontManagerTesting):
1278         (TestWebKitAPI::TEST):
1279         * TestWebKitAPI/cocoa/TestWKWebView.h:
1280
1281 == Rolled over to ChangeLog-2018-09-11 ==