1 2017-11-10 Alex Christensen <achristensen@webkit.org>
3 REGRESSION(r224267): WebViews scheduled with custom run loop modes don't load
4 https://bugs.webkit.org/show_bug.cgi?id=179515
6 Reviewed by Andy Estes.
8 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
9 * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm: Added.
10 (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
11 (TestWebKitAPI::TEST):
13 2017-11-10 Fujii Hironori <Hironori.Fujii@sony.com>
15 [webkitpy] Fix PlatformInfo._win_version since r224657
16 https://bugs.webkit.org/show_bug.cgi?id=179520
18 Reviewed by Aakash Jain.
20 There are two problems.
22 The return value of sys.getwindowsversion() doesn't match with
23 Version.__init__ expects. Truncate the 4th and 5th of it.
25 _win_version_tuple_from_cmd was deleted in r224657. But, it is
26 still needed for Cygwin Python.
28 * Scripts/webkitpy/common/system/platforminfo.py:
29 (PlatformInfo._win_version): Return [0:3] of getwindowsversion().
30 Call _win_version_from_cmd for Cygwin Python.
31 (PlatformInfo._win_version_from_cmd): Restored.
33 2017-11-10 Guillaume Emont <guijemont@igalia.com>
35 build-jsc: build testmasm for all platforms using cmake
36 https://bugs.webkit.org/show_bug.cgi?id=179512
38 Reviewed by Michael Catanzaro.
42 2017-11-09 Jonathan Bedard <jbedard@apple.com>
44 webkitpy: Unify version parsing code
45 https://bugs.webkit.org/show_bug.cgi?id=179426
46 <rdar://problem/35415191>
48 Unreviewed fix to r224657.
50 * Scripts/webkitpy/common/version.py:
51 (Version.__init__): Check if an object is iterable.
53 2017-11-09 Jonathan Bedard <jbedard@apple.com>
55 webkitpy: Unify version parsing code
56 https://bugs.webkit.org/show_bug.cgi?id=179426
57 <rdar://problem/35415191>
59 Reviewed by David Kilzer.
61 webkitpy needs to parse version strings or version lists frequently. Rather than
62 duplicate this code each time it's needed, unify it in a Version class.
64 * Scripts/webkitpy/common/system/platforminfo.py:
65 (PlatformInfo.__init__): Convert mac version string to version object and
66 use _win_version instead of _win_version_tuple.
67 (PlatformInfo.xcode_sdk_version): Convert SDK version string to Version object
69 (PlatformInfo.xcode_version): Return Version object instead of version string.
70 (PlatformInfo._determine_mac_version): Accept Version object instead of string,
72 (PlatformInfo._determine_win_version): Accept Version object instead of tuple.
73 (PlatformInfo._win_version): Return Version object instead of tuple, have Version
74 object own version string parsing.
75 (PlatformInfo._win_version_tuple): Renamed to _win_version().
76 (PlatformInfo._win_version_tuple_from_cmd): Deleted.
77 * Scripts/webkitpy/common/system/platforminfo_mock.py:
78 (MockPlatformInfo.xcode_sdk_version): Return Version object instead of string.
79 (MockPlatformInfo.xcode_version): Dittio.
80 * Scripts/webkitpy/common/version.py: Added.
81 (Version): Version object.
82 (Version.__init__): Initialize the Version object with a string, integer,
83 tuple of integers, list of integers or another Version object.
84 (Version.__len__): Return 5 so that the Version object can be treated as
86 (Version.__getitem__): Get item in Version object by index or string.
87 (Version.__setitem__): Set item in Version object by index or string.
88 (Version.__str__): Convert version to printable string, omitting trailing 0's.
89 (Version.__cmp__): Compare two version strings, major taking precedence over
90 minor, minor taking precedence over build.
91 * Scripts/webkitpy/common/version_unittest.py: Added.
92 (VersionTestCase): Test behavior of Version object.
93 * Scripts/webkitpy/port/ios.py:
94 (IOSPort.default_baseline_search_path): ios_version now returns a Version object.
95 (IOSPort._is_valid_ios_version): Deleted.
96 (IOSPort.get_option): Deleted.
97 * Scripts/webkitpy/port/ios_device.py:
98 (IOSDevicePort.determine_full_port_name): Use Version object instead of owning parsing.
99 (IOSDevicePort.ios_version): Return Version object instead of string.
100 * Scripts/webkitpy/port/ios_simulator.py:
101 (IOSSimulatorPort.simulator_runtime): Use from_version instead of from_version_string.
102 (IOSSimulatorPort.ios_version): Return Version object instead of string.
103 (IOSSimulatorPort.use_multiple_simulator_apps): Use Version object instead of string.
104 * Scripts/webkitpy/xcode/simulator.py:
105 (Runtime.from_version): Accept Version object instead of string.
106 (Runtime.from_version_string): Replaced by from_version.
107 (Runtime.__repr__): When printing, a runtime's version will be a Version object instead
109 (Simulator._parse_runtimes): Use Version object instead of tuple.
110 (Simulator._parse_devices): Ditto.
111 * Scripts/webkitpy/xcode/simulator_unittest.py: Use Version object instead of tuples.
113 2017-11-09 Basuke Suzuki <Basuke.Suzuki@sony.com>
115 [WinCairo] Cannot find ImageDiff executable
116 https://bugs.webkit.org/show_bug.cgi?id=179508
118 Reviewed by Per Arne Vollan.
120 * Scripts/webkitpy/port/win.py:
122 (WinPort._path_to_image_diff):
123 (WinPort.find_system_pid):
125 2017-11-09 Fujii Hironori <Hironori.Fujii@sony.com>
127 [WinCairo EWS] svn-apply: 'cp' is not recognized as an internal or external command
128 https://bugs.webkit.org/show_bug.cgi?id=179469
130 Reviewed by Per Arne Vollan.
132 WinCairo EWS bots haven't installed Cygwin.
135 (scmCopy): Use 'copy' function instead of 'cp' command.
137 2017-11-09 Carlos Alberto Lopez Perez <clopez@igalia.com>
139 [WPE] Update dyz (WPE MiniBrowser)
140 https://bugs.webkit.org/show_bug.cgi?id=179492
142 Reviewed by Michael Catanzaro.
144 Update it to the last version as of today.
145 This version not longer uses the C API.
147 * wpe/jhbuild.modules:
149 2017-11-09 Christopher Reid <chris.reid@sony.com>
151 Use enum classes within FileSystem
152 https://bugs.webkit.org/show_bug.cgi?id=175172
154 Reviewed by Darin Adler.
156 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
157 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
159 2017-11-09 Brent Fulgham <bfulgham@apple.com>
161 Test fix after r224609
162 https://bugs.webkit.org/show_bug.cgi?id=178565
163 <rdar://problem/11115901>
165 Unreviewed test fix after r224609.
167 Correct two test cases that attempt to push local file URLs in violation of our
168 same origin policies. The fix is to grant universal file access, as we do for similar
171 * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
172 (TestWebKitAPI::TEST):
173 * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
174 (TestWebKitAPI::TEST):
176 2017-11-09 Michael Catanzaro <mcatanzaro@igalia.com>
178 Unreviewed, remove Dan from the soup network watchlist
180 Per his request. It's not Hotel California; we should probably let him leave.
182 * Scripts/webkitpy/common/config/watchlist:
184 2017-11-08 Don Olmstead <don.olmstead@sony.com>
186 Add Windows powershell EWS script
187 https://bugs.webkit.org/show_bug.cgi?id=179453
189 Reviewed by Brent Fulgham.
191 * EWSTools/Start-Queue.ps1: Added.
193 2017-11-08 Jeremy Jones <jeremyj@apple.com>
195 HTMLMediaElement should not use element fullscreen on iOS
196 https://bugs.webkit.org/show_bug.cgi?id=179418
197 rdar://problem/35409277
199 Reviewed by Eric Carlson.
201 Add ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN to determine if HTMLMediaElement should use element full screen or not.
203 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
205 2017-11-08 Tim Horton <timothy_horton@apple.com>
207 [ios-simulator] API test WebKit.BundleParameters is a flaky failure
208 https://bugs.webkit.org/show_bug.cgi?id=178363
209 <rdar://problem/35043144>
211 Reviewed by Brent Fulgham.
213 * TestWebKitAPI/Tests/WTF/RefCounter.cpp:
214 (TestWebKitAPI::TEST):
217 2017-11-08 Wenson Hsieh <wenson_hsieh@apple.com>
219 [Attachment Support] Implement delegate hooks for attachment element insertion and removal
220 https://bugs.webkit.org/show_bug.cgi?id=179016
221 <rdar://problem/35250890>
223 Reviewed by Tim Horton.
225 See WebCore/ChangeLog for more details.
227 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
228 (-[AttachmentUpdateObserver init]):
229 (-[AttachmentUpdateObserver inserted]):
230 (-[AttachmentUpdateObserver removed]):
231 (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
232 (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
233 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
234 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
235 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::observer const):
236 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
237 (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
238 (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
239 (TestWebKitAPI::TEST):
241 2017-11-08 Carlos Garcia Campos <cgarcia@igalia.com>
243 Web Inspector: use JSON::{Array,Object,Value} instead of Inspector{Array,Object,Value}
244 https://bugs.webkit.org/show_bug.cgi?id=173619
246 Reviewed by Brian Burg.
248 Update InspectorValue unit tests to use JSON namespace and add more basic tests to cover all the API.
250 * TestWebKitAPI/PlatformGTK.cmake:
251 * TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp:
252 (TestWebKitAPI::TEST):
254 2017-11-07 Carlos Garcia Campos <cgarcia@igalia.com>
256 REGRESSION(r224179): [GTK] Several WebViewEditor tests are failing since r224179
257 https://bugs.webkit.org/show_bug.cgi?id=179366
259 Reviewed by Michael Catanzaro.
261 Use always a toplevel window for WebViewEditor tests instead of creating and destroying one only to flush editor
264 * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
266 2017-11-07 Carlos Garcia Campos <cgarcia@igalia.com>
268 [GTK][WPE] Build inspector resources using copy-user-interface-resources.pl script
269 https://bugs.webkit.org/show_bug.cgi?id=179317
271 Reviewed by Michael Catanzaro.
273 Move generate-inspector-gresource-manifest.py to glib dir to be shared by GTK+ and WPE ports and update it to
274 receive an input directory instead of a list of patterns.
275 File::Copy::Recursive is required by copy-user-interface-resources.pl, so make sure it's installed.
277 * glib/generate-inspector-gresource-manifest.py: Renamed from Tools/gtk/generate-inspector-gresource-manifest.py.
279 (get_filenames.should_ignore_resource):
280 * gtk/install-dependencies:
281 * wpe/generate-inspector-gresource-manifest.py: Removed.
282 * wpe/install-dependencies:
284 2017-11-07 Don Olmstead <don.olmstead@sony.com>
286 Fix webkitpy tests after rev 224549.
288 Unreviewed build fix.
290 * Scripts/webkitpy/common/config/ports.py:
291 (WinCairoPort.run_webkit_tests_command):
292 * Scripts/webkitpy/common/config/ports_unittest.py:
293 (DeprecatedPortTest.test_wincairo_port):
295 2017-11-07 Aakash Jain <aakash_jain@apple.com>
297 Enable webkitpy EWS bubbles
298 https://bugs.webkit.org/show_bug.cgi?id=178539
300 Reviewed by Alexey Proskuryakov.
302 * QueueStatusServer/config/queues.py: Added webkitpy EWS.
304 2017-11-07 Don Olmstead <don.olmstead@sony.com>
306 Add a WinCairo EWS queue
307 https://bugs.webkit.org/show_bug.cgi?id=179390
309 Reviewed by Lucas Forschler.
311 * QueueStatusServer/config/queues.py:
312 * QueueStatusServer/model/queues.py:
313 * Scripts/webkitpy/common/config/ews.json:
314 * Scripts/webkitpy/common/config/ports.py:
315 * Scripts/webkitpy/common/config/ports_unittest.py:
316 * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
318 2017-11-07 Aakash Jain <aakash_jain@apple.com>
320 fix check-webkit-style errors in webkitpy about not having two spaces before inline comment
321 https://bugs.webkit.org/show_bug.cgi?id=171506
323 Reviewed by Alexey Proskuryakov.
325 * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
326 (SCMTest._shared_test_reverse_diff): Added two spaces before inline comment.
327 (test_create_patch_is_full_patch): Ditto.
328 * Scripts/webkitpy/common/thread/messagepump.py:
329 (MessagePump): Ditto.
330 * Scripts/webkitpy/layout_tests/servers/http_server.py:
331 (Lighttpd._prepare_config): Ditto.
332 * Scripts/webkitpy/style/checker.py: Ditto.
333 * Scripts/webkitpy/style/checkers/cpp_unittest.py:
334 (OrderOfIncludesTest.test_check_preprocessor_in_include_section): Ditto.
336 2017-11-07 Aakash Jain <aakash_jain@apple.com>
338 Add support for webkitpy tests EWS
339 https://bugs.webkit.org/show_bug.cgi?id=178480
341 Reviewed by Alexey Proskuryakov.
343 * Scripts/webkitpy/common/config/ews.json: Added webkitpy EWS.
344 * Scripts/webkitpy/common/net/generictestresults.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults.py.
345 * Scripts/webkitpy/common/net/generictestresults_unittest.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults_unittest.py.
346 * Scripts/webkitpy/tool/bot/patchanalysistask.py:
347 (PatchAnalysisTask._test_patch): Do not retry webkitpy test since they are not flaky.
348 * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Updated import for BindingsTestResult.
349 * Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Ditto.
350 * Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Copied from Scripts/webkitpy/tool/bot/bindingstestresultsreader.py.
351 * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
352 (AbstractEarlyWarningSystem.begin_work_queue): Added webkitpy test result reader.
353 * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
354 * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Run webkitpy EWS only for relevant changes.
355 * Scripts/webkitpy/tool/steps/runtests.py:
356 (RunTests.run): Run webkitpy tests when --group=webkitpy is passed.
357 (RunTests._run_webkitpy_tests): Method to invoke webkitpy tests.
358 * Scripts/webkitpy/tool/steps/steps_unittest.py:
359 (test_runtests_webkitpy): Added unit-test.
361 2017-11-07 Commit Queue <commit-queue@webkit.org>
363 Unreviewed, rolling out r224512 and r224521.
364 https://bugs.webkit.org/show_bug.cgi?id=179388
366 An API test added with this change is failing an assertion on
367 the bots. (Requested by ryanhaddad on #webkit).
371 "[Attachment Support] Implement delegate hooks for attachment
372 element insertion and removal"
373 https://bugs.webkit.org/show_bug.cgi?id=179016
374 https://trac.webkit.org/changeset/224512
376 "Remove stray logging from a newly added API test"
377 https://trac.webkit.org/changeset/224521
379 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
381 Remove stray logging from a newly added API test
383 This was only for debugging purposes, and should have been removed before landing.
385 Rubber-stamped by Tim Horton.
387 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
388 (TestWebKitAPI::TEST):
390 2017-11-06 Jonathan Bedard <jbedard@apple.com>
392 Only build ImageDiff for mac
393 https://bugs.webkit.org/show_bug.cgi?id=179349
394 <rdar://problem/35376237>
396 Reviewed by Tim Horton.
398 * ImageDiff/Makefile:
400 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
402 Unreviewed, fix the internal build after updating to a newer SDK
404 There shouldn't be any need to include and implement these method stubs anymore,
405 even when building against the shipping iOS 11 SDK.
407 * TestWebKitAPI/ios/DataInteractionSimulator.mm:
408 (-[MockDropSession session]): Deleted.
410 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
412 [Attachment Support] Implement delegate hooks for attachment element insertion and removal
413 https://bugs.webkit.org/show_bug.cgi?id=179016
414 <rdar://problem/35250890>
416 Reviewed by Tim Horton.
418 Introduces new API tests to check that various editing operations will or won't result in the new attachment
419 insertion and removal delegate hooks being fired. Additionally refactors an existing test to verify that
420 attachments insertion and removal is observable by the UI delegate.
422 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
423 (-[AttachmentUpdateObserver init]):
424 (-[AttachmentUpdateObserver inserted]):
425 (-[AttachmentUpdateObserver removed]):
426 (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
427 (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
428 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
429 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
430 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
432 Implement a testing mechanism to temporarily bind a UI delegate to a given WKWebView and listen for inserted or
433 removed attachments over the course of a particular scope. The API tests use this mechanism to check that the UI
434 delegate hooks added in this patch are invoked with the right attachments when performing edit commands.
436 (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
437 (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
438 (TestWebKitAPI::TEST):
440 2017-11-06 Christopher Reid <chris.reid@sony.com>
442 Use enum classes within FileSystem
443 https://bugs.webkit.org/show_bug.cgi?id=175172
445 Reviewed by Myles C. Maxfield.
447 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
448 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
450 2017-11-06 Michael Catanzaro <mcatanzaro@igalia.com>
452 [WPE] -Wsign-compare warning in EventSenderProxyWPE.cpp
453 https://bugs.webkit.org/show_bug.cgi?id=179039
455 Reviewed by Žan Doberšek.
457 * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
458 (WTR::EventSenderProxy::updateTouchPoint):
459 (WTR::EventSenderProxy::releaseTouchPoint):
461 2017-11-06 Robin Morisset <rmorisset@apple.com>
463 Add a third benchmark to TailBench
464 https://bugs.webkit.org/show_bug.cgi?id=178815
466 Reviewed by Saam Barati.
468 Add a new benchmark to TailBench: a BF interpreter written in a weird kinda functional style
470 * Scripts/run-jsc-benchmarks:
472 2017-11-04 Michael Catanzaro <mcatanzaro@igalia.com>
474 [GTK] Fix gtk-doc generation with gtk-doc master
475 https://bugs.webkit.org/show_bug.cgi?id=179252
477 Reviewed by Carlos Garcia Campos.
479 gtkdoc-scangobj has changed to no longer use a shell when executing its subcommands. In
480 particular, this means we can no longer rely on shell stuff in our run command that we use
481 to run the scanner. We currently use the RUN envvar to set LD_LIBRARY_PATH, and the end
482 result is gtkdoc-scangobj now attempts to execute our environment variable instead of the
483 scanner itself. We can just set LD_LIBRARY_PATH directly, instead of using RUN, in order to
484 make documentation generation work again.
487 (GTKDoc._run_gtkdoc_scangobj):
489 2017-11-04 Aishwarya Nirmal <anirmal@apple.com>
491 [Touch Bar Web API] Add support for menuitem tag
492 https://bugs.webkit.org/show_bug.cgi?id=179020
494 Reviewed by Ryosuke Niwa.
496 Defines flags for the menu item test so that the element is recognized
497 only while its test is being run.
499 * DumpRenderTree/TestOptions.h:
500 * DumpRenderTree/TestOptions.mm:
501 (TestOptions::TestOptions):
502 * DumpRenderTree/mac/DumpRenderTree.mm:
503 (setWebPreferencesForTestOptions):
504 * WebKitTestRunner/TestController.cpp:
505 (WTR::TestController::resetPreferencesToConsistentValues):
506 (WTR::updateTestOptionsFromTestHeader):
507 * WebKitTestRunner/TestOptions.h:
508 (WTR::TestOptions::hasSameInitializationOptions const):
510 2017-11-03 Andy Estes <aestes@apple.com>
512 [iOS] Append the platform name to the product directory on all embedded platforms
513 https://bugs.webkit.org/show_bug.cgi?id=179271
515 Reviewed by Joseph Pecoraro.
517 * Scripts/webkitdirs.pm:
518 (determineConfigurationProductDir):
520 2017-11-03 Basuke Suzuki <Basuke.Suzuki@sony.com>
522 [WinCairo] Add --wincairo option to run-webkit-tests
523 https://bugs.webkit.org/show_bug.cgi?id=179217
525 Reviewed by Alex Christensen.
527 * Scripts/webkitpy/port/factory.py:
530 2017-11-03 Michael Catanzaro <mcatanzaro@igalia.com>
532 [WPE][GTK] Avoid duplicating code for dist and distcheck targets
533 https://bugs.webkit.org/show_bug.cgi?id=179154
535 Reviewed by Carlos Garcia Campos.
537 Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
538 prefix because it is executable.
540 * Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
542 2017-11-03 Jonathan Bedard <jbedard@apple.com>
544 TestController platformAdjustContext should use provided WKContext for Mac
545 https://bugs.webkit.org/show_bug.cgi?id=179124
546 <rdar://problem/35295176>
548 Reviewed by Darin Adler.
550 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
551 (WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
552 a WebProcessPool, instead of creating a second one.
554 2017-11-02 Christopher Reid <chris.reid@sony.com>
556 Add a FileSystem namespace to FileSystem.cpp
557 https://bugs.webkit.org/show_bug.cgi?id=179063
559 Reviewed by Darin Adler.
561 * DumpRenderTree/win/DumpRenderTree.cpp:
562 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
563 * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
564 * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
565 * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
566 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
567 * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
569 2017-11-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
571 [WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
572 https://bugs.webkit.org/show_bug.cgi?id=179169
574 Reviewed by Michael Catanzaro.
576 Update WPEBackend and WPEBackend-mesa to last master as of today.
578 * wpe/jhbuild.modules:
580 2017-11-02 Frederic Wang <fwang@igalia.com>
582 Add references to bug 179167 in FIXME comments
583 https://bugs.webkit.org/show_bug.cgi?id=179168
585 Reviewed by Daniel Bates.
587 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
589 2017-11-01 Jeremy Jones <jeremyj@apple.com>
591 Implement WKFullscreenWindowController for iOS.
592 https://bugs.webkit.org/show_bug.cgi?id=178924
593 rdar://problem/34697120
595 Reviewed by Simon Fraser.
597 Enable ENABLE_FULLSCREEN_API for iOS.
599 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
601 2017-11-01 Simon Fraser <simon.fraser@apple.com>
603 Misc display list and other cleanup
604 https://bugs.webkit.org/show_bug.cgi?id=179150
606 Reviewed by Tim Horton.
608 Add system trace points for display list recording.
610 * Tracing/SystemTracePoints.plist:
612 2017-11-01 Stephan Szabo <stephan.szabo@sony.com>
614 [Win] Detect Visual Studio 2017 location
615 https://bugs.webkit.org/show_bug.cgi?id=175275
617 Reviewed by Yusuke Suzuki.
620 * Scripts/build-webkit:
621 * Scripts/update-vswhere.py: Added.
622 * Scripts/webkitdirs.pm:
623 (requireModulesForVSWhere):
624 (pickCurrentVisualStudioInstallation):
625 (pickLegacyVisualStudioInstallation):
626 (visualStudioInstallDir):
627 (visualStudioInstallDirVSWhere):
628 (visualStudioInstallDirLegacy):
629 (visualStudioInstallDirFallback):
631 (visualStudioVersion):
632 (visualStudioVersionFromInstallDir):
633 (generateBuildSystemFromCMakeProject):
635 2017-11-01 Tim Horton <timothy_horton@apple.com>
637 Fix the !USE(QUICKLOOK) build
638 https://bugs.webkit.org/show_bug.cgi?id=179128
640 Reviewed by Wenson Hsieh.
642 * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
644 2017-11-01 Frederic Wang <fwang@igalia.com>
646 Make iOS Find UI reveal matches in scrollable elements
647 https://bugs.webkit.org/show_bug.cgi?id=178789
649 Reviewed by Tim Horton.
651 This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
653 * DumpRenderTree/ios/UIScriptControllerIOS.mm:
654 (WTR::UIScriptController::findString): Dummy implementation of findString.
655 * DumpRenderTree/mac/UIScriptControllerMac.mm:
656 (WTR::UIScriptController::findString): Ditto.
657 * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
658 * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
659 (WTR::UIScriptController::findString): Dummy implementation of findString.
660 * TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
661 * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
662 (WTR::UIScriptController::findString): Implement findString by forwarding the call to the
664 * WebKitTestRunner/mac/UIScriptControllerMac.mm:
665 (WTR::UIScriptController::findString): Dummy implementation of findString.
667 2017-11-01 Alex Christensen <achristensen@webkit.org>
669 Add a test for _WKInputDelegate.willSubmitFormValues
670 https://bugs.webkit.org/show_bug.cgi?id=179086
672 Reviewed by Darin Adler.
674 Hidden input types are not included in this submission because FormSubmission::create ignores them
675 because input.isTextField() returns false. This is existing behavior that wasn't shown by a test.
676 HTTPBodies are also not sent to WKURLSchemeHandlers. This is existing behavior that wasn't shown by a test.
678 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
679 * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
680 (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
683 2017-10-31 Ross Kirsling <ross.kirsling@sony.com>
685 Web Inspector: Add Inspector menu items to Mac MiniBrowser
686 https://bugs.webkit.org/show_bug.cgi?id=65218
688 Reviewed by Joseph Pecoraro.
690 Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
691 Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.
693 * MiniBrowser/mac/BrowserWindowController.h:
694 * MiniBrowser/mac/BrowserWindowController.m:
695 (-[BrowserWindowController showHideWebInspector:]):
696 * MiniBrowser/mac/MainMenu.xib:
697 * MiniBrowser/mac/WK1BrowserWindowController.m:
698 (-[WK1BrowserWindowController validateMenuItem:]):
699 (-[WK1BrowserWindowController showHideWebInspector:]):
700 * MiniBrowser/mac/WK2BrowserWindowController.m:
701 (-[WK2BrowserWindowController validateMenuItem:]):
702 (-[WK2BrowserWindowController showHideWebInspector:]):
704 2017-10-31 Alex Christensen <achristensen@webkit.org>
706 Use asynchronous ResourceHandleClient calls for WebKit1
707 https://bugs.webkit.org/show_bug.cgi?id=160677
709 Reviewed by Brady Eidson.
711 * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
712 (TestWebKitAPI::TEST):
713 The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
714 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.
716 2017-10-31 Commit Queue <commit-queue@webkit.org>
718 Unreviewed, rolling out r224143.
719 https://bugs.webkit.org/show_bug.cgi?id=179091
721 The patch requires non-standard perl modules in macOS and
722 breaks AWFY (Requested by yusukesuzuki on #webkit).
726 "[Win] Detect Visual Studio 2017 location"
727 https://bugs.webkit.org/show_bug.cgi?id=175275
728 https://trac.webkit.org/changeset/224143
730 2017-10-31 Tim Horton <timothy_horton@apple.com>
732 Clean up some drag and drop feature flags
733 https://bugs.webkit.org/show_bug.cgi?id=179082
735 Reviewed by Simon Fraser.
737 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
738 * TestWebKitAPI/ios/UIKitSPI.h:
740 2017-10-31 Tim Horton <timothy_horton@apple.com>
742 Fix up some content filtering feature flags
743 https://bugs.webkit.org/show_bug.cgi?id=179079
745 Reviewed by Simon Fraser.
747 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
748 * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
749 (-[MockContentFilterEnabler initWithCoder:]):
750 (-[MockContentFilterEnabler dealloc]):
752 2017-10-31 Youenn Fablet <youenn@apple.com>
754 rwt should allow service worker to load localhost HTTPS resources with any certificate
755 https://bugs.webkit.org/show_bug.cgi?id=179018
757 Reviewed by Chris Dumez.
759 * WebKitTestRunner/TestController.cpp:
760 (WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.
762 2017-10-31 Wenson Hsieh <wenson_hsieh@apple.com>
764 [Attachment Support] Implement WKWebView SPI for inserting attachment elements
765 https://bugs.webkit.org/show_bug.cgi?id=179013
766 <rdar://problem/35249668>
768 Reviewed by Tim Horton.
770 Adds a new API test suite to exercise attachment element insertion and manipulation.
772 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
773 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.
774 (webViewForTestingAttachments):
777 (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
778 (-[TestWKWebView valueOfAttribute:forQuerySelector:]):
779 (TestWebKitAPI::TEST):
781 2017-10-31 Alex Christensen <achristensen@webkit.org>
783 Fix custom header field setting with reloads and asynchronous navigation action policy decisions
784 https://bugs.webkit.org/show_bug.cgi?id=179064
786 Reviewed by Tim Horton.
788 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
789 (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
792 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
794 WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
795 https://bugs.webkit.org/show_bug.cgi?id=176719
797 Reviewed by Chris Dumez.
799 Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
800 sourceFrame parameters when the target frame of the form submission is not the source frame.
802 * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
803 (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
804 * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:
805 (TestWebKitAPI::willSendSubmitEvent):
806 * TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
808 2017-10-30 Alex Christensen <achristensen@webkit.org>
810 ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
811 https://bugs.webkit.org/show_bug.cgi?id=178861
813 Reviewed by Tim Horton.
815 * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
816 (TestWebKitAPI::TEST_F):
818 2017-10-30 Commit Queue <commit-queue@webkit.org>
820 Unreviewed, rolling out r224078.
821 https://bugs.webkit.org/show_bug.cgi?id=179026
823 MotionMark regression (Requested by shallawa on #webkit).
827 "When navigating back to a page, compositing layers may not
828 use accelerated drawing"
829 https://bugs.webkit.org/show_bug.cgi?id=178749
830 https://trac.webkit.org/changeset/224078
832 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
834 [WPE] Fix build warnings
835 https://bugs.webkit.org/show_bug.cgi?id=178899
837 Reviewed by Carlos Alberto Lopez Perez.
839 * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
840 (testContextMenuDownloadActions):
843 * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
844 * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
845 (testWebViewJavaScriptDialogs):
846 * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
847 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
848 * WebKitTestRunner/PlatformWPE.cmake:
849 * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
850 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
851 (WTR::threadDefaultContext): Deleted.
853 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
855 [WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
856 https://bugs.webkit.org/show_bug.cgi?id=178898
858 Reviewed by Žan Doberšek.
860 This patch seems to be unused.
862 * wpe/jhbuild.modules:
863 * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
865 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
867 [WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
868 https://bugs.webkit.org/show_bug.cgi?id=178964
870 Reviewed by Carlos Alberto Lopez Perez.
872 * TestWebKitAPI/PlatformWPE.cmake:
874 2017-10-12 Frederic Wang <fwang@igalia.com>
876 Remove support for running safari on the iOS simulator with Xcode < 9.0
877 https://bugs.webkit.org/show_bug.cgi?id=178203
879 Reviewed by Alexey Proskuryakov.
881 This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
882 and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
883 special case to calculate the iOS simulator applications path for these old versions.
885 * Scripts/webkitdirs.pm:
886 (iosSimulatorApplicationsPath): Remove special case for XCode < 9.0
888 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
890 [WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
891 https://bugs.webkit.org/show_bug.cgi?id=168219
893 Reviewed by Ryosuke Niwa.
897 * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
898 (testWebViewEditorCutCopyPasteNonEditable):
899 (testWebViewEditorCutCopyPasteEditable):
900 (testWebViewEditorSelectAllNonEditable):
901 (testWebViewEditorSelectAllEditable):
902 (loadContentsAndTryToCutSelection):
903 (testWebViewEditorNonEditable):
904 (testWebViewEditorEditorStateTypingAttributes):
905 (testWebViewEditorInsertImage):
906 (testWebViewEditorCreateLink):
908 2017-10-28 Michael Catanzaro <mcatanzaro@igalia.com>
910 [WPE] Build gst-plugins-base without pango support
911 https://bugs.webkit.org/show_bug.cgi?id=178918
913 Reviewed by Carlos Garcia Campos.
915 We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
916 conditions so we can make platform-specific changes in the shared GStreamer moduleset.
918 * gstreamer/jhbuild.modules:
922 2017-10-27 Stephan Szabo <stephan.szabo@sony.com>
924 [Win] Detect Visual Studio 2017 location
925 https://bugs.webkit.org/show_bug.cgi?id=175275
927 Reviewed by Per Arne Vollan.
930 * Scripts/build-webkit:
931 * Scripts/update-vswhere.py: Added.
932 * Scripts/webkitdirs.pm:
933 (pickCurrentVisualStudioInstallation):
934 (pickLegacyVisualStudioInstallation):
935 (visualStudioInstallDir):
936 (visualStudioInstallDirVSWhere):
937 (visualStudioInstallDirLegacy):
938 (visualStudioInstallDirFallback):
940 (visualStudioVersion):
941 (visualStudioVersionFromInstallDir):
942 (generateBuildSystemFromCMakeProject):
944 2017-10-27 Devin Rousso <webkit@devinrousso.com>
946 Create watchlist for files related WebInspector Recording
947 https://bugs.webkit.org/show_bug.cgi?id=178965
949 Reviewed by Joseph Pecoraro.
951 * Scripts/webkitpy/common/config/watchlist:
953 2017-10-27 Jonathan Bedard <jbedard@apple.com>
955 Windows and WebViews are retained after re-configure
956 https://bugs.webkit.org/show_bug.cgi?id=178902
957 <rdar://problem/35211518>
959 Reviewed by Alexey Proskuryakov.
961 The test runner effectively leaks windows every time a test changes configuration.
962 We give each test it's own AutoreleasePool to fix this problem.
964 * WebKitTestRunner/TestController.cpp:
965 (WTR::TestController::runTest): Add an AutoRelease pool scoping a test run
966 so that when a configuration changes, the old window and WebView are released.
968 2017-10-27 Eric Carlson <eric.carlson@apple.com>
970 NowPlayingInfo should contain a unique identifier
971 https://bugs.webkit.org/show_bug.cgi?id=178872
972 <rdar://problem/34924012>
974 Unreviewed, fix a flakey test.
976 * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
977 (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Update _lastUpdatedElapsedTime.
978 (-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]): Deleted.
980 2017-10-27 Fujii Hironori <Hironori.Fujii@sony.com>
982 autoinstall can't download from http://pypi.python.org
983 https://bugs.webkit.org/show_bug.cgi?id=178925
985 Reviewed by Ryosuke Niwa.
987 The web server pypi.python.org rejects non secure http.
989 * Scripts/webkitpy/thirdparty/__init__.py:
990 (AutoinstallImportHook._install_mechanize): Use https instead of http.
991 (AutoinstallImportHook._install_pep8): Ditto.
992 (AutoinstallImportHook._install_pylint): Ditto.
993 (AutoinstallImportHook._install_buildbot): Ditto.
994 (AutoinstallImportHook._install_coverage): Ditto.
996 2017-10-26 Fujii Hironori <Hironori.Fujii@sony.com>
998 [GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
999 https://bugs.webkit.org/show_bug.cgi?id=178854
1001 Reviewed by Michael Catanzaro.
1003 * Scripts/webkitpy/port/base.py:
1004 (Port._debian_php_version): Return "-php7.1" if libphp7.1.so found.
1005 (Port._is_debian_php_version_7): Deleted.
1006 * gtk/install-dependencies: Install libapache2-mod-php instead of libapache2-mod-php7.0.
1007 * wpe/install-dependencies: Ditto.
1009 2017-10-25 Simon Fraser <simon.fraser@apple.com>
1011 When navigating back to a page, compositing layers may not use accelerated drawing
1012 https://bugs.webkit.org/show_bug.cgi?id=178749
1013 rdar://problem/35158946
1015 Reviewed by Dean Jackson.
1017 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
1018 and use it to set the state of the web view.
1020 * DumpRenderTree/TestOptions.h:
1021 * DumpRenderTree/TestOptions.mm:
1022 (TestOptions::TestOptions):
1023 * DumpRenderTree/mac/DumpRenderTree.mm:
1024 (setWebPreferencesForTestOptions):
1025 * WebKitTestRunner/TestController.cpp:
1026 (WTR::TestController::resetPreferencesToConsistentValues):
1027 (WTR::updateTestOptionsFromTestHeader):
1028 * WebKitTestRunner/TestOptions.h:
1029 (WTR::TestOptions::hasSameInitializationOptions const):
1031 2017-10-26 Alex Christensen <achristensen@webkit.org>
1033 Move WKWebViewConfiguration validation to WKWebView construction
1034 https://bugs.webkit.org/show_bug.cgi?id=178840
1036 Reviewed by Tim Horton.
1038 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1039 * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Added.
1042 2017-10-26 Myles C. Maxfield <mmaxfield@apple.com>
1044 Demonstrate a possible structure of the WebGPU API
1045 https://bugs.webkit.org/show_bug.cgi?id=178874
1047 Reviewed by Dean Jackson.
1049 Over the past few weeks, we've been putting together an example showing that a WebGPU API
1050 which has implicit barriers can work on all three low-level graphics APIs. We've implemented
1051 it on top of Vulkan first, because this is the API which has the strictest requirements and
1052 is most difficult to use.
1054 With this API, this is a valid WebGPU snippet:
1056 auto device = WebGPU::Device::create(hInstance, hWnd);
1057 auto& commandQueue = device->getCommandQueue();
1058 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { }, nullptr);
1060 … later, in the draw() function …
1062 auto renderPass = commandQueue->createRenderPass(nullptr);
1063 renderPass->setRenderState(renderState);
1064 renderPass->setViewport(0, 0, width, height);
1065 renderPass->setScissorRect(0, 0, width, height);
1066 renderPass->draw(3);
1067 commandQueue->commitRenderPass(std::move(renderPass));
1068 commandQueue->present();
1070 This snippet doesn’t hook up any vertex attributes or resources, which means the vertex
1071 shader has to say something like ({vec4(…), vec4(…), vec4(…)})[gl_VertexIndex]. It also
1072 passes in “nullptr” when creating the render pass, which means “render to the screen, rather
1073 than to a frame buffer.” You can also see that it doesn’t attach any resources to the draw
1076 In Direct3D 12 and Vulkan, resources are bound in sets, rather than individually. For
1077 example, a set might contain two uniform buffers, a texture, and another uniform buffer. At
1078 draw time, you swap in whole sets of resources with a single call. A shader invocation can
1079 access a collection of sets. Because all shader resource accesses are indirected through
1080 these sets, the shape of these sets needs to be supplied at the time you compile the render
1081 state. Here is a snippet which bounds a single set which contains a uniform buffer and a
1084 auto buffer = device->getBuffer(bufferInitialContents);
1085 auto texture = device->getTexture(buffer width, height, WebGPU::PixelFormat::RGBA8, textureInitialContents);
1086 // One resource set, which holds a single uniform buffer object and a single texture
1087 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { { WebGPU::ResourceType::UniformBufferObject, WebGPU::ResourceType::Texture } }, nullptr);
1089 … later, in the draw() function …
1091 auto renderPass = commandQueue->createRenderPass(nullptr);
1092 renderPass->setRenderState(renderState);
1093 renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()), WebGPU::TextureReference(texture.get()) });
1095 renderPass->draw(3);
1096 commandQueue->commitRenderPass(std::move(renderPass));
1097 commandQueue->present();
1099 The first argument to the setResources() call identifies which set to populate with the supplied resources.
1101 One tenant of the low-level graphics APIs is that, if you’ve enabled double buffering (or
1102 triple buffering), the GPU is executing one frame at the same time you are recording the
1103 next frame. This often means that you need duplicate resources so the CPU and GPU don’t step
1104 on each other’s toes. However, platforms have platform-specific requirements about whether
1105 or not they can be double / triple buffered, and we don’t want to expose this to the Web for
1106 fear of badly-authored programs.
1108 To solve this, resources are reference counted, and the return type of getBuffer() is an
1109 RAII type called BufferHolder which increments and decrements the reference count
1110 automatically. The reference count is also incremented and decremented when the GPU is using
1111 the resource in a Pass. When the reference count reaches 0, the resource isn’t destroyed;
1112 instead, it’s simply moved to a “free list” which getBuffer() may pull from. Therefore,
1113 applications don’t need to know whether the frame buffer is double buffered or triple
1114 buffered; they can just getBuffer() each frame, and the correct number of buffers will be
1115 created and recycled.
1118 auto buffer = device->getBuffer(bufferSize); // These get recycled
1119 … populate the buffer …
1120 auto renderPass = commandQueue->createRenderPass(nullptr);
1121 renderPass->setRenderState(renderState);
1122 renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()) });
1124 renderPass->draw(…);
1125 commandQueue->commitRenderPass(std::move(renderPass));
1127 commandQueue->present();
1129 In Direct3D and Vulkan, vertex buffers and index buffers are not part of the resource sets
1130 mentioned above. Instead, you tell the render state about the shape of the vertex and index
1131 buffers, and you swap them out independently in the draw loop. Metal and Vulkan have almost
1132 identical API to specify this shape of the vertex buffers, so I’ve mostly copied it. In this
1133 example, we have two vertex attributes, a vec2 and a vec3, which both come from the same
1136 // { Attribute format, offset within stride, buffer to pull from }
1137 std::vector<WebGPU::RenderState::VertexAttribute> vertexAttributes = { {WebGPU::RenderState::VertexFormat::Float2, 0, 0}, {WebGPU::RenderState::VertexFormat::Float3, sizeof(float) * 2, 0} };
1138 // A single vertex buffer, with a stride of 5 floats
1139 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { sizeof(float) * 5 }, vertexAttributes, resourceTypes, nullptr);
1141 … later, in the draw() function …
1143 auto renderPass = commandQueue->createRenderPass(nullptr);
1144 renderPass->setRenderState(renderState);
1145 renderPass->setVertexAttributeBuffers({ vertexBuffer.get() }); // The one vertex buffer which both attributes pull from
1146 renderPass->setResources(…);
1148 renderPass->draw(…);
1149 commandQueue->commitRenderPass(std::move(renderPass));
1150 commandQueue->present();
1152 You can also tell the RenderState about how many render targets you have and their formats,
1153 and then when you create the RenderPass, you specify the specific textures you want to
1156 std::vector<WebGPU::PixelFormat> colorPixelFormats = { WebGPU::PixelFormat::RGBA8, WebGPU::PixelFormat::RGBA8 }; // Two render targets, with these formats
1157 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", vertexBufferStrides, vertexAttributes, resourceTypes, &colorPixelFormats);
1159 … later, in the draw() function …
1161 std::vector<std::reference_wrapper<WebGPU::Texture>> destinationTextures = { texture1->get(), texture2->get() };
1162 auto renderPass = commandQueue->createRenderPass(&destinationTextures);
1163 renderPass->setRenderState(renderState);
1165 renderPass->draw(…);
1166 commandQueue->commitRenderPass(std::move(renderPass));
1168 // Now, draw one of the textures to the screen. Note that no synchronization is necessary here!
1169 auto renderPass = commandQueue->createRenderPass(nullptr);
1170 renderPass->setRenderState(renderState2);
1171 renderPass->setResources(0, { WebGPU:: TextureReference(texture1.get()) });
1173 renderPass->draw(…);
1174 commandQueue->commitRenderPass(std::move(renderPass));
1175 commandQueue->present();
1177 Just like how in Metal has Render Encoders and Compute Encoders, WebGPU has RenderPasses
1180 auto& computeState = device->getComputeState(computeShader, "main", resourceTypes);
1182 auto computePass = commandQueue->createComputePass();
1183 computePass->setComputeState(computeState);
1184 computePass->setResources(0, resources);
1185 computePass->dispatch(width, height, depth);
1186 commandQueue->commitComputePass(std::move(computePass));
1188 // Now, draw the resources we just computed. Note that no synchronization is necessary here!
1189 auto renderPass = commandQueue->createRenderPass(nullptr);
1190 renderPass->setRenderState(renderState);
1191 renderPass->setResources(0, resources });
1193 renderPass->draw(…);
1194 commandQueue->commitRenderPass(std::move(renderPass));
1195 commandQueue->present();
1197 There are also two other types of passes: one that corresponds to a Metal blit encoder, and
1198 one that allows the CPU to change the contents of GPU buffers and textures. This last kind
1199 of pass is a little interesting: you can’t just change the contents of a buffer at any time
1200 you feel like it, because that resource might be in use by the GPU. Therefore, we need to do
1201 the same kind of synchronization that we already do at render pass boundaries.
1203 In addition, both Vulkan and Direct3D have a concept of a memory heap. A resource might
1204 exist inside a heap which is fast, but invisible from the CPU, or in a heap which is slow,
1205 but visible by the CPU. Certain operations are not possible from some types of images (e.g.
1206 non-tiled textures may not be able to be sampled from). The usual way to get around this
1207 problem is to have two resources: a slow staging resource which the CPU can see, and a fast
1208 resource which the CPU can’t see. Uploading data is a two-pass algorithm, where the CPU
1209 memcpy()s into the slow staging resource, and then a blit command is enqueued on the GPU to
1210 copy the contents of the staging resource to the real resource. This requires that the
1211 upload have access to the commandQueue so it can possibly enqueue a blit between the staging
1212 and real resources. Therefore, a pass is the right level of abstraction for these facilities.
1214 std::queue<boost::unique_future<std::vector<uint8_t>>> futureQueue; // Promises for data downloads from the GPU
1216 … later, in the draw() function …
1218 // See if any of the previously-enqueued downloads are finished
1219 while (!futureQueue.empty() && futureQueue.front(). has_value()) {
1220 std::vector<uint8_t>& data = futureQueue.front().get();
1221 // Use the downloaded data
1225 auto hostAccessPass = commandQueue->createHostAccessPass();
1226 hostAccessPass->overwriteBuffer(buffer->get(), bufferContents); // Upload data to a resource
1228 futureQueue.emplace(hostAccessPass->getBufferContents(buffer->get()));
1229 commandQueue->commitHostAccessPass(std::move(hostAccessPass));
1231 You can also issue copy commands between resources entirely on the GPU:
1233 auto blitPass = commandQueue->createBlitPass();
1234 blitPass->copyTexture(source->get(), destination->get(), sourceX, sourceY, destinationX, destinationY, width, height);
1235 commandQueue->commitBlitPass(std::move(blitPass));
1237 * Scripts/webkitpy/style/checker.py:
1238 * WebGPUAPIStructure/Example/Example.cpp: Added.
1245 * WebGPUAPIStructure/Example/Example.h: Added.
1246 * WebGPUAPIStructure/Example/Example.ico: Added.
1247 * WebGPUAPIStructure/Example/Example.rc: Added.
1248 * WebGPUAPIStructure/Example/Example.vcxproj: Added.
1249 * WebGPUAPIStructure/Example/Example.vcxproj.filters: Added.
1250 * WebGPUAPIStructure/Example/Example.vcxproj.user: Added.
1251 * WebGPUAPIStructure/Example/resource.h: Added.
1252 * WebGPUAPIStructure/Example/small.ico: Added.
1253 * WebGPUAPIStructure/Example/stdafx.cpp: Added.
1254 * WebGPUAPIStructure/Example/stdafx.h: Added.
1255 * WebGPUAPIStructure/Example/targetver.h: Added.
1256 * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Added.
1257 * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Added.
1258 * WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Added.
1259 (WebGPU::BufferHolder::BufferHolder):
1260 (WebGPU::BufferHolder::~BufferHolder):
1261 (WebGPU::TextureHolder::TextureHolder):
1262 (WebGPU::TextureHolder::~TextureHolder):
1263 (WebGPU::SamplerHolder::SamplerHolder):
1264 (WebGPU::SamplerHolder::~SamplerHolder):
1265 * WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Added.
1266 (WebGPU::Queue::~Queue):
1267 (WebGPU::RenderState::~RenderState):
1268 (WebGPU::ComputeState::~ComputeState):
1269 (WebGPU::Buffer::~Buffer):
1270 (WebGPU::Texture::~Texture):
1271 (WebGPU::Sampler::~Sampler):
1272 (WebGPU::TextureReference::TextureReference):
1273 (WebGPU::TextureReference::get const):
1274 (WebGPU::SamplerReference::SamplerReference):
1275 (WebGPU::SamplerReference::get const):
1276 (WebGPU::UniformBufferObjectReference::UniformBufferObjectReference):
1277 (WebGPU::UniformBufferObjectReference::get const):
1278 (WebGPU::ShaderStorageBufferObjectReference::ShaderStorageBufferObjectReference):
1279 (WebGPU::ShaderStorageBufferObjectReference::get const):
1280 (WebGPU::RenderPass::~RenderPass):
1281 (WebGPU::ComputePass::~ComputePass):
1282 (WebGPU::BlitPass::~BlitPass):
1283 (WebGPU::HostAccessPass::~HostAccessPass):
1284 (WebGPU::BufferHolder::get):
1285 (WebGPU::TextureHolder::get):
1286 (WebGPU::SamplerHolder::get):
1287 (WebGPU::Device::~Device):
1288 * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Added.
1289 (WebGPU::BlitPassImpl::BlitPassImpl):
1290 (WebGPU::BlitPassImpl::copyTexture):
1291 * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Added.
1292 * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Added.
1293 (WebGPU::BufferImpl::BufferImpl):
1294 (WebGPU::BufferImpl::decrementReferenceCount):
1295 * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Added.
1296 (WebGPU::BufferImpl::getBuffer const):
1297 (WebGPU::BufferImpl::getDeviceMemory const):
1298 (WebGPU::BufferImpl::incrementReferenceCount):
1299 (WebGPU::BufferImpl::getLength const):
1300 * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Added.
1301 (WebGPU::ComputePassImpl::ComputePassImpl):
1302 (WebGPU::ComputePassImpl::setComputeState):
1303 (WebGPU::ComputePassImpl::setResources):
1304 (WebGPU::ComputePassImpl::dispatch):
1305 * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Added.
1306 * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Added.
1307 (WebGPU::ComputeStateImpl::ComputeStateImpl):
1308 * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Added.
1309 (WebGPU::ComputeStateImpl::getPipeline const):
1310 (WebGPU::ComputeStateImpl::getPipelineLayout const):
1311 (WebGPU::ComputeStateImpl::getDescriptorSetLayouts const):
1312 * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Added.
1313 (WebGPU::Device::create):
1314 (WebGPU::convertPixelFormat):
1315 (WebGPU::convertFormat):
1316 (WebGPU::debugReport):
1317 (WebGPU::DeviceImpl::DeviceImpl):
1318 (WebGPU::DeviceImpl::getCommandQueue):
1319 (WebGPU::DeviceImpl::prepareShader):
1320 (WebGPU::DeviceImpl::createPipelineLayout):
1321 (WebGPU::DeviceImpl::createCompatibleRenderPass):
1322 (WebGPU::convertVertexFormat):
1323 (WebGPU::DeviceImpl::getRenderState):
1324 (WebGPU::DeviceImpl::getComputeState):
1325 (WebGPU::DeviceImpl::getBuffer):
1326 (WebGPU::DeviceImpl::returnBuffer):
1327 (WebGPU::DeviceImpl::getTexture):
1328 (WebGPU::DeviceImpl::returnTexture):
1329 (WebGPU::DeviceImpl::getSampler):
1330 (WebGPU::DeviceImpl::returnSampler):
1331 (WebGPU::DeviceImpl::~DeviceImpl):
1332 * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Added.
1333 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::UniqueDebugReportCallbackEXT):
1334 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::operator=):
1335 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::~UniqueDebugReportCallbackEXT):
1336 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::destroy):
1337 (WebGPU::DeviceImpl::TextureParameters::operator== const):
1338 (WebGPU::DeviceImpl::TextureParametersHash::operator() const):
1339 * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Added.
1340 (WebGPU::HostAccessPassImpl::HostAccessPassImpl):
1341 (WebGPU::HostAccessPassImpl::overwriteBuffer):
1342 (WebGPU::HostAccessPassImpl::getBufferContents):
1343 (WebGPU::HostAccessPassImpl::execute):
1344 * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Added.
1345 (WebGPU::HostAccessPassImpl::getFinishedEvent const):
1346 * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Added.
1347 (WebGPU::PassImpl::PassImpl):
1348 (WebGPU::ResourceVisitor::operator()):
1349 (WebGPU::ResourceVisitor::getBindings const):
1350 (WebGPU::ResourceVisitor::releaseWriteDescriptorSets):
1351 (WebGPU::ResourceVisitor::getDescriptorImageInfos const):
1352 (WebGPU::ResourceVisitor::getDescriptorBufferInfos const):
1353 (WebGPU::ResourceVisitor::getBuffers const):
1354 (WebGPU::ResourceVisitor::getTextures const):
1355 (WebGPU::ResourceVisitor::getSamplers const):
1356 (WebGPU::ResourceVisitor::getImageCount const):
1357 (WebGPU::ResourceVisitor::getSamplerCount const):
1358 (WebGPU::ResourceVisitor::getUniformBufferCount const):
1359 (WebGPU::ResourceVisitor::getStorageBufferCount const):
1360 (WebGPU::PassImpl::setResources):
1361 (WebGPU::PassImpl::insertBuffer):
1362 (WebGPU::PassImpl::insertTexture):
1363 (WebGPU::PassImpl::insertSampler):
1364 * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h: Added.
1365 (WebGPU::PassImpl::getCommandBuffer const):
1366 (WebGPU::PassImpl::iterateBuffers):
1367 (WebGPU::PassImpl::iterateTextures):
1368 (WebGPU::PassImpl::ResourceReference::ResourceReference):
1369 (WebGPU::PassImpl::ResourceReference::~ResourceReference):
1370 (WebGPU::PassImpl::ResourceReference::operator=):
1371 (WebGPU::PassImpl::ResourceReference::operator== const):
1372 (WebGPU::PassImpl::ResourceReference::get const):
1373 (WebGPU::PassImpl::ResourceReference::release):
1374 (WebGPU::PassImpl::ResourceReferenceHash::operator() const):
1375 * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp: Added.
1376 (WebGPU::QueueImpl::QueueImpl):
1377 (WebGPU::QueueImpl::prepareCurrentFrame):
1378 (WebGPU::QueueImpl::createSpecificRenderPass):
1379 (WebGPU::QueueImpl::createFramebuffer):
1380 (WebGPU::QueueImpl::createRenderPass):
1381 (WebGPU::QueueImpl::commitRenderPass):
1382 (WebGPU::QueueImpl::createComputePass):
1383 (WebGPU::QueueImpl::commitComputePass):
1384 (WebGPU::QueueImpl::createBlitPass):
1385 (WebGPU::QueueImpl::commitBlitPass):
1386 (WebGPU::QueueImpl::createHostAccessPass):
1387 (WebGPU::QueueImpl::commitHostAccessPass):
1388 (WebGPU::QueueImpl::present):
1389 (WebGPU::QueueImpl::commitPass):
1390 (WebGPU::QueueImpl::synchronizeResources):
1391 (WebGPU::QueueImpl::~QueueImpl):
1392 * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h: Added.
1393 * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp: Added.
1394 (WebGPU::RenderPassImpl::RenderPassImpl):
1395 (WebGPU::RenderPassImpl::setRenderState):
1396 (WebGPU::RenderPassImpl::setVertexAttributeBuffers):
1397 (WebGPU::RenderPassImpl::setResources):
1398 (WebGPU::RenderPassImpl::setViewport):
1399 (WebGPU::RenderPassImpl::setScissorRect):
1400 (WebGPU::RenderPassImpl::draw):
1401 * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h: Added.
1402 * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp: Added.
1403 (WebGPU::RenderStateImpl::RenderStateImpl):
1404 * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h: Added.
1405 (WebGPU::RenderStateImpl::getPipeline const):
1406 (WebGPU::RenderStateImpl::getPipelineLayout const):
1407 (WebGPU::RenderStateImpl::getDescriptorSetLayouts const):
1408 * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp: Added.
1409 (WebGPU::SamplerImpl::SamplerImpl):
1410 (WebGPU::SamplerImpl::decrementReferenceCount):
1411 * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h: Added.
1412 (WebGPU::SamplerImpl::getSampler):
1413 (WebGPU::SamplerImpl::incrementReferenceCount):
1414 (WebGPU::SamplerImpl::getFilter):
1415 (WebGPU::SamplerImpl::getMipmapMode):
1416 (WebGPU::SamplerImpl::getAddressMode):
1417 * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp: Added.
1418 (WebGPU::TextureImpl::TextureImpl):
1419 (WebGPU::TextureImpl::decrementReferenceCount):
1420 * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h: Added.
1421 (WebGPU::TextureImpl::getImage const):
1422 (WebGPU::TextureImpl::getImageView const):
1423 (WebGPU::TextureImpl::getFormat const):
1424 (WebGPU::TextureImpl::incrementReferenceCount):
1425 (WebGPU::TextureImpl::getWidth const):
1426 (WebGPU::TextureImpl::getHeight const):
1427 (WebGPU::TextureImpl::getTransferredToGPU const):
1428 (WebGPU::TextureImpl::setTransferredToGPU):
1429 * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj: Added.
1430 * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters: Added.
1431 * WebGPUAPIStructure/WebGPU.sln: Added.
1433 2017-10-26 Eric Carlson <eric.carlson@apple.com>
1435 NowPlayingInfo should contain a unique identifier
1436 https://bugs.webkit.org/show_bug.cgi?id=178872
1438 Reviewed by Jer Noble.
1440 * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
1441 (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Use completion handler.
1442 (TestWebKitAPI::TEST): Cleanup tests. Use new API.
1443 (-[NowPlayingTestWebView waitForNowPlayingInfoToChange]): Deleted.
1445 2017-10-26 Eric Carlson <eric.carlson@apple.com>
1447 [MediaStream] Clear cached gUM prompt state
1448 https://bugs.webkit.org/show_bug.cgi?id=178754
1449 <rdar://problem/32742356>
1451 Unreviewed, fix a flakey test.
1453 * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
1454 (-[GetUserMediaRepromptTestView haveStream:]): New, check several times for expected state.
1455 (TestWebKitAPI::TEST): Don't assume stream state changes in the page immediately.
1457 2017-10-26 Andy Estes <aestes@apple.com>
1459 [Payment Request] Enable Payment Request whenever Apple Pay is enabled
1460 https://bugs.webkit.org/show_bug.cgi?id=178880
1462 Reviewed by Tim Horton.
1464 * WebKitTestRunner/TestController.cpp:
1465 (WTR::TestController::resetPreferencesToConsistentValues):
1467 2017-10-26 Joseph Pecoraro <pecoraro@apple.com>
1469 Add and update some watchlists
1470 https://bugs.webkit.org/show_bug.cgi?id=178304
1472 Reviewed by Simon Fraser.
1474 * Scripts/webkitpy/common/config/watchlist:
1476 2017-10-26 Ryan Haddad <ryanhaddad@apple.com>
1478 Unreviewed, rolling out r223984.
1480 Caused LayoutTest assertion failures.
1484 "When navigating back to a page, compositing layers may not
1485 use accelerated drawing"
1486 https://bugs.webkit.org/show_bug.cgi?id=178749
1487 https://trac.webkit.org/changeset/223984
1489 2017-10-26 Christopher Reid <chris.reid@sony.com>
1491 Remove scopeguard from platform
1492 https://bugs.webkit.org/show_bug.cgi?id=178681
1494 Reviewed by Brady Eidson.
1496 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
1498 2017-09-21 Carlos Garcia Campos <cgarcia@igalia.com>
1500 WebDriver: Add support to import and run W3C tests
1501 https://bugs.webkit.org/show_bug.cgi?id=177304
1503 Reviewed by Brian Burg.
1505 WPT has now several WebDriver tests, and new ones are going to be added to cover the whole spec. This patch
1506 adds the initial support for running W3C tests. The script import-w3c-webdriver-tests reuses parts of the W3C
1507 test downloader to download the tests and required tools from WPT repository into WebDriverTests
1508 directory. Tests can be run with run-webdriver-tests, a new script that works similar to other test runner
1509 scripts. For now it shows a summary at the end of the execution, there aren't expectations yet, since we are not
1510 ready to run those tests in the bots. Once we are ready to properly run the tests, we can add the expectations
1511 support and run the tests in the bots.
1513 * Scripts/import-w3c-webdriver-tests: Added.
1514 * Scripts/run-webdriver-tests: Added.
1515 * Scripts/webkitpy/style/checker.py: Skip WebDriverTests directory since it only contains third-party python
1517 * Scripts/webkitpy/thirdparty/__init__.py: Add support to autodownload mozlog and mozprocess since they are
1518 required by the WebDriver tests.
1519 * Scripts/webkitpy/webdriver_tests/__init__.py: Added.
1520 * Scripts/webkitpy/webdriver_tests/webdriver_driver.py: Added.
1521 * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py: Added.
1522 * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py: Added.
1523 * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Added.
1524 * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: Added.
1525 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Added.
1526 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: Added.
1528 2017-10-25 Eric Carlson <eric.carlson@apple.com>
1530 [MediaStream] Clear cached gUM prompt state
1531 https://bugs.webkit.org/show_bug.cgi?id=178754
1532 <rdar://problem/32742356>
1534 Reviewed by Youenn Fablet.
1536 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test
1538 * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: Added.
1539 (-[GetUserMediaRepromptUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
1540 (-[GetUserMediaRepromptUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
1541 (TestWebKitAPI::TEST):
1543 * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
1545 2017-10-25 Ross Kirsling <ross.kirsling@sony.com>
1547 Add committer status for Ross Kirsling
1548 https://bugs.webkit.org/show_bug.cgi?id=178832
1552 * Scripts/webkitpy/common/config/contributors.json:
1554 2017-10-25 Simon Fraser <simon.fraser@apple.com>
1556 When navigating back to a page, compositing layers may not use accelerated drawing
1557 https://bugs.webkit.org/show_bug.cgi?id=178749
1558 rdar://problem/35158946
1560 Reviewed by Dean Jackson.
1562 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
1563 and use it to set the state of the web view.
1565 * DumpRenderTree/TestOptions.h:
1566 * DumpRenderTree/TestOptions.mm:
1567 (TestOptions::TestOptions):
1568 * DumpRenderTree/mac/DumpRenderTree.mm:
1569 (setWebPreferencesForTestOptions):
1570 * WebKitTestRunner/TestController.cpp:
1571 (WTR::TestController::resetPreferencesToConsistentValues):
1572 (WTR::updateTestOptionsFromTestHeader):
1573 * WebKitTestRunner/TestOptions.h:
1574 (WTR::TestOptions::hasSameInitializationOptions const):
1576 2017-10-25 Robin Morisset <rmorisset@apple.com>
1578 Support the TailBench9000 benchmark in run-jsc-benchmarks
1579 https://bugs.webkit.org/show_bug.cgi?id=178451
1581 Reviewed by Saam Barati.
1583 * Scripts/run-jsc-benchmarks:
1585 2017-10-25 Adrian Perez de Castro <aperez@igalia.com>
1587 [WPE] Remove GLib API functions which use Cairo
1588 https://bugs.webkit.org/show_bug.cgi?id=178205
1590 Reviewed by Michael Catanzaro.
1592 Add PLATFORM(GTK) guards for the API tests (or parts of them) which use cairo_surface_t (web
1593 page snapshots and favicons) which are not available in the WPE version of the GLib API.
1595 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
1596 (testNotInitialized):
1597 (testPrivateBrowsing):
1598 (testFaviconDatabase):
1599 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
1600 (testFindControllerHide):
1602 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1603 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
1605 2017-10-25 Zan Dobersek <zdobersek@igalia.com>
1607 Make SERVICE_WORKER feature buildable on GTK, WPE
1608 https://bugs.webkit.org/show_bug.cgi?id=178574
1610 Reviewed by Carlos Garcia Campos.
1612 * Scripts/webkitperl/FeatureList.pm: Add the --service-worker option
1613 that enables the SERVICE_WORKER feature flag. For now it's enabled
1614 on Apple's Cocoa ports (even when build-webkit isn't used for those
1615 builds, the flag is enabled here for consistency).
1617 2017-10-24 Michael Catanzaro <mcatanzaro@igalia.com>
1619 Unreviewed, fix name of Perl LibXML package on Fedora
1620 https://bugs.webkit.org/show_bug.cgi?id=178206
1621 <rdar://problem/35028586>
1623 * gtk/install-dependencies:
1624 * wpe/install-dependencies:
1626 2017-10-24 Alex Christensen <achristensen@webkit.org>
1628 Selecting and right-clicking URL-like strings with IDNA-disallowed characters in host or authority causes rendering engine crash
1629 https://bugs.webkit.org/show_bug.cgi?id=174267
1631 Reviewed by Tim Horton.
1633 * TestWebKitAPI/Tests/WebKit/CanHandleRequest_Bundle.cpp:
1634 (TestWebKitAPI::runTest):
1636 2017-10-24 Eric Carlson <eric.carlson@apple.com>
1638 Web Inspector: Enable WebKit logging configuration and display
1639 https://bugs.webkit.org/show_bug.cgi?id=177027
1640 <rdar://problem/33964767>
1642 Reviewed by Joseph Pecoraro.
1644 Allow new 'dumpJSConsoleLogInStdErr' test header to redirect log console output to stderr.
1646 * DumpRenderTree/TestOptions.h:
1647 * DumpRenderTree/TestOptions.mm:
1648 (TestOptions::TestOptions):
1649 * DumpRenderTree/mac/DumpRenderTree.mm:
1651 * WebKitTestRunner/TestController.cpp:
1652 (WTR::updateTestOptionsFromTestHeader):
1653 (WTR::TestController::runTest):
1654 * WebKitTestRunner/TestOptions.h:
1655 (WTR::TestOptions::hasSameInitializationOptions const):
1657 2017-10-24 Alex Christensen <achristensen@webkit.org>
1659 Apply custom header fields from WebsitePolicies to same-domain requests
1660 https://bugs.webkit.org/show_bug.cgi?id=178356
1662 Reviewed by Brady Eidson.
1664 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1667 2017-10-24 Stephan Szabo <stephan.szabo@sony.com>
1669 [Win][JSCOnly] Make jsconly build testapi and dlls and copy dlls when running tests
1670 https://bugs.webkit.org/show_bug.cgi?id=177279
1672 Reviewed by Yusuke Suzuki.
1674 * Scripts/build-jsc:
1675 * Scripts/run-jsc-stress-tests:
1677 2017-10-23 Lucas Forschler <lforschler@apple.com>
1679 <rdar://problem/35045445>
1680 Update README to reference WebKit build archives, instead of 'nightly'
1682 Reviewed by Aakash Jain.
1684 * WebKitArchiveSupport/README:
1686 2017-10-21 Tim Horton <timothy_horton@apple.com>
1688 Turn on ccache for Mac cmake builds by default
1689 https://bugs.webkit.org/show_bug.cgi?id=177059
1691 Reviewed by Sam Weinig.
1693 * ccache/ccache-clang:
1694 * ccache/ccache-wrapper: Added.
1695 Add a pass-through ccache wrapper to be used with CMake, in addition
1696 to the existing faux-clang wrappers.
1698 * Scripts/build-webkit:
1699 Add --use-ccache and --no-use-ccache option, which will define
1700 WK_USE_CCACHE to YES or NO, respectively, which the underlying
1701 build systems respect. We do not define WK_USE_CCACHE if the option
1702 is not specified, because the underlying build systems have different
1705 2017-10-20 Aakash Jain <aakash_jain@apple.com>
1707 Do not run binding tests on multiple EWSes
1708 https://bugs.webkit.org/show_bug.cgi?id=178599
1710 Reviewed by Alexey Proskuryakov.
1712 Remove old code which runs bindings tests and ignore it's result. We now have
1713 a dedicated bindings test EWS.
1715 * Scripts/webkitpy/tool/steps/runtests.py:
1716 (RunTests.run): Removed bindings tests code.
1717 * Scripts/webkitpy/tool/steps/runtests_unittest.py: Updated unit-tests.
1718 (RunTestsTest.test_webkit_run_unit_tests): Ditto.
1719 * Scripts/webkitpy/tool/steps/steps_unittest.py: Ditto.
1720 * Scripts/webkitpy/tool/commands/download_unittest.py: Ditto.
1722 2017-10-20 Youenn Fablet <youenn@apple.com>
1724 WebsiteDataStoreCustomPaths.mm is failing after r223718
1725 https://bugs.webkit.org/show_bug.cgi?id=178596
1729 * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1730 (TEST): Making default web site data store creation expected at the end of the test.
1731 We should probably not need need to create it.
1732 This should be fixed as a follow-up.
1734 2017-10-20 Antoine Quint <graouts@apple.com>
1736 [Web Animations] Provide basic timeline and animation interfaces
1737 https://bugs.webkit.org/show_bug.cgi?id=178526
1739 Reviewed by Dean Jackson.
1741 Remove the WEB_ANIMATIONS compile-time flag.
1743 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1745 2017-10-20 Tomas Popela <tpopela@redhat.com>
1747 Missing some perl packages in install-dependencies
1748 https://bugs.webkit.org/show_bug.cgi?id=178571
1750 Reviewed by Žan Doberšek.
1752 Install per-version and perl-Time-HiRes so we can use build-webkit
1753 script. Also add missing backlashes.
1755 * wpe/install-dependencies:
1757 2017-10-20 Commit Queue <commit-queue@webkit.org>
1759 Unreviewed, rolling out r222709 and r223572.
1760 https://bugs.webkit.org/show_bug.cgi?id=178587
1762 Still getting mac-wk2 EWS bots stuck (Requested by ap on
1765 Reverted changesets:
1767 "Log stack-trace for run-webkit-tests when interrupted"
1768 https://bugs.webkit.org/show_bug.cgi?id=176393
1769 https://trac.webkit.org/changeset/222709
1771 "webkitpy: Hang when workers write to the same stack trace
1773 https://bugs.webkit.org/show_bug.cgi?id=178402
1774 https://trac.webkit.org/changeset/223572
1776 2017-10-19 Nan Wang <n_wang@apple.com>
1778 AX: Provide a way for Accessibility to cache the selection while retrieving rects for speak selection
1779 https://bugs.webkit.org/show_bug.cgi?id=176247
1780 <rdar://problem/34217143>
1782 Reviewed by Ryosuke Niwa.
1784 * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
1785 (TestWebKitAPI::TEST):
1787 2017-10-19 Sam Weinig <sam@webkit.org>
1789 [Settings] Move global settings into their own file
1790 https://bugs.webkit.org/show_bug.cgi?id=178512
1792 Reviewed by Darin Adler.
1794 * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
1795 (TestWebKitAPI::TEST):
1797 2017-10-19 Andy Estes <aestes@apple.com>
1799 [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
1800 https://bugs.webkit.org/show_bug.cgi?id=178181
1801 <rdar://problem/33660282>
1803 Reviewed by Dan Bernstein.
1805 * WebKitTestRunner/TestController.cpp:
1806 (WTR::TestController::databaseProcessName):
1808 2017-10-19 Saam Barati <sbarati@apple.com>
1810 Turn poly proto back on by default and remove the option
1811 https://bugs.webkit.org/show_bug.cgi?id=178525
1813 Reviewed by Mark Lam.
1815 * Scripts/run-jsc-stress-tests:
1817 2017-10-18 Ryosuke Niwa <rniwa@webkit.org>
1819 Don't expose raw HTML in pasteboard to the web content
1820 https://bugs.webkit.org/show_bug.cgi?id=178422
1822 Reviewed by Wenson Hsieh.
1824 Added a test case for sanitizing web archive in the system pasteboard to strip privacy sensitive information
1825 such as local file paths and potentially harmful scripts like event handlers serialized by WebKit prior to r223462.
1827 * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
1828 (PasteWebArchive.SanitizesHTML):
1830 2017-10-18 Youenn Fablet <youenn@apple.com>
1832 TestController should clear all fetch caches when resetting its state
1833 https://bugs.webkit.org/show_bug.cgi?id=178486
1835 Reviewed by Chris Dumez.
1837 Adding clearDOMCaches test runner method.
1838 Using that method when resetting state.
1840 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1841 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1842 (WTR::TestRunner::clearDOMCaches):
1843 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1844 * WebKitTestRunner/TestInvocation.cpp:
1845 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1847 2017-10-18 Chelsea Pugh <cpugh@apple.com>
1849 [iOS] Use new class name from UIKit when checking UITextSuggestion type
1850 https://bugs.webkit.org/show_bug.cgi?id=178416
1852 Reviewed by Tim Horton.
1854 This updates our test using/mocking out UITextAutofillSuggestion instead of UIKeyboardLoginCredentialsSuggestion.
1856 * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
1857 (-[UITextAutofillSuggestion initWithUsername:password:]): Copied from UIKit's implementation. This will serve as
1858 a mock of this method for builds not containingit.
1859 (+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Ditto.
1860 (TestWebKitAPI::TEST): Use +[UITextAutofillSuggestion autofillSuggestionWithUsername:password:] inline instead of
1861 helper function for creating a new suggestion.
1862 (newUIKeyboardLoginCredentialsSuggestion): Deleted.
1864 * TestWebKitAPI/ios/UIKitSPI.h:
1866 2017-10-18 Fujii Hironori <Hironori.Fujii@sony.com>
1868 update-webkit-auxiliary-libs can't download WebKitAuxiliaryLibrary.zip due to 403 Forbidden
1869 https://bugs.webkit.org/show_bug.cgi?id=178381
1871 Reviewed by Alexey Proskuryakov.
1873 The web server developer.apple.com seems to reject HTTP requests
1874 without Accept header field.
1876 * Scripts/update-webkit-dependency: Add 'Accept' header field to requests.
1878 2017-10-18 Aakash Jain <aakash_jain@apple.com>
1880 webkitpy tests should have --json-output option
1881 https://bugs.webkit.org/show_bug.cgi?id=178481
1883 Reviewed by Alexey Proskuryakov.
1885 * Scripts/webkitpy/test/main.py:
1886 (Tester._parse_args): Added json-output argument.
1887 (Tester._run_tests): Write output to json file.
1889 2017-10-18 Wenson Hsieh <wenson_hsieh@apple.com>
1891 Unreviewed, rolling out r223291.
1893 See WebCore ChangeLog for more detail.
1897 "Remove Editor::simplifyMarkup"
1898 https://bugs.webkit.org/show_bug.cgi?id=178271
1899 https://trac.webkit.org/changeset/223291
1901 2017-10-18 Chris Dumez <cdumez@apple.com>
1903 Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
1904 https://bugs.webkit.org/show_bug.cgi?id=177876
1905 <rdar://problem/34813129>
1907 Reviewed by Ryosuke Niwa.
1909 Clear service worker registrations between test runs to avoid flakiness.
1911 * WebKitTestRunner/TestController.cpp:
1912 (WTR::TestController::resetStateToConsistentValues):
1914 2017-10-18 Zan Dobersek <zdobersek@igalia.com>
1916 Remove remnants of OpenWebRTC
1917 https://bugs.webkit.org/show_bug.cgi?id=178437
1919 Reviewed by Alejandro G. Castro.
1921 Drop OpenWebRTC packages from the GTK's Jhbuild modules file. Relevant
1922 patches are also removed.
1924 * gtk/jhbuild.modules:
1925 * gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Removed.
1926 * gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Removed.
1927 * gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Removed.
1928 * gtk/patches/udpsrc-improve-timeouts.patch: Removed.
1930 2017-10-17 Jonathan Bedard <jbedard@apple.com>
1932 webkitpy: Hang when workers write to the same stack trace file
1933 https://bugs.webkit.org/show_bug.cgi?id=178402
1934 <rdar://problem/35033432>
1936 Reviewed by Aakash Jain.
1938 Workers can hang if they all write to the same stack trace file when receiving
1939 a SIGTERM. Attach the pid to the stack trace file name so that each worker
1940 writes to a different file.
1942 * Scripts/webkitpy/common/interupt_debugging.py:
1943 (log_stack_trace_on_term.handler): Name stack trace file path/<pid>-filename.
1944 (log_stack_trace_on_cntrl_c.handler): Ditto.
1946 2017-10-17 John Wilander <wilander@apple.com>
1948 Add and remove cookie partition accordingly in intermediary redirect requests
1949 https://bugs.webkit.org/show_bug.cgi?id=178369
1950 <rdar://problem/34467603>
1952 Reviewed by Brent Fulgham.
1954 Adds the function statisticsNotifyObserver().
1956 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1957 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1958 (WTR::InjectedBundle::statisticsNotifyObserver):
1959 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1960 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1961 (WTR::TestRunner::statisticsNotifyObserver):
1962 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1964 2017-10-17 Youenn Fablet <youenn@apple.com>
1966 Cache API implementation should be able to compute storage size for WebKit client applications.
1967 https://bugs.webkit.org/show_bug.cgi?id=178350
1969 Reviewed by Chris Dumez.
1971 Adding support for a domCacheSize getter.
1973 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1974 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1975 (WTR::TestRunner::domCacheSize):
1976 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1977 * WebKitTestRunner/TestController.cpp:
1978 (WTR::FetchCacheSizeForOriginCallbackContext::FetchCacheSizeForOriginCallbackContext):
1979 (WTR::fetchCacheSizeForOriginCallback):
1980 (WTR::TestController::domCacheSize):
1981 * WebKitTestRunner/TestController.h:
1982 * WebKitTestRunner/TestInvocation.cpp:
1983 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1985 2017-10-17 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
1987 [GStreamer][GTK][WPE] update-webkit-libs-jhbuild fails to detect changes in included moduleset files
1988 https://bugs.webkit.org/show_bug.cgi?id=178206
1990 Reviewed by Michael Catanzaro.
1992 The update-webkit-libs-jhbuild scripts computes MD5 sum of GTK/WPE jhbuild configuration files to check if it
1993 needs to rebuild the dependencies libraries. This patch fixes a bug when main GTK/WPE jhbuild modules
1994 configuration file includes additional files (for example GStreamer module). It parses jhbuild.modules file to
1995 check if additional files are included. If any, it computes MD5 sum for each of these included files.
1997 * Scripts/update-webkit-libs-jhbuild:
1998 (getJhbuildIncludedFilePaths): New function that returns included files in jhbuild.modules
1999 (jhbuildConfigurationCheckFile): New function to check if MD5 sum file changes.
2000 (jhbuildConfigurationChanged): Add MD5 sum check for included files.
2001 (saveMd5File): New function to save MD5 sum of a file.
2002 (saveJhbuildMd5): Add saving included files MD5 sum.
2003 (deleteJhbuildMd5): Delete included files MD5 sum
2004 * gtk/install-dependencies: Add perl-libXML lib that is used to parse jhbuild file.
2005 * wpe/install-dependencies: Ditto.
2007 2017-10-17 Tomas Popela <tpopela@redhat.com>
2009 Undefined WK_API_ENABLED warning when compiling COCOA content on WebKitGTK+
2010 https://bugs.webkit.org/show_bug.cgi?id=178208
2012 Check whether we are on COCOA platform before checking for
2015 Reviewed by Ryosuke Niwa.
2017 * WebKitTestRunner/TestController.cpp:
2018 (WTR::TestController::clearDOMCache):
2020 2017-10-17 Keith Miller <keith_miller@apple.com>
2022 Change WebCore sources to work with unified source builds
2023 https://bugs.webkit.org/show_bug.cgi?id=178229
2025 Rubber stamped by Tim Horton.
2027 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2029 2017-10-16 Christopher Reid <chris.reid@sony.com>
2031 [Win] Webkit should still be able to build when unable to check if libraries are up to date
2032 https://bugs.webkit.org/show_bug.cgi?id=178367
2034 Adding a option to skip the check to see if windows libraries are up to date.
2035 This option is useful when testing modified libraries. This option also allows
2036 building webkit when GitHub blocks requests to verify the latest library version.
2039 Reviewed by Per Arne Vollan.
2041 * Scripts/build-webkit:
2043 2017-10-12 Matt Rajca <mrajca@apple.com>
2045 Add API support for quirk that lets an arbitrary click allow auto-play.
2046 https://bugs.webkit.org/show_bug.cgi?id=178227
2048 Reviewed by Alex Christensen.
2050 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2051 (TEST): Added API test.
2053 2017-10-16 Maureen Daum <mdaum@apple.com>
2055 If an origin doesn't have databases in the Databases table we should still remove its information from disk in DatabaseTracker::deleteOrigin()
2056 https://bugs.webkit.org/show_bug.cgi?id=178281
2057 <rdar://problem/34576132>
2059 Reviewed by Brent Fulgham.
2061 Verify that if there is an entry in the Origins table but no entries in the Databases
2062 table that we still remove the directory for the origin, and that we remove the
2063 entry from the Origins table.
2065 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
2066 (TestWebKitAPI::TEST):
2068 2017-10-15 Ryosuke Niwa <rniwa@webkit.org>
2070 Cannot access images included in the content pasted from Microsoft Word
2071 https://bugs.webkit.org/show_bug.cgi?id=124391
2072 <rdar://problem/26862741>
2074 Reviewed by Antti Koivisto.
2076 Added tests for sanitizing HTML contents for copy & paste and drag & drop.
2078 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2079 * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: Added.
2080 (readHTMLFromPasteboard): Added.
2081 (createWebViewWithCustomPasteboardDataEnabled): Added.
2082 (CopyHTML.Sanitizes): Added.
2084 * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
2085 (createWebViewWithCustomPasteboardDataEnabled): Added to enable more tests on bots.
2087 * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
2088 (writeRTFToPasteboard): Added.
2089 (createWebViewWithCustomPasteboardDataEnabled): Added.
2090 (createHelloWorldString): Added.
2091 (PasteRTF.ExposesHTMLTypeInDataTransfer): Added.
2092 (PasteRTFD.ExposesHTMLTypeInDataTransfer): Added.
2093 (PasteRTFD.ImageElementUsesBlobURLInHTML): Added.
2095 * TestWebKitAPI/Tests/WebKitCocoa/copy-html.html: Added.
2096 * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html: Store the clipboardData contents for
2097 PasteRTF.ExposesHTMLTypeInDataTransfer and PasteRTFD.ExposesHTMLTypeInDataTransfer.
2099 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2100 (DataInteractionTests.DataTransferSanitizeHTML):
2102 2017-10-16 Youenn Fablet <youenn@apple.com>
2104 Activate Cache API by default
2105 https://bugs.webkit.org/show_bug.cgi?id=178186
2107 Reviewed by Chris Dumez.
2109 Removing explicit activation of cache api.
2111 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2112 (WTR::InjectedBundle::beginTesting):
2113 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2114 (WTR::TestRunner::setCacheAPIEnabled): Deleted.
2115 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2117 2017-10-16 Ross Kirsling <ross.kirsling@sony.com>
2119 run-webkit-tests help text should mention arguments too
2120 https://bugs.webkit.org/show_bug.cgi?id=178352
2122 Reviewed by Tim Horton.
2124 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2127 2017-10-16 Maureen Daum <mdaum@apple.com>
2129 If we fail to delete any database file, don't remove its information from the tracker database
2130 <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
2132 Reviewed by Brady Eidson.
2134 Add tests that verify we correctly delete databases and remove their information from
2135 the tracker database, even if the database doesn't exist. Verify that if we fail to
2136 delete a database, we don't remove its information from the tracker database.
2138 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2139 Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
2140 method for creating a temporary directory in the tests.
2141 * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
2142 The existing test was copied to DatabaseTrackerTest.mm.
2143 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
2144 (TestWebKitAPI::TEST):
2145 (TestWebKitAPI::addToDatabasesTable):
2146 (TestWebKitAPI::removeDirectoryAndAllContents):
2147 (TestWebKitAPI::createFileAtPath):
2149 2017-10-16 Ryan Haddad <ryanhaddad@apple.com>
2151 Unreviewed, rolling out r223422.
2153 These tests are for a change that was rolled out in r223420
2157 "If we fail to delete any database file, don't remove its
2158 information from the tracker database"
2159 https://bugs.webkit.org/show_bug.cgi?id=178251
2160 https://trac.webkit.org/changeset/223422
2162 2017-10-16 Maureen Daum <mdaum@apple.com>
2164 If we fail to delete any database file, don't remove its information from the tracker database
2165 <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
2167 Reviewed by Brady Eidson.
2169 Add tests that verify we correctly delete databases and remove their information from
2170 the tracker database, even if the database doesn't exist. Verify that if we fail to
2171 delete a database, we don't remove its information from the tracker database.
2173 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2174 Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
2175 method for creating a temporary directory in the tests.
2176 * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
2177 The existing test was copied to DatabaseTrackerTest.mm.
2178 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
2179 (TestWebKitAPI::TEST):
2180 (TestWebKitAPI::addToDatabasesTable):
2181 (TestWebKitAPI::removeDirectoryAndAllContents):
2182 (TestWebKitAPI::createFileAtPath):
2184 2017-10-16 David Kilzer <ddkilzer@apple.com>
2186 Add RELEASE_ASSERT_WITH_SECURITY_IMPLICATION() macro
2187 <https://webkit.org/b/178269>
2189 Reviewed by Alex Christensen.
2191 * Scripts/webkitpy/style/checkers/cpp.py:
2192 (check_language): Add checker to warn about using
2193 ASSERT_WITH_SECURITY_IMPLICATION().
2194 (CppChecker.categories): Add 'security/assertion' to list of
2196 * Scripts/webkitpy/style/checkers/cpp_unittest.py:
2197 (CppStyleTest.test_debug_security_assertion): Add tests for
2200 2017-10-16 Chris Dumez <cdumez@apple.com>
2202 Clicks on Link with download attribute causes all (other) links to trigger download when clicked
2203 https://bugs.webkit.org/show_bug.cgi?id=178267
2204 <rdar://problem/34985016>
2206 Reviewed by Darin Adler.
2208 Use PassThrough policy in WKTR's InjectedBundle's decidePolicyForNewWindowAction so that the
2209 request is sent to the UIProcess. This gets WKTR's closer to Safari behavior and helps
2210 reproduce the bug. Without this change, I would not be able to write a regression test for
2211 this bug that is very easily reproducible in Safari.
2213 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2214 (WTR::InjectedBundlePage::decidePolicyForNewWindowAction):
2216 2017-10-16 Emilio Cobos Álvarez <emilio@crisal.io>
2218 Add Emilio Cobos Álvarez to the contributors list.
2219 https://bugs.webkit.org/show_bug.cgi?id=178334
2221 Reviewed by Antti Koivisto.
2223 * Scripts/webkitpy/common/config/contributors.json:
2225 2017-10-07 Maciej Stachowiak <mjs@apple.com>
2227 Improve --help documentation and add --list-plans to show available benchmarks.
2228 https://bugs.webkit.org/show_bug.cgi?id=178059
2230 Reviewed by Ryosuke Niwa.
2232 * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
2233 (BenchmarkRunner.available_plans): New function that returns the list of available plans.
2234 (BenchmarkRunner.plan_directory): New method to centralize knowledge of where the plan files live.
2235 (BenchmarkRunner._find_plan_file): Updated to use BenchmarkRunner.plan_directory
2237 * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
2239 (parse_args): Help cleanup: Reordered options to put more common
2240 ones at the top. Fixed wording. Added help for each
2241 option. Explained default for each option that has one.
2243 New option: --list-plans which tells you the available benchmarks.
2245 Code cleanup: Removed use of dest where redundant, made variable
2246 names conforming to Python coding style.
2248 (run_benchmark_plan): Adapted for new variable names.
2249 (list_benchmark_plans): New helper for --list-plans option.
2250 (start): Account for --list-plans. Also use
2251 BechmarkRunner.available_plans and use
2252 BenchmarkRunner.plan_directory instead of duplicating
2253 code/knowledge here.
2255 2017-10-16 Wenson Hsieh <wenson_hsieh@apple.com>
2257 On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
2258 https://bugs.webkit.org/show_bug.cgi?id=178301
2259 <rdar://problem/34990050>
2261 Reviewed by Darin Adler.
2263 Fixes issues in DumpRenderTree's LocalPasteboard to ensure that drag-drop-href-as-url.html exposes files, and
2264 also adds a new iOS drag and drop API test.
2266 * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2267 (-[LocalPasteboard addTypes:owner:]):
2268 (-[LocalPasteboard setData:forType:]):
2270 Fixes LocalPasteboard's implementation of changeCount to incremement when the pasteboard owner changes, rather
2271 than every time data is changed. This is consistent with NSPasteboard behavior.
2273 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2274 (TestWebKitAPI::TEST):
2276 Adds a new API test to verify that an image and HTTP URL written by the platform is correctly web exposed.
2278 2017-10-15 Darin Adler <darin@apple.com>
2280 UTF-8 decoding produces one replacement character per byte; Encoding standard requires one replacement character per illegal sequence instead
2281 https://bugs.webkit.org/show_bug.cgi?id=178207
2283 Reviewed by Sam Weinig.
2285 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added test.
2286 * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Added.
2287 (TestWebKitAPI::decodeHexTestBytes): Decodes a string so we can write readable tests.
2288 (TestWebKitAPI::escapeNonPrintableASCIICharacters): Encodes a string so we can write readable tests.
2289 (TestWebKitAPI::TEST): Added some UTF-8 tests and UTF-8 invalid sequences tests.
2290 Would be smart to add more tests for other cases, exercising the fast ASCII loop for example, and
2293 2017-10-14 Adrian Perez de Castro <aperez@igalia.com>
2295 [WPE] JHBuild build directory DependenciesWPE/Build is not removed by update-webkit-libs-jhbuild
2296 https://bugs.webkit.org/show_bug.cgi?id=178212
2298 Reviewed by Michael Catanzaro.
2300 * Scripts/update-webkit-libs-jhbuild:
2301 (cleanJhbuild): The WPE JHBuild also uses a separate "Build" subdirectory, so do not skip
2302 cleaning it when "--wpe" is passed to the script.
2304 2017-10-13 Adrian Perez de Castro <aperez@igalia.com>
2306 [WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
2307 https://bugs.webkit.org/show_bug.cgi?id=178283
2309 Reviewed by Žan Doberšek.
2311 * wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise
2312 compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.
2314 2017-10-13 Youenn Fablet <youenn@apple.com>
2316 Implement listing origins for which CacheStorage is storing data
2317 https://bugs.webkit.org/show_bug.cgi?id=178236
2319 Reviewed by Chris Dumez.
2321 Adding hasDOMCache API for checking whether origin is storing data through Cache API.
2323 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2324 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2325 (WTR::TestRunner::hasDOMCache):
2326 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2327 * WebKitTestRunner/TestController.cpp:
2328 (WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
2329 (WTR::fetchCacheOriginsCallback):
2330 (WTR::TestController::hasDOMCache):
2331 * WebKitTestRunner/TestController.h:
2332 * WebKitTestRunner/TestInvocation.cpp:
2333 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2335 2017-10-13 Alex Christensen <achristensen@webkit.org>
2337 Remove Editor::simplifyMarkup
2338 https://bugs.webkit.org/show_bug.cgi?id=178271
2340 Reviewed by Wenson Hsieh.
2342 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2343 * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
2345 2017-10-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
2347 [GLib] WebKitNavigationAction should tell whether it is a redirect
2348 https://bugs.webkit.org/show_bug.cgi?id=178178
2350 Test that WebKitNavigationAction properly reports being a redirect.
2352 Reviewed by Carlos Garcia Campos.
2354 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
2355 (testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
2356 (serverCallback): add a /redirect path to the server, which causes a redirect.
2358 2017-10-13 Chris Dumez <cdumez@apple.com>
2360 Unreviewed, fix webkitpy failure after r223273
2362 * Scripts/webkitpy/w3c/test_importer_unittest.py:
2363 (TestImporterTest.test_harnesslinks_conversion):
2365 2017-10-12 Chris Dumez <cdumez@apple.com>
2367 import-w3c-tests modifies test sources and sometimes causes them to fail
2368 https://bugs.webkit.org/show_bug.cgi?id=178234
2370 Reviewed by Ryosuke Niwa.
2372 Update import-w3c-tests to stop rewriting tests as this is causing some tests
2373 to fail unexpectedly.
2375 * Scripts/webkitpy/w3c/test_importer.py:
2376 (TestImporter.import_tests):
2378 2017-10-12 Youenn Fablet <youenn@apple.com>
2380 Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
2381 https://bugs.webkit.org/show_bug.cgi?id=178200
2383 Reviewed by Chris Dumez.
2385 Making clearDOMCache wait for removal completion to exit.
2386 This removes the risk to interact with the cache while deleting it which will end up be racy in tests.
2388 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2389 (WTR::TestRunner::clearDOMCache):
2390 * WebKitTestRunner/TestController.cpp:
2391 (WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
2392 (WTR::clearDOMCacheCallback):
2393 (WTR::TestController::clearDOMCache):
2394 * WebKitTestRunner/TestInvocation.cpp:
2395 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2396 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2398 2017-10-12 John Wilander <wilander@apple.com>
2400 ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
2401 https://bugs.webkit.org/show_bug.cgi?id=175257
2402 <rdar://problem/33359866>
2404 Reviewed by Brent Fulgham.
2406 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2407 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2408 (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
2409 (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
2410 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2411 * WebKitTestRunner/TestController.cpp:
2412 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2414 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2416 * WebKitTestRunner/TestController.h:
2417 * WebKitTestRunner/TestInvocation.cpp:
2418 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2419 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2420 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2421 Implemented platform-specific.
2422 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2423 Implemented platform-specific.
2425 2017-10-12 Andy Estes <aestes@apple.com>
2427 [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
2428 https://bugs.webkit.org/show_bug.cgi?id=178181
2429 <rdar://problem/33660282>
2431 Reviewed by Dan Bernstein.
2433 * WebKitTestRunner/TestController.cpp:
2434 (WTR::TestController::databaseProcessName):
2436 2017-10-12 Myles C. Maxfield <mmaxfield@apple.com>
2438 Emit SPIR-V from WSL compiler (Part 1)
2439 https://bugs.webkit.org/show_bug.cgi?id=177998
2441 Reviewed by Filip Pizlo.
2443 This patch implements the first half of a SPIR-V codegen phase for WSL.
2444 This includes all the operations which aren't actually emitting the contents
2445 of functions themselves. For example, this includes things like representing
2446 WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
2447 future patch will actually emit the contents of functions.
2449 There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
2450 types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
2451 input and output variables from a shader (and assigns location values to
2454 This patch is currently pursuing the "logical mode" detailed in
2455 https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
2456 array reference operation can be statically traced to the variable or array it
2459 This has the interesting property where accessing a pointer inside an array is
2460 forbidden, because the array index may be computed at runtime, so the compiler
2461 can't know at compile time which variable the pointer operation will be
2462 accessing. However, this isn't true for structs; the program must statically
2463 state which struct member it is accessing. Therefore, pointers or array
2464 references must not transitively appear within an array, but they may appear
2465 within a struct. The same logic applies to array references; those get lowered
2466 to just two indexes in SPIR-V (a lower bound and an upper bound).
2468 So, outside of an array, SPIR-V types don't need to include any pointers because
2469 any operation with the pointer doesn't need access to the runtime value of the
2470 pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
2471 will never include any pointers.
2473 This means that, for example, WSL can represent a linked list in logical mode.
2474 However, a WSL program cannot iterate across the list, because that would require
2475 assigning to a pointer. So instead, a program using a linked list could only say
2476 something like "list.ptr->ptr->ptr->value".
2478 * WebGPUShadingLanguageRI/LateChecker.js:
2479 (LateChecker.prototype._checkShaderType):
2480 * WebGPUShadingLanguageRI/SPIR-V.js:
2481 (SPIRV.OperandChecker.prototype._isStar):
2482 (SPIRV.OperandChecker.prototype.nextComparisonType):
2483 (SPIRV.OperandChecker.prototype.finalize):
2484 (SPIRV.OperandChecker):
2485 * WebGPUShadingLanguageRI/SPIRV.html:
2486 * WebGPUShadingLanguageRI/SPIRVCodegen.js: Added.
2488 (emitTypes.doEmitTypes):
2490 (ConstantFinder.prototype.visitGenericLiteralType):
2493 * WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Added.
2494 (SPIRVTypeAnalyzer):
2495 (SPIRVTypeAnalyzer.prototype.get program):
2496 (SPIRVTypeAnalyzer.prototype.get typeMap):
2497 (SPIRVTypeAnalyzer.prototype.get currentId):
2498 (SPIRVTypeAnalyzer.prototype.get stack):
2499 (SPIRVTypeAnalyzer.prototype.visitTypeRef):
2500 (SPIRVTypeAnalyzer.prototype._encounterType):
2501 (SPIRVTypeAnalyzer.prototype.visitNullType):
2502 (SPIRVTypeAnalyzer.prototype.visitGenericLiteralType):
2503 (SPIRVTypeAnalyzer.prototype.visitNativeType):
2504 (SPIRVTypeAnalyzer.prototype.visitEnumType):
2505 (SPIRVTypeAnalyzer.prototype.visitPtrType):
2506 (SPIRVTypeAnalyzer.prototype.visitArrayRefType):
2507 (SPIRVTypeAnalyzer.prototype.visitArrayType):
2508 (SPIRVTypeAnalyzer.prototype.visitStructType):
2509 * WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Added.
2510 (SPIRVPrimitiveVariableAnalyzer):
2511 (SPIRVPrimitiveVariableAnalyzer.prototype.get program):
2512 (SPIRVPrimitiveVariableAnalyzer.prototype.get typeMap):
2513 (SPIRVPrimitiveVariableAnalyzer.prototype.get currentId):
2514 (SPIRVPrimitiveVariableAnalyzer.prototype.get currentLocation):
2515 (SPIRVPrimitiveVariableAnalyzer.prototype.get nameComponents):
2516 (SPIRVPrimitiveVariableAnalyzer.prototype.get result):
2517 (SPIRVPrimitiveVariableAnalyzer.prototype.visitTypeRef):
2518 (SPIRVPrimitiveVariableAnalyzer.prototype.visitNullType):
2519 (SPIRVPrimitiveVariableAnalyzer.prototype.visitGenericLiteralType):
2520 (SPIRVPrimitiveVariableAnalyzer.prototype.visitNativeType):
2521 (SPIRVPrimitiveVariableAnalyzer.prototype.visitEnumType):
2522 (SPIRVPrimitiveVariableAnalyzer.prototype.visitPtrType):
2523 (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayRefType):
2524 (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayType):
2525 (SPIRVPrimitiveVariableAnalyzer.prototype.visitStructType):
2526 * WebGPUShadingLanguageRI/WSL.md:
2527 * WebGPUShadingLanguageRI/index.html:
2529 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2531 Enable gigacage on iOS
2532 https://bugs.webkit.org/show_bug.cgi?id=177586
2534 Reviewed by JF Bastien.
2536 Add a mode to test disabling Gigacage.
2538 * Scripts/run-jsc-stress-tests:
2539 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2541 2017-10-11 Sam Weinig <sam@webkit.org>
2543 Remove out-parameter variants of copyToVector
2544 https://bugs.webkit.org/show_bug.cgi?id=178155
2546 Reviewed by Tim Horton.
2548 * DumpRenderTree/JavaScriptThreading.cpp:
2549 (stopJavaScriptThreads):
2551 2017-10-12 Sam Weinig <sam@webkit.org>
2553 It should be possible to iterate just the values (and not the counts) of a HashCountedSet
2554 https://bugs.webkit.org/show_bug.cgi?id=178169
2556 Reviewed by Daniel Bates.
2558 * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
2559 (TestWebKitAPI::TEST):
2560 Add test for HashCountedSet's new values() range.
2562 2017-10-11 Frederic Wang <fwang@igalia.com>
2564 run-safari --ios-simulator is no longer working with Xcode 9
2565 https://bugs.webkit.org/show_bug.cgi?id=177595
2567 Reviewed by Daniel Bates.
2569 In Xcode 9, the path of the simulator application is now in a new CoreSimulator subdirectory
2570 of the iphoneOS SDK platform. This patch updates webkitdirs.pm to use the new path in
2571 Xcode 9 or higher so that it is possible to run Safari on the iOS simulator again. It also
2572 does some minor code refactoring to improve code reuse.
2574 * Scripts/configure-xcode-for-ios-development: Move sdkDirectory() and sdkPlatformDirectory()
2576 (sdkDirectory): Deleted.
2577 (sdkPlatformDirectory): Deleted.
2578 * Scripts/webkitdirs.pm: Expose new sdkDirectory() and sdkPlatformDirectory().
2579 (sdkDirectory): Moved from configure-xcode-for-ios-development.
2580 (sdkPlatformDirectory): Ditto.
2581 (XcodeSDKPath): Rely on sdkDirectory() to implement this function.
2582 (iosSimulatorApplicationsPath): In Xcode 9 or higher use the new path. It is calculated
2583 by relying on sdkPlatformDirectory().
2585 2017-10-11 Dewei Zhu <dewei_zhu@apple.com>
2587 run-benchmark script should set '__XPC_DYLD_FRAMEWORK_PATH' while launching local-built Safari on Mac.
2588 https://bugs.webkit.org/show_bug.cgi?id=178199
2590 Reviewed by Saam Barati.
2592 '__XPC_DYLD_FRAMEWORK_PATH' should be set while launching Safari on run-benchmark script.
2593 'force_remove' function should support both file and directory.
2595 * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
2596 (OSXSafariDriver.launch_url):
2597 * Scripts/webkitpy/benchmark_runner/utils.py:
2600 2017-10-11 Saam Barati <sbarati@apple.com>
2602 Runtime disable poly proto because it may be a 3-4% Speedometer regression
2603 https://bugs.webkit.org/show_bug.cgi?id=178192
2605 Reviewed by JF Bastien.
2607 * Scripts/run-jsc-stress-tests:
2609 2017-10-11 Youenn Fablet <youenn@apple.com>
2611 Add API to clean CacheStorage data
2612 https://bugs.webkit.org/show_bug.cgi?id=178034
2614 Reviewed by Chris Dumez.
2616 Adding internals API to trigger deleting all or origin-persistent cache storage persistent data.
2618 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2619 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2620 (WTR::TestRunner::clearDOMCache):
2621 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2622 * WebKitTestRunner/TestController.cpp:
2623 (WTR::TestController::clearDOMCache):
2624 * WebKitTestRunner/TestController.h:
2625 * WebKitTestRunner/TestInvocation.cpp:
2626 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2628 2017-10-11 Chris Dumez <cdumez@apple.com>
2630 [Geolocation] Expose Coordinates.floorLevel
2631 https://bugs.webkit.org/show_bug.cgi?id=178173
2632 <rdar://problem/34918936>
2634 Reviewed by Ryosuke Niwa.
2636 Add test infrastructure for testing Coordinates.floorLevel.
2638 * DumpRenderTree/TestRunner.cpp:
2639 (setMockGeolocationPositionCallback):
2640 * DumpRenderTree/TestRunner.h:
2641 * DumpRenderTree/mac/TestRunnerMac.mm:
2642 (TestRunner::setMockGeolocationPosition):
2643 * DumpRenderTree/win/TestRunnerWin.cpp:
2644 (TestRunner::setMockGeolocationPosition):
2645 * WebKitTestRunner/GeolocationProviderMock.cpp:
2646 (WTR::GeolocationProviderMock::setPosition):
2647 * WebKitTestRunner/GeolocationProviderMock.h:
2648 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2649 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2650 (WTR::InjectedBundle::setMockGeolocationPosition):
2651 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2652 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2653 (WTR::TestRunner::setMockGeolocationPosition):
2654 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2655 * WebKitTestRunner/TestController.cpp:
2656 (WTR::TestController::setMockGeolocationPosition):
2657 * WebKitTestRunner/TestController.h:
2658 * WebKitTestRunner/TestInvocation.cpp:
2659 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2661 2017-10-11 Youenn Fablet <youenn@apple.com>
2663 Bump default cache storage quota to 20MB
2664 https://bugs.webkit.org/show_bug.cgi?id=178132
2666 Reviewed by Alex Christensen.
2668 * WebKitTestRunner/TestController.cpp:
2669 (WTR::TestController::generateContextConfiguration const):
2670 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2671 (WTR::initializeWebViewConfiguration): Setting quota to 400kb
2673 2017-10-11 Commit Queue <commit-queue@webkit.org>
2675 Unreviewed, rolling out r223113 and r223121.
2676 https://bugs.webkit.org/show_bug.cgi?id=178182
2678 Reintroduced 20% regression on Kraken (Requested by rniwa on
2681 Reverted changesets:
2683 "Enable gigacage on iOS"
2684 https://bugs.webkit.org/show_bug.cgi?id=177586
2685 https://trac.webkit.org/changeset/223113
2687 "Use one virtual allocation for all gigacages and their
2689 https://bugs.webkit.org/show_bug.cgi?id=178050
2690 https://trac.webkit.org/changeset/223121
2692 2017-10-11 Ryosuke Niwa <rniwa@webkit.org>
2694 Sanitize URL in pasteboard for other applications and cross origin content
2695 https://bugs.webkit.org/show_bug.cgi?id=178060
2696 <rdar://problem/34874518>
2698 Reviewed by Wenson Hsieh.
2700 Added API tests for sanitizing URLs copied from web content, and that the original URL is exposed to the web content.
2702 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2703 * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: Added.
2704 (readURLFromPasteboard): A helper function.
2705 * TestWebKitAPI/Tests/WebKitCocoa/copy-url.html: Added.
2706 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2707 (DataInteractionTests.DataTransferGetDataWhenDroppingCustomData): Rebaselined. https://www.apple.com is no longer
2708 normalized to https://www.apple.com/ by NSURL / UIPasteboard as expected.
2709 (DataInteractionTests.DataTransferSetDataValidURL): Added.
2710 (DataInteractionTests.DataTransferSetDataUnescapedURL): Added.
2711 (DataInteractionTests.qDataTransferSetDataInvalidURL): Added.
2713 2017-10-11 Chris Dumez <cdumez@apple.com>
2715 Modernize Geolocation code
2716 https://bugs.webkit.org/show_bug.cgi?id=178148
2718 Reviewed by Ryosuke Niwa.
2720 * DumpRenderTree/mac/TestRunnerMac.mm:
2721 (TestRunner::setMockGeolocationPosition):
2723 2017-10-11 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
2725 [GStreamer] Many media source tests crashing with GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0' failed in gst_qtdemux_configure_stream()
2726 https://bugs.webkit.org/show_bug.cgi?id=176804
2728 Reviewed by Michael Catanzaro.
2730 Add patch to fix assert in qtdemux.
2732 * gstreamer/jhbuild.modules:
2733 * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added.
2735 2017-10-11 Tomas Popela <tpopela@redhat.com>
2737 Use https for trac changeset and browser links
2738 https://bugs.webkit.org/show_bug.cgi?id=178167
2740 Reviewed by Alexey Proskuryakov.
2742 Switch the http://trac.webkit.org/changeset and
2743 http://trac.webkit.org/browser links that are printed by webkitpy to
2744 https. Also update the test expectations.
2746 * Scripts/webkitpy/common/checkout/checkout_unittest.py:
2747 * Scripts/webkitpy/common/config/committervalidator_unittest.py:
2748 (CommitterValidatorTest.test_flag_permission_rejection_message):
2749 * Scripts/webkitpy/common/config/urls.py:
2751 (view_revision_url):
2752 * Scripts/webkitpy/common/net/bugzilla/bug_unittest.py:
2753 (BugTest.test_commit_revision):
2754 * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
2755 * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
2756 * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
2758 (MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
2759 * Scripts/webkitpy/style/checkers/changelog_unittest.py:
2760 (ChangeLogCheckerTest.test_missing_bug_number):
2761 * Scripts/webkitpy/tool/bot/feeders_unittest.py:
2762 * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
2763 * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
2764 (IRCBotTest.test_rollout):
2765 (IRCBotTest.test_revert):
2766 (IRCBotTest.test_multi_rollout):
2767 (IRCBotTest.test_rollout_with_r_in_svn_revision):
2768 (IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
2769 (IRCBotTest.test_rollout_invalidate_reason):
2770 (test_multi_rollout_invalidate_reason):
2771 * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
2772 * Scripts/webkitpy/tool/commands/download_unittest.py:
2773 * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
2774 * Scripts/webkitpy/tool/commands/queues_unittest.py:
2775 * Scripts/webkitpy/tool/commands/suggestnominations.py:
2776 (SuggestNominations._count_commit):
2777 * Scripts/webkitpy/tool/commands/upload_unittest.py:
2778 * Scripts/webkitpy/tool/servers/data/rebaselineserver/util.js:
2781 * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
2782 (CloseBugForLandDiffTest.test_empty_state):
2783 * Scripts/webkitpy/tool/steps/commit_unittest.py:
2784 (CommitTest._test_check_test_expectations):
2785 * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
2786 (UpdateChangeLogsForRevertTest):
2788 2017-10-10 Ryosuke Niwa <rniwa@webkit.org>
2790 Enable custom pasteboard data in DumpRenderTree and WebKitTestRunner
2791 https://bugs.webkit.org/show_bug.cgi?id=178154
2793 Reviewed by Wenson Hsieh.
2795 Fixed the bug that LocalPasteboard would fail to load the promise type if data is set after declaring types
2796 by delaying the call to provideDataForType until when dataForType is called.
2798 Without this fix, fast/events/dropzone-002.html would start failing after enabling custom pasteboard data.
2799 With this fix, fast/events/dropzone-005.html also starts passing.
2801 * DumpRenderTree/mac/DumpRenderTree.mm:
2802 (resetWebPreferencesToConsistentValues):
2803 * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2804 (-[LocalPasteboard addTypes:owner:]):
2805 (-[LocalPasteboard dataForType:]):
2806 * WebKitTestRunner/TestController.cpp:
2807 (WTR::TestController::resetPreferencesToConsistentValues):
2809 2017-10-10 Joanmarie Diggs <jdiggs@igalia.com>
2811 AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM
2812 https://bugs.webkit.org/show_bug.cgi?id=178137
2814 Reviewed by Chris Fleizach.
2816 Add handling for ATK_ROLE_LANDMARK resulting from the ARIA form role.
2818 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2820 2017-10-10 Jonathan Bedard <jbedard@apple.com>
2822 run-webkit-tests: upload test results to multiple servers
2823 https://bugs.webkit.org/show_bug.cgi?id=178012
2824 <rdar://problem/34856501>
2826 Reviewed by Lucas Forschler.
2828 Allowing uploading of results to multiple servers makes developing new results
2829 databases much easier, and does not complicate uploading logic.
2831 * Scripts/webkitpy/layout_tests/controllers/manager.py:
2832 (Manager.upload_results): Iterate through the list of results server hosts and
2833 send results to each one.
2834 * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
2835 (JSONLayoutResultsGenerator.__init__): Accept a list of test results servers.
2836 * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
2837 (JSONResultsGenerator.__init__): Accept a list of test results servers.
2838 (JSONResultsGenerator.get_json): Pick which server to download from by index.
2839 (JSONResultsGenerator.upload_json_files): Upload the JSON to each results server.
2840 (JSONResultsGenerator._get_archived_json_results): Pick which server to download from.
2841 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2842 (parse_args): Allow multiple test-results-servers and results-server-hosts to be
2843 passed to run-webkit-tests.
2845 2017-10-09 Youenn Fablet <youenn@apple.com>
2847 Vector should be able to easily create from a list of movable only items
2848 https://bugs.webkit.org/show_bug.cgi?id=176432
2850 Reviewed by Darin Adler.
2852 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2853 (TestWebKitAPI::TEST):
2855 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2857 Enable gigacage on iOS
2858 https://bugs.webkit.org/show_bug.cgi?id=177586
2860 Reviewed by JF Bastien.
2862 Add a mode to test disabling Gigacage.
2864 * Scripts/run-jsc-stress-tests:
2865 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2867 2017-10-09 Commit Queue <commit-queue@webkit.org>
2869 Unreviewed, rolling out r223015 and r223025.
2870 https://bugs.webkit.org/show_bug.cgi?id=178093
2872 Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
2875 Reverted changesets:
2877 "Enable gigacage on iOS"
2878 https://bugs.webkit.org/show_bug.cgi?id=177586
2879 http://trac.webkit.org/changeset/223015
2881 "Unreviewed, disable Gigacage on ARM64 Linux"
2882 https://bugs.webkit.org/show_bug.cgi?id=177586
2883 http://trac.webkit.org/changeset/223025
2885 2017-10-09 Sam Weinig <sam@webkit.org>
2887 Make HashMap::keys() and HashMap::values() work with WTF::map/WTF::copyToVector
2888 https://bugs.webkit.org/show_bug.cgi?id=178072
2890 Reviewed by Darin Adler.
2892 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2893 (TestWebKitAPI::TEST):
2895 Add tests for HashMap::keys() and HashMap::values() working with copyToVector.
2897 2017-10-05 Frederic Wang <fwang@igalia.com>
2899 Remove WOFF2 from Source/ThirdParty.
2900 https://bugs.webkit.org/show_bug.cgi?id=177862
2902 Reviewed by Michael Catanzaro.
2904 * Scripts/webkitpy/style/checker.py: Remove woff2.
2905 * gtk/jhbuild.modules: Add new jhbuild module for woff2.
2907 2017-10-08 Sam Weinig <sam@webkit.org>
2909 It should be possible to create a ListHashSet with a std::initializer_list.
2910 https://bugs.webkit.org/show_bug.cgi?id=178070
2912 Reviewed by Darin Adler.
2914 * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
2915 (TestWebKitAPI::TEST):
2916 Add a test for using std::initializer_list with ListHashSet.
2918 2017-10-08 Sam Weinig <sam@webkit.org>
2920 There should be a version of copyToVector that returns a Vector, rather than using an out parameter
2921 https://bugs.webkit.org/show_bug.cgi?id=177732
2923 Reviewed by Saam Barati.
2925 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2926 (TestWebKitAPI::TEST):
2927 Add tests for the new copyToVector and copyToVectorOf functions.
2929 2017-10-08 Darin Adler <darin@apple.com>
2931 Fix bugs related to setting reflected floating point DOM attributes
2932 https://bugs.webkit.org/show_bug.cgi?id=178061
2934 Reviewed by Sam Weinig.
2936 * TestWebKitAPI/Tests/WTF/AtomicString.cpp: Added a test of the
2937 AtomicString::number function, based on the test cases we already
2938 had for String::numberToStringECMAScript, and with some additional
2939 cases with powers of 10 that check handling of trailng zeroes.
2941 * TestWebKitAPI/Tests/WTF/WTFString.cpp: Added test cases to the
2942 existing tests of the String::numberToStringECMAScript function
2943 as above. Also added tests for String::number and for
2944 String::numberToStringFixedWidth. Also changed the tests to all use
2945 EXPECT instead of ASSERT macros since these are all non-fatal.
2947 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2948 (WTR::dumpFrameScrollPosition): Use StringBuilder::appendECMAScriptNumber
2949 instead of String::number.
2951 2017-10-08 Dean Jackson <dino@apple.com>
2953 Make sort-Xcode-project file handle UnifiedSources
2954 https://bugs.webkit.org/show_bug.cgi?id=178042
2956 Reviewed by Sam Weinig.
2958 Sort the UnifiedSource(\d+) files by number rather
2959 than alphabetically.
2961 * Scripts/sort-Xcode-project-file:
2962 (sortChildrenByFileName):
2963 (sortFilesByFileName):
2965 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2967 Enable gigacage on iOS
2968 https://bugs.webkit.org/show_bug.cgi?id=177586
2970 Reviewed by JF Bastien.
2972 Add a mode to test disabling Gigacage.
2974 * Scripts/run-jsc-stress-tests:
2975 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2977 2017-10-06 Aishwarya Nirmal <anirmal@apple.com>
2979 [iOS] Respect the "caret-color" CSS property when editing
2980 https://bugs.webkit.org/show_bug.cgi?id=177489
2981 <rdar://problem/34600419>
2983 Reviewed by Tim Horton.
2985 Adds test for iOS caret color support.
2987 * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
2988 (TestWebKitAPI::TEST):
2989 * TestWebKitAPI/ios/UIKitSPI.h:
2991 2017-10-06 Alex Christensen <achristensen@webkit.org>
2993 Add more infrastructure to apply custom header fields to same-origin requests
2994 https://bugs.webkit.org/show_bug.cgi?id=177629
2996 Reviewed by Ryosuke Niwa.
2998 * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
2999 (canonicalizeHTTPHeader):
3000 (shouldRemainUnchanged):
3003 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3006 (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
3007 (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
3008 (-[CustomHeaderFieldsDelegate webView:stopURLSchemeTask:]):
3010 Test main resource requests, subresource requests, and cross-origin requests.
3012 2017-10-06 Wenson Hsieh <wenson_hsieh@apple.com>
3014 [iOS] Tweak support for classifying form controls (followup to r222487)
3015 https://bugs.webkit.org/show_bug.cgi?id=177917
3016 <rdar://problem/34820122>
3018 Reviewed by Dean Jackson.
3020 Minor cleanup around autofill API tests added in r222487. Additionally, augments some of these API tests to
3021 verify that after blurring the focused element, the content view no longer accepts autofill credentials (see
3022 WebKit ChangeLog for more details). Also augments tests to verify that the URL in the autofill context matches
3025 * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
3027 Remove the USE(APPLE_INTERNAL_SDK) guard for these API tests.
3029 (newUIKeyboardLoginCredentialsSuggestion):
3031 Add a stub implementation of UIKeyboardLoginCredentialsSuggestion. This allows
3032 [UIKeyboardLoginCredentialsSuggestion new] to return a nonnull object, which allows these API tests to verify
3033 that the credential filling codepath works as intended without any additional UIKit changes. Currently, tests
3034 for the value of username and password fields are passing even though the fields are not being populated because
3035 the expected string values are null, and the observed value is an empty string. We instead check the literal
3036 string values here instead of credentialSuggestion's properties, so that tests verifying the behavior of
3037 -insertTextSuggestion: will require username and password inputs to be populated.
3039 (-[TestInputDelegate _webView:focusShouldStartInputSession:]):
3040 (-[AutofillTestView initWithFrame:]):
3041 (-[AutofillTestView _autofillInputView]):
3042 (-[AutofillTestView textInputHasAutofillContext]):
3043 (TestWebKitAPI::TEST):
3045 Add an additional API test to verify that programmatic focus without user interaction (and also without testing
3046 overrides) does not activate autofill.
3048 (createUIKeyboardLoginCredentialsSuggestion): Deleted.
3049 (-[WKWebView _privateTextInput]): Deleted.
3050 * TestWebKitAPI/ios/UIKitSPI.h:
3052 Minor gardening to remove iOS version >= 11 guards that are now unnecessary. Additionally, add some more private
3053 header imports (with corresponding interface definitions for building and running with the public SDK).
3055 2017-10-06 Antti Koivisto <antti@apple.com>
3057 Minor WeakPtr improvements
3058 https://bugs.webkit.org/show_bug.cgi?id=177958
3060 Reviewed by Sam Weinig.
3062 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3063 (TestWebKitAPI::TEST):
3064 (TestWebKitAPI::Base::createWeakPtr): Deleted.
3066 2017-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
3068 Unreviewed. Fix parsing of GTK unit tests output in bot configuration.
3070 * BuildSlaveSupport/build.webkit.org-config/master.cfg:
3071 (RunGtkAPITests.commandComplete): Remove trailing ':' from the regular expression.
3073 2017-10-06 Charles Turner <cturner@igalia.com>
3075 Disable bmalloc when running Valgrind
3076 https://bugs.webkit.org/show_bug.cgi?id=177923
3078 Reviewed by Carlos Alberto Lopez Perez.
3080 * Scripts/webkitpy/port/gtk.py:
3081 (GtkPort.setup_environ_for_server):
3083 2017-10-06 Zan Dobersek <zdobersek@igalia.com>
3085 Implement TestController::platformContext() for WPE, returning the
3086 m_context pointer as the GTK+ port does. This fixes the crashes on
3089 Rubber-stamped by Carlos Garcia Campos.
3091 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
3092 (WTR::TestController::platformContext):
3094 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
3096 [GTK][WPE] Add API to configure and enable resource load statistics
3097 https://bugs.webkit.org/show_bug.cgi?id=177943
3099 Reviewed by Michael Catanzaro.
3101 Add a command line option to enable intelligent tracking prevention to MiniBrowser and tests cases to check the
3104 * MiniBrowser/gtk/main.c:
3106 * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
3108 (testWebsiteDataConfiguration):
3109 (testWebsiteDataEphemeral):
3110 (testWebsiteDataResourceLoadStats):
3112 * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
3114 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
3115 (directoryChangedCallback):
3116 (WebViewTest::waitUntilFileExists):
3117 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
3119 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
3121 [GTK][WPE] All resource load statistics tests added in r212183 crash in GTK bots, timeout in GTK and WPE bots since r219049
3122 https://bugs.webkit.org/show_bug.cgi?id=168171
3124 Reviewed by Chris Dumez.
3126 Implement all resource load statistics functions in TestController using the C API. Also enable the FileMonitor
3127 unit test. This test requires a platform implementation of Util::run(), so I've added UtilitiesGLib.cpp with an
3128 iplementation common to glib based ports using WTF RunLoop abstraction.
3130 * TestWebKitAPI/PlatformGTK.cmake:
3131 * TestWebKitAPI/PlatformWPE.cmake:
3132 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
3133 * TestWebKitAPI/glib/UtilitiesGLib.cpp: Copied from Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h.
3134 (TestWebKitAPI::Util::run):
3135 (TestWebKitAPI::Util::spinRunLoop):
3136 (TestWebKitAPI::Util::sleep):
3137 * TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
3138 * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
3139 * WebKitTestRunner/TestController.cpp:
3140 (WTR::TestController::platformAdjustContext):
3141 (WTR::TestController::setStatisticsLastSeen):
3142 (WTR::TestController::setStatisticsPrevalentResource):
3143 (WTR::ResourceStatisticsCallbackContext::ResourceStatisticsCallbackContext):
3144 (WTR::resourceStatisticsCallback):
3145 (WTR::TestController::isStatisticsPrevalentResource):
3146 (WTR::TestController::setStatisticsHasHadUserInteraction):
3147 (WTR::TestController::isStatisticsHasHadUserInteraction):
3148 (WTR::TestController::setStatisticsGrandfathered):
3149 (WTR::TestController::isStatisticsGrandfathered):
3150 (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
3151 (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
3152 (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
3153 (WTR::TestController::setStatisticsTimeToLiveUserInteraction):
3154 (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
3155 (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
3156 (WTR::TestController::statisticsUpdateCookiePartitioning):
3157 (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
3158 (WTR::TestController::statisticsSubmitTelemetry):
3159 (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
3160 (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
3161 (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
3162 (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
3163 (WTR::TestController::setStatisticsGrandfatheringTime):
3164 (WTR::TestController::setStatisticsMaxStatisticsEntries):
3165 (WTR::TestController::setStatisticsPruneEntriesDownTo):
3166 (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
3167 (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
3168 (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
3169 (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
3170 (WTR::TestController::statisticsResetToConsistentState):
3171 * WebKitTestRunner/TestController.h:
3173 2017-10-05 Jer Noble <jer.noble@apple.com>
3175 [Cocoa] Enable ENABLE_ENCRYPTED_MEDIA build-time setting
3176 https://bugs.webkit.org/show_bug.cgi?id=177261
3178 Reviewed by Eric Carlson.
3180 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3182 2017-10-05 Alex Christensen <achristensen@webkit.org>
3184 Add ObjC equivalent of WKPageNavigationClient.didChangeBackForwardList
3185 https://bugs.webkit.org/show_bug.cgi?id=177966
3186 <rdar://problem/22387135>
3188 Reviewed by Tim Horton.
3190 * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
3191 (-[ListItemDelegate _webView:backForwardListItemAdded:removed:]):
3192 (-[ListItemDelegate webView:didFinishNavigation:]):
3195 2017-10-04 Megan Gardner <megan_gardner@apple.com>
3197 check-webkit-style erroneously requires a space between the carrot and brace in obj-c blocks.
3198 https://bugs.webkit.org/show_bug.cgi?id=177897
3200 Reviewed by Dan Bernstein and Jonathan Bedard.
3202 Remove the check for a space between ^ and {,
3203 as this is valid and expected Obj-C. Now check to make sure there is
3204 no space at all between ^ and {, and also that there is a space between
3205 the end of an argument list and the {.
3207 * Scripts/webkitpy/style/checkers/cpp.py:
3208 (regex_for_lambdas_and_blocks):
3210 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
3212 Unreviewed. Run WebKit2 C API tests in GTK+ bots again after the last WebKit2 -> WebKit rename.
3214 * Scripts/run-gtk-tests:
3216 (TestRunner._run_test):
3218 2017-10-05 Darin Adler <darin@apple.com>
3220 Remove additional WebKitSystemInterface remnants
3221 https://bugs.webkit.org/show_bug.cgi?id=177948
3223 Reviewed by Andy Estes.
3225 * DumpRenderTree/PlatformMac.cmake: Removed code to link the
3226 WebKitSystemInterface library. Left in code that points to
3227 the WebKitLibraries directory, but maybe that can be removed by
3228 someone who is more certain it's no longer needed.
3230 * Scripts/copy-webkitlibraries-to-product-directory: Removed code
3231 to copy and delete WebKitSystemInterface libraries and headers.
3233 * WebKitTestRunner/PlatformMac.cmake: Removed code to link the
3234 WebKitSystemInterface library. Left in code that points to
3235 the WebKitLibraries directory, but maybe that can be removed by
3236 someone who is more certain it's no longer needed.
3238 2017-10-05 Saam Barati <sbarati@apple.com>
3240 Unreviewed. Try to make debug type profiler tests stop timing out.
3242 * Scripts/run-jsc-stress-tests:
3244 2017-10-03 Frederic Wang <fwang@igalia.com>
3246 Remove Brotli from Source/ThirdParty
3247 https://bugs.webkit.org/show_bug.cgi?id=177804
3249 Reviewed by Michael Catanzaro.
3251 * gtk/jhbuild.modules: Build brotli 1.0.1 from the official github repository.
3252 * Scripts/webkitpy/style/checker.py: Remove brotli.
3254 2017-10-04 Alex Christensen <achristensen@webkit.org>
3256 Stop linking with WebKitSystemInterface
3257 https://bugs.webkit.org/show_bug.cgi?id=177915
3259 Reviewed by Antti Koivisto.
3261 * DumpRenderTree/mac/Configurations/Base.xcconfig:
3262 * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
3263 * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
3264 * DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
3265 * WebKitTestRunner/Configurations/Base.xcconfig:
3266 * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
3267 * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
3268 * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
3269 * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
3271 2017-10-04 Alex Christensen <achristensen@webkit.org>
3273 Remove unnecessary includes of WebKitSystemInterface on Cocoa platforms
3274 https://bugs.webkit.org/show_bug.cgi?id=177912
3276 Reviewed by Saam Barati.
3278 * DumpRenderTree/mac/DumpRenderTree.mm:
3280 2017-10-04 Megan Gardner <megan_gardner@apple.com>
3282 Break out new touch debugging code into seperate file
3283 https://bugs.webkit.org/show_bug.cgi?id=177796
3285 Reviewed by Simon Fraser.
3287 Encapsulate the new debug touch code into it's own file.
3288 This allows for cleaner code and a better way to show the touches
3289 in a completely separate window, which should also be in screen
3290 coordinates, and not subject to any transforms that get put on the
3293 * TestRunnerShared/spi/UIKitTestSPI.h:
3294 * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3295 * WebKitTestRunner/ios/HIDDebugTouchWindow.h: Added.
3296 * WebKitTestRunner/ios/HIDDebugTouchWindow.mm: Added.
3297 (+[HIDDebugTouchWindow sharedHIDDebugTouchWindow]):
3298 (-[HIDDebugTouchWindow init]):
3299 (-[HIDDebugTouchWindow dealloc]):
3300 (-[HIDDebugTouchWindow updateDebugIndicatorForTouch:withPointInWindowCoordinates:isTouching:]):
3301 (-[HIDDebugTouchWindow initDebugViewsIfNeeded]):
3302 * WebKitTestRunner/ios/HIDEventGenerator.h:
3303 * WebKitTestRunner/ios/HIDEventGenerator.mm:
3304 (-[HIDEventGenerator init]):
3305 (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
3306 (-[HIDEventGenerator _createIOHIDEventType:]):
3307 (-[HIDEventGenerator _updateTouchPoints:count:]):
3308 (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
3309 (-[HIDEventGenerator touchDown:touchCount:]):
3310 (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
3311 (-[HIDEventGenerator liftUp:touchCount:]):
3312 (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
3313 (-[HIDEventGenerator initDebugViewsIfNeeded]): Deleted.
3314 (-[HIDEventGenerator updateDebugIndicatorForTouch:withPoint:isTouching:]): Deleted.
3315 * WebKitTestRunner/ios/TestControllerIOS.mm:
3316 (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
3318 2017-10-04 JF Bastien <jfbastien@apple.com>
3320 WTF: Update std::expected to match current proposal
3321 https://bugs.webkit.org/show_bug.cgi?id=177881
3323 Reviewed by Mark Lam.
3325 The proposal is likely to be in C++20 and I've been asked to help co-champion
3326 it. I'm therefore updating our implementation to more closely match the current
3327 proposal, and to make sure it'll work for us if standardized.
3329 - Rename UnexpectedType to Unexpected to match the proposal.
3330 - Remove relational operators, only equality / inequality remains.
3331 - Fix minor type signatures.
3332 - Add UnexpectedType typedef.
3333 - Uncomment rebind implementation.
3334 - Add in-place construction tag, as well as explicit error construction tag.
3335 - Add template unexpected constructor.
3336 - Note that make_unexpected isn't in the proposal anymore, but we keep it because we don't have C++17 deduction guides.
3337 - Remove hashing, which isn't in the proposal anymore.
3339 * TestWebKitAPI/Tests/WTF/Expected.cpp:
3341 (TestWebKitAPI::TEST):
3343 2017-10-04 Lucas Forschler <lforschler@apple.com>
3345 https://bugs.webkit.org/show_bug.cgi?id=177888
3346 WebKitArchiveSupport - add API Gateway to source control
3347 This is a swagger configuration export via AWS API Gateway console.
3349 Rubber-stamped by Alexey Proskuryakov.
3351 * WebKitArchiveSupport/AWS-APIGateway: Added.
3352 * WebKitArchiveSupport/AWS-APIGateway/stage-v2.json: Added.
3354 2017-10-04 Mark Lam <mark.lam@apple.com>
3356 Add support for using Probe DFG OSR Exit behind a runtime flag.
3357 https://bugs.webkit.org/show_bug.cgi?id=177844
3358 <rdar://problem/34801425>
3360 Reviewed by Saam Barati.
3362 Enable --useProbeOSrExit=true for dfg-eager and ftl-no-cjit-validate-sampling-profiler
3363 test configurations.
3365 * Scripts/run-jsc-stress-tests:
3367 2017-10-04 Jonathan Bedard <jbedard@apple.com>
3369 webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
3370 https://bugs.webkit.org/show_bug.cgi?id=177751
3371 <rdar://problem/34769470>
3373 Reviewed by Daniel Bates.
3375 Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
3376 result. When capturing output from the MockExecutive, the first invocation of
3377 Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
3378 but subsequent invocations will not.
3380 * Scripts/webkitpy/tool/steps/steps_unittest.py:
3382 (StepsTest.setUp): Cache the build path before running tests.
3384 2017-10-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
3386 [JHBuild][GTK][WKE] Circular dependency between harfbuzz and freetype6
3387 https://bugs.webkit.org/show_bug.cgi?id=177865
3389 Reviewed by Michael Catanzaro.
3391 Build freetype6 without harfbuzz support.
3392 This seems to be what distros like Fedora, Debian or OpenEmbedded do.
3393 Also explicitly enable support for freetype and fontconfig on harfbuzz.
3395 * gtk/jhbuild.modules: Enable also support for icu.
3396 * wpe/jhbuild.modules:
3398 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
3400 [Test262] Update Test262 to Oct 4 version
3401 https://bugs.webkit.org/show_bug.cgi?id=177859
3403 Reviewed by Sam Weinig.
3405 * Scripts/import-test262-tests:
3407 2017-10-04 Ryosuke Niwa <rniwa@webkit.org>
3409 Use blob URL when pasting RTFD instead of overriding DocumentLoader
3410 https://bugs.webkit.org/show_bug.cgi?id=177801
3411 <rdar://problem/34542270>
3413 Reviewed by Wenson Hsieh.
3415 Added a regression test for an assertion failure when pasting an empty RTFD as well as a test for pasting
3416 RTFD with an image, which should result in an image element with a blob URL.
3418 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3419 * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
3420 * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
3421 * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html:
3423 2017-10-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3425 [GLib] Let WebCore know of low power situations
3426 https://bugs.webkit.org/show_bug.cgi?id=177810
3428 Reviewed by Carlos Garcia Campos.
3430 * gtk/install-dependencies: add upower-glib dev packages for Debian, Arch and Fedora.
3432 2017-10-03 Saam Barati <sbarati@apple.com>
3434 Implement polymorphic prototypes
3435 https://bugs.webkit.org/show_bug.cgi?id=176391
3437 Reviewed by Filip Pizlo.
3439 * Scripts/run-jsc-stress-tests:
3441 2017-10-03 Myles C. Maxfield <mmaxfield@apple.com>
3443 Create a SPIR-V assembler
3444 https://bugs.webkit.org/show_bug.cgi?id=177726
3446 Reviewed by Filip Pizlo.
3448 Khronos has released a json file containing every SPIR-V opcode and operand at
3449 https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/1.2/spirv.core.grammar.json
3450 This patch creates a function which loads this file (via the fetch API), parses it, and creates
3451 an object which holds two things:
3452 - For each opcode, a class which accepts the appropriate operands
3453 - For each enum type, an object which holds each enum value
3454 The constructor for each opcode is smart enough to do some basic type-checking of the argument,
3455 according to the types listed in Khronos's json file.
3457 This patch also includes an example .html file which outputs a dummy SPIR-V program,
3458 which happens to be compatible with the SPIR-V demo at
3459 https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/demos/cube.cpp
3460 If you modify this demo to use the generated SPIR-V program, you can see the result in
3463 This patch also commits a copy of Khronos's json file mentioned above. This isn't the first
3464 Khronos file we've committed into our repository with this license, so there shouldn't be any
3467 * WebGPUShadingLanguageRI/SPIR-V.js: Added.
3470 (SPIRVAssembler.prototype.append):
3471 (SPIRVAssembler.prototype.get size):
3472 (SPIRVAssembler.prototype.get storage):
3473 (SPIRVAssembler.prototype.get result):
3474 * WebGPUShadingLanguageRI/SPIRV.html: Added.
3475 * WebGPUShadingLanguageRI/spirv.core.grammar.json: Added.
3477 2017-10-03 Chris Dumez <cdumez@apple.com>
3479 SharedStringHashStore should support removing hashes
3480 https://bugs.webkit.org/show_bug.cgi?id=177770
3482 Reviewed by Alex Christensen.
3484 Add API test coverage.
3486 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3487 * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: Added.
3488 (TestWebKitAPI::TEST):
3490 2017-10-03 Dewei Zhu <dewei_zhu@apple.com>
3492 Fix missing import for BenchmarkRunner.
3493 https://bugs.webkit.org/show_bug.cgi?id=177842
3495 Reviewed by Ryosuke Niwa.
3497 'show_results' requires BenchmarkRunner.
3499 * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
3501 2017-10-03 Olivier Blin <olivier.blin@softathome.com>
3503 [WPE] Bump deps to add support for xdg-shell-unstable-v6 protocol
3504 https://bugs.webkit.org/show_bug.cgi?id=177820
3506 Reviewed by Žan Doberšek.
3508 gnome-shell does not advertize the xdg-shell protocol anymore, but xdg-shell-unstable-v6 instead.
3509 Support has been added in WPEBackend-mesa, we need to update the requirements.
3510 wayland-1.10 is needed for wl_proxy_get_version(), used in the generated headers.
3512 * wpe/jhbuild.modules:
3514 2017-10-03 Alex Christensen <achristensen@webkit.org>
3516 Add ObjC SPI equivalent to WKPageLoaderClient.willGoToBackForwardListItem
3517 https://bugs.webkit.org/show_bug.cgi?id=177825
3518 <rdar://problem/22387505>
3520 Reviewed by Tim Horton.
3522 * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
3523 (-[BackForwardDelegate _webView:willGoToBackForwardListItem:inPageCache:]):
3524 (-[BackForwardDelegate webView:didFinishNavigation:]):
3527 2017-10-03 Antti Koivisto <antti@apple.com>
3529 Allow assigning WeakPtr<Derived> to WeakPtr<Base>
3530 https://bugs.webkit.org/show_bug.cgi?id=177817
3532 Reviewed by Geoff Garen.
3534 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3535 (TestWebKitAPI::Base::weakPtrFactory):
3536 (TestWebKitAPI::TEST):
3538 2017-10-03 Youenn Fablet <youenn@apple.com>
3540 Remove no longer needed WebRTC build infrastructure
3541 https://bugs.webkit.org/show_bug.cgi?id=177756
3543 Reviewed by Alejandro G. Castro.
3545 * Scripts/generate-libwebrtc-cmake: Removed.
3546 * Scripts/webkitpy/libwebrtc/__init__.py: Removed.
3547 * Scripts/webkitpy/libwebrtc/generate_cmake.py: Removed.
3549 2017-10-03 Joanmarie Diggs <jdiggs@igalia.com>
3551 AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes
3552 https://bugs.webkit.org/show_bug.cgi?id=177763
3554 Reviewed by Chris Fleizach.
3556 Implement ariaIsGrabbed() and ariaDropEffects() for ATK.
3558 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3559 (WTR::AccessibilityUIElement::ariaIsGrabbed const):
3560 (WTR::AccessibilityUIElement::ariaDropEffects const):
3562 2017-10-02 Myles C. Maxfield <mmaxfield@apple.com>
3564 Make WSL demo compatible with Microsoft Edge
3565 https://bugs.webkit.org/show_bug.cgi?id=177643
3567 Reviewed by Saam Barati.
3569 This patch does two things. The first is it migrates a loop over ParentNode.children to a legacy style loop
3570 because Microsoft Edge throws an exception when trying to use a for...of loop with it. This patch also hides
3571 the compilation behind a setTimeout(0) so there is some indication that something is happening during a
3575 * Tools/WebGPUShadingLanguageRI/index.html:
3577 2017-10-02 Joanmarie Diggs <jdiggs@igalia.com>
3579 AX: [ATK] The value of aria-level is not exposed on non-heading roles
3580 https://bugs.webkit.org/show_bug.cgi?id=177775
3582 Reviewed by Chris Fleizach.
3584 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3585 (WTR::AccessibilityUIElement::hierarchicalLevel const):
3587 2017-10-02 Geoffrey Garen <ggaren@apple.com>
3589 WeakPtr should have a move constructor
3590 https://bugs.webkit.org/show_bug.cgi?id=177789
3592 Reviewed by Chris Dumez.
3594 Chris made me write an API test. It wasn't that painful.
3596 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3597 (TestWebKitAPI::TEST):
3599 2017-10-02 Filip Pizlo <fpizlo@apple.com>
3602 https://bugs.webkit.org/show_bug.cgi?id=177705
3604 Rubber stamped by Keith Miller.
3606 When I first wrote the prototype, I thought it would be cool to use ^ for pointers. Nobody agrees. I've
3607 gotten so much feedback to use *. This changes pointers to use *.
3609 * WebGPUShadingLanguageRI/DereferenceExpression.js:
3610 (DereferenceExpression.prototype.toString):
3611 (DereferenceExpression):
3612 * WebGPUShadingLanguageRI/Intrinsics.js:
3614 * WebGPUShadingLanguageRI/Parse.js:
3616 (parsePossiblePrefix):
3617 * WebGPUShadingLanguageRI/PtrType.js:
3618 (PtrType.prototype.toString):
3620 * WebGPUShadingLanguageRI/StandardLibrary.js:
3621 * WebGPUShadingLanguageRI/Test.js:
3622 (tests.simpleDereference):
3623 (tests.dereferenceStore):
3624 (tests.simpleMakePtr):
3628 (tests.dereferenceDefaultNull):
3629 (tests.defaultInitializedNull):
3630 (tests.passNullToPtrMonomorphic):
3631 (tests.passNullToPtrPolymorphic):
3632 (tests.passNullAndNotNull):
3633 (tests.passNullAndNotNullFullPoly):
3634 (tests.passNullAndNotNullFullPolyReverse):
3635 (tests.chainGeneric):
3636 (tests.chainStruct):
3637 (tests.chainStructNewlyValid):
3638 (tests.chainStructDevice):
3639 (tests.paramChainStructDevice):
3640 (tests.simpleProtocolExtends):
3641 (tests.protocolExtendsTwo):
3642 (tests.overrideSubscriptStruct):
3643 (tests.overrideSubscriptStructAndDoStores):
3644 (tests.overrideSubscriptStructAndUsePointers):
3645 (tests.overrideSubscriptStructAndUsePointersIncorrectly):
3646 (tests.makeArrayRefFromPointer):
3647 (tests.nonArrayRefArrayLengthFail):
3648 (tests.constexprIsNotLValuePtr):
3649 (tests.genericAccessors):
3650 (tests.nestedSubscriptLValueEmulationSimple):
3651 (tests.nestedSubscriptLValueEmulationGeneric):
3652 (tests.shaderTypes):
3653 (tests.enumPtrBase):
3654 (tests.mutuallyRecursiveStructWithPointersBroken):
3655 (tests.mutuallyRecursiveStructWithPointers):
3657 (tests.pointerToPointer):
3658 (tests.pointerGetter):
3659 (tests.operatorCastWithTypeVariableInferredFromReturnType):
3660 (tests.loneSetterPointer):
3661 (tests.anderWithNothingWrong):
3662 (tests.anderWithWrongNumberOfArguments):
3663 (tests.anderDoesntReturnPointer):
3664 (tests.anderDoesntTakeReference):
3665 (tests.anderWithArrayRef):
3666 (tests.pointerIndexGetter):
3667 (tests.loneIndexSetterPointer):
3668 (tests.indexAnderWithNothingWrong):
3669 (tests.indexAnderWithWrongNumberOfArguments):
3670 (tests.indexAnderDoesntReturnPointer):
3671 (tests.indexAnderDoesntTakeReference):
3672 (tests.indexAnderWithArrayRef):
3673 (tests.devicePtrPtr):
3674 (tests.threadgroupPtrPtr):
3675 (tests.constantPtrPtr):
3676 (tests.pointerIndexGetterInProtocol):
3677 (tests.loneIndexSetterPointerInProtocol):
3678 (tests.indexAnderWithNothingWrongInProtocol):
3679 (tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
3680 (tests.indexAnderDoesntReturnPointerInProtocol):
3681 (tests.indexAnderDoesntTakeReferenceInProtocol):
3682 (tests.indexAnderWithArrayRefInProtocol):
3683 (tests.andReturnedArrayRef):
3685 2017-10-02 Filip Pizlo <fpizlo@apple.com>
3687 WSL should be fine with &foo()[i] if foo() returns a []
3688 https://bugs.webkit.org/show_bug.cgi?id=177704
3690 Reviewed by Saam Barati.
3692 Previously, we'd determine if a property access expression (base.field or base[index]) was an lvalue by
3693 asking if its base was an lvalue. This is right in all cases except if the base is of type []. Then, the
3694 property access expression is an lvalue so long as there is a setter or ander.
3696 This fixes the issue and adds a test.
3698 Also, this makes error messages in the case that something is not an lvalue a lot better. If something
3699 is not an lvalue because we could not find anders or setters, then we will tell you why we could not
3702 * WebGPUShadingLanguageRI/Checker.js:
3703 (Checker.prototype.visitAssignment):
3704 (Checker.prototype.visitReadModifyWriteExpression):
3705 (Checker.prototype.visitMakePtrExpression):
3706 (Checker.prototype._finishVisitingPropertyAccess):
3707 * WebGPUShadingLanguageRI/DotExpression.js:
3708 (DotExpression.prototype.get fieldName):
3709 (DotExpression.prototype.get isLValue): Deleted.
3710 (DotExpression.prototype.get addressSpace): Deleted.
3711 * WebGPUShadingLanguageRI/IndexExpression.js:
3712 (IndexExpression.prototype.get index):
3713 (IndexExpression.prototype.get isLValue): Deleted.
3714 (IndexExpression.prototype.get addressSpace): Deleted.
3715 * WebGPUShadingLanguageRI/PropertyAccessExpression.js:
3716 (PropertyAccessExpression):
3717 (PropertyAccessExpression.prototype.get isLValue):
3718 (PropertyAccessExpression.prototype.set isLValue):
3719 * WebGPUShadingLanguageRI/PropertyResolver.js:
3720 (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitMakeArrayRefExpression):
3721 (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
3722 (PropertyResolver.prototype._visitRValuesWithinLValue):
3723 * WebGPUShadingLanguageRI/Test.js:
3724 (tests.storeNullArrayRef):
3725 (tests.andReturnedArrayRef):
3727 2017-10-02 Wenson Hsieh <wenson_hsieh@apple.com>
3729 Guard iOS webkitGetAsEntry API tests on older iOS versions
3731 Unreviewed test gardening. After r222688, these tests require custom pasteboard data to be enabled by default,
3732 so don't run them against shipping iOS.
3734 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3736 2017-10-02 Carlos Garcia Campos <cgarcia@igalia.com>
3738 [WPE][GTK] Crash in webkit_web_resource_get_data_finish()
3739 https://bugs.webkit.org/show_bug.cgi?id=177107
3741 Reviewed by Michael Catanzaro.
3743 Add a test case to check we handle errors when webkit_web_resource_get_data() fails.
3745 * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
3746 (webViewloadChanged):
3747 (testWebResourceGetDataError):
3750 2017-10-02 Alex Christensen <achristensen@webkit.org>
3752 Fix build after r222715
3753 https://bugs.webkit.org/show_bug.cgi?id=177697
3755 * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3757 Use the public API instead of the removed SPI.
3759 2017-10-02 Alex Christensen <achristensen@webkit.org>
3761 REGRESSION(r214201): WebProcess hangs during policy decisions
3762 https://bugs.webkit.org/show_bug.cgi?id=177590
3763 <rdar://problem/33362929>
3765 Reviewed by Andy Estes.
3767 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3768 * TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm: Added.
3769 (-[JSNavigationDelegate webView:didFinishNavigation:]):
3770 (-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3771 (-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3772 (-[JSNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3775 2017-10-02 Jonathan Bedard <jbedard@apple.com>
3777 Log stack-trace for run-webkit-tests when interrupted
3778 https://bugs.webkit.org/show_bug.cgi?id=176393
3779 <rdar://problem/34262310>
3781 Reviewed by Darin Adler.
3783 When run-webkit-tests is stuck, it is difficult to immediately tell
3784 why. Saving a stack-trace when run-webkit-tests is terminated
3785 or stopped with CNTRL-C will make such issues easier to debug.
3787 * Scripts/webkitpy/common/interupt_debugging.py: Added.
3788 (log_stack_trace): Given a Python frame object, log a stack trace to
3790 (log_stack_trace_on_term): Attach a listener to SIGTERM so that a
3791 stack-trace can be logged when a program is terminated.
3792 (log_stack_trace_on_cntrl_c): Attach a listener to SIGINT so that a
3793 stack-trace can be logged when a program is CNTRL-Ced.
3794 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3795 (main): Set handlers to log stack trace on interruption.
3797 2017-10-02 Michael Catanzaro <mcatanzaro@igalia.com>
3799 Remove ENABLE_CSS_REGIONS
3800 https://bugs.webkit.org/show_bug.cgi?id=177689
3802 Reviewed by Darin Adler.
3804 * Scripts/webkitperl/FeatureList.pm:
3806 2017-09-30 Carlos Garcia Campos <cgarcia@igalia.com>
3808 Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.
3810 This version upgrades liberation fonts to version 2, that has a wider glyph coverage.
3812 * gtk/jhbuild.modules:
3814 2017-09-29 Alex Christensen <achristensen@webkit.org>
3816 Expose WebPreferences::webGLEnabled through WKPreferences
3817 https://bugs.webkit.org/show_bug.cgi?id=177692
3818 <rdar://problem/24110556>
3820 Reviewed by Andy Estes.
3822 * TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
3823 (-[AlertSaver alert]):
3824 (-[AlertSaver webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3827 2017-09-29 Alex Christensen <achristensen@webkit.org>
3829 Fix WKWebViewConfigurationPrivate after r222663
3830 https://bugs.webkit.org/show_bug.cgi?id=177644
3832 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3833 * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm: Added.
3836 2017-09-28 Ryosuke Niwa <rniwa@webkit.org>
3838 Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items
3839 https://bugs.webkit.org/show_bug.cgi?id=170449
3840 <rdar://problem/31432525>
3842 Reviewed by Wenson Hsieh.
3844 Added an API test to paste an image from pasteboard. The test is shared between iOS and macOS.
3846 The tests to paste image files are only enabled on macOS since putting files into pasteboard isn't a thing on iOS.
3848 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3849 * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: Added.
3850 (writeImageDataToPasteboard):
3851 (writeBundleFileToPasteboard):
3852 * TestWebKitAPI/Tests/WebKitCocoa/paste-image.html: Added.
3853 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-100px.tiff: Added.
3854 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-200px.png: Added.
3855 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-400px.gif: Added.
3856 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-600px.jpg: Added.
3857 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Rebaselined the test now that types contain "Files".
3859 2017-09-29 Wenson Hsieh <wenson_hsieh@apple.com>
3861 [iOS WK2] Implement -[WKContentView hasText] for compatibility with the UITextInput protocol
3862 https://bugs.webkit.org/show_bug.cgi?id=177662
3863 <rdar://problem/33410373>
3865 Reviewed by Tim Horton.
3867 Add EditorState API tests to check that the value of -[WKContentView hasText] is correct when editing both plain
3868 and rich text areas.
3870 * TestWebKitAPI/EditingTestHarness.h:
3871 * TestWebKitAPI/EditingTestHarness.mm:
3872 (-[EditingTestHarness insertParagraph]):
3873 (-[EditingTestHarness insertText:]):
3874 (-[EditingTestHarness insertHTML:]):
3875 (-[EditingTestHarness selectAll]):
3876 (-[EditingTestHarness deleteBackwards]):
3877 * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
3879 Add versions of EditingTestHarness helpers that don't require us to expect any editor state after executing the
3882 (TestWebKitAPI::checkContentViewHasTextWithFailureDescription):
3883 (TestWebKitAPI::TEST):
3884 * TestWebKitAPI/cocoa/TestWKWebView.h:
3885 * TestWebKitAPI/cocoa/TestWKWebView.mm:
3886 (-[TestWKWebView textInputContentView]):
3888 2017-09-29 Charles Turner <cturner@igalia.com>
3894 * Scripts/webkitpy/common/config/contributors.json:
3896 2017-09-28 Commit Queue <commit-queue@webkit.org>
3898 Unreviewed, rolling out r222639.
3899 https://bugs.webkit.org/show_bug.cgi?id=177630
3901 Breaks AppleWin build (Requested by dolmstead on #webkit).
3905 "[WinCairo][MiniBrowser] Add ca-bundle to display secure
3907 https://bugs.webkit.org/show_bug.cgi?id=168486
3908 http://trac.webkit.org/changeset/222639
3910 2017-09-28 Joanmarie Diggs <jdiggs@igalia.com>
3912 AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
3913 https://bugs.webkit.org/show_bug.cgi?id=177542
3915 Add platform support for the notifications. Also add support for getting the
3916 boolean argument indicating whether the state has been set or unset.
3918 Reviewed by Chris Fleizach.
3920 * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
3922 2017-09-28 Basuke Suzuki <Basuke.Suzuki@sony.com>
3924 [WinCairo][MiniBrowser] Add ca-bundle to display secure pages.
3925 Copy cacert.pem file into bundle directory.
3926 https://bugs.webkit.org/show_bug.cgi?id=168486
3928 Reviewed by Brent Fulgham.
3930 * MiniBrowser/win/CMakeLists.txt:
3932 2017-09-28 Lucas Forschler <lforschler@apple.com>
3934 check in AWS Lambda code used for WebKitArchiveSupport
3935 https://bugs.webkit.org/show_bug.cgi?id=177614
3937 Rubber-stamped by Alexey Proskuryakov.
3939 * WebKitArchiveSupport/lambda: Added.
3940 * WebKitArchiveSupport/lambda/delete-minified-s3-archive-from-dynamodb.py: Added.
3942 * WebKitArchiveSupport/lambda/delete-s3-archive-from-dynamodb.py: Added.
3944 * WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py: Added.
3946 * WebKitArchiveSupport/lambda/register-minified-s3-archive-in-dynamodb.py: Added.
3949 2017-09-28 Jiewen Tan <jiewen_tan@apple.com>
3951 WeakPtrFactory should allow downcasting
3952 https://bugs.webkit.org/show_bug.cgi?id=177389
3953 <rdar://problem/34604174>
3955 Reviewed by Geoffrey Garen.
3957 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3958 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3959 (TestWebKitAPI::Base::foo):
3960 (TestWebKitAPI::Base::createWeakPtr):
3961 (TestWebKitAPI::Derived::foo):
3962 (TestWebKitAPI::TEST):
3964 2017-09-28 Megan Gardner <megan_gardner@apple.com>
3966 Add debug flag to WebKitTestRunner to show where touches are being generated
3967 https://bugs.webkit.org/show_bug.cgi?id=177583
3969 Reviewed by Tim Horton and Wenson Hsieh.
3971 Add a flag, and the ability to paint a dot where the HIDEventGenerator is creating fake touches to
3972 send through UIKit. This will help in debugging touch tests, because it will be easier to see if
3973 one is actually sending the touches at the locations that they expect. This will help differentiate between
3974 problems in the locations of the touches, and other problems that can come up when writing tests.
3976 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3978 * Scripts/webkitpy/port/driver.py:
3980 * WebKitTestRunner/Options.cpp:
3981 (WTR::Options::Options):
3982 (WTR::handleOptionShowTouches):
3983 (WTR::OptionsHandler::OptionsHandler):
3984 * WebKitTestRunner/Options.h:
3985 * WebKitTestRunner/TestController.cpp:
3986 (WTR::TestController::initialize):
3987 * WebKitTestRunner/TestController.h:
3988 (WTR::TestController::shouldShowTouches const):
3989 * WebKitTestRunner/TestOptions.h:
3990 * WebKitTestRunner/ios/HIDEventGenerator.h:
3991 * WebKitTestRunner/ios/HIDEventGenerator.mm:
3992 (-[DebugTouchView pointInside:withEvent:]):
3993 (-[HIDEventGenerator setShouldShowTouches:]):
3994 (-[HIDEventGenerator initDebugViews]):
3995 (-[HIDEventGenerator updateDebugUI:withPoint:isTouching:]):
3996 (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
3997 (-[HIDEventGenerator _createIOHIDEventType:]):
3998 (-[HIDEventGenerator _updateTouchPoints:count:]):
3999 (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
4000 (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
4001 (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
4002 (-[HIDEventGenerator markerEventReceived:]):
4003 * WebKitTestRunner/ios/TestControllerIOS.mm:
4004 (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
4005 * WebKitTestRunner/ios/mainIOS.mm:
4006 (-[WebKitTestRunnerApp _runTestController]):
4008 2017-09-28 Mark Lam <mark.lam@apple.com>
4010 [Re-landing] Turn on exception scope verification for JSC tests.
4011 https://bugs.webkit.org/show_bug.cgi?id=162351
4012 <rdar://problem/29563911>
4014 Reviewed by Saam Barati.
4016 Update: I'm re-landing this patch now that test262 exception check validation
4017 failures have been fixed in r222617. testapi still has some validation failures,
4018 but this patch does not affect testapi.
4020 Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
4021 run-jsc-stress-tests. This turns on exception scope verification on JSC test
4022 runs (which currently does not include testapi).
4024 Some stats on time to run JSC stress and mozilla tests:
4025 1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
4026 2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
4027 3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
4028 4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s
4030 The stats shows that (2) and (3) has effectively no time difference. Hence, the
4031 cost of enabling --validateExceptionChecks=true is not significant.
4033 It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
4034 21% slower than (3). To avoid making debug test runs a lot slower, we'll leave
4035 --dumpSimulatedThrows=true off. We can manually add that when we see a regression
4036 and need to debug the issue. Otherwise, we wont pay the price for it.
4038 * Scripts/run-jsc-stress-tests:
4040 2017-09-27 Alex Christensen <achristensen@webkit.org>
4042 Add WKContentRuleList notify action type
4043 https://bugs.webkit.org/show_bug.cgi?id=177013
4044 <rdar://problem/31073936>
4046 Reviewed by Darin Adler.
4048 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4049 * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
4050 (WebCore::ContentExtensions::operator<<):
4051 (TestWebKitAPI::InMemoryCompiledContentExtension::create):
4052 (TestWebKitAPI::InMemoryCompiledContentExtension::data):
4053 (TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
4054 (TestWebKitAPI::makeBackend):
4055 (TestWebKitAPI::TEST_F):
4056 (TestWebKitAPI::actionsEqual):
4057 (TestWebKitAPI::sequenceInstances):
4058 (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
4059 (TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
4060 * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
4061 (-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
4062 (-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
4063 (-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
4064 (-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
4065 (makeWarnContentRuleList):
4068 2017-09-27 Wenson Hsieh <wenson_hsieh@apple.com>
4070 Drag event DataTransfer has unexpected types "dyn.ah62d4..."
4071 https://bugs.webkit.org/show_bug.cgi?id=172526
4072 <rdar://problem/32396081>
4074 Reviewed by Ryosuke Niwa.
4076 Adds new API tests on iOS to cover various cases of using DataTransfer.setData, DataTransfer.getData, and
4077 DataTransfer.types, as well as their interaction with platform objects (source NSItemProviders in the case of
4078 drag and drop, and the general UIPasteboard for copy and paste).
4080 * TestWebKitAPI/PlatformUtilities.h:
4081 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4082 * TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html: Added.
4084 Introduce a new API test harness that both drag-and-drop and copy-and-paste tests use to dump DataTransfer's
4085 web-exposed types and values.
4087 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
4088 (checkFirstTypeIsPresentAndSecondTypeIsMissing):
4089 (checkJSONWithLogging):
4090 (TestWebKitAPI::TEST):
4091 (checkTypeIdentifierAndIsNotOtherTypeIdentifier): Deleted.
4092 * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
4093 (TestWebKitAPI::checkJSONWithLogging):
4094 (TestWebKitAPI::setUpWebViewForPasteboardTests):
4095 (TestWebKitAPI::TEST):
4096 * TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
4097 (TestWebKitAPI::Util::jsonMatchesExpectedValues):
4099 2017-09-27 Lucas Forschler <lforschler@apple.com>
4101 Add macOS High Sierra and iOS Simulator 11 support to bisect-builds.
4102 https://bugs.webkit.org/show_bug.cgi?id=177578
4104 Reviewed by Alexey Proskuryakov.
4106 * Scripts/bisect-builds:
4107 (minified_platforms):
4108 (unminified_platforms):
4110 2017-09-27 Ryan Haddad <ryanhaddad@apple.com>
4112 Update TestResultsServer for High Sierra queues.
4113 https://bugs.webkit.org/show_bug.cgi?id=177500
4115 Reviewed by Alexey Proskuryakov.
4117 * TestResultServer/static-dashboards/builders.jsonp:
4119 2017-09-27 Lucas Forschler <lforschler@apple.com>
4121 bisect-builds:add a README to the archive.
4122 https://bugs.webkit.org/show_bug.cgi?id=177376
4124 Reviewed by Alexey Proskuryakov & Jon Davis.
4126 * BuildSlaveSupport/built-product-archive:
4127 (addFilesToArchive): refactor function (was previously addLauncherToArchive)
4128 (createZip): Teach function to add the README
4129 (addLauncherToArchive): Deleted. (refactored to addFilesToArchive)
4130 * BuildSlaveSupport/run-webkit-archive: Deleted. (Moved to WebKitArchiveSupport)
4131 * WebKitArchiveSupport: Added.
4132 * WebKitArchiveSupport/README: Added. README which will be packaged up with the archive.
4133 * WebKitArchiveSupport/run-webkit-archive: Added. (Moved from BuildSlaveSupport)
4135 2017-09-26 Tim Horton <timothy_horton@apple.com>
4137 Mac CMake bot should provide verbose build output
4138 https://bugs.webkit.org/show_bug.cgi?id=177512
4140 Reviewed by Alexey Proskuryakov.
4142 * BuildSlaveSupport/build.webkit.org-config/config.json:
4143 It's hard to diagnose weird bot-only build problems without the
4144 full verbose build output, so turn that on. The Xcode builders
4145 do it too, so why not CMake!
4147 2017-09-26 Tim Horton <timothy_horton@apple.com>
4149 Make it possible to easily get verbose ninja output from build-webkit
4150 https://bugs.webkit.org/show_bug.cgi?id=177511
4152 Reviewed by Sam Weinig.
4154 * Scripts/build-webkit:
4155 Add a -v/--verbose argument to build-webkit, which sets the environment
4156 variable VERBOSE=1, which buildCMakeGeneratedProject already checks.
4158 * Scripts/webkitdirs.pm:
4159 (buildCMakeGeneratedProject):
4160 Add ninja verbosity arguments to @makeArgs, which are appended
4161 after the -- and thus handed to ninja; the previous implementation
4162 (appending to @args) would only work if @makeArgs was non-empty and thus
4163 the -- was included.
4165 2017-09-26 Said Abou-Hallawa <sabouhallawa@apple.com>
4167 Followup (r222427): SynchronizedFixedQueue should not have a public constructor
4168 https://bugs.webkit.org/show_bug.cgi?id=177458
4170 Reviewed by Tim Horton.
4172 Fix the definition and the creation of SynchronizedFixedQueue.
4174 * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
4175 (TestWebKitAPI::ToUpperConverter::ToUpperConverter):
4176 (TestWebKitAPI::ToUpperConverter::startProducing):
4177 (TestWebKitAPI::ToUpperConverter::startConsuming):
4178 (TestWebKitAPI::ToUpperConverter::stopProducing):
4179 (TestWebKitAPI::ToUpperConverter::stopConsuming):
4180 (TestWebKitAPI::ToUpperConverter::enqueueLower):
4182 2017-09-26 Wenson Hsieh <wenson_hsieh@apple.com>
4184 [ios-simulator] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry is failing
4185 https://bugs.webkit.org/show_bug.cgi?id=177271
4187 Reviewed by Tim Horton and Megan Gardner.
4189 Rebaseline a failing API test.
4191 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
4192 (TestWebKitAPI::TEST):
4194 2017-09-26 Per Arne Vollan <pvollan@apple.com>
4196 Set LF eol-style on Windows shell script, because the script failed on one of the EWS
4197 bots, when it had the 'native' style.
4199 Unreviewed Windows EWS fix.
4201 * EWSTools/start-queue-win.sh: Modified property svn:eol-style.
4203 2017-09-26 Jonathan Bedard <jbedard@apple.com>
4205 webkitpy: Notify parent process when a worker is spawned
4206 https://bugs.webkit.org/show_bug.cgi?id=177467
4207 <rdar://problem/34660194>
4209 Reviewed by Daniel Bates.
4211 When we fork the parent process, there may be resources in that process
4212 which workers will take ownership of. Notify ports when a new worker is created
4213 so that these resources can be correctly managed.
4215 * Scripts/webkitpy/common/message_pool.py:
4216 (_MessagePool._start_workers): After all workers are started, notify the caller
4217 that a worker has been created, unless we are running inline, in which case the
4218 parent process is still the worker.
4219 * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
4220 (LayoutTestRunner._handle_did_spawn_worker): Notify the port that a worker process
4222 * Scripts/webkitpy/port/base.py:
4223 (Port.did_spawn_worker): Add function so that ports may manage any
4224 resources created on the parent process but managed by the provided worker.
4225 * Scripts/webkitpy/port/device.py:
4226 (Device.release_worker_resources): Call release_worker_resources on the
4227 platform_device if such a function is defined.
4228 * Scripts/webkitpy/port/ios.py:
4229 (IOSPort.did_spawn_worker): Release any worker resources on the iOS
4230 device object associated with the spawned worker.
4231 * Scripts/webkitpy/test/runner.py:
4232 (Runner.handle): Ignore the did_spawn_worker message during testing.
4234 2017-09-26 Jer Noble <jer.noble@apple.com>
4236 Thrown ObjC exception when right clicking on <img> containing mp4 link
4237 https://bugs.webkit.org/show_bug.cgi?id=177370
4239 Reviewed by Darin Adler.
4241 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4242 * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.html: Added.
4243 * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm: Added.
4244 (-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
4245 (TestWebKitAPI::TEST):
4247 2017-09-26 Per Arne Vollan <pvollan@apple.com>
4249 [Win] 'webkit-patch clean' is failing on bot.
4250 https://bugs.webkit.org/show_bug.cgi?id=177488
4252 Reviewed by Brent Fulgham.
4254 If 'os.remove' throws an exception, catch it.
4256 * Scripts/webkitpy/common/checkout/scm/svn.py:
4257 (SVN.discard_working_directory_changes):
4259 2017-09-25 Frederik Riedel <riedel@apple.com>