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