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