1 2017-11-07 Aakash Jain <aakash_jain@apple.com>
3 Add support for webkitpy tests EWS
4 https://bugs.webkit.org/show_bug.cgi?id=178480
6 Reviewed by Alexey Proskuryakov.
8 * Scripts/webkitpy/common/config/ews.json: Added webkitpy EWS.
9 * Scripts/webkitpy/common/net/generictestresults.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults.py.
10 * Scripts/webkitpy/common/net/generictestresults_unittest.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults_unittest.py.
11 * Scripts/webkitpy/tool/bot/patchanalysistask.py:
12 (PatchAnalysisTask._test_patch): Do not retry webkitpy test since they are not flaky.
13 * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Updated import for BindingsTestResult.
14 * Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Ditto.
15 * Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Copied from Scripts/webkitpy/tool/bot/bindingstestresultsreader.py.
16 * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
17 (AbstractEarlyWarningSystem.begin_work_queue): Added webkitpy test result reader.
18 * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
19 * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Run webkitpy EWS only for relevant changes.
20 * Scripts/webkitpy/tool/steps/runtests.py:
21 (RunTests.run): Run webkitpy tests when --group=webkitpy is passed.
22 (RunTests._run_webkitpy_tests): Method to invoke webkitpy tests.
23 * Scripts/webkitpy/tool/steps/steps_unittest.py:
24 (test_runtests_webkitpy): Added unit-test.
26 2017-11-07 Commit Queue <commit-queue@webkit.org>
28 Unreviewed, rolling out r224512 and r224521.
29 https://bugs.webkit.org/show_bug.cgi?id=179388
31 An API test added with this change is failing an assertion on
32 the bots. (Requested by ryanhaddad on #webkit).
36 "[Attachment Support] Implement delegate hooks for attachment
37 element insertion and removal"
38 https://bugs.webkit.org/show_bug.cgi?id=179016
39 https://trac.webkit.org/changeset/224512
41 "Remove stray logging from a newly added API test"
42 https://trac.webkit.org/changeset/224521
44 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
46 Remove stray logging from a newly added API test
48 This was only for debugging purposes, and should have been removed before landing.
50 Rubber-stamped by Tim Horton.
52 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
53 (TestWebKitAPI::TEST):
55 2017-11-06 Jonathan Bedard <jbedard@apple.com>
57 Only build ImageDiff for mac
58 https://bugs.webkit.org/show_bug.cgi?id=179349
59 <rdar://problem/35376237>
61 Reviewed by Tim Horton.
65 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
67 Unreviewed, fix the internal build after updating to a newer SDK
69 There shouldn't be any need to include and implement these method stubs anymore,
70 even when building against the shipping iOS 11 SDK.
72 * TestWebKitAPI/ios/DataInteractionSimulator.mm:
73 (-[MockDropSession session]): Deleted.
75 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
77 [Attachment Support] Implement delegate hooks for attachment element insertion and removal
78 https://bugs.webkit.org/show_bug.cgi?id=179016
79 <rdar://problem/35250890>
81 Reviewed by Tim Horton.
83 Introduces new API tests to check that various editing operations will or won't result in the new attachment
84 insertion and removal delegate hooks being fired. Additionally refactors an existing test to verify that
85 attachments insertion and removal is observable by the UI delegate.
87 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
88 (-[AttachmentUpdateObserver init]):
89 (-[AttachmentUpdateObserver inserted]):
90 (-[AttachmentUpdateObserver removed]):
91 (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
92 (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
93 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
94 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
95 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
97 Implement a testing mechanism to temporarily bind a UI delegate to a given WKWebView and listen for inserted or
98 removed attachments over the course of a particular scope. The API tests use this mechanism to check that the UI
99 delegate hooks added in this patch are invoked with the right attachments when performing edit commands.
101 (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
102 (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
103 (TestWebKitAPI::TEST):
105 2017-11-06 Christopher Reid <chris.reid@sony.com>
107 Use enum classes within FileSystem
108 https://bugs.webkit.org/show_bug.cgi?id=175172
110 Reviewed by Myles C. Maxfield.
112 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
113 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
115 2017-11-06 Michael Catanzaro <mcatanzaro@igalia.com>
117 [WPE] -Wsign-compare warning in EventSenderProxyWPE.cpp
118 https://bugs.webkit.org/show_bug.cgi?id=179039
120 Reviewed by Žan Doberšek.
122 * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
123 (WTR::EventSenderProxy::updateTouchPoint):
124 (WTR::EventSenderProxy::releaseTouchPoint):
126 2017-11-06 Robin Morisset <rmorisset@apple.com>
128 Add a third benchmark to TailBench
129 https://bugs.webkit.org/show_bug.cgi?id=178815
131 Reviewed by Saam Barati.
133 Add a new benchmark to TailBench: a BF interpreter written in a weird kinda functional style
135 * Scripts/run-jsc-benchmarks:
137 2017-11-04 Michael Catanzaro <mcatanzaro@igalia.com>
139 [GTK] Fix gtk-doc generation with gtk-doc master
140 https://bugs.webkit.org/show_bug.cgi?id=179252
142 Reviewed by Carlos Garcia Campos.
144 gtkdoc-scangobj has changed to no longer use a shell when executing its subcommands. In
145 particular, this means we can no longer rely on shell stuff in our run command that we use
146 to run the scanner. We currently use the RUN envvar to set LD_LIBRARY_PATH, and the end
147 result is gtkdoc-scangobj now attempts to execute our environment variable instead of the
148 scanner itself. We can just set LD_LIBRARY_PATH directly, instead of using RUN, in order to
149 make documentation generation work again.
152 (GTKDoc._run_gtkdoc_scangobj):
154 2017-11-04 Aishwarya Nirmal <anirmal@apple.com>
156 [Touch Bar Web API] Add support for menuitem tag
157 https://bugs.webkit.org/show_bug.cgi?id=179020
159 Reviewed by Ryosuke Niwa.
161 Defines flags for the menu item test so that the element is recognized
162 only while its test is being run.
164 * DumpRenderTree/TestOptions.h:
165 * DumpRenderTree/TestOptions.mm:
166 (TestOptions::TestOptions):
167 * DumpRenderTree/mac/DumpRenderTree.mm:
168 (setWebPreferencesForTestOptions):
169 * WebKitTestRunner/TestController.cpp:
170 (WTR::TestController::resetPreferencesToConsistentValues):
171 (WTR::updateTestOptionsFromTestHeader):
172 * WebKitTestRunner/TestOptions.h:
173 (WTR::TestOptions::hasSameInitializationOptions const):
175 2017-11-03 Andy Estes <aestes@apple.com>
177 [iOS] Append the platform name to the product directory on all embedded platforms
178 https://bugs.webkit.org/show_bug.cgi?id=179271
180 Reviewed by Joseph Pecoraro.
182 * Scripts/webkitdirs.pm:
183 (determineConfigurationProductDir):
185 2017-11-03 Basuke Suzuki <Basuke.Suzuki@sony.com>
187 [WinCairo] Add --wincairo option to run-webkit-tests
188 https://bugs.webkit.org/show_bug.cgi?id=179217
190 Reviewed by Alex Christensen.
192 * Scripts/webkitpy/port/factory.py:
195 2017-11-03 Michael Catanzaro <mcatanzaro@igalia.com>
197 [WPE][GTK] Avoid duplicating code for dist and distcheck targets
198 https://bugs.webkit.org/show_bug.cgi?id=179154
200 Reviewed by Carlos Garcia Campos.
202 Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
203 prefix because it is executable.
205 * Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
207 2017-11-03 Jonathan Bedard <jbedard@apple.com>
209 TestController platformAdjustContext should use provided WKContext for Mac
210 https://bugs.webkit.org/show_bug.cgi?id=179124
211 <rdar://problem/35295176>
213 Reviewed by Darin Adler.
215 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
216 (WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
217 a WebProcessPool, instead of creating a second one.
219 2017-11-02 Christopher Reid <chris.reid@sony.com>
221 Add a FileSystem namespace to FileSystem.cpp
222 https://bugs.webkit.org/show_bug.cgi?id=179063
224 Reviewed by Darin Adler.
226 * DumpRenderTree/win/DumpRenderTree.cpp:
227 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
228 * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
229 * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
230 * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
231 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
232 * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
234 2017-11-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
236 [WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
237 https://bugs.webkit.org/show_bug.cgi?id=179169
239 Reviewed by Michael Catanzaro.
241 Update WPEBackend and WPEBackend-mesa to last master as of today.
243 * wpe/jhbuild.modules:
245 2017-11-02 Frederic Wang <fwang@igalia.com>
247 Add references to bug 179167 in FIXME comments
248 https://bugs.webkit.org/show_bug.cgi?id=179168
250 Reviewed by Daniel Bates.
252 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
254 2017-11-01 Jeremy Jones <jeremyj@apple.com>
256 Implement WKFullscreenWindowController for iOS.
257 https://bugs.webkit.org/show_bug.cgi?id=178924
258 rdar://problem/34697120
260 Reviewed by Simon Fraser.
262 Enable ENABLE_FULLSCREEN_API for iOS.
264 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
266 2017-11-01 Simon Fraser <simon.fraser@apple.com>
268 Misc display list and other cleanup
269 https://bugs.webkit.org/show_bug.cgi?id=179150
271 Reviewed by Tim Horton.
273 Add system trace points for display list recording.
275 * Tracing/SystemTracePoints.plist:
277 2017-11-01 Stephan Szabo <stephan.szabo@sony.com>
279 [Win] Detect Visual Studio 2017 location
280 https://bugs.webkit.org/show_bug.cgi?id=175275
282 Reviewed by Yusuke Suzuki.
285 * Scripts/build-webkit:
286 * Scripts/update-vswhere.py: Added.
287 * Scripts/webkitdirs.pm:
288 (requireModulesForVSWhere):
289 (pickCurrentVisualStudioInstallation):
290 (pickLegacyVisualStudioInstallation):
291 (visualStudioInstallDir):
292 (visualStudioInstallDirVSWhere):
293 (visualStudioInstallDirLegacy):
294 (visualStudioInstallDirFallback):
296 (visualStudioVersion):
297 (visualStudioVersionFromInstallDir):
298 (generateBuildSystemFromCMakeProject):
300 2017-11-01 Tim Horton <timothy_horton@apple.com>
302 Fix the !USE(QUICKLOOK) build
303 https://bugs.webkit.org/show_bug.cgi?id=179128
305 Reviewed by Wenson Hsieh.
307 * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
309 2017-11-01 Frederic Wang <fwang@igalia.com>
311 Make iOS Find UI reveal matches in scrollable elements
312 https://bugs.webkit.org/show_bug.cgi?id=178789
314 Reviewed by Tim Horton.
316 This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
318 * DumpRenderTree/ios/UIScriptControllerIOS.mm:
319 (WTR::UIScriptController::findString): Dummy implementation of findString.
320 * DumpRenderTree/mac/UIScriptControllerMac.mm:
321 (WTR::UIScriptController::findString): Ditto.
322 * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
323 * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
324 (WTR::UIScriptController::findString): Dummy implementation of findString.
325 * TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
326 * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
327 (WTR::UIScriptController::findString): Implement findString by forwarding the call to the
329 * WebKitTestRunner/mac/UIScriptControllerMac.mm:
330 (WTR::UIScriptController::findString): Dummy implementation of findString.
332 2017-11-01 Alex Christensen <achristensen@webkit.org>
334 Add a test for _WKInputDelegate.willSubmitFormValues
335 https://bugs.webkit.org/show_bug.cgi?id=179086
337 Reviewed by Darin Adler.
339 Hidden input types are not included in this submission because FormSubmission::create ignores them
340 because input.isTextField() returns false. This is existing behavior that wasn't shown by a test.
341 HTTPBodies are also not sent to WKURLSchemeHandlers. This is existing behavior that wasn't shown by a test.
343 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
344 * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
345 (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
348 2017-10-31 Ross Kirsling <ross.kirsling@sony.com>
350 Web Inspector: Add Inspector menu items to Mac MiniBrowser
351 https://bugs.webkit.org/show_bug.cgi?id=65218
353 Reviewed by Joseph Pecoraro.
355 Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
356 Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.
358 * MiniBrowser/mac/BrowserWindowController.h:
359 * MiniBrowser/mac/BrowserWindowController.m:
360 (-[BrowserWindowController showHideWebInspector:]):
361 * MiniBrowser/mac/MainMenu.xib:
362 * MiniBrowser/mac/WK1BrowserWindowController.m:
363 (-[WK1BrowserWindowController validateMenuItem:]):
364 (-[WK1BrowserWindowController showHideWebInspector:]):
365 * MiniBrowser/mac/WK2BrowserWindowController.m:
366 (-[WK2BrowserWindowController validateMenuItem:]):
367 (-[WK2BrowserWindowController showHideWebInspector:]):
369 2017-10-31 Alex Christensen <achristensen@webkit.org>
371 Use asynchronous ResourceHandleClient calls for WebKit1
372 https://bugs.webkit.org/show_bug.cgi?id=160677
374 Reviewed by Brady Eidson.
376 * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
377 (TestWebKitAPI::TEST):
378 The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
379 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.
381 2017-10-31 Commit Queue <commit-queue@webkit.org>
383 Unreviewed, rolling out r224143.
384 https://bugs.webkit.org/show_bug.cgi?id=179091
386 The patch requires non-standard perl modules in macOS and
387 breaks AWFY (Requested by yusukesuzuki on #webkit).
391 "[Win] Detect Visual Studio 2017 location"
392 https://bugs.webkit.org/show_bug.cgi?id=175275
393 https://trac.webkit.org/changeset/224143
395 2017-10-31 Tim Horton <timothy_horton@apple.com>
397 Clean up some drag and drop feature flags
398 https://bugs.webkit.org/show_bug.cgi?id=179082
400 Reviewed by Simon Fraser.
402 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
403 * TestWebKitAPI/ios/UIKitSPI.h:
405 2017-10-31 Tim Horton <timothy_horton@apple.com>
407 Fix up some content filtering feature flags
408 https://bugs.webkit.org/show_bug.cgi?id=179079
410 Reviewed by Simon Fraser.
412 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
413 * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
414 (-[MockContentFilterEnabler initWithCoder:]):
415 (-[MockContentFilterEnabler dealloc]):
417 2017-10-31 Youenn Fablet <youenn@apple.com>
419 rwt should allow service worker to load localhost HTTPS resources with any certificate
420 https://bugs.webkit.org/show_bug.cgi?id=179018
422 Reviewed by Chris Dumez.
424 * WebKitTestRunner/TestController.cpp:
425 (WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.
427 2017-10-31 Wenson Hsieh <wenson_hsieh@apple.com>
429 [Attachment Support] Implement WKWebView SPI for inserting attachment elements
430 https://bugs.webkit.org/show_bug.cgi?id=179013
431 <rdar://problem/35249668>
433 Reviewed by Tim Horton.
435 Adds a new API test suite to exercise attachment element insertion and manipulation.
437 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
438 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.
439 (webViewForTestingAttachments):
442 (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
443 (-[TestWKWebView valueOfAttribute:forQuerySelector:]):
444 (TestWebKitAPI::TEST):
446 2017-10-31 Alex Christensen <achristensen@webkit.org>
448 Fix custom header field setting with reloads and asynchronous navigation action policy decisions
449 https://bugs.webkit.org/show_bug.cgi?id=179064
451 Reviewed by Tim Horton.
453 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
454 (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
457 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
459 WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
460 https://bugs.webkit.org/show_bug.cgi?id=176719
462 Reviewed by Chris Dumez.
464 Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
465 sourceFrame parameters when the target frame of the form submission is not the source frame.
467 * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
468 (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
469 * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:
470 (TestWebKitAPI::willSendSubmitEvent):
471 * TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
473 2017-10-30 Alex Christensen <achristensen@webkit.org>
475 ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
476 https://bugs.webkit.org/show_bug.cgi?id=178861
478 Reviewed by Tim Horton.
480 * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
481 (TestWebKitAPI::TEST_F):
483 2017-10-30 Commit Queue <commit-queue@webkit.org>
485 Unreviewed, rolling out r224078.
486 https://bugs.webkit.org/show_bug.cgi?id=179026
488 MotionMark regression (Requested by shallawa on #webkit).
492 "When navigating back to a page, compositing layers may not
493 use accelerated drawing"
494 https://bugs.webkit.org/show_bug.cgi?id=178749
495 https://trac.webkit.org/changeset/224078
497 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
499 [WPE] Fix build warnings
500 https://bugs.webkit.org/show_bug.cgi?id=178899
502 Reviewed by Carlos Alberto Lopez Perez.
504 * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
505 (testContextMenuDownloadActions):
508 * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
509 * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
510 (testWebViewJavaScriptDialogs):
511 * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
512 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
513 * WebKitTestRunner/PlatformWPE.cmake:
514 * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
515 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
516 (WTR::threadDefaultContext): Deleted.
518 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
520 [WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
521 https://bugs.webkit.org/show_bug.cgi?id=178898
523 Reviewed by Žan Doberšek.
525 This patch seems to be unused.
527 * wpe/jhbuild.modules:
528 * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
530 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
532 [WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
533 https://bugs.webkit.org/show_bug.cgi?id=178964
535 Reviewed by Carlos Alberto Lopez Perez.
537 * TestWebKitAPI/PlatformWPE.cmake:
539 2017-10-12 Frederic Wang <fwang@igalia.com>
541 Remove support for running safari on the iOS simulator with Xcode < 9.0
542 https://bugs.webkit.org/show_bug.cgi?id=178203
544 Reviewed by Alexey Proskuryakov.
546 This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
547 and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
548 special case to calculate the iOS simulator applications path for these old versions.
550 * Scripts/webkitdirs.pm:
551 (iosSimulatorApplicationsPath): Remove special case for XCode < 9.0
553 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
555 [WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
556 https://bugs.webkit.org/show_bug.cgi?id=168219
558 Reviewed by Ryosuke Niwa.
562 * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
563 (testWebViewEditorCutCopyPasteNonEditable):
564 (testWebViewEditorCutCopyPasteEditable):
565 (testWebViewEditorSelectAllNonEditable):
566 (testWebViewEditorSelectAllEditable):
567 (loadContentsAndTryToCutSelection):
568 (testWebViewEditorNonEditable):
569 (testWebViewEditorEditorStateTypingAttributes):
570 (testWebViewEditorInsertImage):
571 (testWebViewEditorCreateLink):
573 2017-10-28 Michael Catanzaro <mcatanzaro@igalia.com>
575 [WPE] Build gst-plugins-base without pango support
576 https://bugs.webkit.org/show_bug.cgi?id=178918
578 Reviewed by Carlos Garcia Campos.
580 We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
581 conditions so we can make platform-specific changes in the shared GStreamer moduleset.
583 * gstreamer/jhbuild.modules:
587 2017-10-27 Stephan Szabo <stephan.szabo@sony.com>
589 [Win] Detect Visual Studio 2017 location
590 https://bugs.webkit.org/show_bug.cgi?id=175275
592 Reviewed by Per Arne Vollan.
595 * Scripts/build-webkit:
596 * Scripts/update-vswhere.py: Added.
597 * Scripts/webkitdirs.pm:
598 (pickCurrentVisualStudioInstallation):
599 (pickLegacyVisualStudioInstallation):
600 (visualStudioInstallDir):
601 (visualStudioInstallDirVSWhere):
602 (visualStudioInstallDirLegacy):
603 (visualStudioInstallDirFallback):
605 (visualStudioVersion):
606 (visualStudioVersionFromInstallDir):
607 (generateBuildSystemFromCMakeProject):
609 2017-10-27 Devin Rousso <webkit@devinrousso.com>
611 Create watchlist for files related WebInspector Recording
612 https://bugs.webkit.org/show_bug.cgi?id=178965
614 Reviewed by Joseph Pecoraro.
616 * Scripts/webkitpy/common/config/watchlist:
618 2017-10-27 Jonathan Bedard <jbedard@apple.com>
620 Windows and WebViews are retained after re-configure
621 https://bugs.webkit.org/show_bug.cgi?id=178902
622 <rdar://problem/35211518>
624 Reviewed by Alexey Proskuryakov.
626 The test runner effectively leaks windows every time a test changes configuration.
627 We give each test it's own AutoreleasePool to fix this problem.
629 * WebKitTestRunner/TestController.cpp:
630 (WTR::TestController::runTest): Add an AutoRelease pool scoping a test run
631 so that when a configuration changes, the old window and WebView are released.
633 2017-10-27 Eric Carlson <eric.carlson@apple.com>
635 NowPlayingInfo should contain a unique identifier
636 https://bugs.webkit.org/show_bug.cgi?id=178872
637 <rdar://problem/34924012>
639 Unreviewed, fix a flakey test.
641 * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
642 (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Update _lastUpdatedElapsedTime.
643 (-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]): Deleted.
645 2017-10-27 Fujii Hironori <Hironori.Fujii@sony.com>
647 autoinstall can't download from http://pypi.python.org
648 https://bugs.webkit.org/show_bug.cgi?id=178925
650 Reviewed by Ryosuke Niwa.
652 The web server pypi.python.org rejects non secure http.
654 * Scripts/webkitpy/thirdparty/__init__.py:
655 (AutoinstallImportHook._install_mechanize): Use https instead of http.
656 (AutoinstallImportHook._install_pep8): Ditto.
657 (AutoinstallImportHook._install_pylint): Ditto.
658 (AutoinstallImportHook._install_buildbot): Ditto.
659 (AutoinstallImportHook._install_coverage): Ditto.
661 2017-10-26 Fujii Hironori <Hironori.Fujii@sony.com>
663 [GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
664 https://bugs.webkit.org/show_bug.cgi?id=178854
666 Reviewed by Michael Catanzaro.
668 * Scripts/webkitpy/port/base.py:
669 (Port._debian_php_version): Return "-php7.1" if libphp7.1.so found.
670 (Port._is_debian_php_version_7): Deleted.
671 * gtk/install-dependencies: Install libapache2-mod-php instead of libapache2-mod-php7.0.
672 * wpe/install-dependencies: Ditto.
674 2017-10-25 Simon Fraser <simon.fraser@apple.com>
676 When navigating back to a page, compositing layers may not use accelerated drawing
677 https://bugs.webkit.org/show_bug.cgi?id=178749
678 rdar://problem/35158946
680 Reviewed by Dean Jackson.
682 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
683 and use it to set the state of the web view.
685 * DumpRenderTree/TestOptions.h:
686 * DumpRenderTree/TestOptions.mm:
687 (TestOptions::TestOptions):
688 * DumpRenderTree/mac/DumpRenderTree.mm:
689 (setWebPreferencesForTestOptions):
690 * WebKitTestRunner/TestController.cpp:
691 (WTR::TestController::resetPreferencesToConsistentValues):
692 (WTR::updateTestOptionsFromTestHeader):
693 * WebKitTestRunner/TestOptions.h:
694 (WTR::TestOptions::hasSameInitializationOptions const):
696 2017-10-26 Alex Christensen <achristensen@webkit.org>
698 Move WKWebViewConfiguration validation to WKWebView construction
699 https://bugs.webkit.org/show_bug.cgi?id=178840
701 Reviewed by Tim Horton.
703 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
704 * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Added.
707 2017-10-26 Myles C. Maxfield <mmaxfield@apple.com>
709 Demonstrate a possible structure of the WebGPU API
710 https://bugs.webkit.org/show_bug.cgi?id=178874
712 Reviewed by Dean Jackson.
714 Over the past few weeks, we've been putting together an example showing that a WebGPU API
715 which has implicit barriers can work on all three low-level graphics APIs. We've implemented
716 it on top of Vulkan first, because this is the API which has the strictest requirements and
717 is most difficult to use.
719 With this API, this is a valid WebGPU snippet:
721 auto device = WebGPU::Device::create(hInstance, hWnd);
722 auto& commandQueue = device->getCommandQueue();
723 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { }, nullptr);
725 … later, in the draw() function …
727 auto renderPass = commandQueue->createRenderPass(nullptr);
728 renderPass->setRenderState(renderState);
729 renderPass->setViewport(0, 0, width, height);
730 renderPass->setScissorRect(0, 0, width, height);
732 commandQueue->commitRenderPass(std::move(renderPass));
733 commandQueue->present();
735 This snippet doesn’t hook up any vertex attributes or resources, which means the vertex
736 shader has to say something like ({vec4(…), vec4(…), vec4(…)})[gl_VertexIndex]. It also
737 passes in “nullptr” when creating the render pass, which means “render to the screen, rather
738 than to a frame buffer.” You can also see that it doesn’t attach any resources to the draw
741 In Direct3D 12 and Vulkan, resources are bound in sets, rather than individually. For
742 example, a set might contain two uniform buffers, a texture, and another uniform buffer. At
743 draw time, you swap in whole sets of resources with a single call. A shader invocation can
744 access a collection of sets. Because all shader resource accesses are indirected through
745 these sets, the shape of these sets needs to be supplied at the time you compile the render
746 state. Here is a snippet which bounds a single set which contains a uniform buffer and a
749 auto buffer = device->getBuffer(bufferInitialContents);
750 auto texture = device->getTexture(buffer width, height, WebGPU::PixelFormat::RGBA8, textureInitialContents);
751 // One resource set, which holds a single uniform buffer object and a single texture
752 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { { WebGPU::ResourceType::UniformBufferObject, WebGPU::ResourceType::Texture } }, nullptr);
754 … later, in the draw() function …
756 auto renderPass = commandQueue->createRenderPass(nullptr);
757 renderPass->setRenderState(renderState);
758 renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()), WebGPU::TextureReference(texture.get()) });
761 commandQueue->commitRenderPass(std::move(renderPass));
762 commandQueue->present();
764 The first argument to the setResources() call identifies which set to populate with the supplied resources.
766 One tenant of the low-level graphics APIs is that, if you’ve enabled double buffering (or
767 triple buffering), the GPU is executing one frame at the same time you are recording the
768 next frame. This often means that you need duplicate resources so the CPU and GPU don’t step
769 on each other’s toes. However, platforms have platform-specific requirements about whether
770 or not they can be double / triple buffered, and we don’t want to expose this to the Web for
771 fear of badly-authored programs.
773 To solve this, resources are reference counted, and the return type of getBuffer() is an
774 RAII type called BufferHolder which increments and decrements the reference count
775 automatically. The reference count is also incremented and decremented when the GPU is using
776 the resource in a Pass. When the reference count reaches 0, the resource isn’t destroyed;
777 instead, it’s simply moved to a “free list” which getBuffer() may pull from. Therefore,
778 applications don’t need to know whether the frame buffer is double buffered or triple
779 buffered; they can just getBuffer() each frame, and the correct number of buffers will be
780 created and recycled.
783 auto buffer = device->getBuffer(bufferSize); // These get recycled
784 … populate the buffer …
785 auto renderPass = commandQueue->createRenderPass(nullptr);
786 renderPass->setRenderState(renderState);
787 renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()) });
790 commandQueue->commitRenderPass(std::move(renderPass));
792 commandQueue->present();
794 In Direct3D and Vulkan, vertex buffers and index buffers are not part of the resource sets
795 mentioned above. Instead, you tell the render state about the shape of the vertex and index
796 buffers, and you swap them out independently in the draw loop. Metal and Vulkan have almost
797 identical API to specify this shape of the vertex buffers, so I’ve mostly copied it. In this
798 example, we have two vertex attributes, a vec2 and a vec3, which both come from the same
801 // { Attribute format, offset within stride, buffer to pull from }
802 std::vector<WebGPU::RenderState::VertexAttribute> vertexAttributes = { {WebGPU::RenderState::VertexFormat::Float2, 0, 0}, {WebGPU::RenderState::VertexFormat::Float3, sizeof(float) * 2, 0} };
803 // A single vertex buffer, with a stride of 5 floats
804 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { sizeof(float) * 5 }, vertexAttributes, resourceTypes, nullptr);
806 … later, in the draw() function …
808 auto renderPass = commandQueue->createRenderPass(nullptr);
809 renderPass->setRenderState(renderState);
810 renderPass->setVertexAttributeBuffers({ vertexBuffer.get() }); // The one vertex buffer which both attributes pull from
811 renderPass->setResources(…);
814 commandQueue->commitRenderPass(std::move(renderPass));
815 commandQueue->present();
817 You can also tell the RenderState about how many render targets you have and their formats,
818 and then when you create the RenderPass, you specify the specific textures you want to
821 std::vector<WebGPU::PixelFormat> colorPixelFormats = { WebGPU::PixelFormat::RGBA8, WebGPU::PixelFormat::RGBA8 }; // Two render targets, with these formats
822 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", vertexBufferStrides, vertexAttributes, resourceTypes, &colorPixelFormats);
824 … later, in the draw() function …
826 std::vector<std::reference_wrapper<WebGPU::Texture>> destinationTextures = { texture1->get(), texture2->get() };
827 auto renderPass = commandQueue->createRenderPass(&destinationTextures);
828 renderPass->setRenderState(renderState);
831 commandQueue->commitRenderPass(std::move(renderPass));
833 // Now, draw one of the textures to the screen. Note that no synchronization is necessary here!
834 auto renderPass = commandQueue->createRenderPass(nullptr);
835 renderPass->setRenderState(renderState2);
836 renderPass->setResources(0, { WebGPU:: TextureReference(texture1.get()) });
839 commandQueue->commitRenderPass(std::move(renderPass));
840 commandQueue->present();
842 Just like how in Metal has Render Encoders and Compute Encoders, WebGPU has RenderPasses
845 auto& computeState = device->getComputeState(computeShader, "main", resourceTypes);
847 auto computePass = commandQueue->createComputePass();
848 computePass->setComputeState(computeState);
849 computePass->setResources(0, resources);
850 computePass->dispatch(width, height, depth);
851 commandQueue->commitComputePass(std::move(computePass));
853 // Now, draw the resources we just computed. Note that no synchronization is necessary here!
854 auto renderPass = commandQueue->createRenderPass(nullptr);
855 renderPass->setRenderState(renderState);
856 renderPass->setResources(0, resources });
859 commandQueue->commitRenderPass(std::move(renderPass));
860 commandQueue->present();
862 There are also two other types of passes: one that corresponds to a Metal blit encoder, and
863 one that allows the CPU to change the contents of GPU buffers and textures. This last kind
864 of pass is a little interesting: you can’t just change the contents of a buffer at any time
865 you feel like it, because that resource might be in use by the GPU. Therefore, we need to do
866 the same kind of synchronization that we already do at render pass boundaries.
868 In addition, both Vulkan and Direct3D have a concept of a memory heap. A resource might
869 exist inside a heap which is fast, but invisible from the CPU, or in a heap which is slow,
870 but visible by the CPU. Certain operations are not possible from some types of images (e.g.
871 non-tiled textures may not be able to be sampled from). The usual way to get around this
872 problem is to have two resources: a slow staging resource which the CPU can see, and a fast
873 resource which the CPU can’t see. Uploading data is a two-pass algorithm, where the CPU
874 memcpy()s into the slow staging resource, and then a blit command is enqueued on the GPU to
875 copy the contents of the staging resource to the real resource. This requires that the
876 upload have access to the commandQueue so it can possibly enqueue a blit between the staging
877 and real resources. Therefore, a pass is the right level of abstraction for these facilities.
879 std::queue<boost::unique_future<std::vector<uint8_t>>> futureQueue; // Promises for data downloads from the GPU
881 … later, in the draw() function …
883 // See if any of the previously-enqueued downloads are finished
884 while (!futureQueue.empty() && futureQueue.front(). has_value()) {
885 std::vector<uint8_t>& data = futureQueue.front().get();
886 // Use the downloaded data
890 auto hostAccessPass = commandQueue->createHostAccessPass();
891 hostAccessPass->overwriteBuffer(buffer->get(), bufferContents); // Upload data to a resource
893 futureQueue.emplace(hostAccessPass->getBufferContents(buffer->get()));
894 commandQueue->commitHostAccessPass(std::move(hostAccessPass));
896 You can also issue copy commands between resources entirely on the GPU:
898 auto blitPass = commandQueue->createBlitPass();
899 blitPass->copyTexture(source->get(), destination->get(), sourceX, sourceY, destinationX, destinationY, width, height);
900 commandQueue->commitBlitPass(std::move(blitPass));
902 * Scripts/webkitpy/style/checker.py:
903 * WebGPUAPIStructure/Example/Example.cpp: Added.
910 * WebGPUAPIStructure/Example/Example.h: Added.
911 * WebGPUAPIStructure/Example/Example.ico: Added.
912 * WebGPUAPIStructure/Example/Example.rc: Added.
913 * WebGPUAPIStructure/Example/Example.vcxproj: Added.
914 * WebGPUAPIStructure/Example/Example.vcxproj.filters: Added.
915 * WebGPUAPIStructure/Example/Example.vcxproj.user: Added.
916 * WebGPUAPIStructure/Example/resource.h: Added.
917 * WebGPUAPIStructure/Example/small.ico: Added.
918 * WebGPUAPIStructure/Example/stdafx.cpp: Added.
919 * WebGPUAPIStructure/Example/stdafx.h: Added.
920 * WebGPUAPIStructure/Example/targetver.h: Added.
921 * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Added.
922 * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Added.
923 * WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Added.
924 (WebGPU::BufferHolder::BufferHolder):
925 (WebGPU::BufferHolder::~BufferHolder):
926 (WebGPU::TextureHolder::TextureHolder):
927 (WebGPU::TextureHolder::~TextureHolder):
928 (WebGPU::SamplerHolder::SamplerHolder):
929 (WebGPU::SamplerHolder::~SamplerHolder):
930 * WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Added.
931 (WebGPU::Queue::~Queue):
932 (WebGPU::RenderState::~RenderState):
933 (WebGPU::ComputeState::~ComputeState):
934 (WebGPU::Buffer::~Buffer):
935 (WebGPU::Texture::~Texture):
936 (WebGPU::Sampler::~Sampler):
937 (WebGPU::TextureReference::TextureReference):
938 (WebGPU::TextureReference::get const):
939 (WebGPU::SamplerReference::SamplerReference):
940 (WebGPU::SamplerReference::get const):
941 (WebGPU::UniformBufferObjectReference::UniformBufferObjectReference):
942 (WebGPU::UniformBufferObjectReference::get const):
943 (WebGPU::ShaderStorageBufferObjectReference::ShaderStorageBufferObjectReference):
944 (WebGPU::ShaderStorageBufferObjectReference::get const):
945 (WebGPU::RenderPass::~RenderPass):
946 (WebGPU::ComputePass::~ComputePass):
947 (WebGPU::BlitPass::~BlitPass):
948 (WebGPU::HostAccessPass::~HostAccessPass):
949 (WebGPU::BufferHolder::get):
950 (WebGPU::TextureHolder::get):
951 (WebGPU::SamplerHolder::get):
952 (WebGPU::Device::~Device):
953 * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Added.
954 (WebGPU::BlitPassImpl::BlitPassImpl):
955 (WebGPU::BlitPassImpl::copyTexture):
956 * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Added.
957 * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Added.
958 (WebGPU::BufferImpl::BufferImpl):
959 (WebGPU::BufferImpl::decrementReferenceCount):
960 * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Added.
961 (WebGPU::BufferImpl::getBuffer const):
962 (WebGPU::BufferImpl::getDeviceMemory const):
963 (WebGPU::BufferImpl::incrementReferenceCount):
964 (WebGPU::BufferImpl::getLength const):
965 * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Added.
966 (WebGPU::ComputePassImpl::ComputePassImpl):
967 (WebGPU::ComputePassImpl::setComputeState):
968 (WebGPU::ComputePassImpl::setResources):
969 (WebGPU::ComputePassImpl::dispatch):
970 * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Added.
971 * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Added.
972 (WebGPU::ComputeStateImpl::ComputeStateImpl):
973 * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Added.
974 (WebGPU::ComputeStateImpl::getPipeline const):
975 (WebGPU::ComputeStateImpl::getPipelineLayout const):
976 (WebGPU::ComputeStateImpl::getDescriptorSetLayouts const):
977 * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Added.
978 (WebGPU::Device::create):
979 (WebGPU::convertPixelFormat):
980 (WebGPU::convertFormat):
981 (WebGPU::debugReport):
982 (WebGPU::DeviceImpl::DeviceImpl):
983 (WebGPU::DeviceImpl::getCommandQueue):
984 (WebGPU::DeviceImpl::prepareShader):
985 (WebGPU::DeviceImpl::createPipelineLayout):
986 (WebGPU::DeviceImpl::createCompatibleRenderPass):
987 (WebGPU::convertVertexFormat):
988 (WebGPU::DeviceImpl::getRenderState):
989 (WebGPU::DeviceImpl::getComputeState):
990 (WebGPU::DeviceImpl::getBuffer):
991 (WebGPU::DeviceImpl::returnBuffer):
992 (WebGPU::DeviceImpl::getTexture):
993 (WebGPU::DeviceImpl::returnTexture):
994 (WebGPU::DeviceImpl::getSampler):
995 (WebGPU::DeviceImpl::returnSampler):
996 (WebGPU::DeviceImpl::~DeviceImpl):
997 * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Added.
998 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::UniqueDebugReportCallbackEXT):
999 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::operator=):
1000 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::~UniqueDebugReportCallbackEXT):
1001 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::destroy):
1002 (WebGPU::DeviceImpl::TextureParameters::operator== const):
1003 (WebGPU::DeviceImpl::TextureParametersHash::operator() const):
1004 * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Added.
1005 (WebGPU::HostAccessPassImpl::HostAccessPassImpl):
1006 (WebGPU::HostAccessPassImpl::overwriteBuffer):
1007 (WebGPU::HostAccessPassImpl::getBufferContents):
1008 (WebGPU::HostAccessPassImpl::execute):
1009 * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Added.
1010 (WebGPU::HostAccessPassImpl::getFinishedEvent const):
1011 * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Added.
1012 (WebGPU::PassImpl::PassImpl):
1013 (WebGPU::ResourceVisitor::operator()):
1014 (WebGPU::ResourceVisitor::getBindings const):
1015 (WebGPU::ResourceVisitor::releaseWriteDescriptorSets):
1016 (WebGPU::ResourceVisitor::getDescriptorImageInfos const):
1017 (WebGPU::ResourceVisitor::getDescriptorBufferInfos const):
1018 (WebGPU::ResourceVisitor::getBuffers const):
1019 (WebGPU::ResourceVisitor::getTextures const):
1020 (WebGPU::ResourceVisitor::getSamplers const):
1021 (WebGPU::ResourceVisitor::getImageCount const):
1022 (WebGPU::ResourceVisitor::getSamplerCount const):
1023 (WebGPU::ResourceVisitor::getUniformBufferCount const):
1024 (WebGPU::ResourceVisitor::getStorageBufferCount const):
1025 (WebGPU::PassImpl::setResources):
1026 (WebGPU::PassImpl::insertBuffer):
1027 (WebGPU::PassImpl::insertTexture):
1028 (WebGPU::PassImpl::insertSampler):
1029 * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h: Added.
1030 (WebGPU::PassImpl::getCommandBuffer const):
1031 (WebGPU::PassImpl::iterateBuffers):
1032 (WebGPU::PassImpl::iterateTextures):
1033 (WebGPU::PassImpl::ResourceReference::ResourceReference):
1034 (WebGPU::PassImpl::ResourceReference::~ResourceReference):
1035 (WebGPU::PassImpl::ResourceReference::operator=):
1036 (WebGPU::PassImpl::ResourceReference::operator== const):
1037 (WebGPU::PassImpl::ResourceReference::get const):
1038 (WebGPU::PassImpl::ResourceReference::release):
1039 (WebGPU::PassImpl::ResourceReferenceHash::operator() const):
1040 * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp: Added.
1041 (WebGPU::QueueImpl::QueueImpl):
1042 (WebGPU::QueueImpl::prepareCurrentFrame):
1043 (WebGPU::QueueImpl::createSpecificRenderPass):
1044 (WebGPU::QueueImpl::createFramebuffer):
1045 (WebGPU::QueueImpl::createRenderPass):
1046 (WebGPU::QueueImpl::commitRenderPass):
1047 (WebGPU::QueueImpl::createComputePass):
1048 (WebGPU::QueueImpl::commitComputePass):
1049 (WebGPU::QueueImpl::createBlitPass):
1050 (WebGPU::QueueImpl::commitBlitPass):
1051 (WebGPU::QueueImpl::createHostAccessPass):
1052 (WebGPU::QueueImpl::commitHostAccessPass):
1053 (WebGPU::QueueImpl::present):
1054 (WebGPU::QueueImpl::commitPass):
1055 (WebGPU::QueueImpl::synchronizeResources):
1056 (WebGPU::QueueImpl::~QueueImpl):
1057 * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h: Added.
1058 * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp: Added.
1059 (WebGPU::RenderPassImpl::RenderPassImpl):
1060 (WebGPU::RenderPassImpl::setRenderState):
1061 (WebGPU::RenderPassImpl::setVertexAttributeBuffers):
1062 (WebGPU::RenderPassImpl::setResources):
1063 (WebGPU::RenderPassImpl::setViewport):
1064 (WebGPU::RenderPassImpl::setScissorRect):
1065 (WebGPU::RenderPassImpl::draw):
1066 * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h: Added.
1067 * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp: Added.
1068 (WebGPU::RenderStateImpl::RenderStateImpl):
1069 * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h: Added.
1070 (WebGPU::RenderStateImpl::getPipeline const):
1071 (WebGPU::RenderStateImpl::getPipelineLayout const):
1072 (WebGPU::RenderStateImpl::getDescriptorSetLayouts const):
1073 * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp: Added.
1074 (WebGPU::SamplerImpl::SamplerImpl):
1075 (WebGPU::SamplerImpl::decrementReferenceCount):
1076 * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h: Added.
1077 (WebGPU::SamplerImpl::getSampler):
1078 (WebGPU::SamplerImpl::incrementReferenceCount):
1079 (WebGPU::SamplerImpl::getFilter):
1080 (WebGPU::SamplerImpl::getMipmapMode):
1081 (WebGPU::SamplerImpl::getAddressMode):
1082 * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp: Added.
1083 (WebGPU::TextureImpl::TextureImpl):
1084 (WebGPU::TextureImpl::decrementReferenceCount):
1085 * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h: Added.
1086 (WebGPU::TextureImpl::getImage const):
1087 (WebGPU::TextureImpl::getImageView const):
1088 (WebGPU::TextureImpl::getFormat const):
1089 (WebGPU::TextureImpl::incrementReferenceCount):
1090 (WebGPU::TextureImpl::getWidth const):
1091 (WebGPU::TextureImpl::getHeight const):
1092 (WebGPU::TextureImpl::getTransferredToGPU const):
1093 (WebGPU::TextureImpl::setTransferredToGPU):
1094 * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj: Added.
1095 * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters: Added.
1096 * WebGPUAPIStructure/WebGPU.sln: Added.
1098 2017-10-26 Eric Carlson <eric.carlson@apple.com>
1100 NowPlayingInfo should contain a unique identifier
1101 https://bugs.webkit.org/show_bug.cgi?id=178872
1103 Reviewed by Jer Noble.
1105 * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
1106 (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Use completion handler.
1107 (TestWebKitAPI::TEST): Cleanup tests. Use new API.
1108 (-[NowPlayingTestWebView waitForNowPlayingInfoToChange]): Deleted.
1110 2017-10-26 Eric Carlson <eric.carlson@apple.com>
1112 [MediaStream] Clear cached gUM prompt state
1113 https://bugs.webkit.org/show_bug.cgi?id=178754
1114 <rdar://problem/32742356>
1116 Unreviewed, fix a flakey test.
1118 * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
1119 (-[GetUserMediaRepromptTestView haveStream:]): New, check several times for expected state.
1120 (TestWebKitAPI::TEST): Don't assume stream state changes in the page immediately.
1122 2017-10-26 Andy Estes <aestes@apple.com>
1124 [Payment Request] Enable Payment Request whenever Apple Pay is enabled
1125 https://bugs.webkit.org/show_bug.cgi?id=178880
1127 Reviewed by Tim Horton.
1129 * WebKitTestRunner/TestController.cpp:
1130 (WTR::TestController::resetPreferencesToConsistentValues):
1132 2017-10-26 Joseph Pecoraro <pecoraro@apple.com>
1134 Add and update some watchlists
1135 https://bugs.webkit.org/show_bug.cgi?id=178304
1137 Reviewed by Simon Fraser.
1139 * Scripts/webkitpy/common/config/watchlist:
1141 2017-10-26 Ryan Haddad <ryanhaddad@apple.com>
1143 Unreviewed, rolling out r223984.
1145 Caused LayoutTest assertion failures.
1149 "When navigating back to a page, compositing layers may not
1150 use accelerated drawing"
1151 https://bugs.webkit.org/show_bug.cgi?id=178749
1152 https://trac.webkit.org/changeset/223984
1154 2017-10-26 Christopher Reid <chris.reid@sony.com>
1156 Remove scopeguard from platform
1157 https://bugs.webkit.org/show_bug.cgi?id=178681
1159 Reviewed by Brady Eidson.
1161 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
1163 2017-09-21 Carlos Garcia Campos <cgarcia@igalia.com>
1165 WebDriver: Add support to import and run W3C tests
1166 https://bugs.webkit.org/show_bug.cgi?id=177304
1168 Reviewed by Brian Burg.
1170 WPT has now several WebDriver tests, and new ones are going to be added to cover the whole spec. This patch
1171 adds the initial support for running W3C tests. The script import-w3c-webdriver-tests reuses parts of the W3C
1172 test downloader to download the tests and required tools from WPT repository into WebDriverTests
1173 directory. Tests can be run with run-webdriver-tests, a new script that works similar to other test runner
1174 scripts. For now it shows a summary at the end of the execution, there aren't expectations yet, since we are not
1175 ready to run those tests in the bots. Once we are ready to properly run the tests, we can add the expectations
1176 support and run the tests in the bots.
1178 * Scripts/import-w3c-webdriver-tests: Added.
1179 * Scripts/run-webdriver-tests: Added.
1180 * Scripts/webkitpy/style/checker.py: Skip WebDriverTests directory since it only contains third-party python
1182 * Scripts/webkitpy/thirdparty/__init__.py: Add support to autodownload mozlog and mozprocess since they are
1183 required by the WebDriver tests.
1184 * Scripts/webkitpy/webdriver_tests/__init__.py: Added.
1185 * Scripts/webkitpy/webdriver_tests/webdriver_driver.py: Added.
1186 * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py: Added.
1187 * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py: Added.
1188 * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Added.
1189 * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: Added.
1190 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Added.
1191 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: Added.
1193 2017-10-25 Eric Carlson <eric.carlson@apple.com>
1195 [MediaStream] Clear cached gUM prompt state
1196 https://bugs.webkit.org/show_bug.cgi?id=178754
1197 <rdar://problem/32742356>
1199 Reviewed by Youenn Fablet.
1201 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test
1203 * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: Added.
1204 (-[GetUserMediaRepromptUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
1205 (-[GetUserMediaRepromptUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
1206 (TestWebKitAPI::TEST):
1208 * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
1210 2017-10-25 Ross Kirsling <ross.kirsling@sony.com>
1212 Add committer status for Ross Kirsling
1213 https://bugs.webkit.org/show_bug.cgi?id=178832
1217 * Scripts/webkitpy/common/config/contributors.json:
1219 2017-10-25 Simon Fraser <simon.fraser@apple.com>
1221 When navigating back to a page, compositing layers may not use accelerated drawing
1222 https://bugs.webkit.org/show_bug.cgi?id=178749
1223 rdar://problem/35158946
1225 Reviewed by Dean Jackson.
1227 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
1228 and use it to set the state of the web view.
1230 * DumpRenderTree/TestOptions.h:
1231 * DumpRenderTree/TestOptions.mm:
1232 (TestOptions::TestOptions):
1233 * DumpRenderTree/mac/DumpRenderTree.mm:
1234 (setWebPreferencesForTestOptions):
1235 * WebKitTestRunner/TestController.cpp:
1236 (WTR::TestController::resetPreferencesToConsistentValues):
1237 (WTR::updateTestOptionsFromTestHeader):
1238 * WebKitTestRunner/TestOptions.h:
1239 (WTR::TestOptions::hasSameInitializationOptions const):
1241 2017-10-25 Robin Morisset <rmorisset@apple.com>
1243 Support the TailBench9000 benchmark in run-jsc-benchmarks
1244 https://bugs.webkit.org/show_bug.cgi?id=178451
1246 Reviewed by Saam Barati.
1248 * Scripts/run-jsc-benchmarks:
1250 2017-10-25 Adrian Perez de Castro <aperez@igalia.com>
1252 [WPE] Remove GLib API functions which use Cairo
1253 https://bugs.webkit.org/show_bug.cgi?id=178205
1255 Reviewed by Michael Catanzaro.
1257 Add PLATFORM(GTK) guards for the API tests (or parts of them) which use cairo_surface_t (web
1258 page snapshots and favicons) which are not available in the WPE version of the GLib API.
1260 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
1261 (testNotInitialized):
1262 (testPrivateBrowsing):
1263 (testFaviconDatabase):
1264 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
1265 (testFindControllerHide):
1267 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1268 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
1270 2017-10-25 Zan Dobersek <zdobersek@igalia.com>
1272 Make SERVICE_WORKER feature buildable on GTK, WPE
1273 https://bugs.webkit.org/show_bug.cgi?id=178574
1275 Reviewed by Carlos Garcia Campos.
1277 * Scripts/webkitperl/FeatureList.pm: Add the --service-worker option
1278 that enables the SERVICE_WORKER feature flag. For now it's enabled
1279 on Apple's Cocoa ports (even when build-webkit isn't used for those
1280 builds, the flag is enabled here for consistency).
1282 2017-10-24 Michael Catanzaro <mcatanzaro@igalia.com>
1284 Unreviewed, fix name of Perl LibXML package on Fedora
1285 https://bugs.webkit.org/show_bug.cgi?id=178206
1286 <rdar://problem/35028586>
1288 * gtk/install-dependencies:
1289 * wpe/install-dependencies:
1291 2017-10-24 Alex Christensen <achristensen@webkit.org>
1293 Selecting and right-clicking URL-like strings with IDNA-disallowed characters in host or authority causes rendering engine crash
1294 https://bugs.webkit.org/show_bug.cgi?id=174267
1296 Reviewed by Tim Horton.
1298 * TestWebKitAPI/Tests/WebKit/CanHandleRequest_Bundle.cpp:
1299 (TestWebKitAPI::runTest):
1301 2017-10-24 Eric Carlson <eric.carlson@apple.com>
1303 Web Inspector: Enable WebKit logging configuration and display
1304 https://bugs.webkit.org/show_bug.cgi?id=177027
1305 <rdar://problem/33964767>
1307 Reviewed by Joseph Pecoraro.
1309 Allow new 'dumpJSConsoleLogInStdErr' test header to redirect log console output to stderr.
1311 * DumpRenderTree/TestOptions.h:
1312 * DumpRenderTree/TestOptions.mm:
1313 (TestOptions::TestOptions):
1314 * DumpRenderTree/mac/DumpRenderTree.mm:
1316 * WebKitTestRunner/TestController.cpp:
1317 (WTR::updateTestOptionsFromTestHeader):
1318 (WTR::TestController::runTest):
1319 * WebKitTestRunner/TestOptions.h:
1320 (WTR::TestOptions::hasSameInitializationOptions const):
1322 2017-10-24 Alex Christensen <achristensen@webkit.org>
1324 Apply custom header fields from WebsitePolicies to same-domain requests
1325 https://bugs.webkit.org/show_bug.cgi?id=178356
1327 Reviewed by Brady Eidson.
1329 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1332 2017-10-24 Stephan Szabo <stephan.szabo@sony.com>
1334 [Win][JSCOnly] Make jsconly build testapi and dlls and copy dlls when running tests
1335 https://bugs.webkit.org/show_bug.cgi?id=177279
1337 Reviewed by Yusuke Suzuki.
1339 * Scripts/build-jsc:
1340 * Scripts/run-jsc-stress-tests:
1342 2017-10-23 Lucas Forschler <lforschler@apple.com>
1344 <rdar://problem/35045445>
1345 Update README to reference WebKit build archives, instead of 'nightly'
1347 Reviewed by Aakash Jain.
1349 * WebKitArchiveSupport/README:
1351 2017-10-21 Tim Horton <timothy_horton@apple.com>
1353 Turn on ccache for Mac cmake builds by default
1354 https://bugs.webkit.org/show_bug.cgi?id=177059
1356 Reviewed by Sam Weinig.
1358 * ccache/ccache-clang:
1359 * ccache/ccache-wrapper: Added.
1360 Add a pass-through ccache wrapper to be used with CMake, in addition
1361 to the existing faux-clang wrappers.
1363 * Scripts/build-webkit:
1364 Add --use-ccache and --no-use-ccache option, which will define
1365 WK_USE_CCACHE to YES or NO, respectively, which the underlying
1366 build systems respect. We do not define WK_USE_CCACHE if the option
1367 is not specified, because the underlying build systems have different
1370 2017-10-20 Aakash Jain <aakash_jain@apple.com>
1372 Do not run binding tests on multiple EWSes
1373 https://bugs.webkit.org/show_bug.cgi?id=178599
1375 Reviewed by Alexey Proskuryakov.
1377 Remove old code which runs bindings tests and ignore it's result. We now have
1378 a dedicated bindings test EWS.
1380 * Scripts/webkitpy/tool/steps/runtests.py:
1381 (RunTests.run): Removed bindings tests code.
1382 * Scripts/webkitpy/tool/steps/runtests_unittest.py: Updated unit-tests.
1383 (RunTestsTest.test_webkit_run_unit_tests): Ditto.
1384 * Scripts/webkitpy/tool/steps/steps_unittest.py: Ditto.
1385 * Scripts/webkitpy/tool/commands/download_unittest.py: Ditto.
1387 2017-10-20 Youenn Fablet <youenn@apple.com>
1389 WebsiteDataStoreCustomPaths.mm is failing after r223718
1390 https://bugs.webkit.org/show_bug.cgi?id=178596
1394 * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1395 (TEST): Making default web site data store creation expected at the end of the test.
1396 We should probably not need need to create it.
1397 This should be fixed as a follow-up.
1399 2017-10-20 Antoine Quint <graouts@apple.com>
1401 [Web Animations] Provide basic timeline and animation interfaces
1402 https://bugs.webkit.org/show_bug.cgi?id=178526
1404 Reviewed by Dean Jackson.
1406 Remove the WEB_ANIMATIONS compile-time flag.
1408 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1410 2017-10-20 Tomas Popela <tpopela@redhat.com>
1412 Missing some perl packages in install-dependencies
1413 https://bugs.webkit.org/show_bug.cgi?id=178571
1415 Reviewed by Žan Doberšek.
1417 Install per-version and perl-Time-HiRes so we can use build-webkit
1418 script. Also add missing backlashes.
1420 * wpe/install-dependencies:
1422 2017-10-20 Commit Queue <commit-queue@webkit.org>
1424 Unreviewed, rolling out r222709 and r223572.
1425 https://bugs.webkit.org/show_bug.cgi?id=178587
1427 Still getting mac-wk2 EWS bots stuck (Requested by ap on
1430 Reverted changesets:
1432 "Log stack-trace for run-webkit-tests when interrupted"
1433 https://bugs.webkit.org/show_bug.cgi?id=176393
1434 https://trac.webkit.org/changeset/222709
1436 "webkitpy: Hang when workers write to the same stack trace
1438 https://bugs.webkit.org/show_bug.cgi?id=178402
1439 https://trac.webkit.org/changeset/223572
1441 2017-10-19 Nan Wang <n_wang@apple.com>
1443 AX: Provide a way for Accessibility to cache the selection while retrieving rects for speak selection
1444 https://bugs.webkit.org/show_bug.cgi?id=176247
1445 <rdar://problem/34217143>
1447 Reviewed by Ryosuke Niwa.
1449 * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
1450 (TestWebKitAPI::TEST):
1452 2017-10-19 Sam Weinig <sam@webkit.org>
1454 [Settings] Move global settings into their own file
1455 https://bugs.webkit.org/show_bug.cgi?id=178512
1457 Reviewed by Darin Adler.
1459 * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
1460 (TestWebKitAPI::TEST):
1462 2017-10-19 Andy Estes <aestes@apple.com>
1464 [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
1465 https://bugs.webkit.org/show_bug.cgi?id=178181
1466 <rdar://problem/33660282>
1468 Reviewed by Dan Bernstein.
1470 * WebKitTestRunner/TestController.cpp:
1471 (WTR::TestController::databaseProcessName):
1473 2017-10-19 Saam Barati <sbarati@apple.com>
1475 Turn poly proto back on by default and remove the option
1476 https://bugs.webkit.org/show_bug.cgi?id=178525
1478 Reviewed by Mark Lam.
1480 * Scripts/run-jsc-stress-tests:
1482 2017-10-18 Ryosuke Niwa <rniwa@webkit.org>
1484 Don't expose raw HTML in pasteboard to the web content
1485 https://bugs.webkit.org/show_bug.cgi?id=178422
1487 Reviewed by Wenson Hsieh.
1489 Added a test case for sanitizing web archive in the system pasteboard to strip privacy sensitive information
1490 such as local file paths and potentially harmful scripts like event handlers serialized by WebKit prior to r223462.
1492 * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
1493 (PasteWebArchive.SanitizesHTML):
1495 2017-10-18 Youenn Fablet <youenn@apple.com>
1497 TestController should clear all fetch caches when resetting its state
1498 https://bugs.webkit.org/show_bug.cgi?id=178486
1500 Reviewed by Chris Dumez.
1502 Adding clearDOMCaches test runner method.
1503 Using that method when resetting state.
1505 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1506 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1507 (WTR::TestRunner::clearDOMCaches):
1508 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1509 * WebKitTestRunner/TestInvocation.cpp:
1510 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1512 2017-10-18 Chelsea Pugh <cpugh@apple.com>
1514 [iOS] Use new class name from UIKit when checking UITextSuggestion type
1515 https://bugs.webkit.org/show_bug.cgi?id=178416
1517 Reviewed by Tim Horton.
1519 This updates our test using/mocking out UITextAutofillSuggestion instead of UIKeyboardLoginCredentialsSuggestion.
1521 * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
1522 (-[UITextAutofillSuggestion initWithUsername:password:]): Copied from UIKit's implementation. This will serve as
1523 a mock of this method for builds not containingit.
1524 (+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Ditto.
1525 (TestWebKitAPI::TEST): Use +[UITextAutofillSuggestion autofillSuggestionWithUsername:password:] inline instead of
1526 helper function for creating a new suggestion.
1527 (newUIKeyboardLoginCredentialsSuggestion): Deleted.
1529 * TestWebKitAPI/ios/UIKitSPI.h:
1531 2017-10-18 Fujii Hironori <Hironori.Fujii@sony.com>
1533 update-webkit-auxiliary-libs can't download WebKitAuxiliaryLibrary.zip due to 403 Forbidden
1534 https://bugs.webkit.org/show_bug.cgi?id=178381
1536 Reviewed by Alexey Proskuryakov.
1538 The web server developer.apple.com seems to reject HTTP requests
1539 without Accept header field.
1541 * Scripts/update-webkit-dependency: Add 'Accept' header field to requests.
1543 2017-10-18 Aakash Jain <aakash_jain@apple.com>
1545 webkitpy tests should have --json-output option
1546 https://bugs.webkit.org/show_bug.cgi?id=178481
1548 Reviewed by Alexey Proskuryakov.
1550 * Scripts/webkitpy/test/main.py:
1551 (Tester._parse_args): Added json-output argument.
1552 (Tester._run_tests): Write output to json file.
1554 2017-10-18 Wenson Hsieh <wenson_hsieh@apple.com>
1556 Unreviewed, rolling out r223291.
1558 See WebCore ChangeLog for more detail.
1562 "Remove Editor::simplifyMarkup"
1563 https://bugs.webkit.org/show_bug.cgi?id=178271
1564 https://trac.webkit.org/changeset/223291
1566 2017-10-18 Chris Dumez <cdumez@apple.com>
1568 Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
1569 https://bugs.webkit.org/show_bug.cgi?id=177876
1570 <rdar://problem/34813129>
1572 Reviewed by Ryosuke Niwa.
1574 Clear service worker registrations between test runs to avoid flakiness.
1576 * WebKitTestRunner/TestController.cpp:
1577 (WTR::TestController::resetStateToConsistentValues):
1579 2017-10-18 Zan Dobersek <zdobersek@igalia.com>
1581 Remove remnants of OpenWebRTC
1582 https://bugs.webkit.org/show_bug.cgi?id=178437
1584 Reviewed by Alejandro G. Castro.
1586 Drop OpenWebRTC packages from the GTK's Jhbuild modules file. Relevant
1587 patches are also removed.
1589 * gtk/jhbuild.modules:
1590 * gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Removed.
1591 * gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Removed.
1592 * gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Removed.
1593 * gtk/patches/udpsrc-improve-timeouts.patch: Removed.
1595 2017-10-17 Jonathan Bedard <jbedard@apple.com>
1597 webkitpy: Hang when workers write to the same stack trace file
1598 https://bugs.webkit.org/show_bug.cgi?id=178402
1599 <rdar://problem/35033432>
1601 Reviewed by Aakash Jain.
1603 Workers can hang if they all write to the same stack trace file when receiving
1604 a SIGTERM. Attach the pid to the stack trace file name so that each worker
1605 writes to a different file.
1607 * Scripts/webkitpy/common/interupt_debugging.py:
1608 (log_stack_trace_on_term.handler): Name stack trace file path/<pid>-filename.
1609 (log_stack_trace_on_cntrl_c.handler): Ditto.
1611 2017-10-17 John Wilander <wilander@apple.com>
1613 Add and remove cookie partition accordingly in intermediary redirect requests
1614 https://bugs.webkit.org/show_bug.cgi?id=178369
1615 <rdar://problem/34467603>
1617 Reviewed by Brent Fulgham.
1619 Adds the function statisticsNotifyObserver().
1621 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1622 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1623 (WTR::InjectedBundle::statisticsNotifyObserver):
1624 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1625 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1626 (WTR::TestRunner::statisticsNotifyObserver):
1627 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1629 2017-10-17 Youenn Fablet <youenn@apple.com>
1631 Cache API implementation should be able to compute storage size for WebKit client applications.
1632 https://bugs.webkit.org/show_bug.cgi?id=178350
1634 Reviewed by Chris Dumez.
1636 Adding support for a domCacheSize getter.
1638 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1639 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1640 (WTR::TestRunner::domCacheSize):
1641 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1642 * WebKitTestRunner/TestController.cpp:
1643 (WTR::FetchCacheSizeForOriginCallbackContext::FetchCacheSizeForOriginCallbackContext):
1644 (WTR::fetchCacheSizeForOriginCallback):
1645 (WTR::TestController::domCacheSize):
1646 * WebKitTestRunner/TestController.h:
1647 * WebKitTestRunner/TestInvocation.cpp:
1648 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1650 2017-10-17 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
1652 [GStreamer][GTK][WPE] update-webkit-libs-jhbuild fails to detect changes in included moduleset files
1653 https://bugs.webkit.org/show_bug.cgi?id=178206
1655 Reviewed by Michael Catanzaro.
1657 The update-webkit-libs-jhbuild scripts computes MD5 sum of GTK/WPE jhbuild configuration files to check if it
1658 needs to rebuild the dependencies libraries. This patch fixes a bug when main GTK/WPE jhbuild modules
1659 configuration file includes additional files (for example GStreamer module). It parses jhbuild.modules file to
1660 check if additional files are included. If any, it computes MD5 sum for each of these included files.
1662 * Scripts/update-webkit-libs-jhbuild:
1663 (getJhbuildIncludedFilePaths): New function that returns included files in jhbuild.modules
1664 (jhbuildConfigurationCheckFile): New function to check if MD5 sum file changes.
1665 (jhbuildConfigurationChanged): Add MD5 sum check for included files.
1666 (saveMd5File): New function to save MD5 sum of a file.
1667 (saveJhbuildMd5): Add saving included files MD5 sum.
1668 (deleteJhbuildMd5): Delete included files MD5 sum
1669 * gtk/install-dependencies: Add perl-libXML lib that is used to parse jhbuild file.
1670 * wpe/install-dependencies: Ditto.
1672 2017-10-17 Tomas Popela <tpopela@redhat.com>
1674 Undefined WK_API_ENABLED warning when compiling COCOA content on WebKitGTK+
1675 https://bugs.webkit.org/show_bug.cgi?id=178208
1677 Check whether we are on COCOA platform before checking for
1680 Reviewed by Ryosuke Niwa.
1682 * WebKitTestRunner/TestController.cpp:
1683 (WTR::TestController::clearDOMCache):
1685 2017-10-17 Keith Miller <keith_miller@apple.com>
1687 Change WebCore sources to work with unified source builds
1688 https://bugs.webkit.org/show_bug.cgi?id=178229
1690 Rubber stamped by Tim Horton.
1692 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1694 2017-10-16 Christopher Reid <chris.reid@sony.com>
1696 [Win] Webkit should still be able to build when unable to check if libraries are up to date
1697 https://bugs.webkit.org/show_bug.cgi?id=178367
1699 Adding a option to skip the check to see if windows libraries are up to date.
1700 This option is useful when testing modified libraries. This option also allows
1701 building webkit when GitHub blocks requests to verify the latest library version.
1704 Reviewed by Per Arne Vollan.
1706 * Scripts/build-webkit:
1708 2017-10-12 Matt Rajca <mrajca@apple.com>
1710 Add API support for quirk that lets an arbitrary click allow auto-play.
1711 https://bugs.webkit.org/show_bug.cgi?id=178227
1713 Reviewed by Alex Christensen.
1715 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1716 (TEST): Added API test.
1718 2017-10-16 Maureen Daum <mdaum@apple.com>
1720 If an origin doesn't have databases in the Databases table we should still remove its information from disk in DatabaseTracker::deleteOrigin()
1721 https://bugs.webkit.org/show_bug.cgi?id=178281
1722 <rdar://problem/34576132>
1724 Reviewed by Brent Fulgham.
1726 Verify that if there is an entry in the Origins table but no entries in the Databases
1727 table that we still remove the directory for the origin, and that we remove the
1728 entry from the Origins table.
1730 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
1731 (TestWebKitAPI::TEST):
1733 2017-10-15 Ryosuke Niwa <rniwa@webkit.org>
1735 Cannot access images included in the content pasted from Microsoft Word
1736 https://bugs.webkit.org/show_bug.cgi?id=124391
1737 <rdar://problem/26862741>
1739 Reviewed by Antti Koivisto.
1741 Added tests for sanitizing HTML contents for copy & paste and drag & drop.
1743 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1744 * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: Added.
1745 (readHTMLFromPasteboard): Added.
1746 (createWebViewWithCustomPasteboardDataEnabled): Added.
1747 (CopyHTML.Sanitizes): Added.
1749 * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
1750 (createWebViewWithCustomPasteboardDataEnabled): Added to enable more tests on bots.
1752 * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
1753 (writeRTFToPasteboard): Added.
1754 (createWebViewWithCustomPasteboardDataEnabled): Added.
1755 (createHelloWorldString): Added.
1756 (PasteRTF.ExposesHTMLTypeInDataTransfer): Added.
1757 (PasteRTFD.ExposesHTMLTypeInDataTransfer): Added.
1758 (PasteRTFD.ImageElementUsesBlobURLInHTML): Added.
1760 * TestWebKitAPI/Tests/WebKitCocoa/copy-html.html: Added.
1761 * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html: Store the clipboardData contents for
1762 PasteRTF.ExposesHTMLTypeInDataTransfer and PasteRTFD.ExposesHTMLTypeInDataTransfer.
1764 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1765 (DataInteractionTests.DataTransferSanitizeHTML):
1767 2017-10-16 Youenn Fablet <youenn@apple.com>
1769 Activate Cache API by default
1770 https://bugs.webkit.org/show_bug.cgi?id=178186
1772 Reviewed by Chris Dumez.
1774 Removing explicit activation of cache api.
1776 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1777 (WTR::InjectedBundle::beginTesting):
1778 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1779 (WTR::TestRunner::setCacheAPIEnabled): Deleted.
1780 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1782 2017-10-16 Ross Kirsling <ross.kirsling@sony.com>
1784 run-webkit-tests help text should mention arguments too
1785 https://bugs.webkit.org/show_bug.cgi?id=178352
1787 Reviewed by Tim Horton.
1789 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1792 2017-10-16 Maureen Daum <mdaum@apple.com>
1794 If we fail to delete any database file, don't remove its information from the tracker database
1795 <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
1797 Reviewed by Brady Eidson.
1799 Add tests that verify we correctly delete databases and remove their information from
1800 the tracker database, even if the database doesn't exist. Verify that if we fail to
1801 delete a database, we don't remove its information from the tracker database.
1803 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1804 Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
1805 method for creating a temporary directory in the tests.
1806 * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
1807 The existing test was copied to DatabaseTrackerTest.mm.
1808 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
1809 (TestWebKitAPI::TEST):
1810 (TestWebKitAPI::addToDatabasesTable):
1811 (TestWebKitAPI::removeDirectoryAndAllContents):
1812 (TestWebKitAPI::createFileAtPath):
1814 2017-10-16 Ryan Haddad <ryanhaddad@apple.com>
1816 Unreviewed, rolling out r223422.
1818 These tests are for a change that was rolled out in r223420
1822 "If we fail to delete any database file, don't remove its
1823 information from the tracker database"
1824 https://bugs.webkit.org/show_bug.cgi?id=178251
1825 https://trac.webkit.org/changeset/223422
1827 2017-10-16 Maureen Daum <mdaum@apple.com>
1829 If we fail to delete any database file, don't remove its information from the tracker database
1830 <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
1832 Reviewed by Brady Eidson.
1834 Add tests that verify we correctly delete databases and remove their information from
1835 the tracker database, even if the database doesn't exist. Verify that if we fail to
1836 delete a database, we don't remove its information from the tracker database.
1838 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1839 Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
1840 method for creating a temporary directory in the tests.
1841 * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
1842 The existing test was copied to DatabaseTrackerTest.mm.
1843 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
1844 (TestWebKitAPI::TEST):
1845 (TestWebKitAPI::addToDatabasesTable):
1846 (TestWebKitAPI::removeDirectoryAndAllContents):
1847 (TestWebKitAPI::createFileAtPath):
1849 2017-10-16 David Kilzer <ddkilzer@apple.com>
1851 Add RELEASE_ASSERT_WITH_SECURITY_IMPLICATION() macro
1852 <https://webkit.org/b/178269>
1854 Reviewed by Alex Christensen.
1856 * Scripts/webkitpy/style/checkers/cpp.py:
1857 (check_language): Add checker to warn about using
1858 ASSERT_WITH_SECURITY_IMPLICATION().
1859 (CppChecker.categories): Add 'security/assertion' to list of
1861 * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1862 (CppStyleTest.test_debug_security_assertion): Add tests for
1865 2017-10-16 Chris Dumez <cdumez@apple.com>
1867 Clicks on Link with download attribute causes all (other) links to trigger download when clicked
1868 https://bugs.webkit.org/show_bug.cgi?id=178267
1869 <rdar://problem/34985016>
1871 Reviewed by Darin Adler.
1873 Use PassThrough policy in WKTR's InjectedBundle's decidePolicyForNewWindowAction so that the
1874 request is sent to the UIProcess. This gets WKTR's closer to Safari behavior and helps
1875 reproduce the bug. Without this change, I would not be able to write a regression test for
1876 this bug that is very easily reproducible in Safari.
1878 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1879 (WTR::InjectedBundlePage::decidePolicyForNewWindowAction):
1881 2017-10-16 Emilio Cobos Álvarez <emilio@crisal.io>
1883 Add Emilio Cobos Álvarez to the contributors list.
1884 https://bugs.webkit.org/show_bug.cgi?id=178334
1886 Reviewed by Antti Koivisto.
1888 * Scripts/webkitpy/common/config/contributors.json:
1890 2017-10-07 Maciej Stachowiak <mjs@apple.com>
1892 Improve --help documentation and add --list-plans to show available benchmarks.
1893 https://bugs.webkit.org/show_bug.cgi?id=178059
1895 Reviewed by Ryosuke Niwa.
1897 * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
1898 (BenchmarkRunner.available_plans): New function that returns the list of available plans.
1899 (BenchmarkRunner.plan_directory): New method to centralize knowledge of where the plan files live.
1900 (BenchmarkRunner._find_plan_file): Updated to use BenchmarkRunner.plan_directory
1902 * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
1904 (parse_args): Help cleanup: Reordered options to put more common
1905 ones at the top. Fixed wording. Added help for each
1906 option. Explained default for each option that has one.
1908 New option: --list-plans which tells you the available benchmarks.
1910 Code cleanup: Removed use of dest where redundant, made variable
1911 names conforming to Python coding style.
1913 (run_benchmark_plan): Adapted for new variable names.
1914 (list_benchmark_plans): New helper for --list-plans option.
1915 (start): Account for --list-plans. Also use
1916 BechmarkRunner.available_plans and use
1917 BenchmarkRunner.plan_directory instead of duplicating
1918 code/knowledge here.
1920 2017-10-16 Wenson Hsieh <wenson_hsieh@apple.com>
1922 On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
1923 https://bugs.webkit.org/show_bug.cgi?id=178301
1924 <rdar://problem/34990050>
1926 Reviewed by Darin Adler.
1928 Fixes issues in DumpRenderTree's LocalPasteboard to ensure that drag-drop-href-as-url.html exposes files, and
1929 also adds a new iOS drag and drop API test.
1931 * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
1932 (-[LocalPasteboard addTypes:owner:]):
1933 (-[LocalPasteboard setData:forType:]):
1935 Fixes LocalPasteboard's implementation of changeCount to incremement when the pasteboard owner changes, rather
1936 than every time data is changed. This is consistent with NSPasteboard behavior.
1938 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1939 (TestWebKitAPI::TEST):
1941 Adds a new API test to verify that an image and HTTP URL written by the platform is correctly web exposed.
1943 2017-10-15 Darin Adler <darin@apple.com>
1945 UTF-8 decoding produces one replacement character per byte; Encoding standard requires one replacement character per illegal sequence instead
1946 https://bugs.webkit.org/show_bug.cgi?id=178207
1948 Reviewed by Sam Weinig.
1950 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added test.
1951 * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Added.
1952 (TestWebKitAPI::decodeHexTestBytes): Decodes a string so we can write readable tests.
1953 (TestWebKitAPI::escapeNonPrintableASCIICharacters): Encodes a string so we can write readable tests.
1954 (TestWebKitAPI::TEST): Added some UTF-8 tests and UTF-8 invalid sequences tests.
1955 Would be smart to add more tests for other cases, exercising the fast ASCII loop for example, and
1958 2017-10-14 Adrian Perez de Castro <aperez@igalia.com>
1960 [WPE] JHBuild build directory DependenciesWPE/Build is not removed by update-webkit-libs-jhbuild
1961 https://bugs.webkit.org/show_bug.cgi?id=178212
1963 Reviewed by Michael Catanzaro.
1965 * Scripts/update-webkit-libs-jhbuild:
1966 (cleanJhbuild): The WPE JHBuild also uses a separate "Build" subdirectory, so do not skip
1967 cleaning it when "--wpe" is passed to the script.
1969 2017-10-13 Adrian Perez de Castro <aperez@igalia.com>
1971 [WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
1972 https://bugs.webkit.org/show_bug.cgi?id=178283
1974 Reviewed by Žan Doberšek.
1976 * wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise
1977 compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.
1979 2017-10-13 Youenn Fablet <youenn@apple.com>
1981 Implement listing origins for which CacheStorage is storing data
1982 https://bugs.webkit.org/show_bug.cgi?id=178236
1984 Reviewed by Chris Dumez.
1986 Adding hasDOMCache API for checking whether origin is storing data through Cache API.
1988 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1989 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1990 (WTR::TestRunner::hasDOMCache):
1991 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1992 * WebKitTestRunner/TestController.cpp:
1993 (WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
1994 (WTR::fetchCacheOriginsCallback):
1995 (WTR::TestController::hasDOMCache):
1996 * WebKitTestRunner/TestController.h:
1997 * WebKitTestRunner/TestInvocation.cpp:
1998 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2000 2017-10-13 Alex Christensen <achristensen@webkit.org>
2002 Remove Editor::simplifyMarkup
2003 https://bugs.webkit.org/show_bug.cgi?id=178271
2005 Reviewed by Wenson Hsieh.
2007 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2008 * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
2010 2017-10-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
2012 [GLib] WebKitNavigationAction should tell whether it is a redirect
2013 https://bugs.webkit.org/show_bug.cgi?id=178178
2015 Test that WebKitNavigationAction properly reports being a redirect.
2017 Reviewed by Carlos Garcia Campos.
2019 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
2020 (testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
2021 (serverCallback): add a /redirect path to the server, which causes a redirect.
2023 2017-10-13 Chris Dumez <cdumez@apple.com>
2025 Unreviewed, fix webkitpy failure after r223273
2027 * Scripts/webkitpy/w3c/test_importer_unittest.py:
2028 (TestImporterTest.test_harnesslinks_conversion):
2030 2017-10-12 Chris Dumez <cdumez@apple.com>
2032 import-w3c-tests modifies test sources and sometimes causes them to fail
2033 https://bugs.webkit.org/show_bug.cgi?id=178234
2035 Reviewed by Ryosuke Niwa.
2037 Update import-w3c-tests to stop rewriting tests as this is causing some tests
2038 to fail unexpectedly.
2040 * Scripts/webkitpy/w3c/test_importer.py:
2041 (TestImporter.import_tests):
2043 2017-10-12 Youenn Fablet <youenn@apple.com>
2045 Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
2046 https://bugs.webkit.org/show_bug.cgi?id=178200
2048 Reviewed by Chris Dumez.
2050 Making clearDOMCache wait for removal completion to exit.
2051 This removes the risk to interact with the cache while deleting it which will end up be racy in tests.
2053 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2054 (WTR::TestRunner::clearDOMCache):
2055 * WebKitTestRunner/TestController.cpp:
2056 (WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
2057 (WTR::clearDOMCacheCallback):
2058 (WTR::TestController::clearDOMCache):
2059 * WebKitTestRunner/TestInvocation.cpp:
2060 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2061 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2063 2017-10-12 John Wilander <wilander@apple.com>
2065 ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
2066 https://bugs.webkit.org/show_bug.cgi?id=175257
2067 <rdar://problem/33359866>
2069 Reviewed by Brent Fulgham.
2071 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2072 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2073 (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
2074 (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
2075 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2076 * WebKitTestRunner/TestController.cpp:
2077 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2079 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2081 * WebKitTestRunner/TestController.h:
2082 * WebKitTestRunner/TestInvocation.cpp:
2083 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2084 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2085 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2086 Implemented platform-specific.
2087 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2088 Implemented platform-specific.
2090 2017-10-12 Andy Estes <aestes@apple.com>
2092 [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
2093 https://bugs.webkit.org/show_bug.cgi?id=178181
2094 <rdar://problem/33660282>
2096 Reviewed by Dan Bernstein.
2098 * WebKitTestRunner/TestController.cpp:
2099 (WTR::TestController::databaseProcessName):
2101 2017-10-12 Myles C. Maxfield <mmaxfield@apple.com>
2103 Emit SPIR-V from WSL compiler (Part 1)
2104 https://bugs.webkit.org/show_bug.cgi?id=177998
2106 Reviewed by Filip Pizlo.
2108 This patch implements the first half of a SPIR-V codegen phase for WSL.
2109 This includes all the operations which aren't actually emitting the contents
2110 of functions themselves. For example, this includes things like representing
2111 WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
2112 future patch will actually emit the contents of functions.
2114 There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
2115 types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
2116 input and output variables from a shader (and assigns location values to
2119 This patch is currently pursuing the "logical mode" detailed in
2120 https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
2121 array reference operation can be statically traced to the variable or array it
2124 This has the interesting property where accessing a pointer inside an array is
2125 forbidden, because the array index may be computed at runtime, so the compiler
2126 can't know at compile time which variable the pointer operation will be
2127 accessing. However, this isn't true for structs; the program must statically
2128 state which struct member it is accessing. Therefore, pointers or array
2129 references must not transitively appear within an array, but they may appear
2130 within a struct. The same logic applies to array references; those get lowered
2131 to just two indexes in SPIR-V (a lower bound and an upper bound).
2133 So, outside of an array, SPIR-V types don't need to include any pointers because
2134 any operation with the pointer doesn't need access to the runtime value of the
2135 pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
2136 will never include any pointers.
2138 This means that, for example, WSL can represent a linked list in logical mode.
2139 However, a WSL program cannot iterate across the list, because that would require
2140 assigning to a pointer. So instead, a program using a linked list could only say
2141 something like "list.ptr->ptr->ptr->value".
2143 * WebGPUShadingLanguageRI/LateChecker.js:
2144 (LateChecker.prototype._checkShaderType):
2145 * WebGPUShadingLanguageRI/SPIR-V.js:
2146 (SPIRV.OperandChecker.prototype._isStar):
2147 (SPIRV.OperandChecker.prototype.nextComparisonType):
2148 (SPIRV.OperandChecker.prototype.finalize):
2149 (SPIRV.OperandChecker):
2150 * WebGPUShadingLanguageRI/SPIRV.html:
2151 * WebGPUShadingLanguageRI/SPIRVCodegen.js: Added.
2153 (emitTypes.doEmitTypes):
2155 (ConstantFinder.prototype.visitGenericLiteralType):
2158 * WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Added.
2159 (SPIRVTypeAnalyzer):
2160 (SPIRVTypeAnalyzer.prototype.get program):
2161 (SPIRVTypeAnalyzer.prototype.get typeMap):
2162 (SPIRVTypeAnalyzer.prototype.get currentId):
2163 (SPIRVTypeAnalyzer.prototype.get stack):
2164 (SPIRVTypeAnalyzer.prototype.visitTypeRef):
2165 (SPIRVTypeAnalyzer.prototype._encounterType):
2166 (SPIRVTypeAnalyzer.prototype.visitNullType):
2167 (SPIRVTypeAnalyzer.prototype.visitGenericLiteralType):
2168 (SPIRVTypeAnalyzer.prototype.visitNativeType):
2169 (SPIRVTypeAnalyzer.prototype.visitEnumType):
2170 (SPIRVTypeAnalyzer.prototype.visitPtrType):
2171 (SPIRVTypeAnalyzer.prototype.visitArrayRefType):
2172 (SPIRVTypeAnalyzer.prototype.visitArrayType):
2173 (SPIRVTypeAnalyzer.prototype.visitStructType):
2174 * WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Added.
2175 (SPIRVPrimitiveVariableAnalyzer):
2176 (SPIRVPrimitiveVariableAnalyzer.prototype.get program):
2177 (SPIRVPrimitiveVariableAnalyzer.prototype.get typeMap):
2178 (SPIRVPrimitiveVariableAnalyzer.prototype.get currentId):
2179 (SPIRVPrimitiveVariableAnalyzer.prototype.get currentLocation):
2180 (SPIRVPrimitiveVariableAnalyzer.prototype.get nameComponents):
2181 (SPIRVPrimitiveVariableAnalyzer.prototype.get result):
2182 (SPIRVPrimitiveVariableAnalyzer.prototype.visitTypeRef):
2183 (SPIRVPrimitiveVariableAnalyzer.prototype.visitNullType):
2184 (SPIRVPrimitiveVariableAnalyzer.prototype.visitGenericLiteralType):
2185 (SPIRVPrimitiveVariableAnalyzer.prototype.visitNativeType):
2186 (SPIRVPrimitiveVariableAnalyzer.prototype.visitEnumType):
2187 (SPIRVPrimitiveVariableAnalyzer.prototype.visitPtrType):
2188 (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayRefType):
2189 (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayType):
2190 (SPIRVPrimitiveVariableAnalyzer.prototype.visitStructType):
2191 * WebGPUShadingLanguageRI/WSL.md:
2192 * WebGPUShadingLanguageRI/index.html:
2194 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2196 Enable gigacage on iOS
2197 https://bugs.webkit.org/show_bug.cgi?id=177586
2199 Reviewed by JF Bastien.
2201 Add a mode to test disabling Gigacage.
2203 * Scripts/run-jsc-stress-tests:
2204 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2206 2017-10-11 Sam Weinig <sam@webkit.org>
2208 Remove out-parameter variants of copyToVector
2209 https://bugs.webkit.org/show_bug.cgi?id=178155
2211 Reviewed by Tim Horton.
2213 * DumpRenderTree/JavaScriptThreading.cpp:
2214 (stopJavaScriptThreads):
2216 2017-10-12 Sam Weinig <sam@webkit.org>
2218 It should be possible to iterate just the values (and not the counts) of a HashCountedSet
2219 https://bugs.webkit.org/show_bug.cgi?id=178169
2221 Reviewed by Daniel Bates.
2223 * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
2224 (TestWebKitAPI::TEST):
2225 Add test for HashCountedSet's new values() range.
2227 2017-10-11 Frederic Wang <fwang@igalia.com>
2229 run-safari --ios-simulator is no longer working with Xcode 9
2230 https://bugs.webkit.org/show_bug.cgi?id=177595
2232 Reviewed by Daniel Bates.
2234 In Xcode 9, the path of the simulator application is now in a new CoreSimulator subdirectory
2235 of the iphoneOS SDK platform. This patch updates webkitdirs.pm to use the new path in
2236 Xcode 9 or higher so that it is possible to run Safari on the iOS simulator again. It also
2237 does some minor code refactoring to improve code reuse.
2239 * Scripts/configure-xcode-for-ios-development: Move sdkDirectory() and sdkPlatformDirectory()
2241 (sdkDirectory): Deleted.
2242 (sdkPlatformDirectory): Deleted.
2243 * Scripts/webkitdirs.pm: Expose new sdkDirectory() and sdkPlatformDirectory().
2244 (sdkDirectory): Moved from configure-xcode-for-ios-development.
2245 (sdkPlatformDirectory): Ditto.
2246 (XcodeSDKPath): Rely on sdkDirectory() to implement this function.
2247 (iosSimulatorApplicationsPath): In Xcode 9 or higher use the new path. It is calculated
2248 by relying on sdkPlatformDirectory().
2250 2017-10-11 Dewei Zhu <dewei_zhu@apple.com>
2252 run-benchmark script should set '__XPC_DYLD_FRAMEWORK_PATH' while launching local-built Safari on Mac.
2253 https://bugs.webkit.org/show_bug.cgi?id=178199
2255 Reviewed by Saam Barati.
2257 '__XPC_DYLD_FRAMEWORK_PATH' should be set while launching Safari on run-benchmark script.
2258 'force_remove' function should support both file and directory.
2260 * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
2261 (OSXSafariDriver.launch_url):
2262 * Scripts/webkitpy/benchmark_runner/utils.py:
2265 2017-10-11 Saam Barati <sbarati@apple.com>
2267 Runtime disable poly proto because it may be a 3-4% Speedometer regression
2268 https://bugs.webkit.org/show_bug.cgi?id=178192
2270 Reviewed by JF Bastien.
2272 * Scripts/run-jsc-stress-tests:
2274 2017-10-11 Youenn Fablet <youenn@apple.com>
2276 Add API to clean CacheStorage data
2277 https://bugs.webkit.org/show_bug.cgi?id=178034
2279 Reviewed by Chris Dumez.
2281 Adding internals API to trigger deleting all or origin-persistent cache storage persistent data.
2283 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2284 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2285 (WTR::TestRunner::clearDOMCache):
2286 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2287 * WebKitTestRunner/TestController.cpp:
2288 (WTR::TestController::clearDOMCache):
2289 * WebKitTestRunner/TestController.h:
2290 * WebKitTestRunner/TestInvocation.cpp:
2291 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2293 2017-10-11 Chris Dumez <cdumez@apple.com>
2295 [Geolocation] Expose Coordinates.floorLevel
2296 https://bugs.webkit.org/show_bug.cgi?id=178173
2297 <rdar://problem/34918936>
2299 Reviewed by Ryosuke Niwa.
2301 Add test infrastructure for testing Coordinates.floorLevel.
2303 * DumpRenderTree/TestRunner.cpp:
2304 (setMockGeolocationPositionCallback):
2305 * DumpRenderTree/TestRunner.h:
2306 * DumpRenderTree/mac/TestRunnerMac.mm:
2307 (TestRunner::setMockGeolocationPosition):
2308 * DumpRenderTree/win/TestRunnerWin.cpp:
2309 (TestRunner::setMockGeolocationPosition):
2310 * WebKitTestRunner/GeolocationProviderMock.cpp:
2311 (WTR::GeolocationProviderMock::setPosition):
2312 * WebKitTestRunner/GeolocationProviderMock.h:
2313 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2314 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2315 (WTR::InjectedBundle::setMockGeolocationPosition):
2316 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2317 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2318 (WTR::TestRunner::setMockGeolocationPosition):
2319 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2320 * WebKitTestRunner/TestController.cpp:
2321 (WTR::TestController::setMockGeolocationPosition):
2322 * WebKitTestRunner/TestController.h:
2323 * WebKitTestRunner/TestInvocation.cpp:
2324 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2326 2017-10-11 Youenn Fablet <youenn@apple.com>
2328 Bump default cache storage quota to 20MB
2329 https://bugs.webkit.org/show_bug.cgi?id=178132
2331 Reviewed by Alex Christensen.
2333 * WebKitTestRunner/TestController.cpp:
2334 (WTR::TestController::generateContextConfiguration const):
2335 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2336 (WTR::initializeWebViewConfiguration): Setting quota to 400kb
2338 2017-10-11 Commit Queue <commit-queue@webkit.org>
2340 Unreviewed, rolling out r223113 and r223121.
2341 https://bugs.webkit.org/show_bug.cgi?id=178182
2343 Reintroduced 20% regression on Kraken (Requested by rniwa on
2346 Reverted changesets:
2348 "Enable gigacage on iOS"
2349 https://bugs.webkit.org/show_bug.cgi?id=177586
2350 https://trac.webkit.org/changeset/223113
2352 "Use one virtual allocation for all gigacages and their
2354 https://bugs.webkit.org/show_bug.cgi?id=178050
2355 https://trac.webkit.org/changeset/223121
2357 2017-10-11 Ryosuke Niwa <rniwa@webkit.org>
2359 Sanitize URL in pasteboard for other applications and cross origin content
2360 https://bugs.webkit.org/show_bug.cgi?id=178060
2361 <rdar://problem/34874518>
2363 Reviewed by Wenson Hsieh.
2365 Added API tests for sanitizing URLs copied from web content, and that the original URL is exposed to the web content.
2367 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2368 * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: Added.
2369 (readURLFromPasteboard): A helper function.
2370 * TestWebKitAPI/Tests/WebKitCocoa/copy-url.html: Added.
2371 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2372 (DataInteractionTests.DataTransferGetDataWhenDroppingCustomData): Rebaselined. https://www.apple.com is no longer
2373 normalized to https://www.apple.com/ by NSURL / UIPasteboard as expected.
2374 (DataInteractionTests.DataTransferSetDataValidURL): Added.
2375 (DataInteractionTests.DataTransferSetDataUnescapedURL): Added.
2376 (DataInteractionTests.qDataTransferSetDataInvalidURL): Added.
2378 2017-10-11 Chris Dumez <cdumez@apple.com>
2380 Modernize Geolocation code
2381 https://bugs.webkit.org/show_bug.cgi?id=178148
2383 Reviewed by Ryosuke Niwa.
2385 * DumpRenderTree/mac/TestRunnerMac.mm:
2386 (TestRunner::setMockGeolocationPosition):
2388 2017-10-11 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
2390 [GStreamer] Many media source tests crashing with GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0' failed in gst_qtdemux_configure_stream()
2391 https://bugs.webkit.org/show_bug.cgi?id=176804
2393 Reviewed by Michael Catanzaro.
2395 Add patch to fix assert in qtdemux.
2397 * gstreamer/jhbuild.modules:
2398 * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added.
2400 2017-10-11 Tomas Popela <tpopela@redhat.com>
2402 Use https for trac changeset and browser links
2403 https://bugs.webkit.org/show_bug.cgi?id=178167
2405 Reviewed by Alexey Proskuryakov.
2407 Switch the http://trac.webkit.org/changeset and
2408 http://trac.webkit.org/browser links that are printed by webkitpy to
2409 https. Also update the test expectations.
2411 * Scripts/webkitpy/common/checkout/checkout_unittest.py:
2412 * Scripts/webkitpy/common/config/committervalidator_unittest.py:
2413 (CommitterValidatorTest.test_flag_permission_rejection_message):
2414 * Scripts/webkitpy/common/config/urls.py:
2416 (view_revision_url):
2417 * Scripts/webkitpy/common/net/bugzilla/bug_unittest.py:
2418 (BugTest.test_commit_revision):
2419 * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
2420 * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
2421 * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
2423 (MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
2424 * Scripts/webkitpy/style/checkers/changelog_unittest.py:
2425 (ChangeLogCheckerTest.test_missing_bug_number):
2426 * Scripts/webkitpy/tool/bot/feeders_unittest.py:
2427 * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
2428 * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
2429 (IRCBotTest.test_rollout):
2430 (IRCBotTest.test_revert):
2431 (IRCBotTest.test_multi_rollout):
2432 (IRCBotTest.test_rollout_with_r_in_svn_revision):
2433 (IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
2434 (IRCBotTest.test_rollout_invalidate_reason):
2435 (test_multi_rollout_invalidate_reason):
2436 * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
2437 * Scripts/webkitpy/tool/commands/download_unittest.py:
2438 * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
2439 * Scripts/webkitpy/tool/commands/queues_unittest.py:
2440 * Scripts/webkitpy/tool/commands/suggestnominations.py:
2441 (SuggestNominations._count_commit):
2442 * Scripts/webkitpy/tool/commands/upload_unittest.py:
2443 * Scripts/webkitpy/tool/servers/data/rebaselineserver/util.js:
2446 * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
2447 (CloseBugForLandDiffTest.test_empty_state):
2448 * Scripts/webkitpy/tool/steps/commit_unittest.py:
2449 (CommitTest._test_check_test_expectations):
2450 * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
2451 (UpdateChangeLogsForRevertTest):
2453 2017-10-10 Ryosuke Niwa <rniwa@webkit.org>
2455 Enable custom pasteboard data in DumpRenderTree and WebKitTestRunner
2456 https://bugs.webkit.org/show_bug.cgi?id=178154
2458 Reviewed by Wenson Hsieh.
2460 Fixed the bug that LocalPasteboard would fail to load the promise type if data is set after declaring types
2461 by delaying the call to provideDataForType until when dataForType is called.
2463 Without this fix, fast/events/dropzone-002.html would start failing after enabling custom pasteboard data.
2464 With this fix, fast/events/dropzone-005.html also starts passing.
2466 * DumpRenderTree/mac/DumpRenderTree.mm:
2467 (resetWebPreferencesToConsistentValues):
2468 * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2469 (-[LocalPasteboard addTypes:owner:]):
2470 (-[LocalPasteboard dataForType:]):
2471 * WebKitTestRunner/TestController.cpp:
2472 (WTR::TestController::resetPreferencesToConsistentValues):
2474 2017-10-10 Joanmarie Diggs <jdiggs@igalia.com>
2476 AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM
2477 https://bugs.webkit.org/show_bug.cgi?id=178137
2479 Reviewed by Chris Fleizach.
2481 Add handling for ATK_ROLE_LANDMARK resulting from the ARIA form role.
2483 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2485 2017-10-10 Jonathan Bedard <jbedard@apple.com>
2487 run-webkit-tests: upload test results to multiple servers
2488 https://bugs.webkit.org/show_bug.cgi?id=178012
2489 <rdar://problem/34856501>
2491 Reviewed by Lucas Forschler.
2493 Allowing uploading of results to multiple servers makes developing new results
2494 databases much easier, and does not complicate uploading logic.
2496 * Scripts/webkitpy/layout_tests/controllers/manager.py:
2497 (Manager.upload_results): Iterate through the list of results server hosts and
2498 send results to each one.
2499 * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
2500 (JSONLayoutResultsGenerator.__init__): Accept a list of test results servers.
2501 * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
2502 (JSONResultsGenerator.__init__): Accept a list of test results servers.
2503 (JSONResultsGenerator.get_json): Pick which server to download from by index.
2504 (JSONResultsGenerator.upload_json_files): Upload the JSON to each results server.
2505 (JSONResultsGenerator._get_archived_json_results): Pick which server to download from.
2506 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2507 (parse_args): Allow multiple test-results-servers and results-server-hosts to be
2508 passed to run-webkit-tests.
2510 2017-10-09 Youenn Fablet <youenn@apple.com>
2512 Vector should be able to easily create from a list of movable only items
2513 https://bugs.webkit.org/show_bug.cgi?id=176432
2515 Reviewed by Darin Adler.
2517 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2518 (TestWebKitAPI::TEST):
2520 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2522 Enable gigacage on iOS
2523 https://bugs.webkit.org/show_bug.cgi?id=177586
2525 Reviewed by JF Bastien.
2527 Add a mode to test disabling Gigacage.
2529 * Scripts/run-jsc-stress-tests:
2530 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2532 2017-10-09 Commit Queue <commit-queue@webkit.org>
2534 Unreviewed, rolling out r223015 and r223025.
2535 https://bugs.webkit.org/show_bug.cgi?id=178093
2537 Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
2540 Reverted changesets:
2542 "Enable gigacage on iOS"
2543 https://bugs.webkit.org/show_bug.cgi?id=177586
2544 http://trac.webkit.org/changeset/223015
2546 "Unreviewed, disable Gigacage on ARM64 Linux"
2547 https://bugs.webkit.org/show_bug.cgi?id=177586
2548 http://trac.webkit.org/changeset/223025
2550 2017-10-09 Sam Weinig <sam@webkit.org>
2552 Make HashMap::keys() and HashMap::values() work with WTF::map/WTF::copyToVector
2553 https://bugs.webkit.org/show_bug.cgi?id=178072
2555 Reviewed by Darin Adler.
2557 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2558 (TestWebKitAPI::TEST):
2560 Add tests for HashMap::keys() and HashMap::values() working with copyToVector.
2562 2017-10-05 Frederic Wang <fwang@igalia.com>
2564 Remove WOFF2 from Source/ThirdParty.
2565 https://bugs.webkit.org/show_bug.cgi?id=177862
2567 Reviewed by Michael Catanzaro.
2569 * Scripts/webkitpy/style/checker.py: Remove woff2.
2570 * gtk/jhbuild.modules: Add new jhbuild module for woff2.
2572 2017-10-08 Sam Weinig <sam@webkit.org>
2574 It should be possible to create a ListHashSet with a std::initializer_list.
2575 https://bugs.webkit.org/show_bug.cgi?id=178070
2577 Reviewed by Darin Adler.
2579 * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
2580 (TestWebKitAPI::TEST):
2581 Add a test for using std::initializer_list with ListHashSet.
2583 2017-10-08 Sam Weinig <sam@webkit.org>
2585 There should be a version of copyToVector that returns a Vector, rather than using an out parameter
2586 https://bugs.webkit.org/show_bug.cgi?id=177732
2588 Reviewed by Saam Barati.
2590 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2591 (TestWebKitAPI::TEST):
2592 Add tests for the new copyToVector and copyToVectorOf functions.
2594 2017-10-08 Darin Adler <darin@apple.com>
2596 Fix bugs related to setting reflected floating point DOM attributes
2597 https://bugs.webkit.org/show_bug.cgi?id=178061
2599 Reviewed by Sam Weinig.
2601 * TestWebKitAPI/Tests/WTF/AtomicString.cpp: Added a test of the
2602 AtomicString::number function, based on the test cases we already
2603 had for String::numberToStringECMAScript, and with some additional
2604 cases with powers of 10 that check handling of trailng zeroes.
2606 * TestWebKitAPI/Tests/WTF/WTFString.cpp: Added test cases to the
2607 existing tests of the String::numberToStringECMAScript function
2608 as above. Also added tests for String::number and for
2609 String::numberToStringFixedWidth. Also changed the tests to all use
2610 EXPECT instead of ASSERT macros since these are all non-fatal.
2612 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2613 (WTR::dumpFrameScrollPosition): Use StringBuilder::appendECMAScriptNumber
2614 instead of String::number.
2616 2017-10-08 Dean Jackson <dino@apple.com>
2618 Make sort-Xcode-project file handle UnifiedSources
2619 https://bugs.webkit.org/show_bug.cgi?id=178042
2621 Reviewed by Sam Weinig.
2623 Sort the UnifiedSource(\d+) files by number rather
2624 than alphabetically.
2626 * Scripts/sort-Xcode-project-file:
2627 (sortChildrenByFileName):
2628 (sortFilesByFileName):
2630 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2632 Enable gigacage on iOS
2633 https://bugs.webkit.org/show_bug.cgi?id=177586
2635 Reviewed by JF Bastien.
2637 Add a mode to test disabling Gigacage.
2639 * Scripts/run-jsc-stress-tests:
2640 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2642 2017-10-06 Aishwarya Nirmal <anirmal@apple.com>
2644 [iOS] Respect the "caret-color" CSS property when editing
2645 https://bugs.webkit.org/show_bug.cgi?id=177489
2646 <rdar://problem/34600419>
2648 Reviewed by Tim Horton.
2650 Adds test for iOS caret color support.
2652 * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
2653 (TestWebKitAPI::TEST):
2654 * TestWebKitAPI/ios/UIKitSPI.h:
2656 2017-10-06 Alex Christensen <achristensen@webkit.org>
2658 Add more infrastructure to apply custom header fields to same-origin requests
2659 https://bugs.webkit.org/show_bug.cgi?id=177629
2661 Reviewed by Ryosuke Niwa.
2663 * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
2664 (canonicalizeHTTPHeader):
2665 (shouldRemainUnchanged):
2668 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2671 (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
2672 (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
2673 (-[CustomHeaderFieldsDelegate webView:stopURLSchemeTask:]):
2675 Test main resource requests, subresource requests, and cross-origin requests.
2677 2017-10-06 Wenson Hsieh <wenson_hsieh@apple.com>
2679 [iOS] Tweak support for classifying form controls (followup to r222487)
2680 https://bugs.webkit.org/show_bug.cgi?id=177917
2681 <rdar://problem/34820122>
2683 Reviewed by Dean Jackson.
2685 Minor cleanup around autofill API tests added in r222487. Additionally, augments some of these API tests to
2686 verify that after blurring the focused element, the content view no longer accepts autofill credentials (see
2687 WebKit ChangeLog for more details). Also augments tests to verify that the URL in the autofill context matches
2690 * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
2692 Remove the USE(APPLE_INTERNAL_SDK) guard for these API tests.
2694 (newUIKeyboardLoginCredentialsSuggestion):
2696 Add a stub implementation of UIKeyboardLoginCredentialsSuggestion. This allows
2697 [UIKeyboardLoginCredentialsSuggestion new] to return a nonnull object, which allows these API tests to verify
2698 that the credential filling codepath works as intended without any additional UIKit changes. Currently, tests
2699 for the value of username and password fields are passing even though the fields are not being populated because
2700 the expected string values are null, and the observed value is an empty string. We instead check the literal
2701 string values here instead of credentialSuggestion's properties, so that tests verifying the behavior of
2702 -insertTextSuggestion: will require username and password inputs to be populated.
2704 (-[TestInputDelegate _webView:focusShouldStartInputSession:]):
2705 (-[AutofillTestView initWithFrame:]):
2706 (-[AutofillTestView _autofillInputView]):
2707 (-[AutofillTestView textInputHasAutofillContext]):
2708 (TestWebKitAPI::TEST):
2710 Add an additional API test to verify that programmatic focus without user interaction (and also without testing
2711 overrides) does not activate autofill.
2713 (createUIKeyboardLoginCredentialsSuggestion): Deleted.
2714 (-[WKWebView _privateTextInput]): Deleted.
2715 * TestWebKitAPI/ios/UIKitSPI.h:
2717 Minor gardening to remove iOS version >= 11 guards that are now unnecessary. Additionally, add some more private
2718 header imports (with corresponding interface definitions for building and running with the public SDK).
2720 2017-10-06 Antti Koivisto <antti@apple.com>
2722 Minor WeakPtr improvements
2723 https://bugs.webkit.org/show_bug.cgi?id=177958
2725 Reviewed by Sam Weinig.
2727 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2728 (TestWebKitAPI::TEST):
2729 (TestWebKitAPI::Base::createWeakPtr): Deleted.
2731 2017-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
2733 Unreviewed. Fix parsing of GTK unit tests output in bot configuration.
2735 * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2736 (RunGtkAPITests.commandComplete): Remove trailing ':' from the regular expression.
2738 2017-10-06 Charles Turner <cturner@igalia.com>
2740 Disable bmalloc when running Valgrind
2741 https://bugs.webkit.org/show_bug.cgi?id=177923
2743 Reviewed by Carlos Alberto Lopez Perez.
2745 * Scripts/webkitpy/port/gtk.py:
2746 (GtkPort.setup_environ_for_server):
2748 2017-10-06 Zan Dobersek <zdobersek@igalia.com>
2750 Implement TestController::platformContext() for WPE, returning the
2751 m_context pointer as the GTK+ port does. This fixes the crashes on
2754 Rubber-stamped by Carlos Garcia Campos.
2756 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2757 (WTR::TestController::platformContext):
2759 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2761 [GTK][WPE] Add API to configure and enable resource load statistics
2762 https://bugs.webkit.org/show_bug.cgi?id=177943
2764 Reviewed by Michael Catanzaro.
2766 Add a command line option to enable intelligent tracking prevention to MiniBrowser and tests cases to check the
2769 * MiniBrowser/gtk/main.c:
2771 * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
2773 (testWebsiteDataConfiguration):
2774 (testWebsiteDataEphemeral):
2775 (testWebsiteDataResourceLoadStats):
2777 * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
2779 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
2780 (directoryChangedCallback):
2781 (WebViewTest::waitUntilFileExists):
2782 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2784 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2786 [GTK][WPE] All resource load statistics tests added in r212183 crash in GTK bots, timeout in GTK and WPE bots since r219049
2787 https://bugs.webkit.org/show_bug.cgi?id=168171
2789 Reviewed by Chris Dumez.
2791 Implement all resource load statistics functions in TestController using the C API. Also enable the FileMonitor
2792 unit test. This test requires a platform implementation of Util::run(), so I've added UtilitiesGLib.cpp with an
2793 iplementation common to glib based ports using WTF RunLoop abstraction.
2795 * TestWebKitAPI/PlatformGTK.cmake:
2796 * TestWebKitAPI/PlatformWPE.cmake:
2797 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
2798 * TestWebKitAPI/glib/UtilitiesGLib.cpp: Copied from Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h.
2799 (TestWebKitAPI::Util::run):
2800 (TestWebKitAPI::Util::spinRunLoop):
2801 (TestWebKitAPI::Util::sleep):
2802 * TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
2803 * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
2804 * WebKitTestRunner/TestController.cpp:
2805 (WTR::TestController::platformAdjustContext):
2806 (WTR::TestController::setStatisticsLastSeen):
2807 (WTR::TestController::setStatisticsPrevalentResource):
2808 (WTR::ResourceStatisticsCallbackContext::ResourceStatisticsCallbackContext):
2809 (WTR::resourceStatisticsCallback):
2810 (WTR::TestController::isStatisticsPrevalentResource):
2811 (WTR::TestController::setStatisticsHasHadUserInteraction):
2812 (WTR::TestController::isStatisticsHasHadUserInteraction):
2813 (WTR::TestController::setStatisticsGrandfathered):
2814 (WTR::TestController::isStatisticsGrandfathered):
2815 (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
2816 (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
2817 (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
2818 (WTR::TestController::setStatisticsTimeToLiveUserInteraction):
2819 (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
2820 (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
2821 (WTR::TestController::statisticsUpdateCookiePartitioning):
2822 (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
2823 (WTR::TestController::statisticsSubmitTelemetry):
2824 (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
2825 (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
2826 (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
2827 (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
2828 (WTR::TestController::setStatisticsGrandfatheringTime):
2829 (WTR::TestController::setStatisticsMaxStatisticsEntries):
2830 (WTR::TestController::setStatisticsPruneEntriesDownTo):
2831 (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
2832 (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
2833 (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
2834 (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
2835 (WTR::TestController::statisticsResetToConsistentState):
2836 * WebKitTestRunner/TestController.h:
2838 2017-10-05 Jer Noble <jer.noble@apple.com>
2840 [Cocoa] Enable ENABLE_ENCRYPTED_MEDIA build-time setting
2841 https://bugs.webkit.org/show_bug.cgi?id=177261
2843 Reviewed by Eric Carlson.
2845 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2847 2017-10-05 Alex Christensen <achristensen@webkit.org>
2849 Add ObjC equivalent of WKPageNavigationClient.didChangeBackForwardList
2850 https://bugs.webkit.org/show_bug.cgi?id=177966
2851 <rdar://problem/22387135>
2853 Reviewed by Tim Horton.
2855 * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
2856 (-[ListItemDelegate _webView:backForwardListItemAdded:removed:]):
2857 (-[ListItemDelegate webView:didFinishNavigation:]):
2860 2017-10-04 Megan Gardner <megan_gardner@apple.com>
2862 check-webkit-style erroneously requires a space between the carrot and brace in obj-c blocks.
2863 https://bugs.webkit.org/show_bug.cgi?id=177897
2865 Reviewed by Dan Bernstein and Jonathan Bedard.
2867 Remove the check for a space between ^ and {,
2868 as this is valid and expected Obj-C. Now check to make sure there is
2869 no space at all between ^ and {, and also that there is a space between
2870 the end of an argument list and the {.
2872 * Scripts/webkitpy/style/checkers/cpp.py:
2873 (regex_for_lambdas_and_blocks):
2875 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2877 Unreviewed. Run WebKit2 C API tests in GTK+ bots again after the last WebKit2 -> WebKit rename.
2879 * Scripts/run-gtk-tests:
2881 (TestRunner._run_test):
2883 2017-10-05 Darin Adler <darin@apple.com>
2885 Remove additional WebKitSystemInterface remnants
2886 https://bugs.webkit.org/show_bug.cgi?id=177948
2888 Reviewed by Andy Estes.
2890 * DumpRenderTree/PlatformMac.cmake: Removed code to link the
2891 WebKitSystemInterface library. Left in code that points to
2892 the WebKitLibraries directory, but maybe that can be removed by
2893 someone who is more certain it's no longer needed.
2895 * Scripts/copy-webkitlibraries-to-product-directory: Removed code
2896 to copy and delete WebKitSystemInterface libraries and headers.
2898 * WebKitTestRunner/PlatformMac.cmake: Removed code to link the
2899 WebKitSystemInterface library. Left in code that points to
2900 the WebKitLibraries directory, but maybe that can be removed by
2901 someone who is more certain it's no longer needed.
2903 2017-10-05 Saam Barati <sbarati@apple.com>
2905 Unreviewed. Try to make debug type profiler tests stop timing out.
2907 * Scripts/run-jsc-stress-tests:
2909 2017-10-03 Frederic Wang <fwang@igalia.com>
2911 Remove Brotli from Source/ThirdParty
2912 https://bugs.webkit.org/show_bug.cgi?id=177804
2914 Reviewed by Michael Catanzaro.
2916 * gtk/jhbuild.modules: Build brotli 1.0.1 from the official github repository.
2917 * Scripts/webkitpy/style/checker.py: Remove brotli.
2919 2017-10-04 Alex Christensen <achristensen@webkit.org>
2921 Stop linking with WebKitSystemInterface
2922 https://bugs.webkit.org/show_bug.cgi?id=177915
2924 Reviewed by Antti Koivisto.
2926 * DumpRenderTree/mac/Configurations/Base.xcconfig:
2927 * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
2928 * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
2929 * DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
2930 * WebKitTestRunner/Configurations/Base.xcconfig:
2931 * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
2932 * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
2933 * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
2934 * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
2936 2017-10-04 Alex Christensen <achristensen@webkit.org>
2938 Remove unnecessary includes of WebKitSystemInterface on Cocoa platforms
2939 https://bugs.webkit.org/show_bug.cgi?id=177912
2941 Reviewed by Saam Barati.
2943 * DumpRenderTree/mac/DumpRenderTree.mm:
2945 2017-10-04 Megan Gardner <megan_gardner@apple.com>
2947 Break out new touch debugging code into seperate file
2948 https://bugs.webkit.org/show_bug.cgi?id=177796
2950 Reviewed by Simon Fraser.
2952 Encapsulate the new debug touch code into it's own file.
2953 This allows for cleaner code and a better way to show the touches
2954 in a completely separate window, which should also be in screen
2955 coordinates, and not subject to any transforms that get put on the
2958 * TestRunnerShared/spi/UIKitTestSPI.h:
2959 * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2960 * WebKitTestRunner/ios/HIDDebugTouchWindow.h: Added.
2961 * WebKitTestRunner/ios/HIDDebugTouchWindow.mm: Added.
2962 (+[HIDDebugTouchWindow sharedHIDDebugTouchWindow]):
2963 (-[HIDDebugTouchWindow init]):
2964 (-[HIDDebugTouchWindow dealloc]):
2965 (-[HIDDebugTouchWindow updateDebugIndicatorForTouch:withPointInWindowCoordinates:isTouching:]):
2966 (-[HIDDebugTouchWindow initDebugViewsIfNeeded]):
2967 * WebKitTestRunner/ios/HIDEventGenerator.h:
2968 * WebKitTestRunner/ios/HIDEventGenerator.mm:
2969 (-[HIDEventGenerator init]):
2970 (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
2971 (-[HIDEventGenerator _createIOHIDEventType:]):
2972 (-[HIDEventGenerator _updateTouchPoints:count:]):
2973 (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
2974 (-[HIDEventGenerator touchDown:touchCount:]):
2975 (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
2976 (-[HIDEventGenerator liftUp:touchCount:]):
2977 (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
2978 (-[HIDEventGenerator initDebugViewsIfNeeded]): Deleted.
2979 (-[HIDEventGenerator updateDebugIndicatorForTouch:withPoint:isTouching:]): Deleted.
2980 * WebKitTestRunner/ios/TestControllerIOS.mm:
2981 (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
2983 2017-10-04 JF Bastien <jfbastien@apple.com>
2985 WTF: Update std::expected to match current proposal
2986 https://bugs.webkit.org/show_bug.cgi?id=177881
2988 Reviewed by Mark Lam.
2990 The proposal is likely to be in C++20 and I've been asked to help co-champion
2991 it. I'm therefore updating our implementation to more closely match the current
2992 proposal, and to make sure it'll work for us if standardized.
2994 - Rename UnexpectedType to Unexpected to match the proposal.
2995 - Remove relational operators, only equality / inequality remains.
2996 - Fix minor type signatures.
2997 - Add UnexpectedType typedef.
2998 - Uncomment rebind implementation.
2999 - Add in-place construction tag, as well as explicit error construction tag.
3000 - Add template unexpected constructor.
3001 - Note that make_unexpected isn't in the proposal anymore, but we keep it because we don't have C++17 deduction guides.
3002 - Remove hashing, which isn't in the proposal anymore.
3004 * TestWebKitAPI/Tests/WTF/Expected.cpp:
3006 (TestWebKitAPI::TEST):
3008 2017-10-04 Lucas Forschler <lforschler@apple.com>
3010 https://bugs.webkit.org/show_bug.cgi?id=177888
3011 WebKitArchiveSupport - add API Gateway to source control
3012 This is a swagger configuration export via AWS API Gateway console.
3014 Rubber-stamped by Alexey Proskuryakov.
3016 * WebKitArchiveSupport/AWS-APIGateway: Added.
3017 * WebKitArchiveSupport/AWS-APIGateway/stage-v2.json: Added.
3019 2017-10-04 Mark Lam <mark.lam@apple.com>
3021 Add support for using Probe DFG OSR Exit behind a runtime flag.
3022 https://bugs.webkit.org/show_bug.cgi?id=177844
3023 <rdar://problem/34801425>
3025 Reviewed by Saam Barati.
3027 Enable --useProbeOSrExit=true for dfg-eager and ftl-no-cjit-validate-sampling-profiler
3028 test configurations.
3030 * Scripts/run-jsc-stress-tests:
3032 2017-10-04 Jonathan Bedard <jbedard@apple.com>
3034 webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
3035 https://bugs.webkit.org/show_bug.cgi?id=177751
3036 <rdar://problem/34769470>
3038 Reviewed by Daniel Bates.
3040 Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
3041 result. When capturing output from the MockExecutive, the first invocation of
3042 Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
3043 but subsequent invocations will not.
3045 * Scripts/webkitpy/tool/steps/steps_unittest.py:
3047 (StepsTest.setUp): Cache the build path before running tests.
3049 2017-10-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
3051 [JHBuild][GTK][WKE] Circular dependency between harfbuzz and freetype6
3052 https://bugs.webkit.org/show_bug.cgi?id=177865
3054 Reviewed by Michael Catanzaro.
3056 Build freetype6 without harfbuzz support.
3057 This seems to be what distros like Fedora, Debian or OpenEmbedded do.
3058 Also explicitly enable support for freetype and fontconfig on harfbuzz.
3060 * gtk/jhbuild.modules: Enable also support for icu.
3061 * wpe/jhbuild.modules:
3063 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
3065 [Test262] Update Test262 to Oct 4 version
3066 https://bugs.webkit.org/show_bug.cgi?id=177859
3068 Reviewed by Sam Weinig.
3070 * Scripts/import-test262-tests:
3072 2017-10-04 Ryosuke Niwa <rniwa@webkit.org>
3074 Use blob URL when pasting RTFD instead of overriding DocumentLoader
3075 https://bugs.webkit.org/show_bug.cgi?id=177801
3076 <rdar://problem/34542270>
3078 Reviewed by Wenson Hsieh.
3080 Added a regression test for an assertion failure when pasting an empty RTFD as well as a test for pasting
3081 RTFD with an image, which should result in an image element with a blob URL.
3083 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3084 * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
3085 * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
3086 * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html:
3088 2017-10-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3090 [GLib] Let WebCore know of low power situations
3091 https://bugs.webkit.org/show_bug.cgi?id=177810
3093 Reviewed by Carlos Garcia Campos.
3095 * gtk/install-dependencies: add upower-glib dev packages for Debian, Arch and Fedora.
3097 2017-10-03 Saam Barati <sbarati@apple.com>
3099 Implement polymorphic prototypes
3100 https://bugs.webkit.org/show_bug.cgi?id=176391
3102 Reviewed by Filip Pizlo.
3104 * Scripts/run-jsc-stress-tests:
3106 2017-10-03 Myles C. Maxfield <mmaxfield@apple.com>
3108 Create a SPIR-V assembler
3109 https://bugs.webkit.org/show_bug.cgi?id=177726
3111 Reviewed by Filip Pizlo.
3113 Khronos has released a json file containing every SPIR-V opcode and operand at
3114 https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/1.2/spirv.core.grammar.json
3115 This patch creates a function which loads this file (via the fetch API), parses it, and creates
3116 an object which holds two things:
3117 - For each opcode, a class which accepts the appropriate operands
3118 - For each enum type, an object which holds each enum value
3119 The constructor for each opcode is smart enough to do some basic type-checking of the argument,
3120 according to the types listed in Khronos's json file.
3122 This patch also includes an example .html file which outputs a dummy SPIR-V program,
3123 which happens to be compatible with the SPIR-V demo at
3124 https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/demos/cube.cpp
3125 If you modify this demo to use the generated SPIR-V program, you can see the result in
3128 This patch also commits a copy of Khronos's json file mentioned above. This isn't the first
3129 Khronos file we've committed into our repository with this license, so there shouldn't be any
3132 * WebGPUShadingLanguageRI/SPIR-V.js: Added.
3135 (SPIRVAssembler.prototype.append):
3136 (SPIRVAssembler.prototype.get size):
3137 (SPIRVAssembler.prototype.get storage):
3138 (SPIRVAssembler.prototype.get result):
3139 * WebGPUShadingLanguageRI/SPIRV.html: Added.
3140 * WebGPUShadingLanguageRI/spirv.core.grammar.json: Added.
3142 2017-10-03 Chris Dumez <cdumez@apple.com>
3144 SharedStringHashStore should support removing hashes
3145 https://bugs.webkit.org/show_bug.cgi?id=177770
3147 Reviewed by Alex Christensen.
3149 Add API test coverage.
3151 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3152 * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: Added.
3153 (TestWebKitAPI::TEST):
3155 2017-10-03 Dewei Zhu <dewei_zhu@apple.com>
3157 Fix missing import for BenchmarkRunner.
3158 https://bugs.webkit.org/show_bug.cgi?id=177842
3160 Reviewed by Ryosuke Niwa.
3162 'show_results' requires BenchmarkRunner.
3164 * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
3166 2017-10-03 Olivier Blin <olivier.blin@softathome.com>
3168 [WPE] Bump deps to add support for xdg-shell-unstable-v6 protocol
3169 https://bugs.webkit.org/show_bug.cgi?id=177820
3171 Reviewed by Žan Doberšek.
3173 gnome-shell does not advertize the xdg-shell protocol anymore, but xdg-shell-unstable-v6 instead.
3174 Support has been added in WPEBackend-mesa, we need to update the requirements.
3175 wayland-1.10 is needed for wl_proxy_get_version(), used in the generated headers.
3177 * wpe/jhbuild.modules:
3179 2017-10-03 Alex Christensen <achristensen@webkit.org>
3181 Add ObjC SPI equivalent to WKPageLoaderClient.willGoToBackForwardListItem
3182 https://bugs.webkit.org/show_bug.cgi?id=177825
3183 <rdar://problem/22387505>
3185 Reviewed by Tim Horton.
3187 * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
3188 (-[BackForwardDelegate _webView:willGoToBackForwardListItem:inPageCache:]):
3189 (-[BackForwardDelegate webView:didFinishNavigation:]):
3192 2017-10-03 Antti Koivisto <antti@apple.com>
3194 Allow assigning WeakPtr<Derived> to WeakPtr<Base>
3195 https://bugs.webkit.org/show_bug.cgi?id=177817
3197 Reviewed by Geoff Garen.
3199 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3200 (TestWebKitAPI::Base::weakPtrFactory):
3201 (TestWebKitAPI::TEST):
3203 2017-10-03 Youenn Fablet <youenn@apple.com>
3205 Remove no longer needed WebRTC build infrastructure
3206 https://bugs.webkit.org/show_bug.cgi?id=177756
3208 Reviewed by Alejandro G. Castro.
3210 * Scripts/generate-libwebrtc-cmake: Removed.
3211 * Scripts/webkitpy/libwebrtc/__init__.py: Removed.
3212 * Scripts/webkitpy/libwebrtc/generate_cmake.py: Removed.
3214 2017-10-03 Joanmarie Diggs <jdiggs@igalia.com>
3216 AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes
3217 https://bugs.webkit.org/show_bug.cgi?id=177763
3219 Reviewed by Chris Fleizach.
3221 Implement ariaIsGrabbed() and ariaDropEffects() for ATK.
3223 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3224 (WTR::AccessibilityUIElement::ariaIsGrabbed const):
3225 (WTR::AccessibilityUIElement::ariaDropEffects const):
3227 2017-10-02 Myles C. Maxfield <mmaxfield@apple.com>
3229 Make WSL demo compatible with Microsoft Edge
3230 https://bugs.webkit.org/show_bug.cgi?id=177643
3232 Reviewed by Saam Barati.
3234 This patch does two things. The first is it migrates a loop over ParentNode.children to a legacy style loop
3235 because Microsoft Edge throws an exception when trying to use a for...of loop with it. This patch also hides
3236 the compilation behind a setTimeout(0) so there is some indication that something is happening during a
3240 * Tools/WebGPUShadingLanguageRI/index.html:
3242 2017-10-02 Joanmarie Diggs <jdiggs@igalia.com>
3244 AX: [ATK] The value of aria-level is not exposed on non-heading roles
3245 https://bugs.webkit.org/show_bug.cgi?id=177775
3247 Reviewed by Chris Fleizach.
3249 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3250 (WTR::AccessibilityUIElement::hierarchicalLevel const):
3252 2017-10-02 Geoffrey Garen <ggaren@apple.com>
3254 WeakPtr should have a move constructor
3255 https://bugs.webkit.org/show_bug.cgi?id=177789
3257 Reviewed by Chris Dumez.
3259 Chris made me write an API test. It wasn't that painful.
3261 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3262 (TestWebKitAPI::TEST):
3264 2017-10-02 Filip Pizlo <fpizlo@apple.com>
3267 https://bugs.webkit.org/show_bug.cgi?id=177705
3269 Rubber stamped by Keith Miller.
3271 When I first wrote the prototype, I thought it would be cool to use ^ for pointers. Nobody agrees. I've
3272 gotten so much feedback to use *. This changes pointers to use *.
3274 * WebGPUShadingLanguageRI/DereferenceExpression.js:
3275 (DereferenceExpression.prototype.toString):
3276 (DereferenceExpression):
3277 * WebGPUShadingLanguageRI/Intrinsics.js:
3279 * WebGPUShadingLanguageRI/Parse.js:
3281 (parsePossiblePrefix):
3282 * WebGPUShadingLanguageRI/PtrType.js:
3283 (PtrType.prototype.toString):
3285 * WebGPUShadingLanguageRI/StandardLibrary.js:
3286 * WebGPUShadingLanguageRI/Test.js:
3287 (tests.simpleDereference):
3288 (tests.dereferenceStore):
3289 (tests.simpleMakePtr):
3293 (tests.dereferenceDefaultNull):
3294 (tests.defaultInitializedNull):
3295 (tests.passNullToPtrMonomorphic):
3296 (tests.passNullToPtrPolymorphic):
3297 (tests.passNullAndNotNull):
3298 (tests.passNullAndNotNullFullPoly):
3299 (tests.passNullAndNotNullFullPolyReverse):
3300 (tests.chainGeneric):
3301 (tests.chainStruct):
3302 (tests.chainStructNewlyValid):
3303 (tests.chainStructDevice):
3304 (tests.paramChainStructDevice):
3305 (tests.simpleProtocolExtends):
3306 (tests.protocolExtendsTwo):
3307 (tests.overrideSubscriptStruct):
3308 (tests.overrideSubscriptStructAndDoStores):
3309 (tests.overrideSubscriptStructAndUsePointers):
3310 (tests.overrideSubscriptStructAndUsePointersIncorrectly):
3311 (tests.makeArrayRefFromPointer):
3312 (tests.nonArrayRefArrayLengthFail):
3313 (tests.constexprIsNotLValuePtr):
3314 (tests.genericAccessors):
3315 (tests.nestedSubscriptLValueEmulationSimple):
3316 (tests.nestedSubscriptLValueEmulationGeneric):
3317 (tests.shaderTypes):
3318 (tests.enumPtrBase):
3319 (tests.mutuallyRecursiveStructWithPointersBroken):
3320 (tests.mutuallyRecursiveStructWithPointers):
3322 (tests.pointerToPointer):
3323 (tests.pointerGetter):
3324 (tests.operatorCastWithTypeVariableInferredFromReturnType):
3325 (tests.loneSetterPointer):
3326 (tests.anderWithNothingWrong):
3327 (tests.anderWithWrongNumberOfArguments):
3328 (tests.anderDoesntReturnPointer):
3329 (tests.anderDoesntTakeReference):
3330 (tests.anderWithArrayRef):
3331 (tests.pointerIndexGetter):
3332 (tests.loneIndexSetterPointer):
3333 (tests.indexAnderWithNothingWrong):
3334 (tests.indexAnderWithWrongNumberOfArguments):
3335 (tests.indexAnderDoesntReturnPointer):
3336 (tests.indexAnderDoesntTakeReference):
3337 (tests.indexAnderWithArrayRef):
3338 (tests.devicePtrPtr):
3339 (tests.threadgroupPtrPtr):
3340 (tests.constantPtrPtr):
3341 (tests.pointerIndexGetterInProtocol):
3342 (tests.loneIndexSetterPointerInProtocol):
3343 (tests.indexAnderWithNothingWrongInProtocol):
3344 (tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
3345 (tests.indexAnderDoesntReturnPointerInProtocol):
3346 (tests.indexAnderDoesntTakeReferenceInProtocol):
3347 (tests.indexAnderWithArrayRefInProtocol):
3348 (tests.andReturnedArrayRef):
3350 2017-10-02 Filip Pizlo <fpizlo@apple.com>
3352 WSL should be fine with &foo()[i] if foo() returns a []
3353 https://bugs.webkit.org/show_bug.cgi?id=177704
3355 Reviewed by Saam Barati.
3357 Previously, we'd determine if a property access expression (base.field or base[index]) was an lvalue by
3358 asking if its base was an lvalue. This is right in all cases except if the base is of type []. Then, the
3359 property access expression is an lvalue so long as there is a setter or ander.
3361 This fixes the issue and adds a test.
3363 Also, this makes error messages in the case that something is not an lvalue a lot better. If something
3364 is not an lvalue because we could not find anders or setters, then we will tell you why we could not
3367 * WebGPUShadingLanguageRI/Checker.js:
3368 (Checker.prototype.visitAssignment):
3369 (Checker.prototype.visitReadModifyWriteExpression):
3370 (Checker.prototype.visitMakePtrExpression):
3371 (Checker.prototype._finishVisitingPropertyAccess):
3372 * WebGPUShadingLanguageRI/DotExpression.js:
3373 (DotExpression.prototype.get fieldName):
3374 (DotExpression.prototype.get isLValue): Deleted.
3375 (DotExpression.prototype.get addressSpace): Deleted.
3376 * WebGPUShadingLanguageRI/IndexExpression.js:
3377 (IndexExpression.prototype.get index):
3378 (IndexExpression.prototype.get isLValue): Deleted.
3379 (IndexExpression.prototype.get addressSpace): Deleted.
3380 * WebGPUShadingLanguageRI/PropertyAccessExpression.js:
3381 (PropertyAccessExpression):
3382 (PropertyAccessExpression.prototype.get isLValue):
3383 (PropertyAccessExpression.prototype.set isLValue):
3384 * WebGPUShadingLanguageRI/PropertyResolver.js:
3385 (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitMakeArrayRefExpression):
3386 (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
3387 (PropertyResolver.prototype._visitRValuesWithinLValue):
3388 * WebGPUShadingLanguageRI/Test.js:
3389 (tests.storeNullArrayRef):
3390 (tests.andReturnedArrayRef):
3392 2017-10-02 Wenson Hsieh <wenson_hsieh@apple.com>
3394 Guard iOS webkitGetAsEntry API tests on older iOS versions
3396 Unreviewed test gardening. After r222688, these tests require custom pasteboard data to be enabled by default,
3397 so don't run them against shipping iOS.
3399 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3401 2017-10-02 Carlos Garcia Campos <cgarcia@igalia.com>
3403 [WPE][GTK] Crash in webkit_web_resource_get_data_finish()
3404 https://bugs.webkit.org/show_bug.cgi?id=177107
3406 Reviewed by Michael Catanzaro.
3408 Add a test case to check we handle errors when webkit_web_resource_get_data() fails.
3410 * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
3411 (webViewloadChanged):
3412 (testWebResourceGetDataError):
3415 2017-10-02 Alex Christensen <achristensen@webkit.org>
3417 Fix build after r222715
3418 https://bugs.webkit.org/show_bug.cgi?id=177697
3420 * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3422 Use the public API instead of the removed SPI.
3424 2017-10-02 Alex Christensen <achristensen@webkit.org>
3426 REGRESSION(r214201): WebProcess hangs during policy decisions
3427 https://bugs.webkit.org/show_bug.cgi?id=177590
3428 <rdar://problem/33362929>
3430 Reviewed by Andy Estes.
3432 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3433 * TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm: Added.
3434 (-[JSNavigationDelegate webView:didFinishNavigation:]):
3435 (-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3436 (-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3437 (-[JSNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3440 2017-10-02 Jonathan Bedard <jbedard@apple.com>
3442 Log stack-trace for run-webkit-tests when interrupted
3443 https://bugs.webkit.org/show_bug.cgi?id=176393
3444 <rdar://problem/34262310>
3446 Reviewed by Darin Adler.
3448 When run-webkit-tests is stuck, it is difficult to immediately tell
3449 why. Saving a stack-trace when run-webkit-tests is terminated
3450 or stopped with CNTRL-C will make such issues easier to debug.
3452 * Scripts/webkitpy/common/interupt_debugging.py: Added.
3453 (log_stack_trace): Given a Python frame object, log a stack trace to
3455 (log_stack_trace_on_term): Attach a listener to SIGTERM so that a
3456 stack-trace can be logged when a program is terminated.
3457 (log_stack_trace_on_cntrl_c): Attach a listener to SIGINT so that a
3458 stack-trace can be logged when a program is CNTRL-Ced.
3459 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3460 (main): Set handlers to log stack trace on interruption.
3462 2017-10-02 Michael Catanzaro <mcatanzaro@igalia.com>
3464 Remove ENABLE_CSS_REGIONS
3465 https://bugs.webkit.org/show_bug.cgi?id=177689
3467 Reviewed by Darin Adler.
3469 * Scripts/webkitperl/FeatureList.pm:
3471 2017-09-30 Carlos Garcia Campos <cgarcia@igalia.com>
3473 Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.
3475 This version upgrades liberation fonts to version 2, that has a wider glyph coverage.
3477 * gtk/jhbuild.modules:
3479 2017-09-29 Alex Christensen <achristensen@webkit.org>
3481 Expose WebPreferences::webGLEnabled through WKPreferences
3482 https://bugs.webkit.org/show_bug.cgi?id=177692
3483 <rdar://problem/24110556>
3485 Reviewed by Andy Estes.
3487 * TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
3488 (-[AlertSaver alert]):
3489 (-[AlertSaver webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3492 2017-09-29 Alex Christensen <achristensen@webkit.org>
3494 Fix WKWebViewConfigurationPrivate after r222663
3495 https://bugs.webkit.org/show_bug.cgi?id=177644
3497 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3498 * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm: Added.
3501 2017-09-28 Ryosuke Niwa <rniwa@webkit.org>
3503 Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items
3504 https://bugs.webkit.org/show_bug.cgi?id=170449
3505 <rdar://problem/31432525>
3507 Reviewed by Wenson Hsieh.
3509 Added an API test to paste an image from pasteboard. The test is shared between iOS and macOS.
3511 The tests to paste image files are only enabled on macOS since putting files into pasteboard isn't a thing on iOS.
3513 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3514 * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: Added.
3515 (writeImageDataToPasteboard):
3516 (writeBundleFileToPasteboard):
3517 * TestWebKitAPI/Tests/WebKitCocoa/paste-image.html: Added.
3518 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-100px.tiff: Added.
3519 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-200px.png: Added.
3520 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-400px.gif: Added.
3521 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-600px.jpg: Added.
3522 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Rebaselined the test now that types contain "Files".
3524 2017-09-29 Wenson Hsieh <wenson_hsieh@apple.com>
3526 [iOS WK2] Implement -[WKContentView hasText] for compatibility with the UITextInput protocol
3527 https://bugs.webkit.org/show_bug.cgi?id=177662
3528 <rdar://problem/33410373>
3530 Reviewed by Tim Horton.
3532 Add EditorState API tests to check that the value of -[WKContentView hasText] is correct when editing both plain
3533 and rich text areas.
3535 * TestWebKitAPI/EditingTestHarness.h:
3536 * TestWebKitAPI/EditingTestHarness.mm:
3537 (-[EditingTestHarness insertParagraph]):
3538 (-[EditingTestHarness insertText:]):
3539 (-[EditingTestHarness insertHTML:]):
3540 (-[EditingTestHarness selectAll]):
3541 (-[EditingTestHarness deleteBackwards]):
3542 * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
3544 Add versions of EditingTestHarness helpers that don't require us to expect any editor state after executing the
3547 (TestWebKitAPI::checkContentViewHasTextWithFailureDescription):
3548 (TestWebKitAPI::TEST):
3549 * TestWebKitAPI/cocoa/TestWKWebView.h:
3550 * TestWebKitAPI/cocoa/TestWKWebView.mm:
3551 (-[TestWKWebView textInputContentView]):
3553 2017-09-29 Charles Turner <cturner@igalia.com>
3559 * Scripts/webkitpy/common/config/contributors.json:
3561 2017-09-28 Commit Queue <commit-queue@webkit.org>
3563 Unreviewed, rolling out r222639.
3564 https://bugs.webkit.org/show_bug.cgi?id=177630
3566 Breaks AppleWin build (Requested by dolmstead on #webkit).
3570 "[WinCairo][MiniBrowser] Add ca-bundle to display secure
3572 https://bugs.webkit.org/show_bug.cgi?id=168486
3573 http://trac.webkit.org/changeset/222639
3575 2017-09-28 Joanmarie Diggs <jdiggs@igalia.com>
3577 AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
3578 https://bugs.webkit.org/show_bug.cgi?id=177542
3580 Add platform support for the notifications. Also add support for getting the
3581 boolean argument indicating whether the state has been set or unset.
3583 Reviewed by Chris Fleizach.
3585 * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
3587 2017-09-28 Basuke Suzuki <Basuke.Suzuki@sony.com>
3589 [WinCairo][MiniBrowser] Add ca-bundle to display secure pages.
3590 Copy cacert.pem file into bundle directory.
3591 https://bugs.webkit.org/show_bug.cgi?id=168486
3593 Reviewed by Brent Fulgham.
3595 * MiniBrowser/win/CMakeLists.txt:
3597 2017-09-28 Lucas Forschler <lforschler@apple.com>
3599 check in AWS Lambda code used for WebKitArchiveSupport
3600 https://bugs.webkit.org/show_bug.cgi?id=177614
3602 Rubber-stamped by Alexey Proskuryakov.
3604 * WebKitArchiveSupport/lambda: Added.
3605 * WebKitArchiveSupport/lambda/delete-minified-s3-archive-from-dynamodb.py: Added.
3607 * WebKitArchiveSupport/lambda/delete-s3-archive-from-dynamodb.py: Added.
3609 * WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py: Added.