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