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