eb2ef137878735580eb065f380342e8c92093f37
[WebKit-https.git] / Tools / ChangeLog
1 2017-11-10  Alex Christensen  <achristensen@webkit.org>
2
3         REGRESSION(r224267): WebViews scheduled with custom run loop modes don't load
4         https://bugs.webkit.org/show_bug.cgi?id=179515
5
6         Reviewed by Andy Estes.
7
8         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
9         * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm: Added.
10         (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
11         (TestWebKitAPI::TEST):
12
13 2017-11-10  Fujii Hironori  <Hironori.Fujii@sony.com>
14
15         [webkitpy] Fix PlatformInfo._win_version since r224657
16         https://bugs.webkit.org/show_bug.cgi?id=179520
17
18         Reviewed by Aakash Jain.
19
20         There are two problems.
21
22         The return value of sys.getwindowsversion() doesn't match with
23         Version.__init__ expects. Truncate the 4th and 5th of it.
24
25         _win_version_tuple_from_cmd was deleted in r224657. But, it is
26         still needed for Cygwin Python.
27
28         * Scripts/webkitpy/common/system/platforminfo.py:
29         (PlatformInfo._win_version): Return [0:3] of getwindowsversion().
30         Call _win_version_from_cmd for Cygwin Python.
31         (PlatformInfo._win_version_from_cmd): Restored.
32
33 2017-11-10  Guillaume Emont  <guijemont@igalia.com>
34
35         build-jsc: build testmasm for all platforms using cmake
36         https://bugs.webkit.org/show_bug.cgi?id=179512
37
38         Reviewed by Michael Catanzaro.
39
40         * Scripts/build-jsc:
41
42 2017-11-09  Jonathan Bedard  <jbedard@apple.com>
43
44         webkitpy: Unify version parsing code
45         https://bugs.webkit.org/show_bug.cgi?id=179426
46         <rdar://problem/35415191>
47
48         Unreviewed fix to r224657.
49
50         * Scripts/webkitpy/common/version.py:
51         (Version.__init__): Check if an object is iterable.
52
53 2017-11-09  Jonathan Bedard  <jbedard@apple.com>
54
55         webkitpy: Unify version parsing code
56         https://bugs.webkit.org/show_bug.cgi?id=179426
57         <rdar://problem/35415191>
58
59         Reviewed by David Kilzer.
60
61         webkitpy needs to parse version strings or version lists frequently. Rather than
62         duplicate this code each time it's needed, unify it in a Version class.
63
64         * Scripts/webkitpy/common/system/platforminfo.py:
65         (PlatformInfo.__init__): Convert mac version string to version object and
66         use _win_version instead of _win_version_tuple.
67         (PlatformInfo.xcode_sdk_version): Convert SDK version string to Version object
68         before returning it.
69         (PlatformInfo.xcode_version): Return Version object instead of version string.
70         (PlatformInfo._determine_mac_version): Accept Version object instead of string,
71         eliminate parsing.
72         (PlatformInfo._determine_win_version): Accept Version object instead of tuple.
73         (PlatformInfo._win_version): Return Version object instead of tuple, have Version
74         object own version string parsing.
75         (PlatformInfo._win_version_tuple): Renamed to _win_version().
76         (PlatformInfo._win_version_tuple_from_cmd): Deleted.
77         * Scripts/webkitpy/common/system/platforminfo_mock.py:
78         (MockPlatformInfo.xcode_sdk_version): Return Version object instead of string.
79         (MockPlatformInfo.xcode_version): Dittio.
80         * Scripts/webkitpy/common/version.py: Added.
81         (Version): Version object.
82         (Version.__init__): Initialize the Version object with a string, integer,
83         tuple of integers, list of integers or another Version object.
84         (Version.__len__): Return 5 so that the Version object can be treated as
85         a list or tuple.
86         (Version.__getitem__): Get item in Version object by index or string.
87         (Version.__setitem__): Set item in Version object by index or string.
88         (Version.__str__): Convert version to printable string, omitting trailing 0's.
89         (Version.__cmp__): Compare two version strings, major taking precedence over
90         minor, minor taking precedence over build.
91         * Scripts/webkitpy/common/version_unittest.py: Added.
92         (VersionTestCase): Test behavior of Version object.
93         * Scripts/webkitpy/port/ios.py:
94         (IOSPort.default_baseline_search_path): ios_version now returns a Version object.
95         (IOSPort._is_valid_ios_version): Deleted.
96         (IOSPort.get_option): Deleted.
97         * Scripts/webkitpy/port/ios_device.py:
98         (IOSDevicePort.determine_full_port_name): Use Version object instead of owning parsing.
99         (IOSDevicePort.ios_version): Return Version object instead of string.
100         * Scripts/webkitpy/port/ios_simulator.py:
101         (IOSSimulatorPort.simulator_runtime): Use from_version instead of from_version_string.
102         (IOSSimulatorPort.ios_version): Return Version object instead of string.
103         (IOSSimulatorPort.use_multiple_simulator_apps): Use Version object instead of string.
104         * Scripts/webkitpy/xcode/simulator.py:
105         (Runtime.from_version): Accept Version object instead of string.
106         (Runtime.from_version_string): Replaced by from_version.
107         (Runtime.__repr__): When printing, a runtime's version will be a Version object instead
108         of a tuple.
109         (Simulator._parse_runtimes): Use Version object instead of tuple.
110         (Simulator._parse_devices): Ditto.
111         * Scripts/webkitpy/xcode/simulator_unittest.py: Use Version object instead of tuples.
112
113 2017-11-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
114
115         [WinCairo] Cannot find ImageDiff executable
116         https://bugs.webkit.org/show_bug.cgi?id=179508
117
118         Reviewed by Per Arne Vollan.
119
120         * Scripts/webkitpy/port/win.py:
121         (WinPort.is_cygwin):
122         (WinPort._path_to_image_diff):
123         (WinPort.find_system_pid):
124
125 2017-11-09  Fujii Hironori  <Hironori.Fujii@sony.com>
126
127         [WinCairo EWS] svn-apply: 'cp' is not recognized as an internal or external command
128         https://bugs.webkit.org/show_bug.cgi?id=179469
129
130         Reviewed by Per Arne Vollan.
131
132         WinCairo EWS bots haven't installed Cygwin.
133
134         * Scripts/svn-apply:
135         (scmCopy): Use 'copy' function instead of 'cp' command.
136
137 2017-11-09  Carlos Alberto Lopez Perez  <clopez@igalia.com>
138
139         [WPE] Update dyz (WPE MiniBrowser)
140         https://bugs.webkit.org/show_bug.cgi?id=179492
141
142         Reviewed by Michael Catanzaro.
143
144         Update it to the last version as of today.
145         This version not longer uses the C API.
146
147         * wpe/jhbuild.modules:
148
149 2017-11-09  Christopher Reid  <chris.reid@sony.com>
150
151         Use enum classes within FileSystem
152         https://bugs.webkit.org/show_bug.cgi?id=175172
153
154         Reviewed by Darin Adler.
155
156         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
157         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
158
159 2017-11-09  Brent Fulgham  <bfulgham@apple.com>
160
161         Test fix after r224609
162         https://bugs.webkit.org/show_bug.cgi?id=178565
163         <rdar://problem/11115901>
164
165         Unreviewed test fix after r224609.
166
167         Correct two test cases that attempt to push local file URLs in violation of our
168         same origin policies. The fix is to grant universal file access, as we do for similar
169         LayoutTests.
170
171         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
172         (TestWebKitAPI::TEST):
173         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
174         (TestWebKitAPI::TEST):
175
176 2017-11-09  Michael Catanzaro  <mcatanzaro@igalia.com>
177
178         Unreviewed, remove Dan from the soup network watchlist
179
180         Per his request. It's not Hotel California; we should probably let him leave.
181
182         * Scripts/webkitpy/common/config/watchlist:
183
184 2017-11-08  Don Olmstead  <don.olmstead@sony.com>
185
186         Add Windows powershell EWS script
187         https://bugs.webkit.org/show_bug.cgi?id=179453
188
189         Reviewed by Brent Fulgham.
190
191         * EWSTools/Start-Queue.ps1: Added.
192
193 2017-11-08  Jeremy Jones  <jeremyj@apple.com>
194
195         HTMLMediaElement should not use element fullscreen on iOS
196         https://bugs.webkit.org/show_bug.cgi?id=179418
197         rdar://problem/35409277
198
199         Reviewed by Eric Carlson.
200
201         Add ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN to determine if HTMLMediaElement should use element full screen or not.
202
203         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
204
205 2017-11-08  Tim Horton  <timothy_horton@apple.com>
206
207         [ios-simulator] API test WebKit.BundleParameters is a flaky failure
208         https://bugs.webkit.org/show_bug.cgi?id=178363
209         <rdar://problem/35043144>
210
211         Reviewed by Brent Fulgham.
212
213         * TestWebKitAPI/Tests/WTF/RefCounter.cpp:
214         (TestWebKitAPI::TEST):
215         Add a test.
216
217 2017-11-08  Wenson Hsieh  <wenson_hsieh@apple.com>
218
219         [Attachment Support] Implement delegate hooks for attachment element insertion and removal
220         https://bugs.webkit.org/show_bug.cgi?id=179016
221         <rdar://problem/35250890>
222
223         Reviewed by Tim Horton.
224
225         See WebCore/ChangeLog for more details.
226
227         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
228         (-[AttachmentUpdateObserver init]):
229         (-[AttachmentUpdateObserver inserted]):
230         (-[AttachmentUpdateObserver removed]):
231         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
232         (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
233         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
234         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
235         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::observer const):
236         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
237         (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
238         (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
239         (TestWebKitAPI::TEST):
240
241 2017-11-08  Carlos Garcia Campos  <cgarcia@igalia.com>
242
243         Web Inspector: use JSON::{Array,Object,Value} instead of Inspector{Array,Object,Value}
244         https://bugs.webkit.org/show_bug.cgi?id=173619
245
246         Reviewed by Brian Burg.
247
248         Update InspectorValue unit tests to use JSON namespace and add more basic tests to cover all the API.
249
250         * TestWebKitAPI/PlatformGTK.cmake:
251         * TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp:
252         (TestWebKitAPI::TEST):
253
254 2017-11-07  Carlos Garcia Campos  <cgarcia@igalia.com>
255
256         REGRESSION(r224179): [GTK] Several WebViewEditor tests are failing since r224179
257         https://bugs.webkit.org/show_bug.cgi?id=179366
258
259         Reviewed by Michael Catanzaro.
260
261         Use always a toplevel window for WebViewEditor tests instead of creating and destroying one only to flush editor
262         state.
263
264         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
265
266 2017-11-07  Carlos Garcia Campos  <cgarcia@igalia.com>
267
268         [GTK][WPE] Build inspector resources using copy-user-interface-resources.pl script
269         https://bugs.webkit.org/show_bug.cgi?id=179317
270
271         Reviewed by Michael Catanzaro.
272
273         Move generate-inspector-gresource-manifest.py to glib dir to be shared by GTK+ and WPE ports and update it to
274         receive an input directory instead of a list of patterns.
275         File::Copy::Recursive is required by copy-user-interface-resources.pl, so make sure it's installed.
276
277         * glib/generate-inspector-gresource-manifest.py: Renamed from Tools/gtk/generate-inspector-gresource-manifest.py.
278         (get_filenames):
279         (get_filenames.should_ignore_resource):
280         * gtk/install-dependencies:
281         * wpe/generate-inspector-gresource-manifest.py: Removed.
282         * wpe/install-dependencies:
283
284 2017-11-07  Don Olmstead  <don.olmstead@sony.com>
285
286         Fix webkitpy tests after rev 224549.
287
288         Unreviewed build fix.
289
290         * Scripts/webkitpy/common/config/ports.py:
291         (WinCairoPort.run_webkit_tests_command):
292         * Scripts/webkitpy/common/config/ports_unittest.py:
293         (DeprecatedPortTest.test_wincairo_port):
294
295 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
296
297         Enable webkitpy EWS bubbles
298         https://bugs.webkit.org/show_bug.cgi?id=178539
299
300         Reviewed by Alexey Proskuryakov.
301
302         * QueueStatusServer/config/queues.py: Added webkitpy EWS.
303
304 2017-11-07  Don Olmstead  <don.olmstead@sony.com>
305
306         Add a WinCairo EWS queue
307         https://bugs.webkit.org/show_bug.cgi?id=179390
308
309         Reviewed by Lucas Forschler.
310
311         * QueueStatusServer/config/queues.py:
312         * QueueStatusServer/model/queues.py:
313         * Scripts/webkitpy/common/config/ews.json:
314         * Scripts/webkitpy/common/config/ports.py:
315         * Scripts/webkitpy/common/config/ports_unittest.py:
316         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
317
318 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
319
320         fix check-webkit-style errors in webkitpy about not having two spaces before inline comment
321         https://bugs.webkit.org/show_bug.cgi?id=171506
322
323         Reviewed by Alexey Proskuryakov.
324
325         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
326         (SCMTest._shared_test_reverse_diff): Added two spaces before inline comment.
327         (test_create_patch_is_full_patch): Ditto.
328         * Scripts/webkitpy/common/thread/messagepump.py:
329         (MessagePump): Ditto.
330         * Scripts/webkitpy/layout_tests/servers/http_server.py:
331         (Lighttpd._prepare_config): Ditto.
332         * Scripts/webkitpy/style/checker.py: Ditto.
333         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
334         (OrderOfIncludesTest.test_check_preprocessor_in_include_section): Ditto.
335
336 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
337
338         Add support for webkitpy tests EWS
339         https://bugs.webkit.org/show_bug.cgi?id=178480
340
341         Reviewed by Alexey Proskuryakov.
342
343         * Scripts/webkitpy/common/config/ews.json: Added webkitpy EWS.
344         * Scripts/webkitpy/common/net/generictestresults.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults.py.
345         * Scripts/webkitpy/common/net/generictestresults_unittest.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults_unittest.py.
346         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
347         (PatchAnalysisTask._test_patch): Do not retry webkitpy test since they are not flaky.
348         * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Updated import for BindingsTestResult.
349         * Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Ditto.
350         * Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Copied from Scripts/webkitpy/tool/bot/bindingstestresultsreader.py.
351         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
352         (AbstractEarlyWarningSystem.begin_work_queue): Added webkitpy test result reader.
353         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
354         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Run webkitpy EWS only for relevant changes.
355         * Scripts/webkitpy/tool/steps/runtests.py:
356         (RunTests.run): Run webkitpy tests when --group=webkitpy is passed.
357         (RunTests._run_webkitpy_tests): Method to invoke webkitpy tests.
358         * Scripts/webkitpy/tool/steps/steps_unittest.py:
359         (test_runtests_webkitpy): Added unit-test.
360
361 2017-11-07  Commit Queue  <commit-queue@webkit.org>
362
363         Unreviewed, rolling out r224512 and r224521.
364         https://bugs.webkit.org/show_bug.cgi?id=179388
365
366         An API test added with this change is failing an assertion on
367         the bots. (Requested by ryanhaddad on #webkit).
368
369         Reverted changesets:
370
371         "[Attachment Support] Implement delegate hooks for attachment
372         element insertion and removal"
373         https://bugs.webkit.org/show_bug.cgi?id=179016
374         https://trac.webkit.org/changeset/224512
375
376         "Remove stray logging from a newly added API test"
377         https://trac.webkit.org/changeset/224521
378
379 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
380
381         Remove stray logging from a newly added API test
382
383         This was only for debugging purposes, and should have been removed before landing.
384
385         Rubber-stamped by Tim Horton.
386
387         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
388         (TestWebKitAPI::TEST):
389
390 2017-11-06  Jonathan Bedard  <jbedard@apple.com>
391
392         Only build ImageDiff for mac
393         https://bugs.webkit.org/show_bug.cgi?id=179349
394         <rdar://problem/35376237>
395
396         Reviewed by Tim Horton.
397
398         * ImageDiff/Makefile:
399
400 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
401
402         Unreviewed, fix the internal build after updating to a newer SDK
403
404         There shouldn't be any need to include and implement these method stubs anymore,
405         even when building against the shipping iOS 11 SDK.
406
407         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
408         (-[MockDropSession session]): Deleted.
409
410 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
411
412         [Attachment Support] Implement delegate hooks for attachment element insertion and removal
413         https://bugs.webkit.org/show_bug.cgi?id=179016
414         <rdar://problem/35250890>
415
416         Reviewed by Tim Horton.
417
418         Introduces new API tests to check that various editing operations will or won't result in the new attachment
419         insertion and removal delegate hooks being fired. Additionally refactors an existing test to verify that
420         attachments insertion and removal is observable by the UI delegate.
421
422         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
423         (-[AttachmentUpdateObserver init]):
424         (-[AttachmentUpdateObserver inserted]):
425         (-[AttachmentUpdateObserver removed]):
426         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
427         (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
428         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
429         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
430         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
431
432         Implement a testing mechanism to temporarily bind a UI delegate to a given WKWebView and listen for inserted or
433         removed attachments over the course of a particular scope. The API tests use this mechanism to check that the UI
434         delegate hooks added in this patch are invoked with the right attachments when performing edit commands.
435
436         (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
437         (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
438         (TestWebKitAPI::TEST):
439
440 2017-11-06  Christopher Reid  <chris.reid@sony.com>
441
442         Use enum classes within FileSystem
443         https://bugs.webkit.org/show_bug.cgi?id=175172
444
445         Reviewed by Myles C. Maxfield.
446
447         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
448         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
449
450 2017-11-06  Michael Catanzaro  <mcatanzaro@igalia.com>
451
452         [WPE] -Wsign-compare warning in EventSenderProxyWPE.cpp
453         https://bugs.webkit.org/show_bug.cgi?id=179039
454
455         Reviewed by Žan Doberšek.
456
457         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
458         (WTR::EventSenderProxy::updateTouchPoint):
459         (WTR::EventSenderProxy::releaseTouchPoint):
460
461 2017-11-06  Robin Morisset  <rmorisset@apple.com>
462
463         Add a third benchmark to TailBench
464         https://bugs.webkit.org/show_bug.cgi?id=178815
465
466         Reviewed by Saam Barati.
467
468         Add a new benchmark to TailBench: a BF interpreter written in a weird kinda functional style
469
470         * Scripts/run-jsc-benchmarks:
471
472 2017-11-04  Michael Catanzaro  <mcatanzaro@igalia.com>
473
474         [GTK] Fix gtk-doc generation with gtk-doc master
475         https://bugs.webkit.org/show_bug.cgi?id=179252
476
477         Reviewed by Carlos Garcia Campos.
478
479         gtkdoc-scangobj has changed to no longer use a shell when executing its subcommands. In
480         particular, this means we can no longer rely on shell stuff in our run command that we use
481         to run the scanner. We currently use the RUN envvar to set LD_LIBRARY_PATH, and the end
482         result is gtkdoc-scangobj now attempts to execute our environment variable instead of the
483         scanner itself. We can just set LD_LIBRARY_PATH directly, instead of using RUN, in order to
484         make documentation generation work again.
485
486         * gtk/gtkdoc.py:
487         (GTKDoc._run_gtkdoc_scangobj):
488
489 2017-11-04  Aishwarya Nirmal  <anirmal@apple.com>
490
491         [Touch Bar Web API] Add support for menuitem tag
492         https://bugs.webkit.org/show_bug.cgi?id=179020
493
494         Reviewed by Ryosuke Niwa.
495
496         Defines flags for the menu item test so that the element is recognized
497         only while its test is being run.
498
499         * DumpRenderTree/TestOptions.h:
500         * DumpRenderTree/TestOptions.mm:
501         (TestOptions::TestOptions):
502         * DumpRenderTree/mac/DumpRenderTree.mm:
503         (setWebPreferencesForTestOptions):
504         * WebKitTestRunner/TestController.cpp:
505         (WTR::TestController::resetPreferencesToConsistentValues):
506         (WTR::updateTestOptionsFromTestHeader):
507         * WebKitTestRunner/TestOptions.h:
508         (WTR::TestOptions::hasSameInitializationOptions const):
509
510 2017-11-03  Andy Estes  <aestes@apple.com>
511
512         [iOS] Append the platform name to the product directory on all embedded platforms
513         https://bugs.webkit.org/show_bug.cgi?id=179271
514
515         Reviewed by Joseph Pecoraro.
516
517         * Scripts/webkitdirs.pm:
518         (determineConfigurationProductDir):
519
520 2017-11-03  Basuke Suzuki  <Basuke.Suzuki@sony.com>
521
522         [WinCairo] Add --wincairo option to run-webkit-tests
523         https://bugs.webkit.org/show_bug.cgi?id=179217
524
525         Reviewed by Alex Christensen.
526
527         * Scripts/webkitpy/port/factory.py:
528         (platform_options):
529
530 2017-11-03  Michael Catanzaro  <mcatanzaro@igalia.com>
531
532         [WPE][GTK] Avoid duplicating code for dist and distcheck targets
533         https://bugs.webkit.org/show_bug.cgi?id=179154
534
535         Reviewed by Carlos Garcia Campos.
536
537         Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
538         prefix because it is executable.
539
540         * Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
541
542 2017-11-03  Jonathan Bedard  <jbedard@apple.com>
543
544         TestController platformAdjustContext should use provided WKContext for Mac
545         https://bugs.webkit.org/show_bug.cgi?id=179124
546         <rdar://problem/35295176>
547
548         Reviewed by Darin Adler.
549
550         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
551         (WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
552         a WebProcessPool, instead of creating a second one.
553
554 2017-11-02  Christopher Reid  <chris.reid@sony.com>
555
556         Add a FileSystem namespace to FileSystem.cpp
557         https://bugs.webkit.org/show_bug.cgi?id=179063
558
559         Reviewed by Darin Adler.
560
561         * DumpRenderTree/win/DumpRenderTree.cpp:
562         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
563         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
564         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
565         * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
566         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
567         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
568
569 2017-11-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
570
571         [WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
572         https://bugs.webkit.org/show_bug.cgi?id=179169
573
574         Reviewed by Michael Catanzaro.
575
576         Update WPEBackend and WPEBackend-mesa to last master as of today.
577
578         * wpe/jhbuild.modules:
579
580 2017-11-02  Frederic Wang  <fwang@igalia.com>
581
582         Add references to bug 179167 in FIXME comments
583         https://bugs.webkit.org/show_bug.cgi?id=179168
584
585         Reviewed by Daniel Bates.
586
587         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
588
589 2017-11-01  Jeremy Jones  <jeremyj@apple.com>
590
591         Implement WKFullscreenWindowController for iOS.
592         https://bugs.webkit.org/show_bug.cgi?id=178924
593         rdar://problem/34697120
594
595         Reviewed by Simon Fraser.
596
597         Enable ENABLE_FULLSCREEN_API for iOS.
598
599         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
600
601 2017-11-01  Simon Fraser  <simon.fraser@apple.com>
602
603         Misc display list and other cleanup
604         https://bugs.webkit.org/show_bug.cgi?id=179150
605
606         Reviewed by Tim Horton.
607
608         Add system trace points for display list recording.
609
610         * Tracing/SystemTracePoints.plist:
611
612 2017-11-01  Stephan Szabo  <stephan.szabo@sony.com>
613
614         [Win] Detect Visual Studio 2017 location
615         https://bugs.webkit.org/show_bug.cgi?id=175275
616
617         Reviewed by Yusuke Suzuki.
618
619         * Scripts/build-jsc:
620         * Scripts/build-webkit:
621         * Scripts/update-vswhere.py: Added.
622         * Scripts/webkitdirs.pm:
623         (requireModulesForVSWhere):
624         (pickCurrentVisualStudioInstallation):
625         (pickLegacyVisualStudioInstallation):
626         (visualStudioInstallDir):
627         (visualStudioInstallDirVSWhere):
628         (visualStudioInstallDirLegacy):
629         (visualStudioInstallDirFallback):
630         (msBuildInstallDir):
631         (visualStudioVersion):
632         (visualStudioVersionFromInstallDir):
633         (generateBuildSystemFromCMakeProject):
634
635 2017-11-01  Tim Horton  <timothy_horton@apple.com>
636
637         Fix the !USE(QUICKLOOK) build
638         https://bugs.webkit.org/show_bug.cgi?id=179128
639
640         Reviewed by Wenson Hsieh.
641
642         * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
643
644 2017-11-01  Frederic Wang  <fwang@igalia.com>
645
646         Make iOS Find UI reveal matches in scrollable elements
647         https://bugs.webkit.org/show_bug.cgi?id=178789
648
649         Reviewed by Tim Horton.
650
651         This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
652
653         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
654         (WTR::UIScriptController::findString): Dummy implementation of findString.
655         * DumpRenderTree/mac/UIScriptControllerMac.mm:
656         (WTR::UIScriptController::findString): Ditto.
657         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
658         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
659         (WTR::UIScriptController::findString): Dummy implementation of findString.
660         * TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
661         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
662         (WTR::UIScriptController::findString): Implement findString by forwarding the call to the
663         web view.
664         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
665         (WTR::UIScriptController::findString): Dummy implementation of findString.
666
667 2017-11-01  Alex Christensen  <achristensen@webkit.org>
668
669         Add a test for _WKInputDelegate.willSubmitFormValues
670         https://bugs.webkit.org/show_bug.cgi?id=179086
671
672         Reviewed by Darin Adler.
673
674         Hidden input types are not included in this submission because FormSubmission::create ignores them
675         because input.isTextField() returns false.  This is existing behavior that wasn't shown by a test.
676         HTTPBodies are also not sent to WKURLSchemeHandlers.  This is existing behavior that wasn't shown by a test.
677
678         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
679         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
680         (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
681         (TEST):
682
683 2017-10-31  Ross Kirsling  <ross.kirsling@sony.com>
684
685         Web Inspector: Add Inspector menu items to Mac MiniBrowser
686         https://bugs.webkit.org/show_bug.cgi?id=65218
687
688         Reviewed by Joseph Pecoraro.
689
690         Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
691         Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.
692
693         * MiniBrowser/mac/BrowserWindowController.h:
694         * MiniBrowser/mac/BrowserWindowController.m:
695         (-[BrowserWindowController showHideWebInspector:]):
696         * MiniBrowser/mac/MainMenu.xib:
697         * MiniBrowser/mac/WK1BrowserWindowController.m:
698         (-[WK1BrowserWindowController validateMenuItem:]):
699         (-[WK1BrowserWindowController showHideWebInspector:]):
700         * MiniBrowser/mac/WK2BrowserWindowController.m:
701         (-[WK2BrowserWindowController validateMenuItem:]):
702         (-[WK2BrowserWindowController showHideWebInspector:]):
703
704 2017-10-31  Alex Christensen  <achristensen@webkit.org>
705
706         Use asynchronous ResourceHandleClient calls for WebKit1
707         https://bugs.webkit.org/show_bug.cgi?id=160677
708
709         Reviewed by Brady Eidson.
710
711         * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
712         (TestWebKitAPI::TEST):
713         The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
714         Wait until they are loaded before continuing the test.  This is a test of editing commands once the page has loaded, not a test of loading.
715
716 2017-10-31  Commit Queue  <commit-queue@webkit.org>
717
718         Unreviewed, rolling out r224143.
719         https://bugs.webkit.org/show_bug.cgi?id=179091
720
721         The patch requires non-standard perl modules in macOS and
722         breaks AWFY (Requested by yusukesuzuki on #webkit).
723
724         Reverted changeset:
725
726         "[Win] Detect Visual Studio 2017 location"
727         https://bugs.webkit.org/show_bug.cgi?id=175275
728         https://trac.webkit.org/changeset/224143
729
730 2017-10-31  Tim Horton  <timothy_horton@apple.com>
731
732         Clean up some drag and drop feature flags
733         https://bugs.webkit.org/show_bug.cgi?id=179082
734
735         Reviewed by Simon Fraser.
736
737         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
738         * TestWebKitAPI/ios/UIKitSPI.h:
739
740 2017-10-31  Tim Horton  <timothy_horton@apple.com>
741
742         Fix up some content filtering feature flags
743         https://bugs.webkit.org/show_bug.cgi?id=179079
744
745         Reviewed by Simon Fraser.
746
747         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
748         * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
749         (-[MockContentFilterEnabler initWithCoder:]):
750         (-[MockContentFilterEnabler dealloc]):
751
752 2017-10-31  Youenn Fablet  <youenn@apple.com>
753
754         rwt should allow service worker to load localhost HTTPS resources with any certificate
755         https://bugs.webkit.org/show_bug.cgi?id=179018
756
757         Reviewed by Chris Dumez.
758
759         * WebKitTestRunner/TestController.cpp:
760         (WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.
761
762 2017-10-31  Wenson Hsieh  <wenson_hsieh@apple.com>
763
764         [Attachment Support] Implement WKWebView SPI for inserting attachment elements
765         https://bugs.webkit.org/show_bug.cgi?id=179013
766         <rdar://problem/35249668>
767
768         Reviewed by Tim Horton.
769
770         Adds a new API test suite to exercise attachment element insertion and manipulation.
771
772         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
773         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.
774         (webViewForTestingAttachments):
775         (testHTMLData):
776         (testImageData):
777         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
778         (-[TestWKWebView valueOfAttribute:forQuerySelector:]):
779         (TestWebKitAPI::TEST):
780
781 2017-10-31  Alex Christensen  <achristensen@webkit.org>
782
783         Fix custom header field setting with reloads and asynchronous navigation action policy decisions
784         https://bugs.webkit.org/show_bug.cgi?id=179064
785
786         Reviewed by Tim Horton.
787
788         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
789         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
790         (TEST):
791
792 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
793
794         WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
795         https://bugs.webkit.org/show_bug.cgi?id=176719
796
797         Reviewed by Chris Dumez.
798
799         Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
800         sourceFrame parameters when the target frame of the form submission is not the source frame.
801
802         * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
803         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
804         * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:
805         (TestWebKitAPI::willSendSubmitEvent):
806         * TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
807
808 2017-10-30  Alex Christensen  <achristensen@webkit.org>
809
810         ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
811         https://bugs.webkit.org/show_bug.cgi?id=178861
812
813         Reviewed by Tim Horton.
814
815         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
816         (TestWebKitAPI::TEST_F):
817
818 2017-10-30  Commit Queue  <commit-queue@webkit.org>
819
820         Unreviewed, rolling out r224078.
821         https://bugs.webkit.org/show_bug.cgi?id=179026
822
823         MotionMark regression (Requested by shallawa on #webkit).
824
825         Reverted changeset:
826
827         "When navigating back to a page, compositing layers may not
828         use accelerated drawing"
829         https://bugs.webkit.org/show_bug.cgi?id=178749
830         https://trac.webkit.org/changeset/224078
831
832 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
833
834         [WPE] Fix build warnings
835         https://bugs.webkit.org/show_bug.cgi?id=178899
836
837         Reviewed by Carlos Alberto Lopez Perez.
838
839         * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
840         (testContextMenuDownloadActions):
841         (testBlobDownload):
842         (beforeAll):
843         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
844         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
845         (testWebViewJavaScriptDialogs):
846         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
847         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
848         * WebKitTestRunner/PlatformWPE.cmake:
849         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
850         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
851         (WTR::threadDefaultContext): Deleted.
852
853 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
854
855         [WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
856         https://bugs.webkit.org/show_bug.cgi?id=178898
857
858         Reviewed by Žan Doberšek.
859
860         This patch seems to be unused.
861
862         * wpe/jhbuild.modules:
863         * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
864
865 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
866
867         [WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
868         https://bugs.webkit.org/show_bug.cgi?id=178964
869
870         Reviewed by Carlos Alberto Lopez Perez.
871
872         * TestWebKitAPI/PlatformWPE.cmake:
873
874 2017-10-12  Frederic Wang  <fwang@igalia.com>
875
876         Remove support for running safari on the iOS simulator with Xcode < 9.0
877         https://bugs.webkit.org/show_bug.cgi?id=178203
878
879         Reviewed by Alexey Proskuryakov.
880
881         This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
882         and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
883         special case to calculate the iOS simulator applications path for these old versions.
884
885         * Scripts/webkitdirs.pm:
886         (iosSimulatorApplicationsPath): Remove special case for XCode < 9.0
887
888 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
889
890         [WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
891         https://bugs.webkit.org/show_bug.cgi?id=168219
892
893         Reviewed by Ryosuke Niwa.
894
895         Test it.
896
897         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
898         (testWebViewEditorCutCopyPasteNonEditable):
899         (testWebViewEditorCutCopyPasteEditable):
900         (testWebViewEditorSelectAllNonEditable):
901         (testWebViewEditorSelectAllEditable):
902         (loadContentsAndTryToCutSelection):
903         (testWebViewEditorNonEditable):
904         (testWebViewEditorEditorStateTypingAttributes):
905         (testWebViewEditorInsertImage):
906         (testWebViewEditorCreateLink):
907
908 2017-10-28  Michael Catanzaro  <mcatanzaro@igalia.com>
909
910         [WPE] Build gst-plugins-base without pango support
911         https://bugs.webkit.org/show_bug.cgi?id=178918
912
913         Reviewed by Carlos Garcia Campos.
914
915         We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
916         conditions so we can make platform-specific changes in the shared GStreamer moduleset.
917
918         * gstreamer/jhbuild.modules:
919         * gtk/jhbuildrc:
920         * wpe/jhbuildrc:
921
922 2017-10-27  Stephan Szabo  <stephan.szabo@sony.com>
923
924         [Win] Detect Visual Studio 2017 location
925         https://bugs.webkit.org/show_bug.cgi?id=175275
926
927         Reviewed by Per Arne Vollan.
928
929         * Scripts/build-jsc:
930         * Scripts/build-webkit:
931         * Scripts/update-vswhere.py: Added.
932         * Scripts/webkitdirs.pm:
933         (pickCurrentVisualStudioInstallation):
934         (pickLegacyVisualStudioInstallation):
935         (visualStudioInstallDir):
936         (visualStudioInstallDirVSWhere):
937         (visualStudioInstallDirLegacy):
938         (visualStudioInstallDirFallback):
939         (msBuildInstallDir):
940         (visualStudioVersion):
941         (visualStudioVersionFromInstallDir):
942         (generateBuildSystemFromCMakeProject):
943
944 2017-10-27  Devin Rousso  <webkit@devinrousso.com>
945
946         Create watchlist for files related WebInspector Recording
947         https://bugs.webkit.org/show_bug.cgi?id=178965
948
949         Reviewed by Joseph Pecoraro.
950
951         * Scripts/webkitpy/common/config/watchlist:
952
953 2017-10-27  Jonathan Bedard  <jbedard@apple.com>
954
955         Windows and WebViews are retained after re-configure
956         https://bugs.webkit.org/show_bug.cgi?id=178902
957         <rdar://problem/35211518>
958
959         Reviewed by Alexey Proskuryakov.
960
961         The test runner effectively leaks windows every time a test changes configuration.
962         We give each test it's own AutoreleasePool to fix this problem.
963
964         * WebKitTestRunner/TestController.cpp:
965         (WTR::TestController::runTest): Add an AutoRelease pool scoping a test run
966         so that when a configuration changes, the old window and WebView are released.
967
968 2017-10-27  Eric Carlson  <eric.carlson@apple.com>
969
970         NowPlayingInfo should contain a unique identifier
971         https://bugs.webkit.org/show_bug.cgi?id=178872
972         <rdar://problem/34924012>
973
974         Unreviewed, fix a flakey test.
975
976         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
977         (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Update _lastUpdatedElapsedTime.
978         (-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]): Deleted.
979
980 2017-10-27  Fujii Hironori  <Hironori.Fujii@sony.com>
981
982         autoinstall can't download from http://pypi.python.org
983         https://bugs.webkit.org/show_bug.cgi?id=178925
984
985         Reviewed by Ryosuke Niwa.
986
987         The web server pypi.python.org rejects non secure http.
988
989         * Scripts/webkitpy/thirdparty/__init__.py:
990         (AutoinstallImportHook._install_mechanize): Use https instead of http.
991         (AutoinstallImportHook._install_pep8): Ditto.
992         (AutoinstallImportHook._install_pylint): Ditto.
993         (AutoinstallImportHook._install_buildbot): Ditto.
994         (AutoinstallImportHook._install_coverage): Ditto.
995
996 2017-10-26  Fujii Hironori  <Hironori.Fujii@sony.com>
997
998         [GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
999         https://bugs.webkit.org/show_bug.cgi?id=178854
1000
1001         Reviewed by Michael Catanzaro.
1002
1003         * Scripts/webkitpy/port/base.py:
1004         (Port._debian_php_version): Return "-php7.1" if libphp7.1.so found.
1005         (Port._is_debian_php_version_7): Deleted.
1006         * gtk/install-dependencies: Install libapache2-mod-php instead of libapache2-mod-php7.0.
1007         * wpe/install-dependencies: Ditto.
1008
1009 2017-10-25  Simon Fraser  <simon.fraser@apple.com>
1010
1011         When navigating back to a page, compositing layers may not use accelerated drawing
1012         https://bugs.webkit.org/show_bug.cgi?id=178749
1013         rdar://problem/35158946
1014
1015         Reviewed by Dean Jackson.
1016
1017         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
1018         and use it to set the state of the web view.
1019
1020         * DumpRenderTree/TestOptions.h:
1021         * DumpRenderTree/TestOptions.mm:
1022         (TestOptions::TestOptions):
1023         * DumpRenderTree/mac/DumpRenderTree.mm:
1024         (setWebPreferencesForTestOptions):
1025         * WebKitTestRunner/TestController.cpp:
1026         (WTR::TestController::resetPreferencesToConsistentValues):
1027         (WTR::updateTestOptionsFromTestHeader):
1028         * WebKitTestRunner/TestOptions.h:
1029         (WTR::TestOptions::hasSameInitializationOptions const):
1030
1031 2017-10-26  Alex Christensen  <achristensen@webkit.org>
1032
1033         Move WKWebViewConfiguration validation to WKWebView construction
1034         https://bugs.webkit.org/show_bug.cgi?id=178840
1035
1036         Reviewed by Tim Horton.
1037
1038         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1039         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Added.
1040         (TEST):
1041
1042 2017-10-26  Myles C. Maxfield  <mmaxfield@apple.com>
1043
1044         Demonstrate a possible structure of the WebGPU API
1045         https://bugs.webkit.org/show_bug.cgi?id=178874
1046
1047         Reviewed by Dean Jackson.
1048
1049         Over the past few weeks, we've been putting together an example showing that a WebGPU API
1050         which has implicit barriers can work on all three low-level graphics APIs. We've implemented
1051         it on top of Vulkan first, because this is the API which has the strictest requirements and
1052         is most difficult to use.
1053
1054         With this API, this is a valid WebGPU snippet:
1055
1056         auto device = WebGPU::Device::create(hInstance, hWnd);
1057         auto& commandQueue = device->getCommandQueue();
1058         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { }, nullptr);
1059         
1060         … later, in the draw() function …
1061         
1062         auto renderPass = commandQueue->createRenderPass(nullptr);
1063         renderPass->setRenderState(renderState);
1064         renderPass->setViewport(0, 0, width, height);
1065         renderPass->setScissorRect(0, 0, width, height);
1066         renderPass->draw(3);
1067         commandQueue->commitRenderPass(std::move(renderPass));
1068         commandQueue->present();
1069
1070         This snippet doesn’t hook up any vertex attributes or resources, which means the vertex
1071         shader has to say something like ({vec4(…), vec4(…), vec4(…)})[gl_VertexIndex]. It also
1072         passes in “nullptr” when creating the render pass, which means “render to the screen, rather
1073         than to a frame buffer.” You can also see that it doesn’t attach any resources to the draw
1074         call.
1075
1076         In Direct3D 12 and Vulkan, resources are bound in sets, rather than individually. For
1077         example, a set might contain two uniform buffers, a texture, and another uniform buffer. At
1078         draw time, you swap in whole sets of resources with a single call. A shader invocation can
1079         access a collection of sets. Because all shader resource accesses are indirected through
1080         these sets, the shape of these sets needs to be supplied at the time you compile the render
1081         state. Here is a snippet which bounds a single set which contains a uniform buffer and a
1082         texture:
1083
1084         auto buffer = device->getBuffer(bufferInitialContents);
1085         auto texture = device->getTexture(buffer width, height, WebGPU::PixelFormat::RGBA8, textureInitialContents);
1086         // One resource set, which holds a single uniform buffer object and a single texture
1087         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { { WebGPU::ResourceType::UniformBufferObject, WebGPU::ResourceType::Texture } }, nullptr);
1088         
1089         … later, in the draw() function …
1090         
1091         auto renderPass = commandQueue->createRenderPass(nullptr);
1092         renderPass->setRenderState(renderState);
1093         renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()), WebGPU::TextureReference(texture.get()) });
1094         …
1095         renderPass->draw(3);
1096         commandQueue->commitRenderPass(std::move(renderPass));
1097         commandQueue->present();
1098         
1099         The first argument to the setResources() call identifies which set to populate with the supplied resources.
1100
1101         One tenant of the low-level graphics APIs is that, if you’ve enabled double buffering (or
1102         triple buffering), the GPU is executing one frame at the same time you are recording the
1103         next frame. This often means that you need duplicate resources so the CPU and GPU don’t step
1104         on each other’s toes. However, platforms have platform-specific requirements about whether
1105         or not they can be double / triple buffered, and we don’t want to expose this to the Web for
1106         fear of badly-authored programs.
1107
1108         To solve this, resources are reference counted, and the return type of getBuffer() is an
1109         RAII type called BufferHolder which increments and decrements the reference count
1110         automatically. The reference count is also incremented and decremented when the GPU is using
1111         the resource in a Pass. When the reference count reaches 0, the resource isn’t destroyed;
1112         instead, it’s simply moved to a “free list” which getBuffer() may pull from. Therefore,
1113         applications don’t need to know whether the frame buffer is double buffered or triple
1114         buffered; they can just getBuffer() each frame, and the correct number of buffers will be
1115         created and recycled.
1116         
1117         {
1118             auto buffer = device->getBuffer(bufferSize); // These get recycled
1119             … populate the buffer …
1120             auto renderPass = commandQueue->createRenderPass(nullptr);
1121             renderPass->setRenderState(renderState);
1122             renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()) });
1123             …
1124             renderPass->draw(…);
1125             commandQueue->commitRenderPass(std::move(renderPass));
1126         }
1127         commandQueue->present();
1128
1129         In Direct3D and Vulkan, vertex buffers and index buffers are not part of the resource sets
1130         mentioned above. Instead, you tell the render state about the shape of the vertex and index
1131         buffers, and you swap them out independently in the draw loop. Metal and Vulkan have almost
1132         identical API to specify this shape of the vertex buffers, so I’ve mostly copied it. In this
1133         example, we have two vertex attributes, a vec2 and a vec3, which both come from the same
1134         buffer:
1135         
1136         // { Attribute format, offset within stride, buffer to pull from }
1137         std::vector<WebGPU::RenderState::VertexAttribute> vertexAttributes = { {WebGPU::RenderState::VertexFormat::Float2, 0, 0}, {WebGPU::RenderState::VertexFormat::Float3, sizeof(float) * 2, 0} };
1138         // A single vertex buffer, with a stride of 5 floats
1139         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { sizeof(float) * 5 }, vertexAttributes, resourceTypes, nullptr);
1140         
1141         … later, in the draw() function …
1142         
1143         auto renderPass = commandQueue->createRenderPass(nullptr);
1144         renderPass->setRenderState(renderState);
1145         renderPass->setVertexAttributeBuffers({ vertexBuffer.get() }); // The one vertex buffer which both attributes pull from
1146         renderPass->setResources(…);
1147         …
1148         renderPass->draw(…);
1149         commandQueue->commitRenderPass(std::move(renderPass));
1150         commandQueue->present();
1151
1152         You can also tell the RenderState about how many render targets you have and their formats,
1153         and then when you create the RenderPass, you specify the specific textures you want to
1154         render into.
1155
1156         std::vector<WebGPU::PixelFormat> colorPixelFormats = { WebGPU::PixelFormat::RGBA8, WebGPU::PixelFormat::RGBA8 }; // Two render targets, with these formats
1157         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", vertexBufferStrides, vertexAttributes, resourceTypes, &colorPixelFormats);
1158         
1159         … later, in the draw() function …
1160         
1161         std::vector<std::reference_wrapper<WebGPU::Texture>> destinationTextures = { texture1->get(), texture2->get() };
1162         auto renderPass = commandQueue->createRenderPass(&destinationTextures);
1163         renderPass->setRenderState(renderState);
1164         …
1165         renderPass->draw(…);
1166         commandQueue->commitRenderPass(std::move(renderPass));
1167         
1168         // Now, draw one of the textures to the screen. Note that no synchronization is necessary here!
1169         auto renderPass = commandQueue->createRenderPass(nullptr);
1170         renderPass->setRenderState(renderState2);
1171         renderPass->setResources(0, { WebGPU:: TextureReference(texture1.get()) });
1172         …
1173         renderPass->draw(…);
1174         commandQueue->commitRenderPass(std::move(renderPass));
1175         commandQueue->present();
1176
1177         Just like how in Metal has Render Encoders and Compute Encoders, WebGPU has RenderPasses
1178         and ComputePasses.
1179
1180         auto& computeState = device->getComputeState(computeShader, "main", resourceTypes);
1181         …
1182         auto computePass = commandQueue->createComputePass();
1183         computePass->setComputeState(computeState);
1184         computePass->setResources(0, resources);
1185         computePass->dispatch(width, height, depth);
1186         commandQueue->commitComputePass(std::move(computePass));
1187         
1188         // Now, draw the resources we just computed. Note that no synchronization is necessary here!
1189         auto renderPass = commandQueue->createRenderPass(nullptr);
1190         renderPass->setRenderState(renderState);
1191         renderPass->setResources(0, resources });
1192         …
1193         renderPass->draw(…);
1194         commandQueue->commitRenderPass(std::move(renderPass));
1195         commandQueue->present();
1196
1197         There are also two other types of passes: one that corresponds to a Metal blit encoder, and
1198         one that allows the CPU to change the contents of GPU buffers and textures. This last kind
1199         of pass is a little interesting: you can’t just change the contents of a buffer at any time
1200         you feel like it, because that resource might be in use by the GPU. Therefore, we need to do
1201         the same kind of synchronization that we already do at render pass boundaries.
1202
1203         In addition, both Vulkan and Direct3D have a concept of a memory heap. A resource might
1204         exist inside a heap which is fast, but invisible from the CPU, or in a heap which is slow,
1205         but visible by the CPU. Certain operations are not possible from some types of images (e.g.
1206         non-tiled textures may not be able to be sampled from). The usual way to get around this
1207         problem is to have two resources: a slow staging resource which the CPU can see, and a fast
1208         resource which the CPU can’t see. Uploading data is a two-pass algorithm, where the CPU
1209         memcpy()s into the slow staging resource, and then a blit command is enqueued on the GPU to
1210         copy the contents of the staging resource to the real resource. This requires that the
1211         upload have access to the commandQueue so it can possibly enqueue a blit between the staging
1212         and real resources. Therefore, a pass is the right level of abstraction for these facilities.
1213
1214         std::queue<boost::unique_future<std::vector<uint8_t>>> futureQueue; // Promises for data downloads from the GPU
1215         
1216         … later, in the draw() function …
1217         
1218         // See if any of the previously-enqueued downloads are finished
1219         while (!futureQueue.empty() && futureQueue.front(). has_value()) {
1220             std::vector<uint8_t>& data = futureQueue.front().get();
1221             // Use the downloaded data
1222             futureQueue.pop();
1223         }
1224         …
1225         auto hostAccessPass = commandQueue->createHostAccessPass();
1226         hostAccessPass->overwriteBuffer(buffer->get(), bufferContents); // Upload data to a resource
1227         
1228         futureQueue.emplace(hostAccessPass->getBufferContents(buffer->get()));
1229         commandQueue->commitHostAccessPass(std::move(hostAccessPass));
1230         
1231         You can also issue copy commands between resources entirely on the GPU:
1232         
1233         auto blitPass = commandQueue->createBlitPass();
1234         blitPass->copyTexture(source->get(), destination->get(), sourceX, sourceY, destinationX, destinationY, width, height);
1235         commandQueue->commitBlitPass(std::move(blitPass));
1236
1237         * Scripts/webkitpy/style/checker.py:
1238         * WebGPUAPIStructure/Example/Example.cpp: Added.
1239         (readFile):
1240         (drawWebGPU):
1241         (wWinMain):
1242         (MyRegisterClass):
1243         (InitInstance):
1244         (WndProc):
1245         * WebGPUAPIStructure/Example/Example.h: Added.
1246         * WebGPUAPIStructure/Example/Example.ico: Added.
1247         * WebGPUAPIStructure/Example/Example.rc: Added.
1248         * WebGPUAPIStructure/Example/Example.vcxproj: Added.
1249         * WebGPUAPIStructure/Example/Example.vcxproj.filters: Added.
1250         * WebGPUAPIStructure/Example/Example.vcxproj.user: Added.
1251         * WebGPUAPIStructure/Example/resource.h: Added.
1252         * WebGPUAPIStructure/Example/small.ico: Added.
1253         * WebGPUAPIStructure/Example/stdafx.cpp: Added.
1254         * WebGPUAPIStructure/Example/stdafx.h: Added.
1255         * WebGPUAPIStructure/Example/targetver.h: Added.
1256         * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Added.
1257         * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Added.
1258         * WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Added.
1259         (WebGPU::BufferHolder::BufferHolder):
1260         (WebGPU::BufferHolder::~BufferHolder):
1261         (WebGPU::TextureHolder::TextureHolder):
1262         (WebGPU::TextureHolder::~TextureHolder):
1263         (WebGPU::SamplerHolder::SamplerHolder):
1264         (WebGPU::SamplerHolder::~SamplerHolder):
1265         * WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Added.
1266         (WebGPU::Queue::~Queue):
1267         (WebGPU::RenderState::~RenderState):
1268         (WebGPU::ComputeState::~ComputeState):
1269         (WebGPU::Buffer::~Buffer):
1270         (WebGPU::Texture::~Texture):
1271         (WebGPU::Sampler::~Sampler):
1272         (WebGPU::TextureReference::TextureReference):
1273         (WebGPU::TextureReference::get const):
1274         (WebGPU::SamplerReference::SamplerReference):
1275         (WebGPU::SamplerReference::get const):
1276         (WebGPU::UniformBufferObjectReference::UniformBufferObjectReference):
1277         (WebGPU::UniformBufferObjectReference::get const):
1278         (WebGPU::ShaderStorageBufferObjectReference::ShaderStorageBufferObjectReference):
1279         (WebGPU::ShaderStorageBufferObjectReference::get const):
1280         (WebGPU::RenderPass::~RenderPass):
1281         (WebGPU::ComputePass::~ComputePass):
1282         (WebGPU::BlitPass::~BlitPass):
1283         (WebGPU::HostAccessPass::~HostAccessPass):
1284         (WebGPU::BufferHolder::get):
1285         (WebGPU::TextureHolder::get):
1286         (WebGPU::SamplerHolder::get):
1287         (WebGPU::Device::~Device):
1288         * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Added.
1289         (WebGPU::BlitPassImpl::BlitPassImpl):
1290         (WebGPU::BlitPassImpl::copyTexture):
1291         * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Added.
1292         * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Added.
1293         (WebGPU::BufferImpl::BufferImpl):
1294         (WebGPU::BufferImpl::decrementReferenceCount):
1295         * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Added.
1296         (WebGPU::BufferImpl::getBuffer const):
1297         (WebGPU::BufferImpl::getDeviceMemory const):
1298         (WebGPU::BufferImpl::incrementReferenceCount):
1299         (WebGPU::BufferImpl::getLength const):
1300         * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Added.
1301         (WebGPU::ComputePassImpl::ComputePassImpl):
1302         (WebGPU::ComputePassImpl::setComputeState):
1303         (WebGPU::ComputePassImpl::setResources):
1304         (WebGPU::ComputePassImpl::dispatch):
1305         * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Added.
1306         * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Added.
1307         (WebGPU::ComputeStateImpl::ComputeStateImpl):
1308         * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Added.
1309         (WebGPU::ComputeStateImpl::getPipeline const):
1310         (WebGPU::ComputeStateImpl::getPipelineLayout const):
1311         (WebGPU::ComputeStateImpl::getDescriptorSetLayouts const):
1312         * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Added.
1313         (WebGPU::Device::create):
1314         (WebGPU::convertPixelFormat):
1315         (WebGPU::convertFormat):
1316         (WebGPU::debugReport):
1317         (WebGPU::DeviceImpl::DeviceImpl):
1318         (WebGPU::DeviceImpl::getCommandQueue):
1319         (WebGPU::DeviceImpl::prepareShader):
1320         (WebGPU::DeviceImpl::createPipelineLayout):
1321         (WebGPU::DeviceImpl::createCompatibleRenderPass):
1322         (WebGPU::convertVertexFormat):
1323         (WebGPU::DeviceImpl::getRenderState):
1324         (WebGPU::DeviceImpl::getComputeState):
1325         (WebGPU::DeviceImpl::getBuffer):
1326         (WebGPU::DeviceImpl::returnBuffer):
1327         (WebGPU::DeviceImpl::getTexture):
1328         (WebGPU::DeviceImpl::returnTexture):
1329         (WebGPU::DeviceImpl::getSampler):
1330         (WebGPU::DeviceImpl::returnSampler):
1331         (WebGPU::DeviceImpl::~DeviceImpl):
1332         * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Added.
1333         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::UniqueDebugReportCallbackEXT):
1334         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::operator=):
1335         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::~UniqueDebugReportCallbackEXT):
1336         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::destroy):
1337         (WebGPU::DeviceImpl::TextureParameters::operator== const):
1338         (WebGPU::DeviceImpl::TextureParametersHash::operator() const):
1339         * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Added.
1340         (WebGPU::HostAccessPassImpl::HostAccessPassImpl):
1341         (WebGPU::HostAccessPassImpl::overwriteBuffer):
1342         (WebGPU::HostAccessPassImpl::getBufferContents):
1343         (WebGPU::HostAccessPassImpl::execute):
1344         * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Added.
1345         (WebGPU::HostAccessPassImpl::getFinishedEvent const):
1346         * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Added.
1347         (WebGPU::PassImpl::PassImpl):
1348         (WebGPU::ResourceVisitor::operator()):
1349         (WebGPU::ResourceVisitor::getBindings const):
1350         (WebGPU::ResourceVisitor::releaseWriteDescriptorSets):
1351         (WebGPU::ResourceVisitor::getDescriptorImageInfos const):
1352         (WebGPU::ResourceVisitor::getDescriptorBufferInfos const):
1353         (WebGPU::ResourceVisitor::getBuffers const):
1354         (WebGPU::ResourceVisitor::getTextures const):
1355         (WebGPU::ResourceVisitor::getSamplers const):
1356         (WebGPU::ResourceVisitor::getImageCount const):
1357         (WebGPU::ResourceVisitor::getSamplerCount const):
1358         (WebGPU::ResourceVisitor::getUniformBufferCount const):
1359         (WebGPU::ResourceVisitor::getStorageBufferCount const):
1360         (WebGPU::PassImpl::setResources):
1361         (WebGPU::PassImpl::insertBuffer):
1362         (WebGPU::PassImpl::insertTexture):
1363         (WebGPU::PassImpl::insertSampler):
1364         * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h: Added.
1365         (WebGPU::PassImpl::getCommandBuffer const):
1366         (WebGPU::PassImpl::iterateBuffers):
1367         (WebGPU::PassImpl::iterateTextures):
1368         (WebGPU::PassImpl::ResourceReference::ResourceReference):
1369         (WebGPU::PassImpl::ResourceReference::~ResourceReference):
1370         (WebGPU::PassImpl::ResourceReference::operator=):
1371         (WebGPU::PassImpl::ResourceReference::operator== const):
1372         (WebGPU::PassImpl::ResourceReference::get const):
1373         (WebGPU::PassImpl::ResourceReference::release):
1374         (WebGPU::PassImpl::ResourceReferenceHash::operator() const):
1375         * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp: Added.
1376         (WebGPU::QueueImpl::QueueImpl):
1377         (WebGPU::QueueImpl::prepareCurrentFrame):
1378         (WebGPU::QueueImpl::createSpecificRenderPass):
1379         (WebGPU::QueueImpl::createFramebuffer):
1380         (WebGPU::QueueImpl::createRenderPass):
1381         (WebGPU::QueueImpl::commitRenderPass):
1382         (WebGPU::QueueImpl::createComputePass):
1383         (WebGPU::QueueImpl::commitComputePass):
1384         (WebGPU::QueueImpl::createBlitPass):
1385         (WebGPU::QueueImpl::commitBlitPass):
1386         (WebGPU::QueueImpl::createHostAccessPass):
1387         (WebGPU::QueueImpl::commitHostAccessPass):
1388         (WebGPU::QueueImpl::present):
1389         (WebGPU::QueueImpl::commitPass):
1390         (WebGPU::QueueImpl::synchronizeResources):
1391         (WebGPU::QueueImpl::~QueueImpl):
1392         * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h: Added.
1393         * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp: Added.
1394         (WebGPU::RenderPassImpl::RenderPassImpl):
1395         (WebGPU::RenderPassImpl::setRenderState):
1396         (WebGPU::RenderPassImpl::setVertexAttributeBuffers):
1397         (WebGPU::RenderPassImpl::setResources):
1398         (WebGPU::RenderPassImpl::setViewport):
1399         (WebGPU::RenderPassImpl::setScissorRect):
1400         (WebGPU::RenderPassImpl::draw):
1401         * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h: Added.
1402         * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp: Added.
1403         (WebGPU::RenderStateImpl::RenderStateImpl):
1404         * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h: Added.
1405         (WebGPU::RenderStateImpl::getPipeline const):
1406         (WebGPU::RenderStateImpl::getPipelineLayout const):
1407         (WebGPU::RenderStateImpl::getDescriptorSetLayouts const):
1408         * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp: Added.
1409         (WebGPU::SamplerImpl::SamplerImpl):
1410         (WebGPU::SamplerImpl::decrementReferenceCount):
1411         * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h: Added.
1412         (WebGPU::SamplerImpl::getSampler):
1413         (WebGPU::SamplerImpl::incrementReferenceCount):
1414         (WebGPU::SamplerImpl::getFilter):
1415         (WebGPU::SamplerImpl::getMipmapMode):
1416         (WebGPU::SamplerImpl::getAddressMode):
1417         * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp: Added.
1418         (WebGPU::TextureImpl::TextureImpl):
1419         (WebGPU::TextureImpl::decrementReferenceCount):
1420         * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h: Added.
1421         (WebGPU::TextureImpl::getImage const):
1422         (WebGPU::TextureImpl::getImageView const):
1423         (WebGPU::TextureImpl::getFormat const):
1424         (WebGPU::TextureImpl::incrementReferenceCount):
1425         (WebGPU::TextureImpl::getWidth const):
1426         (WebGPU::TextureImpl::getHeight const):
1427         (WebGPU::TextureImpl::getTransferredToGPU const):
1428         (WebGPU::TextureImpl::setTransferredToGPU):
1429         * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj: Added.
1430         * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters: Added.
1431         * WebGPUAPIStructure/WebGPU.sln: Added.
1432
1433 2017-10-26  Eric Carlson  <eric.carlson@apple.com>
1434
1435         NowPlayingInfo should contain a unique identifier
1436         https://bugs.webkit.org/show_bug.cgi?id=178872
1437
1438         Reviewed by Jer Noble.
1439
1440         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
1441         (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Use completion handler.
1442         (TestWebKitAPI::TEST): Cleanup tests. Use new API.
1443         (-[NowPlayingTestWebView waitForNowPlayingInfoToChange]): Deleted.
1444
1445 2017-10-26  Eric Carlson  <eric.carlson@apple.com>
1446
1447         [MediaStream] Clear cached gUM prompt state
1448         https://bugs.webkit.org/show_bug.cgi?id=178754
1449         <rdar://problem/32742356>
1450
1451         Unreviewed, fix a flakey test.
1452
1453         * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
1454         (-[GetUserMediaRepromptTestView haveStream:]): New, check several times for expected state.
1455         (TestWebKitAPI::TEST): Don't assume stream state changes in the page immediately.
1456
1457 2017-10-26  Andy Estes  <aestes@apple.com>
1458
1459         [Payment Request] Enable Payment Request whenever Apple Pay is enabled
1460         https://bugs.webkit.org/show_bug.cgi?id=178880
1461
1462         Reviewed by Tim Horton.
1463
1464         * WebKitTestRunner/TestController.cpp:
1465         (WTR::TestController::resetPreferencesToConsistentValues):
1466
1467 2017-10-26  Joseph Pecoraro  <pecoraro@apple.com>
1468
1469         Add and update some watchlists
1470         https://bugs.webkit.org/show_bug.cgi?id=178304
1471
1472         Reviewed by Simon Fraser.
1473
1474         * Scripts/webkitpy/common/config/watchlist:
1475
1476 2017-10-26  Ryan Haddad  <ryanhaddad@apple.com>
1477
1478         Unreviewed, rolling out r223984.
1479
1480         Caused LayoutTest assertion failures.
1481
1482         Reverted changeset:
1483
1484         "When navigating back to a page, compositing layers may not
1485         use accelerated drawing"
1486         https://bugs.webkit.org/show_bug.cgi?id=178749
1487         https://trac.webkit.org/changeset/223984
1488
1489 2017-10-26  Christopher Reid  <chris.reid@sony.com>
1490
1491         Remove scopeguard from platform
1492         https://bugs.webkit.org/show_bug.cgi?id=178681
1493
1494         Reviewed by Brady Eidson.
1495
1496         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
1497
1498 2017-09-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1499
1500         WebDriver: Add support to import and run W3C tests
1501         https://bugs.webkit.org/show_bug.cgi?id=177304
1502
1503         Reviewed by Brian Burg.
1504
1505         WPT has now several WebDriver tests, and new ones are going to be added to cover the whole spec. This patch
1506         adds the initial support for running W3C tests. The script import-w3c-webdriver-tests reuses parts of the W3C
1507         test downloader to download the tests and required tools from WPT repository into WebDriverTests
1508         directory. Tests can be run with run-webdriver-tests, a new script that works similar to other test runner
1509         scripts. For now it shows a summary at the end of the execution, there aren't expectations yet, since we are not
1510         ready to run those tests in the bots. Once we are ready to properly run the tests, we can add the expectations
1511         support and run the tests in the bots.
1512
1513         * Scripts/import-w3c-webdriver-tests: Added.
1514         * Scripts/run-webdriver-tests: Added.
1515         * Scripts/webkitpy/style/checker.py: Skip WebDriverTests directory since it only contains third-party python
1516         code.
1517         * Scripts/webkitpy/thirdparty/__init__.py: Add support to autodownload mozlog and mozprocess since they are
1518         required by the WebDriver tests.
1519         * Scripts/webkitpy/webdriver_tests/__init__.py: Added.
1520         * Scripts/webkitpy/webdriver_tests/webdriver_driver.py: Added.
1521         * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py: Added.
1522         * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py: Added.
1523         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Added.
1524         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: Added.
1525         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Added.
1526         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: Added.
1527
1528 2017-10-25  Eric Carlson  <eric.carlson@apple.com>
1529
1530         [MediaStream] Clear cached gUM prompt state
1531         https://bugs.webkit.org/show_bug.cgi?id=178754
1532         <rdar://problem/32742356>
1533
1534         Reviewed by Youenn Fablet.
1535
1536         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test
1537
1538         * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: Added.
1539         (-[GetUserMediaRepromptUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
1540         (-[GetUserMediaRepromptUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
1541         (TestWebKitAPI::TEST):
1542
1543         * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
1544
1545 2017-10-25  Ross Kirsling  <ross.kirsling@sony.com>
1546
1547         Add committer status for Ross Kirsling
1548         https://bugs.webkit.org/show_bug.cgi?id=178832
1549
1550         Unreviewed.
1551
1552         * Scripts/webkitpy/common/config/contributors.json:
1553
1554 2017-10-25  Simon Fraser  <simon.fraser@apple.com>
1555
1556         When navigating back to a page, compositing layers may not use accelerated drawing
1557         https://bugs.webkit.org/show_bug.cgi?id=178749
1558         rdar://problem/35158946
1559
1560         Reviewed by Dean Jackson.
1561
1562         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
1563         and use it to set the state of the web view.
1564
1565         * DumpRenderTree/TestOptions.h:
1566         * DumpRenderTree/TestOptions.mm:
1567         (TestOptions::TestOptions):
1568         * DumpRenderTree/mac/DumpRenderTree.mm:
1569         (setWebPreferencesForTestOptions):
1570         * WebKitTestRunner/TestController.cpp:
1571         (WTR::TestController::resetPreferencesToConsistentValues):
1572         (WTR::updateTestOptionsFromTestHeader):
1573         * WebKitTestRunner/TestOptions.h:
1574         (WTR::TestOptions::hasSameInitializationOptions const):
1575
1576 2017-10-25  Robin Morisset  <rmorisset@apple.com>
1577
1578         Support the TailBench9000 benchmark in run-jsc-benchmarks
1579         https://bugs.webkit.org/show_bug.cgi?id=178451
1580
1581         Reviewed by Saam Barati.
1582
1583         * Scripts/run-jsc-benchmarks:
1584
1585 2017-10-25  Adrian Perez de Castro  <aperez@igalia.com>
1586
1587         [WPE] Remove GLib API functions which use Cairo
1588         https://bugs.webkit.org/show_bug.cgi?id=178205
1589
1590         Reviewed by Michael Catanzaro.
1591
1592         Add PLATFORM(GTK) guards for the API tests (or parts of them) which use cairo_surface_t (web
1593         page snapshots and favicons) which are not available in the WPE version of the GLib API.
1594
1595         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
1596         (testNotInitialized):
1597         (testPrivateBrowsing):
1598         (testFaviconDatabase):
1599         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
1600         (testFindControllerHide):
1601         (beforeAll):
1602         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1603         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
1604
1605 2017-10-25  Zan Dobersek  <zdobersek@igalia.com>
1606
1607         Make SERVICE_WORKER feature buildable on GTK, WPE
1608         https://bugs.webkit.org/show_bug.cgi?id=178574
1609
1610         Reviewed by Carlos Garcia Campos.
1611
1612         * Scripts/webkitperl/FeatureList.pm: Add the --service-worker option
1613         that enables the SERVICE_WORKER feature flag. For now it's enabled
1614         on Apple's Cocoa ports (even when build-webkit isn't used for those
1615         builds, the flag is enabled here for consistency).
1616
1617 2017-10-24  Michael Catanzaro  <mcatanzaro@igalia.com>
1618
1619         Unreviewed, fix name of Perl LibXML package on Fedora
1620         https://bugs.webkit.org/show_bug.cgi?id=178206
1621         <rdar://problem/35028586>
1622
1623         * gtk/install-dependencies:
1624         * wpe/install-dependencies:
1625
1626 2017-10-24  Alex Christensen  <achristensen@webkit.org>
1627
1628         Selecting and right-clicking URL-like strings with IDNA-disallowed characters in host or authority causes rendering engine crash
1629         https://bugs.webkit.org/show_bug.cgi?id=174267
1630
1631         Reviewed by Tim Horton.
1632
1633         * TestWebKitAPI/Tests/WebKit/CanHandleRequest_Bundle.cpp:
1634         (TestWebKitAPI::runTest):
1635
1636 2017-10-24  Eric Carlson  <eric.carlson@apple.com>
1637
1638         Web Inspector: Enable WebKit logging configuration and display
1639         https://bugs.webkit.org/show_bug.cgi?id=177027
1640         <rdar://problem/33964767>
1641
1642         Reviewed by Joseph Pecoraro.
1643
1644         Allow new 'dumpJSConsoleLogInStdErr' test header to redirect log console output to stderr.
1645
1646         * DumpRenderTree/TestOptions.h:
1647         * DumpRenderTree/TestOptions.mm:
1648         (TestOptions::TestOptions):
1649         * DumpRenderTree/mac/DumpRenderTree.mm:
1650         (runTest):
1651         * WebKitTestRunner/TestController.cpp:
1652         (WTR::updateTestOptionsFromTestHeader):
1653         (WTR::TestController::runTest):
1654         * WebKitTestRunner/TestOptions.h:
1655         (WTR::TestOptions::hasSameInitializationOptions const):
1656
1657 2017-10-24  Alex Christensen  <achristensen@webkit.org>
1658
1659         Apply custom header fields from WebsitePolicies to same-domain requests
1660         https://bugs.webkit.org/show_bug.cgi?id=178356
1661
1662         Reviewed by Brady Eidson.
1663
1664         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1665         (expectHeaders):
1666
1667 2017-10-24  Stephan Szabo  <stephan.szabo@sony.com>
1668
1669         [Win][JSCOnly] Make jsconly build testapi and dlls and copy dlls when running tests
1670         https://bugs.webkit.org/show_bug.cgi?id=177279
1671
1672         Reviewed by Yusuke Suzuki.
1673
1674         * Scripts/build-jsc:
1675         * Scripts/run-jsc-stress-tests:
1676
1677 2017-10-23  Lucas Forschler  <lforschler@apple.com>
1678
1679         <rdar://problem/35045445>
1680         Update README to reference WebKit build archives, instead of 'nightly'
1681
1682         Reviewed by Aakash Jain.
1683
1684         * WebKitArchiveSupport/README:
1685
1686 2017-10-21  Tim Horton  <timothy_horton@apple.com>
1687
1688         Turn on ccache for Mac cmake builds by default
1689         https://bugs.webkit.org/show_bug.cgi?id=177059
1690
1691         Reviewed by Sam Weinig.
1692
1693         * ccache/ccache-clang:
1694         * ccache/ccache-wrapper: Added.
1695         Add a pass-through ccache wrapper to be used with CMake, in addition
1696         to the existing faux-clang wrappers.
1697
1698         * Scripts/build-webkit:
1699         Add --use-ccache and --no-use-ccache option, which will define
1700         WK_USE_CCACHE to YES or NO, respectively, which the underlying
1701         build systems respect. We do not define WK_USE_CCACHE if the option
1702         is not specified, because the underlying build systems have different
1703         default values.
1704
1705 2017-10-20  Aakash Jain  <aakash_jain@apple.com>
1706
1707         Do not run binding tests on multiple EWSes
1708         https://bugs.webkit.org/show_bug.cgi?id=178599
1709
1710         Reviewed by Alexey Proskuryakov. 
1711
1712         Remove old code which runs bindings tests and ignore it's result. We now have
1713         a dedicated bindings test EWS.
1714
1715         * Scripts/webkitpy/tool/steps/runtests.py:
1716         (RunTests.run): Removed bindings tests code.
1717         * Scripts/webkitpy/tool/steps/runtests_unittest.py: Updated unit-tests.
1718         (RunTestsTest.test_webkit_run_unit_tests): Ditto.
1719         * Scripts/webkitpy/tool/steps/steps_unittest.py: Ditto.
1720         * Scripts/webkitpy/tool/commands/download_unittest.py: Ditto.
1721
1722 2017-10-20  Youenn Fablet  <youenn@apple.com>
1723
1724         WebsiteDataStoreCustomPaths.mm is failing after r223718
1725         https://bugs.webkit.org/show_bug.cgi?id=178596
1726
1727         Unreviewed.
1728
1729         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1730         (TEST): Making default web site data store creation expected at the end of the test.
1731         We should probably not need need to create it.
1732         This should be fixed as a follow-up.
1733
1734 2017-10-20  Antoine Quint  <graouts@apple.com>
1735
1736         [Web Animations] Provide basic timeline and animation interfaces
1737         https://bugs.webkit.org/show_bug.cgi?id=178526
1738
1739         Reviewed by Dean Jackson.
1740
1741         Remove the WEB_ANIMATIONS compile-time flag.
1742
1743         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1744
1745 2017-10-20  Tomas Popela  <tpopela@redhat.com>
1746
1747         Missing some perl packages in install-dependencies
1748         https://bugs.webkit.org/show_bug.cgi?id=178571
1749
1750         Reviewed by Žan Doberšek.
1751
1752         Install per-version and perl-Time-HiRes so we can use build-webkit
1753         script. Also add missing backlashes.
1754
1755         * wpe/install-dependencies:
1756
1757 2017-10-20  Commit Queue  <commit-queue@webkit.org>
1758
1759         Unreviewed, rolling out r222709 and r223572.
1760         https://bugs.webkit.org/show_bug.cgi?id=178587
1761
1762         Still getting mac-wk2 EWS bots stuck (Requested by ap on
1763         #webkit).
1764
1765         Reverted changesets:
1766
1767         "Log stack-trace for run-webkit-tests when interrupted"
1768         https://bugs.webkit.org/show_bug.cgi?id=176393
1769         https://trac.webkit.org/changeset/222709
1770
1771         "webkitpy: Hang when workers write to the same stack trace
1772         file"
1773         https://bugs.webkit.org/show_bug.cgi?id=178402
1774         https://trac.webkit.org/changeset/223572
1775
1776 2017-10-19  Nan Wang  <n_wang@apple.com>
1777
1778         AX: Provide a way for Accessibility to cache the selection while retrieving rects for speak selection
1779         https://bugs.webkit.org/show_bug.cgi?id=176247
1780         <rdar://problem/34217143>
1781
1782         Reviewed by Ryosuke Niwa.
1783
1784         * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
1785         (TestWebKitAPI::TEST):
1786
1787 2017-10-19  Sam Weinig  <sam@webkit.org>
1788
1789         [Settings] Move global settings into their own file
1790         https://bugs.webkit.org/show_bug.cgi?id=178512
1791
1792         Reviewed by Darin Adler.
1793
1794         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
1795         (TestWebKitAPI::TEST):
1796
1797 2017-10-19  Andy Estes  <aestes@apple.com>
1798
1799         [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
1800         https://bugs.webkit.org/show_bug.cgi?id=178181
1801         <rdar://problem/33660282>
1802
1803         Reviewed by Dan Bernstein.
1804
1805         * WebKitTestRunner/TestController.cpp:
1806         (WTR::TestController::databaseProcessName):
1807
1808 2017-10-19  Saam Barati  <sbarati@apple.com>
1809
1810         Turn poly proto back on by default and remove the option
1811         https://bugs.webkit.org/show_bug.cgi?id=178525
1812
1813         Reviewed by Mark Lam.
1814
1815         * Scripts/run-jsc-stress-tests:
1816
1817 2017-10-18  Ryosuke Niwa  <rniwa@webkit.org>
1818
1819         Don't expose raw HTML in pasteboard to the web content
1820         https://bugs.webkit.org/show_bug.cgi?id=178422
1821
1822         Reviewed by Wenson Hsieh.
1823
1824         Added a test case for sanitizing web archive in the system pasteboard to strip privacy sensitive information
1825         such as local file paths and potentially harmful scripts like event handlers serialized by WebKit prior to r223462.
1826
1827         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
1828         (PasteWebArchive.SanitizesHTML):
1829
1830 2017-10-18  Youenn Fablet  <youenn@apple.com>
1831
1832         TestController should clear all fetch caches when resetting its state
1833         https://bugs.webkit.org/show_bug.cgi?id=178486
1834
1835         Reviewed by Chris Dumez.
1836
1837         Adding clearDOMCaches test runner method.
1838         Using that method when resetting state.
1839
1840         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1841         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1842         (WTR::TestRunner::clearDOMCaches):
1843         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1844         * WebKitTestRunner/TestInvocation.cpp:
1845         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1846
1847 2017-10-18  Chelsea Pugh  <cpugh@apple.com>
1848
1849         [iOS] Use new class name from UIKit when checking UITextSuggestion type
1850         https://bugs.webkit.org/show_bug.cgi?id=178416
1851
1852         Reviewed by Tim Horton.
1853
1854         This updates our test using/mocking out UITextAutofillSuggestion instead of UIKeyboardLoginCredentialsSuggestion.
1855
1856         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
1857         (-[UITextAutofillSuggestion initWithUsername:password:]): Copied from UIKit's implementation. This will serve as
1858         a mock of this method for builds not containingit.
1859         (+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Ditto.
1860         (TestWebKitAPI::TEST): Use +[UITextAutofillSuggestion autofillSuggestionWithUsername:password:] inline instead of
1861         helper function for creating a new suggestion.
1862         (newUIKeyboardLoginCredentialsSuggestion): Deleted.
1863
1864         * TestWebKitAPI/ios/UIKitSPI.h:
1865
1866 2017-10-18  Fujii Hironori  <Hironori.Fujii@sony.com>
1867
1868         update-webkit-auxiliary-libs can't download WebKitAuxiliaryLibrary.zip due to 403 Forbidden
1869         https://bugs.webkit.org/show_bug.cgi?id=178381
1870
1871         Reviewed by Alexey Proskuryakov.
1872
1873         The web server developer.apple.com seems to reject HTTP requests
1874         without Accept header field.
1875
1876         * Scripts/update-webkit-dependency: Add 'Accept' header field to requests.
1877
1878 2017-10-18  Aakash Jain  <aakash_jain@apple.com>
1879
1880         webkitpy tests should have --json-output option
1881         https://bugs.webkit.org/show_bug.cgi?id=178481
1882
1883         Reviewed by Alexey Proskuryakov.
1884
1885         * Scripts/webkitpy/test/main.py:
1886         (Tester._parse_args): Added json-output argument.
1887         (Tester._run_tests): Write output to json file.
1888
1889 2017-10-18  Wenson Hsieh  <wenson_hsieh@apple.com>
1890
1891         Unreviewed, rolling out r223291.
1892
1893         See WebCore ChangeLog for more detail.
1894
1895         Reverted changeset:
1896
1897         "Remove Editor::simplifyMarkup"
1898         https://bugs.webkit.org/show_bug.cgi?id=178271
1899         https://trac.webkit.org/changeset/223291
1900
1901 2017-10-18  Chris Dumez  <cdumez@apple.com>
1902
1903         Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
1904         https://bugs.webkit.org/show_bug.cgi?id=177876
1905         <rdar://problem/34813129>
1906
1907         Reviewed by Ryosuke Niwa.
1908
1909         Clear service worker registrations between test runs to avoid flakiness.
1910
1911         * WebKitTestRunner/TestController.cpp:
1912         (WTR::TestController::resetStateToConsistentValues):
1913
1914 2017-10-18  Zan Dobersek  <zdobersek@igalia.com>
1915
1916         Remove remnants of OpenWebRTC
1917         https://bugs.webkit.org/show_bug.cgi?id=178437
1918
1919         Reviewed by Alejandro G. Castro.
1920
1921         Drop OpenWebRTC packages from the GTK's Jhbuild modules file. Relevant
1922         patches are also removed.
1923
1924         * gtk/jhbuild.modules:
1925         * gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Removed.
1926         * gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Removed.
1927         * gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Removed.
1928         * gtk/patches/udpsrc-improve-timeouts.patch: Removed.
1929
1930 2017-10-17  Jonathan Bedard  <jbedard@apple.com>
1931
1932         webkitpy: Hang when workers write to the same stack trace file
1933         https://bugs.webkit.org/show_bug.cgi?id=178402
1934         <rdar://problem/35033432>
1935
1936         Reviewed by Aakash Jain.
1937
1938         Workers can hang if they all write to the same stack trace file when receiving
1939         a SIGTERM. Attach the pid to the stack trace file name so that each worker
1940         writes to a different file.
1941
1942         * Scripts/webkitpy/common/interupt_debugging.py:
1943         (log_stack_trace_on_term.handler): Name stack trace file path/<pid>-filename.
1944         (log_stack_trace_on_cntrl_c.handler): Ditto.
1945
1946 2017-10-17  John Wilander  <wilander@apple.com>
1947
1948         Add and remove cookie partition accordingly in intermediary redirect requests
1949         https://bugs.webkit.org/show_bug.cgi?id=178369
1950         <rdar://problem/34467603>
1951
1952         Reviewed by Brent Fulgham.
1953
1954         Adds the function statisticsNotifyObserver().
1955
1956         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1957         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1958         (WTR::InjectedBundle::statisticsNotifyObserver):
1959         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1960         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1961         (WTR::TestRunner::statisticsNotifyObserver):
1962         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1963
1964 2017-10-17  Youenn Fablet  <youenn@apple.com>
1965
1966         Cache API implementation should be able to compute storage size for WebKit client applications.
1967         https://bugs.webkit.org/show_bug.cgi?id=178350
1968
1969         Reviewed by Chris Dumez.
1970
1971         Adding support for a domCacheSize getter.
1972
1973         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1974         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1975         (WTR::TestRunner::domCacheSize):
1976         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1977         * WebKitTestRunner/TestController.cpp:
1978         (WTR::FetchCacheSizeForOriginCallbackContext::FetchCacheSizeForOriginCallbackContext):
1979         (WTR::fetchCacheSizeForOriginCallback):
1980         (WTR::TestController::domCacheSize):
1981         * WebKitTestRunner/TestController.h:
1982         * WebKitTestRunner/TestInvocation.cpp:
1983         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1984
1985 2017-10-17  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
1986
1987         [GStreamer][GTK][WPE] update-webkit-libs-jhbuild fails to detect changes in included moduleset files
1988         https://bugs.webkit.org/show_bug.cgi?id=178206
1989
1990         Reviewed by Michael Catanzaro.
1991
1992         The update-webkit-libs-jhbuild scripts computes MD5 sum of GTK/WPE jhbuild configuration files to check if it
1993         needs to rebuild the dependencies libraries. This patch fixes a bug when main GTK/WPE jhbuild modules
1994         configuration file includes additional files (for example GStreamer module). It parses jhbuild.modules file to
1995         check if additional files are included. If any, it computes MD5 sum for each of these included files.
1996
1997         * Scripts/update-webkit-libs-jhbuild:
1998         (getJhbuildIncludedFilePaths): New function that returns included files in jhbuild.modules
1999         (jhbuildConfigurationCheckFile): New function to check if MD5 sum file changes.
2000         (jhbuildConfigurationChanged): Add MD5 sum check for included files.
2001         (saveMd5File): New function to save MD5 sum of a file.
2002         (saveJhbuildMd5): Add saving included files MD5 sum.
2003         (deleteJhbuildMd5): Delete included files MD5 sum
2004         * gtk/install-dependencies: Add perl-libXML lib that is used to parse jhbuild file.
2005         * wpe/install-dependencies: Ditto.
2006
2007 2017-10-17  Tomas Popela  <tpopela@redhat.com>
2008
2009         Undefined WK_API_ENABLED warning when compiling COCOA content on WebKitGTK+
2010         https://bugs.webkit.org/show_bug.cgi?id=178208
2011
2012         Check whether we are on COCOA platform before checking for
2013         WK_API_ENABLED.
2014
2015         Reviewed by Ryosuke Niwa.
2016
2017         * WebKitTestRunner/TestController.cpp:
2018         (WTR::TestController::clearDOMCache):
2019
2020 2017-10-17  Keith Miller  <keith_miller@apple.com>
2021
2022         Change WebCore sources to work with unified source builds
2023         https://bugs.webkit.org/show_bug.cgi?id=178229
2024
2025         Rubber stamped by Tim Horton.
2026
2027         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2028
2029 2017-10-16  Christopher Reid  <chris.reid@sony.com>
2030
2031         [Win] Webkit should still be able to build when unable to check if libraries are up to date
2032         https://bugs.webkit.org/show_bug.cgi?id=178367
2033
2034         Adding a option to skip the check to see if windows libraries are up to date.
2035         This option is useful when testing modified libraries. This option also allows
2036         building webkit when GitHub blocks requests to verify the latest library version.
2037
2038
2039         Reviewed by Per Arne Vollan.
2040
2041         * Scripts/build-webkit:
2042
2043 2017-10-12  Matt Rajca  <mrajca@apple.com>
2044
2045         Add API support for quirk that lets an arbitrary click allow auto-play.
2046         https://bugs.webkit.org/show_bug.cgi?id=178227
2047
2048         Reviewed by Alex Christensen.
2049
2050         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2051         (TEST): Added API test.
2052
2053 2017-10-16  Maureen Daum  <mdaum@apple.com>
2054
2055         If an origin doesn't have databases in the Databases table we should still remove its information from disk in DatabaseTracker::deleteOrigin()
2056         https://bugs.webkit.org/show_bug.cgi?id=178281
2057         <rdar://problem/34576132>
2058
2059         Reviewed by Brent Fulgham.
2060
2061         Verify that if there is an entry in the Origins table but no entries in the Databases
2062         table that we still remove the directory for the origin, and that we remove the
2063         entry from the Origins table.
2064
2065         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
2066         (TestWebKitAPI::TEST):
2067
2068 2017-10-15  Ryosuke Niwa  <rniwa@webkit.org>
2069
2070         Cannot access images included in the content pasted from Microsoft Word
2071         https://bugs.webkit.org/show_bug.cgi?id=124391
2072         <rdar://problem/26862741>
2073
2074         Reviewed by Antti Koivisto.
2075
2076         Added tests for sanitizing HTML contents for copy & paste and drag & drop.
2077
2078         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2079         * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: Added.
2080         (readHTMLFromPasteboard): Added.
2081         (createWebViewWithCustomPasteboardDataEnabled): Added.
2082         (CopyHTML.Sanitizes): Added.
2083
2084         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
2085         (createWebViewWithCustomPasteboardDataEnabled): Added to enable more tests on bots.
2086
2087         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
2088         (writeRTFToPasteboard): Added.
2089         (createWebViewWithCustomPasteboardDataEnabled): Added.
2090         (createHelloWorldString): Added.
2091         (PasteRTF.ExposesHTMLTypeInDataTransfer): Added.
2092         (PasteRTFD.ExposesHTMLTypeInDataTransfer): Added.
2093         (PasteRTFD.ImageElementUsesBlobURLInHTML): Added.
2094
2095         * TestWebKitAPI/Tests/WebKitCocoa/copy-html.html: Added.
2096         * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html: Store the clipboardData contents for
2097         PasteRTF.ExposesHTMLTypeInDataTransfer and PasteRTFD.ExposesHTMLTypeInDataTransfer.
2098
2099         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2100         (DataInteractionTests.DataTransferSanitizeHTML):
2101
2102 2017-10-16  Youenn Fablet  <youenn@apple.com>
2103
2104         Activate Cache API by default
2105         https://bugs.webkit.org/show_bug.cgi?id=178186
2106
2107         Reviewed by Chris Dumez.
2108
2109         Removing explicit activation of cache api.
2110
2111         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2112         (WTR::InjectedBundle::beginTesting):
2113         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2114         (WTR::TestRunner::setCacheAPIEnabled): Deleted.
2115         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2116
2117 2017-10-16  Ross Kirsling  <ross.kirsling@sony.com>
2118
2119         run-webkit-tests help text should mention arguments too
2120         https://bugs.webkit.org/show_bug.cgi?id=178352
2121
2122         Reviewed by Tim Horton.
2123
2124         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2125         (parse_args):
2126
2127 2017-10-16  Maureen Daum  <mdaum@apple.com>
2128
2129         If we fail to delete any database file, don't remove its information from the tracker database
2130         <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
2131
2132         Reviewed by Brady Eidson.
2133
2134         Add tests that verify we correctly delete databases and remove their information from
2135         the tracker database, even if the database doesn't exist. Verify that if we fail to
2136         delete a database, we don't remove its information from the tracker database.
2137
2138         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2139         Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
2140         method for creating a temporary directory in the tests.
2141         * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
2142         The existing test was copied to DatabaseTrackerTest.mm.
2143         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
2144         (TestWebKitAPI::TEST):
2145         (TestWebKitAPI::addToDatabasesTable):
2146         (TestWebKitAPI::removeDirectoryAndAllContents):
2147         (TestWebKitAPI::createFileAtPath):
2148
2149 2017-10-16  Ryan Haddad  <ryanhaddad@apple.com>
2150
2151         Unreviewed, rolling out r223422.
2152
2153         These tests are for a change that was rolled out in r223420
2154
2155         Reverted changeset:
2156
2157         "If we fail to delete any database file, don't remove its
2158         information from the tracker database"
2159         https://bugs.webkit.org/show_bug.cgi?id=178251
2160         https://trac.webkit.org/changeset/223422
2161
2162 2017-10-16  Maureen Daum  <mdaum@apple.com>
2163
2164         If we fail to delete any database file, don't remove its information from the tracker database
2165         <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
2166
2167         Reviewed by Brady Eidson.
2168
2169         Add tests that verify we correctly delete databases and remove their information from
2170         the tracker database, even if the database doesn't exist. Verify that if we fail to
2171         delete a database, we don't remove its information from the tracker database.
2172
2173         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2174         Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
2175         method for creating a temporary directory in the tests.
2176         * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
2177         The existing test was copied to DatabaseTrackerTest.mm.
2178         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
2179         (TestWebKitAPI::TEST):
2180         (TestWebKitAPI::addToDatabasesTable):
2181         (TestWebKitAPI::removeDirectoryAndAllContents):
2182         (TestWebKitAPI::createFileAtPath):
2183
2184 2017-10-16  David Kilzer  <ddkilzer@apple.com>
2185
2186         Add RELEASE_ASSERT_WITH_SECURITY_IMPLICATION() macro
2187         <https://webkit.org/b/178269>
2188
2189         Reviewed by Alex Christensen.
2190
2191         * Scripts/webkitpy/style/checkers/cpp.py:
2192         (check_language): Add checker to warn about using
2193         ASSERT_WITH_SECURITY_IMPLICATION().
2194         (CppChecker.categories): Add 'security/assertion' to list of
2195         enabled checkers.
2196         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
2197         (CppStyleTest.test_debug_security_assertion): Add tests for
2198         new checker.
2199
2200 2017-10-16  Chris Dumez  <cdumez@apple.com>
2201
2202         Clicks on Link with download attribute causes all (other) links to trigger download when clicked
2203         https://bugs.webkit.org/show_bug.cgi?id=178267
2204         <rdar://problem/34985016>
2205
2206         Reviewed by Darin Adler.
2207
2208         Use PassThrough policy in WKTR's InjectedBundle's decidePolicyForNewWindowAction so that the
2209         request is sent to the UIProcess. This gets WKTR's closer to Safari behavior and helps
2210         reproduce the bug. Without this change, I would not be able to write a regression test for
2211         this bug that is very easily reproducible in Safari.
2212
2213         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2214         (WTR::InjectedBundlePage::decidePolicyForNewWindowAction):
2215
2216 2017-10-16  Emilio Cobos Álvarez  <emilio@crisal.io>
2217
2218         Add Emilio Cobos Álvarez to the contributors list.
2219         https://bugs.webkit.org/show_bug.cgi?id=178334
2220
2221         Reviewed by Antti Koivisto.
2222
2223         * Scripts/webkitpy/common/config/contributors.json:
2224
2225 2017-10-07  Maciej Stachowiak  <mjs@apple.com>
2226
2227         Improve --help documentation and add --list-plans to show available benchmarks.
2228         https://bugs.webkit.org/show_bug.cgi?id=178059
2229
2230         Reviewed by Ryosuke Niwa.
2231
2232         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
2233         (BenchmarkRunner.available_plans): New function that returns the list of available plans.
2234         (BenchmarkRunner.plan_directory): New method to centralize knowledge of where the plan files live.
2235         (BenchmarkRunner._find_plan_file): Updated to use BenchmarkRunner.plan_directory
2236
2237         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
2238         
2239         (parse_args): Help cleanup: Reordered options to put more common
2240         ones at the top. Fixed wording. Added help for each
2241         option. Explained default for each option that has one.
2242
2243         New option: --list-plans which tells you the available benchmarks.
2244         
2245         Code cleanup: Removed use of dest where redundant, made variable
2246         names conforming to Python coding style.
2247         
2248         (run_benchmark_plan): Adapted for new variable names.
2249         (list_benchmark_plans): New helper for --list-plans option.
2250         (start): Account for --list-plans. Also use
2251         BechmarkRunner.available_plans and use
2252         BenchmarkRunner.plan_directory instead of duplicating
2253         code/knowledge here.
2254
2255 2017-10-16  Wenson Hsieh  <wenson_hsieh@apple.com>
2256
2257         On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
2258         https://bugs.webkit.org/show_bug.cgi?id=178301
2259         <rdar://problem/34990050>
2260
2261         Reviewed by Darin Adler.
2262
2263         Fixes issues in DumpRenderTree's LocalPasteboard to ensure that drag-drop-href-as-url.html exposes files, and
2264         also adds a new iOS drag and drop API test.
2265
2266         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2267         (-[LocalPasteboard addTypes:owner:]):
2268         (-[LocalPasteboard setData:forType:]):
2269
2270         Fixes LocalPasteboard's implementation of changeCount to incremement when the pasteboard owner changes, rather
2271         than every time data is changed. This is consistent with NSPasteboard behavior.
2272
2273         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2274         (TestWebKitAPI::TEST):
2275
2276         Adds a new API test to verify that an image and HTTP URL written by the platform is correctly web exposed.
2277
2278 2017-10-15  Darin Adler  <darin@apple.com>
2279
2280         UTF-8 decoding produces one replacement character per byte; Encoding standard requires one replacement character per illegal sequence instead
2281         https://bugs.webkit.org/show_bug.cgi?id=178207
2282
2283         Reviewed by Sam Weinig.
2284
2285         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added test.
2286         * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Added.
2287         (TestWebKitAPI::decodeHexTestBytes): Decodes a string so we can write readable tests.
2288         (TestWebKitAPI::escapeNonPrintableASCIICharacters): Encodes a string so we can write readable tests.
2289         (TestWebKitAPI::TEST): Added some UTF-8 tests and UTF-8 invalid sequences tests.
2290         Would be smart to add more tests for other cases, exercising the fast ASCII loop for example, and
2291         other encodings.
2292
2293 2017-10-14  Adrian Perez de Castro  <aperez@igalia.com>
2294
2295         [WPE] JHBuild build directory DependenciesWPE/Build is not removed by update-webkit-libs-jhbuild
2296         https://bugs.webkit.org/show_bug.cgi?id=178212
2297
2298         Reviewed by Michael Catanzaro.
2299
2300         * Scripts/update-webkit-libs-jhbuild:
2301         (cleanJhbuild): The WPE JHBuild also uses a separate "Build" subdirectory, so do not skip
2302         cleaning it when "--wpe" is passed to the script.
2303
2304 2017-10-13  Adrian Perez de Castro  <aperez@igalia.com>
2305
2306         [WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
2307         https://bugs.webkit.org/show_bug.cgi?id=178283
2308
2309         Reviewed by Žan Doberšek.
2310
2311         * wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise
2312         compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.
2313
2314 2017-10-13  Youenn Fablet  <youenn@apple.com>
2315
2316         Implement listing origins for which CacheStorage is storing data
2317         https://bugs.webkit.org/show_bug.cgi?id=178236
2318
2319         Reviewed by Chris Dumez.
2320
2321         Adding hasDOMCache API for checking whether origin is storing data through Cache API.
2322
2323         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2324         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2325         (WTR::TestRunner::hasDOMCache):
2326         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2327         * WebKitTestRunner/TestController.cpp:
2328         (WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
2329         (WTR::fetchCacheOriginsCallback):
2330         (WTR::TestController::hasDOMCache):
2331         * WebKitTestRunner/TestController.h:
2332         * WebKitTestRunner/TestInvocation.cpp:
2333         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2334
2335 2017-10-13  Alex Christensen  <achristensen@webkit.org>
2336
2337         Remove Editor::simplifyMarkup
2338         https://bugs.webkit.org/show_bug.cgi?id=178271
2339
2340         Reviewed by Wenson Hsieh.
2341
2342         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2343         * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
2344
2345 2017-10-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2346
2347         [GLib] WebKitNavigationAction should tell whether it is a redirect
2348         https://bugs.webkit.org/show_bug.cgi?id=178178
2349
2350         Test that WebKitNavigationAction properly reports being a redirect.
2351
2352         Reviewed by Carlos Garcia Campos.
2353
2354         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
2355         (testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
2356         (serverCallback): add a /redirect path to the server, which causes a redirect.
2357
2358 2017-10-13  Chris Dumez  <cdumez@apple.com>
2359
2360         Unreviewed, fix webkitpy failure after r223273
2361
2362         * Scripts/webkitpy/w3c/test_importer_unittest.py:
2363         (TestImporterTest.test_harnesslinks_conversion):
2364
2365 2017-10-12  Chris Dumez  <cdumez@apple.com>
2366
2367         import-w3c-tests modifies test sources and sometimes causes them to fail
2368         https://bugs.webkit.org/show_bug.cgi?id=178234
2369
2370         Reviewed by Ryosuke Niwa.
2371
2372         Update import-w3c-tests to stop rewriting tests as this is causing some tests
2373         to fail unexpectedly.
2374
2375         * Scripts/webkitpy/w3c/test_importer.py:
2376         (TestImporter.import_tests):
2377
2378 2017-10-12  Youenn Fablet  <youenn@apple.com>
2379
2380         Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
2381         https://bugs.webkit.org/show_bug.cgi?id=178200
2382
2383         Reviewed by Chris Dumez.
2384
2385         Making clearDOMCache wait for removal completion to exit.
2386         This removes the risk to interact with the cache while deleting it which will end up be racy in tests.
2387
2388         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2389         (WTR::TestRunner::clearDOMCache):
2390         * WebKitTestRunner/TestController.cpp:
2391         (WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
2392         (WTR::clearDOMCacheCallback):
2393         (WTR::TestController::clearDOMCache):
2394         * WebKitTestRunner/TestInvocation.cpp:
2395         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2396         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2397
2398 2017-10-12  John Wilander  <wilander@apple.com>
2399
2400         ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
2401         https://bugs.webkit.org/show_bug.cgi?id=175257
2402         <rdar://problem/33359866>
2403
2404         Reviewed by Brent Fulgham.
2405
2406         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2407         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2408         (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
2409         (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
2410         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2411         * WebKitTestRunner/TestController.cpp:
2412         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2413             Not implemented.
2414         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2415             Not implemented.
2416         * WebKitTestRunner/TestController.h:
2417         * WebKitTestRunner/TestInvocation.cpp:
2418         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2419         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2420         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2421             Implemented platform-specific.
2422         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2423             Implemented platform-specific.
2424
2425 2017-10-12  Andy Estes  <aestes@apple.com>
2426
2427         [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
2428         https://bugs.webkit.org/show_bug.cgi?id=178181
2429         <rdar://problem/33660282>
2430
2431         Reviewed by Dan Bernstein.
2432
2433         * WebKitTestRunner/TestController.cpp:
2434         (WTR::TestController::databaseProcessName):
2435
2436 2017-10-12  Myles C. Maxfield  <mmaxfield@apple.com>
2437
2438         Emit SPIR-V from WSL compiler (Part 1)
2439         https://bugs.webkit.org/show_bug.cgi?id=177998
2440
2441         Reviewed by Filip Pizlo.
2442
2443         This patch implements the first half of a SPIR-V codegen phase for WSL.
2444         This includes all the operations which aren't actually emitting the contents
2445         of functions themselves. For example, this includes things like representing
2446         WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
2447         future patch will actually emit the contents of functions.
2448
2449         There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
2450         types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
2451         input and output variables from a shader (and assigns location values to
2452         each one).
2453
2454         This patch is currently pursuing the "logical mode" detailed in
2455         https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
2456         array reference operation can be statically traced to the variable or array it
2457         is operating on.
2458
2459         This has the interesting property where accessing a pointer inside an array is
2460         forbidden, because the array index may be computed at runtime, so the compiler
2461         can't know at compile time which variable the pointer operation will be
2462         accessing. However, this isn't true for structs; the program must statically
2463         state which struct member it is accessing. Therefore, pointers or array
2464         references must not transitively appear within an array, but they may appear
2465         within a struct. The same logic applies to array references; those get lowered
2466         to just two indexes in SPIR-V (a lower bound and an upper bound).
2467
2468         So, outside of an array, SPIR-V types don't need to include any pointers because
2469         any operation with the pointer doesn't need access to the runtime value of the
2470         pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
2471         will never include any pointers.
2472
2473         This means that, for example, WSL can represent a linked list in logical mode.
2474         However, a WSL program cannot iterate across the list, because that would require
2475         assigning to a pointer. So instead, a program using a linked list could only say
2476         something like "list.ptr->ptr->ptr->value".
2477
2478         * WebGPUShadingLanguageRI/LateChecker.js:
2479         (LateChecker.prototype._checkShaderType):
2480         * WebGPUShadingLanguageRI/SPIR-V.js:
2481         (SPIRV.OperandChecker.prototype._isStar):
2482         (SPIRV.OperandChecker.prototype.nextComparisonType):
2483         (SPIRV.OperandChecker.prototype.finalize):
2484         (SPIRV.OperandChecker):
2485         * WebGPUShadingLanguageRI/SPIRV.html:
2486         * WebGPUShadingLanguageRI/SPIRVCodegen.js: Added.
2487         (findEntryPoints):
2488         (emitTypes.doEmitTypes):
2489         (emitTypes):
2490         (ConstantFinder.prototype.visitGenericLiteralType):
2491         (ConstantFinder):
2492         (generateSPIRV):
2493         * WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Added.
2494         (SPIRVTypeAnalyzer):
2495         (SPIRVTypeAnalyzer.prototype.get program):
2496         (SPIRVTypeAnalyzer.prototype.get typeMap):
2497         (SPIRVTypeAnalyzer.prototype.get currentId):
2498         (SPIRVTypeAnalyzer.prototype.get stack):
2499         (SPIRVTypeAnalyzer.prototype.visitTypeRef):
2500         (SPIRVTypeAnalyzer.prototype._encounterType):
2501         (SPIRVTypeAnalyzer.prototype.visitNullType):
2502         (SPIRVTypeAnalyzer.prototype.visitGenericLiteralType):
2503         (SPIRVTypeAnalyzer.prototype.visitNativeType):
2504         (SPIRVTypeAnalyzer.prototype.visitEnumType):
2505         (SPIRVTypeAnalyzer.prototype.visitPtrType):
2506         (SPIRVTypeAnalyzer.prototype.visitArrayRefType):
2507         (SPIRVTypeAnalyzer.prototype.visitArrayType):
2508         (SPIRVTypeAnalyzer.prototype.visitStructType):
2509         * WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Added.
2510         (SPIRVPrimitiveVariableAnalyzer):
2511         (SPIRVPrimitiveVariableAnalyzer.prototype.get program):
2512         (SPIRVPrimitiveVariableAnalyzer.prototype.get typeMap):
2513         (SPIRVPrimitiveVariableAnalyzer.prototype.get currentId):
2514         (SPIRVPrimitiveVariableAnalyzer.prototype.get currentLocation):
2515         (SPIRVPrimitiveVariableAnalyzer.prototype.get nameComponents):
2516         (SPIRVPrimitiveVariableAnalyzer.prototype.get result):
2517         (SPIRVPrimitiveVariableAnalyzer.prototype.visitTypeRef):
2518         (SPIRVPrimitiveVariableAnalyzer.prototype.visitNullType):
2519         (SPIRVPrimitiveVariableAnalyzer.prototype.visitGenericLiteralType):
2520         (SPIRVPrimitiveVariableAnalyzer.prototype.visitNativeType):
2521         (SPIRVPrimitiveVariableAnalyzer.prototype.visitEnumType):
2522         (SPIRVPrimitiveVariableAnalyzer.prototype.visitPtrType):
2523         (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayRefType):
2524         (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayType):
2525         (SPIRVPrimitiveVariableAnalyzer.prototype.visitStructType):
2526         * WebGPUShadingLanguageRI/WSL.md:
2527         * WebGPUShadingLanguageRI/index.html:
2528
2529 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
2530
2531         Enable gigacage on iOS
2532         https://bugs.webkit.org/show_bug.cgi?id=177586
2533
2534         Reviewed by JF Bastien.
2535         
2536         Add a mode to test disabling Gigacage.
2537
2538         * Scripts/run-jsc-stress-tests:
2539         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2540
2541 2017-10-11  Sam Weinig  <sam@webkit.org>
2542
2543         Remove out-parameter variants of copyToVector
2544         https://bugs.webkit.org/show_bug.cgi?id=178155
2545
2546         Reviewed by Tim Horton.
2547
2548         * DumpRenderTree/JavaScriptThreading.cpp:
2549         (stopJavaScriptThreads):
2550
2551 2017-10-12  Sam Weinig  <sam@webkit.org>
2552
2553         It should be possible to iterate just the values (and not the counts) of a HashCountedSet
2554         https://bugs.webkit.org/show_bug.cgi?id=178169
2555
2556         Reviewed by Daniel Bates.
2557
2558         * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
2559         (TestWebKitAPI::TEST):
2560         Add test for HashCountedSet's new values() range.
2561
2562 2017-10-11  Frederic Wang  <fwang@igalia.com>
2563
2564         run-safari --ios-simulator is no longer working with Xcode 9
2565         https://bugs.webkit.org/show_bug.cgi?id=177595
2566
2567         Reviewed by Daniel Bates.
2568
2569         In Xcode 9, the path of the simulator application is now in a new CoreSimulator subdirectory
2570         of the iphoneOS SDK platform. This patch updates webkitdirs.pm to use the new path in
2571         Xcode 9 or higher so that it is possible to run Safari on the iOS simulator again. It also
2572         does some minor code refactoring to improve code reuse.
2573
2574         * Scripts/configure-xcode-for-ios-development: Move sdkDirectory() and sdkPlatformDirectory()
2575         into webkitdirs.
2576         (sdkDirectory): Deleted.
2577         (sdkPlatformDirectory): Deleted.
2578         * Scripts/webkitdirs.pm: Expose new sdkDirectory() and sdkPlatformDirectory().
2579         (sdkDirectory): Moved from configure-xcode-for-ios-development.
2580         (sdkPlatformDirectory): Ditto.
2581         (XcodeSDKPath): Rely on sdkDirectory() to implement this function.
2582         (iosSimulatorApplicationsPath): In Xcode 9 or higher use the new path. It is calculated
2583         by relying on sdkPlatformDirectory().
2584
2585 2017-10-11  Dewei Zhu  <dewei_zhu@apple.com>
2586
2587         run-benchmark script should set '__XPC_DYLD_FRAMEWORK_PATH' while launching local-built Safari on Mac.
2588         https://bugs.webkit.org/show_bug.cgi?id=178199
2589
2590         Reviewed by Saam Barati.
2591
2592         '__XPC_DYLD_FRAMEWORK_PATH' should be set while launching Safari on run-benchmark script.
2593         'force_remove' function should support both file and directory.
2594
2595         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
2596         (OSXSafariDriver.launch_url):
2597         * Scripts/webkitpy/benchmark_runner/utils.py:
2598         (force_remove):
2599
2600 2017-10-11  Saam Barati  <sbarati@apple.com>
2601
2602         Runtime disable poly proto because it may be a 3-4% Speedometer regression
2603         https://bugs.webkit.org/show_bug.cgi?id=178192
2604
2605         Reviewed by JF Bastien.
2606
2607         * Scripts/run-jsc-stress-tests:
2608
2609 2017-10-11  Youenn Fablet  <youenn@apple.com>
2610
2611         Add API to clean CacheStorage data
2612         https://bugs.webkit.org/show_bug.cgi?id=178034
2613
2614         Reviewed by Chris Dumez.
2615
2616         Adding internals API to trigger deleting all or origin-persistent cache storage persistent data. 
2617
2618         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2619         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2620         (WTR::TestRunner::clearDOMCache):
2621         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2622         * WebKitTestRunner/TestController.cpp:
2623         (WTR::TestController::clearDOMCache):
2624         * WebKitTestRunner/TestController.h:
2625         * WebKitTestRunner/TestInvocation.cpp:
2626         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2627
2628 2017-10-11  Chris Dumez  <cdumez@apple.com>
2629
2630         [Geolocation] Expose Coordinates.floorLevel
2631         https://bugs.webkit.org/show_bug.cgi?id=178173
2632         <rdar://problem/34918936>
2633
2634         Reviewed by Ryosuke Niwa.
2635
2636         Add test infrastructure for testing Coordinates.floorLevel.
2637
2638         * DumpRenderTree/TestRunner.cpp:
2639         (setMockGeolocationPositionCallback):
2640         * DumpRenderTree/TestRunner.h:
2641         * DumpRenderTree/mac/TestRunnerMac.mm:
2642         (TestRunner::setMockGeolocationPosition):
2643         * DumpRenderTree/win/TestRunnerWin.cpp:
2644         (TestRunner::setMockGeolocationPosition):
2645         * WebKitTestRunner/GeolocationProviderMock.cpp:
2646         (WTR::GeolocationProviderMock::setPosition):
2647         * WebKitTestRunner/GeolocationProviderMock.h:
2648         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2649         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2650         (WTR::InjectedBundle::setMockGeolocationPosition):
2651         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2652         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2653         (WTR::TestRunner::setMockGeolocationPosition):
2654         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2655         * WebKitTestRunner/TestController.cpp:
2656         (WTR::TestController::setMockGeolocationPosition):
2657         * WebKitTestRunner/TestController.h:
2658         * WebKitTestRunner/TestInvocation.cpp:
2659         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2660
2661 2017-10-11  Youenn Fablet  <youenn@apple.com>
2662
2663         Bump default cache storage quota to 20MB
2664         https://bugs.webkit.org/show_bug.cgi?id=178132
2665
2666         Reviewed by Alex Christensen.
2667
2668         * WebKitTestRunner/TestController.cpp:
2669         (WTR::TestController::generateContextConfiguration const):
2670         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2671         (WTR::initializeWebViewConfiguration): Setting quota to 400kb
2672
2673 2017-10-11  Commit Queue  <commit-queue@webkit.org>
2674
2675         Unreviewed, rolling out r223113 and r223121.
2676         https://bugs.webkit.org/show_bug.cgi?id=178182
2677
2678         Reintroduced 20% regression on Kraken (Requested by rniwa on
2679         #webkit).
2680
2681         Reverted changesets:
2682
2683         "Enable gigacage on iOS"
2684         https://bugs.webkit.org/show_bug.cgi?id=177586
2685         https://trac.webkit.org/changeset/223113
2686
2687         "Use one virtual allocation for all gigacages and their
2688         runways"
2689         https://bugs.webkit.org/show_bug.cgi?id=178050
2690         https://trac.webkit.org/changeset/223121
2691
2692 2017-10-11  Ryosuke Niwa  <rniwa@webkit.org>
2693
2694         Sanitize URL in pasteboard for other applications and cross origin content
2695         https://bugs.webkit.org/show_bug.cgi?id=178060
2696         <rdar://problem/34874518>
2697
2698         Reviewed by Wenson Hsieh.
2699
2700         Added API tests for sanitizing URLs copied from web content, and that the original URL is exposed to the web content.
2701
2702         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2703         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: Added.
2704         (readURLFromPasteboard): A helper function.
2705         * TestWebKitAPI/Tests/WebKitCocoa/copy-url.html: Added.
2706         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2707         (DataInteractionTests.DataTransferGetDataWhenDroppingCustomData): Rebaselined. https://www.apple.com is no longer
2708         normalized to https://www.apple.com/ by NSURL / UIPasteboard as expected.
2709         (DataInteractionTests.DataTransferSetDataValidURL): Added.
2710         (DataInteractionTests.DataTransferSetDataUnescapedURL): Added.
2711         (DataInteractionTests.qDataTransferSetDataInvalidURL): Added.
2712
2713 2017-10-11  Chris Dumez  <cdumez@apple.com>
2714
2715         Modernize Geolocation code
2716         https://bugs.webkit.org/show_bug.cgi?id=178148
2717
2718         Reviewed by Ryosuke Niwa.
2719
2720         * DumpRenderTree/mac/TestRunnerMac.mm:
2721         (TestRunner::setMockGeolocationPosition):
2722
2723 2017-10-11  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
2724
2725         [GStreamer] Many media source tests crashing with GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0' failed in gst_qtdemux_configure_stream()
2726         https://bugs.webkit.org/show_bug.cgi?id=176804
2727
2728         Reviewed by Michael Catanzaro.
2729
2730         Add patch to fix assert in qtdemux.
2731
2732         * gstreamer/jhbuild.modules:
2733         * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added.
2734
2735 2017-10-11  Tomas Popela  <tpopela@redhat.com>
2736
2737         Use https for trac changeset and browser links
2738         https://bugs.webkit.org/show_bug.cgi?id=178167
2739
2740         Reviewed by Alexey Proskuryakov.
2741
2742         Switch the http://trac.webkit.org/changeset and
2743         http://trac.webkit.org/browser links that are printed by webkitpy to
2744         https. Also update the test expectations.
2745
2746         * Scripts/webkitpy/common/checkout/checkout_unittest.py:
2747         * Scripts/webkitpy/common/config/committervalidator_unittest.py:
2748         (CommitterValidatorTest.test_flag_permission_rejection_message):
2749         * Scripts/webkitpy/common/config/urls.py:
2750         (view_source_url):
2751         (view_revision_url):
2752         * Scripts/webkitpy/common/net/bugzilla/bug_unittest.py:
2753         (BugTest.test_commit_revision):
2754         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
2755         * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
2756         * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
2757         (MainTest):
2758         (MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
2759         * Scripts/webkitpy/style/checkers/changelog_unittest.py:
2760         (ChangeLogCheckerTest.test_missing_bug_number):
2761         * Scripts/webkitpy/tool/bot/feeders_unittest.py:
2762         * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
2763         * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
2764         (IRCBotTest.test_rollout):
2765         (IRCBotTest.test_revert):
2766         (IRCBotTest.test_multi_rollout):
2767         (IRCBotTest.test_rollout_with_r_in_svn_revision):
2768         (IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
2769         (IRCBotTest.test_rollout_invalidate_reason):
2770         (test_multi_rollout_invalidate_reason):
2771         * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
2772         * Scripts/webkitpy/tool/commands/download_unittest.py:
2773         * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
2774         * Scripts/webkitpy/tool/commands/queues_unittest.py:
2775         * Scripts/webkitpy/tool/commands/suggestnominations.py:
2776         (SuggestNominations._count_commit):
2777         * Scripts/webkitpy/tool/commands/upload_unittest.py:
2778         * Scripts/webkitpy/tool/servers/data/rebaselineserver/util.js:
2779         (getTracUrl):
2780         (getSortedKeys):
2781         * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
2782         (CloseBugForLandDiffTest.test_empty_state):
2783         * Scripts/webkitpy/tool/steps/commit_unittest.py:
2784         (CommitTest._test_check_test_expectations):
2785         * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
2786         (UpdateChangeLogsForRevertTest):
2787
2788 2017-10-10  Ryosuke Niwa  <rniwa@webkit.org>
2789
2790         Enable custom pasteboard data in DumpRenderTree and WebKitTestRunner
2791         https://bugs.webkit.org/show_bug.cgi?id=178154
2792
2793         Reviewed by Wenson Hsieh.
2794
2795         Fixed the bug that LocalPasteboard would fail to load the promise type if data is set after declaring types
2796         by delaying the call to provideDataForType until when dataForType is called.
2797
2798         Without this fix, fast/events/dropzone-002.html would start failing after enabling custom pasteboard data.
2799         With this fix, fast/events/dropzone-005.html also starts passing.
2800
2801         * DumpRenderTree/mac/DumpRenderTree.mm:
2802         (resetWebPreferencesToConsistentValues):
2803         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2804         (-[LocalPasteboard addTypes:owner:]):
2805         (-[LocalPasteboard dataForType:]):
2806         * WebKitTestRunner/TestController.cpp:
2807         (WTR::TestController::resetPreferencesToConsistentValues):
2808
2809 2017-10-10  Joanmarie Diggs  <jdiggs@igalia.com>
2810
2811         AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM
2812         https://bugs.webkit.org/show_bug.cgi?id=178137
2813
2814         Reviewed by Chris Fleizach.
2815
2816         Add handling for ATK_ROLE_LANDMARK resulting from the ARIA form role.
2817
2818         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2819
2820 2017-10-10  Jonathan Bedard  <jbedard@apple.com>
2821
2822         run-webkit-tests: upload test results to multiple servers
2823         https://bugs.webkit.org/show_bug.cgi?id=178012
2824         <rdar://problem/34856501>
2825
2826         Reviewed by Lucas Forschler.
2827
2828         Allowing uploading of results to multiple servers makes developing new results
2829         databases much easier, and does not complicate uploading logic.
2830
2831         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2832         (Manager.upload_results): Iterate through the list of results server hosts and
2833         send results to each one.
2834         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
2835         (JSONLayoutResultsGenerator.__init__): Accept a list of test results servers.
2836         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
2837         (JSONResultsGenerator.__init__): Accept a list of test results servers.
2838         (JSONResultsGenerator.get_json): Pick which server to download from by index.
2839         (JSONResultsGenerator.upload_json_files): Upload the JSON to each results server.
2840         (JSONResultsGenerator._get_archived_json_results): Pick which server to download from.
2841         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2842         (parse_args): Allow multiple test-results-servers and results-server-hosts to be
2843         passed to run-webkit-tests. 
2844
2845 2017-10-09  Youenn Fablet  <youenn@apple.com>
2846
2847         Vector should be able to easily create from a list of movable only items
2848         https://bugs.webkit.org/show_bug.cgi?id=176432
2849
2850         Reviewed by Darin Adler.
2851
2852         * TestWebKitAPI/Tests/WTF/Vector.cpp:
2853         (TestWebKitAPI::TEST):
2854
2855 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
2856
2857         Enable gigacage on iOS
2858         https://bugs.webkit.org/show_bug.cgi?id=177586
2859
2860         Reviewed by JF Bastien.
2861         
2862         Add a mode to test disabling Gigacage.
2863
2864         * Scripts/run-jsc-stress-tests:
2865         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2866
2867 2017-10-09  Commit Queue  <commit-queue@webkit.org>
2868
2869         Unreviewed, rolling out r223015 and r223025.
2870         https://bugs.webkit.org/show_bug.cgi?id=178093
2871
2872         Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
2873         #webkit).
2874
2875         Reverted changesets:
2876
2877         "Enable gigacage on iOS"
2878         https://bugs.webkit.org/show_bug.cgi?id=177586
2879         http://trac.webkit.org/changeset/223015
2880
2881         "Unreviewed, disable Gigacage on ARM64 Linux"
2882         https://bugs.webkit.org/show_bug.cgi?id=177586
2883         http://trac.webkit.org/changeset/223025
2884
2885 2017-10-09  Sam Weinig  <sam@webkit.org>
2886
2887         Make HashMap::keys() and HashMap::values() work with WTF::map/WTF::copyToVector
2888         https://bugs.webkit.org/show_bug.cgi?id=178072
2889
2890         Reviewed by Darin Adler.
2891
2892         * TestWebKitAPI/Tests/WTF/Vector.cpp:
2893         (TestWebKitAPI::TEST):
2894         
2895             Add tests for HashMap::keys() and HashMap::values() working with copyToVector.
2896
2897 2017-10-05  Frederic Wang  <fwang@igalia.com>
2898
2899         Remove WOFF2 from Source/ThirdParty.
2900         https://bugs.webkit.org/show_bug.cgi?id=177862
2901
2902         Reviewed by Michael Catanzaro.
2903
2904         * Scripts/webkitpy/style/checker.py: Remove woff2.
2905         * gtk/jhbuild.modules: Add new jhbuild module for woff2.
2906
2907 2017-10-08  Sam Weinig  <sam@webkit.org>
2908
2909         It should be possible to create a ListHashSet with a std::initializer_list.
2910         https://bugs.webkit.org/show_bug.cgi?id=178070
2911
2912         Reviewed by Darin Adler.
2913
2914         * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
2915         (TestWebKitAPI::TEST):
2916         Add a test for using std::initializer_list with ListHashSet.
2917
2918 2017-10-08  Sam Weinig  <sam@webkit.org>
2919
2920         There should be a version of copyToVector that returns a Vector, rather than using an out parameter
2921         https://bugs.webkit.org/show_bug.cgi?id=177732
2922
2923         Reviewed by Saam Barati.
2924
2925         * TestWebKitAPI/Tests/WTF/Vector.cpp:
2926         (TestWebKitAPI::TEST):
2927         Add tests for the new copyToVector and copyToVectorOf functions.
2928
2929 2017-10-08  Darin Adler  <darin@apple.com>
2930
2931         Fix bugs related to setting reflected floating point DOM attributes
2932         https://bugs.webkit.org/show_bug.cgi?id=178061
2933
2934         Reviewed by Sam Weinig.
2935
2936         * TestWebKitAPI/Tests/WTF/AtomicString.cpp: Added a test of the
2937         AtomicString::number function, based on the test cases we already
2938         had for String::numberToStringECMAScript, and with some additional
2939         cases with powers of 10 that check handling of trailng zeroes.
2940
2941         * TestWebKitAPI/Tests/WTF/WTFString.cpp: Added test cases to the
2942         existing tests of the String::numberToStringECMAScript function
2943         as above. Also added tests for String::number and for
2944         String::numberToStringFixedWidth. Also changed the tests to all use
2945         EXPECT instead of ASSERT macros since these are all non-fatal.
2946
2947         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2948         (WTR::dumpFrameScrollPosition): Use StringBuilder::appendECMAScriptNumber
2949         instead of String::number.
2950
2951 2017-10-08  Dean Jackson  <dino@apple.com>
2952
2953         Make sort-Xcode-project file handle UnifiedSources
2954         https://bugs.webkit.org/show_bug.cgi?id=178042
2955
2956         Reviewed by Sam Weinig.
2957
2958         Sort the UnifiedSource(\d+) files by number rather
2959         than alphabetically.
2960
2961         * Scripts/sort-Xcode-project-file:
2962         (sortChildrenByFileName):
2963         (sortFilesByFileName):
2964
2965 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
2966
2967         Enable gigacage on iOS
2968         https://bugs.webkit.org/show_bug.cgi?id=177586
2969
2970         Reviewed by JF Bastien.
2971         
2972         Add a mode to test disabling Gigacage.
2973
2974         * Scripts/run-jsc-stress-tests:
2975         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2976
2977 2017-10-06  Aishwarya Nirmal  <anirmal@apple.com>
2978
2979         [iOS] Respect the "caret-color" CSS property when editing
2980         https://bugs.webkit.org/show_bug.cgi?id=177489
2981         <rdar://problem/34600419>
2982
2983         Reviewed by Tim Horton.
2984
2985         Adds test for iOS caret color support.
2986
2987         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
2988         (TestWebKitAPI::TEST):
2989         * TestWebKitAPI/ios/UIKitSPI.h:
2990
2991 2017-10-06  Alex Christensen  <achristensen@webkit.org>
2992
2993         Add more infrastructure to apply custom header fields to same-origin requests
2994         https://bugs.webkit.org/show_bug.cgi?id=177629
2995
2996         Reviewed by Ryosuke Niwa.
2997
2998         * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
2999         (canonicalizeHTTPHeader):
3000         (shouldRemainUnchanged):
3001         (shouldBeInvalid):
3002         (shouldBecome):
3003         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3004         (TEST):
3005         (expectHeaders):
3006         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
3007         (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
3008         (-[CustomHeaderFieldsDelegate webView:stopURLSchemeTask:]):
3009
3010         Test main resource requests, subresource requests, and cross-origin requests.
3011
3012 2017-10-06  Wenson Hsieh  <wenson_hsieh@apple.com>
3013
3014         [iOS] Tweak support for classifying form controls (followup to r222487)
3015         https://bugs.webkit.org/show_bug.cgi?id=177917
3016         <rdar://problem/34820122>
3017
3018         Reviewed by Dean Jackson.
3019
3020         Minor cleanup around autofill API tests added in r222487. Additionally, augments some of these API tests to
3021         verify that after blurring the focused element, the content view no longer accepts autofill credentials (see
3022         WebKit ChangeLog for more details). Also augments tests to verify that the URL in the autofill context matches
3023         the document URL.
3024
3025         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
3026
3027         Remove the USE(APPLE_INTERNAL_SDK) guard for these API tests.
3028
3029         (newUIKeyboardLoginCredentialsSuggestion):
3030
3031         Add a stub implementation of UIKeyboardLoginCredentialsSuggestion. This allows
3032         [UIKeyboardLoginCredentialsSuggestion new] to return a nonnull object, which allows these API tests to verify
3033         that the credential filling codepath works as intended without any additional UIKit changes. Currently, tests
3034         for the value of username and password fields are passing even though the fields are not being populated because
3035         the expected string values are null, and the observed value is an empty string. We instead check the literal
3036         string values here instead of credentialSuggestion's properties, so that tests verifying the behavior of
3037         -insertTextSuggestion: will require username and password inputs to be populated.
3038
3039         (-[TestInputDelegate _webView:focusShouldStartInputSession:]):
3040         (-[AutofillTestView initWithFrame:]):
3041         (-[AutofillTestView _autofillInputView]):
3042         (-[AutofillTestView textInputHasAutofillContext]):
3043         (TestWebKitAPI::TEST):
3044
3045         Add an additional API test to verify that programmatic focus without user interaction (and also without testing
3046         overrides) does not activate autofill.
3047
3048         (createUIKeyboardLoginCredentialsSuggestion): Deleted.
3049         (-[WKWebView _privateTextInput]): Deleted.
3050         * TestWebKitAPI/ios/UIKitSPI.h:
3051
3052         Minor gardening to remove iOS version >= 11 guards that are now unnecessary. Additionally, add some more private
3053         header imports (with corresponding interface definitions for building and running with the public SDK).
3054
3055 2017-10-06  Antti Koivisto  <antti@apple.com>
3056
3057         Minor WeakPtr improvements
3058         https://bugs.webkit.org/show_bug.cgi?id=177958
3059
3060         Reviewed by Sam Weinig.
3061
3062         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3063         (TestWebKitAPI::TEST):
3064         (TestWebKitAPI::Base::createWeakPtr): Deleted.
3065
3066 2017-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
3067
3068         Unreviewed. Fix parsing of GTK unit tests output in bot configuration.
3069
3070         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
3071         (RunGtkAPITests.commandComplete): Remove trailing ':' from the regular expression.
3072
3073 2017-10-06  Charles Turner  <cturner@igalia.com>
3074
3075         Disable bmalloc when running Valgrind
3076         https://bugs.webkit.org/show_bug.cgi?id=177923
3077
3078         Reviewed by Carlos Alberto Lopez Perez.
3079
3080         * Scripts/webkitpy/port/gtk.py:
3081         (GtkPort.setup_environ_for_server):
3082
3083 2017-10-06  Zan Dobersek  <zdobersek@igalia.com>
3084
3085         Implement TestController::platformContext() for WPE, returning the
3086         m_context pointer as the GTK+ port does. This fixes the crashes on
3087         the WPE testers.
3088
3089         Rubber-stamped by Carlos Garcia Campos.
3090
3091         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
3092         (WTR::TestController::platformContext):
3093
3094 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3095
3096         [GTK][WPE] Add API to configure and enable resource load statistics
3097         https://bugs.webkit.org/show_bug.cgi?id=177943
3098
3099         Reviewed by Michael Catanzaro.
3100
3101         Add a command line option to enable intelligent tracking prevention to MiniBrowser and tests cases to check the
3102         new API.
3103
3104         * MiniBrowser/gtk/main.c:
3105         (main):
3106         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
3107         (serverCallback):
3108         (testWebsiteDataConfiguration):
3109         (testWebsiteDataEphemeral):
3110         (testWebsiteDataResourceLoadStats):
3111         (beforeAll):
3112         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
3113         (Test::Test):
3114         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
3115         (directoryChangedCallback):
3116         (WebViewTest::waitUntilFileExists):
3117         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
3118
3119 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3120
3121         [GTK][WPE] All resource load statistics tests added in r212183 crash in GTK bots, timeout in GTK and WPE bots since r219049
3122         https://bugs.webkit.org/show_bug.cgi?id=168171
3123
3124         Reviewed by Chris Dumez.
3125
3126         Implement all resource load statistics functions in TestController using the C API. Also enable the FileMonitor
3127         unit test. This test requires a platform implementation of Util::run(), so I've added UtilitiesGLib.cpp with an
3128         iplementation common to glib based ports using WTF RunLoop abstraction.
3129
3130         * TestWebKitAPI/PlatformGTK.cmake:
3131         * TestWebKitAPI/PlatformWPE.cmake:
3132         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
3133         * TestWebKitAPI/glib/UtilitiesGLib.cpp: Copied from Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h.
3134         (TestWebKitAPI::Util::run):
3135         (TestWebKitAPI::Util::spinRunLoop):
3136         (TestWebKitAPI::Util::sleep):
3137         * TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
3138         * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
3139         * WebKitTestRunner/TestController.cpp:
3140         (WTR::TestController::platformAdjustContext):
3141         (WTR::TestController::setStatisticsLastSeen):
3142         (WTR::TestController::setStatisticsPrevalentResource):
3143         (WTR::ResourceStatisticsCallbackContext::ResourceStatisticsCallbackContext):
3144         (WTR::resourceStatisticsCallback):
3145         (WTR::TestController::isStatisticsPrevalentResource):
3146         (WTR::TestController::setStatisticsHasHadUserInteraction):
3147         (WTR::TestController::isStatisticsHasHadUserInteraction):
3148         (WTR::TestController::setStatisticsGrandfathered):
3149         (WTR::TestController::isStatisticsGrandfathered):
3150         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
3151         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
3152         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
3153         (WTR::TestController::setStatisticsTimeToLiveUserInteraction):
3154         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
3155         (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
3156         (WTR::TestController::statisticsUpdateCookiePartitioning):
3157         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
3158         (WTR::TestController::statisticsSubmitTelemetry):
3159         (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
3160         (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
3161         (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
3162         (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
3163         (WTR::TestController::setStatisticsGrandfatheringTime):
3164         (WTR::TestController::setStatisticsMaxStatisticsEntries):
3165         (WTR::TestController::setStatisticsPruneEntriesDownTo):
3166         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
3167         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
3168         (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
3169         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
3170         (WTR::TestController::statisticsResetToConsistentState):
3171         * WebKitTestRunner/TestController.h:
3172
3173 2017-10-05  Jer Noble  <jer.noble@apple.com>
3174
3175         [Cocoa] Enable ENABLE_ENCRYPTED_MEDIA build-time setting
3176         https://bugs.webkit.org/show_bug.cgi?id=177261
3177
3178         Reviewed by Eric Carlson.
3179
3180         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3181
3182 2017-10-05  Alex Christensen  <achristensen@webkit.org>
3183
3184         Add ObjC equivalent of WKPageNavigationClient.didChangeBackForwardList
3185         https://bugs.webkit.org/show_bug.cgi?id=177966
3186         <rdar://problem/22387135>
3187
3188         Reviewed by Tim Horton.
3189
3190         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
3191         (-[ListItemDelegate _webView:backForwardListItemAdded:removed:]):
3192         (-[ListItemDelegate webView:didFinishNavigation:]):
3193         (TEST):
3194
3195 2017-10-04  Megan Gardner  <megan_gardner@apple.com>
3196
3197         check-webkit-style erroneously requires a space between the carrot and brace in obj-c blocks.
3198         https://bugs.webkit.org/show_bug.cgi?id=177897
3199
3200         Reviewed by Dan Bernstein and Jonathan Bedard.
3201
3202         Remove the check for a space between ^ and {, 
3203         as this is valid and expected Obj-C. Now check to make sure there is
3204         no space at all between ^ and {, and also that there is a space between
3205         the end of an argument list and the {.
3206
3207         * Scripts/webkitpy/style/checkers/cpp.py:
3208         (regex_for_lambdas_and_blocks):
3209
3210 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3211
3212         Unreviewed. Run WebKit2 C API tests in GTK+ bots again after the last WebKit2 -> WebKit rename.
3213
3214         * Scripts/run-gtk-tests:
3215         (TestRunner):
3216         (TestRunner._run_test):
3217
3218 2017-10-05  Darin Adler  <darin@apple.com>
3219
3220         Remove additional WebKitSystemInterface remnants
3221         https://bugs.webkit.org/show_bug.cgi?id=177948
3222
3223         Reviewed by Andy Estes.
3224
3225         * DumpRenderTree/PlatformMac.cmake: Removed code to link the
3226         WebKitSystemInterface library. Left in code that points to
3227         the WebKitLibraries directory, but maybe that can be removed by
3228         someone who is more certain it's no longer needed.
3229
3230         * Scripts/copy-webkitlibraries-to-product-directory: Removed code
3231         to copy and delete WebKitSystemInterface libraries and headers.
3232
3233         * WebKitTestRunner/PlatformMac.cmake: Removed code to link the
3234         WebKitSystemInterface library. Left in code that points to
3235         the WebKitLibraries directory, but maybe that can be removed by
3236         someone who is more certain it's no longer needed.
3237
3238 2017-10-05  Saam Barati  <sbarati@apple.com>
3239
3240         Unreviewed. Try to make debug type profiler tests stop timing out.
3241
3242         * Scripts/run-jsc-stress-tests:
3243
3244 2017-10-03  Frederic Wang  <fwang@igalia.com>
3245
3246         Remove Brotli from Source/ThirdParty
3247         https://bugs.webkit.org/show_bug.cgi?id=177804
3248
3249         Reviewed by Michael Catanzaro.
3250
3251         * gtk/jhbuild.modules: Build brotli 1.0.1 from the official github repository.
3252         * Scripts/webkitpy/style/checker.py: Remove brotli.
3253
3254 2017-10-04  Alex Christensen  <achristensen@webkit.org>
3255
3256         Stop linking with WebKitSystemInterface
3257         https://bugs.webkit.org/show_bug.cgi?id=177915
3258
3259         Reviewed by Antti Koivisto.
3260
3261         * DumpRenderTree/mac/Configurations/Base.xcconfig:
3262         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
3263         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
3264         * DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
3265         * WebKitTestRunner/Configurations/Base.xcconfig:
3266         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
3267         * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
3268         * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
3269         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
3270
3271 2017-10-04  Alex Christensen  <achristensen@webkit.org>
3272
3273         Remove unnecessary includes of WebKitSystemInterface on Cocoa platforms
3274         https://bugs.webkit.org/show_bug.cgi?id=177912
3275
3276         Reviewed by Saam Barati.
3277
3278         * DumpRenderTree/mac/DumpRenderTree.mm:
3279
3280 2017-10-04  Megan Gardner  <megan_gardner@apple.com>
3281
3282         Break out new touch debugging code into seperate file
3283         https://bugs.webkit.org/show_bug.cgi?id=177796
3284
3285         Reviewed by Simon Fraser.
3286
3287         Encapsulate the new debug touch code into it's own file.
3288         This allows for cleaner code and a better way to show the touches
3289         in a completely separate window, which should also be in screen
3290         coordinates, and not subject to any transforms that get put on the
3291         WebViews.
3292
3293         * TestRunnerShared/spi/UIKitTestSPI.h:
3294         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3295         * WebKitTestRunner/ios/HIDDebugTouchWindow.h: Added.
3296         * WebKitTestRunner/ios/HIDDebugTouchWindow.mm: Added.
3297         (+[HIDDebugTouchWindow sharedHIDDebugTouchWindow]):
3298         (-[HIDDebugTouchWindow init]):
3299         (-[HIDDebugTouchWindow dealloc]):
3300         (-[HIDDebugTouchWindow updateDebugIndicatorForTouch:withPointInWindowCoordinates:isTouching:]):
3301         (-[HIDDebugTouchWindow initDebugViewsIfNeeded]):
3302         * WebKitTestRunner/ios/HIDEventGenerator.h:
3303         * WebKitTestRunner/ios/HIDEventGenerator.mm:
3304         (-[HIDEventGenerator init]):
3305         (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
3306         (-[HIDEventGenerator _createIOHIDEventType:]):
3307         (-[HIDEventGenerator _updateTouchPoints:count:]):
3308         (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
3309         (-[HIDEventGenerator touchDown:touchCount:]):
3310         (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
3311         (-[HIDEventGenerator liftUp:touchCount:]):
3312         (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
3313         (-[HIDEventGenerator initDebugViewsIfNeeded]): Deleted.
3314         (-[HIDEventGenerator updateDebugIndicatorForTouch:withPoint:isTouching:]): Deleted.
3315         * WebKitTestRunner/ios/TestControllerIOS.mm:
3316         (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
3317
3318 2017-10-04  JF Bastien  <jfbastien@apple.com>
3319
3320         WTF: Update std::expected to match current proposal
3321         https://bugs.webkit.org/show_bug.cgi?id=177881
3322
3323         Reviewed by Mark Lam.
3324
3325         The proposal is likely to be in C++20 and I've been asked to help co-champion
3326         it. I'm therefore updating our implementation to more closely match the current
3327         proposal, and to make sure it'll work for us if standardized.
3328
3329          - Rename UnexpectedType to Unexpected to match the proposal.
3330          - Remove relational operators, only equality / inequality remains.
3331          - Fix minor type signatures.
3332          - Add UnexpectedType typedef.
3333          - Uncomment rebind implementation.
3334          - Add in-place construction tag, as well as explicit error construction tag.
3335          - Add template unexpected constructor.
3336          - Note that make_unexpected isn't in the proposal anymore, but we keep it because we don't have C++17 deduction guides.
3337          - Remove hashing, which isn't in the proposal anymore.
3338
3339         * TestWebKitAPI/Tests/WTF/Expected.cpp:
3340         (WTF::operator<<):
3341         (TestWebKitAPI::TEST):
3342
3343 2017-10-04  Lucas Forschler  <lforschler@apple.com>
3344
3345         https://bugs.webkit.org/show_bug.cgi?id=177888
3346         WebKitArchiveSupport - add API Gateway to source control
3347         This is a swagger configuration export via AWS API Gateway console.
3348
3349         Rubber-stamped by Alexey Proskuryakov.
3350
3351         * WebKitArchiveSupport/AWS-APIGateway: Added.
3352         * WebKitArchiveSupport/AWS-APIGateway/stage-v2.json: Added.
3353
3354 2017-10-04  Mark Lam  <mark.lam@apple.com>
3355
3356         Add support for using Probe DFG OSR Exit behind a runtime flag.
3357         https://bugs.webkit.org/show_bug.cgi?id=177844
3358         <rdar://problem/34801425>
3359
3360         Reviewed by Saam Barati.
3361
3362         Enable --useProbeOSrExit=true for dfg-eager and ftl-no-cjit-validate-sampling-profiler
3363         test configurations.
3364
3365         * Scripts/run-jsc-stress-tests:
3366
3367 2017-10-04  Jonathan Bedard  <jbedard@apple.com>
3368
3369         webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
3370         https://bugs.webkit.org/show_bug.cgi?id=177751
3371         <rdar://problem/34769470>
3372
3373         Reviewed by Daniel Bates.
3374
3375         Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
3376         result. When capturing output from the MockExecutive, the first invocation of
3377         Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
3378         but subsequent invocations will not.
3379
3380         * Scripts/webkitpy/tool/steps/steps_unittest.py:
3381         (StepsTest):
3382         (StepsTest.setUp): Cache the build path before running tests.
3383
3384 2017-10-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3385
3386         [JHBuild][GTK][WKE] Circular dependency between harfbuzz and freetype6
3387         https://bugs.webkit.org/show_bug.cgi?id=177865
3388
3389         Reviewed by Michael Catanzaro.
3390
3391         Build freetype6 without harfbuzz support.
3392         This seems to be what distros like Fedora, Debian or OpenEmbedded do.
3393         Also explicitly enable support for freetype and fontconfig on harfbuzz.
3394
3395         * gtk/jhbuild.modules: Enable also support for icu.
3396         * wpe/jhbuild.modules:
3397
3398 2017-10-04  Yusuke Suzuki  <utatane.tea@gmail.com>
3399
3400         [Test262] Update Test262 to Oct 4 version
3401         https://bugs.webkit.org/show_bug.cgi?id=177859
3402
3403         Reviewed by Sam Weinig.
3404
3405         * Scripts/import-test262-tests:
3406
3407 2017-10-04  Ryosuke Niwa  <rniwa@webkit.org>
3408
3409         Use blob URL when pasting RTFD instead of overriding DocumentLoader
3410         https://bugs.webkit.org/show_bug.cgi?id=177801
3411         <rdar://problem/34542270>
3412
3413         Reviewed by Wenson Hsieh.
3414
3415         Added a regression test for an assertion failure when pasting an empty RTFD as well as a test for pasting
3416         RTFD with an image, which should result in an image element with a blob URL.
3417
3418         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3419         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
3420         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
3421         * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html:
3422
3423 2017-10-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3424
3425         [GLib] Let WebCore know of low power situations
3426         https://bugs.webkit.org/show_bug.cgi?id=177810
3427
3428         Reviewed by Carlos Garcia Campos.
3429
3430         * gtk/install-dependencies: add upower-glib dev packages for Debian, Arch and Fedora.
3431
3432 2017-10-03  Saam Barati  <sbarati@apple.com>
3433
3434         Implement polymorphic prototypes
3435         https://bugs.webkit.org/show_bug.cgi?id=176391
3436
3437         Reviewed by Filip Pizlo.
3438
3439         * Scripts/run-jsc-stress-tests:
3440
3441 2017-10-03  Myles C. Maxfield  <mmaxfield@apple.com> 
3442
3443         Create a SPIR-V assembler 
3444         https://bugs.webkit.org/show_bug.cgi?id=177726 
3445
3446         Reviewed by Filip Pizlo. 
3447
3448         Khronos has released a json file containing every SPIR-V opcode and operand at 
3449         https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/1.2/spirv.core.grammar.json 
3450         This patch creates a function which loads this file (via the fetch API), parses it, and creates
3451         an object which holds two things: 
3452         - For each opcode, a class which accepts the appropriate operands 
3453         - For each enum type, an object which holds each enum value 
3454         The constructor for each opcode is smart enough to do some basic type-checking of the argument, 
3455         according to the types listed in Khronos's json file. 
3456
3457         This patch also includes an example .html file which outputs a dummy SPIR-V program, 
3458         which happens to be compatible with the SPIR-V demo at 
3459         https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/demos/cube.cpp 
3460         If you modify this demo to use the generated SPIR-V program, you can see the result in 
3461         action.
3462
3463         This patch also commits a copy of Khronos's json file mentioned above. This isn't the first 
3464         Khronos file we've committed into our repository with this license, so there shouldn't be any 
3465         problems there. 
3466
3467         * WebGPUShadingLanguageRI/SPIR-V.js: Added. 
3468         (SPIRV.): 
3469         (SPIRVAssembler): 
3470         (SPIRVAssembler.prototype.append): 
3471         (SPIRVAssembler.prototype.get size): 
3472         (SPIRVAssembler.prototype.get storage): 
3473         (SPIRVAssembler.prototype.get result): 
3474         * WebGPUShadingLanguageRI/SPIRV.html: Added. 
3475         * WebGPUShadingLanguageRI/spirv.core.grammar.json: Added. 
3476
3477 2017-10-03  Chris Dumez  <cdumez@apple.com>
3478
3479         SharedStringHashStore should support removing hashes
3480         https://bugs.webkit.org/show_bug.cgi?id=177770
3481
3482         Reviewed by Alex Christensen.
3483
3484         Add API test coverage.
3485
3486         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3487         * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: Added.
3488         (TestWebKitAPI::TEST):
3489
3490 2017-10-03  Dewei Zhu  <dewei_zhu@apple.com>
3491
3492         Fix missing import for BenchmarkRunner.
3493         https://bugs.webkit.org/show_bug.cgi?id=177842
3494
3495         Reviewed by Ryosuke Niwa.
3496
3497         'show_results' requires BenchmarkRunner.
3498
3499         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
3500
3501 2017-10-03  Olivier Blin  <olivier.blin@softathome.com>
3502
3503         [WPE] Bump deps to add support for xdg-shell-unstable-v6 protocol
3504         https://bugs.webkit.org/show_bug.cgi?id=177820
3505
3506         Reviewed by Žan Doberšek.
3507
3508         gnome-shell does not advertize the xdg-shell protocol anymore, but xdg-shell-unstable-v6 instead.
3509         Support has been added in WPEBackend-mesa, we need to update the requirements.
3510         wayland-1.10 is needed for wl_proxy_get_version(), used in the generated headers.
3511
3512         * wpe/jhbuild.modules:
3513
3514 2017-10-03  Alex Christensen  <achristensen@webkit.org>
3515
3516         Add ObjC SPI equivalent to WKPageLoaderClient.willGoToBackForwardListItem
3517         https://bugs.webkit.org/show_bug.cgi?id=177825
3518         <rdar://problem/22387505>
3519
3520         Reviewed by Tim Horton.
3521
3522         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
3523         (-[BackForwardDelegate _webView:willGoToBackForwardListItem:inPageCache:]):
3524         (-[BackForwardDelegate webView:didFinishNavigation:]):
3525         (TEST):
3526
3527 2017-10-03  Antti Koivisto  <antti@apple.com>
3528
3529         Allow assigning WeakPtr<Derived> to WeakPtr<Base>
3530         https://bugs.webkit.org/show_bug.cgi?id=177817
3531
3532         Reviewed by Geoff Garen.
3533
3534         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3535         (TestWebKitAPI::Base::weakPtrFactory):
3536         (TestWebKitAPI::TEST):
3537
3538 2017-10-03  Youenn Fablet  <youenn@apple.com>
3539
3540         Remove no longer needed WebRTC build infrastructure
3541         https://bugs.webkit.org/show_bug.cgi?id=177756
3542
3543         Reviewed by Alejandro G. Castro.
3544
3545         * Scripts/generate-libwebrtc-cmake: Removed.
3546         * Scripts/webkitpy/libwebrtc/__init__.py: Removed.
3547         * Scripts/webkitpy/libwebrtc/generate_cmake.py: Removed.
3548
3549 2017-10-03  Joanmarie Diggs  <jdiggs@igalia.com>
3550
3551         AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes
3552         https://bugs.webkit.org/show_bug.cgi?id=177763
3553
3554         Reviewed by Chris Fleizach.
3555
3556         Implement ariaIsGrabbed() and ariaDropEffects() for ATK.
3557
3558         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3559         (WTR::AccessibilityUIElement::ariaIsGrabbed const):
3560         (WTR::AccessibilityUIElement::ariaDropEffects const):
3561
3562 2017-10-02  Myles C. Maxfield  <mmaxfield@apple.com>
3563
3564         Make WSL demo compatible with Microsoft Edge
3565         https://bugs.webkit.org/show_bug.cgi?id=177643
3566
3567         Reviewed by Saam Barati.
3568
3569         This patch does two things. The first is it migrates a loop over ParentNode.children to a legacy style loop
3570         because Microsoft Edge throws an exception when trying to use a for...of loop with it. This patch also hides
3571         the compilation behind a setTimeout(0) so there is some indication that something is happening during a
3572         compile.
3573
3574
3575         * Tools/WebGPUShadingLanguageRI/index.html:
3576
3577 2017-10-02  Joanmarie Diggs  <jdiggs@igalia.com>
3578
3579         AX: [ATK] The value of aria-level is not exposed on non-heading roles
3580         https://bugs.webkit.org/show_bug.cgi?id=177775
3581
3582         Reviewed by Chris Fleizach.
3583
3584         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3585         (WTR::AccessibilityUIElement::hierarchicalLevel const):
3586
3587 2017-10-02  Geoffrey Garen  <ggaren@apple.com>
3588
3589         WeakPtr should have a move constructor
3590         https://bugs.webkit.org/show_bug.cgi?id=177789
3591
3592         Reviewed by Chris Dumez.
3593
3594         Chris made me write an API test. It wasn't that painful.
3595
3596         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3597         (TestWebKitAPI::TEST):
3598
3599 2017-10-02  Filip Pizlo  <fpizlo@apple.com>
3600
3601         WSL ^ should be *
3602         https://bugs.webkit.org/show_bug.cgi?id=177705
3603
3604         Rubber stamped by Keith Miller.
3605         
3606         When I first wrote the prototype, I thought it would be cool to use ^ for pointers. Nobody agrees. I've
3607         gotten so much feedback to use *. This changes pointers to use *.
3608
3609         * WebGPUShadingLanguageRI/DereferenceExpression.js:
3610         (DereferenceExpression.prototype.toString):
3611         (DereferenceExpression):
3612         * WebGPUShadingLanguageRI/Intrinsics.js:
3613         (Intrinsics):
3614         * WebGPUShadingLanguageRI/Parse.js:
3615         (parseType):
3616         (parsePossiblePrefix):
3617         * WebGPUShadingLanguageRI/PtrType.js:
3618         (PtrType.prototype.toString):
3619         (PtrType):
3620         * WebGPUShadingLanguageRI/StandardLibrary.js:
3621         * WebGPUShadingLanguageRI/Test.js:
3622         (tests.simpleDereference):
3623         (tests.dereferenceStore):
3624         (tests.simpleMakePtr):
3625         (tests.loadNull):
3626         (tests.storeNull):
3627         (tests.returnNull):
3628         (tests.dereferenceDefaultNull):
3629         (tests.defaultInitializedNull):
3630         (tests.passNullToPtrMonomorphic):
3631         (tests.passNullToPtrPolymorphic):
3632         (tests.passNullAndNotNull):
3633         (tests.passNullAndNotNullFullPoly):
3634         (tests.passNullAndNotNullFullPolyReverse):
3635         (tests.chainGeneric):
3636         (tests.chainStruct):
3637         (tests.chainStructNewlyValid):
3638         (tests.chainStructDevice):
3639         (tests.paramChainStructDevice):
3640         (tests.simpleProtocolExtends):
3641         (tests.protocolExtendsTwo):
3642         (tests.overrideSubscriptStruct):
3643         (tests.overrideSubscriptStructAndDoStores):
3644         (tests.overrideSubscriptStructAndUsePointers):
3645         (tests.overrideSubscriptStructAndUsePointersIncorrectly):
3646         (tests.makeArrayRefFromPointer):
3647         (tests.nonArrayRefArrayLengthFail):
3648         (tests.constexprIsNotLValuePtr):
3649         (tests.genericAccessors):
3650         (tests.nestedSubscriptLValueEmulationSimple):
3651         (tests.nestedSubscriptLValueEmulationGeneric):
3652         (tests.shaderTypes):
3653         (tests.enumPtrBase):
3654         (tests.mutuallyRecursiveStructWithPointersBroken):
3655         (tests.mutuallyRecursiveStructWithPointers):
3656         (tests.linkedList):
3657         (tests.pointerToPointer):
3658         (tests.pointerGetter):
3659         (tests.operatorCastWithTypeVariableInferredFromReturnType):
3660         (tests.loneSetterPointer):
3661         (tests.anderWithNothingWrong):
3662         (tests.anderWithWrongNumberOfArguments):
3663         (tests.anderDoesntReturnPointer):
3664         (tests.anderDoesntTakeReference):
3665         (tests.anderWithArrayRef):
3666         (tests.pointerIndexGetter):
3667         (tests.loneIndexSetterPointer):
3668         (tests.indexAnderWithNothingWrong):
3669         (tests.indexAnderWithWrongNumberOfArguments):
3670         (tests.indexAnderDoesntReturnPointer):
3671         (tests.indexAnderDoesntTakeReference):
3672         (tests.indexAnderWithArrayRef):
3673         (tests.devicePtrPtr):
3674         (tests.threadgroupPtrPtr):
3675         (tests.constantPtrPtr):
3676         (tests.pointerIndexGetterInProtocol):
3677         (tests.loneIndexSetterPointerInProtocol):
3678         (tests.indexAnderWithNothingWrongInProtocol):
3679         (tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
3680         (tests.indexAnderDoesntReturnPointerInProtocol):
3681         (tests.indexAnderDoesntTakeReferenceInProtocol):
3682         (tests.indexAnderWithArrayRefInProtocol):
3683         (tests.andReturnedArrayRef):
3684
3685 2017-10-02  Filip Pizlo  <fpizlo@apple.com>
3686
3687         WSL should be fine with &foo()[i] if foo() returns a []
3688         https://bugs.webkit.org/show_bug.cgi?id=177704
3689
3690         Reviewed by Saam Barati.
3691         
3692         Previously, we'd determine if a property access expression (base.field or base[index]) was an lvalue by
3693         asking if its base was an lvalue. This is right in all cases except if the base is of type []. Then, the
3694         property access expression is an lvalue so long as there is a setter or ander.
3695         
3696         This fixes the issue and adds a test.
3697         
3698         Also, this makes error messages in the case that something is not an lvalue a lot better. If something
3699         is not an lvalue because we could not find anders or setters, then we will tell you why we could not
3700         find them.
3701
3702         * WebGPUShadingLanguageRI/Checker.js:
3703         (Checker.prototype.visitAssignment):
3704         (Checker.prototype.visitReadModifyWriteExpression):
3705         (Checker.prototype.visitMakePtrExpression):
3706         (Checker.prototype._finishVisitingPropertyAccess):
3707         * WebGPUShadingLanguageRI/DotExpression.js:
3708         (DotExpression.prototype.get fieldName):
3709         (DotExpression.prototype.get isLValue): Deleted.
3710         (DotExpression.prototype.get addressSpace): Deleted.
3711         * WebGPUShadingLanguageRI/IndexExpression.js:
3712         (IndexExpression.prototype.get index):
3713         (IndexExpression.prototype.get isLValue): Deleted.
3714         (IndexExpression.prototype.get addressSpace): Deleted.
3715         * WebGPUShadingLanguageRI/PropertyAccessExpression.js:
3716         (PropertyAccessExpression):
3717         (PropertyAccessExpression.prototype.get isLValue):
3718         (PropertyAccessExpression.prototype.set isLValue):
3719         * WebGPUShadingLanguageRI/PropertyResolver.js:
3720         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitMakeArrayRefExpression):
3721         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
3722         (PropertyResolver.prototype._visitRValuesWithinLValue):
3723         * WebGPUShadingLanguageRI/Test.js:
3724         (tests.storeNullArrayRef):
3725         (tests.andReturnedArrayRef):
3726
3727 2017-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>
3728
3729         Guard iOS webkitGetAsEntry API tests on older iOS versions
3730
3731         Unreviewed test gardening. After r222688, these tests require custom pasteboard data to be enabled by default,
3732         so don't run them against shipping iOS.
3733
3734         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3735
3736 2017-10-02  Carlos Garcia Campos  <cgarcia@igalia.com>
3737
3738         [WPE][GTK] Crash in webkit_web_resource_get_data_finish()
3739         https://bugs.webkit.org/show_bug.cgi?id=177107
3740
3741         Reviewed by Michael Catanzaro.
3742
3743         Add a test case to check we handle errors when webkit_web_resource_get_data() fails.
3744
3745         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
3746         (webViewloadChanged):
3747         (testWebResourceGetDataError):
3748         (beforeAll):
3749
3750 2017-10-02  Alex Christensen  <achristensen@webkit.org>
3751
3752         Fix build after r222715
3753         https://bugs.webkit.org/show_bug.cgi?id=177697
3754
3755         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3756         (TEST):
3757         Use the public API instead of the removed SPI.
3758
3759 2017-10-02  Alex Christensen  <achristensen@webkit.org>
3760
3761         REGRESSION(r214201): WebProcess hangs during policy decisions
3762         https://bugs.webkit.org/show_bug.cgi?id=177590
3763         <rdar://problem/33362929>
3764
3765         Reviewed by Andy Estes.
3766
3767         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3768         * TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm: Added.
3769         (-[JSNavigationDelegate webView:didFinishNavigation:]):
3770         (-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3771         (-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3772         (-[JSNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3773         (TEST):
3774
3775 2017-10-02  Jonathan Bedard  <jbedard@apple.com>
3776
3777         Log stack-trace for run-webkit-tests when interrupted
3778         https://bugs.webkit.org/show_bug.cgi?id=176393
3779         <rdar://problem/34262310>
3780
3781         Reviewed by Darin Adler.
3782
3783         When run-webkit-tests is stuck, it is difficult to immediately tell
3784         why. Saving a stack-trace when run-webkit-tests is terminated
3785         or stopped with CNTRL-C will make such issues easier to debug.
3786
3787         * Scripts/webkitpy/common/interupt_debugging.py: Added.
3788         (log_stack_trace): Given a Python frame object, log a stack trace to
3789         the provided file.
3790         (log_stack_trace_on_term): Attach a listener to SIGTERM so that a
3791         stack-trace can be logged when a program is terminated.
3792         (log_stack_trace_on_cntrl_c): Attach a listener to SIGINT so that a
3793         stack-trace can be logged when a program is CNTRL-Ced. 
3794         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3795         (main): Set handlers to log stack trace on interruption.
3796
3797 2017-10-02  Michael Catanzaro  <mcatanzaro@igalia.com>
3798
3799         Remove ENABLE_CSS_REGIONS
3800         https://bugs.webkit.org/show_bug.cgi?id=177689
3801
3802         Reviewed by Darin Adler.
3803
3804         * Scripts/webkitperl/FeatureList.pm:
3805
3806 2017-09-30  Carlos Garcia Campos  <cgarcia@igalia.com>
3807
3808         Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.
3809
3810         This version upgrades liberation fonts to version 2, that has a wider glyph coverage.
3811
3812         * gtk/jhbuild.modules:
3813
3814 2017-09-29  Alex Christensen  <achristensen@webkit.org>
3815
3816         Expose WebPreferences::webGLEnabled through WKPreferences
3817         https://bugs.webkit.org/show_bug.cgi?id=177692
3818         <rdar://problem/24110556>
3819
3820         Reviewed by Andy Estes.
3821
3822         * TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
3823         (-[AlertSaver alert]):
3824         (-[AlertSaver webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3825         (TEST):
3826
3827 2017-09-29  Alex Christensen  <achristensen@webkit.org>
3828
3829         Fix WKWebViewConfigurationPrivate after r222663
3830         https://bugs.webkit.org/show_bug.cgi?id=177644
3831
3832         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3833         * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm: Added.
3834         (TEST):
3835
3836 2017-09-28  Ryosuke Niwa  <rniwa@webkit.org>
3837
3838         Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items
3839         https://bugs.webkit.org/show_bug.cgi?id=170449
3840         <rdar://problem/31432525>
3841
3842         Reviewed by Wenson Hsieh.
3843
3844         Added an API test to paste an image from pasteboard. The test is shared between iOS and macOS.
3845
3846         The tests to paste image files are only enabled on macOS since putting files into pasteboard isn't a thing on iOS.
3847
3848         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3849         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: Added.
3850         (writeImageDataToPasteboard):
3851         (writeBundleFileToPasteboard):
3852         * TestWebKitAPI/Tests/WebKitCocoa/paste-image.html: Added.
3853         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-100px.tiff: Added.
3854         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-200px.png: Added.
3855         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-400px.gif: Added.
3856         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-600px.jpg: Added.
3857         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Rebaselined the test now that types contain "Files".
3858
3859 2017-09-29  Wenson Hsieh  <wenson_hsieh@apple.com>
3860
3861         [iOS WK2] Implement -[WKContentView hasText] for compatibility with the UITextInput protocol
3862         https://bugs.webkit.org/show_bug.cgi?id=177662
3863         <rdar://problem/33410373>
3864
3865         Reviewed by Tim Horton.
3866
3867         Add EditorState API tests to check that the value of -[WKContentView hasText] is correct when editing both plain
3868         and rich text areas.
3869
3870         * TestWebKitAPI/EditingTestHarness.h:
3871         * TestWebKitAPI/EditingTestHarness.mm:
3872         (-[EditingTestHarness insertParagraph]):
3873         (-[EditingTestHarness insertText:]):
3874         (-[EditingTestHarness insertHTML:]):
3875         (-[EditingTestHarness selectAll]):
3876         (-[EditingTestHarness deleteBackwards]):
3877         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
3878
3879         Add versions of EditingTestHarness helpers that don't require us to expect any editor state after executing the
3880         edit command.
3881
3882         (TestWebKitAPI::checkContentViewHasTextWithFailureDescription):
3883         (TestWebKitAPI::TEST):
3884         * TestWebKitAPI/cocoa/TestWKWebView.h:
3885         * TestWebKitAPI/cocoa/TestWKWebView.mm:
3886         (-[TestWKWebView textInputContentView]):
3887
3888 2017-09-29  Charles Turner  <cturner@igalia.com>
3889
3890         Update my status.
3891
3892         Unreviewed.
3893
3894         * Scripts/webkitpy/common/config/contributors.json:
3895
3896 2017-09-28  Commit Queue  <commit-queue@webkit.org>
3897
3898         Unreviewed, rolling out r222639.
3899         https://bugs.webkit.org/show_bug.cgi?id=177630
3900
3901         Breaks AppleWin build (Requested by dolmstead on #webkit).
3902
3903         Reverted changeset:
3904
3905         "[WinCairo][MiniBrowser] Add ca-bundle to display secure
3906         pages."
3907         https://bugs.webkit.org/show_bug.cgi?id=168486
3908         http://trac.webkit.org/changeset/222639
3909
3910 2017-09-28  Joanmarie Diggs  <jdiggs@igalia.com>
3911
3912         AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
3913         https://bugs.webkit.org/show_bug.cgi?id=177542
3914
3915         Add platform support for the notifications. Also add support for getting the
3916         boolean argument indicating whether the state has been set or unset.
3917
3918         Reviewed by Chris Fleizach.
3919
3920         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
3921
3922 2017-09-28  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3923
3924         [WinCairo][MiniBrowser] Add ca-bundle to display secure pages.
3925         Copy cacert.pem file into bundle directory.
3926         https://bugs.webkit.org/show_bug.cgi?id=168486
3927
3928         Reviewed by Brent Fulgham.
3929
3930         * MiniBrowser/win/CMakeLists.txt:
3931
3932 2017-09-28  Lucas Forschler  <lforschler@apple.com>
3933
3934         check in AWS Lambda code used for WebKitArchiveSupport
3935         https://bugs.webkit.org/show_bug.cgi?id=177614
3936         
3937         Rubber-stamped by Alexey Proskuryakov.
3938
3939         * WebKitArchiveSupport/lambda: Added.
3940         * WebKitArchiveSupport/lambda/delete-minified-s3-archive-from-dynamodb.py: Added.
3941         (lambda_handler):
3942         * WebKitArchiveSupport/lambda/delete-s3-archive-from-dynamodb.py: Added.
3943         (lambda_handler):
3944         * WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py: Added.
3945         (lambda_handler):
3946         * WebKitArchiveSupport/lambda/register-minified-s3-archive-in-dynamodb.py: Added.
3947         (lambda_handler):
3948
3949 2017-09-28  Jiewen Tan  <jiewen_tan@apple.com>
3950
3951         WeakPtrFactory should allow downcasting
3952         https://bugs.webkit.org/show_bug.cgi?id=177389
3953         <rdar://problem/34604174>
3954
3955         Reviewed by Geoffrey Garen.
3956
3957         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3958         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3959         (TestWebKitAPI::Base::foo):
3960         (TestWebKitAPI::Base::createWeakPtr):
3961         (TestWebKitAPI::Derived::foo):
3962         (TestWebKitAPI::TEST):
3963
3964 2017-09-28  Megan Gardner  <megan_gardner@apple.com>
3965
3966         Add debug flag to WebKitTestRunner to show where touches are being generated
3967         https://bugs.webkit.org/show_bug.cgi?id=177583
3968
3969         Reviewed by Tim Horton and Wenson Hsieh.
3970
3971         Add a flag, and the ability to paint a dot where the HIDEventGenerator is creating fake touches to
3972         send through UIKit. This will help in debugging touch tests, because it will be easier to see if
3973         one is actually sending the touches at the locations that they expect. This will help differentiate between
3974         problems in the locations of the touches, and other problems that can come up when writing tests.
3975
3976         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3977         (parse_args):
3978         * Scripts/webkitpy/port/driver.py:
3979         (Driver.cmd_line):
3980         * WebKitTestRunner/Options.cpp:
3981         (WTR::Options::Options):
3982         (WTR::handleOptionShowTouches):
3983         (WTR::OptionsHandler::OptionsHandler):
3984         * WebKitTestRunner/Options.h:
3985         * WebKitTestRunner/TestController.cpp:
3986         (WTR::TestController::initialize):
3987         * WebKitTestRunner/TestController.h:
3988         (WTR::TestController::shouldShowTouches const):
3989         * WebKitTestRunner/TestOptions.h:
3990         * WebKitTestRunner/ios/HIDEventGenerator.h:
3991         * WebKitTestRunner/ios/HIDEventGenerator.mm:
3992         (-[DebugTouchView pointInside:withEvent:]):
3993         (-[HIDEventGenerator setShouldShowTouches:]):
3994         (-[HIDEventGenerator initDebugViews]):
3995         (-[HIDEventGenerator updateDebugUI:withPoint:isTouching:]):
3996         (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
3997         (-[HIDEventGenerator _createIOHIDEventType:]):
3998         (-[HIDEventGenerator _updateTouchPoints:count:]):
3999         (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
4000         (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
4001         (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
4002         (-[HIDEventGenerator markerEventReceived:]):
4003         * WebKitTestRunner/ios/TestControllerIOS.mm:
4004         (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
4005         * WebKitTestRunner/ios/mainIOS.mm:
4006         (-[WebKitTestRunnerApp _runTestController]):
4007
4008 2017-09-28  Mark Lam  <mark.lam@apple.com>
4009
4010         [Re-landing] Turn on exception scope verification for JSC tests.
4011         https://bugs.webkit.org/show_bug.cgi?id=162351
4012         <rdar://problem/29563911>
4013
4014         Reviewed by Saam Barati.
4015
4016         Update: I'm re-landing this patch now that test262 exception check validation
4017         failures have been fixed in r222617.  testapi still has some validation failures,
4018         but this patch does not affect testapi.
4019
4020         Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
4021         run-jsc-stress-tests.  This turns on exception scope verification on JSC test
4022         runs (which currently does not include testapi).
4023
4024         Some stats on time to run JSC stress and mozilla tests:
4025         1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
4026         2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
4027         3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
4028         4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s
4029
4030         The stats shows that (2) and (3) has effectively no time difference.  Hence, the
4031         cost of enabling --validateExceptionChecks=true is not significant.
4032
4033         It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
4034         21% slower than (3).  To avoid making debug test runs a lot slower, we'll leave
4035         --dumpSimulatedThrows=true off.  We can manually add that when we see a regression
4036         and need to debug the issue.  Otherwise, we wont pay the price for it.
4037
4038         * Scripts/run-jsc-stress-tests:
4039
4040 2017-09-27  Alex Christensen  <achristensen@webkit.org>
4041
4042         Add WKContentRuleList notify action type
4043         https://bugs.webkit.org/show_bug.cgi?id=177013
4044         <rdar://problem/31073936>
4045
4046         Reviewed by Darin Adler.
4047
4048         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4049         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
4050         (WebCore::ContentExtensions::operator<<):
4051         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
4052         (TestWebKitAPI::InMemoryCompiledContentExtension::data):
4053         (TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
4054         (TestWebKitAPI::makeBackend):
4055         (TestWebKitAPI::TEST_F):
4056         (TestWebKitAPI::actionsEqual):
4057         (TestWebKitAPI::sequenceInstances):
4058         (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
4059         (TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
4060         * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
4061         (-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
4062         (-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
4063         (-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
4064         (-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
4065         (makeWarnContentRuleList):
4066         (TEST):
4067
4068 2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
4069
4070         Drag event DataTransfer has unexpected types "dyn.ah62d4..."
4071         https://bugs.webkit.org/show_bug.cgi?id=172526
4072         <rdar://problem/32396081>
4073
4074         Reviewed by Ryosuke Niwa.
4075
4076         Adds new API tests on iOS to cover various cases of using DataTransfer.setData, DataTransfer.getData, and
4077         DataTransfer.types, as well as their interaction with platform objects (source NSItemProviders in the case of
4078         drag and drop, and the general UIPasteboard for copy and paste).
4079
4080         * TestWebKitAPI/PlatformUtilities.h:
4081         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4082         * TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html: Added.
4083
4084         Introduce a new API test harness that both drag-and-drop and copy-and-paste tests use to dump DataTransfer's
4085         web-exposed types and values.
4086
4087         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
4088         (checkFirstTypeIsPresentAndSecondTypeIsMissing):
4089         (checkJSONWithLogging):
4090         (TestWebKitAPI::TEST):
4091         (checkTypeIdentifierAndIsNotOtherTypeIdentifier): Deleted.
4092         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
4093         (TestWebKitAPI::checkJSONWithLogging):
4094         (TestWebKitAPI::setUpWebViewForPasteboardTests):
4095         (TestWebKitAPI::TEST):
4096         * TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
4097         (TestWebKitAPI::Util::jsonMatchesExpectedValues):
4098
4099 2017-09-27  Lucas Forschler  <lforschler@apple.com>
4100
4101         Add macOS High Sierra and iOS Simulator 11 support to bisect-builds.
4102         https://bugs.webkit.org/show_bug.cgi?id=177578
4103
4104         Reviewed by Alexey Proskuryakov.
4105
4106         * Scripts/bisect-builds:
4107         (minified_platforms):
4108         (unminified_platforms):
4109
4110 2017-09-27  Ryan Haddad  <ryanhaddad@apple.com>
4111
4112         Update TestResultsServer for High Sierra queues.
4113         https://bugs.webkit.org/show_bug.cgi?id=177500
4114
4115         Reviewed by Alexey Proskuryakov.
4116
4117         * TestResultServer/static-dashboards/builders.jsonp:
4118
4119 2017-09-27  Lucas Forschler  <lforschler@apple.com>
4120
4121         bisect-builds:add a README to the archive.
4122         https://bugs.webkit.org/show_bug.cgi?id=177376
4123
4124         Reviewed by Alexey Proskuryakov & Jon Davis.
4125
4126         * BuildSlaveSupport/built-product-archive:
4127         (addFilesToArchive): refactor function (was previously addLauncherToArchive)
4128         (createZip): Teach function to add the README
4129         (addLauncherToArchive): Deleted. (refactored to addFilesToArchive)
4130         * BuildSlaveSupport/run-webkit-archive: Deleted. (Moved to WebKitArchiveSupport)
4131         * WebKitArchiveSupport: Added.
4132         * WebKitArchiveSupport/README: Added. README which will be packaged up with the archive.
4133         * WebKitArchiveSupport/run-webkit-archive: Added. (Moved from BuildSlaveSupport)
4134
4135 2017-09-26  Tim Horton  <timothy_horton@apple.com>
4136
4137         Mac CMake bot should provide verbose build output
4138         https://bugs.webkit.org/show_bug.cgi?id=177512
4139
4140         Reviewed by Alexey Proskuryakov.
4141
4142         * BuildSlaveSupport/build.webkit.org-config/config.json:
4143         It's hard to diagnose weird bot-only build problems without the
4144         full verbose build output, so turn that on. The Xcode builders
4145         do it too, so why not CMake!
4146
4147 2017-09-26  Tim Horton  <timothy_horton@apple.com>
4148
4149         Make it possible to easily get verbose ninja output from build-webkit
4150         https://bugs.webkit.org/show_bug.cgi?id=177511
4151
4152         Reviewed by Sam Weinig.
4153
4154         * Scripts/build-webkit:
4155         Add a -v/--verbose argument to build-webkit, which sets the environment
4156         variable VERBOSE=1, which buildCMakeGeneratedProject already checks.
4157
4158         * Scripts/webkitdirs.pm:
4159         (buildCMakeGeneratedProject):
4160         Add ninja verbosity arguments to @makeArgs, which are appended
4161         after the -- and thus handed to ninja; the previous implementation
4162         (appending to @args) would only work if @makeArgs was non-empty and thus
4163         the -- was included.
4164
4165 2017-09-26  Said Abou-Hallawa  <sabouhallawa@apple.com>
4166
4167         Followup (r222427): SynchronizedFixedQueue should not have a public constructor
4168         https://bugs.webkit.org/show_bug.cgi?id=177458
4169
4170         Reviewed by Tim Horton.
4171
4172         Fix the definition and the creation of SynchronizedFixedQueue.
4173
4174         * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
4175         (TestWebKitAPI::ToUpperConverter::ToUpperConverter):
4176         (TestWebKitAPI::ToUpperConverter::startProducing):
4177         (TestWebKitAPI::ToUpperConverter::startConsuming):
4178         (TestWebKitAPI::ToUpperConverter::stopProducing):
4179         (TestWebKitAPI::ToUpperConverter::stopConsuming):
4180         (TestWebKitAPI::ToUpperConverter::enqueueLower):
4181
4182 2017-09-26  Wenson Hsieh  <wenson_hsieh@apple.com>
4183
4184         [ios-simulator] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry is failing
4185         https://bugs.webkit.org/show_bug.cgi?id=177271
4186
4187         Reviewed by Tim Horton and Megan Gardner.
4188
4189         Rebaseline a failing API test.
4190
4191         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
4192         (TestWebKitAPI::TEST):
4193
4194 2017-09-26  Per Arne Vollan  <pvollan@apple.com>
4195
4196         Set LF eol-style on Windows shell script, because the script failed on one of the EWS
4197         bots, when it had the 'native' style.
4198
4199         Unreviewed Windows EWS fix. 
4200
4201         * EWSTools/start-queue-win.sh: Modified property svn:eol-style.
4202
4203 2017-09-26  Jonathan Bedard  <jbedard@apple.com>
4204
4205         webkitpy: Notify parent process when a worker is spawned
4206         https://bugs.webkit.org/show_bug.cgi?id=177467
4207         <rdar://problem/34660194>
4208
4209         Reviewed by Daniel Bates.
4210
4211         When we fork the parent process, there may be resources in that process
4212         which workers will take ownership of. Notify ports when a new worker is created
4213         so that these resources can be correctly managed.
4214
4215         * Scripts/webkitpy/common/message_pool.py:
4216         (_MessagePool._start_workers): After all workers are started, notify the caller
4217         that a worker has been created, unless we are running inline, in which case the
4218         parent process is still the worker.
4219         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
4220         (LayoutTestRunner._handle_did_spawn_worker): Notify the port that a worker process
4221         has been created.
4222         * Scripts/webkitpy/port/base.py:
4223         (Port.did_spawn_worker): Add function so that ports may manage any
4224         resources created on the parent process but managed by the provided worker.
4225         * Scripts/webkitpy/port/device.py:
4226         (Device.release_worker_resources): Call release_worker_resources on the
4227         platform_device if such a function is defined.
4228         * Scripts/webkitpy/port/ios.py:
4229         (IOSPort.did_spawn_worker): Release any worker resources on the iOS
4230         device object associated with the spawned worker.
4231         * Scripts/webkitpy/test/runner.py:
4232         (Runner.handle): Ignore the did_spawn_worker message during testing.
4233
4234 2017-09-26  Jer Noble  <jer.noble@apple.com>
4235
4236         Thrown ObjC exception when right clicking on <img> containing mp4 link
4237         https://bugs.webkit.org/show_bug.cgi?id=177370
4238
4239         Reviewed by Darin Adler.
4240
4241         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4242         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.html: Added.
4243         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm: Added.
4244         (-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
4245         (TestWebKitAPI::TEST):
4246
4247 2017-09-26  Per Arne Vollan  <pvollan@apple.com>
4248
4249         [Win] 'webkit-patch clean' is failing on bot.
4250         https://bugs.webkit.org/show_bug.cgi?id=177488
4251
4252         Reviewed by Brent Fulgham.
4253
4254         If 'os.remove' throws an exception, catch it.
4255
4256         * Scripts/webkitpy/common/checkout/scm/svn.py:
4257         (SVN.discard_working_directory_changes):
4258
4259 2017-09-25  Frederik Riedel  <riedel@apple.com>
4260