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