1 2017-11-03 Jonathan Bedard <jbedard@apple.com>
3 TestController platformAdjustContext should use provided WKContext for Mac
4 https://bugs.webkit.org/show_bug.cgi?id=179124
5 <rdar://problem/35295176>
7 Reviewed by Darin Adler.
9 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
10 (WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
11 a WebProcessPool, instead of creating a second one.
13 2017-11-02 Christopher Reid <chris.reid@sony.com>
15 Add a FileSystem namespace to FileSystem.cpp
16 https://bugs.webkit.org/show_bug.cgi?id=179063
18 Reviewed by Darin Adler.
20 * DumpRenderTree/win/DumpRenderTree.cpp:
21 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
22 * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
23 * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
24 * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
25 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
26 * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
28 2017-11-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
30 [WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
31 https://bugs.webkit.org/show_bug.cgi?id=179169
33 Reviewed by Michael Catanzaro.
35 Update WPEBackend and WPEBackend-mesa to last master as of today.
37 * wpe/jhbuild.modules:
39 2017-11-02 Frederic Wang <fwang@igalia.com>
41 Add references to bug 179167 in FIXME comments
42 https://bugs.webkit.org/show_bug.cgi?id=179168
44 Reviewed by Daniel Bates.
46 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
48 2017-11-01 Jeremy Jones <jeremyj@apple.com>
50 Implement WKFullscreenWindowController for iOS.
51 https://bugs.webkit.org/show_bug.cgi?id=178924
52 rdar://problem/34697120
54 Reviewed by Simon Fraser.
56 Enable ENABLE_FULLSCREEN_API for iOS.
58 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
60 2017-11-01 Simon Fraser <simon.fraser@apple.com>
62 Misc display list and other cleanup
63 https://bugs.webkit.org/show_bug.cgi?id=179150
65 Reviewed by Tim Horton.
67 Add system trace points for display list recording.
69 * Tracing/SystemTracePoints.plist:
71 2017-11-01 Stephan Szabo <stephan.szabo@sony.com>
73 [Win] Detect Visual Studio 2017 location
74 https://bugs.webkit.org/show_bug.cgi?id=175275
76 Reviewed by Yusuke Suzuki.
79 * Scripts/build-webkit:
80 * Scripts/update-vswhere.py: Added.
81 * Scripts/webkitdirs.pm:
82 (requireModulesForVSWhere):
83 (pickCurrentVisualStudioInstallation):
84 (pickLegacyVisualStudioInstallation):
85 (visualStudioInstallDir):
86 (visualStudioInstallDirVSWhere):
87 (visualStudioInstallDirLegacy):
88 (visualStudioInstallDirFallback):
90 (visualStudioVersion):
91 (visualStudioVersionFromInstallDir):
92 (generateBuildSystemFromCMakeProject):
94 2017-11-01 Tim Horton <timothy_horton@apple.com>
96 Fix the !USE(QUICKLOOK) build
97 https://bugs.webkit.org/show_bug.cgi?id=179128
99 Reviewed by Wenson Hsieh.
101 * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
103 2017-11-01 Frederic Wang <fwang@igalia.com>
105 Make iOS Find UI reveal matches in scrollable elements
106 https://bugs.webkit.org/show_bug.cgi?id=178789
108 Reviewed by Tim Horton.
110 This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
112 * DumpRenderTree/ios/UIScriptControllerIOS.mm:
113 (WTR::UIScriptController::findString): Dummy implementation of findString.
114 * DumpRenderTree/mac/UIScriptControllerMac.mm:
115 (WTR::UIScriptController::findString): Ditto.
116 * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
117 * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
118 (WTR::UIScriptController::findString): Dummy implementation of findString.
119 * TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
120 * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
121 (WTR::UIScriptController::findString): Implement findString by forwarding the call to the
123 * WebKitTestRunner/mac/UIScriptControllerMac.mm:
124 (WTR::UIScriptController::findString): Dummy implementation of findString.
126 2017-11-01 Alex Christensen <achristensen@webkit.org>
128 Add a test for _WKInputDelegate.willSubmitFormValues
129 https://bugs.webkit.org/show_bug.cgi?id=179086
131 Reviewed by Darin Adler.
133 Hidden input types are not included in this submission because FormSubmission::create ignores them
134 because input.isTextField() returns false. This is existing behavior that wasn't shown by a test.
135 HTTPBodies are also not sent to WKURLSchemeHandlers. This is existing behavior that wasn't shown by a test.
137 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
138 * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
139 (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
142 2017-10-31 Ross Kirsling <ross.kirsling@sony.com>
144 Web Inspector: Add Inspector menu items to Mac MiniBrowser
145 https://bugs.webkit.org/show_bug.cgi?id=65218
147 Reviewed by Joseph Pecoraro.
149 Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
150 Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.
152 * MiniBrowser/mac/BrowserWindowController.h:
153 * MiniBrowser/mac/BrowserWindowController.m:
154 (-[BrowserWindowController showHideWebInspector:]):
155 * MiniBrowser/mac/MainMenu.xib:
156 * MiniBrowser/mac/WK1BrowserWindowController.m:
157 (-[WK1BrowserWindowController validateMenuItem:]):
158 (-[WK1BrowserWindowController showHideWebInspector:]):
159 * MiniBrowser/mac/WK2BrowserWindowController.m:
160 (-[WK2BrowserWindowController validateMenuItem:]):
161 (-[WK2BrowserWindowController showHideWebInspector:]):
163 2017-10-31 Alex Christensen <achristensen@webkit.org>
165 Use asynchronous ResourceHandleClient calls for WebKit1
166 https://bugs.webkit.org/show_bug.cgi?id=160677
168 Reviewed by Brady Eidson.
170 * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
171 (TestWebKitAPI::TEST):
172 The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
173 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.
175 2017-10-31 Commit Queue <commit-queue@webkit.org>
177 Unreviewed, rolling out r224143.
178 https://bugs.webkit.org/show_bug.cgi?id=179091
180 The patch requires non-standard perl modules in macOS and
181 breaks AWFY (Requested by yusukesuzuki on #webkit).
185 "[Win] Detect Visual Studio 2017 location"
186 https://bugs.webkit.org/show_bug.cgi?id=175275
187 https://trac.webkit.org/changeset/224143
189 2017-10-31 Tim Horton <timothy_horton@apple.com>
191 Clean up some drag and drop feature flags
192 https://bugs.webkit.org/show_bug.cgi?id=179082
194 Reviewed by Simon Fraser.
196 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
197 * TestWebKitAPI/ios/UIKitSPI.h:
199 2017-10-31 Tim Horton <timothy_horton@apple.com>
201 Fix up some content filtering feature flags
202 https://bugs.webkit.org/show_bug.cgi?id=179079
204 Reviewed by Simon Fraser.
206 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
207 * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
208 (-[MockContentFilterEnabler initWithCoder:]):
209 (-[MockContentFilterEnabler dealloc]):
211 2017-10-31 Youenn Fablet <youenn@apple.com>
213 rwt should allow service worker to load localhost HTTPS resources with any certificate
214 https://bugs.webkit.org/show_bug.cgi?id=179018
216 Reviewed by Chris Dumez.
218 * WebKitTestRunner/TestController.cpp:
219 (WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.
221 2017-10-31 Wenson Hsieh <wenson_hsieh@apple.com>
223 [Attachment Support] Implement WKWebView SPI for inserting attachment elements
224 https://bugs.webkit.org/show_bug.cgi?id=179013
225 <rdar://problem/35249668>
227 Reviewed by Tim Horton.
229 Adds a new API test suite to exercise attachment element insertion and manipulation.
231 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
232 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.
233 (webViewForTestingAttachments):
236 (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
237 (-[TestWKWebView valueOfAttribute:forQuerySelector:]):
238 (TestWebKitAPI::TEST):
240 2017-10-31 Alex Christensen <achristensen@webkit.org>
242 Fix custom header field setting with reloads and asynchronous navigation action policy decisions
243 https://bugs.webkit.org/show_bug.cgi?id=179064
245 Reviewed by Tim Horton.
247 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
248 (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
251 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
253 WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
254 https://bugs.webkit.org/show_bug.cgi?id=176719
256 Reviewed by Chris Dumez.
258 Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
259 sourceFrame parameters when the target frame of the form submission is not the source frame.
261 * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
262 (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
263 * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:
264 (TestWebKitAPI::willSendSubmitEvent):
265 * TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
267 2017-10-30 Alex Christensen <achristensen@webkit.org>
269 ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
270 https://bugs.webkit.org/show_bug.cgi?id=178861
272 Reviewed by Tim Horton.
274 * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
275 (TestWebKitAPI::TEST_F):
277 2017-10-30 Commit Queue <commit-queue@webkit.org>
279 Unreviewed, rolling out r224078.
280 https://bugs.webkit.org/show_bug.cgi?id=179026
282 MotionMark regression (Requested by shallawa on #webkit).
286 "When navigating back to a page, compositing layers may not
287 use accelerated drawing"
288 https://bugs.webkit.org/show_bug.cgi?id=178749
289 https://trac.webkit.org/changeset/224078
291 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
293 [WPE] Fix build warnings
294 https://bugs.webkit.org/show_bug.cgi?id=178899
296 Reviewed by Carlos Alberto Lopez Perez.
298 * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
299 (testContextMenuDownloadActions):
302 * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
303 * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
304 (testWebViewJavaScriptDialogs):
305 * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
306 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
307 * WebKitTestRunner/PlatformWPE.cmake:
308 * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
309 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
310 (WTR::threadDefaultContext): Deleted.
312 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
314 [WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
315 https://bugs.webkit.org/show_bug.cgi?id=178898
317 Reviewed by Žan Doberšek.
319 This patch seems to be unused.
321 * wpe/jhbuild.modules:
322 * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
324 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
326 [WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
327 https://bugs.webkit.org/show_bug.cgi?id=178964
329 Reviewed by Carlos Alberto Lopez Perez.
331 * TestWebKitAPI/PlatformWPE.cmake:
333 2017-10-12 Frederic Wang <fwang@igalia.com>
335 Remove support for running safari on the iOS simulator with Xcode < 9.0
336 https://bugs.webkit.org/show_bug.cgi?id=178203
338 Reviewed by Alexey Proskuryakov.
340 This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
341 and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
342 special case to calculate the iOS simulator applications path for these old versions.
344 * Scripts/webkitdirs.pm:
345 (iosSimulatorApplicationsPath): Remove special case for XCode < 9.0
347 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
349 [WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
350 https://bugs.webkit.org/show_bug.cgi?id=168219
352 Reviewed by Ryosuke Niwa.
356 * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
357 (testWebViewEditorCutCopyPasteNonEditable):
358 (testWebViewEditorCutCopyPasteEditable):
359 (testWebViewEditorSelectAllNonEditable):
360 (testWebViewEditorSelectAllEditable):
361 (loadContentsAndTryToCutSelection):
362 (testWebViewEditorNonEditable):
363 (testWebViewEditorEditorStateTypingAttributes):
364 (testWebViewEditorInsertImage):
365 (testWebViewEditorCreateLink):
367 2017-10-28 Michael Catanzaro <mcatanzaro@igalia.com>
369 [WPE] Build gst-plugins-base without pango support
370 https://bugs.webkit.org/show_bug.cgi?id=178918
372 Reviewed by Carlos Garcia Campos.
374 We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
375 conditions so we can make platform-specific changes in the shared GStreamer moduleset.
377 * gstreamer/jhbuild.modules:
381 2017-10-27 Stephan Szabo <stephan.szabo@sony.com>
383 [Win] Detect Visual Studio 2017 location
384 https://bugs.webkit.org/show_bug.cgi?id=175275
386 Reviewed by Per Arne Vollan.
389 * Scripts/build-webkit:
390 * Scripts/update-vswhere.py: Added.
391 * Scripts/webkitdirs.pm:
392 (pickCurrentVisualStudioInstallation):
393 (pickLegacyVisualStudioInstallation):
394 (visualStudioInstallDir):
395 (visualStudioInstallDirVSWhere):
396 (visualStudioInstallDirLegacy):
397 (visualStudioInstallDirFallback):
399 (visualStudioVersion):
400 (visualStudioVersionFromInstallDir):
401 (generateBuildSystemFromCMakeProject):
403 2017-10-27 Devin Rousso <webkit@devinrousso.com>
405 Create watchlist for files related WebInspector Recording
406 https://bugs.webkit.org/show_bug.cgi?id=178965
408 Reviewed by Joseph Pecoraro.
410 * Scripts/webkitpy/common/config/watchlist:
412 2017-10-27 Jonathan Bedard <jbedard@apple.com>
414 Windows and WebViews are retained after re-configure
415 https://bugs.webkit.org/show_bug.cgi?id=178902
416 <rdar://problem/35211518>
418 Reviewed by Alexey Proskuryakov.
420 The test runner effectively leaks windows every time a test changes configuration.
421 We give each test it's own AutoreleasePool to fix this problem.
423 * WebKitTestRunner/TestController.cpp:
424 (WTR::TestController::runTest): Add an AutoRelease pool scoping a test run
425 so that when a configuration changes, the old window and WebView are released.
427 2017-10-27 Eric Carlson <eric.carlson@apple.com>
429 NowPlayingInfo should contain a unique identifier
430 https://bugs.webkit.org/show_bug.cgi?id=178872
431 <rdar://problem/34924012>
433 Unreviewed, fix a flakey test.
435 * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
436 (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Update _lastUpdatedElapsedTime.
437 (-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]): Deleted.
439 2017-10-27 Fujii Hironori <Hironori.Fujii@sony.com>
441 autoinstall can't download from http://pypi.python.org
442 https://bugs.webkit.org/show_bug.cgi?id=178925
444 Reviewed by Ryosuke Niwa.
446 The web server pypi.python.org rejects non secure http.
448 * Scripts/webkitpy/thirdparty/__init__.py:
449 (AutoinstallImportHook._install_mechanize): Use https instead of http.
450 (AutoinstallImportHook._install_pep8): Ditto.
451 (AutoinstallImportHook._install_pylint): Ditto.
452 (AutoinstallImportHook._install_buildbot): Ditto.
453 (AutoinstallImportHook._install_coverage): Ditto.
455 2017-10-26 Fujii Hironori <Hironori.Fujii@sony.com>
457 [GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
458 https://bugs.webkit.org/show_bug.cgi?id=178854
460 Reviewed by Michael Catanzaro.
462 * Scripts/webkitpy/port/base.py:
463 (Port._debian_php_version): Return "-php7.1" if libphp7.1.so found.
464 (Port._is_debian_php_version_7): Deleted.
465 * gtk/install-dependencies: Install libapache2-mod-php instead of libapache2-mod-php7.0.
466 * wpe/install-dependencies: Ditto.
468 2017-10-25 Simon Fraser <simon.fraser@apple.com>
470 When navigating back to a page, compositing layers may not use accelerated drawing
471 https://bugs.webkit.org/show_bug.cgi?id=178749
472 rdar://problem/35158946
474 Reviewed by Dean Jackson.
476 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
477 and use it to set the state of the web view.
479 * DumpRenderTree/TestOptions.h:
480 * DumpRenderTree/TestOptions.mm:
481 (TestOptions::TestOptions):
482 * DumpRenderTree/mac/DumpRenderTree.mm:
483 (setWebPreferencesForTestOptions):
484 * WebKitTestRunner/TestController.cpp:
485 (WTR::TestController::resetPreferencesToConsistentValues):
486 (WTR::updateTestOptionsFromTestHeader):
487 * WebKitTestRunner/TestOptions.h:
488 (WTR::TestOptions::hasSameInitializationOptions const):
490 2017-10-26 Alex Christensen <achristensen@webkit.org>
492 Move WKWebViewConfiguration validation to WKWebView construction
493 https://bugs.webkit.org/show_bug.cgi?id=178840
495 Reviewed by Tim Horton.
497 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
498 * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Added.
501 2017-10-26 Myles C. Maxfield <mmaxfield@apple.com>
503 Demonstrate a possible structure of the WebGPU API
504 https://bugs.webkit.org/show_bug.cgi?id=178874
506 Reviewed by Dean Jackson.
508 Over the past few weeks, we've been putting together an example showing that a WebGPU API
509 which has implicit barriers can work on all three low-level graphics APIs. We've implemented
510 it on top of Vulkan first, because this is the API which has the strictest requirements and
511 is most difficult to use.
513 With this API, this is a valid WebGPU snippet:
515 auto device = WebGPU::Device::create(hInstance, hWnd);
516 auto& commandQueue = device->getCommandQueue();
517 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { }, nullptr);
519 … later, in the draw() function …
521 auto renderPass = commandQueue->createRenderPass(nullptr);
522 renderPass->setRenderState(renderState);
523 renderPass->setViewport(0, 0, width, height);
524 renderPass->setScissorRect(0, 0, width, height);
526 commandQueue->commitRenderPass(std::move(renderPass));
527 commandQueue->present();
529 This snippet doesn’t hook up any vertex attributes or resources, which means the vertex
530 shader has to say something like ({vec4(…), vec4(…), vec4(…)})[gl_VertexIndex]. It also
531 passes in “nullptr” when creating the render pass, which means “render to the screen, rather
532 than to a frame buffer.” You can also see that it doesn’t attach any resources to the draw
535 In Direct3D 12 and Vulkan, resources are bound in sets, rather than individually. For
536 example, a set might contain two uniform buffers, a texture, and another uniform buffer. At
537 draw time, you swap in whole sets of resources with a single call. A shader invocation can
538 access a collection of sets. Because all shader resource accesses are indirected through
539 these sets, the shape of these sets needs to be supplied at the time you compile the render
540 state. Here is a snippet which bounds a single set which contains a uniform buffer and a
543 auto buffer = device->getBuffer(bufferInitialContents);
544 auto texture = device->getTexture(buffer width, height, WebGPU::PixelFormat::RGBA8, textureInitialContents);
545 // One resource set, which holds a single uniform buffer object and a single texture
546 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { { WebGPU::ResourceType::UniformBufferObject, WebGPU::ResourceType::Texture } }, nullptr);
548 … later, in the draw() function …
550 auto renderPass = commandQueue->createRenderPass(nullptr);
551 renderPass->setRenderState(renderState);
552 renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()), WebGPU::TextureReference(texture.get()) });
555 commandQueue->commitRenderPass(std::move(renderPass));
556 commandQueue->present();
558 The first argument to the setResources() call identifies which set to populate with the supplied resources.
560 One tenant of the low-level graphics APIs is that, if you’ve enabled double buffering (or
561 triple buffering), the GPU is executing one frame at the same time you are recording the
562 next frame. This often means that you need duplicate resources so the CPU and GPU don’t step
563 on each other’s toes. However, platforms have platform-specific requirements about whether
564 or not they can be double / triple buffered, and we don’t want to expose this to the Web for
565 fear of badly-authored programs.
567 To solve this, resources are reference counted, and the return type of getBuffer() is an
568 RAII type called BufferHolder which increments and decrements the reference count
569 automatically. The reference count is also incremented and decremented when the GPU is using
570 the resource in a Pass. When the reference count reaches 0, the resource isn’t destroyed;
571 instead, it’s simply moved to a “free list” which getBuffer() may pull from. Therefore,
572 applications don’t need to know whether the frame buffer is double buffered or triple
573 buffered; they can just getBuffer() each frame, and the correct number of buffers will be
574 created and recycled.
577 auto buffer = device->getBuffer(bufferSize); // These get recycled
578 … populate the buffer …
579 auto renderPass = commandQueue->createRenderPass(nullptr);
580 renderPass->setRenderState(renderState);
581 renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()) });
584 commandQueue->commitRenderPass(std::move(renderPass));
586 commandQueue->present();
588 In Direct3D and Vulkan, vertex buffers and index buffers are not part of the resource sets
589 mentioned above. Instead, you tell the render state about the shape of the vertex and index
590 buffers, and you swap them out independently in the draw loop. Metal and Vulkan have almost
591 identical API to specify this shape of the vertex buffers, so I’ve mostly copied it. In this
592 example, we have two vertex attributes, a vec2 and a vec3, which both come from the same
595 // { Attribute format, offset within stride, buffer to pull from }
596 std::vector<WebGPU::RenderState::VertexAttribute> vertexAttributes = { {WebGPU::RenderState::VertexFormat::Float2, 0, 0}, {WebGPU::RenderState::VertexFormat::Float3, sizeof(float) * 2, 0} };
597 // A single vertex buffer, with a stride of 5 floats
598 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { sizeof(float) * 5 }, vertexAttributes, resourceTypes, nullptr);
600 … later, in the draw() function …
602 auto renderPass = commandQueue->createRenderPass(nullptr);
603 renderPass->setRenderState(renderState);
604 renderPass->setVertexAttributeBuffers({ vertexBuffer.get() }); // The one vertex buffer which both attributes pull from
605 renderPass->setResources(…);
608 commandQueue->commitRenderPass(std::move(renderPass));
609 commandQueue->present();
611 You can also tell the RenderState about how many render targets you have and their formats,
612 and then when you create the RenderPass, you specify the specific textures you want to
615 std::vector<WebGPU::PixelFormat> colorPixelFormats = { WebGPU::PixelFormat::RGBA8, WebGPU::PixelFormat::RGBA8 }; // Two render targets, with these formats
616 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", vertexBufferStrides, vertexAttributes, resourceTypes, &colorPixelFormats);
618 … later, in the draw() function …
620 std::vector<std::reference_wrapper<WebGPU::Texture>> destinationTextures = { texture1->get(), texture2->get() };
621 auto renderPass = commandQueue->createRenderPass(&destinationTextures);
622 renderPass->setRenderState(renderState);
625 commandQueue->commitRenderPass(std::move(renderPass));
627 // Now, draw one of the textures to the screen. Note that no synchronization is necessary here!
628 auto renderPass = commandQueue->createRenderPass(nullptr);
629 renderPass->setRenderState(renderState2);
630 renderPass->setResources(0, { WebGPU:: TextureReference(texture1.get()) });
633 commandQueue->commitRenderPass(std::move(renderPass));
634 commandQueue->present();
636 Just like how in Metal has Render Encoders and Compute Encoders, WebGPU has RenderPasses
639 auto& computeState = device->getComputeState(computeShader, "main", resourceTypes);
641 auto computePass = commandQueue->createComputePass();
642 computePass->setComputeState(computeState);
643 computePass->setResources(0, resources);
644 computePass->dispatch(width, height, depth);
645 commandQueue->commitComputePass(std::move(computePass));
647 // Now, draw the resources we just computed. Note that no synchronization is necessary here!
648 auto renderPass = commandQueue->createRenderPass(nullptr);
649 renderPass->setRenderState(renderState);
650 renderPass->setResources(0, resources });
653 commandQueue->commitRenderPass(std::move(renderPass));
654 commandQueue->present();
656 There are also two other types of passes: one that corresponds to a Metal blit encoder, and
657 one that allows the CPU to change the contents of GPU buffers and textures. This last kind
658 of pass is a little interesting: you can’t just change the contents of a buffer at any time
659 you feel like it, because that resource might be in use by the GPU. Therefore, we need to do
660 the same kind of synchronization that we already do at render pass boundaries.
662 In addition, both Vulkan and Direct3D have a concept of a memory heap. A resource might
663 exist inside a heap which is fast, but invisible from the CPU, or in a heap which is slow,
664 but visible by the CPU. Certain operations are not possible from some types of images (e.g.
665 non-tiled textures may not be able to be sampled from). The usual way to get around this
666 problem is to have two resources: a slow staging resource which the CPU can see, and a fast
667 resource which the CPU can’t see. Uploading data is a two-pass algorithm, where the CPU
668 memcpy()s into the slow staging resource, and then a blit command is enqueued on the GPU to
669 copy the contents of the staging resource to the real resource. This requires that the
670 upload have access to the commandQueue so it can possibly enqueue a blit between the staging
671 and real resources. Therefore, a pass is the right level of abstraction for these facilities.
673 std::queue<boost::unique_future<std::vector<uint8_t>>> futureQueue; // Promises for data downloads from the GPU
675 … later, in the draw() function …
677 // See if any of the previously-enqueued downloads are finished
678 while (!futureQueue.empty() && futureQueue.front(). has_value()) {
679 std::vector<uint8_t>& data = futureQueue.front().get();
680 // Use the downloaded data
684 auto hostAccessPass = commandQueue->createHostAccessPass();
685 hostAccessPass->overwriteBuffer(buffer->get(), bufferContents); // Upload data to a resource
687 futureQueue.emplace(hostAccessPass->getBufferContents(buffer->get()));
688 commandQueue->commitHostAccessPass(std::move(hostAccessPass));
690 You can also issue copy commands between resources entirely on the GPU:
692 auto blitPass = commandQueue->createBlitPass();
693 blitPass->copyTexture(source->get(), destination->get(), sourceX, sourceY, destinationX, destinationY, width, height);
694 commandQueue->commitBlitPass(std::move(blitPass));
696 * Scripts/webkitpy/style/checker.py:
697 * WebGPUAPIStructure/Example/Example.cpp: Added.
704 * WebGPUAPIStructure/Example/Example.h: Added.
705 * WebGPUAPIStructure/Example/Example.ico: Added.
706 * WebGPUAPIStructure/Example/Example.rc: Added.
707 * WebGPUAPIStructure/Example/Example.vcxproj: Added.
708 * WebGPUAPIStructure/Example/Example.vcxproj.filters: Added.
709 * WebGPUAPIStructure/Example/Example.vcxproj.user: Added.
710 * WebGPUAPIStructure/Example/resource.h: Added.
711 * WebGPUAPIStructure/Example/small.ico: Added.
712 * WebGPUAPIStructure/Example/stdafx.cpp: Added.
713 * WebGPUAPIStructure/Example/stdafx.h: Added.
714 * WebGPUAPIStructure/Example/targetver.h: Added.
715 * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Added.
716 * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Added.
717 * WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Added.
718 (WebGPU::BufferHolder::BufferHolder):
719 (WebGPU::BufferHolder::~BufferHolder):
720 (WebGPU::TextureHolder::TextureHolder):
721 (WebGPU::TextureHolder::~TextureHolder):
722 (WebGPU::SamplerHolder::SamplerHolder):
723 (WebGPU::SamplerHolder::~SamplerHolder):
724 * WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Added.
725 (WebGPU::Queue::~Queue):
726 (WebGPU::RenderState::~RenderState):
727 (WebGPU::ComputeState::~ComputeState):
728 (WebGPU::Buffer::~Buffer):
729 (WebGPU::Texture::~Texture):
730 (WebGPU::Sampler::~Sampler):
731 (WebGPU::TextureReference::TextureReference):
732 (WebGPU::TextureReference::get const):
733 (WebGPU::SamplerReference::SamplerReference):
734 (WebGPU::SamplerReference::get const):
735 (WebGPU::UniformBufferObjectReference::UniformBufferObjectReference):
736 (WebGPU::UniformBufferObjectReference::get const):
737 (WebGPU::ShaderStorageBufferObjectReference::ShaderStorageBufferObjectReference):
738 (WebGPU::ShaderStorageBufferObjectReference::get const):
739 (WebGPU::RenderPass::~RenderPass):
740 (WebGPU::ComputePass::~ComputePass):
741 (WebGPU::BlitPass::~BlitPass):
742 (WebGPU::HostAccessPass::~HostAccessPass):
743 (WebGPU::BufferHolder::get):
744 (WebGPU::TextureHolder::get):
745 (WebGPU::SamplerHolder::get):
746 (WebGPU::Device::~Device):
747 * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Added.
748 (WebGPU::BlitPassImpl::BlitPassImpl):
749 (WebGPU::BlitPassImpl::copyTexture):
750 * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Added.
751 * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Added.
752 (WebGPU::BufferImpl::BufferImpl):
753 (WebGPU::BufferImpl::decrementReferenceCount):
754 * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Added.
755 (WebGPU::BufferImpl::getBuffer const):
756 (WebGPU::BufferImpl::getDeviceMemory const):
757 (WebGPU::BufferImpl::incrementReferenceCount):
758 (WebGPU::BufferImpl::getLength const):
759 * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Added.
760 (WebGPU::ComputePassImpl::ComputePassImpl):
761 (WebGPU::ComputePassImpl::setComputeState):
762 (WebGPU::ComputePassImpl::setResources):
763 (WebGPU::ComputePassImpl::dispatch):
764 * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Added.
765 * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Added.
766 (WebGPU::ComputeStateImpl::ComputeStateImpl):
767 * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Added.
768 (WebGPU::ComputeStateImpl::getPipeline const):
769 (WebGPU::ComputeStateImpl::getPipelineLayout const):
770 (WebGPU::ComputeStateImpl::getDescriptorSetLayouts const):
771 * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Added.
772 (WebGPU::Device::create):
773 (WebGPU::convertPixelFormat):
774 (WebGPU::convertFormat):
775 (WebGPU::debugReport):
776 (WebGPU::DeviceImpl::DeviceImpl):
777 (WebGPU::DeviceImpl::getCommandQueue):
778 (WebGPU::DeviceImpl::prepareShader):
779 (WebGPU::DeviceImpl::createPipelineLayout):
780 (WebGPU::DeviceImpl::createCompatibleRenderPass):
781 (WebGPU::convertVertexFormat):
782 (WebGPU::DeviceImpl::getRenderState):
783 (WebGPU::DeviceImpl::getComputeState):
784 (WebGPU::DeviceImpl::getBuffer):
785 (WebGPU::DeviceImpl::returnBuffer):
786 (WebGPU::DeviceImpl::getTexture):
787 (WebGPU::DeviceImpl::returnTexture):
788 (WebGPU::DeviceImpl::getSampler):
789 (WebGPU::DeviceImpl::returnSampler):
790 (WebGPU::DeviceImpl::~DeviceImpl):
791 * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Added.
792 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::UniqueDebugReportCallbackEXT):
793 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::operator=):
794 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::~UniqueDebugReportCallbackEXT):
795 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::destroy):
796 (WebGPU::DeviceImpl::TextureParameters::operator== const):
797 (WebGPU::DeviceImpl::TextureParametersHash::operator() const):
798 * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Added.
799 (WebGPU::HostAccessPassImpl::HostAccessPassImpl):
800 (WebGPU::HostAccessPassImpl::overwriteBuffer):
801 (WebGPU::HostAccessPassImpl::getBufferContents):
802 (WebGPU::HostAccessPassImpl::execute):
803 * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Added.
804 (WebGPU::HostAccessPassImpl::getFinishedEvent const):
805 * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Added.
806 (WebGPU::PassImpl::PassImpl):
807 (WebGPU::ResourceVisitor::operator()):
808 (WebGPU::ResourceVisitor::getBindings const):
809 (WebGPU::ResourceVisitor::releaseWriteDescriptorSets):
810 (WebGPU::ResourceVisitor::getDescriptorImageInfos const):
811 (WebGPU::ResourceVisitor::getDescriptorBufferInfos const):
812 (WebGPU::ResourceVisitor::getBuffers const):
813 (WebGPU::ResourceVisitor::getTextures const):
814 (WebGPU::ResourceVisitor::getSamplers const):
815 (WebGPU::ResourceVisitor::getImageCount const):
816 (WebGPU::ResourceVisitor::getSamplerCount const):
817 (WebGPU::ResourceVisitor::getUniformBufferCount const):
818 (WebGPU::ResourceVisitor::getStorageBufferCount const):
819 (WebGPU::PassImpl::setResources):
820 (WebGPU::PassImpl::insertBuffer):
821 (WebGPU::PassImpl::insertTexture):
822 (WebGPU::PassImpl::insertSampler):
823 * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h: Added.
824 (WebGPU::PassImpl::getCommandBuffer const):
825 (WebGPU::PassImpl::iterateBuffers):
826 (WebGPU::PassImpl::iterateTextures):
827 (WebGPU::PassImpl::ResourceReference::ResourceReference):
828 (WebGPU::PassImpl::ResourceReference::~ResourceReference):
829 (WebGPU::PassImpl::ResourceReference::operator=):
830 (WebGPU::PassImpl::ResourceReference::operator== const):
831 (WebGPU::PassImpl::ResourceReference::get const):
832 (WebGPU::PassImpl::ResourceReference::release):
833 (WebGPU::PassImpl::ResourceReferenceHash::operator() const):
834 * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp: Added.
835 (WebGPU::QueueImpl::QueueImpl):
836 (WebGPU::QueueImpl::prepareCurrentFrame):
837 (WebGPU::QueueImpl::createSpecificRenderPass):
838 (WebGPU::QueueImpl::createFramebuffer):
839 (WebGPU::QueueImpl::createRenderPass):
840 (WebGPU::QueueImpl::commitRenderPass):
841 (WebGPU::QueueImpl::createComputePass):
842 (WebGPU::QueueImpl::commitComputePass):
843 (WebGPU::QueueImpl::createBlitPass):
844 (WebGPU::QueueImpl::commitBlitPass):
845 (WebGPU::QueueImpl::createHostAccessPass):
846 (WebGPU::QueueImpl::commitHostAccessPass):
847 (WebGPU::QueueImpl::present):
848 (WebGPU::QueueImpl::commitPass):
849 (WebGPU::QueueImpl::synchronizeResources):
850 (WebGPU::QueueImpl::~QueueImpl):
851 * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h: Added.
852 * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp: Added.
853 (WebGPU::RenderPassImpl::RenderPassImpl):
854 (WebGPU::RenderPassImpl::setRenderState):
855 (WebGPU::RenderPassImpl::setVertexAttributeBuffers):
856 (WebGPU::RenderPassImpl::setResources):
857 (WebGPU::RenderPassImpl::setViewport):
858 (WebGPU::RenderPassImpl::setScissorRect):
859 (WebGPU::RenderPassImpl::draw):
860 * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h: Added.
861 * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp: Added.
862 (WebGPU::RenderStateImpl::RenderStateImpl):
863 * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h: Added.
864 (WebGPU::RenderStateImpl::getPipeline const):
865 (WebGPU::RenderStateImpl::getPipelineLayout const):
866 (WebGPU::RenderStateImpl::getDescriptorSetLayouts const):
867 * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp: Added.
868 (WebGPU::SamplerImpl::SamplerImpl):
869 (WebGPU::SamplerImpl::decrementReferenceCount):
870 * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h: Added.
871 (WebGPU::SamplerImpl::getSampler):
872 (WebGPU::SamplerImpl::incrementReferenceCount):
873 (WebGPU::SamplerImpl::getFilter):
874 (WebGPU::SamplerImpl::getMipmapMode):
875 (WebGPU::SamplerImpl::getAddressMode):
876 * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp: Added.
877 (WebGPU::TextureImpl::TextureImpl):
878 (WebGPU::TextureImpl::decrementReferenceCount):
879 * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h: Added.
880 (WebGPU::TextureImpl::getImage const):
881 (WebGPU::TextureImpl::getImageView const):
882 (WebGPU::TextureImpl::getFormat const):
883 (WebGPU::TextureImpl::incrementReferenceCount):
884 (WebGPU::TextureImpl::getWidth const):
885 (WebGPU::TextureImpl::getHeight const):
886 (WebGPU::TextureImpl::getTransferredToGPU const):
887 (WebGPU::TextureImpl::setTransferredToGPU):
888 * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj: Added.
889 * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters: Added.
890 * WebGPUAPIStructure/WebGPU.sln: Added.
892 2017-10-26 Eric Carlson <eric.carlson@apple.com>
894 NowPlayingInfo should contain a unique identifier
895 https://bugs.webkit.org/show_bug.cgi?id=178872
897 Reviewed by Jer Noble.
899 * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
900 (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Use completion handler.
901 (TestWebKitAPI::TEST): Cleanup tests. Use new API.
902 (-[NowPlayingTestWebView waitForNowPlayingInfoToChange]): Deleted.
904 2017-10-26 Eric Carlson <eric.carlson@apple.com>
906 [MediaStream] Clear cached gUM prompt state
907 https://bugs.webkit.org/show_bug.cgi?id=178754
908 <rdar://problem/32742356>
910 Unreviewed, fix a flakey test.
912 * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
913 (-[GetUserMediaRepromptTestView haveStream:]): New, check several times for expected state.
914 (TestWebKitAPI::TEST): Don't assume stream state changes in the page immediately.
916 2017-10-26 Andy Estes <aestes@apple.com>
918 [Payment Request] Enable Payment Request whenever Apple Pay is enabled
919 https://bugs.webkit.org/show_bug.cgi?id=178880
921 Reviewed by Tim Horton.
923 * WebKitTestRunner/TestController.cpp:
924 (WTR::TestController::resetPreferencesToConsistentValues):
926 2017-10-26 Joseph Pecoraro <pecoraro@apple.com>
928 Add and update some watchlists
929 https://bugs.webkit.org/show_bug.cgi?id=178304
931 Reviewed by Simon Fraser.
933 * Scripts/webkitpy/common/config/watchlist:
935 2017-10-26 Ryan Haddad <ryanhaddad@apple.com>
937 Unreviewed, rolling out r223984.
939 Caused LayoutTest assertion failures.
943 "When navigating back to a page, compositing layers may not
944 use accelerated drawing"
945 https://bugs.webkit.org/show_bug.cgi?id=178749
946 https://trac.webkit.org/changeset/223984
948 2017-10-26 Christopher Reid <chris.reid@sony.com>
950 Remove scopeguard from platform
951 https://bugs.webkit.org/show_bug.cgi?id=178681
953 Reviewed by Brady Eidson.
955 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
957 2017-09-21 Carlos Garcia Campos <cgarcia@igalia.com>
959 WebDriver: Add support to import and run W3C tests
960 https://bugs.webkit.org/show_bug.cgi?id=177304
962 Reviewed by Brian Burg.
964 WPT has now several WebDriver tests, and new ones are going to be added to cover the whole spec. This patch
965 adds the initial support for running W3C tests. The script import-w3c-webdriver-tests reuses parts of the W3C
966 test downloader to download the tests and required tools from WPT repository into WebDriverTests
967 directory. Tests can be run with run-webdriver-tests, a new script that works similar to other test runner
968 scripts. For now it shows a summary at the end of the execution, there aren't expectations yet, since we are not
969 ready to run those tests in the bots. Once we are ready to properly run the tests, we can add the expectations
970 support and run the tests in the bots.
972 * Scripts/import-w3c-webdriver-tests: Added.
973 * Scripts/run-webdriver-tests: Added.
974 * Scripts/webkitpy/style/checker.py: Skip WebDriverTests directory since it only contains third-party python
976 * Scripts/webkitpy/thirdparty/__init__.py: Add support to autodownload mozlog and mozprocess since they are
977 required by the WebDriver tests.
978 * Scripts/webkitpy/webdriver_tests/__init__.py: Added.
979 * Scripts/webkitpy/webdriver_tests/webdriver_driver.py: Added.
980 * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py: Added.
981 * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py: Added.
982 * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Added.
983 * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: Added.
984 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Added.
985 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: Added.
987 2017-10-25 Eric Carlson <eric.carlson@apple.com>
989 [MediaStream] Clear cached gUM prompt state
990 https://bugs.webkit.org/show_bug.cgi?id=178754
991 <rdar://problem/32742356>
993 Reviewed by Youenn Fablet.
995 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test
997 * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: Added.
998 (-[GetUserMediaRepromptUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
999 (-[GetUserMediaRepromptUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
1000 (TestWebKitAPI::TEST):
1002 * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
1004 2017-10-25 Ross Kirsling <ross.kirsling@sony.com>
1006 Add committer status for Ross Kirsling
1007 https://bugs.webkit.org/show_bug.cgi?id=178832
1011 * Scripts/webkitpy/common/config/contributors.json:
1013 2017-10-25 Simon Fraser <simon.fraser@apple.com>
1015 When navigating back to a page, compositing layers may not use accelerated drawing
1016 https://bugs.webkit.org/show_bug.cgi?id=178749
1017 rdar://problem/35158946
1019 Reviewed by Dean Jackson.
1021 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
1022 and use it to set the state of the web view.
1024 * DumpRenderTree/TestOptions.h:
1025 * DumpRenderTree/TestOptions.mm:
1026 (TestOptions::TestOptions):
1027 * DumpRenderTree/mac/DumpRenderTree.mm:
1028 (setWebPreferencesForTestOptions):
1029 * WebKitTestRunner/TestController.cpp:
1030 (WTR::TestController::resetPreferencesToConsistentValues):
1031 (WTR::updateTestOptionsFromTestHeader):
1032 * WebKitTestRunner/TestOptions.h:
1033 (WTR::TestOptions::hasSameInitializationOptions const):
1035 2017-10-25 Robin Morisset <rmorisset@apple.com>
1037 Support the TailBench9000 benchmark in run-jsc-benchmarks
1038 https://bugs.webkit.org/show_bug.cgi?id=178451
1040 Reviewed by Saam Barati.
1042 * Scripts/run-jsc-benchmarks:
1044 2017-10-25 Adrian Perez de Castro <aperez@igalia.com>
1046 [WPE] Remove GLib API functions which use Cairo
1047 https://bugs.webkit.org/show_bug.cgi?id=178205
1049 Reviewed by Michael Catanzaro.
1051 Add PLATFORM(GTK) guards for the API tests (or parts of them) which use cairo_surface_t (web
1052 page snapshots and favicons) which are not available in the WPE version of the GLib API.
1054 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
1055 (testNotInitialized):
1056 (testPrivateBrowsing):
1057 (testFaviconDatabase):
1058 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
1059 (testFindControllerHide):
1061 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1062 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
1064 2017-10-25 Zan Dobersek <zdobersek@igalia.com>
1066 Make SERVICE_WORKER feature buildable on GTK, WPE
1067 https://bugs.webkit.org/show_bug.cgi?id=178574
1069 Reviewed by Carlos Garcia Campos.
1071 * Scripts/webkitperl/FeatureList.pm: Add the --service-worker option
1072 that enables the SERVICE_WORKER feature flag. For now it's enabled
1073 on Apple's Cocoa ports (even when build-webkit isn't used for those
1074 builds, the flag is enabled here for consistency).
1076 2017-10-24 Michael Catanzaro <mcatanzaro@igalia.com>
1078 Unreviewed, fix name of Perl LibXML package on Fedora
1079 https://bugs.webkit.org/show_bug.cgi?id=178206
1080 <rdar://problem/35028586>
1082 * gtk/install-dependencies:
1083 * wpe/install-dependencies:
1085 2017-10-24 Alex Christensen <achristensen@webkit.org>
1087 Selecting and right-clicking URL-like strings with IDNA-disallowed characters in host or authority causes rendering engine crash
1088 https://bugs.webkit.org/show_bug.cgi?id=174267
1090 Reviewed by Tim Horton.
1092 * TestWebKitAPI/Tests/WebKit/CanHandleRequest_Bundle.cpp:
1093 (TestWebKitAPI::runTest):
1095 2017-10-24 Eric Carlson <eric.carlson@apple.com>
1097 Web Inspector: Enable WebKit logging configuration and display
1098 https://bugs.webkit.org/show_bug.cgi?id=177027
1099 <rdar://problem/33964767>
1101 Reviewed by Joseph Pecoraro.
1103 Allow new 'dumpJSConsoleLogInStdErr' test header to redirect log console output to stderr.
1105 * DumpRenderTree/TestOptions.h:
1106 * DumpRenderTree/TestOptions.mm:
1107 (TestOptions::TestOptions):
1108 * DumpRenderTree/mac/DumpRenderTree.mm:
1110 * WebKitTestRunner/TestController.cpp:
1111 (WTR::updateTestOptionsFromTestHeader):
1112 (WTR::TestController::runTest):
1113 * WebKitTestRunner/TestOptions.h:
1114 (WTR::TestOptions::hasSameInitializationOptions const):
1116 2017-10-24 Alex Christensen <achristensen@webkit.org>
1118 Apply custom header fields from WebsitePolicies to same-domain requests
1119 https://bugs.webkit.org/show_bug.cgi?id=178356
1121 Reviewed by Brady Eidson.
1123 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1126 2017-10-24 Stephan Szabo <stephan.szabo@sony.com>
1128 [Win][JSCOnly] Make jsconly build testapi and dlls and copy dlls when running tests
1129 https://bugs.webkit.org/show_bug.cgi?id=177279
1131 Reviewed by Yusuke Suzuki.
1133 * Scripts/build-jsc:
1134 * Scripts/run-jsc-stress-tests:
1136 2017-10-23 Lucas Forschler <lforschler@apple.com>
1138 <rdar://problem/35045445>
1139 Update README to reference WebKit build archives, instead of 'nightly'
1141 Reviewed by Aakash Jain.
1143 * WebKitArchiveSupport/README:
1145 2017-10-21 Tim Horton <timothy_horton@apple.com>
1147 Turn on ccache for Mac cmake builds by default
1148 https://bugs.webkit.org/show_bug.cgi?id=177059
1150 Reviewed by Sam Weinig.
1152 * ccache/ccache-clang:
1153 * ccache/ccache-wrapper: Added.
1154 Add a pass-through ccache wrapper to be used with CMake, in addition
1155 to the existing faux-clang wrappers.
1157 * Scripts/build-webkit:
1158 Add --use-ccache and --no-use-ccache option, which will define
1159 WK_USE_CCACHE to YES or NO, respectively, which the underlying
1160 build systems respect. We do not define WK_USE_CCACHE if the option
1161 is not specified, because the underlying build systems have different
1164 2017-10-20 Aakash Jain <aakash_jain@apple.com>
1166 Do not run binding tests on multiple EWSes
1167 https://bugs.webkit.org/show_bug.cgi?id=178599
1169 Reviewed by Alexey Proskuryakov.
1171 Remove old code which runs bindings tests and ignore it's result. We now have
1172 a dedicated bindings test EWS.
1174 * Scripts/webkitpy/tool/steps/runtests.py:
1175 (RunTests.run): Removed bindings tests code.
1176 * Scripts/webkitpy/tool/steps/runtests_unittest.py: Updated unit-tests.
1177 (RunTestsTest.test_webkit_run_unit_tests): Ditto.
1178 * Scripts/webkitpy/tool/steps/steps_unittest.py: Ditto.
1179 * Scripts/webkitpy/tool/commands/download_unittest.py: Ditto.
1181 2017-10-20 Youenn Fablet <youenn@apple.com>
1183 WebsiteDataStoreCustomPaths.mm is failing after r223718
1184 https://bugs.webkit.org/show_bug.cgi?id=178596
1188 * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1189 (TEST): Making default web site data store creation expected at the end of the test.
1190 We should probably not need need to create it.
1191 This should be fixed as a follow-up.
1193 2017-10-20 Antoine Quint <graouts@apple.com>
1195 [Web Animations] Provide basic timeline and animation interfaces
1196 https://bugs.webkit.org/show_bug.cgi?id=178526
1198 Reviewed by Dean Jackson.
1200 Remove the WEB_ANIMATIONS compile-time flag.
1202 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1204 2017-10-20 Tomas Popela <tpopela@redhat.com>
1206 Missing some perl packages in install-dependencies
1207 https://bugs.webkit.org/show_bug.cgi?id=178571
1209 Reviewed by Žan Doberšek.
1211 Install per-version and perl-Time-HiRes so we can use build-webkit
1212 script. Also add missing backlashes.
1214 * wpe/install-dependencies:
1216 2017-10-20 Commit Queue <commit-queue@webkit.org>
1218 Unreviewed, rolling out r222709 and r223572.
1219 https://bugs.webkit.org/show_bug.cgi?id=178587
1221 Still getting mac-wk2 EWS bots stuck (Requested by ap on
1224 Reverted changesets:
1226 "Log stack-trace for run-webkit-tests when interrupted"
1227 https://bugs.webkit.org/show_bug.cgi?id=176393
1228 https://trac.webkit.org/changeset/222709
1230 "webkitpy: Hang when workers write to the same stack trace
1232 https://bugs.webkit.org/show_bug.cgi?id=178402
1233 https://trac.webkit.org/changeset/223572
1235 2017-10-19 Nan Wang <n_wang@apple.com>
1237 AX: Provide a way for Accessibility to cache the selection while retrieving rects for speak selection
1238 https://bugs.webkit.org/show_bug.cgi?id=176247
1239 <rdar://problem/34217143>
1241 Reviewed by Ryosuke Niwa.
1243 * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
1244 (TestWebKitAPI::TEST):
1246 2017-10-19 Sam Weinig <sam@webkit.org>
1248 [Settings] Move global settings into their own file
1249 https://bugs.webkit.org/show_bug.cgi?id=178512
1251 Reviewed by Darin Adler.
1253 * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
1254 (TestWebKitAPI::TEST):
1256 2017-10-19 Andy Estes <aestes@apple.com>
1258 [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
1259 https://bugs.webkit.org/show_bug.cgi?id=178181
1260 <rdar://problem/33660282>
1262 Reviewed by Dan Bernstein.
1264 * WebKitTestRunner/TestController.cpp:
1265 (WTR::TestController::databaseProcessName):
1267 2017-10-19 Saam Barati <sbarati@apple.com>
1269 Turn poly proto back on by default and remove the option
1270 https://bugs.webkit.org/show_bug.cgi?id=178525
1272 Reviewed by Mark Lam.
1274 * Scripts/run-jsc-stress-tests:
1276 2017-10-18 Ryosuke Niwa <rniwa@webkit.org>
1278 Don't expose raw HTML in pasteboard to the web content
1279 https://bugs.webkit.org/show_bug.cgi?id=178422
1281 Reviewed by Wenson Hsieh.
1283 Added a test case for sanitizing web archive in the system pasteboard to strip privacy sensitive information
1284 such as local file paths and potentially harmful scripts like event handlers serialized by WebKit prior to r223462.
1286 * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
1287 (PasteWebArchive.SanitizesHTML):
1289 2017-10-18 Youenn Fablet <youenn@apple.com>
1291 TestController should clear all fetch caches when resetting its state
1292 https://bugs.webkit.org/show_bug.cgi?id=178486
1294 Reviewed by Chris Dumez.
1296 Adding clearDOMCaches test runner method.
1297 Using that method when resetting state.
1299 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1300 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1301 (WTR::TestRunner::clearDOMCaches):
1302 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1303 * WebKitTestRunner/TestInvocation.cpp:
1304 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1306 2017-10-18 Chelsea Pugh <cpugh@apple.com>
1308 [iOS] Use new class name from UIKit when checking UITextSuggestion type
1309 https://bugs.webkit.org/show_bug.cgi?id=178416
1311 Reviewed by Tim Horton.
1313 This updates our test using/mocking out UITextAutofillSuggestion instead of UIKeyboardLoginCredentialsSuggestion.
1315 * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
1316 (-[UITextAutofillSuggestion initWithUsername:password:]): Copied from UIKit's implementation. This will serve as
1317 a mock of this method for builds not containingit.
1318 (+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Ditto.
1319 (TestWebKitAPI::TEST): Use +[UITextAutofillSuggestion autofillSuggestionWithUsername:password:] inline instead of
1320 helper function for creating a new suggestion.
1321 (newUIKeyboardLoginCredentialsSuggestion): Deleted.
1323 * TestWebKitAPI/ios/UIKitSPI.h:
1325 2017-10-18 Fujii Hironori <Hironori.Fujii@sony.com>
1327 update-webkit-auxiliary-libs can't download WebKitAuxiliaryLibrary.zip due to 403 Forbidden
1328 https://bugs.webkit.org/show_bug.cgi?id=178381
1330 Reviewed by Alexey Proskuryakov.
1332 The web server developer.apple.com seems to reject HTTP requests
1333 without Accept header field.
1335 * Scripts/update-webkit-dependency: Add 'Accept' header field to requests.
1337 2017-10-18 Aakash Jain <aakash_jain@apple.com>
1339 webkitpy tests should have --json-output option
1340 https://bugs.webkit.org/show_bug.cgi?id=178481
1342 Reviewed by Alexey Proskuryakov.
1344 * Scripts/webkitpy/test/main.py:
1345 (Tester._parse_args): Added json-output argument.
1346 (Tester._run_tests): Write output to json file.
1348 2017-10-18 Wenson Hsieh <wenson_hsieh@apple.com>
1350 Unreviewed, rolling out r223291.
1352 See WebCore ChangeLog for more detail.
1356 "Remove Editor::simplifyMarkup"
1357 https://bugs.webkit.org/show_bug.cgi?id=178271
1358 https://trac.webkit.org/changeset/223291
1360 2017-10-18 Chris Dumez <cdumez@apple.com>
1362 Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
1363 https://bugs.webkit.org/show_bug.cgi?id=177876
1364 <rdar://problem/34813129>
1366 Reviewed by Ryosuke Niwa.
1368 Clear service worker registrations between test runs to avoid flakiness.
1370 * WebKitTestRunner/TestController.cpp:
1371 (WTR::TestController::resetStateToConsistentValues):
1373 2017-10-18 Zan Dobersek <zdobersek@igalia.com>
1375 Remove remnants of OpenWebRTC
1376 https://bugs.webkit.org/show_bug.cgi?id=178437
1378 Reviewed by Alejandro G. Castro.
1380 Drop OpenWebRTC packages from the GTK's Jhbuild modules file. Relevant
1381 patches are also removed.
1383 * gtk/jhbuild.modules:
1384 * gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Removed.
1385 * gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Removed.
1386 * gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Removed.
1387 * gtk/patches/udpsrc-improve-timeouts.patch: Removed.
1389 2017-10-17 Jonathan Bedard <jbedard@apple.com>
1391 webkitpy: Hang when workers write to the same stack trace file
1392 https://bugs.webkit.org/show_bug.cgi?id=178402
1393 <rdar://problem/35033432>
1395 Reviewed by Aakash Jain.
1397 Workers can hang if they all write to the same stack trace file when receiving
1398 a SIGTERM. Attach the pid to the stack trace file name so that each worker
1399 writes to a different file.
1401 * Scripts/webkitpy/common/interupt_debugging.py:
1402 (log_stack_trace_on_term.handler): Name stack trace file path/<pid>-filename.
1403 (log_stack_trace_on_cntrl_c.handler): Ditto.
1405 2017-10-17 John Wilander <wilander@apple.com>
1407 Add and remove cookie partition accordingly in intermediary redirect requests
1408 https://bugs.webkit.org/show_bug.cgi?id=178369
1409 <rdar://problem/34467603>
1411 Reviewed by Brent Fulgham.
1413 Adds the function statisticsNotifyObserver().
1415 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1416 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1417 (WTR::InjectedBundle::statisticsNotifyObserver):
1418 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1419 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1420 (WTR::TestRunner::statisticsNotifyObserver):
1421 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1423 2017-10-17 Youenn Fablet <youenn@apple.com>
1425 Cache API implementation should be able to compute storage size for WebKit client applications.
1426 https://bugs.webkit.org/show_bug.cgi?id=178350
1428 Reviewed by Chris Dumez.
1430 Adding support for a domCacheSize getter.
1432 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1433 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1434 (WTR::TestRunner::domCacheSize):
1435 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1436 * WebKitTestRunner/TestController.cpp:
1437 (WTR::FetchCacheSizeForOriginCallbackContext::FetchCacheSizeForOriginCallbackContext):
1438 (WTR::fetchCacheSizeForOriginCallback):
1439 (WTR::TestController::domCacheSize):
1440 * WebKitTestRunner/TestController.h:
1441 * WebKitTestRunner/TestInvocation.cpp:
1442 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1444 2017-10-17 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
1446 [GStreamer][GTK][WPE] update-webkit-libs-jhbuild fails to detect changes in included moduleset files
1447 https://bugs.webkit.org/show_bug.cgi?id=178206
1449 Reviewed by Michael Catanzaro.
1451 The update-webkit-libs-jhbuild scripts computes MD5 sum of GTK/WPE jhbuild configuration files to check if it
1452 needs to rebuild the dependencies libraries. This patch fixes a bug when main GTK/WPE jhbuild modules
1453 configuration file includes additional files (for example GStreamer module). It parses jhbuild.modules file to
1454 check if additional files are included. If any, it computes MD5 sum for each of these included files.
1456 * Scripts/update-webkit-libs-jhbuild:
1457 (getJhbuildIncludedFilePaths): New function that returns included files in jhbuild.modules
1458 (jhbuildConfigurationCheckFile): New function to check if MD5 sum file changes.
1459 (jhbuildConfigurationChanged): Add MD5 sum check for included files.
1460 (saveMd5File): New function to save MD5 sum of a file.
1461 (saveJhbuildMd5): Add saving included files MD5 sum.
1462 (deleteJhbuildMd5): Delete included files MD5 sum
1463 * gtk/install-dependencies: Add perl-libXML lib that is used to parse jhbuild file.
1464 * wpe/install-dependencies: Ditto.
1466 2017-10-17 Tomas Popela <tpopela@redhat.com>
1468 Undefined WK_API_ENABLED warning when compiling COCOA content on WebKitGTK+
1469 https://bugs.webkit.org/show_bug.cgi?id=178208
1471 Check whether we are on COCOA platform before checking for
1474 Reviewed by Ryosuke Niwa.
1476 * WebKitTestRunner/TestController.cpp:
1477 (WTR::TestController::clearDOMCache):
1479 2017-10-17 Keith Miller <keith_miller@apple.com>
1481 Change WebCore sources to work with unified source builds
1482 https://bugs.webkit.org/show_bug.cgi?id=178229
1484 Rubber stamped by Tim Horton.
1486 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1488 2017-10-16 Christopher Reid <chris.reid@sony.com>
1490 [Win] Webkit should still be able to build when unable to check if libraries are up to date
1491 https://bugs.webkit.org/show_bug.cgi?id=178367
1493 Adding a option to skip the check to see if windows libraries are up to date.
1494 This option is useful when testing modified libraries. This option also allows
1495 building webkit when GitHub blocks requests to verify the latest library version.
1498 Reviewed by Per Arne Vollan.
1500 * Scripts/build-webkit:
1502 2017-10-12 Matt Rajca <mrajca@apple.com>
1504 Add API support for quirk that lets an arbitrary click allow auto-play.
1505 https://bugs.webkit.org/show_bug.cgi?id=178227
1507 Reviewed by Alex Christensen.
1509 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1510 (TEST): Added API test.
1512 2017-10-16 Maureen Daum <mdaum@apple.com>
1514 If an origin doesn't have databases in the Databases table we should still remove its information from disk in DatabaseTracker::deleteOrigin()
1515 https://bugs.webkit.org/show_bug.cgi?id=178281
1516 <rdar://problem/34576132>
1518 Reviewed by Brent Fulgham.
1520 Verify that if there is an entry in the Origins table but no entries in the Databases
1521 table that we still remove the directory for the origin, and that we remove the
1522 entry from the Origins table.
1524 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
1525 (TestWebKitAPI::TEST):
1527 2017-10-15 Ryosuke Niwa <rniwa@webkit.org>
1529 Cannot access images included in the content pasted from Microsoft Word
1530 https://bugs.webkit.org/show_bug.cgi?id=124391
1531 <rdar://problem/26862741>
1533 Reviewed by Antti Koivisto.
1535 Added tests for sanitizing HTML contents for copy & paste and drag & drop.
1537 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1538 * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: Added.
1539 (readHTMLFromPasteboard): Added.
1540 (createWebViewWithCustomPasteboardDataEnabled): Added.
1541 (CopyHTML.Sanitizes): Added.
1543 * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
1544 (createWebViewWithCustomPasteboardDataEnabled): Added to enable more tests on bots.
1546 * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
1547 (writeRTFToPasteboard): Added.
1548 (createWebViewWithCustomPasteboardDataEnabled): Added.
1549 (createHelloWorldString): Added.
1550 (PasteRTF.ExposesHTMLTypeInDataTransfer): Added.
1551 (PasteRTFD.ExposesHTMLTypeInDataTransfer): Added.
1552 (PasteRTFD.ImageElementUsesBlobURLInHTML): Added.
1554 * TestWebKitAPI/Tests/WebKitCocoa/copy-html.html: Added.
1555 * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html: Store the clipboardData contents for
1556 PasteRTF.ExposesHTMLTypeInDataTransfer and PasteRTFD.ExposesHTMLTypeInDataTransfer.
1558 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1559 (DataInteractionTests.DataTransferSanitizeHTML):
1561 2017-10-16 Youenn Fablet <youenn@apple.com>
1563 Activate Cache API by default
1564 https://bugs.webkit.org/show_bug.cgi?id=178186
1566 Reviewed by Chris Dumez.
1568 Removing explicit activation of cache api.
1570 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1571 (WTR::InjectedBundle::beginTesting):
1572 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1573 (WTR::TestRunner::setCacheAPIEnabled): Deleted.
1574 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1576 2017-10-16 Ross Kirsling <ross.kirsling@sony.com>
1578 run-webkit-tests help text should mention arguments too
1579 https://bugs.webkit.org/show_bug.cgi?id=178352
1581 Reviewed by Tim Horton.
1583 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1586 2017-10-16 Maureen Daum <mdaum@apple.com>
1588 If we fail to delete any database file, don't remove its information from the tracker database
1589 <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
1591 Reviewed by Brady Eidson.
1593 Add tests that verify we correctly delete databases and remove their information from
1594 the tracker database, even if the database doesn't exist. Verify that if we fail to
1595 delete a database, we don't remove its information from the tracker database.
1597 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1598 Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
1599 method for creating a temporary directory in the tests.
1600 * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
1601 The existing test was copied to DatabaseTrackerTest.mm.
1602 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
1603 (TestWebKitAPI::TEST):
1604 (TestWebKitAPI::addToDatabasesTable):
1605 (TestWebKitAPI::removeDirectoryAndAllContents):
1606 (TestWebKitAPI::createFileAtPath):
1608 2017-10-16 Ryan Haddad <ryanhaddad@apple.com>
1610 Unreviewed, rolling out r223422.
1612 These tests are for a change that was rolled out in r223420
1616 "If we fail to delete any database file, don't remove its
1617 information from the tracker database"
1618 https://bugs.webkit.org/show_bug.cgi?id=178251
1619 https://trac.webkit.org/changeset/223422
1621 2017-10-16 Maureen Daum <mdaum@apple.com>
1623 If we fail to delete any database file, don't remove its information from the tracker database
1624 <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
1626 Reviewed by Brady Eidson.
1628 Add tests that verify we correctly delete databases and remove their information from
1629 the tracker database, even if the database doesn't exist. Verify that if we fail to
1630 delete a database, we don't remove its information from the tracker database.
1632 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1633 Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
1634 method for creating a temporary directory in the tests.
1635 * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
1636 The existing test was copied to DatabaseTrackerTest.mm.
1637 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
1638 (TestWebKitAPI::TEST):
1639 (TestWebKitAPI::addToDatabasesTable):
1640 (TestWebKitAPI::removeDirectoryAndAllContents):
1641 (TestWebKitAPI::createFileAtPath):
1643 2017-10-16 David Kilzer <ddkilzer@apple.com>
1645 Add RELEASE_ASSERT_WITH_SECURITY_IMPLICATION() macro
1646 <https://webkit.org/b/178269>
1648 Reviewed by Alex Christensen.
1650 * Scripts/webkitpy/style/checkers/cpp.py:
1651 (check_language): Add checker to warn about using
1652 ASSERT_WITH_SECURITY_IMPLICATION().
1653 (CppChecker.categories): Add 'security/assertion' to list of
1655 * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1656 (CppStyleTest.test_debug_security_assertion): Add tests for
1659 2017-10-16 Chris Dumez <cdumez@apple.com>
1661 Clicks on Link with download attribute causes all (other) links to trigger download when clicked
1662 https://bugs.webkit.org/show_bug.cgi?id=178267
1663 <rdar://problem/34985016>
1665 Reviewed by Darin Adler.
1667 Use PassThrough policy in WKTR's InjectedBundle's decidePolicyForNewWindowAction so that the
1668 request is sent to the UIProcess. This gets WKTR's closer to Safari behavior and helps
1669 reproduce the bug. Without this change, I would not be able to write a regression test for
1670 this bug that is very easily reproducible in Safari.
1672 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1673 (WTR::InjectedBundlePage::decidePolicyForNewWindowAction):
1675 2017-10-16 Emilio Cobos Álvarez <emilio@crisal.io>
1677 Add Emilio Cobos Álvarez to the contributors list.
1678 https://bugs.webkit.org/show_bug.cgi?id=178334
1680 Reviewed by Antti Koivisto.
1682 * Scripts/webkitpy/common/config/contributors.json:
1684 2017-10-07 Maciej Stachowiak <mjs@apple.com>
1686 Improve --help documentation and add --list-plans to show available benchmarks.
1687 https://bugs.webkit.org/show_bug.cgi?id=178059
1689 Reviewed by Ryosuke Niwa.
1691 * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
1692 (BenchmarkRunner.available_plans): New function that returns the list of available plans.
1693 (BenchmarkRunner.plan_directory): New method to centralize knowledge of where the plan files live.
1694 (BenchmarkRunner._find_plan_file): Updated to use BenchmarkRunner.plan_directory
1696 * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
1698 (parse_args): Help cleanup: Reordered options to put more common
1699 ones at the top. Fixed wording. Added help for each
1700 option. Explained default for each option that has one.
1702 New option: --list-plans which tells you the available benchmarks.
1704 Code cleanup: Removed use of dest where redundant, made variable
1705 names conforming to Python coding style.
1707 (run_benchmark_plan): Adapted for new variable names.
1708 (list_benchmark_plans): New helper for --list-plans option.
1709 (start): Account for --list-plans. Also use
1710 BechmarkRunner.available_plans and use
1711 BenchmarkRunner.plan_directory instead of duplicating
1712 code/knowledge here.
1714 2017-10-16 Wenson Hsieh <wenson_hsieh@apple.com>
1716 On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
1717 https://bugs.webkit.org/show_bug.cgi?id=178301
1718 <rdar://problem/34990050>
1720 Reviewed by Darin Adler.
1722 Fixes issues in DumpRenderTree's LocalPasteboard to ensure that drag-drop-href-as-url.html exposes files, and
1723 also adds a new iOS drag and drop API test.
1725 * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
1726 (-[LocalPasteboard addTypes:owner:]):
1727 (-[LocalPasteboard setData:forType:]):
1729 Fixes LocalPasteboard's implementation of changeCount to incremement when the pasteboard owner changes, rather
1730 than every time data is changed. This is consistent with NSPasteboard behavior.
1732 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1733 (TestWebKitAPI::TEST):
1735 Adds a new API test to verify that an image and HTTP URL written by the platform is correctly web exposed.
1737 2017-10-15 Darin Adler <darin@apple.com>
1739 UTF-8 decoding produces one replacement character per byte; Encoding standard requires one replacement character per illegal sequence instead
1740 https://bugs.webkit.org/show_bug.cgi?id=178207
1742 Reviewed by Sam Weinig.
1744 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added test.
1745 * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Added.
1746 (TestWebKitAPI::decodeHexTestBytes): Decodes a string so we can write readable tests.
1747 (TestWebKitAPI::escapeNonPrintableASCIICharacters): Encodes a string so we can write readable tests.
1748 (TestWebKitAPI::TEST): Added some UTF-8 tests and UTF-8 invalid sequences tests.
1749 Would be smart to add more tests for other cases, exercising the fast ASCII loop for example, and
1752 2017-10-14 Adrian Perez de Castro <aperez@igalia.com>
1754 [WPE] JHBuild build directory DependenciesWPE/Build is not removed by update-webkit-libs-jhbuild
1755 https://bugs.webkit.org/show_bug.cgi?id=178212
1757 Reviewed by Michael Catanzaro.
1759 * Scripts/update-webkit-libs-jhbuild:
1760 (cleanJhbuild): The WPE JHBuild also uses a separate "Build" subdirectory, so do not skip
1761 cleaning it when "--wpe" is passed to the script.
1763 2017-10-13 Adrian Perez de Castro <aperez@igalia.com>
1765 [WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
1766 https://bugs.webkit.org/show_bug.cgi?id=178283
1768 Reviewed by Žan Doberšek.
1770 * wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise
1771 compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.
1773 2017-10-13 Youenn Fablet <youenn@apple.com>
1775 Implement listing origins for which CacheStorage is storing data
1776 https://bugs.webkit.org/show_bug.cgi?id=178236
1778 Reviewed by Chris Dumez.
1780 Adding hasDOMCache API for checking whether origin is storing data through Cache API.
1782 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1783 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1784 (WTR::TestRunner::hasDOMCache):
1785 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1786 * WebKitTestRunner/TestController.cpp:
1787 (WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
1788 (WTR::fetchCacheOriginsCallback):
1789 (WTR::TestController::hasDOMCache):
1790 * WebKitTestRunner/TestController.h:
1791 * WebKitTestRunner/TestInvocation.cpp:
1792 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1794 2017-10-13 Alex Christensen <achristensen@webkit.org>
1796 Remove Editor::simplifyMarkup
1797 https://bugs.webkit.org/show_bug.cgi?id=178271
1799 Reviewed by Wenson Hsieh.
1801 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1802 * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
1804 2017-10-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
1806 [GLib] WebKitNavigationAction should tell whether it is a redirect
1807 https://bugs.webkit.org/show_bug.cgi?id=178178
1809 Test that WebKitNavigationAction properly reports being a redirect.
1811 Reviewed by Carlos Garcia Campos.
1813 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
1814 (testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
1815 (serverCallback): add a /redirect path to the server, which causes a redirect.
1817 2017-10-13 Chris Dumez <cdumez@apple.com>
1819 Unreviewed, fix webkitpy failure after r223273
1821 * Scripts/webkitpy/w3c/test_importer_unittest.py:
1822 (TestImporterTest.test_harnesslinks_conversion):
1824 2017-10-12 Chris Dumez <cdumez@apple.com>
1826 import-w3c-tests modifies test sources and sometimes causes them to fail
1827 https://bugs.webkit.org/show_bug.cgi?id=178234
1829 Reviewed by Ryosuke Niwa.
1831 Update import-w3c-tests to stop rewriting tests as this is causing some tests
1832 to fail unexpectedly.
1834 * Scripts/webkitpy/w3c/test_importer.py:
1835 (TestImporter.import_tests):
1837 2017-10-12 Youenn Fablet <youenn@apple.com>
1839 Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
1840 https://bugs.webkit.org/show_bug.cgi?id=178200
1842 Reviewed by Chris Dumez.
1844 Making clearDOMCache wait for removal completion to exit.
1845 This removes the risk to interact with the cache while deleting it which will end up be racy in tests.
1847 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1848 (WTR::TestRunner::clearDOMCache):
1849 * WebKitTestRunner/TestController.cpp:
1850 (WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
1851 (WTR::clearDOMCacheCallback):
1852 (WTR::TestController::clearDOMCache):
1853 * WebKitTestRunner/TestInvocation.cpp:
1854 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
1855 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1857 2017-10-12 John Wilander <wilander@apple.com>
1859 ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
1860 https://bugs.webkit.org/show_bug.cgi?id=175257
1861 <rdar://problem/33359866>
1863 Reviewed by Brent Fulgham.
1865 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1866 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1867 (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
1868 (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
1869 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1870 * WebKitTestRunner/TestController.cpp:
1871 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
1873 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
1875 * WebKitTestRunner/TestController.h:
1876 * WebKitTestRunner/TestInvocation.cpp:
1877 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1878 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1879 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
1880 Implemented platform-specific.
1881 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
1882 Implemented platform-specific.
1884 2017-10-12 Andy Estes <aestes@apple.com>
1886 [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
1887 https://bugs.webkit.org/show_bug.cgi?id=178181
1888 <rdar://problem/33660282>
1890 Reviewed by Dan Bernstein.
1892 * WebKitTestRunner/TestController.cpp:
1893 (WTR::TestController::databaseProcessName):
1895 2017-10-12 Myles C. Maxfield <mmaxfield@apple.com>
1897 Emit SPIR-V from WSL compiler (Part 1)
1898 https://bugs.webkit.org/show_bug.cgi?id=177998
1900 Reviewed by Filip Pizlo.
1902 This patch implements the first half of a SPIR-V codegen phase for WSL.
1903 This includes all the operations which aren't actually emitting the contents
1904 of functions themselves. For example, this includes things like representing
1905 WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
1906 future patch will actually emit the contents of functions.
1908 There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
1909 types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
1910 input and output variables from a shader (and assigns location values to
1913 This patch is currently pursuing the "logical mode" detailed in
1914 https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
1915 array reference operation can be statically traced to the variable or array it
1918 This has the interesting property where accessing a pointer inside an array is
1919 forbidden, because the array index may be computed at runtime, so the compiler
1920 can't know at compile time which variable the pointer operation will be
1921 accessing. However, this isn't true for structs; the program must statically
1922 state which struct member it is accessing. Therefore, pointers or array
1923 references must not transitively appear within an array, but they may appear
1924 within a struct. The same logic applies to array references; those get lowered
1925 to just two indexes in SPIR-V (a lower bound and an upper bound).
1927 So, outside of an array, SPIR-V types don't need to include any pointers because
1928 any operation with the pointer doesn't need access to the runtime value of the
1929 pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
1930 will never include any pointers.
1932 This means that, for example, WSL can represent a linked list in logical mode.
1933 However, a WSL program cannot iterate across the list, because that would require
1934 assigning to a pointer. So instead, a program using a linked list could only say
1935 something like "list.ptr->ptr->ptr->value".
1937 * WebGPUShadingLanguageRI/LateChecker.js:
1938 (LateChecker.prototype._checkShaderType):
1939 * WebGPUShadingLanguageRI/SPIR-V.js:
1940 (SPIRV.OperandChecker.prototype._isStar):
1941 (SPIRV.OperandChecker.prototype.nextComparisonType):
1942 (SPIRV.OperandChecker.prototype.finalize):
1943 (SPIRV.OperandChecker):
1944 * WebGPUShadingLanguageRI/SPIRV.html:
1945 * WebGPUShadingLanguageRI/SPIRVCodegen.js: Added.
1947 (emitTypes.doEmitTypes):
1949 (ConstantFinder.prototype.visitGenericLiteralType):
1952 * WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Added.
1953 (SPIRVTypeAnalyzer):
1954 (SPIRVTypeAnalyzer.prototype.get program):
1955 (SPIRVTypeAnalyzer.prototype.get typeMap):
1956 (SPIRVTypeAnalyzer.prototype.get currentId):
1957 (SPIRVTypeAnalyzer.prototype.get stack):
1958 (SPIRVTypeAnalyzer.prototype.visitTypeRef):
1959 (SPIRVTypeAnalyzer.prototype._encounterType):
1960 (SPIRVTypeAnalyzer.prototype.visitNullType):
1961 (SPIRVTypeAnalyzer.prototype.visitGenericLiteralType):
1962 (SPIRVTypeAnalyzer.prototype.visitNativeType):
1963 (SPIRVTypeAnalyzer.prototype.visitEnumType):
1964 (SPIRVTypeAnalyzer.prototype.visitPtrType):
1965 (SPIRVTypeAnalyzer.prototype.visitArrayRefType):
1966 (SPIRVTypeAnalyzer.prototype.visitArrayType):
1967 (SPIRVTypeAnalyzer.prototype.visitStructType):
1968 * WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Added.
1969 (SPIRVPrimitiveVariableAnalyzer):
1970 (SPIRVPrimitiveVariableAnalyzer.prototype.get program):
1971 (SPIRVPrimitiveVariableAnalyzer.prototype.get typeMap):
1972 (SPIRVPrimitiveVariableAnalyzer.prototype.get currentId):
1973 (SPIRVPrimitiveVariableAnalyzer.prototype.get currentLocation):
1974 (SPIRVPrimitiveVariableAnalyzer.prototype.get nameComponents):
1975 (SPIRVPrimitiveVariableAnalyzer.prototype.get result):
1976 (SPIRVPrimitiveVariableAnalyzer.prototype.visitTypeRef):
1977 (SPIRVPrimitiveVariableAnalyzer.prototype.visitNullType):
1978 (SPIRVPrimitiveVariableAnalyzer.prototype.visitGenericLiteralType):
1979 (SPIRVPrimitiveVariableAnalyzer.prototype.visitNativeType):
1980 (SPIRVPrimitiveVariableAnalyzer.prototype.visitEnumType):
1981 (SPIRVPrimitiveVariableAnalyzer.prototype.visitPtrType):
1982 (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayRefType):
1983 (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayType):
1984 (SPIRVPrimitiveVariableAnalyzer.prototype.visitStructType):
1985 * WebGPUShadingLanguageRI/WSL.md:
1986 * WebGPUShadingLanguageRI/index.html:
1988 2017-09-29 Filip Pizlo <fpizlo@apple.com>
1990 Enable gigacage on iOS
1991 https://bugs.webkit.org/show_bug.cgi?id=177586
1993 Reviewed by JF Bastien.
1995 Add a mode to test disabling Gigacage.
1997 * Scripts/run-jsc-stress-tests:
1998 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2000 2017-10-11 Sam Weinig <sam@webkit.org>
2002 Remove out-parameter variants of copyToVector
2003 https://bugs.webkit.org/show_bug.cgi?id=178155
2005 Reviewed by Tim Horton.
2007 * DumpRenderTree/JavaScriptThreading.cpp:
2008 (stopJavaScriptThreads):
2010 2017-10-12 Sam Weinig <sam@webkit.org>
2012 It should be possible to iterate just the values (and not the counts) of a HashCountedSet
2013 https://bugs.webkit.org/show_bug.cgi?id=178169
2015 Reviewed by Daniel Bates.
2017 * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
2018 (TestWebKitAPI::TEST):
2019 Add test for HashCountedSet's new values() range.
2021 2017-10-11 Frederic Wang <fwang@igalia.com>
2023 run-safari --ios-simulator is no longer working with Xcode 9
2024 https://bugs.webkit.org/show_bug.cgi?id=177595
2026 Reviewed by Daniel Bates.
2028 In Xcode 9, the path of the simulator application is now in a new CoreSimulator subdirectory
2029 of the iphoneOS SDK platform. This patch updates webkitdirs.pm to use the new path in
2030 Xcode 9 or higher so that it is possible to run Safari on the iOS simulator again. It also
2031 does some minor code refactoring to improve code reuse.
2033 * Scripts/configure-xcode-for-ios-development: Move sdkDirectory() and sdkPlatformDirectory()
2035 (sdkDirectory): Deleted.
2036 (sdkPlatformDirectory): Deleted.
2037 * Scripts/webkitdirs.pm: Expose new sdkDirectory() and sdkPlatformDirectory().
2038 (sdkDirectory): Moved from configure-xcode-for-ios-development.
2039 (sdkPlatformDirectory): Ditto.
2040 (XcodeSDKPath): Rely on sdkDirectory() to implement this function.
2041 (iosSimulatorApplicationsPath): In Xcode 9 or higher use the new path. It is calculated
2042 by relying on sdkPlatformDirectory().
2044 2017-10-11 Dewei Zhu <dewei_zhu@apple.com>
2046 run-benchmark script should set '__XPC_DYLD_FRAMEWORK_PATH' while launching local-built Safari on Mac.
2047 https://bugs.webkit.org/show_bug.cgi?id=178199
2049 Reviewed by Saam Barati.
2051 '__XPC_DYLD_FRAMEWORK_PATH' should be set while launching Safari on run-benchmark script.
2052 'force_remove' function should support both file and directory.
2054 * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
2055 (OSXSafariDriver.launch_url):
2056 * Scripts/webkitpy/benchmark_runner/utils.py:
2059 2017-10-11 Saam Barati <sbarati@apple.com>
2061 Runtime disable poly proto because it may be a 3-4% Speedometer regression
2062 https://bugs.webkit.org/show_bug.cgi?id=178192
2064 Reviewed by JF Bastien.
2066 * Scripts/run-jsc-stress-tests:
2068 2017-10-11 Youenn Fablet <youenn@apple.com>
2070 Add API to clean CacheStorage data
2071 https://bugs.webkit.org/show_bug.cgi?id=178034
2073 Reviewed by Chris Dumez.
2075 Adding internals API to trigger deleting all or origin-persistent cache storage persistent data.
2077 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2078 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2079 (WTR::TestRunner::clearDOMCache):
2080 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2081 * WebKitTestRunner/TestController.cpp:
2082 (WTR::TestController::clearDOMCache):
2083 * WebKitTestRunner/TestController.h:
2084 * WebKitTestRunner/TestInvocation.cpp:
2085 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2087 2017-10-11 Chris Dumez <cdumez@apple.com>
2089 [Geolocation] Expose Coordinates.floorLevel
2090 https://bugs.webkit.org/show_bug.cgi?id=178173
2091 <rdar://problem/34918936>
2093 Reviewed by Ryosuke Niwa.
2095 Add test infrastructure for testing Coordinates.floorLevel.
2097 * DumpRenderTree/TestRunner.cpp:
2098 (setMockGeolocationPositionCallback):
2099 * DumpRenderTree/TestRunner.h:
2100 * DumpRenderTree/mac/TestRunnerMac.mm:
2101 (TestRunner::setMockGeolocationPosition):
2102 * DumpRenderTree/win/TestRunnerWin.cpp:
2103 (TestRunner::setMockGeolocationPosition):
2104 * WebKitTestRunner/GeolocationProviderMock.cpp:
2105 (WTR::GeolocationProviderMock::setPosition):
2106 * WebKitTestRunner/GeolocationProviderMock.h:
2107 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2108 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2109 (WTR::InjectedBundle::setMockGeolocationPosition):
2110 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2111 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2112 (WTR::TestRunner::setMockGeolocationPosition):
2113 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2114 * WebKitTestRunner/TestController.cpp:
2115 (WTR::TestController::setMockGeolocationPosition):
2116 * WebKitTestRunner/TestController.h:
2117 * WebKitTestRunner/TestInvocation.cpp:
2118 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2120 2017-10-11 Youenn Fablet <youenn@apple.com>
2122 Bump default cache storage quota to 20MB
2123 https://bugs.webkit.org/show_bug.cgi?id=178132
2125 Reviewed by Alex Christensen.
2127 * WebKitTestRunner/TestController.cpp:
2128 (WTR::TestController::generateContextConfiguration const):
2129 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2130 (WTR::initializeWebViewConfiguration): Setting quota to 400kb
2132 2017-10-11 Commit Queue <commit-queue@webkit.org>
2134 Unreviewed, rolling out r223113 and r223121.
2135 https://bugs.webkit.org/show_bug.cgi?id=178182
2137 Reintroduced 20% regression on Kraken (Requested by rniwa on
2140 Reverted changesets:
2142 "Enable gigacage on iOS"
2143 https://bugs.webkit.org/show_bug.cgi?id=177586
2144 https://trac.webkit.org/changeset/223113
2146 "Use one virtual allocation for all gigacages and their
2148 https://bugs.webkit.org/show_bug.cgi?id=178050
2149 https://trac.webkit.org/changeset/223121
2151 2017-10-11 Ryosuke Niwa <rniwa@webkit.org>
2153 Sanitize URL in pasteboard for other applications and cross origin content
2154 https://bugs.webkit.org/show_bug.cgi?id=178060
2155 <rdar://problem/34874518>
2157 Reviewed by Wenson Hsieh.
2159 Added API tests for sanitizing URLs copied from web content, and that the original URL is exposed to the web content.
2161 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2162 * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: Added.
2163 (readURLFromPasteboard): A helper function.
2164 * TestWebKitAPI/Tests/WebKitCocoa/copy-url.html: Added.
2165 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2166 (DataInteractionTests.DataTransferGetDataWhenDroppingCustomData): Rebaselined. https://www.apple.com is no longer
2167 normalized to https://www.apple.com/ by NSURL / UIPasteboard as expected.
2168 (DataInteractionTests.DataTransferSetDataValidURL): Added.
2169 (DataInteractionTests.DataTransferSetDataUnescapedURL): Added.
2170 (DataInteractionTests.qDataTransferSetDataInvalidURL): Added.
2172 2017-10-11 Chris Dumez <cdumez@apple.com>
2174 Modernize Geolocation code
2175 https://bugs.webkit.org/show_bug.cgi?id=178148
2177 Reviewed by Ryosuke Niwa.
2179 * DumpRenderTree/mac/TestRunnerMac.mm:
2180 (TestRunner::setMockGeolocationPosition):
2182 2017-10-11 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
2184 [GStreamer] Many media source tests crashing with GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0' failed in gst_qtdemux_configure_stream()
2185 https://bugs.webkit.org/show_bug.cgi?id=176804
2187 Reviewed by Michael Catanzaro.
2189 Add patch to fix assert in qtdemux.
2191 * gstreamer/jhbuild.modules:
2192 * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added.
2194 2017-10-11 Tomas Popela <tpopela@redhat.com>
2196 Use https for trac changeset and browser links
2197 https://bugs.webkit.org/show_bug.cgi?id=178167
2199 Reviewed by Alexey Proskuryakov.
2201 Switch the http://trac.webkit.org/changeset and
2202 http://trac.webkit.org/browser links that are printed by webkitpy to
2203 https. Also update the test expectations.
2205 * Scripts/webkitpy/common/checkout/checkout_unittest.py:
2206 * Scripts/webkitpy/common/config/committervalidator_unittest.py:
2207 (CommitterValidatorTest.test_flag_permission_rejection_message):
2208 * Scripts/webkitpy/common/config/urls.py:
2210 (view_revision_url):
2211 * Scripts/webkitpy/common/net/bugzilla/bug_unittest.py:
2212 (BugTest.test_commit_revision):
2213 * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
2214 * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
2215 * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
2217 (MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
2218 * Scripts/webkitpy/style/checkers/changelog_unittest.py:
2219 (ChangeLogCheckerTest.test_missing_bug_number):
2220 * Scripts/webkitpy/tool/bot/feeders_unittest.py:
2221 * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
2222 * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
2223 (IRCBotTest.test_rollout):
2224 (IRCBotTest.test_revert):
2225 (IRCBotTest.test_multi_rollout):
2226 (IRCBotTest.test_rollout_with_r_in_svn_revision):
2227 (IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
2228 (IRCBotTest.test_rollout_invalidate_reason):
2229 (test_multi_rollout_invalidate_reason):
2230 * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
2231 * Scripts/webkitpy/tool/commands/download_unittest.py:
2232 * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
2233 * Scripts/webkitpy/tool/commands/queues_unittest.py:
2234 * Scripts/webkitpy/tool/commands/suggestnominations.py:
2235 (SuggestNominations._count_commit):
2236 * Scripts/webkitpy/tool/commands/upload_unittest.py:
2237 * Scripts/webkitpy/tool/servers/data/rebaselineserver/util.js:
2240 * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
2241 (CloseBugForLandDiffTest.test_empty_state):
2242 * Scripts/webkitpy/tool/steps/commit_unittest.py:
2243 (CommitTest._test_check_test_expectations):
2244 * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
2245 (UpdateChangeLogsForRevertTest):
2247 2017-10-10 Ryosuke Niwa <rniwa@webkit.org>
2249 Enable custom pasteboard data in DumpRenderTree and WebKitTestRunner
2250 https://bugs.webkit.org/show_bug.cgi?id=178154
2252 Reviewed by Wenson Hsieh.
2254 Fixed the bug that LocalPasteboard would fail to load the promise type if data is set after declaring types
2255 by delaying the call to provideDataForType until when dataForType is called.
2257 Without this fix, fast/events/dropzone-002.html would start failing after enabling custom pasteboard data.
2258 With this fix, fast/events/dropzone-005.html also starts passing.
2260 * DumpRenderTree/mac/DumpRenderTree.mm:
2261 (resetWebPreferencesToConsistentValues):
2262 * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2263 (-[LocalPasteboard addTypes:owner:]):
2264 (-[LocalPasteboard dataForType:]):
2265 * WebKitTestRunner/TestController.cpp:
2266 (WTR::TestController::resetPreferencesToConsistentValues):
2268 2017-10-10 Joanmarie Diggs <jdiggs@igalia.com>
2270 AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM
2271 https://bugs.webkit.org/show_bug.cgi?id=178137
2273 Reviewed by Chris Fleizach.
2275 Add handling for ATK_ROLE_LANDMARK resulting from the ARIA form role.
2277 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2279 2017-10-10 Jonathan Bedard <jbedard@apple.com>
2281 run-webkit-tests: upload test results to multiple servers
2282 https://bugs.webkit.org/show_bug.cgi?id=178012
2283 <rdar://problem/34856501>
2285 Reviewed by Lucas Forschler.
2287 Allowing uploading of results to multiple servers makes developing new results
2288 databases much easier, and does not complicate uploading logic.
2290 * Scripts/webkitpy/layout_tests/controllers/manager.py:
2291 (Manager.upload_results): Iterate through the list of results server hosts and
2292 send results to each one.
2293 * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
2294 (JSONLayoutResultsGenerator.__init__): Accept a list of test results servers.
2295 * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
2296 (JSONResultsGenerator.__init__): Accept a list of test results servers.
2297 (JSONResultsGenerator.get_json): Pick which server to download from by index.
2298 (JSONResultsGenerator.upload_json_files): Upload the JSON to each results server.
2299 (JSONResultsGenerator._get_archived_json_results): Pick which server to download from.
2300 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2301 (parse_args): Allow multiple test-results-servers and results-server-hosts to be
2302 passed to run-webkit-tests.
2304 2017-10-09 Youenn Fablet <youenn@apple.com>
2306 Vector should be able to easily create from a list of movable only items
2307 https://bugs.webkit.org/show_bug.cgi?id=176432
2309 Reviewed by Darin Adler.
2311 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2312 (TestWebKitAPI::TEST):
2314 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2316 Enable gigacage on iOS
2317 https://bugs.webkit.org/show_bug.cgi?id=177586
2319 Reviewed by JF Bastien.
2321 Add a mode to test disabling Gigacage.
2323 * Scripts/run-jsc-stress-tests:
2324 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2326 2017-10-09 Commit Queue <commit-queue@webkit.org>
2328 Unreviewed, rolling out r223015 and r223025.
2329 https://bugs.webkit.org/show_bug.cgi?id=178093
2331 Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
2334 Reverted changesets:
2336 "Enable gigacage on iOS"
2337 https://bugs.webkit.org/show_bug.cgi?id=177586
2338 http://trac.webkit.org/changeset/223015
2340 "Unreviewed, disable Gigacage on ARM64 Linux"
2341 https://bugs.webkit.org/show_bug.cgi?id=177586
2342 http://trac.webkit.org/changeset/223025
2344 2017-10-09 Sam Weinig <sam@webkit.org>
2346 Make HashMap::keys() and HashMap::values() work with WTF::map/WTF::copyToVector
2347 https://bugs.webkit.org/show_bug.cgi?id=178072
2349 Reviewed by Darin Adler.
2351 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2352 (TestWebKitAPI::TEST):
2354 Add tests for HashMap::keys() and HashMap::values() working with copyToVector.
2356 2017-10-05 Frederic Wang <fwang@igalia.com>
2358 Remove WOFF2 from Source/ThirdParty.
2359 https://bugs.webkit.org/show_bug.cgi?id=177862
2361 Reviewed by Michael Catanzaro.
2363 * Scripts/webkitpy/style/checker.py: Remove woff2.
2364 * gtk/jhbuild.modules: Add new jhbuild module for woff2.
2366 2017-10-08 Sam Weinig <sam@webkit.org>
2368 It should be possible to create a ListHashSet with a std::initializer_list.
2369 https://bugs.webkit.org/show_bug.cgi?id=178070
2371 Reviewed by Darin Adler.
2373 * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
2374 (TestWebKitAPI::TEST):
2375 Add a test for using std::initializer_list with ListHashSet.
2377 2017-10-08 Sam Weinig <sam@webkit.org>
2379 There should be a version of copyToVector that returns a Vector, rather than using an out parameter
2380 https://bugs.webkit.org/show_bug.cgi?id=177732
2382 Reviewed by Saam Barati.
2384 * TestWebKitAPI/Tests/WTF/Vector.cpp:
2385 (TestWebKitAPI::TEST):
2386 Add tests for the new copyToVector and copyToVectorOf functions.
2388 2017-10-08 Darin Adler <darin@apple.com>
2390 Fix bugs related to setting reflected floating point DOM attributes
2391 https://bugs.webkit.org/show_bug.cgi?id=178061
2393 Reviewed by Sam Weinig.
2395 * TestWebKitAPI/Tests/WTF/AtomicString.cpp: Added a test of the
2396 AtomicString::number function, based on the test cases we already
2397 had for String::numberToStringECMAScript, and with some additional
2398 cases with powers of 10 that check handling of trailng zeroes.
2400 * TestWebKitAPI/Tests/WTF/WTFString.cpp: Added test cases to the
2401 existing tests of the String::numberToStringECMAScript function
2402 as above. Also added tests for String::number and for
2403 String::numberToStringFixedWidth. Also changed the tests to all use
2404 EXPECT instead of ASSERT macros since these are all non-fatal.
2406 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2407 (WTR::dumpFrameScrollPosition): Use StringBuilder::appendECMAScriptNumber
2408 instead of String::number.
2410 2017-10-08 Dean Jackson <dino@apple.com>
2412 Make sort-Xcode-project file handle UnifiedSources
2413 https://bugs.webkit.org/show_bug.cgi?id=178042
2415 Reviewed by Sam Weinig.
2417 Sort the UnifiedSource(\d+) files by number rather
2418 than alphabetically.
2420 * Scripts/sort-Xcode-project-file:
2421 (sortChildrenByFileName):
2422 (sortFilesByFileName):
2424 2017-09-29 Filip Pizlo <fpizlo@apple.com>
2426 Enable gigacage on iOS
2427 https://bugs.webkit.org/show_bug.cgi?id=177586
2429 Reviewed by JF Bastien.
2431 Add a mode to test disabling Gigacage.
2433 * Scripts/run-jsc-stress-tests:
2434 * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2436 2017-10-06 Aishwarya Nirmal <anirmal@apple.com>
2438 [iOS] Respect the "caret-color" CSS property when editing
2439 https://bugs.webkit.org/show_bug.cgi?id=177489
2440 <rdar://problem/34600419>
2442 Reviewed by Tim Horton.
2444 Adds test for iOS caret color support.
2446 * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
2447 (TestWebKitAPI::TEST):
2448 * TestWebKitAPI/ios/UIKitSPI.h:
2450 2017-10-06 Alex Christensen <achristensen@webkit.org>
2452 Add more infrastructure to apply custom header fields to same-origin requests
2453 https://bugs.webkit.org/show_bug.cgi?id=177629
2455 Reviewed by Ryosuke Niwa.
2457 * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
2458 (canonicalizeHTTPHeader):
2459 (shouldRemainUnchanged):
2462 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2465 (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
2466 (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
2467 (-[CustomHeaderFieldsDelegate webView:stopURLSchemeTask:]):
2469 Test main resource requests, subresource requests, and cross-origin requests.
2471 2017-10-06 Wenson Hsieh <wenson_hsieh@apple.com>
2473 [iOS] Tweak support for classifying form controls (followup to r222487)
2474 https://bugs.webkit.org/show_bug.cgi?id=177917
2475 <rdar://problem/34820122>
2477 Reviewed by Dean Jackson.
2479 Minor cleanup around autofill API tests added in r222487. Additionally, augments some of these API tests to
2480 verify that after blurring the focused element, the content view no longer accepts autofill credentials (see
2481 WebKit ChangeLog for more details). Also augments tests to verify that the URL in the autofill context matches
2484 * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
2486 Remove the USE(APPLE_INTERNAL_SDK) guard for these API tests.
2488 (newUIKeyboardLoginCredentialsSuggestion):
2490 Add a stub implementation of UIKeyboardLoginCredentialsSuggestion. This allows
2491 [UIKeyboardLoginCredentialsSuggestion new] to return a nonnull object, which allows these API tests to verify
2492 that the credential filling codepath works as intended without any additional UIKit changes. Currently, tests
2493 for the value of username and password fields are passing even though the fields are not being populated because
2494 the expected string values are null, and the observed value is an empty string. We instead check the literal
2495 string values here instead of credentialSuggestion's properties, so that tests verifying the behavior of
2496 -insertTextSuggestion: will require username and password inputs to be populated.
2498 (-[TestInputDelegate _webView:focusShouldStartInputSession:]):
2499 (-[AutofillTestView initWithFrame:]):
2500 (-[AutofillTestView _autofillInputView]):
2501 (-[AutofillTestView textInputHasAutofillContext]):
2502 (TestWebKitAPI::TEST):
2504 Add an additional API test to verify that programmatic focus without user interaction (and also without testing
2505 overrides) does not activate autofill.
2507 (createUIKeyboardLoginCredentialsSuggestion): Deleted.
2508 (-[WKWebView _privateTextInput]): Deleted.
2509 * TestWebKitAPI/ios/UIKitSPI.h:
2511 Minor gardening to remove iOS version >= 11 guards that are now unnecessary. Additionally, add some more private
2512 header imports (with corresponding interface definitions for building and running with the public SDK).
2514 2017-10-06 Antti Koivisto <antti@apple.com>
2516 Minor WeakPtr improvements
2517 https://bugs.webkit.org/show_bug.cgi?id=177958
2519 Reviewed by Sam Weinig.
2521 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2522 (TestWebKitAPI::TEST):
2523 (TestWebKitAPI::Base::createWeakPtr): Deleted.
2525 2017-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
2527 Unreviewed. Fix parsing of GTK unit tests output in bot configuration.
2529 * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2530 (RunGtkAPITests.commandComplete): Remove trailing ':' from the regular expression.
2532 2017-10-06 Charles Turner <cturner@igalia.com>
2534 Disable bmalloc when running Valgrind
2535 https://bugs.webkit.org/show_bug.cgi?id=177923
2537 Reviewed by Carlos Alberto Lopez Perez.
2539 * Scripts/webkitpy/port/gtk.py:
2540 (GtkPort.setup_environ_for_server):
2542 2017-10-06 Zan Dobersek <zdobersek@igalia.com>
2544 Implement TestController::platformContext() for WPE, returning the
2545 m_context pointer as the GTK+ port does. This fixes the crashes on
2548 Rubber-stamped by Carlos Garcia Campos.
2550 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2551 (WTR::TestController::platformContext):
2553 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2555 [GTK][WPE] Add API to configure and enable resource load statistics
2556 https://bugs.webkit.org/show_bug.cgi?id=177943
2558 Reviewed by Michael Catanzaro.
2560 Add a command line option to enable intelligent tracking prevention to MiniBrowser and tests cases to check the
2563 * MiniBrowser/gtk/main.c:
2565 * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
2567 (testWebsiteDataConfiguration):
2568 (testWebsiteDataEphemeral):
2569 (testWebsiteDataResourceLoadStats):
2571 * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
2573 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
2574 (directoryChangedCallback):
2575 (WebViewTest::waitUntilFileExists):
2576 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2578 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2580 [GTK][WPE] All resource load statistics tests added in r212183 crash in GTK bots, timeout in GTK and WPE bots since r219049
2581 https://bugs.webkit.org/show_bug.cgi?id=168171
2583 Reviewed by Chris Dumez.
2585 Implement all resource load statistics functions in TestController using the C API. Also enable the FileMonitor
2586 unit test. This test requires a platform implementation of Util::run(), so I've added UtilitiesGLib.cpp with an
2587 iplementation common to glib based ports using WTF RunLoop abstraction.
2589 * TestWebKitAPI/PlatformGTK.cmake:
2590 * TestWebKitAPI/PlatformWPE.cmake:
2591 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
2592 * TestWebKitAPI/glib/UtilitiesGLib.cpp: Copied from Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h.
2593 (TestWebKitAPI::Util::run):
2594 (TestWebKitAPI::Util::spinRunLoop):
2595 (TestWebKitAPI::Util::sleep):
2596 * TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
2597 * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
2598 * WebKitTestRunner/TestController.cpp:
2599 (WTR::TestController::platformAdjustContext):
2600 (WTR::TestController::setStatisticsLastSeen):
2601 (WTR::TestController::setStatisticsPrevalentResource):
2602 (WTR::ResourceStatisticsCallbackContext::ResourceStatisticsCallbackContext):
2603 (WTR::resourceStatisticsCallback):
2604 (WTR::TestController::isStatisticsPrevalentResource):
2605 (WTR::TestController::setStatisticsHasHadUserInteraction):
2606 (WTR::TestController::isStatisticsHasHadUserInteraction):
2607 (WTR::TestController::setStatisticsGrandfathered):
2608 (WTR::TestController::isStatisticsGrandfathered):
2609 (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
2610 (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
2611 (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
2612 (WTR::TestController::setStatisticsTimeToLiveUserInteraction):
2613 (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
2614 (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
2615 (WTR::TestController::statisticsUpdateCookiePartitioning):
2616 (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
2617 (WTR::TestController::statisticsSubmitTelemetry):
2618 (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
2619 (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
2620 (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
2621 (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
2622 (WTR::TestController::setStatisticsGrandfatheringTime):
2623 (WTR::TestController::setStatisticsMaxStatisticsEntries):
2624 (WTR::TestController::setStatisticsPruneEntriesDownTo):
2625 (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
2626 (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
2627 (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
2628 (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
2629 (WTR::TestController::statisticsResetToConsistentState):
2630 * WebKitTestRunner/TestController.h:
2632 2017-10-05 Jer Noble <jer.noble@apple.com>
2634 [Cocoa] Enable ENABLE_ENCRYPTED_MEDIA build-time setting
2635 https://bugs.webkit.org/show_bug.cgi?id=177261
2637 Reviewed by Eric Carlson.
2639 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2641 2017-10-05 Alex Christensen <achristensen@webkit.org>
2643 Add ObjC equivalent of WKPageNavigationClient.didChangeBackForwardList
2644 https://bugs.webkit.org/show_bug.cgi?id=177966
2645 <rdar://problem/22387135>
2647 Reviewed by Tim Horton.
2649 * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
2650 (-[ListItemDelegate _webView:backForwardListItemAdded:removed:]):
2651 (-[ListItemDelegate webView:didFinishNavigation:]):
2654 2017-10-04 Megan Gardner <megan_gardner@apple.com>
2656 check-webkit-style erroneously requires a space between the carrot and brace in obj-c blocks.
2657 https://bugs.webkit.org/show_bug.cgi?id=177897
2659 Reviewed by Dan Bernstein and Jonathan Bedard.
2661 Remove the check for a space between ^ and {,
2662 as this is valid and expected Obj-C. Now check to make sure there is
2663 no space at all between ^ and {, and also that there is a space between
2664 the end of an argument list and the {.
2666 * Scripts/webkitpy/style/checkers/cpp.py:
2667 (regex_for_lambdas_and_blocks):
2669 2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
2671 Unreviewed. Run WebKit2 C API tests in GTK+ bots again after the last WebKit2 -> WebKit rename.
2673 * Scripts/run-gtk-tests:
2675 (TestRunner._run_test):
2677 2017-10-05 Darin Adler <darin@apple.com>
2679 Remove additional WebKitSystemInterface remnants
2680 https://bugs.webkit.org/show_bug.cgi?id=177948
2682 Reviewed by Andy Estes.
2684 * DumpRenderTree/PlatformMac.cmake: Removed code to link the
2685 WebKitSystemInterface library. Left in code that points to
2686 the WebKitLibraries directory, but maybe that can be removed by
2687 someone who is more certain it's no longer needed.
2689 * Scripts/copy-webkitlibraries-to-product-directory: Removed code
2690 to copy and delete WebKitSystemInterface libraries and headers.
2692 * WebKitTestRunner/PlatformMac.cmake: Removed code to link the
2693 WebKitSystemInterface library. Left in code that points to
2694 the WebKitLibraries directory, but maybe that can be removed by
2695 someone who is more certain it's no longer needed.
2697 2017-10-05 Saam Barati <sbarati@apple.com>
2699 Unreviewed. Try to make debug type profiler tests stop timing out.
2701 * Scripts/run-jsc-stress-tests:
2703 2017-10-03 Frederic Wang <fwang@igalia.com>
2705 Remove Brotli from Source/ThirdParty
2706 https://bugs.webkit.org/show_bug.cgi?id=177804
2708 Reviewed by Michael Catanzaro.
2710 * gtk/jhbuild.modules: Build brotli 1.0.1 from the official github repository.
2711 * Scripts/webkitpy/style/checker.py: Remove brotli.
2713 2017-10-04 Alex Christensen <achristensen@webkit.org>
2715 Stop linking with WebKitSystemInterface
2716 https://bugs.webkit.org/show_bug.cgi?id=177915
2718 Reviewed by Antti Koivisto.
2720 * DumpRenderTree/mac/Configurations/Base.xcconfig:
2721 * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
2722 * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
2723 * DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
2724 * WebKitTestRunner/Configurations/Base.xcconfig:
2725 * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
2726 * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
2727 * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
2728 * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
2730 2017-10-04 Alex Christensen <achristensen@webkit.org>
2732 Remove unnecessary includes of WebKitSystemInterface on Cocoa platforms
2733 https://bugs.webkit.org/show_bug.cgi?id=177912
2735 Reviewed by Saam Barati.
2737 * DumpRenderTree/mac/DumpRenderTree.mm:
2739 2017-10-04 Megan Gardner <megan_gardner@apple.com>
2741 Break out new touch debugging code into seperate file
2742 https://bugs.webkit.org/show_bug.cgi?id=177796
2744 Reviewed by Simon Fraser.
2746 Encapsulate the new debug touch code into it's own file.
2747 This allows for cleaner code and a better way to show the touches
2748 in a completely separate window, which should also be in screen
2749 coordinates, and not subject to any transforms that get put on the
2752 * TestRunnerShared/spi/UIKitTestSPI.h:
2753 * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2754 * WebKitTestRunner/ios/HIDDebugTouchWindow.h: Added.
2755 * WebKitTestRunner/ios/HIDDebugTouchWindow.mm: Added.
2756 (+[HIDDebugTouchWindow sharedHIDDebugTouchWindow]):
2757 (-[HIDDebugTouchWindow init]):
2758 (-[HIDDebugTouchWindow dealloc]):
2759 (-[HIDDebugTouchWindow updateDebugIndicatorForTouch:withPointInWindowCoordinates:isTouching:]):
2760 (-[HIDDebugTouchWindow initDebugViewsIfNeeded]):
2761 * WebKitTestRunner/ios/HIDEventGenerator.h:
2762 * WebKitTestRunner/ios/HIDEventGenerator.mm:
2763 (-[HIDEventGenerator init]):
2764 (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
2765 (-[HIDEventGenerator _createIOHIDEventType:]):
2766 (-[HIDEventGenerator _updateTouchPoints:count:]):
2767 (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
2768 (-[HIDEventGenerator touchDown:touchCount:]):
2769 (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
2770 (-[HIDEventGenerator liftUp:touchCount:]):
2771 (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
2772 (-[HIDEventGenerator initDebugViewsIfNeeded]): Deleted.
2773 (-[HIDEventGenerator updateDebugIndicatorForTouch:withPoint:isTouching:]): Deleted.
2774 * WebKitTestRunner/ios/TestControllerIOS.mm:
2775 (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
2777 2017-10-04 JF Bastien <jfbastien@apple.com>
2779 WTF: Update std::expected to match current proposal
2780 https://bugs.webkit.org/show_bug.cgi?id=177881
2782 Reviewed by Mark Lam.
2784 The proposal is likely to be in C++20 and I've been asked to help co-champion
2785 it. I'm therefore updating our implementation to more closely match the current
2786 proposal, and to make sure it'll work for us if standardized.
2788 - Rename UnexpectedType to Unexpected to match the proposal.
2789 - Remove relational operators, only equality / inequality remains.
2790 - Fix minor type signatures.
2791 - Add UnexpectedType typedef.
2792 - Uncomment rebind implementation.
2793 - Add in-place construction tag, as well as explicit error construction tag.
2794 - Add template unexpected constructor.
2795 - Note that make_unexpected isn't in the proposal anymore, but we keep it because we don't have C++17 deduction guides.
2796 - Remove hashing, which isn't in the proposal anymore.
2798 * TestWebKitAPI/Tests/WTF/Expected.cpp:
2800 (TestWebKitAPI::TEST):
2802 2017-10-04 Lucas Forschler <lforschler@apple.com>
2804 https://bugs.webkit.org/show_bug.cgi?id=177888
2805 WebKitArchiveSupport - add API Gateway to source control
2806 This is a swagger configuration export via AWS API Gateway console.
2808 Rubber-stamped by Alexey Proskuryakov.
2810 * WebKitArchiveSupport/AWS-APIGateway: Added.
2811 * WebKitArchiveSupport/AWS-APIGateway/stage-v2.json: Added.
2813 2017-10-04 Mark Lam <mark.lam@apple.com>
2815 Add support for using Probe DFG OSR Exit behind a runtime flag.
2816 https://bugs.webkit.org/show_bug.cgi?id=177844
2817 <rdar://problem/34801425>
2819 Reviewed by Saam Barati.
2821 Enable --useProbeOSrExit=true for dfg-eager and ftl-no-cjit-validate-sampling-profiler
2822 test configurations.
2824 * Scripts/run-jsc-stress-tests:
2826 2017-10-04 Jonathan Bedard <jbedard@apple.com>
2828 webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
2829 https://bugs.webkit.org/show_bug.cgi?id=177751
2830 <rdar://problem/34769470>
2832 Reviewed by Daniel Bates.
2834 Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
2835 result. When capturing output from the MockExecutive, the first invocation of
2836 Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
2837 but subsequent invocations will not.
2839 * Scripts/webkitpy/tool/steps/steps_unittest.py:
2841 (StepsTest.setUp): Cache the build path before running tests.
2843 2017-10-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
2845 [JHBuild][GTK][WKE] Circular dependency between harfbuzz and freetype6
2846 https://bugs.webkit.org/show_bug.cgi?id=177865
2848 Reviewed by Michael Catanzaro.
2850 Build freetype6 without harfbuzz support.
2851 This seems to be what distros like Fedora, Debian or OpenEmbedded do.
2852 Also explicitly enable support for freetype and fontconfig on harfbuzz.
2854 * gtk/jhbuild.modules: Enable also support for icu.
2855 * wpe/jhbuild.modules:
2857 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
2859 [Test262] Update Test262 to Oct 4 version
2860 https://bugs.webkit.org/show_bug.cgi?id=177859
2862 Reviewed by Sam Weinig.
2864 * Scripts/import-test262-tests:
2866 2017-10-04 Ryosuke Niwa <rniwa@webkit.org>
2868 Use blob URL when pasting RTFD instead of overriding DocumentLoader
2869 https://bugs.webkit.org/show_bug.cgi?id=177801
2870 <rdar://problem/34542270>
2872 Reviewed by Wenson Hsieh.
2874 Added a regression test for an assertion failure when pasting an empty RTFD as well as a test for pasting
2875 RTFD with an image, which should result in an image element with a blob URL.
2877 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2878 * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
2879 * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
2880 * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html:
2882 2017-10-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
2884 [GLib] Let WebCore know of low power situations
2885 https://bugs.webkit.org/show_bug.cgi?id=177810
2887 Reviewed by Carlos Garcia Campos.
2889 * gtk/install-dependencies: add upower-glib dev packages for Debian, Arch and Fedora.
2891 2017-10-03 Saam Barati <sbarati@apple.com>
2893 Implement polymorphic prototypes
2894 https://bugs.webkit.org/show_bug.cgi?id=176391
2896 Reviewed by Filip Pizlo.
2898 * Scripts/run-jsc-stress-tests:
2900 2017-10-03 Myles C. Maxfield <mmaxfield@apple.com>
2902 Create a SPIR-V assembler
2903 https://bugs.webkit.org/show_bug.cgi?id=177726
2905 Reviewed by Filip Pizlo.
2907 Khronos has released a json file containing every SPIR-V opcode and operand at
2908 https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/1.2/spirv.core.grammar.json
2909 This patch creates a function which loads this file (via the fetch API), parses it, and creates
2910 an object which holds two things:
2911 - For each opcode, a class which accepts the appropriate operands
2912 - For each enum type, an object which holds each enum value
2913 The constructor for each opcode is smart enough to do some basic type-checking of the argument,
2914 according to the types listed in Khronos's json file.
2916 This patch also includes an example .html file which outputs a dummy SPIR-V program,
2917 which happens to be compatible with the SPIR-V demo at
2918 https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/demos/cube.cpp
2919 If you modify this demo to use the generated SPIR-V program, you can see the result in
2922 This patch also commits a copy of Khronos's json file mentioned above. This isn't the first
2923 Khronos file we've committed into our repository with this license, so there shouldn't be any
2926 * WebGPUShadingLanguageRI/SPIR-V.js: Added.
2929 (SPIRVAssembler.prototype.append):
2930 (SPIRVAssembler.prototype.get size):
2931 (SPIRVAssembler.prototype.get storage):
2932 (SPIRVAssembler.prototype.get result):
2933 * WebGPUShadingLanguageRI/SPIRV.html: Added.
2934 * WebGPUShadingLanguageRI/spirv.core.grammar.json: Added.
2936 2017-10-03 Chris Dumez <cdumez@apple.com>
2938 SharedStringHashStore should support removing hashes
2939 https://bugs.webkit.org/show_bug.cgi?id=177770
2941 Reviewed by Alex Christensen.
2943 Add API test coverage.
2945 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2946 * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: Added.
2947 (TestWebKitAPI::TEST):
2949 2017-10-03 Dewei Zhu <dewei_zhu@apple.com>
2951 Fix missing import for BenchmarkRunner.
2952 https://bugs.webkit.org/show_bug.cgi?id=177842
2954 Reviewed by Ryosuke Niwa.
2956 'show_results' requires BenchmarkRunner.
2958 * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
2960 2017-10-03 Olivier Blin <olivier.blin@softathome.com>
2962 [WPE] Bump deps to add support for xdg-shell-unstable-v6 protocol
2963 https://bugs.webkit.org/show_bug.cgi?id=177820
2965 Reviewed by Žan Doberšek.
2967 gnome-shell does not advertize the xdg-shell protocol anymore, but xdg-shell-unstable-v6 instead.
2968 Support has been added in WPEBackend-mesa, we need to update the requirements.
2969 wayland-1.10 is needed for wl_proxy_get_version(), used in the generated headers.
2971 * wpe/jhbuild.modules:
2973 2017-10-03 Alex Christensen <achristensen@webkit.org>
2975 Add ObjC SPI equivalent to WKPageLoaderClient.willGoToBackForwardListItem
2976 https://bugs.webkit.org/show_bug.cgi?id=177825
2977 <rdar://problem/22387505>
2979 Reviewed by Tim Horton.
2981 * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
2982 (-[BackForwardDelegate _webView:willGoToBackForwardListItem:inPageCache:]):
2983 (-[BackForwardDelegate webView:didFinishNavigation:]):
2986 2017-10-03 Antti Koivisto <antti@apple.com>
2988 Allow assigning WeakPtr<Derived> to WeakPtr<Base>
2989 https://bugs.webkit.org/show_bug.cgi?id=177817
2991 Reviewed by Geoff Garen.
2993 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2994 (TestWebKitAPI::Base::weakPtrFactory):
2995 (TestWebKitAPI::TEST):
2997 2017-10-03 Youenn Fablet <youenn@apple.com>
2999 Remove no longer needed WebRTC build infrastructure
3000 https://bugs.webkit.org/show_bug.cgi?id=177756
3002 Reviewed by Alejandro G. Castro.
3004 * Scripts/generate-libwebrtc-cmake: Removed.
3005 * Scripts/webkitpy/libwebrtc/__init__.py: Removed.
3006 * Scripts/webkitpy/libwebrtc/generate_cmake.py: Removed.
3008 2017-10-03 Joanmarie Diggs <jdiggs@igalia.com>
3010 AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes
3011 https://bugs.webkit.org/show_bug.cgi?id=177763
3013 Reviewed by Chris Fleizach.
3015 Implement ariaIsGrabbed() and ariaDropEffects() for ATK.
3017 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3018 (WTR::AccessibilityUIElement::ariaIsGrabbed const):
3019 (WTR::AccessibilityUIElement::ariaDropEffects const):
3021 2017-10-02 Myles C. Maxfield <mmaxfield@apple.com>
3023 Make WSL demo compatible with Microsoft Edge
3024 https://bugs.webkit.org/show_bug.cgi?id=177643
3026 Reviewed by Saam Barati.
3028 This patch does two things. The first is it migrates a loop over ParentNode.children to a legacy style loop
3029 because Microsoft Edge throws an exception when trying to use a for...of loop with it. This patch also hides
3030 the compilation behind a setTimeout(0) so there is some indication that something is happening during a
3034 * Tools/WebGPUShadingLanguageRI/index.html:
3036 2017-10-02 Joanmarie Diggs <jdiggs@igalia.com>
3038 AX: [ATK] The value of aria-level is not exposed on non-heading roles
3039 https://bugs.webkit.org/show_bug.cgi?id=177775
3041 Reviewed by Chris Fleizach.
3043 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3044 (WTR::AccessibilityUIElement::hierarchicalLevel const):
3046 2017-10-02 Geoffrey Garen <ggaren@apple.com>
3048 WeakPtr should have a move constructor
3049 https://bugs.webkit.org/show_bug.cgi?id=177789
3051 Reviewed by Chris Dumez.
3053 Chris made me write an API test. It wasn't that painful.
3055 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3056 (TestWebKitAPI::TEST):
3058 2017-10-02 Filip Pizlo <fpizlo@apple.com>
3061 https://bugs.webkit.org/show_bug.cgi?id=177705
3063 Rubber stamped by Keith Miller.
3065 When I first wrote the prototype, I thought it would be cool to use ^ for pointers. Nobody agrees. I've
3066 gotten so much feedback to use *. This changes pointers to use *.
3068 * WebGPUShadingLanguageRI/DereferenceExpression.js:
3069 (DereferenceExpression.prototype.toString):
3070 (DereferenceExpression):
3071 * WebGPUShadingLanguageRI/Intrinsics.js:
3073 * WebGPUShadingLanguageRI/Parse.js:
3075 (parsePossiblePrefix):
3076 * WebGPUShadingLanguageRI/PtrType.js:
3077 (PtrType.prototype.toString):
3079 * WebGPUShadingLanguageRI/StandardLibrary.js:
3080 * WebGPUShadingLanguageRI/Test.js:
3081 (tests.simpleDereference):
3082 (tests.dereferenceStore):
3083 (tests.simpleMakePtr):
3087 (tests.dereferenceDefaultNull):
3088 (tests.defaultInitializedNull):
3089 (tests.passNullToPtrMonomorphic):
3090 (tests.passNullToPtrPolymorphic):
3091 (tests.passNullAndNotNull):
3092 (tests.passNullAndNotNullFullPoly):
3093 (tests.passNullAndNotNullFullPolyReverse):
3094 (tests.chainGeneric):
3095 (tests.chainStruct):
3096 (tests.chainStructNewlyValid):
3097 (tests.chainStructDevice):
3098 (tests.paramChainStructDevice):
3099 (tests.simpleProtocolExtends):
3100 (tests.protocolExtendsTwo):
3101 (tests.overrideSubscriptStruct):
3102 (tests.overrideSubscriptStructAndDoStores):
3103 (tests.overrideSubscriptStructAndUsePointers):
3104 (tests.overrideSubscriptStructAndUsePointersIncorrectly):
3105 (tests.makeArrayRefFromPointer):
3106 (tests.nonArrayRefArrayLengthFail):
3107 (tests.constexprIsNotLValuePtr):
3108 (tests.genericAccessors):
3109 (tests.nestedSubscriptLValueEmulationSimple):
3110 (tests.nestedSubscriptLValueEmulationGeneric):
3111 (tests.shaderTypes):
3112 (tests.enumPtrBase):
3113 (tests.mutuallyRecursiveStructWithPointersBroken):
3114 (tests.mutuallyRecursiveStructWithPointers):
3116 (tests.pointerToPointer):
3117 (tests.pointerGetter):
3118 (tests.operatorCastWithTypeVariableInferredFromReturnType):
3119 (tests.loneSetterPointer):
3120 (tests.anderWithNothingWrong):
3121 (tests.anderWithWrongNumberOfArguments):
3122 (tests.anderDoesntReturnPointer):
3123 (tests.anderDoesntTakeReference):
3124 (tests.anderWithArrayRef):
3125 (tests.pointerIndexGetter):
3126 (tests.loneIndexSetterPointer):
3127 (tests.indexAnderWithNothingWrong):
3128 (tests.indexAnderWithWrongNumberOfArguments):
3129 (tests.indexAnderDoesntReturnPointer):
3130 (tests.indexAnderDoesntTakeReference):
3131 (tests.indexAnderWithArrayRef):
3132 (tests.devicePtrPtr):
3133 (tests.threadgroupPtrPtr):
3134 (tests.constantPtrPtr):
3135 (tests.pointerIndexGetterInProtocol):
3136 (tests.loneIndexSetterPointerInProtocol):
3137 (tests.indexAnderWithNothingWrongInProtocol):
3138 (tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
3139 (tests.indexAnderDoesntReturnPointerInProtocol):
3140 (tests.indexAnderDoesntTakeReferenceInProtocol):
3141 (tests.indexAnderWithArrayRefInProtocol):
3142 (tests.andReturnedArrayRef):
3144 2017-10-02 Filip Pizlo <fpizlo@apple.com>
3146 WSL should be fine with &foo()[i] if foo() returns a []
3147 https://bugs.webkit.org/show_bug.cgi?id=177704
3149 Reviewed by Saam Barati.
3151 Previously, we'd determine if a property access expression (base.field or base[index]) was an lvalue by
3152 asking if its base was an lvalue. This is right in all cases except if the base is of type []. Then, the
3153 property access expression is an lvalue so long as there is a setter or ander.
3155 This fixes the issue and adds a test.
3157 Also, this makes error messages in the case that something is not an lvalue a lot better. If something
3158 is not an lvalue because we could not find anders or setters, then we will tell you why we could not
3161 * WebGPUShadingLanguageRI/Checker.js:
3162 (Checker.prototype.visitAssignment):
3163 (Checker.prototype.visitReadModifyWriteExpression):
3164 (Checker.prototype.visitMakePtrExpression):
3165 (Checker.prototype._finishVisitingPropertyAccess):
3166 * WebGPUShadingLanguageRI/DotExpression.js:
3167 (DotExpression.prototype.get fieldName):
3168 (DotExpression.prototype.get isLValue): Deleted.
3169 (DotExpression.prototype.get addressSpace): Deleted.
3170 * WebGPUShadingLanguageRI/IndexExpression.js:
3171 (IndexExpression.prototype.get index):
3172 (IndexExpression.prototype.get isLValue): Deleted.
3173 (IndexExpression.prototype.get addressSpace): Deleted.
3174 * WebGPUShadingLanguageRI/PropertyAccessExpression.js:
3175 (PropertyAccessExpression):
3176 (PropertyAccessExpression.prototype.get isLValue):
3177 (PropertyAccessExpression.prototype.set isLValue):
3178 * WebGPUShadingLanguageRI/PropertyResolver.js:
3179 (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitMakeArrayRefExpression):
3180 (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
3181 (PropertyResolver.prototype._visitRValuesWithinLValue):
3182 * WebGPUShadingLanguageRI/Test.js:
3183 (tests.storeNullArrayRef):
3184 (tests.andReturnedArrayRef):
3186 2017-10-02 Wenson Hsieh <wenson_hsieh@apple.com>
3188 Guard iOS webkitGetAsEntry API tests on older iOS versions
3190 Unreviewed test gardening. After r222688, these tests require custom pasteboard data to be enabled by default,
3191 so don't run them against shipping iOS.
3193 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3195 2017-10-02 Carlos Garcia Campos <cgarcia@igalia.com>
3197 [WPE][GTK] Crash in webkit_web_resource_get_data_finish()
3198 https://bugs.webkit.org/show_bug.cgi?id=177107
3200 Reviewed by Michael Catanzaro.
3202 Add a test case to check we handle errors when webkit_web_resource_get_data() fails.
3204 * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
3205 (webViewloadChanged):
3206 (testWebResourceGetDataError):
3209 2017-10-02 Alex Christensen <achristensen@webkit.org>
3211 Fix build after r222715
3212 https://bugs.webkit.org/show_bug.cgi?id=177697
3214 * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3216 Use the public API instead of the removed SPI.
3218 2017-10-02 Alex Christensen <achristensen@webkit.org>
3220 REGRESSION(r214201): WebProcess hangs during policy decisions
3221 https://bugs.webkit.org/show_bug.cgi?id=177590
3222 <rdar://problem/33362929>
3224 Reviewed by Andy Estes.
3226 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3227 * TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm: Added.
3228 (-[JSNavigationDelegate webView:didFinishNavigation:]):
3229 (-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3230 (-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3231 (-[JSNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3234 2017-10-02 Jonathan Bedard <jbedard@apple.com>
3236 Log stack-trace for run-webkit-tests when interrupted
3237 https://bugs.webkit.org/show_bug.cgi?id=176393
3238 <rdar://problem/34262310>
3240 Reviewed by Darin Adler.
3242 When run-webkit-tests is stuck, it is difficult to immediately tell
3243 why. Saving a stack-trace when run-webkit-tests is terminated
3244 or stopped with CNTRL-C will make such issues easier to debug.
3246 * Scripts/webkitpy/common/interupt_debugging.py: Added.
3247 (log_stack_trace): Given a Python frame object, log a stack trace to
3249 (log_stack_trace_on_term): Attach a listener to SIGTERM so that a
3250 stack-trace can be logged when a program is terminated.
3251 (log_stack_trace_on_cntrl_c): Attach a listener to SIGINT so that a
3252 stack-trace can be logged when a program is CNTRL-Ced.
3253 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3254 (main): Set handlers to log stack trace on interruption.
3256 2017-10-02 Michael Catanzaro <mcatanzaro@igalia.com>
3258 Remove ENABLE_CSS_REGIONS
3259 https://bugs.webkit.org/show_bug.cgi?id=177689
3261 Reviewed by Darin Adler.
3263 * Scripts/webkitperl/FeatureList.pm:
3265 2017-09-30 Carlos Garcia Campos <cgarcia@igalia.com>
3267 Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.
3269 This version upgrades liberation fonts to version 2, that has a wider glyph coverage.
3271 * gtk/jhbuild.modules:
3273 2017-09-29 Alex Christensen <achristensen@webkit.org>
3275 Expose WebPreferences::webGLEnabled through WKPreferences
3276 https://bugs.webkit.org/show_bug.cgi?id=177692
3277 <rdar://problem/24110556>
3279 Reviewed by Andy Estes.
3281 * TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
3282 (-[AlertSaver alert]):
3283 (-[AlertSaver webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3286 2017-09-29 Alex Christensen <achristensen@webkit.org>
3288 Fix WKWebViewConfigurationPrivate after r222663
3289 https://bugs.webkit.org/show_bug.cgi?id=177644
3291 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3292 * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm: Added.
3295 2017-09-28 Ryosuke Niwa <rniwa@webkit.org>
3297 Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items
3298 https://bugs.webkit.org/show_bug.cgi?id=170449
3299 <rdar://problem/31432525>
3301 Reviewed by Wenson Hsieh.
3303 Added an API test to paste an image from pasteboard. The test is shared between iOS and macOS.
3305 The tests to paste image files are only enabled on macOS since putting files into pasteboard isn't a thing on iOS.
3307 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3308 * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: Added.
3309 (writeImageDataToPasteboard):
3310 (writeBundleFileToPasteboard):
3311 * TestWebKitAPI/Tests/WebKitCocoa/paste-image.html: Added.
3312 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-100px.tiff: Added.
3313 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-200px.png: Added.
3314 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-400px.gif: Added.
3315 * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-600px.jpg: Added.
3316 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Rebaselined the test now that types contain "Files".
3318 2017-09-29 Wenson Hsieh <wenson_hsieh@apple.com>
3320 [iOS WK2] Implement -[WKContentView hasText] for compatibility with the UITextInput protocol
3321 https://bugs.webkit.org/show_bug.cgi?id=177662
3322 <rdar://problem/33410373>
3324 Reviewed by Tim Horton.
3326 Add EditorState API tests to check that the value of -[WKContentView hasText] is correct when editing both plain
3327 and rich text areas.
3329 * TestWebKitAPI/EditingTestHarness.h:
3330 * TestWebKitAPI/EditingTestHarness.mm:
3331 (-[EditingTestHarness insertParagraph]):
3332 (-[EditingTestHarness insertText:]):
3333 (-[EditingTestHarness insertHTML:]):
3334 (-[EditingTestHarness selectAll]):
3335 (-[EditingTestHarness deleteBackwards]):
3336 * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
3338 Add versions of EditingTestHarness helpers that don't require us to expect any editor state after executing the
3341 (TestWebKitAPI::checkContentViewHasTextWithFailureDescription):
3342 (TestWebKitAPI::TEST):
3343 * TestWebKitAPI/cocoa/TestWKWebView.h:
3344 * TestWebKitAPI/cocoa/TestWKWebView.mm:
3345 (-[TestWKWebView textInputContentView]):
3347 2017-09-29 Charles Turner <cturner@igalia.com>
3353 * Scripts/webkitpy/common/config/contributors.json:
3355 2017-09-28 Commit Queue <commit-queue@webkit.org>
3357 Unreviewed, rolling out r222639.
3358 https://bugs.webkit.org/show_bug.cgi?id=177630
3360 Breaks AppleWin build (Requested by dolmstead on #webkit).
3364 "[WinCairo][MiniBrowser] Add ca-bundle to display secure
3366 https://bugs.webkit.org/show_bug.cgi?id=168486
3367 http://trac.webkit.org/changeset/222639
3369 2017-09-28 Joanmarie Diggs <jdiggs@igalia.com>
3371 AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
3372 https://bugs.webkit.org/show_bug.cgi?id=177542
3374 Add platform support for the notifications. Also add support for getting the
3375 boolean argument indicating whether the state has been set or unset.
3377 Reviewed by Chris Fleizach.
3379 * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
3381 2017-09-28 Basuke Suzuki <Basuke.Suzuki@sony.com>
3383 [WinCairo][MiniBrowser] Add ca-bundle to display secure pages.
3384 Copy cacert.pem file into bundle directory.
3385 https://bugs.webkit.org/show_bug.cgi?id=168486
3387 Reviewed by Brent Fulgham.
3389 * MiniBrowser/win/CMakeLists.txt:
3391 2017-09-28 Lucas Forschler <lforschler@apple.com>
3393 check in AWS Lambda code used for WebKitArchiveSupport
3394 https://bugs.webkit.org/show_bug.cgi?id=177614
3396 Rubber-stamped by Alexey Proskuryakov.
3398 * WebKitArchiveSupport/lambda: Added.
3399 * WebKitArchiveSupport/lambda/delete-minified-s3-archive-from-dynamodb.py: Added.
3401 * WebKitArchiveSupport/lambda/delete-s3-archive-from-dynamodb.py: Added.
3403 * WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py: Added.
3405 * WebKitArchiveSupport/lambda/register-minified-s3-archive-in-dynamodb.py: Added.
3408 2017-09-28 Jiewen Tan <jiewen_tan@apple.com>
3410 WeakPtrFactory should allow downcasting
3411 https://bugs.webkit.org/show_bug.cgi?id=177389
3412 <rdar://problem/34604174>
3414 Reviewed by Geoffrey Garen.
3416 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3417 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3418 (TestWebKitAPI::Base::foo):
3419 (TestWebKitAPI::Base::createWeakPtr):
3420 (TestWebKitAPI::Derived::foo):
3421 (TestWebKitAPI::TEST):
3423 2017-09-28 Megan Gardner <megan_gardner@apple.com>
3425 Add debug flag to WebKitTestRunner to show where touches are being generated
3426 https://bugs.webkit.org/show_bug.cgi?id=177583
3428 Reviewed by Tim Horton and Wenson Hsieh.
3430 Add a flag, and the ability to paint a dot where the HIDEventGenerator is creating fake touches to
3431 send through UIKit. This will help in debugging touch tests, because it will be easier to see if
3432 one is actually sending the touches at the locations that they expect. This will help differentiate between
3433 problems in the locations of the touches, and other problems that can come up when writing tests.
3435 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3437 * Scripts/webkitpy/port/driver.py:
3439 * WebKitTestRunner/Options.cpp:
3440 (WTR::Options::Options):
3441 (WTR::handleOptionShowTouches):
3442 (WTR::OptionsHandler::OptionsHandler):
3443 * WebKitTestRunner/Options.h:
3444 * WebKitTestRunner/TestController.cpp:
3445 (WTR::TestController::initialize):
3446 * WebKitTestRunner/TestController.h:
3447 (WTR::TestController::shouldShowTouches const):
3448 * WebKitTestRunner/TestOptions.h:
3449 * WebKitTestRunner/ios/HIDEventGenerator.h:
3450 * WebKitTestRunner/ios/HIDEventGenerator.mm:
3451 (-[DebugTouchView pointInside:withEvent:]):
3452 (-[HIDEventGenerator setShouldShowTouches:]):
3453 (-[HIDEventGenerator initDebugViews]):
3454 (-[HIDEventGenerator updateDebugUI:withPoint:isTouching:]):
3455 (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
3456 (-[HIDEventGenerator _createIOHIDEventType:]):
3457 (-[HIDEventGenerator _updateTouchPoints:count:]):
3458 (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
3459 (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
3460 (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
3461 (-[HIDEventGenerator markerEventReceived:]):
3462 * WebKitTestRunner/ios/TestControllerIOS.mm:
3463 (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
3464 * WebKitTestRunner/ios/mainIOS.mm:
3465 (-[WebKitTestRunnerApp _runTestController]):
3467 2017-09-28 Mark Lam <mark.lam@apple.com>
3469 [Re-landing] Turn on exception scope verification for JSC tests.
3470 https://bugs.webkit.org/show_bug.cgi?id=162351
3471 <rdar://problem/29563911>
3473 Reviewed by Saam Barati.
3475 Update: I'm re-landing this patch now that test262 exception check validation
3476 failures have been fixed in r222617. testapi still has some validation failures,
3477 but this patch does not affect testapi.
3479 Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
3480 run-jsc-stress-tests. This turns on exception scope verification on JSC test
3481 runs (which currently does not include testapi).
3483 Some stats on time to run JSC stress and mozilla tests:
3484 1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
3485 2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
3486 3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
3487 4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s
3489 The stats shows that (2) and (3) has effectively no time difference. Hence, the
3490 cost of enabling --validateExceptionChecks=true is not significant.
3492 It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
3493 21% slower than (3). To avoid making debug test runs a lot slower, we'll leave
3494 --dumpSimulatedThrows=true off. We can manually add that when we see a regression
3495 and need to debug the issue. Otherwise, we wont pay the price for it.
3497 * Scripts/run-jsc-stress-tests:
3499 2017-09-27 Alex Christensen <achristensen@webkit.org>
3501 Add WKContentRuleList notify action type
3502 https://bugs.webkit.org/show_bug.cgi?id=177013
3503 <rdar://problem/31073936>
3505 Reviewed by Darin Adler.
3507 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3508 * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
3509 (WebCore::ContentExtensions::operator<<):
3510 (TestWebKitAPI::InMemoryCompiledContentExtension::create):
3511 (TestWebKitAPI::InMemoryCompiledContentExtension::data):
3512 (TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
3513 (TestWebKitAPI::makeBackend):
3514 (TestWebKitAPI::TEST_F):
3515 (TestWebKitAPI::actionsEqual):
3516 (TestWebKitAPI::sequenceInstances):
3517 (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
3518 (TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
3519 * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
3520 (-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
3521 (-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
3522 (-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
3523 (-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3524 (makeWarnContentRuleList):
3527 2017-09-27 Wenson Hsieh <wenson_hsieh@apple.com>
3529 Drag event DataTransfer has unexpected types "dyn.ah62d4..."
3530 https://bugs.webkit.org/show_bug.cgi?id=172526
3531 <rdar://problem/32396081>
3533 Reviewed by Ryosuke Niwa.
3535 Adds new API tests on iOS to cover various cases of using DataTransfer.setData, DataTransfer.getData, and
3536 DataTransfer.types, as well as their interaction with platform objects (source NSItemProviders in the case of
3537 drag and drop, and the general UIPasteboard for copy and paste).
3539 * TestWebKitAPI/PlatformUtilities.h:
3540 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3541 * TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html: Added.
3543 Introduce a new API test harness that both drag-and-drop and copy-and-paste tests use to dump DataTransfer's
3544 web-exposed types and values.
3546 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3547 (checkFirstTypeIsPresentAndSecondTypeIsMissing):
3548 (checkJSONWithLogging):
3549 (TestWebKitAPI::TEST):
3550 (checkTypeIdentifierAndIsNotOtherTypeIdentifier): Deleted.
3551 * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
3552 (TestWebKitAPI::checkJSONWithLogging):
3553 (TestWebKitAPI::setUpWebViewForPasteboardTests):
3554 (TestWebKitAPI::TEST):
3555 * TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
3556 (TestWebKitAPI::Util::jsonMatchesExpectedValues):
3558 2017-09-27 Lucas Forschler <lforschler@apple.com>
3560 Add macOS High Sierra and iOS Simulator 11 support to bisect-builds.
3561 https://bugs.webkit.org/show_bug.cgi?id=177578
3563 Reviewed by Alexey Proskuryakov.
3565 * Scripts/bisect-builds:
3566 (minified_platforms):
3567 (unminified_platforms):
3569 2017-09-27 Ryan Haddad <ryanhaddad@apple.com>
3571 Update TestResultsServer for High Sierra queues.
3572 https://bugs.webkit.org/show_bug.cgi?id=177500
3574 Reviewed by Alexey Proskuryakov.
3576 * TestResultServer/static-dashboards/builders.jsonp:
3578 2017-09-27 Lucas Forschler <lforschler@apple.com>
3580 bisect-builds:add a README to the archive.
3581 https://bugs.webkit.org/show_bug.cgi?id=177376
3583 Reviewed by Alexey Proskuryakov & Jon Davis.
3585 * BuildSlaveSupport/built-product-archive:
3586 (addFilesToArchive): refactor function (was previously addLauncherToArchive)
3587 (createZip): Teach function to add the README
3588 (addLauncherToArchive): Deleted. (refactored to addFilesToArchive)
3589 * BuildSlaveSupport/run-webkit-archive: Deleted. (Moved to WebKitArchiveSupport)
3590 * WebKitArchiveSupport: Added.
3591 * WebKitArchiveSupport/README: Added. README which will be packaged up with the archive.
3592 * WebKitArchiveSupport/run-webkit-archive: Added. (Moved from BuildSlaveSupport)
3594 2017-09-26 Tim Horton <timothy_horton@apple.com>
3596 Mac CMake bot should provide verbose build output
3597 https://bugs.webkit.org/show_bug.cgi?id=177512
3599 Reviewed by Alexey Proskuryakov.
3601 * BuildSlaveSupport/build.webkit.org-config/config.json:
3602 It's hard to diagnose weird bot-only build problems without the
3603 full verbose build output, so turn that on. The Xcode builders