1 2017-11-07 Carlos Garcia Campos <cgarcia@igalia.com>
3 REGRESSION(r224179): [GTK] Several WebViewEditor tests are failing since r224179
4 https://bugs.webkit.org/show_bug.cgi?id=179366
6 Reviewed by Michael Catanzaro.
8 Use always a toplevel window for WebViewEditor tests instead of creating and destroying one only to flush editor
11 * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
13 2017-11-07 Carlos Garcia Campos <cgarcia@igalia.com>
15 [GTK][WPE] Build inspector resources using copy-user-interface-resources.pl script
16 https://bugs.webkit.org/show_bug.cgi?id=179317
18 Reviewed by Michael Catanzaro.
20 Move generate-inspector-gresource-manifest.py to glib dir to be shared by GTK+ and WPE ports and update it to
21 receive an input directory instead of a list of patterns.
22 File::Copy::Recursive is required by copy-user-interface-resources.pl, so make sure it's installed.
24 * glib/generate-inspector-gresource-manifest.py: Renamed from Tools/gtk/generate-inspector-gresource-manifest.py.
26 (get_filenames.should_ignore_resource):
27 * gtk/install-dependencies:
28 * wpe/generate-inspector-gresource-manifest.py: Removed.
29 * wpe/install-dependencies:
31 2017-11-07 Don Olmstead <don.olmstead@sony.com>
33 Fix webkitpy tests after rev 224549.
37 * Scripts/webkitpy/common/config/ports.py:
38 (WinCairoPort.run_webkit_tests_command):
39 * Scripts/webkitpy/common/config/ports_unittest.py:
40 (DeprecatedPortTest.test_wincairo_port):
42 2017-11-07 Aakash Jain <aakash_jain@apple.com>
44 Enable webkitpy EWS bubbles
45 https://bugs.webkit.org/show_bug.cgi?id=178539
47 Reviewed by Alexey Proskuryakov.
49 * QueueStatusServer/config/queues.py: Added webkitpy EWS.
51 2017-11-07 Don Olmstead <don.olmstead@sony.com>
53 Add a WinCairo EWS queue
54 https://bugs.webkit.org/show_bug.cgi?id=179390
56 Reviewed by Lucas Forschler.
58 * QueueStatusServer/config/queues.py:
59 * QueueStatusServer/model/queues.py:
60 * Scripts/webkitpy/common/config/ews.json:
61 * Scripts/webkitpy/common/config/ports.py:
62 * Scripts/webkitpy/common/config/ports_unittest.py:
63 * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
65 2017-11-07 Aakash Jain <aakash_jain@apple.com>
67 fix check-webkit-style errors in webkitpy about not having two spaces before inline comment
68 https://bugs.webkit.org/show_bug.cgi?id=171506
70 Reviewed by Alexey Proskuryakov.
72 * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
73 (SCMTest._shared_test_reverse_diff): Added two spaces before inline comment.
74 (test_create_patch_is_full_patch): Ditto.
75 * Scripts/webkitpy/common/thread/messagepump.py:
77 * Scripts/webkitpy/layout_tests/servers/http_server.py:
78 (Lighttpd._prepare_config): Ditto.
79 * Scripts/webkitpy/style/checker.py: Ditto.
80 * Scripts/webkitpy/style/checkers/cpp_unittest.py:
81 (OrderOfIncludesTest.test_check_preprocessor_in_include_section): Ditto.
83 2017-11-07 Aakash Jain <aakash_jain@apple.com>
85 Add support for webkitpy tests EWS
86 https://bugs.webkit.org/show_bug.cgi?id=178480
88 Reviewed by Alexey Proskuryakov.
90 * Scripts/webkitpy/common/config/ews.json: Added webkitpy EWS.
91 * Scripts/webkitpy/common/net/generictestresults.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults.py.
92 * Scripts/webkitpy/common/net/generictestresults_unittest.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults_unittest.py.
93 * Scripts/webkitpy/tool/bot/patchanalysistask.py:
94 (PatchAnalysisTask._test_patch): Do not retry webkitpy test since they are not flaky.
95 * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Updated import for BindingsTestResult.
96 * Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Ditto.
97 * Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Copied from Scripts/webkitpy/tool/bot/bindingstestresultsreader.py.
98 * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
99 (AbstractEarlyWarningSystem.begin_work_queue): Added webkitpy test result reader.
100 * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
101 * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Run webkitpy EWS only for relevant changes.
102 * Scripts/webkitpy/tool/steps/runtests.py:
103 (RunTests.run): Run webkitpy tests when --group=webkitpy is passed.
104 (RunTests._run_webkitpy_tests): Method to invoke webkitpy tests.
105 * Scripts/webkitpy/tool/steps/steps_unittest.py:
106 (test_runtests_webkitpy): Added unit-test.
108 2017-11-07 Commit Queue <commit-queue@webkit.org>
110 Unreviewed, rolling out r224512 and r224521.
111 https://bugs.webkit.org/show_bug.cgi?id=179388
113 An API test added with this change is failing an assertion on
114 the bots. (Requested by ryanhaddad on #webkit).
118 "[Attachment Support] Implement delegate hooks for attachment
119 element insertion and removal"
120 https://bugs.webkit.org/show_bug.cgi?id=179016
121 https://trac.webkit.org/changeset/224512
123 "Remove stray logging from a newly added API test"
124 https://trac.webkit.org/changeset/224521
126 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
128 Remove stray logging from a newly added API test
130 This was only for debugging purposes, and should have been removed before landing.
132 Rubber-stamped by Tim Horton.
134 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
135 (TestWebKitAPI::TEST):
137 2017-11-06 Jonathan Bedard <jbedard@apple.com>
139 Only build ImageDiff for mac
140 https://bugs.webkit.org/show_bug.cgi?id=179349
141 <rdar://problem/35376237>
143 Reviewed by Tim Horton.
145 * ImageDiff/Makefile:
147 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
149 Unreviewed, fix the internal build after updating to a newer SDK
151 There shouldn't be any need to include and implement these method stubs anymore,
152 even when building against the shipping iOS 11 SDK.
154 * TestWebKitAPI/ios/DataInteractionSimulator.mm:
155 (-[MockDropSession session]): Deleted.
157 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
159 [Attachment Support] Implement delegate hooks for attachment element insertion and removal
160 https://bugs.webkit.org/show_bug.cgi?id=179016
161 <rdar://problem/35250890>
163 Reviewed by Tim Horton.
165 Introduces new API tests to check that various editing operations will or won't result in the new attachment
166 insertion and removal delegate hooks being fired. Additionally refactors an existing test to verify that
167 attachments insertion and removal is observable by the UI delegate.
169 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
170 (-[AttachmentUpdateObserver init]):
171 (-[AttachmentUpdateObserver inserted]):
172 (-[AttachmentUpdateObserver removed]):
173 (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
174 (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
175 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
176 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
177 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
179 Implement a testing mechanism to temporarily bind a UI delegate to a given WKWebView and listen for inserted or
180 removed attachments over the course of a particular scope. The API tests use this mechanism to check that the UI
181 delegate hooks added in this patch are invoked with the right attachments when performing edit commands.
183 (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
184 (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
185 (TestWebKitAPI::TEST):
187 2017-11-06 Christopher Reid <chris.reid@sony.com>
189 Use enum classes within FileSystem
190 https://bugs.webkit.org/show_bug.cgi?id=175172
192 Reviewed by Myles C. Maxfield.
194 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
195 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
197 2017-11-06 Michael Catanzaro <mcatanzaro@igalia.com>
199 [WPE] -Wsign-compare warning in EventSenderProxyWPE.cpp
200 https://bugs.webkit.org/show_bug.cgi?id=179039
202 Reviewed by Žan Doberšek.
204 * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
205 (WTR::EventSenderProxy::updateTouchPoint):
206 (WTR::EventSenderProxy::releaseTouchPoint):
208 2017-11-06 Robin Morisset <rmorisset@apple.com>
210 Add a third benchmark to TailBench
211 https://bugs.webkit.org/show_bug.cgi?id=178815
213 Reviewed by Saam Barati.
215 Add a new benchmark to TailBench: a BF interpreter written in a weird kinda functional style
217 * Scripts/run-jsc-benchmarks:
219 2017-11-04 Michael Catanzaro <mcatanzaro@igalia.com>
221 [GTK] Fix gtk-doc generation with gtk-doc master
222 https://bugs.webkit.org/show_bug.cgi?id=179252
224 Reviewed by Carlos Garcia Campos.
226 gtkdoc-scangobj has changed to no longer use a shell when executing its subcommands. In
227 particular, this means we can no longer rely on shell stuff in our run command that we use
228 to run the scanner. We currently use the RUN envvar to set LD_LIBRARY_PATH, and the end
229 result is gtkdoc-scangobj now attempts to execute our environment variable instead of the
230 scanner itself. We can just set LD_LIBRARY_PATH directly, instead of using RUN, in order to
231 make documentation generation work again.
234 (GTKDoc._run_gtkdoc_scangobj):
236 2017-11-04 Aishwarya Nirmal <anirmal@apple.com>
238 [Touch Bar Web API] Add support for menuitem tag
239 https://bugs.webkit.org/show_bug.cgi?id=179020
241 Reviewed by Ryosuke Niwa.
243 Defines flags for the menu item test so that the element is recognized
244 only while its test is being run.
246 * DumpRenderTree/TestOptions.h:
247 * DumpRenderTree/TestOptions.mm:
248 (TestOptions::TestOptions):
249 * DumpRenderTree/mac/DumpRenderTree.mm:
250 (setWebPreferencesForTestOptions):
251 * WebKitTestRunner/TestController.cpp:
252 (WTR::TestController::resetPreferencesToConsistentValues):
253 (WTR::updateTestOptionsFromTestHeader):
254 * WebKitTestRunner/TestOptions.h:
255 (WTR::TestOptions::hasSameInitializationOptions const):
257 2017-11-03 Andy Estes <aestes@apple.com>
259 [iOS] Append the platform name to the product directory on all embedded platforms
260 https://bugs.webkit.org/show_bug.cgi?id=179271
262 Reviewed by Joseph Pecoraro.
264 * Scripts/webkitdirs.pm:
265 (determineConfigurationProductDir):
267 2017-11-03 Basuke Suzuki <Basuke.Suzuki@sony.com>
269 [WinCairo] Add --wincairo option to run-webkit-tests
270 https://bugs.webkit.org/show_bug.cgi?id=179217
272 Reviewed by Alex Christensen.
274 * Scripts/webkitpy/port/factory.py:
277 2017-11-03 Michael Catanzaro <mcatanzaro@igalia.com>
279 [WPE][GTK] Avoid duplicating code for dist and distcheck targets
280 https://bugs.webkit.org/show_bug.cgi?id=179154
282 Reviewed by Carlos Garcia Campos.
284 Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
285 prefix because it is executable.
287 * Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
289 2017-11-03 Jonathan Bedard <jbedard@apple.com>
291 TestController platformAdjustContext should use provided WKContext for Mac
292 https://bugs.webkit.org/show_bug.cgi?id=179124
293 <rdar://problem/35295176>
295 Reviewed by Darin Adler.
297 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
298 (WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
299 a WebProcessPool, instead of creating a second one.
301 2017-11-02 Christopher Reid <chris.reid@sony.com>
303 Add a FileSystem namespace to FileSystem.cpp
304 https://bugs.webkit.org/show_bug.cgi?id=179063
306 Reviewed by Darin Adler.
308 * DumpRenderTree/win/DumpRenderTree.cpp:
309 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
310 * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
311 * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
312 * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
313 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
314 * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
316 2017-11-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
318 [WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
319 https://bugs.webkit.org/show_bug.cgi?id=179169
321 Reviewed by Michael Catanzaro.
323 Update WPEBackend and WPEBackend-mesa to last master as of today.
325 * wpe/jhbuild.modules:
327 2017-11-02 Frederic Wang <fwang@igalia.com>
329 Add references to bug 179167 in FIXME comments
330 https://bugs.webkit.org/show_bug.cgi?id=179168
332 Reviewed by Daniel Bates.
334 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
336 2017-11-01 Jeremy Jones <jeremyj@apple.com>
338 Implement WKFullscreenWindowController for iOS.
339 https://bugs.webkit.org/show_bug.cgi?id=178924
340 rdar://problem/34697120
342 Reviewed by Simon Fraser.
344 Enable ENABLE_FULLSCREEN_API for iOS.
346 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
348 2017-11-01 Simon Fraser <simon.fraser@apple.com>
350 Misc display list and other cleanup
351 https://bugs.webkit.org/show_bug.cgi?id=179150
353 Reviewed by Tim Horton.
355 Add system trace points for display list recording.
357 * Tracing/SystemTracePoints.plist:
359 2017-11-01 Stephan Szabo <stephan.szabo@sony.com>
361 [Win] Detect Visual Studio 2017 location
362 https://bugs.webkit.org/show_bug.cgi?id=175275
364 Reviewed by Yusuke Suzuki.
367 * Scripts/build-webkit:
368 * Scripts/update-vswhere.py: Added.
369 * Scripts/webkitdirs.pm:
370 (requireModulesForVSWhere):
371 (pickCurrentVisualStudioInstallation):
372 (pickLegacyVisualStudioInstallation):
373 (visualStudioInstallDir):
374 (visualStudioInstallDirVSWhere):
375 (visualStudioInstallDirLegacy):
376 (visualStudioInstallDirFallback):
378 (visualStudioVersion):
379 (visualStudioVersionFromInstallDir):
380 (generateBuildSystemFromCMakeProject):
382 2017-11-01 Tim Horton <timothy_horton@apple.com>
384 Fix the !USE(QUICKLOOK) build
385 https://bugs.webkit.org/show_bug.cgi?id=179128
387 Reviewed by Wenson Hsieh.
389 * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
391 2017-11-01 Frederic Wang <fwang@igalia.com>
393 Make iOS Find UI reveal matches in scrollable elements
394 https://bugs.webkit.org/show_bug.cgi?id=178789
396 Reviewed by Tim Horton.
398 This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
400 * DumpRenderTree/ios/UIScriptControllerIOS.mm:
401 (WTR::UIScriptController::findString): Dummy implementation of findString.
402 * DumpRenderTree/mac/UIScriptControllerMac.mm:
403 (WTR::UIScriptController::findString): Ditto.
404 * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
405 * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
406 (WTR::UIScriptController::findString): Dummy implementation of findString.
407 * TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
408 * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
409 (WTR::UIScriptController::findString): Implement findString by forwarding the call to the
411 * WebKitTestRunner/mac/UIScriptControllerMac.mm:
412 (WTR::UIScriptController::findString): Dummy implementation of findString.
414 2017-11-01 Alex Christensen <achristensen@webkit.org>
416 Add a test for _WKInputDelegate.willSubmitFormValues
417 https://bugs.webkit.org/show_bug.cgi?id=179086
419 Reviewed by Darin Adler.
421 Hidden input types are not included in this submission because FormSubmission::create ignores them
422 because input.isTextField() returns false. This is existing behavior that wasn't shown by a test.
423 HTTPBodies are also not sent to WKURLSchemeHandlers. This is existing behavior that wasn't shown by a test.
425 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
426 * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
427 (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
430 2017-10-31 Ross Kirsling <ross.kirsling@sony.com>
432 Web Inspector: Add Inspector menu items to Mac MiniBrowser
433 https://bugs.webkit.org/show_bug.cgi?id=65218
435 Reviewed by Joseph Pecoraro.
437 Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
438 Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.
440 * MiniBrowser/mac/BrowserWindowController.h:
441 * MiniBrowser/mac/BrowserWindowController.m:
442 (-[BrowserWindowController showHideWebInspector:]):
443 * MiniBrowser/mac/MainMenu.xib:
444 * MiniBrowser/mac/WK1BrowserWindowController.m:
445 (-[WK1BrowserWindowController validateMenuItem:]):
446 (-[WK1BrowserWindowController showHideWebInspector:]):
447 * MiniBrowser/mac/WK2BrowserWindowController.m:
448 (-[WK2BrowserWindowController validateMenuItem:]):
449 (-[WK2BrowserWindowController showHideWebInspector:]):
451 2017-10-31 Alex Christensen <achristensen@webkit.org>
453 Use asynchronous ResourceHandleClient calls for WebKit1
454 https://bugs.webkit.org/show_bug.cgi?id=160677
456 Reviewed by Brady Eidson.
458 * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
459 (TestWebKitAPI::TEST):
460 The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
461 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.
463 2017-10-31 Commit Queue <commit-queue@webkit.org>
465 Unreviewed, rolling out r224143.
466 https://bugs.webkit.org/show_bug.cgi?id=179091
468 The patch requires non-standard perl modules in macOS and
469 breaks AWFY (Requested by yusukesuzuki on #webkit).
473 "[Win] Detect Visual Studio 2017 location"
474 https://bugs.webkit.org/show_bug.cgi?id=175275
475 https://trac.webkit.org/changeset/224143
477 2017-10-31 Tim Horton <timothy_horton@apple.com>
479 Clean up some drag and drop feature flags
480 https://bugs.webkit.org/show_bug.cgi?id=179082
482 Reviewed by Simon Fraser.
484 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
485 * TestWebKitAPI/ios/UIKitSPI.h:
487 2017-10-31 Tim Horton <timothy_horton@apple.com>
489 Fix up some content filtering feature flags
490 https://bugs.webkit.org/show_bug.cgi?id=179079
492 Reviewed by Simon Fraser.
494 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
495 * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
496 (-[MockContentFilterEnabler initWithCoder:]):
497 (-[MockContentFilterEnabler dealloc]):
499 2017-10-31 Youenn Fablet <youenn@apple.com>
501 rwt should allow service worker to load localhost HTTPS resources with any certificate
502 https://bugs.webkit.org/show_bug.cgi?id=179018
504 Reviewed by Chris Dumez.
506 * WebKitTestRunner/TestController.cpp:
507 (WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.
509 2017-10-31 Wenson Hsieh <wenson_hsieh@apple.com>
511 [Attachment Support] Implement WKWebView SPI for inserting attachment elements
512 https://bugs.webkit.org/show_bug.cgi?id=179013
513 <rdar://problem/35249668>
515 Reviewed by Tim Horton.
517 Adds a new API test suite to exercise attachment element insertion and manipulation.
519 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
520 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.
521 (webViewForTestingAttachments):
524 (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
525 (-[TestWKWebView valueOfAttribute:forQuerySelector:]):
526 (TestWebKitAPI::TEST):
528 2017-10-31 Alex Christensen <achristensen@webkit.org>
530 Fix custom header field setting with reloads and asynchronous navigation action policy decisions
531 https://bugs.webkit.org/show_bug.cgi?id=179064
533 Reviewed by Tim Horton.
535 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
536 (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
539 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
541 WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
542 https://bugs.webkit.org/show_bug.cgi?id=176719
544 Reviewed by Chris Dumez.
546 Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
547 sourceFrame parameters when the target frame of the form submission is not the source frame.
549 * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
550 (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
551 * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:
552 (TestWebKitAPI::willSendSubmitEvent):
553 * TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
555 2017-10-30 Alex Christensen <achristensen@webkit.org>
557 ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
558 https://bugs.webkit.org/show_bug.cgi?id=178861
560 Reviewed by Tim Horton.
562 * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
563 (TestWebKitAPI::TEST_F):
565 2017-10-30 Commit Queue <commit-queue@webkit.org>
567 Unreviewed, rolling out r224078.
568 https://bugs.webkit.org/show_bug.cgi?id=179026
570 MotionMark regression (Requested by shallawa on #webkit).
574 "When navigating back to a page, compositing layers may not
575 use accelerated drawing"
576 https://bugs.webkit.org/show_bug.cgi?id=178749
577 https://trac.webkit.org/changeset/224078
579 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
581 [WPE] Fix build warnings
582 https://bugs.webkit.org/show_bug.cgi?id=178899
584 Reviewed by Carlos Alberto Lopez Perez.
586 * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
587 (testContextMenuDownloadActions):
590 * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
591 * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
592 (testWebViewJavaScriptDialogs):
593 * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
594 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
595 * WebKitTestRunner/PlatformWPE.cmake:
596 * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
597 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
598 (WTR::threadDefaultContext): Deleted.
600 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
602 [WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
603 https://bugs.webkit.org/show_bug.cgi?id=178898
605 Reviewed by Žan Doberšek.
607 This patch seems to be unused.
609 * wpe/jhbuild.modules:
610 * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
612 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
614 [WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
615 https://bugs.webkit.org/show_bug.cgi?id=178964
617 Reviewed by Carlos Alberto Lopez Perez.
619 * TestWebKitAPI/PlatformWPE.cmake:
621 2017-10-12 Frederic Wang <fwang@igalia.com>
623 Remove support for running safari on the iOS simulator with Xcode < 9.0
624 https://bugs.webkit.org/show_bug.cgi?id=178203
626 Reviewed by Alexey Proskuryakov.
628 This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
629 and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
630 special case to calculate the iOS simulator applications path for these old versions.
632 * Scripts/webkitdirs.pm:
633 (iosSimulatorApplicationsPath): Remove special case for XCode < 9.0
635 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
637 [WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
638 https://bugs.webkit.org/show_bug.cgi?id=168219
640 Reviewed by Ryosuke Niwa.
644 * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
645 (testWebViewEditorCutCopyPasteNonEditable):
646 (testWebViewEditorCutCopyPasteEditable):
647 (testWebViewEditorSelectAllNonEditable):
648 (testWebViewEditorSelectAllEditable):
649 (loadContentsAndTryToCutSelection):
650 (testWebViewEditorNonEditable):
651 (testWebViewEditorEditorStateTypingAttributes):
652 (testWebViewEditorInsertImage):
653 (testWebViewEditorCreateLink):
655 2017-10-28 Michael Catanzaro <mcatanzaro@igalia.com>
657 [WPE] Build gst-plugins-base without pango support
658 https://bugs.webkit.org/show_bug.cgi?id=178918
660 Reviewed by Carlos Garcia Campos.
662 We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
663 conditions so we can make platform-specific changes in the shared GStreamer moduleset.
665 * gstreamer/jhbuild.modules:
669 2017-10-27 Stephan Szabo <stephan.szabo@sony.com>
671 [Win] Detect Visual Studio 2017 location
672 https://bugs.webkit.org/show_bug.cgi?id=175275
674 Reviewed by Per Arne Vollan.
677 * Scripts/build-webkit:
678 * Scripts/update-vswhere.py: Added.
679 * Scripts/webkitdirs.pm:
680 (pickCurrentVisualStudioInstallation):
681 (pickLegacyVisualStudioInstallation):
682 (visualStudioInstallDir):
683 (visualStudioInstallDirVSWhere):
684 (visualStudioInstallDirLegacy):
685 (visualStudioInstallDirFallback):
687 (visualStudioVersion):
688 (visualStudioVersionFromInstallDir):
689 (generateBuildSystemFromCMakeProject):
691 2017-10-27 Devin Rousso <webkit@devinrousso.com>
693 Create watchlist for files related WebInspector Recording
694 https://bugs.webkit.org/show_bug.cgi?id=178965
696 Reviewed by Joseph Pecoraro.
698 * Scripts/webkitpy/common/config/watchlist:
700 2017-10-27 Jonathan Bedard <jbedard@apple.com>
702 Windows and WebViews are retained after re-configure
703 https://bugs.webkit.org/show_bug.cgi?id=178902
704 <rdar://problem/35211518>
706 Reviewed by Alexey Proskuryakov.
708 The test runner effectively leaks windows every time a test changes configuration.
709 We give each test it's own AutoreleasePool to fix this problem.
711 * WebKitTestRunner/TestController.cpp:
712 (WTR::TestController::runTest): Add an AutoRelease pool scoping a test run
713 so that when a configuration changes, the old window and WebView are released.
715 2017-10-27 Eric Carlson <eric.carlson@apple.com>
717 NowPlayingInfo should contain a unique identifier
718 https://bugs.webkit.org/show_bug.cgi?id=178872
719 <rdar://problem/34924012>
721 Unreviewed, fix a flakey test.
723 * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
724 (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Update _lastUpdatedElapsedTime.
725 (-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]): Deleted.
727 2017-10-27 Fujii Hironori <Hironori.Fujii@sony.com>
729 autoinstall can't download from http://pypi.python.org
730 https://bugs.webkit.org/show_bug.cgi?id=178925
732 Reviewed by Ryosuke Niwa.
734 The web server pypi.python.org rejects non secure http.
736 * Scripts/webkitpy/thirdparty/__init__.py:
737 (AutoinstallImportHook._install_mechanize): Use https instead of http.
738 (AutoinstallImportHook._install_pep8): Ditto.
739 (AutoinstallImportHook._install_pylint): Ditto.
740 (AutoinstallImportHook._install_buildbot): Ditto.
741 (AutoinstallImportHook._install_coverage): Ditto.
743 2017-10-26 Fujii Hironori <Hironori.Fujii@sony.com>
745 [GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
746 https://bugs.webkit.org/show_bug.cgi?id=178854
748 Reviewed by Michael Catanzaro.
750 * Scripts/webkitpy/port/base.py:
751 (Port._debian_php_version): Return "-php7.1" if libphp7.1.so found.
752 (Port._is_debian_php_version_7): Deleted.
753 * gtk/install-dependencies: Install libapache2-mod-php instead of libapache2-mod-php7.0.
754 * wpe/install-dependencies: Ditto.
756 2017-10-25 Simon Fraser <simon.fraser@apple.com>
758 When navigating back to a page, compositing layers may not use accelerated drawing
759 https://bugs.webkit.org/show_bug.cgi?id=178749
760 rdar://problem/35158946
762 Reviewed by Dean Jackson.
764 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
765 and use it to set the state of the web view.
767 * DumpRenderTree/TestOptions.h:
768 * DumpRenderTree/TestOptions.mm:
769 (TestOptions::TestOptions):
770 * DumpRenderTree/mac/DumpRenderTree.mm:
771 (setWebPreferencesForTestOptions):
772 * WebKitTestRunner/TestController.cpp:
773 (WTR::TestController::resetPreferencesToConsistentValues):
774 (WTR::updateTestOptionsFromTestHeader):
775 * WebKitTestRunner/TestOptions.h:
776 (WTR::TestOptions::hasSameInitializationOptions const):
778 2017-10-26 Alex Christensen <achristensen@webkit.org>
780 Move WKWebViewConfiguration validation to WKWebView construction
781 https://bugs.webkit.org/show_bug.cgi?id=178840
783 Reviewed by Tim Horton.
785 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
786 * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Added.
789 2017-10-26 Myles C. Maxfield <mmaxfield@apple.com>
791 Demonstrate a possible structure of the WebGPU API
792 https://bugs.webkit.org/show_bug.cgi?id=178874
794 Reviewed by Dean Jackson.
796 Over the past few weeks, we've been putting together an example showing that a WebGPU API
797 which has implicit barriers can work on all three low-level graphics APIs. We've implemented
798 it on top of Vulkan first, because this is the API which has the strictest requirements and
799 is most difficult to use.
801 With this API, this is a valid WebGPU snippet:
803 auto device = WebGPU::Device::create(hInstance, hWnd);
804 auto& commandQueue = device->getCommandQueue();
805 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { }, nullptr);
807 … later, in the draw() function …
809 auto renderPass = commandQueue->createRenderPass(nullptr);
810 renderPass->setRenderState(renderState);
811 renderPass->setViewport(0, 0, width, height);
812 renderPass->setScissorRect(0, 0, width, height);
814 commandQueue->commitRenderPass(std::move(renderPass));
815 commandQueue->present();
817 This snippet doesn’t hook up any vertex attributes or resources, which means the vertex
818 shader has to say something like ({vec4(…), vec4(…), vec4(…)})[gl_VertexIndex]. It also
819 passes in “nullptr” when creating the render pass, which means “render to the screen, rather
820 than to a frame buffer.” You can also see that it doesn’t attach any resources to the draw
823 In Direct3D 12 and Vulkan, resources are bound in sets, rather than individually. For
824 example, a set might contain two uniform buffers, a texture, and another uniform buffer. At
825 draw time, you swap in whole sets of resources with a single call. A shader invocation can
826 access a collection of sets. Because all shader resource accesses are indirected through
827 these sets, the shape of these sets needs to be supplied at the time you compile the render
828 state. Here is a snippet which bounds a single set which contains a uniform buffer and a
831 auto buffer = device->getBuffer(bufferInitialContents);
832 auto texture = device->getTexture(buffer width, height, WebGPU::PixelFormat::RGBA8, textureInitialContents);
833 // One resource set, which holds a single uniform buffer object and a single texture
834 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { { WebGPU::ResourceType::UniformBufferObject, WebGPU::ResourceType::Texture } }, nullptr);
836 … later, in the draw() function …
838 auto renderPass = commandQueue->createRenderPass(nullptr);
839 renderPass->setRenderState(renderState);
840 renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()), WebGPU::TextureReference(texture.get()) });
843 commandQueue->commitRenderPass(std::move(renderPass));
844 commandQueue->present();
846 The first argument to the setResources() call identifies which set to populate with the supplied resources.
848 One tenant of the low-level graphics APIs is that, if you’ve enabled double buffering (or
849 triple buffering), the GPU is executing one frame at the same time you are recording the
850 next frame. This often means that you need duplicate resources so the CPU and GPU don’t step
851 on each other’s toes. However, platforms have platform-specific requirements about whether
852 or not they can be double / triple buffered, and we don’t want to expose this to the Web for
853 fear of badly-authored programs.
855 To solve this, resources are reference counted, and the return type of getBuffer() is an
856 RAII type called BufferHolder which increments and decrements the reference count
857 automatically. The reference count is also incremented and decremented when the GPU is using
858 the resource in a Pass. When the reference count reaches 0, the resource isn’t destroyed;
859 instead, it’s simply moved to a “free list” which getBuffer() may pull from. Therefore,
860 applications don’t need to know whether the frame buffer is double buffered or triple
861 buffered; they can just getBuffer() each frame, and the correct number of buffers will be
862 created and recycled.
865 auto buffer = device->getBuffer(bufferSize); // These get recycled
866 … populate the buffer …
867 auto renderPass = commandQueue->createRenderPass(nullptr);
868 renderPass->setRenderState(renderState);
869 renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()) });
872 commandQueue->commitRenderPass(std::move(renderPass));
874 commandQueue->present();
876 In Direct3D and Vulkan, vertex buffers and index buffers are not part of the resource sets
877 mentioned above. Instead, you tell the render state about the shape of the vertex and index
878 buffers, and you swap them out independently in the draw loop. Metal and Vulkan have almost
879 identical API to specify this shape of the vertex buffers, so I’ve mostly copied it. In this
880 example, we have two vertex attributes, a vec2 and a vec3, which both come from the same
883 // { Attribute format, offset within stride, buffer to pull from }
884 std::vector<WebGPU::RenderState::VertexAttribute> vertexAttributes = { {WebGPU::RenderState::VertexFormat::Float2, 0, 0}, {WebGPU::RenderState::VertexFormat::Float3, sizeof(float) * 2, 0} };
885 // A single vertex buffer, with a stride of 5 floats
886 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { sizeof(float) * 5 }, vertexAttributes, resourceTypes, nullptr);
888 … later, in the draw() function …
890 auto renderPass = commandQueue->createRenderPass(nullptr);
891 renderPass->setRenderState(renderState);
892 renderPass->setVertexAttributeBuffers({ vertexBuffer.get() }); // The one vertex buffer which both attributes pull from
893 renderPass->setResources(…);
896 commandQueue->commitRenderPass(std::move(renderPass));
897 commandQueue->present();
899 You can also tell the RenderState about how many render targets you have and their formats,
900 and then when you create the RenderPass, you specify the specific textures you want to
903 std::vector<WebGPU::PixelFormat> colorPixelFormats = { WebGPU::PixelFormat::RGBA8, WebGPU::PixelFormat::RGBA8 }; // Two render targets, with these formats
904 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", vertexBufferStrides, vertexAttributes, resourceTypes, &colorPixelFormats);
906 … later, in the draw() function …
908 std::vector<std::reference_wrapper<WebGPU::Texture>> destinationTextures = { texture1->get(), texture2->get() };
909 auto renderPass = commandQueue->createRenderPass(&destinationTextures);
910 renderPass->setRenderState(renderState);
913 commandQueue->commitRenderPass(std::move(renderPass));
915 // Now, draw one of the textures to the screen. Note that no synchronization is necessary here!
916 auto renderPass = commandQueue->createRenderPass(nullptr);
917 renderPass->setRenderState(renderState2);
918 renderPass->setResources(0, { WebGPU:: TextureReference(texture1.get()) });
921 commandQueue->commitRenderPass(std::move(renderPass));
922 commandQueue->present();
924 Just like how in Metal has Render Encoders and Compute Encoders, WebGPU has RenderPasses
927 auto& computeState = device->getComputeState(computeShader, "main", resourceTypes);
929 auto computePass = commandQueue->createComputePass();
930 computePass->setComputeState(computeState);
931 computePass->setResources(0, resources);
932 computePass->dispatch(width, height, depth);
933 commandQueue->commitComputePass(std::move(computePass));
935 // Now, draw the resources we just computed. Note that no synchronization is necessary here!
936 auto renderPass = commandQueue->createRenderPass(nullptr);
937 renderPass->setRenderState(renderState);
938 renderPass->setResources(0, resources });
941 commandQueue->commitRenderPass(std::move(renderPass));
942 commandQueue->present();
944 There are also two other types of passes: one that corresponds to a Metal blit encoder, and
945 one that allows the CPU to change the contents of GPU buffers and textures. This last kind
946 of pass is a little interesting: you can’t just change the contents of a buffer at any time
947 you feel like it, because that resource might be in use by the GPU. Therefore, we need to do
948 the same kind of synchronization that we already do at render pass boundaries.
950 In addition, both Vulkan and Direct3D have a concept of a memory heap. A resource might
951 exist inside a heap which is fast, but invisible from the CPU, or in a heap which is slow,
952 but visible by the CPU. Certain operations are not possible from some types of images (e.g.
953 non-tiled textures may not be able to be sampled from). The usual way to get around this
954 problem is to have two resources: a slow staging resource which the CPU can see, and a fast
955 resource which the CPU can’t see. Uploading data is a two-pass algorithm, where the CPU
956 memcpy()s into the slow staging resource, and then a blit command is enqueued on the GPU to
957 copy the contents of the staging resource to the real resource. This requires that the
958 upload have access to the commandQueue so it can possibly enqueue a blit between the staging
959 and real resources. Therefore, a pass is the right level of abstraction for these facilities.
961 std::queue<boost::unique_future<std::vector<uint8_t>>> futureQueue; // Promises for data downloads from the GPU
963 … later, in the draw() function …
965 // See if any of the previously-enqueued downloads are finished
966 while (!futureQueue.empty() && futureQueue.front(). has_value()) {
967 std::vector<uint8_t>& data = futureQueue.front().get();
968 // Use the downloaded data
972 auto hostAccessPass = commandQueue->createHostAccessPass();
973 hostAccessPass->overwriteBuffer(buffer->get(), bufferContents); // Upload data to a resource
975 futureQueue.emplace(hostAccessPass->getBufferContents(buffer->get()));
976 commandQueue->commitHostAccessPass(std::move(hostAccessPass));
978 You can also issue copy commands between resources entirely on the GPU:
980 auto blitPass = commandQueue->createBlitPass();
981 blitPass->copyTexture(source->get(), destination->get(), sourceX, sourceY, destinationX, destinationY, width, height);
982 commandQueue->commitBlitPass(std::move(blitPass));
984 * Scripts/webkitpy/style/checker.py:
985 * WebGPUAPIStructure/Example/Example.cpp: Added.
992 * WebGPUAPIStructure/Example/Example.h: Added.
993 * WebGPUAPIStructure/Example/Example.ico: Added.
994 * WebGPUAPIStructure/Example/Example.rc: Added.
995 * WebGPUAPIStructure/Example/Example.vcxproj: Added.
996 * WebGPUAPIStructure/Example/Example.vcxproj.filters: Added.
997 * WebGPUAPIStructure/Example/Example.vcxproj.user: Added.
998 * WebGPUAPIStructure/Example/resource.h: Added.
999 * WebGPUAPIStructure/Example/small.ico: Added.
1000 * WebGPUAPIStructure/Example/stdafx.cpp: Added.
1001 * WebGPUAPIStructure/Example/stdafx.h: Added.
1002 * WebGPUAPIStructure/Example/targetver.h: Added.
1003 * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Added.
1004 * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Added.
1005 * WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Added.
1006 (WebGPU::BufferHolder::BufferHolder):
1007 (WebGPU::BufferHolder::~BufferHolder):
1008 (WebGPU::TextureHolder::TextureHolder):
1009 (WebGPU::TextureHolder::~TextureHolder):
1010 (WebGPU::SamplerHolder::SamplerHolder):
1011 (WebGPU::SamplerHolder::~SamplerHolder):
1012 * WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Added.
1013 (WebGPU::Queue::~Queue):
1014 (WebGPU::RenderState::~RenderState):
1015 (WebGPU::ComputeState::~ComputeState):
1016 (WebGPU::Buffer::~Buffer):
1017 (WebGPU::Texture::~Texture):
1018 (WebGPU::Sampler::~Sampler):
1019 (WebGPU::TextureReference::TextureReference):
1020 (WebGPU::TextureReference::get const):
1021 (WebGPU::SamplerReference::SamplerReference):
1022 (WebGPU::SamplerReference::get const):
1023 (WebGPU::UniformBufferObjectReference::UniformBufferObjectReference):
1024 (WebGPU::UniformBufferObjectReference::get const):
1025 (WebGPU::ShaderStorageBufferObjectReference::ShaderStorageBufferObjectReference):
1026 (WebGPU::ShaderStorageBufferObjectReference::get const):
1027 (WebGPU::RenderPass::~RenderPass):
1028 (WebGPU::ComputePass::~ComputePass):
1029 (WebGPU::BlitPass::~BlitPass):
1030 (WebGPU::HostAccessPass::~HostAccessPass):
1031 (WebGPU::BufferHolder::get):
1032 (WebGPU::TextureHolder::get):
1033 (WebGPU::SamplerHolder::get):
1034 (WebGPU::Device::~Device):
1035 * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Added.
1036 (WebGPU::BlitPassImpl::BlitPassImpl):
1037 (WebGPU::BlitPassImpl::copyTexture):
1038 * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Added.
1039 * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Added.
1040 (WebGPU::BufferImpl::BufferImpl):
1041 (WebGPU::BufferImpl::decrementReferenceCount):
1042 * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Added.
1043 (WebGPU::BufferImpl::getBuffer const):
1044 (WebGPU::BufferImpl::getDeviceMemory const):
1045 (WebGPU::BufferImpl::incrementReferenceCount):
1046 (WebGPU::BufferImpl::getLength const):
1047 * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Added.
1048 (WebGPU::ComputePassImpl::ComputePassImpl):
1049 (WebGPU::ComputePassImpl::setComputeState):
1050 (WebGPU::ComputePassImpl::setResources):
1051 (WebGPU::ComputePassImpl::dispatch):
1052 * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Added.
1053 * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Added.
1054 (WebGPU::ComputeStateImpl::ComputeStateImpl):
1055 * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Added.
1056 (WebGPU::ComputeStateImpl::getPipeline const):
1057 (WebGPU::ComputeStateImpl::getPipelineLayout const):
1058 (WebGPU::ComputeStateImpl::getDescriptorSetLayouts const):
1059 * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Added.
1060 (WebGPU::Device::create):
1061 (WebGPU::convertPixelFormat):
1062 (WebGPU::convertFormat):
1063 (WebGPU::debugReport):
1064 (WebGPU::DeviceImpl::DeviceImpl):
1065 (WebGPU::DeviceImpl::getCommandQueue):
1066 (WebGPU::DeviceImpl::prepareShader):
1067 (WebGPU::DeviceImpl::createPipelineLayout):
1068 (WebGPU::DeviceImpl::createCompatibleRenderPass):
1069 (WebGPU::convertVertexFormat):
1070 (WebGPU::DeviceImpl::getRenderState):
1071 (WebGPU::DeviceImpl::getComputeState):
1072 (WebGPU::DeviceImpl::getBuffer):
1073 (WebGPU::DeviceImpl::returnBuffer):
1074 (WebGPU::DeviceImpl::getTexture):
1075 (WebGPU::DeviceImpl::returnTexture):
1076 (WebGPU::DeviceImpl::getSampler):
1077 (WebGPU::DeviceImpl::returnSampler):
1078 (WebGPU::DeviceImpl::~DeviceImpl):
1079 * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Added.
1080 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::UniqueDebugReportCallbackEXT):
1081 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::operator=):
1082 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::~UniqueDebugReportCallbackEXT):
1083 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::destroy):
1084 (WebGPU::DeviceImpl::TextureParameters::operator== const):
1085 (WebGPU::DeviceImpl::TextureParametersHash::operator() const):
1086 * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Added.
1087 (WebGPU::HostAccessPassImpl::HostAccessPassImpl):
1088 (WebGPU::HostAccessPassImpl::overwriteBuffer):
1089 (WebGPU::HostAccessPassImpl::getBufferContents):
1090 (WebGPU::HostAccessPassImpl::execute):
1091 * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Added.
1092 (WebGPU::HostAccessPassImpl::getFinishedEvent const):
1093 * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Added.
1094 (WebGPU::PassImpl::PassImpl):
1095 (WebGPU::ResourceVisitor::operator()):
1096 (WebGPU::ResourceVisitor::getBindings const):
1097 (WebGPU::ResourceVisitor::releaseWriteDescriptorSets):
1098 (WebGPU::ResourceVisitor::getDescriptorImageInfos const):
1099 (WebGPU::ResourceVisitor::getDescriptorBufferInfos const):
1100 (WebGPU::ResourceVisitor::getBuffers const):
1101 (WebGPU::ResourceVisitor::getTextures const):
1102 (WebGPU::ResourceVisitor::getSamplers const):
1103 (WebGPU::ResourceVisitor::getImageCount const):
1104 (WebGPU::ResourceVisitor::getSamplerCount const):
1105 (WebGPU::ResourceVisitor::getUniformBufferCount const):
1106 (WebGPU::ResourceVisitor::getStorageBufferCount const):
1107 (WebGPU::PassImpl::setResources):
1108 (WebGPU::PassImpl::insertBuffer):
1109 (WebGPU::PassImpl::insertTexture):
1110 (WebGPU::PassImpl::insertSampler):
1111 * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h: Added.
1112 (WebGPU::PassImpl::getCommandBuffer const):
1113 (WebGPU::PassImpl::iterateBuffers):
1114 (WebGPU::PassImpl::iterateTextures):
1115 (WebGPU::PassImpl::ResourceReference::ResourceReference):
1116 (WebGPU::PassImpl::ResourceReference::~ResourceReference):
1117 (WebGPU::PassImpl::ResourceReference::operator=):
1118 (WebGPU::PassImpl::ResourceReference::operator== const):
1119 (WebGPU::PassImpl::ResourceReference::get const):
1120 (WebGPU::PassImpl::ResourceReference::release):
1121 (WebGPU::PassImpl::ResourceReferenceHash::operator() const):
1122 * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp: Added.
1123 (WebGPU::QueueImpl::QueueImpl):
1124 (WebGPU::QueueImpl::prepareCurrentFrame):
1125 (WebGPU::QueueImpl::createSpecificRenderPass):
1126 (WebGPU::QueueImpl::createFramebuffer):
1127 (WebGPU::QueueImpl::createRenderPass):
1128 (WebGPU::QueueImpl::commitRenderPass):
1129 (WebGPU::QueueImpl::createComputePass):
1130 (WebGPU::QueueImpl::commitComputePass):
1131 (WebGPU::QueueImpl::createBlitPass):
1132 (WebGPU::QueueImpl::commitBlitPass):
1133 (WebGPU::QueueImpl::createHostAccessPass):
1134 (WebGPU::QueueImpl::commitHostAccessPass):
1135 (WebGPU::QueueImpl::present):
1136 (WebGPU::QueueImpl::commitPass):
1137 (WebGPU::QueueImpl::synchronizeResources):
1138 (WebGPU::QueueImpl::~QueueImpl):
1139 * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h: Added.
1140 * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp: Added.
1141 (WebGPU::RenderPassImpl::RenderPassImpl):
1142 (WebGPU::RenderPassImpl::setRenderState):
1143 (WebGPU::RenderPassImpl::setVertexAttributeBuffers):
1144 (WebGPU::RenderPassImpl::setResources):
1145 (WebGPU::RenderPassImpl::setViewport):
1146 (WebGPU::RenderPassImpl::setScissorRect):
1147 (WebGPU::RenderPassImpl::draw):
1148 * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h: Added.
1149 * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp: Added.
1150 (WebGPU::RenderStateImpl::RenderStateImpl):
1151 * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h: Added.
1152 (WebGPU::RenderStateImpl::getPipeline const):
1153 (WebGPU::RenderStateImpl::getPipelineLayout const):
1154 (WebGPU::RenderStateImpl::getDescriptorSetLayouts const):
1155 * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp: Added.
1156 (WebGPU::SamplerImpl::SamplerImpl):
1157 (WebGPU::SamplerImpl::decrementReferenceCount):
1158 * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h: Added.
1159 (WebGPU::SamplerImpl::getSampler):
1160 (WebGPU::SamplerImpl::incrementReferenceCount):
1161 (WebGPU::SamplerImpl::getFilter):
1162 (WebGPU::SamplerImpl::getMipmapMode):
1163 (WebGPU::SamplerImpl::getAddressMode):
1164 * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp: Added.
1165 (WebGPU::TextureImpl::TextureImpl):
1166 (WebGPU::TextureImpl::decrementReferenceCount):
1167 * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h: Added.
1168 (WebGPU::TextureImpl::getImage const):
1169 (WebGPU::TextureImpl::getImageView const):
1170 (WebGPU::TextureImpl::getFormat const):
1171 (WebGPU::TextureImpl::incrementReferenceCount):
1172 (WebGPU::TextureImpl::getWidth const):
1173 (WebGPU::TextureImpl::getHeight const):
1174 (WebGPU::TextureImpl::getTransferredToGPU const):
1175 (WebGPU::TextureImpl::setTransferredToGPU):
1176 * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj: Added.
1177 * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters: Added.
1178 * WebGPUAPIStructure/WebGPU.sln: Added.
1180 2017-10-26 Eric Carlson <eric.carlson@apple.com>
1182 NowPlayingInfo should contain a unique identifier
1183 https://bugs.webkit.org/show_bug.cgi?id=178872
1185 Reviewed by Jer Noble.
1187 * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
1188 (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Use completion handler.
1189 (TestWebKitAPI::TEST): Cleanup tests. Use new API.
1190 (-[NowPlayingTestWebView waitForNowPlayingInfoToChange]): Deleted.
1192 2017-10-26 Eric Carlson <eric.carlson@apple.com>
1194 [MediaStream] Clear cached gUM prompt state
1195 https://bugs.webkit.org/show_bug.cgi?id=178754
1196 <rdar://problem/32742356>
1198 Unreviewed, fix a flakey test.
1200 * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
1201 (-[GetUserMediaRepromptTestView haveStream:]): New, check several times for expected state.
1202 (TestWebKitAPI::TEST): Don't assume stream state changes in the page immediately.
1204 2017-10-26 Andy Estes <aestes@apple.com>
1206 [Payment Request] Enable Payment Request whenever Apple Pay is enabled
1207 https://bugs.webkit.org/show_bug.cgi?id=178880
1209 Reviewed by Tim Horton.
1211 * WebKitTestRunner/TestController.cpp:
1212 (WTR::TestController::resetPreferencesToConsistentValues):
1214 2017-10-26 Joseph Pecoraro <pecoraro@apple.com>
1216 Add and update some watchlists
1217 https://bugs.webkit.org/show_bug.cgi?id=178304
1219 Reviewed by Simon Fraser.
1221 * Scripts/webkitpy/common/config/watchlist:
1223 2017-10-26 Ryan Haddad <ryanhaddad@apple.com>
1225 Unreviewed, rolling out r223984.
1227 Caused LayoutTest assertion failures.
1231 "When navigating back to a page, compositing layers may not
1232 use accelerated drawing"
1233 https://bugs.webkit.org/show_bug.cgi?id=178749
1234 https://trac.webkit.org/changeset/223984
1236 2017-10-26 Christopher Reid <chris.reid@sony.com>
1238 Remove scopeguard from platform
1239 https://bugs.webkit.org/show_bug.cgi?id=178681
1241 Reviewed by Brady Eidson.
1243 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
1245 2017-09-21 Carlos Garcia Campos <cgarcia@igalia.com>
1247 WebDriver: Add support to import and run W3C tests
1248 https://bugs.webkit.org/show_bug.cgi?id=177304
1250 Reviewed by Brian Burg.
1252 WPT has now several WebDriver tests, and new ones are going to be added to cover the whole spec. This patch
1253 adds the initial support for running W3C tests. The script import-w3c-webdriver-tests reuses parts of the W3C
1254 test downloader to download the tests and required tools from WPT repository into WebDriverTests
1255 directory. Tests can be run with run-webdriver-tests, a new script that works similar to other test runner
1256 scripts. For now it shows a summary at the end of the execution, there aren't expectations yet, since we are not
1257 ready to run those tests in the bots. Once we are ready to properly run the tests, we can add the expectations
1258 support and run the tests in the bots.
1260 * Scripts/import-w3c-webdriver-tests: Added.
1261 * Scripts/run-webdriver-tests: Added.
1262 * Scripts/webkitpy/style/checker.py: Skip WebDriverTests directory since it only contains third-party python
1264 * Scripts/webkitpy/thirdparty/__init__.py: Add support to autodownload mozlog and mozprocess since they are
1265 required by the WebDriver tests.
1266 * Scripts/webkitpy/webdriver_tests/__init__.py: Added.
1267 * Scripts/webkitpy/webdriver_tests/webdriver_driver.py: Added.
1268 * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py: Added.
1269 * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py: Added.
1270 * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Added.
1271 * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: Added.
1272 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Added.
1273 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: Added.
1275 2017-10-25 Eric Carlson <eric.carlson@apple.com>
1277 [MediaStream] Clear cached gUM prompt state
1278 https://bugs.webkit.org/show_bug.cgi?id=178754
1279 <rdar://problem/32742356>
1281 Reviewed by Youenn Fablet.
1283 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test
1285 * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: Added.
1286 (-[GetUserMediaRepromptUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
1287 (-[GetUserMediaRepromptUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
1288 (TestWebKitAPI::TEST):
1290 * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
1292 2017-10-25 Ross Kirsling <ross.kirsling@sony.com>
1294 Add committer status for Ross Kirsling
1295 https://bugs.webkit.org/show_bug.cgi?id=178832
1299 * Scripts/webkitpy/common/config/contributors.json:
1301 2017-10-25 Simon Fraser <simon.fraser@apple.com>
1303 When navigating back to a page, compositing layers may not use accelerated drawing
1304 https://bugs.webkit.org/show_bug.cgi?id=178749
1305 rdar://problem/35158946
1307 Reviewed by Dean Jackson.
1309 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
1310 and use it to set the state of the web view.
1312 * DumpRenderTree/TestOptions.h:
1313 * DumpRenderTree/TestOptions.mm:
1314 (TestOptions::TestOptions):
1315 * DumpRenderTree/mac/DumpRenderTree.mm:
1316 (setWebPreferencesForTestOptions):
1317 * WebKitTestRunner/TestController.cpp:
1318 (WTR::TestController::resetPreferencesToConsistentValues):
1319 (WTR::updateTestOptionsFromTestHeader):
1320 * WebKitTestRunner/TestOptions.h:
1321 (WTR::TestOptions::hasSameInitializationOptions const):
1323 2017-10-25 Robin Morisset <rmorisset@apple.com>
1325 Support the TailBench9000 benchmark in run-jsc-benchmarks
1326 https://bugs.webkit.org/show_bug.cgi?id=178451
1328 Reviewed by Saam Barati.
1330 * Scripts/run-jsc-benchmarks:
1332 2017-10-25 Adrian Perez de Castro <aperez@igalia.com>
1334 [WPE] Remove GLib API functions which use Cairo
1335 https://bugs.webkit.org/show_bug.cgi?id=178205
1337 Reviewed by Michael Catanzaro.
1339 Add PLATFORM(GTK) guards for the API tests (or parts of them) which use cairo_surface_t (web
1340 page snapshots and favicons) which are not available in the WPE version of the GLib API.
1342 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
1343 (testNotInitialized):
1344 (testPrivateBrowsing):
1345 (testFaviconDatabase):
1346 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
1347 (testFindControllerHide):
1349 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1350 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
1352 2017-10-25 Zan Dobersek <zdobersek@igalia.com>
1354 Make SERVICE_WORKER feature buildable on GTK, WPE
1355 https://bugs.webkit.org/show_bug.cgi?id=178574
1357 Reviewed by Carlos Garcia Campos.
1359 * Scripts/webkitperl/FeatureList.pm: Add the --service-worker option
1360 that enables the SERVICE_WORKER feature flag. For now it's enabled
1361 on Apple's Cocoa ports (even when build-webkit isn't used for those
1362 builds, the flag is enabled here for consistency).
1364 2017-10-24 Michael Catanzaro <mcatanzaro@igalia.com>
1366 Unreviewed, fix name of Perl LibXML package on Fedora
1367 https://bugs.webkit.org/show_bug.cgi?id=178206
1368 <rdar://problem/35028586>
1370 * gtk/install-dependencies:
1371 * wpe/install-dependencies:
1373 2017-10-24 Alex Christensen <achristensen@webkit.org>
1375 Selecting and right-clicking URL-like strings with IDNA-disallowed characters in host or authority causes rendering engine crash
1376 https://bugs.webkit.org/show_bug.cgi?id=174267
1378 Reviewed by Tim Horton.
1380 * TestWebKitAPI/Tests/WebKit/CanHandleRequest_Bundle.cpp:
1381 (TestWebKitAPI::runTest):
1383 2017-10-24 Eric Carlson <eric.carlson@apple.com>
1385 Web Inspector: Enable WebKit logging configuration and display
1386 https://bugs.webkit.org/show_bug.cgi?id=177027
1387 <rdar://problem/33964767>
1389 Reviewed by Joseph Pecoraro.
1391 Allow new 'dumpJSConsoleLogInStdErr' test header to redirect log console output to stderr.
1393 * DumpRenderTree/TestOptions.h:
1394 * DumpRenderTree/TestOptions.mm:
1395 (TestOptions::TestOptions):
1396 * DumpRenderTree/mac/DumpRenderTree.mm:
1398 * WebKitTestRunner/TestController.cpp:
1399 (WTR::updateTestOptionsFromTestHeader):
1400 (WTR::TestController::runTest):
1401 * WebKitTestRunner/TestOptions.h:
1402 (WTR::TestOptions::hasSameInitializationOptions const):
1404 2017-10-24 Alex Christensen <achristensen@webkit.org>
1406 Apply custom header fields from WebsitePolicies to same-domain requests
1407 https://bugs.webkit.org/show_bug.cgi?id=178356
1409 Reviewed by Brady Eidson.
1411 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1414 2017-10-24 Stephan Szabo <stephan.szabo@sony.com>
1416 [Win][JSCOnly] Make jsconly build testapi and dlls and copy dlls when running tests
1417 https://bugs.webkit.org/show_bug.cgi?id=177279
1419 Reviewed by Yusuke Suzuki.
1421 * Scripts/build-jsc:
1422 * Scripts/run-jsc-stress-tests:
1424 2017-10-23 Lucas Forschler <lforschler@apple.com>
1426 <rdar://problem/35045445>
1427 Update README to reference WebKit build archives, instead of 'nightly'
1429 Reviewed by Aakash Jain.
1431 * WebKitArchiveSupport/README:
1433 2017-10-21 Tim Horton <timothy_horton@apple.com>
1435 Turn on ccache for Mac cmake builds by default
1436 https://bugs.webkit.org/show_bug.cgi?id=177059
1438 Reviewed by Sam Weinig.
1440 * ccache/ccache-clang:
1441 * ccache/ccache-wrapper: Added.
1442 Add a pass-through ccache wrapper to be used with CMake, in addition
1443 to the existing faux-clang wrappers.
1445 * Scripts/build-webkit:
1446 Add --use-ccache and --no-use-ccache option, which will define
1447 WK_USE_CCACHE to YES or NO, respectively, which the underlying
1448 build systems respect. We do not define WK_USE_CCACHE if the option
1449 is not specified, because the underlying build systems have different
1452 2017-10-20 Aakash Jain <aakash_jain@apple.com>
1454 Do not run binding tests on multiple EWSes
1455 https://bugs.webkit.org/show_bug.cgi?id=178599
1457 Reviewed by Alexey Proskuryakov.
1459 Remove old code which runs bindings tests and ignore it's result. We now have
1460 a dedicated bindings test EWS.
1462 * Scripts/webkitpy/tool/steps/runtests.py:
1463 (RunTests.run): Removed bindings tests code.
1464 * Scripts/webkitpy/tool/steps/runtests_unittest.py: Updated unit-tests.
1465 (RunTestsTest.test_webkit_run_unit_tests): Ditto.
1466 * Scripts/webkitpy/tool/steps/steps_unittest.py: Ditto.
1467 * Scripts/webkitpy/tool/commands/download_unittest.py: Ditto.
1469 2017-10-20 Youenn Fablet <youenn@apple.com>
1471 WebsiteDataStoreCustomPaths.mm is failing after r223718
1472 https://bugs.webkit.org/show_bug.cgi?id=178596
1476 * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1477 (TEST): Making default web site data store creation expected at the end of the test.
1478 We should probably not need need to create it.
1479 This should be fixed as a follow-up.
1481 2017-10-20 Antoine Quint <graouts@apple.com>
1483 [Web Animations] Provide basic timeline and animation interfaces
1484 https://bugs.webkit.org/show_bug.cgi?id=178526
1486 Reviewed by Dean Jackson.
1488 Remove the WEB_ANIMATIONS compile-time flag.
1490 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1492 2017-10-20 Tomas Popela <tpopela@redhat.com>
1494 Missing some perl packages in install-dependencies
1495 https://bugs.webkit.org/show_bug.cgi?id=178571
1497 Reviewed by Žan Doberšek.
1499 Install per-version and perl-Time-HiRes so we can use build-webkit
1500 script. Also add missing backlashes.
1502 * wpe/install-dependencies:
1504 2017-10-20 Commit Queue <commit-queue@webkit.org>
1506 Unreviewed, rolling out r222709 and r223572.
1507 https://bugs.webkit.org/show_bug.cgi?id=178587
1509 Still getting mac-wk2 EWS bots stuck (Requested by ap on
1512 Reverted changesets:
1514 "Log stack-trace for run-webkit-tests when interrupted"
1515 https://bugs.webkit.org/show_bug.cgi?id=176393
1516 https://trac.webkit.org/changeset/222709
1518 "webkitpy: Hang when workers write to the same stack trace
1520 https://bugs.webkit.org/show_bug.cgi?id=178402
1521 https://trac.webkit.org/changeset/223572
1523 2017-10-19 Nan Wang <n_wang@apple.com>
1525 AX: Provide a way for Accessibility to cache the selection while retrieving rects for speak selection
1526 https://bugs.webkit.org/show_bug.cgi?id=176247
1527 <rdar://problem/34217143>
1529 Reviewed by Ryosuke Niwa.
1531 * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
1532 (TestWebKitAPI::TEST):
1534 2017-10-19 Sam Weinig <sam@webkit.org>
1536 [Settings] Move global settings into their own file
1537 https://bugs.webkit.org/show_bug.cgi?id=178512
1539 Reviewed by Darin Adler.
1541 * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
1542 (TestWebKitAPI::TEST):
1544 2017-10-19 Andy Estes <aestes@apple.com>
1546 [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
1547 https://bugs.webkit.org/show_bug.cgi?id=178181
1548 <rdar://problem/33660282>
1550 Reviewed by Dan Bernstein.
1552 * WebKitTestRunner/TestController.cpp:
1553 (WTR::TestController::databaseProcessName):
1555 2017-10-19 Saam Barati <sbarati@apple.com>
1557 Turn poly proto back on by default and remove the option
1558 https://bugs.webkit.org/show_bug.cgi?id=178525
1560 Reviewed by Mark Lam.
1562 * Scripts/run-jsc-stress-tests:
1564 2017-10-18 Ryosuke Niwa <rniwa@webkit.org>
1566 Don't expose raw HTML in pasteboard to the web content
1567 https://bugs.webkit.org/show_bug.cgi?id=178422
1569 Reviewed by Wenson Hsieh.
1571 Added a test case for sanitizing web archive in the system pasteboard to strip privacy sensitive information
1572 such as local file paths and potentially harmful scripts like event handlers serialized by WebKit prior to r223462.
1574 * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
1575 (PasteWebArchive.SanitizesHTML):
1577 2017-10-18 Youenn Fablet <youenn@apple.com>
1579 TestController should clear all fetch caches when resetting its state
1580 https://bugs.webkit.org/show_bug.cgi?id=178486
1582 Reviewed by Chris Dumez.
1584 Adding clearDOMCaches test runner method.
1585 Using that method when resetting state.
1587 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1588 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1589 (WTR::TestRunner::clearDOMCaches):
1590 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1591 * WebKitTestRunner/TestInvocation.cpp:
1592 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1594 2017-10-18 Chelsea Pugh <cpugh@apple.com>
1596 [iOS] Use new class name from UIKit when checking UITextSuggestion type
1597 https://bugs.webkit.org/show_bug.cgi?id=178416
1599 Reviewed by Tim Horton.
1601 This updates our test using/mocking out UITextAutofillSuggestion instead of UIKeyboardLoginCredentialsSuggestion.
1603 * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
1604 (-[UITextAutofillSuggestion initWithUsername:password:]): Copied from UIKit's implementation. This will serve as
1605 a mock of this method for builds not containingit.
1606 (+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Ditto.
1607 (TestWebKitAPI::TEST): Use +[UITextAutofillSuggestion autofillSuggestionWithUsername:password:] inline instead of
1608 helper function for creating a new suggestion.
1609 (newUIKeyboardLoginCredentialsSuggestion): Deleted.
1611 * TestWebKitAPI/ios/UIKitSPI.h:
1613 2017-10-18 Fujii Hironori <Hironori.Fujii@sony.com>
1615 update-webkit-auxiliary-libs can't download WebKitAuxiliaryLibrary.zip due to 403 Forbidden
1616 https://bugs.webkit.org/show_bug.cgi?id=178381
1618 Reviewed by Alexey Proskuryakov.
1620 The web server developer.apple.com seems to reject HTTP requests
1621 without Accept header field.
1623 * Scripts/update-webkit-dependency: Add 'Accept' header field to requests.
1625 2017-10-18 Aakash Jain <aakash_jain@apple.com>
1627 webkitpy tests should have --json-output option
1628 https://bugs.webkit.org/show_bug.cgi?id=178481
1630 Reviewed by Alexey Proskuryakov.
1632 * Scripts/webkitpy/test/main.py:
1633 (Tester._parse_args): Added json-output argument.
1634 (Tester._run_tests): Write output to json file.
1636 2017-10-18 Wenson Hsieh <wenson_hsieh@apple.com>
1638 Unreviewed, rolling out r223291.
1640 See WebCore ChangeLog for more detail.
1644 "Remove Editor::simplifyMarkup"
1645 https://bugs.webkit.org/show_bug.cgi?id=178271
1646 https://trac.webkit.org/changeset/223291
1648 2017-10-18 Chris Dumez <cdumez@apple.com>
1650 Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
1651 https://bugs.webkit.org/show_bug.cgi?id=177876
1652 <rdar://problem/34813129>
1654 Reviewed by Ryosuke Niwa.
1656 Clear service worker registrations between test runs to avoid flakiness.
1658 * WebKitTestRunner/TestController.cpp:
1659 (WTR::TestController::resetStateToConsistentValues):
1661 2017-10-18 Zan Dobersek <zdobersek@igalia.com>
1663 Remove remnants of OpenWebRTC
1664 https://bugs.webkit.org/show_bug.cgi?id=178437
1666 Reviewed by Alejandro G. Castro.
1668 Drop OpenWebRTC packages from the GTK's Jhbuild modules file. Relevant
1669 patches are also removed.
1671 * gtk/jhbuild.modules:
1672 * gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Removed.
1673 * gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Removed.
1674 * gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Removed.
1675 * gtk/patches/udpsrc-improve-timeouts.patch: Removed.
1677 2017-10-17 Jonathan Bedard <jbedard@apple.com>
1679 webkitpy: Hang when workers write to the same stack trace file
1680 https://bugs.webkit.org/show_bug.cgi?id=178402
1681 <rdar://problem/35033432>
1683 Reviewed by Aakash Jain.
1685 Workers can hang if they all write to the same stack trace file when receiving
1686 a SIGTERM. Attach the pid to the stack trace file name so that each worker
1687 writes to a different file.
1689 * Scripts/webkitpy/common/interupt_debugging.py:
1690 (log_stack_trace_on_term.handler): Name stack trace file path/<pid>-filename.
1691 (log_stack_trace_on_cntrl_c.handler): Ditto.
1693 2017-10-17 John Wilander <wilander@apple.com>
1695 Add and remove cookie partition accordingly in intermediary redirect requests
1696 https://bugs.webkit.org/show_bug.cgi?id=178369
1697 <rdar://problem/34467603>
1699 Reviewed by Brent Fulgham.
1701 Adds the function statisticsNotifyObserver().
1703 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1704 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1705 (WTR::InjectedBundle::statisticsNotifyObserver):
1706 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1707 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1708 (WTR::TestRunner::statisticsNotifyObserver):
1709 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1711 2017-10-17 Youenn Fablet <youenn@apple.com>
1713 Cache API implementation should be able to compute storage size for WebKit client applications.
1714 https://bugs.webkit.org/show_bug.cgi?id=178350
1716 Reviewed by Chris Dumez.
1718 Adding support for a domCacheSize getter.
1720 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1721 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1722 (WTR::TestRunner::domCacheSize):
1723 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1724 * WebKitTestRunner/TestController.cpp:
1725 (WTR::FetchCacheSizeForOriginCallbackContext::FetchCacheSizeForOriginCallbackContext):
1726 (WTR::fetchCacheSizeForOriginCallback):
1727 (WTR::TestController::domCacheSize):
1728 * WebKitTestRunner/TestController.h:
1729 * WebKitTestRunner/TestInvocation.cpp:
1730 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1732 2017-10-17 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
1734 [GStreamer][GTK][WPE] update-webkit-libs-jhbuild fails to detect changes in included moduleset files
1735 https://bugs.webkit.org/show_bug.cgi?id=178206
1737 Reviewed by Michael Catanzaro.
1739 The update-webkit-libs-jhbuild scripts computes MD5 sum of GTK/WPE jhbuild configuration files to check if it
1740 needs to rebuild the dependencies libraries. This patch fixes a bug when main GTK/WPE jhbuild modules
1741 configuration file includes additional files (for example GStreamer module). It parses jhbuild.modules file to
1742 check if additional files are included. If any, it computes MD5 sum for each of these included files.
1744 * Scripts/update-webkit-libs-jhbuild:
1745 (getJhbuildIncludedFilePaths): New function that returns included files in jhbuild.modules
1746 (jhbuildConfigurationCheckFile): New function to check if MD5 sum file changes.
1747 (jhbuildConfigurationChanged): Add MD5 sum check for included files.
1748 (saveMd5File): New function to save MD5 sum of a file.
1749 (saveJhbuildMd5): Add saving included files MD5 sum.
1750 (deleteJhbuildMd5): Delete included files MD5 sum
1751 * gtk/install-dependencies: Add perl-libXML lib that is used to parse jhbuild file.
1752 * wpe/install-dependencies: Ditto.
1754 2017-10-17 Tomas Popela <tpopela@redhat.com>
1756 Undefined WK_API_ENABLED warning when compiling COCOA content on WebKitGTK+
1757 https://bugs.webkit.org/show_bug.cgi?id=178208
1759 Check whether we are on COCOA platform before checking for
1762 Reviewed by Ryosuke Niwa.
1764 * WebKitTestRunner/TestController.cpp:
1765 (WTR::TestController::clearDOMCache):
1767 2017-10-17 Keith Miller <keith_miller@apple.com>
1769 Change WebCore sources to work with unified source builds
1770 https://bugs.webkit.org/show_bug.cgi?id=178229
1772 Rubber stamped by Tim Horton.
1774 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1776 2017-10-16 Christopher Reid <chris.reid@sony.com>
1778 [Win] Webkit should still be able to build when unable to check if libraries are up to date
1779 https://bugs.webkit.org/show_bug.cgi?id=178367
1781 Adding a option to skip the check to see if windows libraries are up to date.
1782 This option is useful when testing modified libraries. This option also allows
1783 building webkit when GitHub blocks requests to verify the latest library version.
1786 Reviewed by Per Arne Vollan.
1788 * Scripts/build-webkit:
1790 2017-10-12 Matt Rajca <mrajca@apple.com>
1792 Add API support for quirk that lets an arbitrary click allow auto-play.
1793 https://bugs.webkit.org/show_bug.cgi?id=178227
1795 Reviewed by Alex Christensen.
1797 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1798 (TEST): Added API test.
1800 2017-10-16 Maureen Daum <mdaum@apple.com>
1802 If an origin doesn't have databases in the Databases table we should still remove its information from disk in DatabaseTracker::deleteOrigin()
1803 https://bugs.webkit.org/show_bug.cgi?id=178281
1804 <rdar://problem/34576132>
1806 Reviewed by Brent Fulgham.
1808 Verify that if there is an entry in the Origins table but no entries in the Databases
1809 table that we still remove the directory for the origin, and that we remove the
1810 entry from the Origins table.
1812 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
1813 (TestWebKitAPI::TEST):
1815 2017-10-15 Ryosuke Niwa <rniwa@webkit.org>
1817 Cannot access images included in the content pasted from Microsoft Word
1818 https://bugs.webkit.org/show_bug.cgi?id=124391
1819 <rdar://problem/26862741>
1821 Reviewed by Antti Koivisto.
1823 Added tests for sanitizing HTML contents for copy & paste and drag & drop.
1825 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1826 * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: Added.
1827 (readHTMLFromPasteboard): Added.
1828 (createWebViewWithCustomPasteboardDataEnabled): Added.
1829 (CopyHTML.Sanitizes): Added.
1831 * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
1832 (createWebViewWithCustomPasteboardDataEnabled): Added to enable more tests on bots.
1834 * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
1835 (writeRTFToPasteboard): Added.
1836 (createWebViewWithCustomPasteboardDataEnabled): Added.
1837 (createHelloWorldString): Added.
1838 (PasteRTF.ExposesHTMLTypeInDataTransfer): Added.
1839 (PasteRTFD.ExposesHTMLTypeInDataTransfer): Added.
1840 (PasteRTFD.ImageElementUsesBlobURLInHTML): Added.
1842 * TestWebKitAPI/Tests/WebKitCocoa/copy-html.html: Added.
1843 * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html: Store the clipboardData contents for
1844 PasteRTF.ExposesHTMLTypeInDataTransfer and PasteRTFD.ExposesHTMLTypeInDataTransfer.
1846 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1847 (DataInteractionTests.DataTransferSanitizeHTML):
1849 2017-10-16 Youenn Fablet <youenn@apple.com>
1851 Activate Cache API by default
1852 https://bugs.webkit.org/show_bug.cgi?id=178186
1854 Reviewed by Chris Dumez.
1856 Removing explicit activation of cache api.
1858 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1859 (WTR::InjectedBundle::beginTesting):
1860 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1861 (WTR::TestRunner::setCacheAPIEnabled): Deleted.
1862 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1864 2017-10-16 Ross Kirsling <ross.kirsling@sony.com>
1866 run-webkit-tests help text should mention arguments too
1867 https://bugs.webkit.org/show_bug.cgi?id=178352
1869 Reviewed by Tim Horton.
1871 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1874 2017-10-16 Maureen Daum <mdaum@apple.com>
1876 If we fail to delete any database file, don't remove its information from the tracker database
1877 <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
1879 Reviewed by Brady Eidson.
1881 Add tests that verify we correctly delete databases and remove their information from
1882 the tracker database, even if the database doesn't exist. Verify that if we fail to
1883 delete a database, we don't remove its information from the tracker database.
1885 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1886 Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
1887 method for creating a temporary directory in the tests.
1888 * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
1889 The existing test was copied to DatabaseTrackerTest.mm.
1890 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
1891 (TestWebKitAPI::TEST):
1892 (TestWebKitAPI::addToDatabasesTable):
1893 (TestWebKitAPI::removeDirectoryAndAllContents):
1894 (TestWebKitAPI::createFileAtPath):
1896 2017-10-16 Ryan Haddad <ryanhaddad@apple.com>
1898 Unreviewed, rolling out r223422.
1900 These tests are for a change that was rolled out in r223420
1904 "If we fail to delete any database file, don't remove its
1905 information from the tracker database"
1906 https://bugs.webkit.org/show_bug.cgi?id=178251
1907 https://trac.webkit.org/changeset/223422
1909 2017-10-16 Maureen Daum <mdaum@apple.com>
1911 If we fail to delete any database file, don't remove its information from the tracker database
1912 <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
1914 Reviewed by Brady Eidson.
1916 Add tests that verify we correctly delete databases and remove their information from
1917 the tracker database, even if the database doesn't exist. Verify that if we fail to
1918 delete a database, we don't remove its information from the tracker database.
1920 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1921 Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
1922 method for creating a temporary directory in the tests.
1923 * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
1924 The existing test was copied to DatabaseTrackerTest.mm.
1925 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
1926 (TestWebKitAPI::TEST):
1927 (TestWebKitAPI::addToDatabasesTable):
1928 (TestWebKitAPI::removeDirectoryAndAllContents):
1929 (TestWebKitAPI::createFileAtPath):
1931 2017-10-16 David Kilzer <ddkilzer@apple.com>
1933 Add RELEASE_ASSERT_WITH_SECURITY_IMPLICATION() macro
1934 <https://webkit.org/b/178269>
1936 Reviewed by Alex Christensen.
1938 * Scripts/webkitpy/style/checkers/cpp.py:
1939 (check_language): Add checker to warn about using
1940 ASSERT_WITH_SECURITY_IMPLICATION().
1941 (CppChecker.categories): Add 'security/assertion' to list of
1943 * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1944 (CppStyleTest.test_debug_security_assertion): Add tests for
1947 2017-10-16 Chris Dumez <cdumez@apple.com>
1949 Clicks on Link with download attribute causes all (other) links to trigger download when clicked
1950 https://bugs.webkit.org/show_bug.cgi?id=178267
1951 <rdar://problem/34985016>
1953 Reviewed by Darin Adler.
1955 Use PassThrough policy in WKTR's InjectedBundle's decidePolicyForNewWindowAction so that the
1956 request is sent to the UIProcess. This gets WKTR's closer to Safari behavior and helps
1957 reproduce the bug. Without this change, I would not be able to write a regression test for
1958 this bug that is very easily reproducible in Safari.
1960 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1961 (WTR::InjectedBundlePage::decidePolicyForNewWindowAction):
1963 2017-10-16 Emilio Cobos Álvarez <emilio@crisal.io>
1965 Add Emilio Cobos Álvarez to the contributors list.
1966 https://bugs.webkit.org/show_bug.cgi?id=178334
1968 Reviewed by Antti Koivisto.
1970 * Scripts/webkitpy/common/config/contributors.json:
1972 2017-10-07 Maciej Stachowiak <mjs@apple.com>
1974 Improve --help documentation and add --list-plans to show available benchmarks.
1975 https://bugs.webkit.org/show_bug.cgi?id=178059
1977 Reviewed by Ryosuke Niwa.
1979 * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
1980 (BenchmarkRunner.available_plans): New function that returns the list of available plans.
1981 (BenchmarkRunner.plan_directory): New method to centralize knowledge of where the plan files live.
1982 (BenchmarkRunner._find_plan_file): Updated to use BenchmarkRunner.plan_directory
1984 * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
1986 (parse_args): Help cleanup: Reordered options to put more common
1987 ones at the top. Fixed wording. Added help for each
1988 option. Explained default for each option that has one.
1990 New option: --list-plans which tells you the available benchmarks.
1992 Code cleanup: Removed use of dest where redundant, made variable
1993 names conforming to Python coding style.
1995 (run_benchmark_plan): Adapted for new variable names.
1996 (list_benchmark_plans): New helper for --list-plans option.
1997 (start): Account for --list-plans. Also use
1998 BechmarkRunner.available_plans and use
1999 BenchmarkRunner.plan_directory instead of duplicating
2000 code/knowledge here.
2002 2017-10-16 Wenson Hsieh <wenson_hsieh@apple.com>
2004 On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
2005 https://bugs.webkit.org/show_bug.cgi?id=178301
2006 <rdar://problem/34990050>
2008 Reviewed by Darin Adler.
2010 Fixes issues in DumpRenderTree's LocalPasteboard to ensure that drag-drop-href-as-url.html exposes files, and
2011 also adds a new iOS drag and drop API test.
2013 * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2014 (-[LocalPasteboard addTypes:owner:]):
2015 (-[LocalPasteboard setData:forType:]):
2017 Fixes LocalPasteboard's implementation of changeCount to incremement when the pasteboard owner changes, rather
2018 than every time data is changed. This is consistent with NSPasteboard behavior.
2020 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2021 (TestWebKitAPI::TEST):
2023 Adds a new API test to verify that an image and HTTP URL written by the platform is correctly web exposed.
2025 2017-10-15 Darin Adler <darin@apple.com>
2027 UTF-8 decoding produces one replacement character per byte; Encoding standard requires one replacement character per illegal sequence instead
2028 https://bugs.webkit.org/show_bug.cgi?id=178207
2030 Reviewed by Sam Weinig.
2032 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added test.
2033 * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Added.
2034 (TestWebKitAPI::decodeHexTestBytes): Decodes a string so we can write readable tests.
2035 (TestWebKitAPI::escapeNonPrintableASCIICharacters): Encodes a string so we can write readable tests.
2036 (TestWebKitAPI::TEST): Added some UTF-8 tests and UTF-8 invalid sequences tests.
2037 Would be smart to add more tests for other cases, exercising the fast ASCII loop for example, and
2040 2017-10-14 Adrian Perez de Castro <aperez@igalia.com>
2042 [WPE] JHBuild build directory DependenciesWPE/Build is not removed by update-webkit-libs-jhbuild
2043 https://bugs.webkit.org/show_bug.cgi?id=178212
2045 Reviewed by Michael Catanzaro.
2047 * Scripts/update-webkit-libs-jhbuild:
2048 (cleanJhbuild): The WPE JHBuild also uses a separate "Build" subdirectory, so do not skip
2049 cleaning it when "--wpe" is passed to the script.
2051 2017-10-13 Adrian Perez de Castro <aperez@igalia.com>
2053 [WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
2054 https://bugs.webkit.org/show_bug.cgi?id=178283
2056 Reviewed by Žan Doberšek.
2058 * wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise
2059 compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.
2061 2017-10-13 Youenn Fablet <youenn@apple.com>
2063 Implement listing origins for which CacheStorage is storing data
2064 https://bugs.webkit.org/show_bug.cgi?id=178236
2066 Reviewed by Chris Dumez.
2068 Adding hasDOMCache API for checking whether origin is storing data through Cache API.
2070 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2071 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2072 (WTR::TestRunner::hasDOMCache):
2073 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2074 * WebKitTestRunner/TestController.cpp:
2075 (WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
2076 (WTR::fetchCacheOriginsCallback):
2077 (WTR::TestController::hasDOMCache):
2078 * WebKitTestRunner/TestController.h:
2079 * WebKitTestRunner/TestInvocation.cpp:
2080 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2082 2017-10-13 Alex Christensen <achristensen@webkit.org>
2084 Remove Editor::simplifyMarkup
2085 https://bugs.webkit.org/show_bug.cgi?id=178271
2087 Reviewed by Wenson Hsieh.
2089 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2090 * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
2092 2017-10-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
2094 [GLib] WebKitNavigationAction should tell whether it is a redirect
2095 https://bugs.webkit.org/show_bug.cgi?id=178178
2097 Test that WebKitNavigationAction properly reports being a redirect.
2099 Reviewed by Carlos Garcia Campos.
2101 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
2102 (testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
2103 (serverCallback): add a /redirect path to the server, which causes a redirect.
2105 2017-10-13 Chris Dumez <cdumez@apple.com>
2107 Unreviewed, fix webkitpy failure after r223273
2109 * Scripts/webkitpy/w3c/test_importer_unittest.py:
2110 (TestImporterTest.test_harnesslinks_conversion):
2112 2017-10-12 Chris Dumez <cdumez@apple.com>
2114 import-w3c-tests modifies test sources and sometimes causes them to fail
2115 https://bugs.webkit.org/show_bug.cgi?id=178234
2117 Reviewed by Ryosuke Niwa.
2119 Update import-w3c-tests to stop rewriting tests as this is causing some tests
2120 to fail unexpectedly.
2122 * Scripts/webkitpy/w3c/test_importer.py:
2123 (TestImporter.import_tests):
2125 2017-10-12 Youenn Fablet <youenn@apple.com>
2127 Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
2128 https://bugs.webkit.org/show_bug.cgi?id=178200
2130 Reviewed by Chris Dumez.
2132 Making clearDOMCache wait for removal completion to exit.
2133 This removes the risk to interact with the cache while deleting it which will end up be racy in tests.
2135 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2136 (WTR::TestRunner::clearDOMCache):
2137 * WebKitTestRunner/TestController.cpp:
2138 (WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
2139 (WTR::clearDOMCacheCallback):
2140 (WTR::TestController::clearDOMCache):
2141 * WebKitTestRunner/TestInvocation.cpp:
2142 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2143 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2145 2017-10-12 John Wilander <wilander@apple.com>
2147 ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
2148 https://bugs.webkit.org/show_bug.cgi?id=175257
2149 <rdar://problem/33359866>
2151 Reviewed by Brent Fulgham.
2153 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2154 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2155 (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
2156 (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
2157 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2158 * WebKitTestRunner/TestController.cpp:
2159 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2161 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2163 * WebKitTestRunner/TestController.h:
2164 * WebKitTestRunner/TestInvocation.cpp:
2165 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2166 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2167 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2168 Implemented platform-specific.
2169 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2170 Implemented platform-specific.
2172 2017-10-12 Andy Estes <aestes@apple.com>
2174 [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
2175 https://bugs.webkit.org/show_bug.cgi?id=178181
2176 <rdar://problem/33660282>
2178 Reviewed by Dan Bernstein.
2180 * WebKitTestRunner/TestController.cpp:
2181 (WTR::TestController::databaseProcessName):
2183 2017-10-12 Myles C. Maxfield <mmaxfield@apple.com>
2185 Emit SPIR-V from WSL compiler (Part 1)
2186 https://bugs.webkit.org/show_bug.cgi?id=177998
2188 Reviewed by Filip Pizlo.
2190 This patch implements the first half of a SPIR-V codegen phase for WSL.
2191 This includes all the operations which aren't actually emitting the contents
2192 of functions themselves. For example, this includes things like representing
2193 WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
2194 future patch will actually emit the contents of functions.
2196 There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
2197 types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
2198 input and output variables from a shader (and assigns location values to
2201 This patch is currently pursuing the "logical mode" detailed in
2202 https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
2203 array reference operation can be statically traced to the variable or array it
2206 This has the interesting property where accessing a pointer inside an array is
2207 forbidden, because the array index may be computed at runtime, so the compiler
2208 can't know at compile time which variable the pointer operation will be
2209 accessing. However, this isn't true for structs; the program must statically
2210 state which struct member it is accessing. Therefore, pointers or array
2211 references must not transitively appear within an array, but they may appear
2212 within a struct. The same logic applies to array references; those get lowered
2213 to just two indexes in SPIR-V (a lower bound and an upper bound).
2215 So, outside of an array, SPIR-V types don't need to include any pointers because
2216 any operation with the pointer doesn't need access to the runtime value of the
2217 pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
2218 will never include any pointers.
2220 This means that, for example, WSL can represent a linked list in logical mode.
2221 However, a WSL program cannot iterate across the list, because that would require
2222 assigning to a pointer. So instead, a program using a linked list could only say
2223 something like "list.ptr->ptr->ptr->value".
2225 * WebGPUShadingLanguageRI/LateChecker.js:
2226 (LateChecker.prototype._checkShaderType):
2227 * WebGPUShadingLanguageRI/SPIR-V.js:
2228 (SPIRV.OperandChecker.prototype._isStar):
2229 (SPIRV.OperandChecker.prototype.nextComparisonType):
2230 (SPIRV.OperandChecker.prototype.finalize):
2231 (SPIRV.OperandChecker):
2232 * WebGPUShadingLanguageRI/SPIRV.html:
2233 * WebGPUShadingLanguageRI/SPIRVCodegen.js: Added.
2235 (emitTypes.doEmitTypes):
2237 (ConstantFinder.prototype.visitGenericLiteralType):
2240 * WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Added.
2241 (SPIRVTypeAnalyzer):
2242 (SPIRVTypeAnalyzer.prototype.get program):
2243 (SPIRVTypeAnalyzer.prototype.get typeMap):
2244 (SPIRVTypeAnalyzer.prototype.get currentId):
2245 (SPIRVTypeAnalyzer.prototype.get stack):
2246 (SPIRVTypeAnalyzer.prototype.visitTypeRef):
2247 (SPIRVTypeAnalyzer.prototype._encounterType):
2248 (SPIRVTypeAnalyzer.prototype.visitNullType):
2249 (SPIRVTypeAnalyzer.prototype.visitGenericLiteralType):
2250 (SPIRVTypeAnalyzer.prototype.visitNativeType):
2251 (SPIRVTypeAnalyzer.prototype.visitEnumType):
2252 (SPIRVTypeAnalyzer.prototype.visitPtrType):
2253 (SPIRVTypeAnalyzer.prototype.visitArrayRefType):
2254 (SPIRVTypeAnalyzer.prototype.visitArrayType):
2255 (SPIRVTypeAnalyzer.prototype.visitStructType):
2256 * WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Added.
2257 (SPIRVPrimitiveVariableAnalyzer):
2258 (SPIRVPrimitiveVariableAnalyzer.prototype.get program):
2259 (SPIRVPrimitiveVariableAnalyzer.prototype.get typeMap):
2260 (SPIRVPrimitiveVariableAnalyzer.prototype.get currentId):
2261 (SPIRVPrimitiveVariableAnalyzer.prototype.get currentLocation):
2262 (SPIRVPrimitiveVariableAnalyzer.prototype.get nameComponents):
2263 (SPIRVPrimitiveVariableAnalyzer.prototype.get result):
2264 (SPIRVPrimitiveVariableAnalyzer.prototype.visitTypeRef):
2265 (SPIRVPrimitiveVariableAnalyzer.prototype.visitNullType):
2266 (SPIRVPrimitiveVariableAnalyzer.prototype.visitGenericLiteralType):
2267 (SPIRVPrimitiveVariableAnalyzer.prototype.visitNativeType):
2268 (SPIRVPrimitiveVariableAnalyzer.prototype.visitEnumType):
2269 (SPIRVPrimitiveVariableAnalyzer.prototype.visitPtrType):
2270 (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayRefType):
2271 (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayType):
2272 (SPIRVPrimitiveVariableAnalyzer.prototype.visitStructType):
2273 * WebGPUShadingLanguageRI/WSL.md:
2274 * WebGPUShadingLanguageRI/index.html:
2276 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2278 Enable gigacage on iOS
2279 https://bugs.webkit.org/show_bug.cgi?id=177586
2281 Reviewed by JF Bastien.
2283 Add a mode to test disabling Gigacage.
2285 * Scripts/run-jsc-stress-tests:
2286 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2288 2017-10-11 Sam Weinig <sam@webkit.org>
2290 Remove out-parameter variants of copyToVector
2291 https://bugs.webkit.org/show_bug.cgi?id=178155
2293 Reviewed by Tim Horton.
2295 * DumpRenderTree/JavaScriptThreading.cpp:
2296 (stopJavaScriptThreads):
2298 2017-10-12 Sam Weinig <sam@webkit.org>
2300 It should be possible to iterate just the values (and not the counts) of a HashCountedSet
2301 https://bugs.webkit.org/show_bug.cgi?id=178169
2303 Reviewed by Daniel Bates.
2305 * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
2306 (TestWebKitAPI::TEST):
2307 Add test for HashCountedSet's new values() range.
2309 2017-10-11 Frederic Wang <fwang@igalia.com>
2311 run-safari --ios-simulator is no longer working with Xcode 9
2312 https://bugs.webkit.org/show_bug.cgi?id=177595
2314 Reviewed by Daniel Bates.
2316 In Xcode 9, the path of the simulator application is now in a new CoreSimulator subdirectory
2317 of the iphoneOS SDK platform. This patch updates webkitdirs.pm to use the new path in
2318 Xcode 9 or higher so that it is possible to run Safari on the iOS simulator again. It also
2319 does some minor code refactoring to improve code reuse.
2321 * Scripts/configure-xcode-for-ios-development: Move sdkDirectory() and sdkPlatformDirectory()
2323 (sdkDirectory): Deleted.
2324 (sdkPlatformDirectory): Deleted.
2325 * Scripts/webkitdirs.pm: Expose new sdkDirectory() and sdkPlatformDirectory().
2326 (sdkDirectory): Moved from configure-xcode-for-ios-development.
2327 (sdkPlatformDirectory): Ditto.
2328 (XcodeSDKPath): Rely on sdkDirectory() to implement this function.
2329 (iosSimulatorApplicationsPath): In Xcode 9 or higher use the new path. It is calculated
2330 by relying on sdkPlatformDirectory().
2332 2017-10-11 Dewei Zhu <dewei_zhu@apple.com>
2334 run-benchmark script should set '__XPC_DYLD_FRAMEWORK_PATH' while launching local-built Safari on Mac.
2335 https://bugs.webkit.org/show_bug.cgi?id=178199
2337 Reviewed by Saam Barati.
2339 '__XPC_DYLD_FRAMEWORK_PATH' should be set while launching Safari on run-benchmark script.
2340 'force_remove' function should support both file and directory.
2342 * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
2343 (OSXSafariDriver.launch_url):
2344 * Scripts/webkitpy/benchmark_runner/utils.py:
2347 2017-10-11 Saam Barati <sbarati@apple.com>
2349 Runtime disable poly proto because it may be a 3-4% Speedometer regression
2350 https://bugs.webkit.org/show_bug.cgi?id=178192
2352 Reviewed by JF Bastien.
2354 * Scripts/run-jsc-stress-tests:
2356 2017-10-11 Youenn Fablet <youenn@apple.com>
2358 Add API to clean CacheStorage data
2359 https://bugs.webkit.org/show_bug.cgi?id=178034
2361 Reviewed by Chris Dumez.
2363 Adding internals API to trigger deleting all or origin-persistent cache storage persistent data.
2365 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2366 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2367 (WTR::TestRunner::clearDOMCache):
2368 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2369 * WebKitTestRunner/TestController.cpp:
2370 (WTR::TestController::clearDOMCache):
2371 * WebKitTestRunner/TestController.h:
2372 * WebKitTestRunner/TestInvocation.cpp:
2373 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2375 2017-10-11 Chris Dumez <cdumez@apple.com>
2377 [Geolocation] Expose Coordinates.floorLevel
2378 https://bugs.webkit.org/show_bug.cgi?id=178173
2379 <rdar://problem/34918936>
2381 Reviewed by Ryosuke Niwa.
2383 Add test infrastructure for testing Coordinates.floorLevel.
2385 * DumpRenderTree/TestRunner.cpp:
2386 (setMockGeolocationPositionCallback):
2387 * DumpRenderTree/TestRunner.h:
2388 * DumpRenderTree/mac/TestRunnerMac.mm:
2389 (TestRunner::setMockGeolocationPosition):
2390 * DumpRenderTree/win/TestRunnerWin.cpp:
2391 (TestRunner::setMockGeolocationPosition):
2392 * WebKitTestRunner/GeolocationProviderMock.cpp:
2393 (WTR::GeolocationProviderMock::setPosition):
2394 * WebKitTestRunner/GeolocationProviderMock.h:
2395 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2396 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2397 (WTR::InjectedBundle::setMockGeolocationPosition):
2398 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2399 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2400 (WTR::TestRunner::setMockGeolocationPosition):
2401 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2402 * WebKitTestRunner/TestController.cpp:
2403 (WTR::TestController::setMockGeolocationPosition):
2404 * WebKitTestRunner/TestController.h:
2405 * WebKitTestRunner/TestInvocation.cpp:
2406 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2408 2017-10-11 Youenn Fablet <youenn@apple.com>
2410 Bump default cache storage quota to 20MB
2411 https://bugs.webkit.org/show_bug.cgi?id=178132
2413 Reviewed by Alex Christensen.
2415 * WebKitTestRunner/TestController.cpp:
2416 (WTR::TestController::generateContextConfiguration const):
2417 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2418 (WTR::initializeWebViewConfiguration): Setting quota to 400kb
2420 2017-10-11 Commit Queue <commit-queue@webkit.org>
2422 Unreviewed, rolling out r223113 and r223121.
2423 https://bugs.webkit.org/show_bug.cgi?id=178182
2425 Reintroduced 20% regression on Kraken (Requested by rniwa on
2428 Reverted changesets:
2430 "Enable gigacage on iOS"
2431 https://bugs.webkit.org/show_bug.cgi?id=177586
2432 https://trac.webkit.org/changeset/223113
2434 "Use one virtual allocation for all gigacages and their
2436 https://bugs.webkit.org/show_bug.cgi?id=178050
2437 https://trac.webkit.org/changeset/223121
2439 2017-10-11 Ryosuke Niwa <rniwa@webkit.org>
2441 Sanitize URL in pasteboard for other applications and cross origin content
2442 https://bugs.webkit.org/show_bug.cgi?id=178060
2443 <rdar://problem/34874518>
2445 Reviewed by Wenson Hsieh.
2447 Added API tests for sanitizing URLs copied from web content, and that the original URL is exposed to the web content.
2449 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2450 * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: Added.
2451 (readURLFromPasteboard): A helper function.
2452 * TestWebKitAPI/Tests/WebKitCocoa/copy-url.html: Added.
2453 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2454 (DataInteractionTests.DataTransferGetDataWhenDroppingCustomData): Rebaselined. https://www.apple.com is no longer
2455 normalized to https://www.apple.com/ by NSURL / UIPasteboard as expected.
2456 (DataInteractionTests.DataTransferSetDataValidURL): Added.
2457 (DataInteractionTests.DataTransferSetDataUnescapedURL): Added.
2458 (DataInteractionTests.qDataTransferSetDataInvalidURL): Added.
2460 2017-10-11 Chris Dumez <cdumez@apple.com>
2462 Modernize Geolocation code
2463 https://bugs.webkit.org/show_bug.cgi?id=178148
2465 Reviewed by Ryosuke Niwa.
2467 * DumpRenderTree/mac/TestRunnerMac.mm:
2468 (TestRunner::setMockGeolocationPosition):
2470 2017-10-11 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
2472 [GStreamer] Many media source tests crashing with GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0' failed in gst_qtdemux_configure_stream()
2473 https://bugs.webkit.org/show_bug.cgi?id=176804
2475 Reviewed by Michael Catanzaro.
2477 Add patch to fix assert in qtdemux.
2479 * gstreamer/jhbuild.modules:
2480 * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added.
2482 2017-10-11 Tomas Popela <tpopela@redhat.com>
2484 Use https for trac changeset and browser links
2485 https://bugs.webkit.org/show_bug.cgi?id=178167
2487 Reviewed by Alexey Proskuryakov.
2489 Switch the http://trac.webkit.org/changeset and
2490 http://trac.webkit.org/browser links that are printed by webkitpy to
2491 https. Also update the test expectations.
2493 * Scripts/webkitpy/common/checkout/checkout_unittest.py:
2494 * Scripts/webkitpy/common/config/committervalidator_unittest.py:
2495 (CommitterValidatorTest.test_flag_permission_rejection_message):
2496 * Scripts/webkitpy/common/config/urls.py:
2498 (view_revision_url):
2499 * Scripts/webkitpy/common/net/bugzilla/bug_unittest.py:
2500 (BugTest.test_commit_revision):
2501 * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
2502 * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
2503 * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
2505 (MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
2506 * Scripts/webkitpy/style/checkers/changelog_unittest.py:
2507 (ChangeLogCheckerTest.test_missing_bug_number):
2508 * Scripts/webkitpy/tool/bot/feeders_unittest.py:
2509 * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
2510 * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
2511 (IRCBotTest.test_rollout):
2512 (IRCBotTest.test_revert):
2513 (IRCBotTest.test_multi_rollout):
2514 (IRCBotTest.test_rollout_with_r_in_svn_revision):
2515 (IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
2516 (IRCBotTest.test_rollout_invalidate_reason):
2517 (test_multi_rollout_invalidate_reason):
2518 * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
2519 * Scripts/webkitpy/tool/commands/download_unittest.py:
2520 * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
2521 * Scripts/webkitpy/tool/commands/queues_unittest.py:
2522 * Scripts/webkitpy/tool/commands/suggestnominations.py:
2523 (SuggestNominations._count_commit):
2524 * Scripts/webkitpy/tool/commands/upload_unittest.py:
2525 * Scripts/webkitpy/tool/servers/data/rebaselineserver/util.js:
2528 * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
2529 (CloseBugForLandDiffTest.test_empty_state):
2530 * Scripts/webkitpy/tool/steps/commit_unittest.py:
2531 (CommitTest._test_check_test_expectations):
2532 * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
2533 (UpdateChangeLogsForRevertTest):
2535 2017-10-10 Ryosuke Niwa <rniwa@webkit.org>
2537 Enable custom pasteboard data in DumpRenderTree and WebKitTestRunner
2538 https://bugs.webkit.org/show_bug.cgi?id=178154
2540 Reviewed by Wenson Hsieh.
2542 Fixed the bug that LocalPasteboard would fail to load the promise type if data is set after declaring types
2543 by delaying the call to provideDataForType until when dataForType is called.
2545 Without this fix, fast/events/dropzone-002.html would start failing after enabling custom pasteboard data.
2546 With this fix, fast/events/dropzone-005.html also starts passing.
2548 * DumpRenderTree/mac/DumpRenderTree.mm:
2549 (resetWebPreferencesToConsistentValues):
2550 * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2551 (-[LocalPasteboard addTypes:owner:]):
2552 (-[LocalPasteboard dataForType:]):
2553 * WebKitTestRunner/TestController.cpp:
2554 (WTR::TestController::resetPreferencesToConsistentValues):
2556 2017-10-10 Joanmarie Diggs <jdiggs@igalia.com>
2558 AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM
2559 https://bugs.webkit.org/show_bug.cgi?id=178137
2561 Reviewed by Chris Fleizach.
2563 Add handling for ATK_ROLE_LANDMARK resulting from the ARIA form role.
2565 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2567 2017-10-10 Jonathan Bedard <jbedard@apple.com>
2569 run-webkit-tests: upload test results to multiple servers
2570 https://bugs.webkit.org/show_bug.cgi?id=178012
2571 <rdar://problem/34856501>
2573 Reviewed by Lucas Forschler.
2575 Allowing uploading of results to multiple servers makes developing new results
2576 databases much easier, and does not complicate uploading logic.
2578 * Scripts/webkitpy/layout_tests/controllers/manager.py:
2579 (Manager.upload_results): Iterate through the list of results server hosts and
2580 send results to each one.
2581 * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
2582 (JSONLayoutResultsGenerator.__init__): Accept a list of test results servers.
2583 * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
2584 (JSONResultsGenerator.__init__): Accept a list of test results servers.
2585 (JSONResultsGenerator.get_json): Pick which server to download from by index.
2586 (JSONResultsGenerator.upload_json_files): Upload the JSON to each results server.
2587 (JSONResultsGenerator._get_archived_json_results): Pick which server to download from.
2588 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2589 (parse_args): Allow multiple test-results-servers and results-server-hosts to be
2590 passed to run-webkit-tests.
2592 2017-10-09 Youenn Fablet <youenn@apple.com>
2594 Vector should be able to easily create from a list of movable only items
2595 https://bugs.webkit.org/show_bug.cgi?id=176432
2597 Reviewed by Darin Adler.
2599 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2600 (TestWebKitAPI::TEST):
2602 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2604 Enable gigacage on iOS
2605 https://bugs.webkit.org/show_bug.cgi?id=177586
2607 Reviewed by JF Bastien.
2609 Add a mode to test disabling Gigacage.
2611 * Scripts/run-jsc-stress-tests:
2612 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2614 2017-10-09 Commit Queue <commit-queue@webkit.org>
2616 Unreviewed, rolling out r223015 and r223025.
2617 https://bugs.webkit.org/show_bug.cgi?id=178093
2619 Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
2622 Reverted changesets:
2624 "Enable gigacage on iOS"
2625 https://bugs.webkit.org/show_bug.cgi?id=177586
2626 http://trac.webkit.org/changeset/223015
2628 "Unreviewed, disable Gigacage on ARM64 Linux"
2629 https://bugs.webkit.org/show_bug.cgi?id=177586
2630 http://trac.webkit.org/changeset/223025
2632 2017-10-09 Sam Weinig <sam@webkit.org>
2634 Make HashMap::keys() and HashMap::values() work with WTF::map/WTF::copyToVector
2635 https://bugs.webkit.org/show_bug.cgi?id=178072
2637 Reviewed by Darin Adler.
2639 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2640 (TestWebKitAPI::TEST):
2642 Add tests for HashMap::keys() and HashMap::values() working with copyToVector.
2644 2017-10-05 Frederic Wang <fwang@igalia.com>
2646 Remove WOFF2 from Source/ThirdParty.
2647 https://bugs.webkit.org/show_bug.cgi?id=177862
2649 Reviewed by Michael Catanzaro.
2651 * Scripts/webkitpy/style/checker.py: Remove woff2.
2652 * gtk/jhbuild.modules: Add new jhbuild module for woff2.
2654 2017-10-08 Sam Weinig <sam@webkit.org>
2656 It should be possible to create a ListHashSet with a std::initializer_list.
2657 https://bugs.webkit.org/show_bug.cgi?id=178070
2659 Reviewed by Darin Adler.
2661 * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
2662 (TestWebKitAPI::TEST):
2663 Add a test for using std::initializer_list with ListHashSet.
2665 2017-10-08 Sam Weinig <sam@webkit.org>
2667 There should be a version of copyToVector that returns a Vector, rather than using an out parameter
2668 https://bugs.webkit.org/show_bug.cgi?id=177732
2670 Reviewed by Saam Barati.
2672 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2673 (TestWebKitAPI::TEST):
2674 Add tests for the new copyToVector and copyToVectorOf functions.
2676 2017-10-08 Darin Adler <darin@apple.com>
2678 Fix bugs related to setting reflected floating point DOM attributes
2679 https://bugs.webkit.org/show_bug.cgi?id=178061
2681 Reviewed by Sam Weinig.
2683 * TestWebKitAPI/Tests/WTF/AtomicString.cpp: Added a test of the
2684 AtomicString::number function, based on the test cases we already
2685 had for String::numberToStringECMAScript, and with some additional
2686 cases with powers of 10 that check handling of trailng zeroes.
2688 * TestWebKitAPI/Tests/WTF/WTFString.cpp: Added test cases to the
2689 existing tests of the String::numberToStringECMAScript function
2690 as above. Also added tests for String::number and for
2691 String::numberToStringFixedWidth. Also changed the tests to all use
2692 EXPECT instead of ASSERT macros since these are all non-fatal.
2694 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2695 (WTR::dumpFrameScrollPosition): Use StringBuilder::appendECMAScriptNumber
2696 instead of String::number.
2698 2017-10-08 Dean Jackson <dino@apple.com>
2700 Make sort-Xcode-project file handle UnifiedSources
2701 https://bugs.webkit.org/show_bug.cgi?id=178042
2703 Reviewed by Sam Weinig.
2705 Sort the UnifiedSource(\d+) files by number rather
2706 than alphabetically.
2708 * Scripts/sort-Xcode-project-file:
2709 (sortChildrenByFileName):
2710 (sortFilesByFileName):
2712 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2714 Enable gigacage on iOS
2715 https://bugs.webkit.org/show_bug.cgi?id=177586
2717 Reviewed by JF Bastien.
2719 Add a mode to test disabling Gigacage.
2721 * Scripts/run-jsc-stress-tests:
2722 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2724 2017-10-06 Aishwarya Nirmal <anirmal@apple.com>
2726 [iOS] Respect the "caret-color" CSS property when editing
2727 https://bugs.webkit.org/show_bug.cgi?id=177489
2728 <rdar://problem/34600419>
2730 Reviewed by Tim Horton.
2732 Adds test for iOS caret color support.
2734 * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
2735 (TestWebKitAPI::TEST):
2736 * TestWebKitAPI/ios/UIKitSPI.h:
2738 2017-10-06 Alex Christensen <achristensen@webkit.org>
2740 Add more infrastructure to apply custom header fields to same-origin requests
2741 https://bugs.webkit.org/show_bug.cgi?id=177629
2743 Reviewed by Ryosuke Niwa.
2745 * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
2746 (canonicalizeHTTPHeader):
2747 (shouldRemainUnchanged):
2750 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2753 (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
2754 (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
2755 (-[CustomHeaderFieldsDelegate webView:stopURLSchemeTask:]):
2757 Test main resource requests, subresource requests, and cross-origin requests.
2759 2017-10-06 Wenson Hsieh <wenson_hsieh@apple.com>
2761 [iOS] Tweak support for classifying form controls (followup to r222487)
2762 https://bugs.webkit.org/show_bug.cgi?id=177917
2763 <rdar://problem/34820122>
2765 Reviewed by Dean Jackson.
2767 Minor cleanup around autofill API tests added in r222487. Additionally, augments some of these API tests to
2768 verify that after blurring the focused element, the content view no longer accepts autofill credentials (see
2769 WebKit ChangeLog for more details). Also augments tests to verify that the URL in the autofill context matches
2772 * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
2774 Remove the USE(APPLE_INTERNAL_SDK) guard for these API tests.
2776 (newUIKeyboardLoginCredentialsSuggestion):
2778 Add a stub implementation of UIKeyboardLoginCredentialsSuggestion. This allows
2779 [UIKeyboardLoginCredentialsSuggestion new] to return a nonnull object, which allows these API tests to verify
2780 that the credential filling codepath works as intended without any additional UIKit changes. Currently, tests
2781 for the value of username and password fields are passing even though the fields are not being populated because
2782 the expected string values are null, and the observed value is an empty string. We instead check the literal
2783 string values here instead of credentialSuggestion's properties, so that tests verifying the behavior of
2784 -insertTextSuggestion: will require username and password inputs to be populated.
2786 (-[TestInputDelegate _webView:focusShouldStartInputSession:]):
2787 (-[AutofillTestView initWithFrame:]):
2788 (-[AutofillTestView _autofillInputView]):
2789 (-[AutofillTestView textInputHasAutofillContext]):
2790 (TestWebKitAPI::TEST):
2792 Add an additional API test to verify that programmatic focus without user interaction (and also without testing
2793 overrides) does not activate autofill.
2795 (createUIKeyboardLoginCredentialsSuggestion): Deleted.
2796 (-[WKWebView _privateTextInput]): Deleted.
2797 * TestWebKitAPI/ios/UIKitSPI.h:
2799 Minor gardening to remove iOS version >= 11 guards that are now unnecessary. Additionally, add some more private
2800 header imports (with corresponding interface definitions for building and running with the public SDK).
2802 2017-10-06 Antti Koivisto <antti@apple.com>
2804 Minor WeakPtr improvements
2805 https://bugs.webkit.org/show_bug.cgi?id=177958
2807 Reviewed by Sam Weinig.
2809 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2810 (TestWebKitAPI::TEST):
2811 (TestWebKitAPI::Base::createWeakPtr): Deleted.
2813 2017-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
2815 Unreviewed. Fix parsing of GTK unit tests output in bot configuration.
2817 * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2818 (RunGtkAPITests.commandComplete): Remove trailing ':' from the regular expression.
2820 2017-10-06 Charles Turner <cturner@igalia.com>
2822 Disable bmalloc when running Valgrind
2823 https://bugs.webkit.org/show_bug.cgi?id=177923
2825 Reviewed by Carlos Alberto Lopez Perez.
2827 * Scripts/webkitpy/port/gtk.py:
2828 (GtkPort.setup_environ_for_server):
2830 2017-10-06 Zan Dobersek <zdobersek@igalia.com>
2832 Implement TestController::platformContext() for WPE, returning the
2833 m_context pointer as the GTK+ port does. This fixes the crashes on
2836 Rubber-stamped by Carlos Garcia Campos.
2838 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2839 (WTR::TestController::platformContext):
2841 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2843 [GTK][WPE] Add API to configure and enable resource load statistics
2844 https://bugs.webkit.org/show_bug.cgi?id=177943
2846 Reviewed by Michael Catanzaro.
2848 Add a command line option to enable intelligent tracking prevention to MiniBrowser and tests cases to check the
2851 * MiniBrowser/gtk/main.c:
2853 * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
2855 (testWebsiteDataConfiguration):
2856 (testWebsiteDataEphemeral):
2857 (testWebsiteDataResourceLoadStats):
2859 * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
2861 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
2862 (directoryChangedCallback):
2863 (WebViewTest::waitUntilFileExists):
2864 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2866 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2868 [GTK][WPE] All resource load statistics tests added in r212183 crash in GTK bots, timeout in GTK and WPE bots since r219049
2869 https://bugs.webkit.org/show_bug.cgi?id=168171
2871 Reviewed by Chris Dumez.
2873 Implement all resource load statistics functions in TestController using the C API. Also enable the FileMonitor
2874 unit test. This test requires a platform implementation of Util::run(), so I've added UtilitiesGLib.cpp with an
2875 iplementation common to glib based ports using WTF RunLoop abstraction.
2877 * TestWebKitAPI/PlatformGTK.cmake:
2878 * TestWebKitAPI/PlatformWPE.cmake:
2879 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
2880 * TestWebKitAPI/glib/UtilitiesGLib.cpp: Copied from Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h.
2881 (TestWebKitAPI::Util::run):
2882 (TestWebKitAPI::Util::spinRunLoop):
2883 (TestWebKitAPI::Util::sleep):
2884 * TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
2885 * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
2886 * WebKitTestRunner/TestController.cpp:
2887 (WTR::TestController::platformAdjustContext):
2888 (WTR::TestController::setStatisticsLastSeen):
2889 (WTR::TestController::setStatisticsPrevalentResource):
2890 (WTR::ResourceStatisticsCallbackContext::ResourceStatisticsCallbackContext):
2891 (WTR::resourceStatisticsCallback):
2892 (WTR::TestController::isStatisticsPrevalentResource):
2893 (WTR::TestController::setStatisticsHasHadUserInteraction):
2894 (WTR::TestController::isStatisticsHasHadUserInteraction):
2895 (WTR::TestController::setStatisticsGrandfathered):
2896 (WTR::TestController::isStatisticsGrandfathered):
2897 (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
2898 (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
2899 (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
2900 (WTR::TestController::setStatisticsTimeToLiveUserInteraction):
2901 (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
2902 (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
2903 (WTR::TestController::statisticsUpdateCookiePartitioning):
2904 (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
2905 (WTR::TestController::statisticsSubmitTelemetry):
2906 (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
2907 (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
2908 (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
2909 (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
2910 (WTR::TestController::setStatisticsGrandfatheringTime):
2911 (WTR::TestController::setStatisticsMaxStatisticsEntries):
2912 (WTR::TestController::setStatisticsPruneEntriesDownTo):
2913 (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
2914 (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
2915 (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
2916 (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
2917 (WTR::TestController::statisticsResetToConsistentState):
2918 * WebKitTestRunner/TestController.h:
2920 2017-10-05 Jer Noble <jer.noble@apple.com>
2922 [Cocoa] Enable ENABLE_ENCRYPTED_MEDIA build-time setting
2923 https://bugs.webkit.org/show_bug.cgi?id=177261
2925 Reviewed by Eric Carlson.
2927 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2929 2017-10-05 Alex Christensen <achristensen@webkit.org>
2931 Add ObjC equivalent of WKPageNavigationClient.didChangeBackForwardList
2932 https://bugs.webkit.org/show_bug.cgi?id=177966
2933 <rdar://problem/22387135>
2935 Reviewed by Tim Horton.
2937 * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
2938 (-[ListItemDelegate _webView:backForwardListItemAdded:removed:]):
2939 (-[ListItemDelegate webView:didFinishNavigation:]):
2942 2017-10-04 Megan Gardner <megan_gardner@apple.com>
2944 check-webkit-style erroneously requires a space between the carrot and brace in obj-c blocks.
2945 https://bugs.webkit.org/show_bug.cgi?id=177897
2947 Reviewed by Dan Bernstein and Jonathan Bedard.
2949 Remove the check for a space between ^ and {,
2950 as this is valid and expected Obj-C. Now check to make sure there is
2951 no space at all between ^ and {, and also that there is a space between
2952 the end of an argument list and the {.
2954 * Scripts/webkitpy/style/checkers/cpp.py:
2955 (regex_for_lambdas_and_blocks):
2957 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2959 Unreviewed. Run WebKit2 C API tests in GTK+ bots again after the last WebKit2 -> WebKit rename.
2961 * Scripts/run-gtk-tests:
2963 (TestRunner._run_test):
2965 2017-10-05 Darin Adler <darin@apple.com>
2967 Remove additional WebKitSystemInterface remnants
2968 https://bugs.webkit.org/show_bug.cgi?id=177948
2970 Reviewed by Andy Estes.
2972 * DumpRenderTree/PlatformMac.cmake: Removed code to link the
2973 WebKitSystemInterface library. Left in code that points to
2974 the WebKitLibraries directory, but maybe that can be removed by
2975 someone who is more certain it's no longer needed.
2977 * Scripts/copy-webkitlibraries-to-product-directory: Removed code
2978 to copy and delete WebKitSystemInterface libraries and headers.
2980 * WebKitTestRunner/PlatformMac.cmake: Removed code to link the
2981 WebKitSystemInterface library. Left in code that points to
2982 the WebKitLibraries directory, but maybe that can be removed by
2983 someone who is more certain it's no longer needed.
2985 2017-10-05 Saam Barati <sbarati@apple.com>
2987 Unreviewed. Try to make debug type profiler tests stop timing out.
2989 * Scripts/run-jsc-stress-tests:
2991 2017-10-03 Frederic Wang <fwang@igalia.com>
2993 Remove Brotli from Source/ThirdParty
2994 https://bugs.webkit.org/show_bug.cgi?id=177804
2996 Reviewed by Michael Catanzaro.
2998 * gtk/jhbuild.modules: Build brotli 1.0.1 from the official github repository.
2999 * Scripts/webkitpy/style/checker.py: Remove brotli.
3001 2017-10-04 Alex Christensen <achristensen@webkit.org>
3003 Stop linking with WebKitSystemInterface
3004 https://bugs.webkit.org/show_bug.cgi?id=177915
3006 Reviewed by Antti Koivisto.
3008 * DumpRenderTree/mac/Configurations/Base.xcconfig:
3009 * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
3010 * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
3011 * DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
3012 * WebKitTestRunner/Configurations/Base.xcconfig:
3013 * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
3014 * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
3015 * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
3016 * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
3018 2017-10-04 Alex Christensen <achristensen@webkit.org>
3020 Remove unnecessary includes of WebKitSystemInterface on Cocoa platforms
3021 https://bugs.webkit.org/show_bug.cgi?id=177912
3023 Reviewed by Saam Barati.
3025 * DumpRenderTree/mac/DumpRenderTree.mm:
3027 2017-10-04 Megan Gardner <megan_gardner@apple.com>
3029 Break out new touch debugging code into seperate file
3030 https://bugs.webkit.org/show_bug.cgi?id=177796
3032 Reviewed by Simon Fraser.
3034 Encapsulate the new debug touch code into it's own file.
3035 This allows for cleaner code and a better way to show the touches
3036 in a completely separate window, which should also be in screen
3037 coordinates, and not subject to any transforms that get put on the
3040 * TestRunnerShared/spi/UIKitTestSPI.h:
3041 * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3042 * WebKitTestRunner/ios/HIDDebugTouchWindow.h: Added.
3043 * WebKitTestRunner/ios/HIDDebugTouchWindow.mm: Added.
3044 (+[HIDDebugTouchWindow sharedHIDDebugTouchWindow]):
3045 (-[HIDDebugTouchWindow init]):
3046 (-[HIDDebugTouchWindow dealloc]):
3047 (-[HIDDebugTouchWindow updateDebugIndicatorForTouch:withPointInWindowCoordinates:isTouching:]):
3048 (-[HIDDebugTouchWindow initDebugViewsIfNeeded]):
3049 * WebKitTestRunner/ios/HIDEventGenerator.h:
3050 * WebKitTestRunner/ios/HIDEventGenerator.mm:
3051 (-[HIDEventGenerator init]):
3052 (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
3053 (-[HIDEventGenerator _createIOHIDEventType:]):
3054 (-[HIDEventGenerator _updateTouchPoints:count:]):
3055 (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
3056 (-[HIDEventGenerator touchDown:touchCount:]):
3057 (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
3058 (-[HIDEventGenerator liftUp:touchCount:]):
3059 (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
3060 (-[HIDEventGenerator initDebugViewsIfNeeded]): Deleted.
3061 (-[HIDEventGenerator updateDebugIndicatorForTouch:withPoint:isTouching:]): Deleted.
3062 * WebKitTestRunner/ios/TestControllerIOS.mm:
3063 (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
3065 2017-10-04 JF Bastien <jfbastien@apple.com>
3067 WTF: Update std::expected to match current proposal
3068 https://bugs.webkit.org/show_bug.cgi?id=177881
3070 Reviewed by Mark Lam.
3072 The proposal is likely to be in C++20 and I've been asked to help co-champion
3073 it. I'm therefore updating our implementation to more closely match the current
3074 proposal, and to make sure it'll work for us if standardized.
3076 - Rename UnexpectedType to Unexpected to match the proposal.
3077 - Remove relational operators, only equality / inequality remains.
3078 - Fix minor type signatures.
3079 - Add UnexpectedType typedef.
3080 - Uncomment rebind implementation.
3081 - Add in-place construction tag, as well as explicit error construction tag.
3082 - Add template unexpected constructor.
3083 - Note that make_unexpected isn't in the proposal anymore, but we keep it because we don't have C++17 deduction guides.
3084 - Remove hashing, which isn't in the proposal anymore.
3086 * TestWebKitAPI/Tests/WTF/Expected.cpp:
3088 (TestWebKitAPI::TEST):
3090 2017-10-04 Lucas Forschler <lforschler@apple.com>
3092 https://bugs.webkit.org/show_bug.cgi?id=177888
3093 WebKitArchiveSupport - add API Gateway to source control
3094 This is a swagger configuration export via AWS API Gateway console.
3096 Rubber-stamped by Alexey Proskuryakov.
3098 * WebKitArchiveSupport/AWS-APIGateway: Added.
3099 * WebKitArchiveSupport/AWS-APIGateway/stage-v2.json: Added.
3101 2017-10-04 Mark Lam <mark.lam@apple.com>
3103 Add support for using Probe DFG OSR Exit behind a runtime flag.
3104 https://bugs.webkit.org/show_bug.cgi?id=177844
3105 <rdar://problem/34801425>
3107 Reviewed by Saam Barati.
3109 Enable --useProbeOSrExit=true for dfg-eager and ftl-no-cjit-validate-sampling-profiler
3110 test configurations.
3112 * Scripts/run-jsc-stress-tests:
3114 2017-10-04 Jonathan Bedard <jbedard@apple.com>
3116 webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
3117 https://bugs.webkit.org/show_bug.cgi?id=177751
3118 <rdar://problem/34769470>
3120 Reviewed by Daniel Bates.
3122 Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
3123 result. When capturing output from the MockExecutive, the first invocation of
3124 Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
3125 but subsequent invocations will not.
3127 * Scripts/webkitpy/tool/steps/steps_unittest.py:
3129 (StepsTest.setUp): Cache the build path before running tests.
3131 2017-10-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
3133 [JHBuild][GTK][WKE] Circular dependency between harfbuzz and freetype6
3134 https://bugs.webkit.org/show_bug.cgi?id=177865
3136 Reviewed by Michael Catanzaro.
3138 Build freetype6 without harfbuzz support.
3139 This seems to be what distros like Fedora, Debian or OpenEmbedded do.
3140 Also explicitly enable support for freetype and fontconfig on harfbuzz.
3142 * gtk/jhbuild.modules: Enable also support for icu.
3143 * wpe/jhbuild.modules:
3145 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
3147 [Test262] Update Test262 to Oct 4 version
3148 https://bugs.webkit.org/show_bug.cgi?id=177859
3150 Reviewed by Sam Weinig.
3152 * Scripts/import-test262-tests:
3154 2017-10-04 Ryosuke Niwa <rniwa@webkit.org>
3156 Use blob URL when pasting RTFD instead of overriding DocumentLoader
3157 https://bugs.webkit.org/show_bug.cgi?id=177801
3158 <rdar://problem/34542270>
3160 Reviewed by Wenson Hsieh.
3162 Added a regression test for an assertion failure when pasting an empty RTFD as well as a test for pasting
3163 RTFD with an image, which should result in an image element with a blob URL.
3165 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3166 * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
3167 * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
3168 * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html:
3170 2017-10-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3172 [GLib] Let WebCore know of low power situations
3173 https://bugs.webkit.org/show_bug.cgi?id=177810
3175 Reviewed by Carlos Garcia Campos.
3177 * gtk/install-dependencies: add upower-glib dev packages for Debian, Arch and Fedora.
3179 2017-10-03 Saam Barati <sbarati@apple.com>
3181 Implement polymorphic prototypes
3182 https://bugs.webkit.org/show_bug.cgi?id=176391
3184 Reviewed by Filip Pizlo.
3186 * Scripts/run-jsc-stress-tests:
3188 2017-10-03 Myles C. Maxfield <mmaxfield@apple.com>
3190 Create a SPIR-V assembler
3191 https://bugs.webkit.org/show_bug.cgi?id=177726
3193 Reviewed by Filip Pizlo.
3195 Khronos has released a json file containing every SPIR-V opcode and operand at
3196 https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/1.2/spirv.core.grammar.json
3197 This patch creates a function which loads this file (via the fetch API), parses it, and creates
3198 an object which holds two things:
3199 - For each opcode, a class which accepts the appropriate operands
3200 - For each enum type, an object which holds each enum value
3201 The constructor for each opcode is smart enough to do some basic type-checking of the argument,
3202 according to the types listed in Khronos's json file.
3204 This patch also includes an example .html file which outputs a dummy SPIR-V program,
3205 which happens to be compatible with the SPIR-V demo at
3206 https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/demos/cube.cpp
3207 If you modify this demo to use the generated SPIR-V program, you can see the result in
3210 This patch also commits a copy of Khronos's json file mentioned above. This isn't the first
3211 Khronos file we've committed into our repository with this license, so there shouldn't be any
3214 * WebGPUShadingLanguageRI/SPIR-V.js: Added.
3217 (SPIRVAssembler.prototype.append):
3218 (SPIRVAssembler.prototype.get size):
3219 (SPIRVAssembler.prototype.get storage):
3220 (SPIRVAssembler.prototype.get result):
3221 * WebGPUShadingLanguageRI/SPIRV.html: Added.
3222 * WebGPUShadingLanguageRI/spirv.core.grammar.json: Added.
3224 2017-10-03 Chris Dumez <cdumez@apple.com>
3226 SharedStringHashStore should support removing hashes
3227 https://bugs.webkit.org/show_bug.cgi?id=177770
3229 Reviewed by Alex Christensen.
3231 Add API test coverage.
3233 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3234 * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: Added.
3235 (TestWebKitAPI::TEST):
3237 2017-10-03 Dewei Zhu <dewei_zhu@apple.com>
3239 Fix missing import for BenchmarkRunner.
3240 https://bugs.webkit.org/show_bug.cgi?id=177842
3242 Reviewed by Ryosuke Niwa.
3244 'show_results' requires BenchmarkRunner.
3246 * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
3248 2017-10-03 Olivier Blin <olivier.blin@softathome.com>
3250 [WPE] Bump deps to add support for xdg-shell-unstable-v6 protocol
3251 https://bugs.webkit.org/show_bug.cgi?id=177820
3253 Reviewed by Žan Doberšek.
3255 gnome-shell does not advertize the xdg-shell protocol anymore, but xdg-shell-unstable-v6 instead.
3256 Support has been added in WPEBackend-mesa, we need to update the requirements.
3257 wayland-1.10 is needed for wl_proxy_get_version(), used in the generated headers.
3259 * wpe/jhbuild.modules:
3261 2017-10-03 Alex Christensen <achristensen@webkit.org>
3263 Add ObjC SPI equivalent to WKPageLoaderClient.willGoToBackForwardListItem
3264 https://bugs.webkit.org/show_bug.cgi?id=177825
3265 <rdar://problem/22387505>
3267 Reviewed by Tim Horton.
3269 * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
3270 (-[BackForwardDelegate _webView:willGoToBackForwardListItem:inPageCache:]):
3271 (-[BackForwardDelegate webView:didFinishNavigation:]):
3274 2017-10-03 Antti Koivisto <antti@apple.com>
3276 Allow assigning WeakPtr<Derived> to WeakPtr<Base>
3277 https://bugs.webkit.org/show_bug.cgi?id=177817
3279 Reviewed by Geoff Garen.
3281 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3282 (TestWebKitAPI::Base::weakPtrFactory):
3283 (TestWebKitAPI::TEST):
3285 2017-10-03 Youenn Fablet <youenn@apple.com>
3287 Remove no longer needed WebRTC build infrastructure
3288 https://bugs.webkit.org/show_bug.cgi?id=177756
3290 Reviewed by Alejandro G. Castro.
3292 * Scripts/generate-libwebrtc-cmake: Removed.
3293 * Scripts/webkitpy/libwebrtc/__init__.py: Removed.
3294 * Scripts/webkitpy/libwebrtc/generate_cmake.py: Removed.
3296 2017-10-03 Joanmarie Diggs <jdiggs@igalia.com>
3298 AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes
3299 https://bugs.webkit.org/show_bug.cgi?id=177763
3301 Reviewed by Chris Fleizach.
3303 Implement ariaIsGrabbed() and ariaDropEffects() for ATK.
3305 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3306 (WTR::AccessibilityUIElement::ariaIsGrabbed const):
3307 (WTR::AccessibilityUIElement::ariaDropEffects const):
3309 2017-10-02 Myles C. Maxfield <mmaxfield@apple.com>
3311 Make WSL demo compatible with Microsoft Edge
3312 https://bugs.webkit.org/show_bug.cgi?id=177643
3314 Reviewed by Saam Barati.
3316 This patch does two things. The first is it migrates a loop over ParentNode.children to a legacy style loop
3317 because Microsoft Edge throws an exception when trying to use a for...of loop with it. This patch also hides
3318 the compilation behind a setTimeout(0) so there is some indication that something is happening during a
3322 * Tools/WebGPUShadingLanguageRI/index.html:
3324 2017-10-02 Joanmarie Diggs <jdiggs@igalia.com>
3326 AX: [ATK] The value of aria-level is not exposed on non-heading roles
3327 https://bugs.webkit.org/show_bug.cgi?id=177775
3329 Reviewed by Chris Fleizach.
3331 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3332 (WTR::AccessibilityUIElement::hierarchicalLevel const):
3334 2017-10-02 Geoffrey Garen <ggaren@apple.com>
3336 WeakPtr should have a move constructor
3337 https://bugs.webkit.org/show_bug.cgi?id=177789
3339 Reviewed by Chris Dumez.
3341 Chris made me write an API test. It wasn't that painful.
3343 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3344 (TestWebKitAPI::TEST):
3346 2017-10-02 Filip Pizlo <fpizlo@apple.com>
3349 https://bugs.webkit.org/show_bug.cgi?id=177705
3351 Rubber stamped by Keith Miller.
3353 When I first wrote the prototype, I thought it would be cool to use ^ for pointers. Nobody agrees. I've
3354 gotten so much feedback to use *. This changes pointers to use *.
3356 * WebGPUShadingLanguageRI/DereferenceExpression.js:
3357 (DereferenceExpression.prototype.toString):
3358 (DereferenceExpression):
3359 * WebGPUShadingLanguageRI/Intrinsics.js:
3361 * WebGPUShadingLanguageRI/Parse.js:
3363 (parsePossiblePrefix):
3364 * WebGPUShadingLanguageRI/PtrType.js:
3365 (PtrType.prototype.toString):
3367 * WebGPUShadingLanguageRI/StandardLibrary.js:
3368 * WebGPUShadingLanguageRI/Test.js:
3369 (tests.simpleDereference):
3370 (tests.dereferenceStore):
3371 (tests.simpleMakePtr):
3375 (tests.dereferenceDefaultNull):
3376 (tests.defaultInitializedNull):
3377 (tests.passNullToPtrMonomorphic):
3378 (tests.passNullToPtrPolymorphic):
3379 (tests.passNullAndNotNull):
3380 (tests.passNullAndNotNullFullPoly):
3381 (tests.passNullAndNotNullFullPolyReverse):
3382 (tests.chainGeneric):
3383 (tests.chainStruct):
3384 (tests.chainStructNewlyValid):
3385 (tests.chainStructDevice):
3386 (tests.paramChainStructDevice):
3387 (tests.simpleProtocolExtends):
3388 (tests.protocolExtendsTwo):
3389 (tests.overrideSubscriptStruct):
3390 (tests.overrideSubscriptStructAndDoStores):
3391 (tests.overrideSubscriptStructAndUsePointers):
3392 (tests.overrideSubscriptStructAndUsePointersIncorrectly):
3393 (tests.makeArrayRefFromPointer):
3394 (tests.nonArrayRefArrayLengthFail):
3395 (tests.constexprIsNotLValuePtr):
3396 (tests.genericAccessors):
3397 (tests.nestedSubscriptLValueEmulationSimple):
3398 (tests.nestedSubscriptLValueEmulationGeneric):
3399 (tests.shaderTypes):
3400 (tests.enumPtrBase):
3401 (tests.mutuallyRecursiveStructWithPointersBroken):
3402 (tests.mutuallyRecursiveStructWithPointers):
3404 (tests.pointerToPointer):
3405 (tests.pointerGetter):
3406 (tests.operatorCastWithTypeVariableInferredFromReturnType):
3407 (tests.loneSetterPointer):
3408 (tests.anderWithNothingWrong):
3409 (tests.anderWithWrongNumberOfArguments):
3410 (tests.anderDoesntReturnPointer):
3411 (tests.anderDoesntTakeReference):
3412 (tests.anderWithArrayRef):
3413 (tests.pointerIndexGetter):
3414 (tests.loneIndexSetterPointer):
3415 (tests.indexAnderWithNothingWrong):
3416 (tests.indexAnderWithWrongNumberOfArguments):
3417 (tests.indexAnderDoesntReturnPointer):
3418 (tests.indexAnderDoesntTakeReference):
3419 (tests.indexAnderWithArrayRef):
3420 (tests.devicePtrPtr):
3421 (tests.threadgroupPtrPtr):
3422 (tests.constantPtrPtr):
3423 (tests.pointerIndexGetterInProtocol):
3424 (tests.loneIndexSetterPointerInProtocol):
3425 (tests.indexAnderWithNothingWrongInProtocol):
3426 (tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
3427 (tests.indexAnderDoesntReturnPointerInProtocol):
3428 (tests.indexAnderDoesntTakeReferenceInProtocol):
3429 (tests.indexAnderWithArrayRefInProtocol):
3430 (tests.andReturnedArrayRef):
3432 2017-10-02 Filip Pizlo <fpizlo@apple.com>
3434 WSL should be fine with &foo()[i] if foo() returns a []
3435 https://bugs.webkit.org/show_bug.cgi?id=177704
3437 Reviewed by Saam Barati.
3439 Previously, we'd determine if a property access expression (base.field or base[index]) was an lvalue by
3440 asking if its base was an lvalue. This is right in all cases except if the base is of type []. Then, the
3441 property access expression is an lvalue so long as there is a setter or ander.
3443 This fixes the issue and adds a test.
3445 Also, this makes error messages in the case that something is not an lvalue a lot better. If something
3446 is not an lvalue because we could not find anders or setters, then we will tell you why we could not
3449 * WebGPUShadingLanguageRI/Checker.js:
3450 (Checker.prototype.visitAssignment):
3451 (Checker.prototype.visitReadModifyWriteExpression):
3452 (Checker.prototype.visitMakePtrExpression):
3453 (Checker.prototype._finishVisitingPropertyAccess):
3454 * WebGPUShadingLanguageRI/DotExpression.js:
3455 (DotExpression.prototype.get fieldName):
3456 (DotExpression.prototype.get isLValue): Deleted.
3457 (DotExpression.prototype.get addressSpace): Deleted.
3458 * WebGPUShadingLanguageRI/IndexExpression.js:
3459 (IndexExpression.prototype.get index):
3460 (IndexExpression.prototype.get isLValue): Deleted.
3461 (IndexExpression.prototype.get addressSpace): Deleted.
3462 * WebGPUShadingLanguageRI/PropertyAccessExpression.js:
3463 (PropertyAccessExpression):
3464 (PropertyAccessExpression.prototype.get isLValue):
3465 (PropertyAccessExpression.prototype.set isLValue):
3466 * WebGPUShadingLanguageRI/PropertyResolver.js:
3467 (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitMakeArrayRefExpression):
3468 (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
3469 (PropertyResolver.prototype._visitRValuesWithinLValue):
3470 * WebGPUShadingLanguageRI/Test.js:
3471 (tests.storeNullArrayRef):
3472 (tests.andReturnedArrayRef):
3474 2017-10-02 Wenson Hsieh <wenson_hsieh@apple.com>
3476 Guard iOS webkitGetAsEntry API tests on older iOS versions
3478 Unreviewed test gardening. After r222688, these tests require custom pasteboard data to be enabled by default,
3479 so don't run them against shipping iOS.
3481 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3483 2017-10-02 Carlos Garcia Campos <cgarcia@igalia.com>
3485 [WPE][GTK] Crash in webkit_web_resource_get_data_finish()
3486 https://bugs.webkit.org/show_bug.cgi?id=177107
3488 Reviewed by Michael Catanzaro.
3490 Add a test case to check we handle errors when webkit_web_resource_get_data() fails.
3492 * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
3493 (webViewloadChanged):
3494 (testWebResourceGetDataError):
3497 2017-10-02 Alex Christensen <achristensen@webkit.org>
3499 Fix build after r222715
3500 https://bugs.webkit.org/show_bug.cgi?id=177697
3502 * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3504 Use the public API instead of the removed SPI.
3506 2017-10-02 Alex Christensen <achristensen@webkit.org>
3508 REGRESSION(r214201): WebProcess hangs during policy decisions
3509 https://bugs.webkit.org/show_bug.cgi?id=177590
3510 <rdar://problem/33362929>
3512 Reviewed by Andy Estes.
3514 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3515 * TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm: Added.
3516 (-[JSNavigationDelegate webView:didFinishNavigation:]):
3517 (-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3518 (-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3519 (-[JSNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3522 2017-10-02 Jonathan Bedard <jbedard@apple.com>
3524 Log stack-trace for run-webkit-tests when interrupted
3525 https://bugs.webkit.org/show_bug.cgi?id=176393
3526 <rdar://problem/34262310>
3528 Reviewed by Darin Adler.
3530 When run-webkit-tests is stuck, it is difficult to immediately tell
3531 why. Saving a stack-trace when run-webkit-tests is terminated
3532 or stopped with CNTRL-C will make such issues easier to debug.
3534 * Scripts/webkitpy/common/interupt_debugging.py: Added.
3535 (log_stack_trace): Given a Python frame object, log a stack trace to
3537 (log_stack_trace_on_term): Attach a listener to SIGTERM so that a
3538 stack-trace can be logged when a program is terminated.
3539 (log_stack_trace_on_cntrl_c): Attach a listener to SIGINT so that a
3540 stack-trace can be logged when a program is CNTRL-Ced.
3541 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3542 (main): Set handlers to log stack trace on interruption.
3544 2017-10-02 Michael Catanzaro <mcatanzaro@igalia.com>
3546 Remove ENABLE_CSS_REGIONS
3547 https://bugs.webkit.org/show_bug.cgi?id=177689
3549 Reviewed by Darin Adler.
3551 * Scripts/webkitperl/FeatureList.pm:
3553 2017-09-30 Carlos Garcia Campos <cgarcia@igalia.com>
3555 Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.
3557 This version upgrades liberation fonts to version 2, that has a wider glyph coverage.
3559 * gtk/jhbuild.modules:
3561 2017-09-29 Alex Christensen <achristensen@webkit.org>
3563 Expose WebPreferences::webGLEnabled through WKPreferences
3564 https://bugs.webkit.org/show_bug.cgi?id=177692
3565 <rdar://problem/24110556>
3567 Reviewed by Andy Estes.
3569 * TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
3570 (-[AlertSaver alert]):
3571 (-[AlertSaver webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3574 2017-09-29 Alex Christensen <achristensen@webkit.org>
3576 Fix WKWebViewConfigurationPrivate after r222663
3577 https://bugs.webkit.org/show_bug.cgi?id=177644
3579 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3580 * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm: Added.
3583 2017-09-28 Ryosuke Niwa <rniwa@webkit.org>
3585 Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items
3586 https://bugs.webkit.org/show_bug.cgi?id=170449
3587 <rdar://problem/31432525>
3589 Reviewed by Wenson Hsieh.
3591 Added an API test to paste an image from pasteboard. The test is shared between iOS and macOS.
3593 The tests to paste image files are only enabled on macOS since putting files into pasteboard isn't a thing on iOS.
3595 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3596 * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: Added.
3597 (writeImageDataToPasteboard):
3598 (writeBundleFileToPasteboard):
3599 * TestWebKitAPI/Tests/WebKitCocoa/paste-image.html: Added.
3600 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-100px.tiff: Added.
3601 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-200px.png: Added.
3602 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-400px.gif: Added.
3603 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-600px.jpg: Added.
3604 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Rebaselined the test now that types contain "Files".
3606 2017-09-29 Wenson Hsieh <wenson_hsieh@apple.com>
3608 [iOS WK2] Implement -[WKContentView hasText] for compatibility with the UITextInput protocol