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