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