5468724316a9e3c6942e5111a910df90e427ab45
[WebKit-https.git] / Tools / ChangeLog
1 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
2
3         fix check-webkit-style errors in webkitpy about not having two spaces before inline comment
4         https://bugs.webkit.org/show_bug.cgi?id=171506
5
6         Reviewed by Alexey Proskuryakov.
7
8         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
9         (SCMTest._shared_test_reverse_diff): Added two spaces before inline comment.
10         (test_create_patch_is_full_patch): Ditto.
11         * Scripts/webkitpy/common/thread/messagepump.py:
12         (MessagePump): Ditto.
13         * Scripts/webkitpy/layout_tests/servers/http_server.py:
14         (Lighttpd._prepare_config): Ditto.
15         * Scripts/webkitpy/style/checker.py: Ditto.
16         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
17         (OrderOfIncludesTest.test_check_preprocessor_in_include_section): Ditto.
18
19 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
20
21         Add support for webkitpy tests EWS
22         https://bugs.webkit.org/show_bug.cgi?id=178480
23
24         Reviewed by Alexey Proskuryakov.
25
26         * Scripts/webkitpy/common/config/ews.json: Added webkitpy EWS.
27         * Scripts/webkitpy/common/net/generictestresults.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults.py.
28         * Scripts/webkitpy/common/net/generictestresults_unittest.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults_unittest.py.
29         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
30         (PatchAnalysisTask._test_patch): Do not retry webkitpy test since they are not flaky.
31         * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Updated import for BindingsTestResult.
32         * Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Ditto.
33         * Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Copied from Scripts/webkitpy/tool/bot/bindingstestresultsreader.py.
34         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
35         (AbstractEarlyWarningSystem.begin_work_queue): Added webkitpy test result reader.
36         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
37         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Run webkitpy EWS only for relevant changes.
38         * Scripts/webkitpy/tool/steps/runtests.py:
39         (RunTests.run): Run webkitpy tests when --group=webkitpy is passed.
40         (RunTests._run_webkitpy_tests): Method to invoke webkitpy tests.
41         * Scripts/webkitpy/tool/steps/steps_unittest.py:
42         (test_runtests_webkitpy): Added unit-test.
43
44 2017-11-07  Commit Queue  <commit-queue@webkit.org>
45
46         Unreviewed, rolling out r224512 and r224521.
47         https://bugs.webkit.org/show_bug.cgi?id=179388
48
49         An API test added with this change is failing an assertion on
50         the bots. (Requested by ryanhaddad on #webkit).
51
52         Reverted changesets:
53
54         "[Attachment Support] Implement delegate hooks for attachment
55         element insertion and removal"
56         https://bugs.webkit.org/show_bug.cgi?id=179016
57         https://trac.webkit.org/changeset/224512
58
59         "Remove stray logging from a newly added API test"
60         https://trac.webkit.org/changeset/224521
61
62 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
63
64         Remove stray logging from a newly added API test
65
66         This was only for debugging purposes, and should have been removed before landing.
67
68         Rubber-stamped by Tim Horton.
69
70         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
71         (TestWebKitAPI::TEST):
72
73 2017-11-06  Jonathan Bedard  <jbedard@apple.com>
74
75         Only build ImageDiff for mac
76         https://bugs.webkit.org/show_bug.cgi?id=179349
77         <rdar://problem/35376237>
78
79         Reviewed by Tim Horton.
80
81         * ImageDiff/Makefile:
82
83 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
84
85         Unreviewed, fix the internal build after updating to a newer SDK
86
87         There shouldn't be any need to include and implement these method stubs anymore,
88         even when building against the shipping iOS 11 SDK.
89
90         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
91         (-[MockDropSession session]): Deleted.
92
93 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
94
95         [Attachment Support] Implement delegate hooks for attachment element insertion and removal
96         https://bugs.webkit.org/show_bug.cgi?id=179016
97         <rdar://problem/35250890>
98
99         Reviewed by Tim Horton.
100
101         Introduces new API tests to check that various editing operations will or won't result in the new attachment
102         insertion and removal delegate hooks being fired. Additionally refactors an existing test to verify that
103         attachments insertion and removal is observable by the UI delegate.
104
105         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
106         (-[AttachmentUpdateObserver init]):
107         (-[AttachmentUpdateObserver inserted]):
108         (-[AttachmentUpdateObserver removed]):
109         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
110         (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
111         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
112         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
113         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
114
115         Implement a testing mechanism to temporarily bind a UI delegate to a given WKWebView and listen for inserted or
116         removed attachments over the course of a particular scope. The API tests use this mechanism to check that the UI
117         delegate hooks added in this patch are invoked with the right attachments when performing edit commands.
118
119         (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
120         (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
121         (TestWebKitAPI::TEST):
122
123 2017-11-06  Christopher Reid  <chris.reid@sony.com>
124
125         Use enum classes within FileSystem
126         https://bugs.webkit.org/show_bug.cgi?id=175172
127
128         Reviewed by Myles C. Maxfield.
129
130         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
131         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
132
133 2017-11-06  Michael Catanzaro  <mcatanzaro@igalia.com>
134
135         [WPE] -Wsign-compare warning in EventSenderProxyWPE.cpp
136         https://bugs.webkit.org/show_bug.cgi?id=179039
137
138         Reviewed by Žan Doberšek.
139
140         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
141         (WTR::EventSenderProxy::updateTouchPoint):
142         (WTR::EventSenderProxy::releaseTouchPoint):
143
144 2017-11-06  Robin Morisset  <rmorisset@apple.com>
145
146         Add a third benchmark to TailBench
147         https://bugs.webkit.org/show_bug.cgi?id=178815
148
149         Reviewed by Saam Barati.
150
151         Add a new benchmark to TailBench: a BF interpreter written in a weird kinda functional style
152
153         * Scripts/run-jsc-benchmarks:
154
155 2017-11-04  Michael Catanzaro  <mcatanzaro@igalia.com>
156
157         [GTK] Fix gtk-doc generation with gtk-doc master
158         https://bugs.webkit.org/show_bug.cgi?id=179252
159
160         Reviewed by Carlos Garcia Campos.
161
162         gtkdoc-scangobj has changed to no longer use a shell when executing its subcommands. In
163         particular, this means we can no longer rely on shell stuff in our run command that we use
164         to run the scanner. We currently use the RUN envvar to set LD_LIBRARY_PATH, and the end
165         result is gtkdoc-scangobj now attempts to execute our environment variable instead of the
166         scanner itself. We can just set LD_LIBRARY_PATH directly, instead of using RUN, in order to
167         make documentation generation work again.
168
169         * gtk/gtkdoc.py:
170         (GTKDoc._run_gtkdoc_scangobj):
171
172 2017-11-04  Aishwarya Nirmal  <anirmal@apple.com>
173
174         [Touch Bar Web API] Add support for menuitem tag
175         https://bugs.webkit.org/show_bug.cgi?id=179020
176
177         Reviewed by Ryosuke Niwa.
178
179         Defines flags for the menu item test so that the element is recognized
180         only while its test is being run.
181
182         * DumpRenderTree/TestOptions.h:
183         * DumpRenderTree/TestOptions.mm:
184         (TestOptions::TestOptions):
185         * DumpRenderTree/mac/DumpRenderTree.mm:
186         (setWebPreferencesForTestOptions):
187         * WebKitTestRunner/TestController.cpp:
188         (WTR::TestController::resetPreferencesToConsistentValues):
189         (WTR::updateTestOptionsFromTestHeader):
190         * WebKitTestRunner/TestOptions.h:
191         (WTR::TestOptions::hasSameInitializationOptions const):
192
193 2017-11-03  Andy Estes  <aestes@apple.com>
194
195         [iOS] Append the platform name to the product directory on all embedded platforms
196         https://bugs.webkit.org/show_bug.cgi?id=179271
197
198         Reviewed by Joseph Pecoraro.
199
200         * Scripts/webkitdirs.pm:
201         (determineConfigurationProductDir):
202
203 2017-11-03  Basuke Suzuki  <Basuke.Suzuki@sony.com>
204
205         [WinCairo] Add --wincairo option to run-webkit-tests
206         https://bugs.webkit.org/show_bug.cgi?id=179217
207
208         Reviewed by Alex Christensen.
209
210         * Scripts/webkitpy/port/factory.py:
211         (platform_options):
212
213 2017-11-03  Michael Catanzaro  <mcatanzaro@igalia.com>
214
215         [WPE][GTK] Avoid duplicating code for dist and distcheck targets
216         https://bugs.webkit.org/show_bug.cgi?id=179154
217
218         Reviewed by Carlos Garcia Campos.
219
220         Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
221         prefix because it is executable.
222
223         * Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
224
225 2017-11-03  Jonathan Bedard  <jbedard@apple.com>
226
227         TestController platformAdjustContext should use provided WKContext for Mac
228         https://bugs.webkit.org/show_bug.cgi?id=179124
229         <rdar://problem/35295176>
230
231         Reviewed by Darin Adler.
232
233         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
234         (WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
235         a WebProcessPool, instead of creating a second one.
236
237 2017-11-02  Christopher Reid  <chris.reid@sony.com>
238
239         Add a FileSystem namespace to FileSystem.cpp
240         https://bugs.webkit.org/show_bug.cgi?id=179063
241
242         Reviewed by Darin Adler.
243
244         * DumpRenderTree/win/DumpRenderTree.cpp:
245         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
246         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
247         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
248         * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
249         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
250         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
251
252 2017-11-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
253
254         [WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
255         https://bugs.webkit.org/show_bug.cgi?id=179169
256
257         Reviewed by Michael Catanzaro.
258
259         Update WPEBackend and WPEBackend-mesa to last master as of today.
260
261         * wpe/jhbuild.modules:
262
263 2017-11-02  Frederic Wang  <fwang@igalia.com>
264
265         Add references to bug 179167 in FIXME comments
266         https://bugs.webkit.org/show_bug.cgi?id=179168
267
268         Reviewed by Daniel Bates.
269
270         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
271
272 2017-11-01  Jeremy Jones  <jeremyj@apple.com>
273
274         Implement WKFullscreenWindowController for iOS.
275         https://bugs.webkit.org/show_bug.cgi?id=178924
276         rdar://problem/34697120
277
278         Reviewed by Simon Fraser.
279
280         Enable ENABLE_FULLSCREEN_API for iOS.
281
282         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
283
284 2017-11-01  Simon Fraser  <simon.fraser@apple.com>
285
286         Misc display list and other cleanup
287         https://bugs.webkit.org/show_bug.cgi?id=179150
288
289         Reviewed by Tim Horton.
290
291         Add system trace points for display list recording.
292
293         * Tracing/SystemTracePoints.plist:
294
295 2017-11-01  Stephan Szabo  <stephan.szabo@sony.com>
296
297         [Win] Detect Visual Studio 2017 location
298         https://bugs.webkit.org/show_bug.cgi?id=175275
299
300         Reviewed by Yusuke Suzuki.
301
302         * Scripts/build-jsc:
303         * Scripts/build-webkit:
304         * Scripts/update-vswhere.py: Added.
305         * Scripts/webkitdirs.pm:
306         (requireModulesForVSWhere):
307         (pickCurrentVisualStudioInstallation):
308         (pickLegacyVisualStudioInstallation):
309         (visualStudioInstallDir):
310         (visualStudioInstallDirVSWhere):
311         (visualStudioInstallDirLegacy):
312         (visualStudioInstallDirFallback):
313         (msBuildInstallDir):
314         (visualStudioVersion):
315         (visualStudioVersionFromInstallDir):
316         (generateBuildSystemFromCMakeProject):
317
318 2017-11-01  Tim Horton  <timothy_horton@apple.com>
319
320         Fix the !USE(QUICKLOOK) build
321         https://bugs.webkit.org/show_bug.cgi?id=179128
322
323         Reviewed by Wenson Hsieh.
324
325         * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
326
327 2017-11-01  Frederic Wang  <fwang@igalia.com>
328
329         Make iOS Find UI reveal matches in scrollable elements
330         https://bugs.webkit.org/show_bug.cgi?id=178789
331
332         Reviewed by Tim Horton.
333
334         This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
335
336         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
337         (WTR::UIScriptController::findString): Dummy implementation of findString.
338         * DumpRenderTree/mac/UIScriptControllerMac.mm:
339         (WTR::UIScriptController::findString): Ditto.
340         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
341         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
342         (WTR::UIScriptController::findString): Dummy implementation of findString.
343         * TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
344         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
345         (WTR::UIScriptController::findString): Implement findString by forwarding the call to the
346         web view.
347         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
348         (WTR::UIScriptController::findString): Dummy implementation of findString.
349
350 2017-11-01  Alex Christensen  <achristensen@webkit.org>
351
352         Add a test for _WKInputDelegate.willSubmitFormValues
353         https://bugs.webkit.org/show_bug.cgi?id=179086
354
355         Reviewed by Darin Adler.
356
357         Hidden input types are not included in this submission because FormSubmission::create ignores them
358         because input.isTextField() returns false.  This is existing behavior that wasn't shown by a test.
359         HTTPBodies are also not sent to WKURLSchemeHandlers.  This is existing behavior that wasn't shown by a test.
360
361         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
362         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
363         (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
364         (TEST):
365
366 2017-10-31  Ross Kirsling  <ross.kirsling@sony.com>
367
368         Web Inspector: Add Inspector menu items to Mac MiniBrowser
369         https://bugs.webkit.org/show_bug.cgi?id=65218
370
371         Reviewed by Joseph Pecoraro.
372
373         Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
374         Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.
375
376         * MiniBrowser/mac/BrowserWindowController.h:
377         * MiniBrowser/mac/BrowserWindowController.m:
378         (-[BrowserWindowController showHideWebInspector:]):
379         * MiniBrowser/mac/MainMenu.xib:
380         * MiniBrowser/mac/WK1BrowserWindowController.m:
381         (-[WK1BrowserWindowController validateMenuItem:]):
382         (-[WK1BrowserWindowController showHideWebInspector:]):
383         * MiniBrowser/mac/WK2BrowserWindowController.m:
384         (-[WK2BrowserWindowController validateMenuItem:]):
385         (-[WK2BrowserWindowController showHideWebInspector:]):
386
387 2017-10-31  Alex Christensen  <achristensen@webkit.org>
388
389         Use asynchronous ResourceHandleClient calls for WebKit1
390         https://bugs.webkit.org/show_bug.cgi?id=160677
391
392         Reviewed by Brady Eidson.
393
394         * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
395         (TestWebKitAPI::TEST):
396         The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
397         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.
398
399 2017-10-31  Commit Queue  <commit-queue@webkit.org>
400
401         Unreviewed, rolling out r224143.
402         https://bugs.webkit.org/show_bug.cgi?id=179091
403
404         The patch requires non-standard perl modules in macOS and
405         breaks AWFY (Requested by yusukesuzuki on #webkit).
406
407         Reverted changeset:
408
409         "[Win] Detect Visual Studio 2017 location"
410         https://bugs.webkit.org/show_bug.cgi?id=175275
411         https://trac.webkit.org/changeset/224143
412
413 2017-10-31  Tim Horton  <timothy_horton@apple.com>
414
415         Clean up some drag and drop feature flags
416         https://bugs.webkit.org/show_bug.cgi?id=179082
417
418         Reviewed by Simon Fraser.
419
420         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
421         * TestWebKitAPI/ios/UIKitSPI.h:
422
423 2017-10-31  Tim Horton  <timothy_horton@apple.com>
424
425         Fix up some content filtering feature flags
426         https://bugs.webkit.org/show_bug.cgi?id=179079
427
428         Reviewed by Simon Fraser.
429
430         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
431         * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
432         (-[MockContentFilterEnabler initWithCoder:]):
433         (-[MockContentFilterEnabler dealloc]):
434
435 2017-10-31  Youenn Fablet  <youenn@apple.com>
436
437         rwt should allow service worker to load localhost HTTPS resources with any certificate
438         https://bugs.webkit.org/show_bug.cgi?id=179018
439
440         Reviewed by Chris Dumez.
441
442         * WebKitTestRunner/TestController.cpp:
443         (WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.
444
445 2017-10-31  Wenson Hsieh  <wenson_hsieh@apple.com>
446
447         [Attachment Support] Implement WKWebView SPI for inserting attachment elements
448         https://bugs.webkit.org/show_bug.cgi?id=179013
449         <rdar://problem/35249668>
450
451         Reviewed by Tim Horton.
452
453         Adds a new API test suite to exercise attachment element insertion and manipulation.
454
455         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
456         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.
457         (webViewForTestingAttachments):
458         (testHTMLData):
459         (testImageData):
460         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
461         (-[TestWKWebView valueOfAttribute:forQuerySelector:]):
462         (TestWebKitAPI::TEST):
463
464 2017-10-31  Alex Christensen  <achristensen@webkit.org>
465
466         Fix custom header field setting with reloads and asynchronous navigation action policy decisions
467         https://bugs.webkit.org/show_bug.cgi?id=179064
468
469         Reviewed by Tim Horton.
470
471         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
472         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
473         (TEST):
474
475 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
476
477         WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
478         https://bugs.webkit.org/show_bug.cgi?id=176719
479
480         Reviewed by Chris Dumez.
481
482         Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
483         sourceFrame parameters when the target frame of the form submission is not the source frame.
484
485         * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
486         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
487         * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:
488         (TestWebKitAPI::willSendSubmitEvent):
489         * TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
490
491 2017-10-30  Alex Christensen  <achristensen@webkit.org>
492
493         ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
494         https://bugs.webkit.org/show_bug.cgi?id=178861
495
496         Reviewed by Tim Horton.
497
498         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
499         (TestWebKitAPI::TEST_F):
500
501 2017-10-30  Commit Queue  <commit-queue@webkit.org>
502
503         Unreviewed, rolling out r224078.
504         https://bugs.webkit.org/show_bug.cgi?id=179026
505
506         MotionMark regression (Requested by shallawa on #webkit).
507
508         Reverted changeset:
509
510         "When navigating back to a page, compositing layers may not
511         use accelerated drawing"
512         https://bugs.webkit.org/show_bug.cgi?id=178749
513         https://trac.webkit.org/changeset/224078
514
515 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
516
517         [WPE] Fix build warnings
518         https://bugs.webkit.org/show_bug.cgi?id=178899
519
520         Reviewed by Carlos Alberto Lopez Perez.
521
522         * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
523         (testContextMenuDownloadActions):
524         (testBlobDownload):
525         (beforeAll):
526         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
527         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
528         (testWebViewJavaScriptDialogs):
529         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
530         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
531         * WebKitTestRunner/PlatformWPE.cmake:
532         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
533         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
534         (WTR::threadDefaultContext): Deleted.
535
536 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
537
538         [WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
539         https://bugs.webkit.org/show_bug.cgi?id=178898
540
541         Reviewed by Žan Doberšek.
542
543         This patch seems to be unused.
544
545         * wpe/jhbuild.modules:
546         * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
547
548 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
549
550         [WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
551         https://bugs.webkit.org/show_bug.cgi?id=178964
552
553         Reviewed by Carlos Alberto Lopez Perez.
554
555         * TestWebKitAPI/PlatformWPE.cmake:
556
557 2017-10-12  Frederic Wang  <fwang@igalia.com>
558
559         Remove support for running safari on the iOS simulator with Xcode < 9.0
560         https://bugs.webkit.org/show_bug.cgi?id=178203
561
562         Reviewed by Alexey Proskuryakov.
563
564         This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
565         and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
566         special case to calculate the iOS simulator applications path for these old versions.
567
568         * Scripts/webkitdirs.pm:
569         (iosSimulatorApplicationsPath): Remove special case for XCode < 9.0
570
571 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
572
573         [WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
574         https://bugs.webkit.org/show_bug.cgi?id=168219
575
576         Reviewed by Ryosuke Niwa.
577
578         Test it.
579
580         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
581         (testWebViewEditorCutCopyPasteNonEditable):
582         (testWebViewEditorCutCopyPasteEditable):
583         (testWebViewEditorSelectAllNonEditable):
584         (testWebViewEditorSelectAllEditable):
585         (loadContentsAndTryToCutSelection):
586         (testWebViewEditorNonEditable):
587         (testWebViewEditorEditorStateTypingAttributes):
588         (testWebViewEditorInsertImage):
589         (testWebViewEditorCreateLink):
590
591 2017-10-28  Michael Catanzaro  <mcatanzaro@igalia.com>
592
593         [WPE] Build gst-plugins-base without pango support
594         https://bugs.webkit.org/show_bug.cgi?id=178918
595
596         Reviewed by Carlos Garcia Campos.
597
598         We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
599         conditions so we can make platform-specific changes in the shared GStreamer moduleset.
600
601         * gstreamer/jhbuild.modules:
602         * gtk/jhbuildrc:
603         * wpe/jhbuildrc:
604
605 2017-10-27  Stephan Szabo  <stephan.szabo@sony.com>
606
607         [Win] Detect Visual Studio 2017 location
608         https://bugs.webkit.org/show_bug.cgi?id=175275
609
610         Reviewed by Per Arne Vollan.
611
612         * Scripts/build-jsc:
613         * Scripts/build-webkit:
614         * Scripts/update-vswhere.py: Added.
615         * Scripts/webkitdirs.pm:
616         (pickCurrentVisualStudioInstallation):
617         (pickLegacyVisualStudioInstallation):
618         (visualStudioInstallDir):
619         (visualStudioInstallDirVSWhere):
620         (visualStudioInstallDirLegacy):
621         (visualStudioInstallDirFallback):
622         (msBuildInstallDir):
623         (visualStudioVersion):
624         (visualStudioVersionFromInstallDir):
625         (generateBuildSystemFromCMakeProject):
626
627 2017-10-27  Devin Rousso  <webkit@devinrousso.com>
628
629         Create watchlist for files related WebInspector Recording
630         https://bugs.webkit.org/show_bug.cgi?id=178965
631
632         Reviewed by Joseph Pecoraro.
633
634         * Scripts/webkitpy/common/config/watchlist:
635
636 2017-10-27  Jonathan Bedard  <jbedard@apple.com>
637
638         Windows and WebViews are retained after re-configure
639         https://bugs.webkit.org/show_bug.cgi?id=178902
640         <rdar://problem/35211518>
641
642         Reviewed by Alexey Proskuryakov.
643
644         The test runner effectively leaks windows every time a test changes configuration.
645         We give each test it's own AutoreleasePool to fix this problem.
646
647         * WebKitTestRunner/TestController.cpp:
648         (WTR::TestController::runTest): Add an AutoRelease pool scoping a test run
649         so that when a configuration changes, the old window and WebView are released.
650
651 2017-10-27  Eric Carlson  <eric.carlson@apple.com>
652
653         NowPlayingInfo should contain a unique identifier
654         https://bugs.webkit.org/show_bug.cgi?id=178872
655         <rdar://problem/34924012>
656
657         Unreviewed, fix a flakey test.
658
659         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
660         (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Update _lastUpdatedElapsedTime.
661         (-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]): Deleted.
662
663 2017-10-27  Fujii Hironori  <Hironori.Fujii@sony.com>
664
665         autoinstall can't download from http://pypi.python.org
666         https://bugs.webkit.org/show_bug.cgi?id=178925
667
668         Reviewed by Ryosuke Niwa.
669
670         The web server pypi.python.org rejects non secure http.
671
672         * Scripts/webkitpy/thirdparty/__init__.py:
673         (AutoinstallImportHook._install_mechanize): Use https instead of http.
674         (AutoinstallImportHook._install_pep8): Ditto.
675         (AutoinstallImportHook._install_pylint): Ditto.
676         (AutoinstallImportHook._install_buildbot): Ditto.
677         (AutoinstallImportHook._install_coverage): Ditto.
678
679 2017-10-26  Fujii Hironori  <Hironori.Fujii@sony.com>
680
681         [GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
682         https://bugs.webkit.org/show_bug.cgi?id=178854
683
684         Reviewed by Michael Catanzaro.
685
686         * Scripts/webkitpy/port/base.py:
687         (Port._debian_php_version): Return "-php7.1" if libphp7.1.so found.
688         (Port._is_debian_php_version_7): Deleted.
689         * gtk/install-dependencies: Install libapache2-mod-php instead of libapache2-mod-php7.0.
690         * wpe/install-dependencies: Ditto.
691
692 2017-10-25  Simon Fraser  <simon.fraser@apple.com>
693
694         When navigating back to a page, compositing layers may not use accelerated drawing
695         https://bugs.webkit.org/show_bug.cgi?id=178749
696         rdar://problem/35158946
697
698         Reviewed by Dean Jackson.
699
700         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
701         and use it to set the state of the web view.
702
703         * DumpRenderTree/TestOptions.h:
704         * DumpRenderTree/TestOptions.mm:
705         (TestOptions::TestOptions):
706         * DumpRenderTree/mac/DumpRenderTree.mm:
707         (setWebPreferencesForTestOptions):
708         * WebKitTestRunner/TestController.cpp:
709         (WTR::TestController::resetPreferencesToConsistentValues):
710         (WTR::updateTestOptionsFromTestHeader):
711         * WebKitTestRunner/TestOptions.h:
712         (WTR::TestOptions::hasSameInitializationOptions const):
713
714 2017-10-26  Alex Christensen  <achristensen@webkit.org>
715
716         Move WKWebViewConfiguration validation to WKWebView construction
717         https://bugs.webkit.org/show_bug.cgi?id=178840
718
719         Reviewed by Tim Horton.
720
721         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
722         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Added.
723         (TEST):
724
725 2017-10-26  Myles C. Maxfield  <mmaxfield@apple.com>
726
727         Demonstrate a possible structure of the WebGPU API
728         https://bugs.webkit.org/show_bug.cgi?id=178874
729
730         Reviewed by Dean Jackson.
731
732         Over the past few weeks, we've been putting together an example showing that a WebGPU API
733         which has implicit barriers can work on all three low-level graphics APIs. We've implemented
734         it on top of Vulkan first, because this is the API which has the strictest requirements and
735         is most difficult to use.
736
737         With this API, this is a valid WebGPU snippet:
738
739         auto device = WebGPU::Device::create(hInstance, hWnd);
740         auto& commandQueue = device->getCommandQueue();
741         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { }, nullptr);
742         
743         … later, in the draw() function …
744         
745         auto renderPass = commandQueue->createRenderPass(nullptr);
746         renderPass->setRenderState(renderState);
747         renderPass->setViewport(0, 0, width, height);
748         renderPass->setScissorRect(0, 0, width, height);
749         renderPass->draw(3);
750         commandQueue->commitRenderPass(std::move(renderPass));
751         commandQueue->present();
752
753         This snippet doesn’t hook up any vertex attributes or resources, which means the vertex
754         shader has to say something like ({vec4(…), vec4(…), vec4(…)})[gl_VertexIndex]. It also
755         passes in “nullptr” when creating the render pass, which means “render to the screen, rather
756         than to a frame buffer.” You can also see that it doesn’t attach any resources to the draw
757         call.
758
759         In Direct3D 12 and Vulkan, resources are bound in sets, rather than individually. For
760         example, a set might contain two uniform buffers, a texture, and another uniform buffer. At
761         draw time, you swap in whole sets of resources with a single call. A shader invocation can
762         access a collection of sets. Because all shader resource accesses are indirected through
763         these sets, the shape of these sets needs to be supplied at the time you compile the render
764         state. Here is a snippet which bounds a single set which contains a uniform buffer and a
765         texture:
766
767         auto buffer = device->getBuffer(bufferInitialContents);
768         auto texture = device->getTexture(buffer width, height, WebGPU::PixelFormat::RGBA8, textureInitialContents);
769         // One resource set, which holds a single uniform buffer object and a single texture
770         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { { WebGPU::ResourceType::UniformBufferObject, WebGPU::ResourceType::Texture } }, nullptr);
771         
772         … later, in the draw() function …
773         
774         auto renderPass = commandQueue->createRenderPass(nullptr);
775         renderPass->setRenderState(renderState);
776         renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()), WebGPU::TextureReference(texture.get()) });
777         …
778         renderPass->draw(3);
779         commandQueue->commitRenderPass(std::move(renderPass));
780         commandQueue->present();
781         
782         The first argument to the setResources() call identifies which set to populate with the supplied resources.
783
784         One tenant of the low-level graphics APIs is that, if you’ve enabled double buffering (or
785         triple buffering), the GPU is executing one frame at the same time you are recording the
786         next frame. This often means that you need duplicate resources so the CPU and GPU don’t step
787         on each other’s toes. However, platforms have platform-specific requirements about whether
788         or not they can be double / triple buffered, and we don’t want to expose this to the Web for
789         fear of badly-authored programs.
790
791         To solve this, resources are reference counted, and the return type of getBuffer() is an
792         RAII type called BufferHolder which increments and decrements the reference count
793         automatically. The reference count is also incremented and decremented when the GPU is using
794         the resource in a Pass. When the reference count reaches 0, the resource isn’t destroyed;
795         instead, it’s simply moved to a “free list” which getBuffer() may pull from. Therefore,
796         applications don’t need to know whether the frame buffer is double buffered or triple
797         buffered; they can just getBuffer() each frame, and the correct number of buffers will be
798         created and recycled.
799         
800         {
801             auto buffer = device->getBuffer(bufferSize); // These get recycled
802             … populate the buffer …
803             auto renderPass = commandQueue->createRenderPass(nullptr);
804             renderPass->setRenderState(renderState);
805             renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()) });
806             …
807             renderPass->draw(…);
808             commandQueue->commitRenderPass(std::move(renderPass));
809         }
810         commandQueue->present();
811
812         In Direct3D and Vulkan, vertex buffers and index buffers are not part of the resource sets
813         mentioned above. Instead, you tell the render state about the shape of the vertex and index
814         buffers, and you swap them out independently in the draw loop. Metal and Vulkan have almost
815         identical API to specify this shape of the vertex buffers, so I’ve mostly copied it. In this
816         example, we have two vertex attributes, a vec2 and a vec3, which both come from the same
817         buffer:
818         
819         // { Attribute format, offset within stride, buffer to pull from }
820         std::vector<WebGPU::RenderState::VertexAttribute> vertexAttributes = { {WebGPU::RenderState::VertexFormat::Float2, 0, 0}, {WebGPU::RenderState::VertexFormat::Float3, sizeof(float) * 2, 0} };
821         // A single vertex buffer, with a stride of 5 floats
822         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { sizeof(float) * 5 }, vertexAttributes, resourceTypes, nullptr);
823         
824         … later, in the draw() function …
825         
826         auto renderPass = commandQueue->createRenderPass(nullptr);
827         renderPass->setRenderState(renderState);
828         renderPass->setVertexAttributeBuffers({ vertexBuffer.get() }); // The one vertex buffer which both attributes pull from
829         renderPass->setResources(…);
830         …
831         renderPass->draw(…);
832         commandQueue->commitRenderPass(std::move(renderPass));
833         commandQueue->present();
834
835         You can also tell the RenderState about how many render targets you have and their formats,
836         and then when you create the RenderPass, you specify the specific textures you want to
837         render into.
838
839         std::vector<WebGPU::PixelFormat> colorPixelFormats = { WebGPU::PixelFormat::RGBA8, WebGPU::PixelFormat::RGBA8 }; // Two render targets, with these formats
840         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", vertexBufferStrides, vertexAttributes, resourceTypes, &colorPixelFormats);
841         
842         … later, in the draw() function …
843         
844         std::vector<std::reference_wrapper<WebGPU::Texture>> destinationTextures = { texture1->get(), texture2->get() };
845         auto renderPass = commandQueue->createRenderPass(&destinationTextures);
846         renderPass->setRenderState(renderState);
847         …
848         renderPass->draw(…);
849         commandQueue->commitRenderPass(std::move(renderPass));
850         
851         // Now, draw one of the textures to the screen. Note that no synchronization is necessary here!
852         auto renderPass = commandQueue->createRenderPass(nullptr);
853         renderPass->setRenderState(renderState2);
854         renderPass->setResources(0, { WebGPU:: TextureReference(texture1.get()) });
855         …
856         renderPass->draw(…);
857         commandQueue->commitRenderPass(std::move(renderPass));
858         commandQueue->present();
859
860         Just like how in Metal has Render Encoders and Compute Encoders, WebGPU has RenderPasses
861         and ComputePasses.
862
863         auto& computeState = device->getComputeState(computeShader, "main", resourceTypes);
864         …
865         auto computePass = commandQueue->createComputePass();
866         computePass->setComputeState(computeState);
867         computePass->setResources(0, resources);
868         computePass->dispatch(width, height, depth);
869         commandQueue->commitComputePass(std::move(computePass));
870         
871         // Now, draw the resources we just computed. Note that no synchronization is necessary here!
872         auto renderPass = commandQueue->createRenderPass(nullptr);
873         renderPass->setRenderState(renderState);
874         renderPass->setResources(0, resources });
875         …
876         renderPass->draw(…);
877         commandQueue->commitRenderPass(std::move(renderPass));
878         commandQueue->present();
879
880         There are also two other types of passes: one that corresponds to a Metal blit encoder, and
881         one that allows the CPU to change the contents of GPU buffers and textures. This last kind
882         of pass is a little interesting: you can’t just change the contents of a buffer at any time
883         you feel like it, because that resource might be in use by the GPU. Therefore, we need to do
884         the same kind of synchronization that we already do at render pass boundaries.
885
886         In addition, both Vulkan and Direct3D have a concept of a memory heap. A resource might
887         exist inside a heap which is fast, but invisible from the CPU, or in a heap which is slow,
888         but visible by the CPU. Certain operations are not possible from some types of images (e.g.
889         non-tiled textures may not be able to be sampled from). The usual way to get around this
890         problem is to have two resources: a slow staging resource which the CPU can see, and a fast
891         resource which the CPU can’t see. Uploading data is a two-pass algorithm, where the CPU
892         memcpy()s into the slow staging resource, and then a blit command is enqueued on the GPU to
893         copy the contents of the staging resource to the real resource. This requires that the
894         upload have access to the commandQueue so it can possibly enqueue a blit between the staging
895         and real resources. Therefore, a pass is the right level of abstraction for these facilities.
896
897         std::queue<boost::unique_future<std::vector<uint8_t>>> futureQueue; // Promises for data downloads from the GPU
898         
899         … later, in the draw() function …
900         
901         // See if any of the previously-enqueued downloads are finished
902         while (!futureQueue.empty() && futureQueue.front(). has_value()) {
903             std::vector<uint8_t>& data = futureQueue.front().get();
904             // Use the downloaded data
905             futureQueue.pop();
906         }
907         …
908         auto hostAccessPass = commandQueue->createHostAccessPass();
909         hostAccessPass->overwriteBuffer(buffer->get(), bufferContents); // Upload data to a resource
910         
911         futureQueue.emplace(hostAccessPass->getBufferContents(buffer->get()));
912         commandQueue->commitHostAccessPass(std::move(hostAccessPass));
913         
914         You can also issue copy commands between resources entirely on the GPU:
915         
916         auto blitPass = commandQueue->createBlitPass();
917         blitPass->copyTexture(source->get(), destination->get(), sourceX, sourceY, destinationX, destinationY, width, height);
918         commandQueue->commitBlitPass(std::move(blitPass));
919
920         * Scripts/webkitpy/style/checker.py:
921         * WebGPUAPIStructure/Example/Example.cpp: Added.
922         (readFile):
923         (drawWebGPU):
924         (wWinMain):
925         (MyRegisterClass):
926         (InitInstance):
927         (WndProc):
928         * WebGPUAPIStructure/Example/Example.h: Added.
929         * WebGPUAPIStructure/Example/Example.ico: Added.
930         * WebGPUAPIStructure/Example/Example.rc: Added.
931         * WebGPUAPIStructure/Example/Example.vcxproj: Added.
932         * WebGPUAPIStructure/Example/Example.vcxproj.filters: Added.
933         * WebGPUAPIStructure/Example/Example.vcxproj.user: Added.
934         * WebGPUAPIStructure/Example/resource.h: Added.
935         * WebGPUAPIStructure/Example/small.ico: Added.
936         * WebGPUAPIStructure/Example/stdafx.cpp: Added.
937         * WebGPUAPIStructure/Example/stdafx.h: Added.
938         * WebGPUAPIStructure/Example/targetver.h: Added.
939         * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Added.
940         * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Added.
941         * WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Added.
942         (WebGPU::BufferHolder::BufferHolder):
943         (WebGPU::BufferHolder::~BufferHolder):
944         (WebGPU::TextureHolder::TextureHolder):
945         (WebGPU::TextureHolder::~TextureHolder):
946         (WebGPU::SamplerHolder::SamplerHolder):
947         (WebGPU::SamplerHolder::~SamplerHolder):
948         * WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Added.
949         (WebGPU::Queue::~Queue):
950         (WebGPU::RenderState::~RenderState):
951         (WebGPU::ComputeState::~ComputeState):
952         (WebGPU::Buffer::~Buffer):
953         (WebGPU::Texture::~Texture):
954         (WebGPU::Sampler::~Sampler):
955         (WebGPU::TextureReference::TextureReference):
956         (WebGPU::TextureReference::get const):
957         (WebGPU::SamplerReference::SamplerReference):
958         (WebGPU::SamplerReference::get const):
959         (WebGPU::UniformBufferObjectReference::UniformBufferObjectReference):
960         (WebGPU::UniformBufferObjectReference::get const):
961         (WebGPU::ShaderStorageBufferObjectReference::ShaderStorageBufferObjectReference):
962         (WebGPU::ShaderStorageBufferObjectReference::get const):
963         (WebGPU::RenderPass::~RenderPass):
964         (WebGPU::ComputePass::~ComputePass):
965         (WebGPU::BlitPass::~BlitPass):
966         (WebGPU::HostAccessPass::~HostAccessPass):
967         (WebGPU::BufferHolder::get):
968         (WebGPU::TextureHolder::get):
969         (WebGPU::SamplerHolder::get):
970         (WebGPU::Device::~Device):
971         * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Added.
972         (WebGPU::BlitPassImpl::BlitPassImpl):
973         (WebGPU::BlitPassImpl::copyTexture):
974         * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Added.
975         * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Added.
976         (WebGPU::BufferImpl::BufferImpl):
977         (WebGPU::BufferImpl::decrementReferenceCount):
978         * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Added.
979         (WebGPU::BufferImpl::getBuffer const):
980         (WebGPU::BufferImpl::getDeviceMemory const):
981         (WebGPU::BufferImpl::incrementReferenceCount):
982         (WebGPU::BufferImpl::getLength const):
983         * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Added.
984         (WebGPU::ComputePassImpl::ComputePassImpl):
985         (WebGPU::ComputePassImpl::setComputeState):
986         (WebGPU::ComputePassImpl::setResources):
987         (WebGPU::ComputePassImpl::dispatch):
988         * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Added.
989         * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Added.
990         (WebGPU::ComputeStateImpl::ComputeStateImpl):
991         * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Added.
992         (WebGPU::ComputeStateImpl::getPipeline const):
993         (WebGPU::ComputeStateImpl::getPipelineLayout const):
994         (WebGPU::ComputeStateImpl::getDescriptorSetLayouts const):
995         * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Added.
996         (WebGPU::Device::create):
997         (WebGPU::convertPixelFormat):
998         (WebGPU::convertFormat):
999         (WebGPU::debugReport):
1000         (WebGPU::DeviceImpl::DeviceImpl):
1001         (WebGPU::DeviceImpl::getCommandQueue):
1002         (WebGPU::DeviceImpl::prepareShader):
1003         (WebGPU::DeviceImpl::createPipelineLayout):
1004         (WebGPU::DeviceImpl::createCompatibleRenderPass):
1005         (WebGPU::convertVertexFormat):
1006         (WebGPU::DeviceImpl::getRenderState):
1007         (WebGPU::DeviceImpl::getComputeState):
1008         (WebGPU::DeviceImpl::getBuffer):
1009         (WebGPU::DeviceImpl::returnBuffer):
1010         (WebGPU::DeviceImpl::getTexture):
1011         (WebGPU::DeviceImpl::returnTexture):
1012         (WebGPU::DeviceImpl::getSampler):
1013         (WebGPU::DeviceImpl::returnSampler):
1014         (WebGPU::DeviceImpl::~DeviceImpl):
1015         * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Added.
1016         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::UniqueDebugReportCallbackEXT):
1017         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::operator=):
1018         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::~UniqueDebugReportCallbackEXT):
1019         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::destroy):
1020         (WebGPU::DeviceImpl::TextureParameters::operator== const):
1021         (WebGPU::DeviceImpl::TextureParametersHash::operator() const):
1022         * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Added.
1023         (WebGPU::HostAccessPassImpl::HostAccessPassImpl):
1024         (WebGPU::HostAccessPassImpl::overwriteBuffer):
1025         (WebGPU::HostAccessPassImpl::getBufferContents):
1026         (WebGPU::HostAccessPassImpl::execute):
1027         * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Added.
1028         (WebGPU::HostAccessPassImpl::getFinishedEvent const):
1029         * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Added.
1030         (WebGPU::PassImpl::PassImpl):
1031         (WebGPU::ResourceVisitor::operator()):
1032         (WebGPU::ResourceVisitor::getBindings const):
1033         (WebGPU::ResourceVisitor::releaseWriteDescriptorSets):
1034         (WebGPU::ResourceVisitor::getDescriptorImageInfos const):
1035         (WebGPU::ResourceVisitor::getDescriptorBufferInfos const):
1036         (WebGPU::ResourceVisitor::getBuffers const):
1037         (WebGPU::ResourceVisitor::getTextures const):
1038         (WebGPU::ResourceVisitor::getSamplers const):
1039         (WebGPU::ResourceVisitor::getImageCount const):
1040         (WebGPU::ResourceVisitor::getSamplerCount const):
1041         (WebGPU::ResourceVisitor::getUniformBufferCount const):
1042         (WebGPU::ResourceVisitor::getStorageBufferCount const):
1043         (WebGPU::PassImpl::setResources):
1044         (WebGPU::PassImpl::insertBuffer):
1045         (WebGPU::PassImpl::insertTexture):
1046         (WebGPU::PassImpl::insertSampler):
1047         * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h: Added.
1048         (WebGPU::PassImpl::getCommandBuffer const):
1049         (WebGPU::PassImpl::iterateBuffers):
1050         (WebGPU::PassImpl::iterateTextures):
1051         (WebGPU::PassImpl::ResourceReference::ResourceReference):
1052         (WebGPU::PassImpl::ResourceReference::~ResourceReference):
1053         (WebGPU::PassImpl::ResourceReference::operator=):
1054         (WebGPU::PassImpl::ResourceReference::operator== const):
1055         (WebGPU::PassImpl::ResourceReference::get const):
1056         (WebGPU::PassImpl::ResourceReference::release):
1057         (WebGPU::PassImpl::ResourceReferenceHash::operator() const):
1058         * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp: Added.
1059         (WebGPU::QueueImpl::QueueImpl):
1060         (WebGPU::QueueImpl::prepareCurrentFrame):
1061         (WebGPU::QueueImpl::createSpecificRenderPass):
1062         (WebGPU::QueueImpl::createFramebuffer):
1063         (WebGPU::QueueImpl::createRenderPass):
1064         (WebGPU::QueueImpl::commitRenderPass):
1065         (WebGPU::QueueImpl::createComputePass):
1066         (WebGPU::QueueImpl::commitComputePass):
1067         (WebGPU::QueueImpl::createBlitPass):
1068         (WebGPU::QueueImpl::commitBlitPass):
1069         (WebGPU::QueueImpl::createHostAccessPass):
1070         (WebGPU::QueueImpl::commitHostAccessPass):
1071         (WebGPU::QueueImpl::present):
1072         (WebGPU::QueueImpl::commitPass):
1073         (WebGPU::QueueImpl::synchronizeResources):
1074         (WebGPU::QueueImpl::~QueueImpl):
1075         * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h: Added.
1076         * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp: Added.
1077         (WebGPU::RenderPassImpl::RenderPassImpl):
1078         (WebGPU::RenderPassImpl::setRenderState):
1079         (WebGPU::RenderPassImpl::setVertexAttributeBuffers):
1080         (WebGPU::RenderPassImpl::setResources):
1081         (WebGPU::RenderPassImpl::setViewport):
1082         (WebGPU::RenderPassImpl::setScissorRect):
1083         (WebGPU::RenderPassImpl::draw):
1084         * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h: Added.
1085         * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp: Added.
1086         (WebGPU::RenderStateImpl::RenderStateImpl):
1087         * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h: Added.
1088         (WebGPU::RenderStateImpl::getPipeline const):
1089         (WebGPU::RenderStateImpl::getPipelineLayout const):
1090         (WebGPU::RenderStateImpl::getDescriptorSetLayouts const):
1091         * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp: Added.
1092         (WebGPU::SamplerImpl::SamplerImpl):
1093         (WebGPU::SamplerImpl::decrementReferenceCount):
1094         * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h: Added.
1095         (WebGPU::SamplerImpl::getSampler):
1096         (WebGPU::SamplerImpl::incrementReferenceCount):
1097         (WebGPU::SamplerImpl::getFilter):
1098         (WebGPU::SamplerImpl::getMipmapMode):
1099         (WebGPU::SamplerImpl::getAddressMode):
1100         * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp: Added.
1101         (WebGPU::TextureImpl::TextureImpl):
1102         (WebGPU::TextureImpl::decrementReferenceCount):
1103         * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h: Added.
1104         (WebGPU::TextureImpl::getImage const):
1105         (WebGPU::TextureImpl::getImageView const):
1106         (WebGPU::TextureImpl::getFormat const):
1107         (WebGPU::TextureImpl::incrementReferenceCount):
1108         (WebGPU::TextureImpl::getWidth const):
1109         (WebGPU::TextureImpl::getHeight const):
1110         (WebGPU::TextureImpl::getTransferredToGPU const):
1111         (WebGPU::TextureImpl::setTransferredToGPU):
1112         * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj: Added.
1113         * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters: Added.
1114         * WebGPUAPIStructure/WebGPU.sln: Added.
1115
1116 2017-10-26  Eric Carlson  <eric.carlson@apple.com>
1117
1118         NowPlayingInfo should contain a unique identifier
1119         https://bugs.webkit.org/show_bug.cgi?id=178872
1120
1121         Reviewed by Jer Noble.
1122
1123         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
1124         (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Use completion handler.
1125         (TestWebKitAPI::TEST): Cleanup tests. Use new API.
1126         (-[NowPlayingTestWebView waitForNowPlayingInfoToChange]): Deleted.
1127
1128 2017-10-26  Eric Carlson  <eric.carlson@apple.com>
1129
1130         [MediaStream] Clear cached gUM prompt state
1131         https://bugs.webkit.org/show_bug.cgi?id=178754
1132         <rdar://problem/32742356>
1133
1134         Unreviewed, fix a flakey test.
1135
1136         * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
1137         (-[GetUserMediaRepromptTestView haveStream:]): New, check several times for expected state.
1138         (TestWebKitAPI::TEST): Don't assume stream state changes in the page immediately.
1139
1140 2017-10-26  Andy Estes  <aestes@apple.com>
1141
1142         [Payment Request] Enable Payment Request whenever Apple Pay is enabled
1143         https://bugs.webkit.org/show_bug.cgi?id=178880
1144
1145         Reviewed by Tim Horton.
1146
1147         * WebKitTestRunner/TestController.cpp:
1148         (WTR::TestController::resetPreferencesToConsistentValues):
1149
1150 2017-10-26  Joseph Pecoraro  <pecoraro@apple.com>
1151
1152         Add and update some watchlists
1153         https://bugs.webkit.org/show_bug.cgi?id=178304
1154
1155         Reviewed by Simon Fraser.
1156
1157         * Scripts/webkitpy/common/config/watchlist:
1158
1159 2017-10-26  Ryan Haddad  <ryanhaddad@apple.com>
1160
1161         Unreviewed, rolling out r223984.
1162
1163         Caused LayoutTest assertion failures.
1164
1165         Reverted changeset:
1166
1167         "When navigating back to a page, compositing layers may not
1168         use accelerated drawing"
1169         https://bugs.webkit.org/show_bug.cgi?id=178749
1170         https://trac.webkit.org/changeset/223984
1171
1172 2017-10-26  Christopher Reid  <chris.reid@sony.com>
1173
1174         Remove scopeguard from platform
1175         https://bugs.webkit.org/show_bug.cgi?id=178681
1176
1177         Reviewed by Brady Eidson.
1178
1179         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
1180
1181 2017-09-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1182
1183         WebDriver: Add support to import and run W3C tests
1184         https://bugs.webkit.org/show_bug.cgi?id=177304
1185
1186         Reviewed by Brian Burg.
1187
1188         WPT has now several WebDriver tests, and new ones are going to be added to cover the whole spec. This patch
1189         adds the initial support for running W3C tests. The script import-w3c-webdriver-tests reuses parts of the W3C
1190         test downloader to download the tests and required tools from WPT repository into WebDriverTests
1191         directory. Tests can be run with run-webdriver-tests, a new script that works similar to other test runner
1192         scripts. For now it shows a summary at the end of the execution, there aren't expectations yet, since we are not
1193         ready to run those tests in the bots. Once we are ready to properly run the tests, we can add the expectations
1194         support and run the tests in the bots.
1195
1196         * Scripts/import-w3c-webdriver-tests: Added.
1197         * Scripts/run-webdriver-tests: Added.
1198         * Scripts/webkitpy/style/checker.py: Skip WebDriverTests directory since it only contains third-party python
1199         code.
1200         * Scripts/webkitpy/thirdparty/__init__.py: Add support to autodownload mozlog and mozprocess since they are
1201         required by the WebDriver tests.
1202         * Scripts/webkitpy/webdriver_tests/__init__.py: Added.
1203         * Scripts/webkitpy/webdriver_tests/webdriver_driver.py: Added.
1204         * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py: Added.
1205         * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py: Added.
1206         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Added.
1207         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: Added.
1208         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Added.
1209         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: Added.
1210
1211 2017-10-25  Eric Carlson  <eric.carlson@apple.com>
1212
1213         [MediaStream] Clear cached gUM prompt state
1214         https://bugs.webkit.org/show_bug.cgi?id=178754
1215         <rdar://problem/32742356>
1216
1217         Reviewed by Youenn Fablet.
1218
1219         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test
1220
1221         * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: Added.
1222         (-[GetUserMediaRepromptUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
1223         (-[GetUserMediaRepromptUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
1224         (TestWebKitAPI::TEST):
1225
1226         * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
1227
1228 2017-10-25  Ross Kirsling  <ross.kirsling@sony.com>
1229
1230         Add committer status for Ross Kirsling
1231         https://bugs.webkit.org/show_bug.cgi?id=178832
1232
1233         Unreviewed.
1234
1235         * Scripts/webkitpy/common/config/contributors.json:
1236
1237 2017-10-25  Simon Fraser  <simon.fraser@apple.com>
1238
1239         When navigating back to a page, compositing layers may not use accelerated drawing
1240         https://bugs.webkit.org/show_bug.cgi?id=178749
1241         rdar://problem/35158946
1242
1243         Reviewed by Dean Jackson.
1244
1245         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
1246         and use it to set the state of the web view.
1247
1248         * DumpRenderTree/TestOptions.h:
1249         * DumpRenderTree/TestOptions.mm:
1250         (TestOptions::TestOptions):
1251         * DumpRenderTree/mac/DumpRenderTree.mm:
1252         (setWebPreferencesForTestOptions):
1253         * WebKitTestRunner/TestController.cpp:
1254         (WTR::TestController::resetPreferencesToConsistentValues):
1255         (WTR::updateTestOptionsFromTestHeader):
1256         * WebKitTestRunner/TestOptions.h:
1257         (WTR::TestOptions::hasSameInitializationOptions const):
1258
1259 2017-10-25  Robin Morisset  <rmorisset@apple.com>
1260
1261         Support the TailBench9000 benchmark in run-jsc-benchmarks
1262         https://bugs.webkit.org/show_bug.cgi?id=178451
1263
1264         Reviewed by Saam Barati.
1265
1266         * Scripts/run-jsc-benchmarks:
1267
1268 2017-10-25  Adrian Perez de Castro  <aperez@igalia.com>
1269
1270         [WPE] Remove GLib API functions which use Cairo
1271         https://bugs.webkit.org/show_bug.cgi?id=178205
1272
1273         Reviewed by Michael Catanzaro.
1274
1275         Add PLATFORM(GTK) guards for the API tests (or parts of them) which use cairo_surface_t (web
1276         page snapshots and favicons) which are not available in the WPE version of the GLib API.
1277
1278         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
1279         (testNotInitialized):
1280         (testPrivateBrowsing):
1281         (testFaviconDatabase):
1282         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
1283         (testFindControllerHide):
1284         (beforeAll):
1285         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1286         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
1287
1288 2017-10-25  Zan Dobersek  <zdobersek@igalia.com>
1289
1290         Make SERVICE_WORKER feature buildable on GTK, WPE
1291         https://bugs.webkit.org/show_bug.cgi?id=178574
1292
1293         Reviewed by Carlos Garcia Campos.
1294
1295         * Scripts/webkitperl/FeatureList.pm: Add the --service-worker option
1296         that enables the SERVICE_WORKER feature flag. For now it's enabled
1297         on Apple's Cocoa ports (even when build-webkit isn't used for those
1298         builds, the flag is enabled here for consistency).
1299
1300 2017-10-24  Michael Catanzaro  <mcatanzaro@igalia.com>
1301
1302         Unreviewed, fix name of Perl LibXML package on Fedora
1303         https://bugs.webkit.org/show_bug.cgi?id=178206
1304         <rdar://problem/35028586>
1305
1306         * gtk/install-dependencies:
1307         * wpe/install-dependencies:
1308
1309 2017-10-24  Alex Christensen  <achristensen@webkit.org>
1310
1311         Selecting and right-clicking URL-like strings with IDNA-disallowed characters in host or authority causes rendering engine crash
1312         https://bugs.webkit.org/show_bug.cgi?id=174267
1313
1314         Reviewed by Tim Horton.
1315
1316         * TestWebKitAPI/Tests/WebKit/CanHandleRequest_Bundle.cpp:
1317         (TestWebKitAPI::runTest):
1318
1319 2017-10-24  Eric Carlson  <eric.carlson@apple.com>
1320
1321         Web Inspector: Enable WebKit logging configuration and display
1322         https://bugs.webkit.org/show_bug.cgi?id=177027
1323         <rdar://problem/33964767>
1324
1325         Reviewed by Joseph Pecoraro.
1326
1327         Allow new 'dumpJSConsoleLogInStdErr' test header to redirect log console output to stderr.
1328
1329         * DumpRenderTree/TestOptions.h:
1330         * DumpRenderTree/TestOptions.mm:
1331         (TestOptions::TestOptions):
1332         * DumpRenderTree/mac/DumpRenderTree.mm:
1333         (runTest):
1334         * WebKitTestRunner/TestController.cpp:
1335         (WTR::updateTestOptionsFromTestHeader):
1336         (WTR::TestController::runTest):
1337         * WebKitTestRunner/TestOptions.h:
1338         (WTR::TestOptions::hasSameInitializationOptions const):
1339
1340 2017-10-24  Alex Christensen  <achristensen@webkit.org>
1341
1342         Apply custom header fields from WebsitePolicies to same-domain requests
1343         https://bugs.webkit.org/show_bug.cgi?id=178356
1344
1345         Reviewed by Brady Eidson.
1346
1347         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1348         (expectHeaders):
1349
1350 2017-10-24  Stephan Szabo  <stephan.szabo@sony.com>
1351
1352         [Win][JSCOnly] Make jsconly build testapi and dlls and copy dlls when running tests
1353         https://bugs.webkit.org/show_bug.cgi?id=177279
1354
1355         Reviewed by Yusuke Suzuki.
1356
1357         * Scripts/build-jsc:
1358         * Scripts/run-jsc-stress-tests:
1359
1360 2017-10-23  Lucas Forschler  <lforschler@apple.com>
1361
1362         <rdar://problem/35045445>
1363         Update README to reference WebKit build archives, instead of 'nightly'
1364
1365         Reviewed by Aakash Jain.
1366
1367         * WebKitArchiveSupport/README:
1368
1369 2017-10-21  Tim Horton  <timothy_horton@apple.com>
1370
1371         Turn on ccache for Mac cmake builds by default
1372         https://bugs.webkit.org/show_bug.cgi?id=177059
1373
1374         Reviewed by Sam Weinig.
1375
1376         * ccache/ccache-clang:
1377         * ccache/ccache-wrapper: Added.
1378         Add a pass-through ccache wrapper to be used with CMake, in addition
1379         to the existing faux-clang wrappers.
1380
1381         * Scripts/build-webkit:
1382         Add --use-ccache and --no-use-ccache option, which will define
1383         WK_USE_CCACHE to YES or NO, respectively, which the underlying
1384         build systems respect. We do not define WK_USE_CCACHE if the option
1385         is not specified, because the underlying build systems have different
1386         default values.
1387
1388 2017-10-20  Aakash Jain  <aakash_jain@apple.com>
1389
1390         Do not run binding tests on multiple EWSes
1391         https://bugs.webkit.org/show_bug.cgi?id=178599
1392
1393         Reviewed by Alexey Proskuryakov. 
1394
1395         Remove old code which runs bindings tests and ignore it's result. We now have
1396         a dedicated bindings test EWS.
1397
1398         * Scripts/webkitpy/tool/steps/runtests.py:
1399         (RunTests.run): Removed bindings tests code.
1400         * Scripts/webkitpy/tool/steps/runtests_unittest.py: Updated unit-tests.
1401         (RunTestsTest.test_webkit_run_unit_tests): Ditto.
1402         * Scripts/webkitpy/tool/steps/steps_unittest.py: Ditto.
1403         * Scripts/webkitpy/tool/commands/download_unittest.py: Ditto.
1404
1405 2017-10-20  Youenn Fablet  <youenn@apple.com>
1406
1407         WebsiteDataStoreCustomPaths.mm is failing after r223718
1408         https://bugs.webkit.org/show_bug.cgi?id=178596
1409
1410         Unreviewed.
1411
1412         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1413         (TEST): Making default web site data store creation expected at the end of the test.
1414         We should probably not need need to create it.
1415         This should be fixed as a follow-up.
1416
1417 2017-10-20  Antoine Quint  <graouts@apple.com>
1418
1419         [Web Animations] Provide basic timeline and animation interfaces
1420         https://bugs.webkit.org/show_bug.cgi?id=178526
1421
1422         Reviewed by Dean Jackson.
1423
1424         Remove the WEB_ANIMATIONS compile-time flag.
1425
1426         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1427
1428 2017-10-20  Tomas Popela  <tpopela@redhat.com>
1429
1430         Missing some perl packages in install-dependencies
1431         https://bugs.webkit.org/show_bug.cgi?id=178571
1432
1433         Reviewed by Žan Doberšek.
1434
1435         Install per-version and perl-Time-HiRes so we can use build-webkit
1436         script. Also add missing backlashes.
1437
1438         * wpe/install-dependencies:
1439
1440 2017-10-20  Commit Queue  <commit-queue@webkit.org>
1441
1442         Unreviewed, rolling out r222709 and r223572.
1443         https://bugs.webkit.org/show_bug.cgi?id=178587
1444
1445         Still getting mac-wk2 EWS bots stuck (Requested by ap on
1446         #webkit).
1447
1448         Reverted changesets:
1449
1450         "Log stack-trace for run-webkit-tests when interrupted"
1451         https://bugs.webkit.org/show_bug.cgi?id=176393
1452         https://trac.webkit.org/changeset/222709
1453
1454         "webkitpy: Hang when workers write to the same stack trace
1455         file"
1456         https://bugs.webkit.org/show_bug.cgi?id=178402
1457         https://trac.webkit.org/changeset/223572
1458
1459 2017-10-19  Nan Wang  <n_wang@apple.com>
1460
1461         AX: Provide a way for Accessibility to cache the selection while retrieving rects for speak selection
1462         https://bugs.webkit.org/show_bug.cgi?id=176247
1463         <rdar://problem/34217143>
1464
1465         Reviewed by Ryosuke Niwa.
1466
1467         * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
1468         (TestWebKitAPI::TEST):
1469
1470 2017-10-19  Sam Weinig  <sam@webkit.org>
1471
1472         [Settings] Move global settings into their own file
1473         https://bugs.webkit.org/show_bug.cgi?id=178512
1474
1475         Reviewed by Darin Adler.
1476
1477         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
1478         (TestWebKitAPI::TEST):
1479
1480 2017-10-19  Andy Estes  <aestes@apple.com>
1481
1482         [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
1483         https://bugs.webkit.org/show_bug.cgi?id=178181
1484         <rdar://problem/33660282>
1485
1486         Reviewed by Dan Bernstein.
1487
1488         * WebKitTestRunner/TestController.cpp:
1489         (WTR::TestController::databaseProcessName):
1490
1491 2017-10-19  Saam Barati  <sbarati@apple.com>
1492
1493         Turn poly proto back on by default and remove the option
1494         https://bugs.webkit.org/show_bug.cgi?id=178525
1495
1496         Reviewed by Mark Lam.
1497
1498         * Scripts/run-jsc-stress-tests:
1499
1500 2017-10-18  Ryosuke Niwa  <rniwa@webkit.org>
1501
1502         Don't expose raw HTML in pasteboard to the web content
1503         https://bugs.webkit.org/show_bug.cgi?id=178422
1504
1505         Reviewed by Wenson Hsieh.
1506
1507         Added a test case for sanitizing web archive in the system pasteboard to strip privacy sensitive information
1508         such as local file paths and potentially harmful scripts like event handlers serialized by WebKit prior to r223462.
1509
1510         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
1511         (PasteWebArchive.SanitizesHTML):
1512
1513 2017-10-18  Youenn Fablet  <youenn@apple.com>
1514
1515         TestController should clear all fetch caches when resetting its state
1516         https://bugs.webkit.org/show_bug.cgi?id=178486
1517
1518         Reviewed by Chris Dumez.
1519
1520         Adding clearDOMCaches test runner method.
1521         Using that method when resetting state.
1522
1523         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1524         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1525         (WTR::TestRunner::clearDOMCaches):
1526         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1527         * WebKitTestRunner/TestInvocation.cpp:
1528         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1529
1530 2017-10-18  Chelsea Pugh  <cpugh@apple.com>
1531
1532         [iOS] Use new class name from UIKit when checking UITextSuggestion type
1533         https://bugs.webkit.org/show_bug.cgi?id=178416
1534
1535         Reviewed by Tim Horton.
1536
1537         This updates our test using/mocking out UITextAutofillSuggestion instead of UIKeyboardLoginCredentialsSuggestion.
1538
1539         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
1540         (-[UITextAutofillSuggestion initWithUsername:password:]): Copied from UIKit's implementation. This will serve as
1541         a mock of this method for builds not containingit.
1542         (+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Ditto.
1543         (TestWebKitAPI::TEST): Use +[UITextAutofillSuggestion autofillSuggestionWithUsername:password:] inline instead of
1544         helper function for creating a new suggestion.
1545         (newUIKeyboardLoginCredentialsSuggestion): Deleted.
1546
1547         * TestWebKitAPI/ios/UIKitSPI.h:
1548
1549 2017-10-18  Fujii Hironori  <Hironori.Fujii@sony.com>
1550
1551         update-webkit-auxiliary-libs can't download WebKitAuxiliaryLibrary.zip due to 403 Forbidden
1552         https://bugs.webkit.org/show_bug.cgi?id=178381
1553
1554         Reviewed by Alexey Proskuryakov.
1555
1556         The web server developer.apple.com seems to reject HTTP requests
1557         without Accept header field.
1558
1559         * Scripts/update-webkit-dependency: Add 'Accept' header field to requests.
1560
1561 2017-10-18  Aakash Jain  <aakash_jain@apple.com>
1562
1563         webkitpy tests should have --json-output option
1564         https://bugs.webkit.org/show_bug.cgi?id=178481
1565
1566         Reviewed by Alexey Proskuryakov.
1567
1568         * Scripts/webkitpy/test/main.py:
1569         (Tester._parse_args): Added json-output argument.
1570         (Tester._run_tests): Write output to json file.
1571
1572 2017-10-18  Wenson Hsieh  <wenson_hsieh@apple.com>
1573
1574         Unreviewed, rolling out r223291.
1575
1576         See WebCore ChangeLog for more detail.
1577
1578         Reverted changeset:
1579
1580         "Remove Editor::simplifyMarkup"
1581         https://bugs.webkit.org/show_bug.cgi?id=178271
1582         https://trac.webkit.org/changeset/223291
1583
1584 2017-10-18  Chris Dumez  <cdumez@apple.com>
1585
1586         Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
1587         https://bugs.webkit.org/show_bug.cgi?id=177876
1588         <rdar://problem/34813129>
1589
1590         Reviewed by Ryosuke Niwa.
1591
1592         Clear service worker registrations between test runs to avoid flakiness.
1593
1594         * WebKitTestRunner/TestController.cpp:
1595         (WTR::TestController::resetStateToConsistentValues):
1596
1597 2017-10-18  Zan Dobersek  <zdobersek@igalia.com>
1598
1599         Remove remnants of OpenWebRTC
1600         https://bugs.webkit.org/show_bug.cgi?id=178437
1601
1602         Reviewed by Alejandro G. Castro.
1603
1604         Drop OpenWebRTC packages from the GTK's Jhbuild modules file. Relevant
1605         patches are also removed.
1606
1607         * gtk/jhbuild.modules:
1608         * gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Removed.
1609         * gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Removed.
1610         * gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Removed.
1611         * gtk/patches/udpsrc-improve-timeouts.patch: Removed.
1612
1613 2017-10-17  Jonathan Bedard  <jbedard@apple.com>
1614
1615         webkitpy: Hang when workers write to the same stack trace file
1616         https://bugs.webkit.org/show_bug.cgi?id=178402
1617         <rdar://problem/35033432>
1618
1619         Reviewed by Aakash Jain.
1620
1621         Workers can hang if they all write to the same stack trace file when receiving
1622         a SIGTERM. Attach the pid to the stack trace file name so that each worker
1623         writes to a different file.
1624
1625         * Scripts/webkitpy/common/interupt_debugging.py:
1626         (log_stack_trace_on_term.handler): Name stack trace file path/<pid>-filename.
1627         (log_stack_trace_on_cntrl_c.handler): Ditto.
1628
1629 2017-10-17  John Wilander  <wilander@apple.com>
1630
1631         Add and remove cookie partition accordingly in intermediary redirect requests
1632         https://bugs.webkit.org/show_bug.cgi?id=178369
1633         <rdar://problem/34467603>
1634
1635         Reviewed by Brent Fulgham.
1636
1637         Adds the function statisticsNotifyObserver().
1638
1639         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1640         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1641         (WTR::InjectedBundle::statisticsNotifyObserver):
1642         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1643         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1644         (WTR::TestRunner::statisticsNotifyObserver):
1645         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1646
1647 2017-10-17  Youenn Fablet  <youenn@apple.com>
1648
1649         Cache API implementation should be able to compute storage size for WebKit client applications.
1650         https://bugs.webkit.org/show_bug.cgi?id=178350
1651
1652         Reviewed by Chris Dumez.
1653
1654         Adding support for a domCacheSize getter.
1655
1656         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1657         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1658         (WTR::TestRunner::domCacheSize):
1659         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1660         * WebKitTestRunner/TestController.cpp:
1661         (WTR::FetchCacheSizeForOriginCallbackContext::FetchCacheSizeForOriginCallbackContext):
1662         (WTR::fetchCacheSizeForOriginCallback):
1663         (WTR::TestController::domCacheSize):
1664         * WebKitTestRunner/TestController.h:
1665         * WebKitTestRunner/TestInvocation.cpp:
1666         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1667
1668 2017-10-17  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
1669
1670         [GStreamer][GTK][WPE] update-webkit-libs-jhbuild fails to detect changes in included moduleset files
1671         https://bugs.webkit.org/show_bug.cgi?id=178206
1672
1673         Reviewed by Michael Catanzaro.
1674
1675         The update-webkit-libs-jhbuild scripts computes MD5 sum of GTK/WPE jhbuild configuration files to check if it
1676         needs to rebuild the dependencies libraries. This patch fixes a bug when main GTK/WPE jhbuild modules
1677         configuration file includes additional files (for example GStreamer module). It parses jhbuild.modules file to
1678         check if additional files are included. If any, it computes MD5 sum for each of these included files.
1679
1680         * Scripts/update-webkit-libs-jhbuild:
1681         (getJhbuildIncludedFilePaths): New function that returns included files in jhbuild.modules
1682         (jhbuildConfigurationCheckFile): New function to check if MD5 sum file changes.
1683         (jhbuildConfigurationChanged): Add MD5 sum check for included files.
1684         (saveMd5File): New function to save MD5 sum of a file.
1685         (saveJhbuildMd5): Add saving included files MD5 sum.
1686         (deleteJhbuildMd5): Delete included files MD5 sum
1687         * gtk/install-dependencies: Add perl-libXML lib that is used to parse jhbuild file.
1688         * wpe/install-dependencies: Ditto.
1689
1690 2017-10-17  Tomas Popela  <tpopela@redhat.com>
1691
1692         Undefined WK_API_ENABLED warning when compiling COCOA content on WebKitGTK+
1693         https://bugs.webkit.org/show_bug.cgi?id=178208
1694
1695         Check whether we are on COCOA platform before checking for
1696         WK_API_ENABLED.
1697
1698         Reviewed by Ryosuke Niwa.
1699
1700         * WebKitTestRunner/TestController.cpp:
1701         (WTR::TestController::clearDOMCache):
1702
1703 2017-10-17  Keith Miller  <keith_miller@apple.com>
1704
1705         Change WebCore sources to work with unified source builds
1706         https://bugs.webkit.org/show_bug.cgi?id=178229
1707
1708         Rubber stamped by Tim Horton.
1709
1710         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1711
1712 2017-10-16  Christopher Reid  <chris.reid@sony.com>
1713
1714         [Win] Webkit should still be able to build when unable to check if libraries are up to date
1715         https://bugs.webkit.org/show_bug.cgi?id=178367
1716
1717         Adding a option to skip the check to see if windows libraries are up to date.
1718         This option is useful when testing modified libraries. This option also allows
1719         building webkit when GitHub blocks requests to verify the latest library version.
1720
1721
1722         Reviewed by Per Arne Vollan.
1723
1724         * Scripts/build-webkit:
1725
1726 2017-10-12  Matt Rajca  <mrajca@apple.com>
1727
1728         Add API support for quirk that lets an arbitrary click allow auto-play.
1729         https://bugs.webkit.org/show_bug.cgi?id=178227
1730
1731         Reviewed by Alex Christensen.
1732
1733         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1734         (TEST): Added API test.
1735
1736 2017-10-16  Maureen Daum  <mdaum@apple.com>
1737
1738         If an origin doesn't have databases in the Databases table we should still remove its information from disk in DatabaseTracker::deleteOrigin()
1739         https://bugs.webkit.org/show_bug.cgi?id=178281
1740         <rdar://problem/34576132>
1741
1742         Reviewed by Brent Fulgham.
1743
1744         Verify that if there is an entry in the Origins table but no entries in the Databases
1745         table that we still remove the directory for the origin, and that we remove the
1746         entry from the Origins table.
1747
1748         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
1749         (TestWebKitAPI::TEST):
1750
1751 2017-10-15  Ryosuke Niwa  <rniwa@webkit.org>
1752
1753         Cannot access images included in the content pasted from Microsoft Word
1754         https://bugs.webkit.org/show_bug.cgi?id=124391
1755         <rdar://problem/26862741>
1756
1757         Reviewed by Antti Koivisto.
1758
1759         Added tests for sanitizing HTML contents for copy & paste and drag & drop.
1760
1761         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1762         * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: Added.
1763         (readHTMLFromPasteboard): Added.
1764         (createWebViewWithCustomPasteboardDataEnabled): Added.
1765         (CopyHTML.Sanitizes): Added.
1766
1767         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
1768         (createWebViewWithCustomPasteboardDataEnabled): Added to enable more tests on bots.
1769
1770         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
1771         (writeRTFToPasteboard): Added.
1772         (createWebViewWithCustomPasteboardDataEnabled): Added.
1773         (createHelloWorldString): Added.
1774         (PasteRTF.ExposesHTMLTypeInDataTransfer): Added.
1775         (PasteRTFD.ExposesHTMLTypeInDataTransfer): Added.
1776         (PasteRTFD.ImageElementUsesBlobURLInHTML): Added.
1777
1778         * TestWebKitAPI/Tests/WebKitCocoa/copy-html.html: Added.
1779         * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html: Store the clipboardData contents for
1780         PasteRTF.ExposesHTMLTypeInDataTransfer and PasteRTFD.ExposesHTMLTypeInDataTransfer.
1781
1782         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1783         (DataInteractionTests.DataTransferSanitizeHTML):
1784
1785 2017-10-16  Youenn Fablet  <youenn@apple.com>
1786
1787         Activate Cache API by default
1788         https://bugs.webkit.org/show_bug.cgi?id=178186
1789
1790         Reviewed by Chris Dumez.
1791
1792         Removing explicit activation of cache api.
1793
1794         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1795         (WTR::InjectedBundle::beginTesting):
1796         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1797         (WTR::TestRunner::setCacheAPIEnabled): Deleted.
1798         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1799
1800 2017-10-16  Ross Kirsling  <ross.kirsling@sony.com>
1801
1802         run-webkit-tests help text should mention arguments too
1803         https://bugs.webkit.org/show_bug.cgi?id=178352
1804
1805         Reviewed by Tim Horton.
1806
1807         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1808         (parse_args):
1809
1810 2017-10-16  Maureen Daum  <mdaum@apple.com>
1811
1812         If we fail to delete any database file, don't remove its information from the tracker database
1813         <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
1814
1815         Reviewed by Brady Eidson.
1816
1817         Add tests that verify we correctly delete databases and remove their information from
1818         the tracker database, even if the database doesn't exist. Verify that if we fail to
1819         delete a database, we don't remove its information from the tracker database.
1820
1821         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1822         Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
1823         method for creating a temporary directory in the tests.
1824         * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
1825         The existing test was copied to DatabaseTrackerTest.mm.
1826         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
1827         (TestWebKitAPI::TEST):
1828         (TestWebKitAPI::addToDatabasesTable):
1829         (TestWebKitAPI::removeDirectoryAndAllContents):
1830         (TestWebKitAPI::createFileAtPath):
1831
1832 2017-10-16  Ryan Haddad  <ryanhaddad@apple.com>
1833
1834         Unreviewed, rolling out r223422.
1835
1836         These tests are for a change that was rolled out in r223420
1837
1838         Reverted changeset:
1839
1840         "If we fail to delete any database file, don't remove its
1841         information from the tracker database"
1842         https://bugs.webkit.org/show_bug.cgi?id=178251
1843         https://trac.webkit.org/changeset/223422
1844
1845 2017-10-16  Maureen Daum  <mdaum@apple.com>
1846
1847         If we fail to delete any database file, don't remove its information from the tracker database
1848         <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
1849
1850         Reviewed by Brady Eidson.
1851
1852         Add tests that verify we correctly delete databases and remove their information from
1853         the tracker database, even if the database doesn't exist. Verify that if we fail to
1854         delete a database, we don't remove its information from the tracker database.
1855
1856         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1857         Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
1858         method for creating a temporary directory in the tests.
1859         * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
1860         The existing test was copied to DatabaseTrackerTest.mm.
1861         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
1862         (TestWebKitAPI::TEST):
1863         (TestWebKitAPI::addToDatabasesTable):
1864         (TestWebKitAPI::removeDirectoryAndAllContents):
1865         (TestWebKitAPI::createFileAtPath):
1866
1867 2017-10-16  David Kilzer  <ddkilzer@apple.com>
1868
1869         Add RELEASE_ASSERT_WITH_SECURITY_IMPLICATION() macro
1870         <https://webkit.org/b/178269>
1871
1872         Reviewed by Alex Christensen.
1873
1874         * Scripts/webkitpy/style/checkers/cpp.py:
1875         (check_language): Add checker to warn about using
1876         ASSERT_WITH_SECURITY_IMPLICATION().
1877         (CppChecker.categories): Add 'security/assertion' to list of
1878         enabled checkers.
1879         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1880         (CppStyleTest.test_debug_security_assertion): Add tests for
1881         new checker.
1882
1883 2017-10-16  Chris Dumez  <cdumez@apple.com>
1884
1885         Clicks on Link with download attribute causes all (other) links to trigger download when clicked
1886         https://bugs.webkit.org/show_bug.cgi?id=178267
1887         <rdar://problem/34985016>
1888
1889         Reviewed by Darin Adler.
1890
1891         Use PassThrough policy in WKTR's InjectedBundle's decidePolicyForNewWindowAction so that the
1892         request is sent to the UIProcess. This gets WKTR's closer to Safari behavior and helps
1893         reproduce the bug. Without this change, I would not be able to write a regression test for
1894         this bug that is very easily reproducible in Safari.
1895
1896         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1897         (WTR::InjectedBundlePage::decidePolicyForNewWindowAction):
1898
1899 2017-10-16  Emilio Cobos Álvarez  <emilio@crisal.io>
1900
1901         Add Emilio Cobos Álvarez to the contributors list.
1902         https://bugs.webkit.org/show_bug.cgi?id=178334
1903
1904         Reviewed by Antti Koivisto.
1905
1906         * Scripts/webkitpy/common/config/contributors.json:
1907
1908 2017-10-07  Maciej Stachowiak  <mjs@apple.com>
1909
1910         Improve --help documentation and add --list-plans to show available benchmarks.
1911         https://bugs.webkit.org/show_bug.cgi?id=178059
1912
1913         Reviewed by Ryosuke Niwa.
1914
1915         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
1916         (BenchmarkRunner.available_plans): New function that returns the list of available plans.
1917         (BenchmarkRunner.plan_directory): New method to centralize knowledge of where the plan files live.
1918         (BenchmarkRunner._find_plan_file): Updated to use BenchmarkRunner.plan_directory
1919
1920         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
1921         
1922         (parse_args): Help cleanup: Reordered options to put more common
1923         ones at the top. Fixed wording. Added help for each
1924         option. Explained default for each option that has one.
1925
1926         New option: --list-plans which tells you the available benchmarks.
1927         
1928         Code cleanup: Removed use of dest where redundant, made variable
1929         names conforming to Python coding style.
1930         
1931         (run_benchmark_plan): Adapted for new variable names.
1932         (list_benchmark_plans): New helper for --list-plans option.
1933         (start): Account for --list-plans. Also use
1934         BechmarkRunner.available_plans and use
1935         BenchmarkRunner.plan_directory instead of duplicating
1936         code/knowledge here.
1937
1938 2017-10-16  Wenson Hsieh  <wenson_hsieh@apple.com>
1939
1940         On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
1941         https://bugs.webkit.org/show_bug.cgi?id=178301
1942         <rdar://problem/34990050>
1943
1944         Reviewed by Darin Adler.
1945
1946         Fixes issues in DumpRenderTree's LocalPasteboard to ensure that drag-drop-href-as-url.html exposes files, and
1947         also adds a new iOS drag and drop API test.
1948
1949         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
1950         (-[LocalPasteboard addTypes:owner:]):
1951         (-[LocalPasteboard setData:forType:]):
1952
1953         Fixes LocalPasteboard's implementation of changeCount to incremement when the pasteboard owner changes, rather
1954         than every time data is changed. This is consistent with NSPasteboard behavior.
1955
1956         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1957         (TestWebKitAPI::TEST):
1958
1959         Adds a new API test to verify that an image and HTTP URL written by the platform is correctly web exposed.
1960
1961 2017-10-15  Darin Adler  <darin@apple.com>
1962
1963         UTF-8 decoding produces one replacement character per byte; Encoding standard requires one replacement character per illegal sequence instead
1964         https://bugs.webkit.org/show_bug.cgi?id=178207
1965
1966         Reviewed by Sam Weinig.
1967
1968         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added test.
1969         * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Added.
1970         (TestWebKitAPI::decodeHexTestBytes): Decodes a string so we can write readable tests.
1971         (TestWebKitAPI::escapeNonPrintableASCIICharacters): Encodes a string so we can write readable tests.
1972         (TestWebKitAPI::TEST): Added some UTF-8 tests and UTF-8 invalid sequences tests.
1973         Would be smart to add more tests for other cases, exercising the fast ASCII loop for example, and
1974         other encodings.
1975
1976 2017-10-14  Adrian Perez de Castro  <aperez@igalia.com>
1977
1978         [WPE] JHBuild build directory DependenciesWPE/Build is not removed by update-webkit-libs-jhbuild
1979         https://bugs.webkit.org/show_bug.cgi?id=178212
1980
1981         Reviewed by Michael Catanzaro.
1982
1983         * Scripts/update-webkit-libs-jhbuild:
1984         (cleanJhbuild): The WPE JHBuild also uses a separate "Build" subdirectory, so do not skip
1985         cleaning it when "--wpe" is passed to the script.
1986
1987 2017-10-13  Adrian Perez de Castro  <aperez@igalia.com>
1988
1989         [WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
1990         https://bugs.webkit.org/show_bug.cgi?id=178283
1991
1992         Reviewed by Žan Doberšek.
1993
1994         * wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise
1995         compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.
1996
1997 2017-10-13  Youenn Fablet  <youenn@apple.com>
1998
1999         Implement listing origins for which CacheStorage is storing data
2000         https://bugs.webkit.org/show_bug.cgi?id=178236
2001
2002         Reviewed by Chris Dumez.
2003
2004         Adding hasDOMCache API for checking whether origin is storing data through Cache API.
2005
2006         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2007         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2008         (WTR::TestRunner::hasDOMCache):
2009         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2010         * WebKitTestRunner/TestController.cpp:
2011         (WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
2012         (WTR::fetchCacheOriginsCallback):
2013         (WTR::TestController::hasDOMCache):
2014         * WebKitTestRunner/TestController.h:
2015         * WebKitTestRunner/TestInvocation.cpp:
2016         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017
2018 2017-10-13  Alex Christensen  <achristensen@webkit.org>
2019
2020         Remove Editor::simplifyMarkup
2021         https://bugs.webkit.org/show_bug.cgi?id=178271
2022
2023         Reviewed by Wenson Hsieh.
2024
2025         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2026         * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
2027
2028 2017-10-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2029
2030         [GLib] WebKitNavigationAction should tell whether it is a redirect
2031         https://bugs.webkit.org/show_bug.cgi?id=178178
2032
2033         Test that WebKitNavigationAction properly reports being a redirect.
2034
2035         Reviewed by Carlos Garcia Campos.
2036
2037         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
2038         (testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
2039         (serverCallback): add a /redirect path to the server, which causes a redirect.
2040
2041 2017-10-13  Chris Dumez  <cdumez@apple.com>
2042
2043         Unreviewed, fix webkitpy failure after r223273
2044
2045         * Scripts/webkitpy/w3c/test_importer_unittest.py:
2046         (TestImporterTest.test_harnesslinks_conversion):
2047
2048 2017-10-12  Chris Dumez  <cdumez@apple.com>
2049
2050         import-w3c-tests modifies test sources and sometimes causes them to fail
2051         https://bugs.webkit.org/show_bug.cgi?id=178234
2052
2053         Reviewed by Ryosuke Niwa.
2054
2055         Update import-w3c-tests to stop rewriting tests as this is causing some tests
2056         to fail unexpectedly.
2057
2058         * Scripts/webkitpy/w3c/test_importer.py:
2059         (TestImporter.import_tests):
2060
2061 2017-10-12  Youenn Fablet  <youenn@apple.com>
2062
2063         Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
2064         https://bugs.webkit.org/show_bug.cgi?id=178200
2065
2066         Reviewed by Chris Dumez.
2067
2068         Making clearDOMCache wait for removal completion to exit.
2069         This removes the risk to interact with the cache while deleting it which will end up be racy in tests.
2070
2071         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2072         (WTR::TestRunner::clearDOMCache):
2073         * WebKitTestRunner/TestController.cpp:
2074         (WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
2075         (WTR::clearDOMCacheCallback):
2076         (WTR::TestController::clearDOMCache):
2077         * WebKitTestRunner/TestInvocation.cpp:
2078         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2079         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2080
2081 2017-10-12  John Wilander  <wilander@apple.com>
2082
2083         ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
2084         https://bugs.webkit.org/show_bug.cgi?id=175257
2085         <rdar://problem/33359866>
2086
2087         Reviewed by Brent Fulgham.
2088
2089         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2090         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2091         (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
2092         (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
2093         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2094         * WebKitTestRunner/TestController.cpp:
2095         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2096             Not implemented.
2097         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2098             Not implemented.
2099         * WebKitTestRunner/TestController.h:
2100         * WebKitTestRunner/TestInvocation.cpp:
2101         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2102         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2103         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2104             Implemented platform-specific.
2105         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2106             Implemented platform-specific.
2107
2108 2017-10-12  Andy Estes  <aestes@apple.com>
2109
2110         [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
2111         https://bugs.webkit.org/show_bug.cgi?id=178181
2112         <rdar://problem/33660282>
2113
2114         Reviewed by Dan Bernstein.
2115
2116         * WebKitTestRunner/TestController.cpp:
2117         (WTR::TestController::databaseProcessName):
2118
2119 2017-10-12  Myles C. Maxfield  <mmaxfield@apple.com>
2120
2121         Emit SPIR-V from WSL compiler (Part 1)
2122         https://bugs.webkit.org/show_bug.cgi?id=177998
2123
2124         Reviewed by Filip Pizlo.
2125
2126         This patch implements the first half of a SPIR-V codegen phase for WSL.
2127         This includes all the operations which aren't actually emitting the contents
2128         of functions themselves. For example, this includes things like representing
2129         WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
2130         future patch will actually emit the contents of functions.
2131
2132         There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
2133         types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
2134         input and output variables from a shader (and assigns location values to
2135         each one).
2136
2137         This patch is currently pursuing the "logical mode" detailed in
2138         https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
2139         array reference operation can be statically traced to the variable or array it
2140         is operating on.
2141
2142         This has the interesting property where accessing a pointer inside an array is
2143         forbidden, because the array index may be computed at runtime, so the compiler
2144         can't know at compile time which variable the pointer operation will be
2145         accessing. However, this isn't true for structs; the program must statically
2146         state which struct member it is accessing. Therefore, pointers or array
2147         references must not transitively appear within an array, but they may appear
2148         within a struct. The same logic applies to array references; those get lowered
2149         to just two indexes in SPIR-V (a lower bound and an upper bound).
2150
2151         So, outside of an array, SPIR-V types don't need to include any pointers because
2152         any operation with the pointer doesn't need access to the runtime value of the
2153         pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
2154         will never include any pointers.
2155
2156         This means that, for example, WSL can represent a linked list in logical mode.
2157         However, a WSL program cannot iterate across the list, because that would require
2158         assigning to a pointer. So instead, a program using a linked list could only say
2159         something like "list.ptr->ptr->ptr->value".
2160
2161         * WebGPUShadingLanguageRI/LateChecker.js:
2162         (LateChecker.prototype._checkShaderType):
2163         * WebGPUShadingLanguageRI/SPIR-V.js:
2164         (SPIRV.OperandChecker.prototype._isStar):
2165         (SPIRV.OperandChecker.prototype.nextComparisonType):
2166         (SPIRV.OperandChecker.prototype.finalize):
2167         (SPIRV.OperandChecker):
2168         * WebGPUShadingLanguageRI/SPIRV.html:
2169         * WebGPUShadingLanguageRI/SPIRVCodegen.js: Added.
2170         (findEntryPoints):
2171         (emitTypes.doEmitTypes):
2172         (emitTypes):
2173         (ConstantFinder.prototype.visitGenericLiteralType):
2174         (ConstantFinder):
2175         (generateSPIRV):
2176         * WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Added.
2177         (SPIRVTypeAnalyzer):
2178         (SPIRVTypeAnalyzer.prototype.get program):
2179         (SPIRVTypeAnalyzer.prototype.get typeMap):
2180         (SPIRVTypeAnalyzer.prototype.get currentId):
2181         (SPIRVTypeAnalyzer.prototype.get stack):
2182         (SPIRVTypeAnalyzer.prototype.visitTypeRef):
2183         (SPIRVTypeAnalyzer.prototype._encounterType):
2184         (SPIRVTypeAnalyzer.prototype.visitNullType):
2185         (SPIRVTypeAnalyzer.prototype.visitGenericLiteralType):
2186         (SPIRVTypeAnalyzer.prototype.visitNativeType):
2187         (SPIRVTypeAnalyzer.prototype.visitEnumType):
2188         (SPIRVTypeAnalyzer.prototype.visitPtrType):
2189         (SPIRVTypeAnalyzer.prototype.visitArrayRefType):
2190         (SPIRVTypeAnalyzer.prototype.visitArrayType):
2191         (SPIRVTypeAnalyzer.prototype.visitStructType):
2192         * WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Added.
2193         (SPIRVPrimitiveVariableAnalyzer):
2194         (SPIRVPrimitiveVariableAnalyzer.prototype.get program):
2195         (SPIRVPrimitiveVariableAnalyzer.prototype.get typeMap):
2196         (SPIRVPrimitiveVariableAnalyzer.prototype.get currentId):
2197         (SPIRVPrimitiveVariableAnalyzer.prototype.get currentLocation):
2198         (SPIRVPrimitiveVariableAnalyzer.prototype.get nameComponents):
2199         (SPIRVPrimitiveVariableAnalyzer.prototype.get result):
2200         (SPIRVPrimitiveVariableAnalyzer.prototype.visitTypeRef):
2201         (SPIRVPrimitiveVariableAnalyzer.prototype.visitNullType):
2202         (SPIRVPrimitiveVariableAnalyzer.prototype.visitGenericLiteralType):
2203         (SPIRVPrimitiveVariableAnalyzer.prototype.visitNativeType):
2204         (SPIRVPrimitiveVariableAnalyzer.prototype.visitEnumType):
2205         (SPIRVPrimitiveVariableAnalyzer.prototype.visitPtrType):
2206         (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayRefType):
2207         (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayType):
2208         (SPIRVPrimitiveVariableAnalyzer.prototype.visitStructType):
2209         * WebGPUShadingLanguageRI/WSL.md:
2210         * WebGPUShadingLanguageRI/index.html:
2211
2212 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
2213
2214         Enable gigacage on iOS
2215         https://bugs.webkit.org/show_bug.cgi?id=177586
2216
2217         Reviewed by JF Bastien.
2218         
2219         Add a mode to test disabling Gigacage.
2220
2221         * Scripts/run-jsc-stress-tests:
2222         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2223
2224 2017-10-11  Sam Weinig  <sam@webkit.org>
2225
2226         Remove out-parameter variants of copyToVector
2227         https://bugs.webkit.org/show_bug.cgi?id=178155
2228
2229         Reviewed by Tim Horton.
2230
2231         * DumpRenderTree/JavaScriptThreading.cpp:
2232         (stopJavaScriptThreads):
2233
2234 2017-10-12  Sam Weinig  <sam@webkit.org>
2235
2236         It should be possible to iterate just the values (and not the counts) of a HashCountedSet
2237         https://bugs.webkit.org/show_bug.cgi?id=178169
2238
2239         Reviewed by Daniel Bates.
2240
2241         * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
2242         (TestWebKitAPI::TEST):
2243         Add test for HashCountedSet's new values() range.
2244
2245 2017-10-11  Frederic Wang  <fwang@igalia.com>
2246
2247         run-safari --ios-simulator is no longer working with Xcode 9
2248         https://bugs.webkit.org/show_bug.cgi?id=177595
2249
2250         Reviewed by Daniel Bates.
2251
2252         In Xcode 9, the path of the simulator application is now in a new CoreSimulator subdirectory
2253         of the iphoneOS SDK platform. This patch updates webkitdirs.pm to use the new path in
2254         Xcode 9 or higher so that it is possible to run Safari on the iOS simulator again. It also
2255         does some minor code refactoring to improve code reuse.
2256
2257         * Scripts/configure-xcode-for-ios-development: Move sdkDirectory() and sdkPlatformDirectory()
2258         into webkitdirs.
2259         (sdkDirectory): Deleted.
2260         (sdkPlatformDirectory): Deleted.
2261         * Scripts/webkitdirs.pm: Expose new sdkDirectory() and sdkPlatformDirectory().
2262         (sdkDirectory): Moved from configure-xcode-for-ios-development.
2263         (sdkPlatformDirectory): Ditto.
2264         (XcodeSDKPath): Rely on sdkDirectory() to implement this function.
2265         (iosSimulatorApplicationsPath): In Xcode 9 or higher use the new path. It is calculated
2266         by relying on sdkPlatformDirectory().
2267
2268 2017-10-11  Dewei Zhu  <dewei_zhu@apple.com>
2269
2270         run-benchmark script should set '__XPC_DYLD_FRAMEWORK_PATH' while launching local-built Safari on Mac.
2271         https://bugs.webkit.org/show_bug.cgi?id=178199
2272
2273         Reviewed by Saam Barati.
2274
2275         '__XPC_DYLD_FRAMEWORK_PATH' should be set while launching Safari on run-benchmark script.
2276         'force_remove' function should support both file and directory.
2277
2278         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
2279         (OSXSafariDriver.launch_url):
2280         * Scripts/webkitpy/benchmark_runner/utils.py:
2281         (force_remove):
2282
2283 2017-10-11  Saam Barati  <sbarati@apple.com>
2284
2285         Runtime disable poly proto because it may be a 3-4% Speedometer regression
2286         https://bugs.webkit.org/show_bug.cgi?id=178192
2287
2288         Reviewed by JF Bastien.
2289
2290         * Scripts/run-jsc-stress-tests:
2291
2292 2017-10-11  Youenn Fablet  <youenn@apple.com>
2293
2294         Add API to clean CacheStorage data
2295         https://bugs.webkit.org/show_bug.cgi?id=178034
2296
2297         Reviewed by Chris Dumez.
2298
2299         Adding internals API to trigger deleting all or origin-persistent cache storage persistent data. 
2300
2301         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2302         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2303         (WTR::TestRunner::clearDOMCache):
2304         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2305         * WebKitTestRunner/TestController.cpp:
2306         (WTR::TestController::clearDOMCache):
2307         * WebKitTestRunner/TestController.h:
2308         * WebKitTestRunner/TestInvocation.cpp:
2309         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2310
2311 2017-10-11  Chris Dumez  <cdumez@apple.com>
2312
2313         [Geolocation] Expose Coordinates.floorLevel
2314         https://bugs.webkit.org/show_bug.cgi?id=178173
2315         <rdar://problem/34918936>
2316
2317         Reviewed by Ryosuke Niwa.
2318
2319         Add test infrastructure for testing Coordinates.floorLevel.
2320
2321         * DumpRenderTree/TestRunner.cpp:
2322         (setMockGeolocationPositionCallback):
2323         * DumpRenderTree/TestRunner.h:
2324         * DumpRenderTree/mac/TestRunnerMac.mm:
2325         (TestRunner::setMockGeolocationPosition):
2326         * DumpRenderTree/win/TestRunnerWin.cpp:
2327         (TestRunner::setMockGeolocationPosition):
2328         * WebKitTestRunner/GeolocationProviderMock.cpp:
2329         (WTR::GeolocationProviderMock::setPosition):
2330         * WebKitTestRunner/GeolocationProviderMock.h:
2331         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2332         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2333         (WTR::InjectedBundle::setMockGeolocationPosition):
2334         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2335         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2336         (WTR::TestRunner::setMockGeolocationPosition):
2337         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2338         * WebKitTestRunner/TestController.cpp:
2339         (WTR::TestController::setMockGeolocationPosition):
2340         * WebKitTestRunner/TestController.h:
2341         * WebKitTestRunner/TestInvocation.cpp:
2342         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2343
2344 2017-10-11  Youenn Fablet  <youenn@apple.com>
2345
2346         Bump default cache storage quota to 20MB
2347         https://bugs.webkit.org/show_bug.cgi?id=178132
2348
2349         Reviewed by Alex Christensen.
2350
2351         * WebKitTestRunner/TestController.cpp:
2352         (WTR::TestController::generateContextConfiguration const):
2353         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2354         (WTR::initializeWebViewConfiguration): Setting quota to 400kb
2355
2356 2017-10-11  Commit Queue  <commit-queue@webkit.org>
2357
2358         Unreviewed, rolling out r223113 and r223121.
2359         https://bugs.webkit.org/show_bug.cgi?id=178182
2360
2361         Reintroduced 20% regression on Kraken (Requested by rniwa on
2362         #webkit).
2363
2364         Reverted changesets:
2365
2366         "Enable gigacage on iOS"
2367         https://bugs.webkit.org/show_bug.cgi?id=177586
2368         https://trac.webkit.org/changeset/223113
2369
2370         "Use one virtual allocation for all gigacages and their
2371         runways"
2372         https://bugs.webkit.org/show_bug.cgi?id=178050
2373         https://trac.webkit.org/changeset/223121
2374
2375 2017-10-11  Ryosuke Niwa  <rniwa@webkit.org>
2376
2377         Sanitize URL in pasteboard for other applications and cross origin content
2378         https://bugs.webkit.org/show_bug.cgi?id=178060
2379         <rdar://problem/34874518>
2380
2381         Reviewed by Wenson Hsieh.
2382
2383         Added API tests for sanitizing URLs copied from web content, and that the original URL is exposed to the web content.
2384
2385         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2386         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: Added.
2387         (readURLFromPasteboard): A helper function.
2388         * TestWebKitAPI/Tests/WebKitCocoa/copy-url.html: Added.
2389         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2390         (DataInteractionTests.DataTransferGetDataWhenDroppingCustomData): Rebaselined. https://www.apple.com is no longer
2391         normalized to https://www.apple.com/ by NSURL / UIPasteboard as expected.
2392         (DataInteractionTests.DataTransferSetDataValidURL): Added.
2393         (DataInteractionTests.DataTransferSetDataUnescapedURL): Added.
2394         (DataInteractionTests.qDataTransferSetDataInvalidURL): Added.
2395
2396 2017-10-11  Chris Dumez  <cdumez@apple.com>
2397
2398         Modernize Geolocation code
2399         https://bugs.webkit.org/show_bug.cgi?id=178148
2400
2401         Reviewed by Ryosuke Niwa.
2402
2403         * DumpRenderTree/mac/TestRunnerMac.mm:
2404         (TestRunner::setMockGeolocationPosition):
2405
2406 2017-10-11  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
2407
2408         [GStreamer] Many media source tests crashing with GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0' failed in gst_qtdemux_configure_stream()
2409         https://bugs.webkit.org/show_bug.cgi?id=176804
2410
2411         Reviewed by Michael Catanzaro.
2412
2413         Add patch to fix assert in qtdemux.
2414
2415         * gstreamer/jhbuild.modules:
2416         * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added.
2417
2418 2017-10-11  Tomas Popela  <tpopela@redhat.com>
2419
2420         Use https for trac changeset and browser links
2421         https://bugs.webkit.org/show_bug.cgi?id=178167
2422
2423         Reviewed by Alexey Proskuryakov.
2424
2425         Switch the http://trac.webkit.org/changeset and
2426         http://trac.webkit.org/browser links that are printed by webkitpy to
2427         https. Also update the test expectations.
2428
2429         * Scripts/webkitpy/common/checkout/checkout_unittest.py:
2430         * Scripts/webkitpy/common/config/committervalidator_unittest.py:
2431         (CommitterValidatorTest.test_flag_permission_rejection_message):
2432         * Scripts/webkitpy/common/config/urls.py:
2433         (view_source_url):
2434         (view_revision_url):
2435         * Scripts/webkitpy/common/net/bugzilla/bug_unittest.py:
2436         (BugTest.test_commit_revision):
2437         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
2438         * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
2439         * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
2440         (MainTest):
2441         (MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
2442         * Scripts/webkitpy/style/checkers/changelog_unittest.py:
2443         (ChangeLogCheckerTest.test_missing_bug_number):
2444         * Scripts/webkitpy/tool/bot/feeders_unittest.py:
2445         * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
2446         * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
2447         (IRCBotTest.test_rollout):
2448         (IRCBotTest.test_revert):
2449         (IRCBotTest.test_multi_rollout):
2450         (IRCBotTest.test_rollout_with_r_in_svn_revision):
2451         (IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
2452         (IRCBotTest.test_rollout_invalidate_reason):
2453         (test_multi_rollout_invalidate_reason):
2454         * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
2455         * Scripts/webkitpy/tool/commands/download_unittest.py:
2456         * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
2457         * Scripts/webkitpy/tool/commands/queues_unittest.py:
2458         * Scripts/webkitpy/tool/commands/suggestnominations.py:
2459         (SuggestNominations._count_commit):
2460         * Scripts/webkitpy/tool/commands/upload_unittest.py:
2461         * Scripts/webkitpy/tool/servers/data/rebaselineserver/util.js:
2462         (getTracUrl):
2463         (getSortedKeys):
2464         * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
2465         (CloseBugForLandDiffTest.test_empty_state):
2466         * Scripts/webkitpy/tool/steps/commit_unittest.py:
2467         (CommitTest._test_check_test_expectations):
2468         * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
2469         (UpdateChangeLogsForRevertTest):
2470
2471 2017-10-10  Ryosuke Niwa  <rniwa@webkit.org>
2472
2473         Enable custom pasteboard data in DumpRenderTree and WebKitTestRunner
2474         https://bugs.webkit.org/show_bug.cgi?id=178154
2475
2476         Reviewed by Wenson Hsieh.
2477
2478         Fixed the bug that LocalPasteboard would fail to load the promise type if data is set after declaring types
2479         by delaying the call to provideDataForType until when dataForType is called.
2480
2481         Without this fix, fast/events/dropzone-002.html would start failing after enabling custom pasteboard data.
2482         With this fix, fast/events/dropzone-005.html also starts passing.
2483
2484         * DumpRenderTree/mac/DumpRenderTree.mm:
2485         (resetWebPreferencesToConsistentValues):
2486         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2487         (-[LocalPasteboard addTypes:owner:]):
2488         (-[LocalPasteboard dataForType:]):
2489         * WebKitTestRunner/TestController.cpp:
2490         (WTR::TestController::resetPreferencesToConsistentValues):
2491
2492 2017-10-10  Joanmarie Diggs  <jdiggs@igalia.com>
2493
2494         AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM
2495         https://bugs.webkit.org/show_bug.cgi?id=178137
2496
2497         Reviewed by Chris Fleizach.
2498
2499         Add handling for ATK_ROLE_LANDMARK resulting from the ARIA form role.
2500
2501         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2502
2503 2017-10-10  Jonathan Bedard  <jbedard@apple.com>
2504
2505         run-webkit-tests: upload test results to multiple servers
2506         https://bugs.webkit.org/show_bug.cgi?id=178012
2507         <rdar://problem/34856501>
2508
2509         Reviewed by Lucas Forschler.
2510
2511         Allowing uploading of results to multiple servers makes developing new results
2512         databases much easier, and does not complicate uploading logic.
2513
2514         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2515         (Manager.upload_results): Iterate through the list of results server hosts and
2516         send results to each one.
2517         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
2518         (JSONLayoutResultsGenerator.__init__): Accept a list of test results servers.
2519         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
2520         (JSONResultsGenerator.__init__): Accept a list of test results servers.
2521         (JSONResultsGenerator.get_json): Pick which server to download from by index.
2522         (JSONResultsGenerator.upload_json_files): Upload the JSON to each results server.
2523         (JSONResultsGenerator._get_archived_json_results): Pick which server to download from.
2524         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2525         (parse_args): Allow multiple test-results-servers and results-server-hosts to be
2526         passed to run-webkit-tests. 
2527
2528 2017-10-09  Youenn Fablet  <youenn@apple.com>
2529
2530         Vector should be able to easily create from a list of movable only items
2531         https://bugs.webkit.org/show_bug.cgi?id=176432
2532
2533         Reviewed by Darin Adler.
2534
2535         * TestWebKitAPI/Tests/WTF/Vector.cpp:
2536         (TestWebKitAPI::TEST):
2537
2538 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
2539
2540         Enable gigacage on iOS
2541         https://bugs.webkit.org/show_bug.cgi?id=177586
2542
2543         Reviewed by JF Bastien.
2544         
2545         Add a mode to test disabling Gigacage.
2546
2547         * Scripts/run-jsc-stress-tests:
2548         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2549
2550 2017-10-09  Commit Queue  <commit-queue@webkit.org>
2551
2552         Unreviewed, rolling out r223015 and r223025.
2553         https://bugs.webkit.org/show_bug.cgi?id=178093
2554
2555         Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
2556         #webkit).
2557
2558         Reverted changesets:
2559
2560         "Enable gigacage on iOS"
2561         https://bugs.webkit.org/show_bug.cgi?id=177586
2562         http://trac.webkit.org/changeset/223015
2563
2564         "Unreviewed, disable Gigacage on ARM64 Linux"
2565         https://bugs.webkit.org/show_bug.cgi?id=177586
2566         http://trac.webkit.org/changeset/223025
2567
2568 2017-10-09  Sam Weinig  <sam@webkit.org>
2569
2570         Make HashMap::keys() and HashMap::values() work with WTF::map/WTF::copyToVector
2571         https://bugs.webkit.org/show_bug.cgi?id=178072
2572
2573         Reviewed by Darin Adler.
2574
2575         * TestWebKitAPI/Tests/WTF/Vector.cpp:
2576         (TestWebKitAPI::TEST):
2577         
2578             Add tests for HashMap::keys() and HashMap::values() working with copyToVector.
2579
2580 2017-10-05  Frederic Wang  <fwang@igalia.com>
2581
2582         Remove WOFF2 from Source/ThirdParty.
2583         https://bugs.webkit.org/show_bug.cgi?id=177862
2584
2585         Reviewed by Michael Catanzaro.
2586
2587         * Scripts/webkitpy/style/checker.py: Remove woff2.
2588         * gtk/jhbuild.modules: Add new jhbuild module for woff2.
2589
2590 2017-10-08  Sam Weinig  <sam@webkit.org>
2591
2592         It should be possible to create a ListHashSet with a std::initializer_list.
2593         https://bugs.webkit.org/show_bug.cgi?id=178070
2594
2595         Reviewed by Darin Adler.
2596
2597         * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
2598         (TestWebKitAPI::TEST):
2599         Add a test for using std::initializer_list with ListHashSet.
2600
2601 2017-10-08  Sam Weinig  <sam@webkit.org>
2602
2603         There should be a version of copyToVector that returns a Vector, rather than using an out parameter
2604         https://bugs.webkit.org/show_bug.cgi?id=177732
2605
2606         Reviewed by Saam Barati.
2607
2608         * TestWebKitAPI/Tests/WTF/Vector.cpp:
2609         (TestWebKitAPI::TEST):
2610         Add tests for the new copyToVector and copyToVectorOf functions.
2611
2612 2017-10-08  Darin Adler  <darin@apple.com>
2613
2614         Fix bugs related to setting reflected floating point DOM attributes
2615         https://bugs.webkit.org/show_bug.cgi?id=178061
2616
2617         Reviewed by Sam Weinig.
2618
2619         * TestWebKitAPI/Tests/WTF/AtomicString.cpp: Added a test of the
2620         AtomicString::number function, based on the test cases we already
2621         had for String::numberToStringECMAScript, and with some additional
2622         cases with powers of 10 that check handling of trailng zeroes.
2623
2624         * TestWebKitAPI/Tests/WTF/WTFString.cpp: Added test cases to the
2625         existing tests of the String::numberToStringECMAScript function
2626         as above. Also added tests for String::number and for
2627         String::numberToStringFixedWidth. Also changed the tests to all use
2628         EXPECT instead of ASSERT macros since these are all non-fatal.
2629
2630         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2631         (WTR::dumpFrameScrollPosition): Use StringBuilder::appendECMAScriptNumber
2632         instead of String::number.
2633
2634 2017-10-08  Dean Jackson  <dino@apple.com>
2635
2636         Make sort-Xcode-project file handle UnifiedSources
2637         https://bugs.webkit.org/show_bug.cgi?id=178042
2638
2639         Reviewed by Sam Weinig.
2640
2641         Sort the UnifiedSource(\d+) files by number rather
2642         than alphabetically.
2643
2644         * Scripts/sort-Xcode-project-file:
2645         (sortChildrenByFileName):
2646         (sortFilesByFileName):
2647
2648 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
2649
2650         Enable gigacage on iOS
2651         https://bugs.webkit.org/show_bug.cgi?id=177586
2652
2653         Reviewed by JF Bastien.
2654         
2655         Add a mode to test disabling Gigacage.
2656
2657         * Scripts/run-jsc-stress-tests:
2658         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2659
2660 2017-10-06  Aishwarya Nirmal  <anirmal@apple.com>
2661
2662         [iOS] Respect the "caret-color" CSS property when editing
2663         https://bugs.webkit.org/show_bug.cgi?id=177489
2664         <rdar://problem/34600419>
2665
2666         Reviewed by Tim Horton.
2667
2668         Adds test for iOS caret color support.
2669
2670         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
2671         (TestWebKitAPI::TEST):
2672         * TestWebKitAPI/ios/UIKitSPI.h:
2673
2674 2017-10-06  Alex Christensen  <achristensen@webkit.org>
2675
2676         Add more infrastructure to apply custom header fields to same-origin requests
2677         https://bugs.webkit.org/show_bug.cgi?id=177629
2678
2679         Reviewed by Ryosuke Niwa.
2680
2681         * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
2682         (canonicalizeHTTPHeader):
2683         (shouldRemainUnchanged):
2684         (shouldBeInvalid):
2685         (shouldBecome):
2686         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2687         (TEST):
2688         (expectHeaders):
2689         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
2690         (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
2691         (-[CustomHeaderFieldsDelegate webView:stopURLSchemeTask:]):
2692
2693         Test main resource requests, subresource requests, and cross-origin requests.
2694
2695 2017-10-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2696
2697         [iOS] Tweak support for classifying form controls (followup to r222487)
2698         https://bugs.webkit.org/show_bug.cgi?id=177917
2699         <rdar://problem/34820122>
2700
2701         Reviewed by Dean Jackson.
2702
2703         Minor cleanup around autofill API tests added in r222487. Additionally, augments some of these API tests to
2704         verify that after blurring the focused element, the content view no longer accepts autofill credentials (see
2705         WebKit ChangeLog for more details). Also augments tests to verify that the URL in the autofill context matches
2706         the document URL.
2707
2708         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
2709
2710         Remove the USE(APPLE_INTERNAL_SDK) guard for these API tests.
2711
2712         (newUIKeyboardLoginCredentialsSuggestion):
2713
2714         Add a stub implementation of UIKeyboardLoginCredentialsSuggestion. This allows
2715         [UIKeyboardLoginCredentialsSuggestion new] to return a nonnull object, which allows these API tests to verify
2716         that the credential filling codepath works as intended without any additional UIKit changes. Currently, tests
2717         for the value of username and password fields are passing even though the fields are not being populated because
2718         the expected string values are null, and the observed value is an empty string. We instead check the literal
2719         string values here instead of credentialSuggestion's properties, so that tests verifying the behavior of
2720         -insertTextSuggestion: will require username and password inputs to be populated.
2721
2722         (-[TestInputDelegate _webView:focusShouldStartInputSession:]):
2723         (-[AutofillTestView initWithFrame:]):
2724         (-[AutofillTestView _autofillInputView]):
2725         (-[AutofillTestView textInputHasAutofillContext]):
2726         (TestWebKitAPI::TEST):
2727
2728         Add an additional API test to verify that programmatic focus without user interaction (and also without testing
2729         overrides) does not activate autofill.
2730
2731         (createUIKeyboardLoginCredentialsSuggestion): Deleted.
2732         (-[WKWebView _privateTextInput]): Deleted.
2733         * TestWebKitAPI/ios/UIKitSPI.h:
2734
2735         Minor gardening to remove iOS version >= 11 guards that are now unnecessary. Additionally, add some more private
2736         header imports (with corresponding interface definitions for building and running with the public SDK).
2737
2738 2017-10-06  Antti Koivisto  <antti@apple.com>
2739
2740         Minor WeakPtr improvements
2741         https://bugs.webkit.org/show_bug.cgi?id=177958
2742
2743         Reviewed by Sam Weinig.
2744
2745         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2746         (TestWebKitAPI::TEST):
2747         (TestWebKitAPI::Base::createWeakPtr): Deleted.
2748
2749 2017-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2750
2751         Unreviewed. Fix parsing of GTK unit tests output in bot configuration.
2752
2753         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2754         (RunGtkAPITests.commandComplete): Remove trailing ':' from the regular expression.
2755
2756 2017-10-06  Charles Turner  <cturner@igalia.com>
2757
2758         Disable bmalloc when running Valgrind
2759         https://bugs.webkit.org/show_bug.cgi?id=177923
2760
2761         Reviewed by Carlos Alberto Lopez Perez.
2762
2763         * Scripts/webkitpy/port/gtk.py:
2764         (GtkPort.setup_environ_for_server):
2765
2766 2017-10-06  Zan Dobersek  <zdobersek@igalia.com>
2767
2768         Implement TestController::platformContext() for WPE, returning the
2769         m_context pointer as the GTK+ port does. This fixes the crashes on
2770         the WPE testers.
2771
2772         Rubber-stamped by Carlos Garcia Campos.
2773
2774         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2775         (WTR::TestController::platformContext):
2776
2777 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2778
2779         [GTK][WPE] Add API to configure and enable resource load statistics
2780         https://bugs.webkit.org/show_bug.cgi?id=177943
2781
2782         Reviewed by Michael Catanzaro.
2783
2784         Add a command line option to enable intelligent tracking prevention to MiniBrowser and tests cases to check the
2785         new API.
2786
2787         * MiniBrowser/gtk/main.c:
2788         (main):
2789         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
2790         (serverCallback):
2791         (testWebsiteDataConfiguration):
2792         (testWebsiteDataEphemeral):
2793         (testWebsiteDataResourceLoadStats):
2794         (beforeAll):
2795         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
2796         (Test::Test):
2797         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
2798         (directoryChangedCallback):
2799         (WebViewTest::waitUntilFileExists):
2800         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2801
2802 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2803
2804         [GTK][WPE] All resource load statistics tests added in r212183 crash in GTK bots, timeout in GTK and WPE bots since r219049
2805         https://bugs.webkit.org/show_bug.cgi?id=168171
2806
2807         Reviewed by Chris Dumez.
2808
2809         Implement all resource load statistics functions in TestController using the C API. Also enable the FileMonitor
2810         unit test. This test requires a platform implementation of Util::run(), so I've added UtilitiesGLib.cpp with an
2811         iplementation common to glib based ports using WTF RunLoop abstraction.
2812
2813         * TestWebKitAPI/PlatformGTK.cmake:
2814         * TestWebKitAPI/PlatformWPE.cmake:
2815         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
2816         * TestWebKitAPI/glib/UtilitiesGLib.cpp: Copied from Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h.
2817         (TestWebKitAPI::Util::run):
2818         (TestWebKitAPI::Util::spinRunLoop):
2819         (TestWebKitAPI::Util::sleep):
2820         * TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
2821         * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
2822         * WebKitTestRunner/TestController.cpp:
2823         (WTR::TestController::platformAdjustContext):
2824         (WTR::TestController::setStatisticsLastSeen):
2825         (WTR::TestController::setStatisticsPrevalentResource):
2826         (WTR::ResourceStatisticsCallbackContext::ResourceStatisticsCallbackContext):
2827         (WTR::resourceStatisticsCallback):
2828         (WTR::TestController::isStatisticsPrevalentResource):
2829         (WTR::TestController::setStatisticsHasHadUserInteraction):
2830         (WTR::TestController::isStatisticsHasHadUserInteraction):
2831         (WTR::TestController::setStatisticsGrandfathered):
2832         (WTR::TestController::isStatisticsGrandfathered):
2833         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
2834         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
2835         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
2836         (WTR::TestController::setStatisticsTimeToLiveUserInteraction):
2837         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
2838         (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
2839         (WTR::TestController::statisticsUpdateCookiePartitioning):
2840         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
2841         (WTR::TestController::statisticsSubmitTelemetry):
2842         (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
2843         (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
2844         (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
2845         (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
2846         (WTR::TestController::setStatisticsGrandfatheringTime):
2847         (WTR::TestController::setStatisticsMaxStatisticsEntries):
2848         (WTR::TestController::setStatisticsPruneEntriesDownTo):
2849         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
2850         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
2851         (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
2852         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
2853         (WTR::TestController::statisticsResetToConsistentState):
2854         * WebKitTestRunner/TestController.h:
2855
2856 2017-10-05  Jer Noble  <jer.noble@apple.com>
2857
2858         [Cocoa] Enable ENABLE_ENCRYPTED_MEDIA build-time setting
2859         https://bugs.webkit.org/show_bug.cgi?id=177261
2860
2861         Reviewed by Eric Carlson.
2862
2863         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2864
2865 2017-10-05  Alex Christensen  <achristensen@webkit.org>
2866
2867         Add ObjC equivalent of WKPageNavigationClient.didChangeBackForwardList
2868         https://bugs.webkit.org/show_bug.cgi?id=177966
2869         <rdar://problem/22387135>
2870
2871         Reviewed by Tim Horton.
2872
2873         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
2874         (-[ListItemDelegate _webView:backForwardListItemAdded:removed:]):
2875         (-[ListItemDelegate webView:didFinishNavigation:]):
2876         (TEST):
2877
2878 2017-10-04  Megan Gardner  <megan_gardner@apple.com>
2879
2880         check-webkit-style erroneously requires a space between the carrot and brace in obj-c blocks.
2881         https://bugs.webkit.org/show_bug.cgi?id=177897
2882
2883         Reviewed by Dan Bernstein and Jonathan Bedard.
2884
2885         Remove the check for a space between ^ and {, 
2886         as this is valid and expected Obj-C. Now check to make sure there is
2887         no space at all between ^ and {, and also that there is a space between
2888         the end of an argument list and the {.
2889
2890         * Scripts/webkitpy/style/checkers/cpp.py:
2891         (regex_for_lambdas_and_blocks):
2892
2893 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2894
2895         Unreviewed. Run WebKit2 C API tests in GTK+ bots again after the last WebKit2 -> WebKit rename.
2896
2897         * Scripts/run-gtk-tests:
2898         (TestRunner):
2899         (TestRunner._run_test):
2900
2901 2017-10-05  Darin Adler  <darin@apple.com>
2902
2903         Remove additional WebKitSystemInterface remnants
2904         https://bugs.webkit.org/show_bug.cgi?id=177948
2905
2906         Reviewed by Andy Estes.
2907
2908         * DumpRenderTree/PlatformMac.cmake: Removed code to link the
2909         WebKitSystemInterface library. Left in code that points to
2910         the WebKitLibraries directory, but maybe that can be removed by
2911         someone who is more certain it's no longer needed.
2912
2913         * Scripts/copy-webkitlibraries-to-product-directory: Removed code
2914         to copy and delete WebKitSystemInterface libraries and headers.
2915
2916         * WebKitTestRunner/PlatformMac.cmake: Removed code to link the
2917         WebKitSystemInterface library. Left in code that points to
2918         the WebKitLibraries directory, but maybe that can be removed by
2919         someone who is more certain it's no longer needed.
2920
2921 2017-10-05  Saam Barati  <sbarati@apple.com>
2922
2923         Unreviewed. Try to make debug type profiler tests stop timing out.
2924
2925         * Scripts/run-jsc-stress-tests:
2926
2927 2017-10-03  Frederic Wang  <fwang@igalia.com>
2928
2929         Remove Brotli from Source/ThirdParty
2930         https://bugs.webkit.org/show_bug.cgi?id=177804
2931
2932         Reviewed by Michael Catanzaro.
2933
2934         * gtk/jhbuild.modules: Build brotli 1.0.1 from the official github repository.
2935         * Scripts/webkitpy/style/checker.py: Remove brotli.
2936
2937 2017-10-04  Alex Christensen  <achristensen@webkit.org>
2938
2939         Stop linking with WebKitSystemInterface
2940         https://bugs.webkit.org/show_bug.cgi?id=177915
2941
2942         Reviewed by Antti Koivisto.
2943
2944         * DumpRenderTree/mac/Configurations/Base.xcconfig:
2945         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
2946         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
2947         * DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
2948         * WebKitTestRunner/Configurations/Base.xcconfig:
2949         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
2950         * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
2951         * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
2952         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
2953
2954 2017-10-04  Alex Christensen  <achristensen@webkit.org>
2955
2956         Remove unnecessary includes of WebKitSystemInterface on Cocoa platforms
2957         https://bugs.webkit.org/show_bug.cgi?id=177912
2958
2959         Reviewed by Saam Barati.
2960
2961         * DumpRenderTree/mac/DumpRenderTree.mm:
2962
2963 2017-10-04  Megan Gardner  <megan_gardner@apple.com>
2964
2965         Break out new touch debugging code into seperate file
2966         https://bugs.webkit.org/show_bug.cgi?id=177796
2967
2968         Reviewed by Simon Fraser.
2969
2970         Encapsulate the new debug touch code into it's own file.
2971         This allows for cleaner code and a better way to show the touches
2972         in a completely separate window, which should also be in screen
2973         coordinates, and not subject to any transforms that get put on the
2974         WebViews.
2975
2976         * TestRunnerShared/spi/UIKitTestSPI.h:
2977         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2978         * WebKitTestRunner/ios/HIDDebugTouchWindow.h: Added.
2979         * WebKitTestRunner/ios/HIDDebugTouchWindow.mm: Added.
2980         (+[HIDDebugTouchWindow sharedHIDDebugTouchWindow]):
2981         (-[HIDDebugTouchWindow init]):
2982         (-[HIDDebugTouchWindow dealloc]):
2983         (-[HIDDebugTouchWindow updateDebugIndicatorForTouch:withPointInWindowCoordinates:isTouching:]):
2984         (-[HIDDebugTouchWindow initDebugViewsIfNeeded]):
2985         * WebKitTestRunner/ios/HIDEventGenerator.h:
2986         * WebKitTestRunner/ios/HIDEventGenerator.mm:
2987         (-[HIDEventGenerator init]):
2988         (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
2989         (-[HIDEventGenerator _createIOHIDEventType:]):
2990         (-[HIDEventGenerator _updateTouchPoints:count:]):
2991         (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
2992         (-[HIDEventGenerator touchDown:touchCount:]):
2993         (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
2994         (-[HIDEventGenerator liftUp:touchCount:]):
2995         (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
2996         (-[HIDEventGenerator initDebugViewsIfNeeded]): Deleted.
2997         (-[HIDEventGenerator updateDebugIndicatorForTouch:withPoint:isTouching:]): Deleted.
2998         * WebKitTestRunner/ios/TestControllerIOS.mm:
2999         (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
3000
3001 2017-10-04  JF Bastien  <jfbastien@apple.com>
3002
3003         WTF: Update std::expected to match current proposal
3004         https://bugs.webkit.org/show_bug.cgi?id=177881
3005
3006         Reviewed by Mark Lam.
3007
3008         The proposal is likely to be in C++20 and I've been asked to help co-champion
3009         it. I'm therefore updating our implementation to more closely match the current
3010         proposal, and to make sure it'll work for us if standardized.
3011
3012          - Rename UnexpectedType to Unexpected to match the proposal.
3013          - Remove relational operators, only equality / inequality remains.
3014          - Fix minor type signatures.
3015          - Add UnexpectedType typedef.
3016          - Uncomment rebind implementation.
3017          - Add in-place construction tag, as well as explicit error construction tag.
3018          - Add template unexpected constructor.
3019          - Note that make_unexpected isn't in the proposal anymore, but we keep it because we don't have C++17 deduction guides.
3020          - Remove hashing, which isn't in the proposal anymore.
3021
3022         * TestWebKitAPI/Tests/WTF/Expected.cpp:
3023         (WTF::operator<<):
3024         (TestWebKitAPI::TEST):
3025
3026 2017-10-04  Lucas Forschler  <lforschler@apple.com>
3027
3028         https://bugs.webkit.org/show_bug.cgi?id=177888
3029         WebKitArchiveSupport - add API Gateway to source control
3030         This is a swagger configuration export via AWS API Gateway console.
3031
3032         Rubber-stamped by Alexey Proskuryakov.
3033
3034         * WebKitArchiveSupport/AWS-APIGateway: Added.
3035         * WebKitArchiveSupport/AWS-APIGateway/stage-v2.json: Added.
3036
3037 2017-10-04  Mark Lam  <mark.lam@apple.com>
3038
3039         Add support for using Probe DFG OSR Exit behind a runtime flag.
3040         https://bugs.webkit.org/show_bug.cgi?id=177844
3041         <rdar://problem/34801425>
3042
3043         Reviewed by Saam Barati.
3044
3045         Enable --useProbeOSrExit=true for dfg-eager and ftl-no-cjit-validate-sampling-profiler
3046         test configurations.
3047
3048         * Scripts/run-jsc-stress-tests:
3049
3050 2017-10-04  Jonathan Bedard  <jbedard@apple.com>
3051
3052         webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
3053         https://bugs.webkit.org/show_bug.cgi?id=177751
3054         <rdar://problem/34769470>
3055
3056         Reviewed by Daniel Bates.
3057
3058         Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
3059         result. When capturing output from the MockExecutive, the first invocation of
3060         Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
3061         but subsequent invocations will not.
3062
3063         * Scripts/webkitpy/tool/steps/steps_unittest.py:
3064         (StepsTest):
3065         (StepsTest.setUp): Cache the build path before running tests.
3066
3067 2017-10-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3068
3069         [JHBuild][GTK][WKE] Circular dependency between harfbuzz and freetype6
3070         https://bugs.webkit.org/show_bug.cgi?id=177865
3071
3072         Reviewed by Michael Catanzaro.
3073
3074         Build freetype6 without harfbuzz support.
3075         This seems to be what distros like Fedora, Debian or OpenEmbedded do.
3076         Also explicitly enable support for freetype and fontconfig on harfbuzz.
3077
3078         * gtk/jhbuild.modules: Enable also support for icu.
3079         * wpe/jhbuild.modules:
3080
3081 2017-10-04  Yusuke Suzuki  <utatane.tea@gmail.com>
3082
3083         [Test262] Update Test262 to Oct 4 version
3084         https://bugs.webkit.org/show_bug.cgi?id=177859
3085
3086         Reviewed by Sam Weinig.
3087
3088         * Scripts/import-test262-tests:
3089
3090 2017-10-04  Ryosuke Niwa  <rniwa@webkit.org>
3091
3092         Use blob URL when pasting RTFD instead of overriding DocumentLoader
3093         https://bugs.webkit.org/show_bug.cgi?id=177801
3094         <rdar://problem/34542270>
3095
3096         Reviewed by Wenson Hsieh.
3097
3098         Added a regression test for an assertion failure when pasting an empty RTFD as well as a test for pasting
3099         RTFD with an image, which should result in an image element with a blob URL.
3100
3101         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3102         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
3103         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
3104         * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html:
3105
3106 2017-10-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3107
3108         [GLib] Let WebCore know of low power situations
3109         https://bugs.webkit.org/show_bug.cgi?id=177810
3110
3111         Reviewed by Carlos Garcia Campos.
3112
3113         * gtk/install-dependencies: add upower-glib dev packages for Debian, Arch and Fedora.
3114
3115 2017-10-03  Saam Barati  <sbarati@apple.com>
3116
3117         Implement polymorphic prototypes
3118         https://bugs.webkit.org/show_bug.cgi?id=176391
3119
3120         Reviewed by Filip Pizlo.
3121
3122         * Scripts/run-jsc-stress-tests:
3123
3124 2017-10-03  Myles C. Maxfield  <mmaxfield@apple.com> 
3125
3126         Create a SPIR-V assembler 
3127         https://bugs.webkit.org/show_bug.cgi?id=177726 
3128
3129         Reviewed by Filip Pizlo. 
3130
3131         Khronos has released a json file containing every SPIR-V opcode and operand at 
3132         https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/1.2/spirv.core.grammar.json 
3133         This patch creates a function which loads this file (via the fetch API), parses it, and creates
3134         an object which holds two things: 
3135         - For each opcode, a class which accepts the appropriate operands 
3136         - For each enum type, an object which holds each enum value 
3137         The constructor for each opcode is smart enough to do some basic type-checking of the argument, 
3138         according to the types listed in Khronos's json file. 
3139
3140         This patch also includes an example .html file which outputs a dummy SPIR-V program, 
3141         which happens to be compatible with the SPIR-V demo at 
3142         https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/demos/cube.cpp 
3143         If you modify this demo to use the generated SPIR-V program, you can see the result in 
3144         action.
3145
3146         This patch also commits a copy of Khronos's json file mentioned above. This isn't the first 
3147         Khronos file we've committed into our repository with this license, so there shouldn't be any 
3148         problems there. 
3149
3150         * WebGPUShadingLanguageRI/SPIR-V.js: Added. 
3151         (SPIRV.): 
3152         (SPIRVAssembler): 
3153         (SPIRVAssembler.prototype.append): 
3154         (SPIRVAssembler.prototype.get size): 
3155         (SPIRVAssembler.prototype.get storage): 
3156         (SPIRVAssembler.prototype.get result): 
3157         * WebGPUShadingLanguageRI/SPIRV.html: Added. 
3158         * WebGPUShadingLanguageRI/spirv.core.grammar.json: Added. 
3159
3160 2017-10-03  Chris Dumez  <cdumez@apple.com>
3161
3162         SharedStringHashStore should support removing hashes
3163         https://bugs.webkit.org/show_bug.cgi?id=177770
3164
3165         Reviewed by Alex Christensen.
3166
3167         Add API test coverage.
3168
3169         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3170         * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: Added.
3171         (TestWebKitAPI::TEST):
3172
3173 2017-10-03  Dewei Zhu  <dewei_zhu@apple.com>
3174
3175         Fix missing import for BenchmarkRunner.
3176         https://bugs.webkit.org/show_bug.cgi?id=177842
3177
3178         Reviewed by Ryosuke Niwa.
3179
3180         'show_results' requires BenchmarkRunner.
3181
3182         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
3183
3184 2017-10-03  Olivier Blin  <olivier.blin@softathome.com>
3185
3186         [WPE] Bump deps to add support for xdg-shell-unstable-v6 protocol
3187         https://bugs.webkit.org/show_bug.cgi?id=177820
3188
3189         Reviewed by Žan Doberšek.
3190
3191         gnome-shell does not advertize the xdg-shell protocol anymore, but xdg-shell-unstable-v6 instead.
3192         Support has been added in WPEBackend-mesa, we need to update the requirements.
3193         wayland-1.10 is needed for wl_proxy_get_version(), used in the generated headers.
3194
3195         * wpe/jhbuild.modules:
3196
3197 2017-10-03  Alex Christensen  <achristensen@webkit.org>
3198
3199         Add ObjC SPI equivalent to WKPageLoaderClient.willGoToBackForwardListItem
3200         https://bugs.webkit.org/show_bug.cgi?id=177825
3201         <rdar://problem/22387505>
3202
3203         Reviewed by Tim Horton.
3204
3205         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
3206         (-[BackForwardDelegate _webView:willGoToBackForwardListItem:inPageCache:]):
3207         (-[BackForwardDelegate webView:didFinishNavigation:]):
3208         (TEST):
3209
3210 2017-10-03  Antti Koivisto  <antti@apple.com>
3211
3212         Allow assigning WeakPtr<Derived> to WeakPtr<Base>
3213         https://bugs.webkit.org/show_bug.cgi?id=177817
3214
3215         Reviewed by Geoff Garen.
3216
3217         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3218         (TestWebKitAPI::Base::weakPtrFactory):
3219         (TestWebKitAPI::TEST):
3220
3221 2017-10-03  Youenn Fablet  <youenn@apple.com>
3222
3223         Remove no longer needed WebRTC build infrastructure
3224         https://bugs.webkit.org/show_bug.cgi?id=177756
3225
3226         Reviewed by Alejandro G. Castro.
3227
3228         * Scripts/generate-libwebrtc-cmake: Removed.
3229         * Scripts/webkitpy/libwebrtc/__init__.py: Removed.
3230         * Scripts/webkitpy/libwebrtc/generate_cmake.py: Removed.
3231
3232 2017-10-03  Joanmarie Diggs  <jdiggs@igalia.com>
3233
3234         AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes
3235         https://bugs.webkit.org/show_bug.cgi?id=177763
3236
3237         Reviewed by Chris Fleizach.
3238
3239         Implement ariaIsGrabbed() and ariaDropEffects() for ATK.
3240
3241         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3242         (WTR::AccessibilityUIElement::ariaIsGrabbed const):
3243         (WTR::AccessibilityUIElement::ariaDropEffects const):
3244
3245 2017-10-02  Myles C. Maxfield  <mmaxfield@apple.com>
3246
3247         Make WSL demo compatible with Microsoft Edge
3248         https://bugs.webkit.org/show_bug.cgi?id=177643
3249
3250         Reviewed by Saam Barati.
3251
3252         This patch does two things. The first is it migrates a loop over ParentNode.children to a legacy style loop
3253         because Microsoft Edge throws an exception when trying to use a for...of loop with it. This patch also hides
3254         the compilation behind a setTimeout(0) so there is some indication that something is happening during a
3255         compile.
3256
3257
3258         * Tools/WebGPUShadingLanguageRI/index.html:
3259
3260 2017-10-02  Joanmarie Diggs  <jdiggs@igalia.com>
3261
3262         AX: [ATK] The value of aria-level is not exposed on non-heading roles
3263         https://bugs.webkit.org/show_bug.cgi?id=177775
3264
3265         Reviewed by Chris Fleizach.
3266
3267         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3268         (WTR::AccessibilityUIElement::hierarchicalLevel const):
3269
3270 2017-10-02  Geoffrey Garen  <ggaren@apple.com>
3271
3272         WeakPtr should have a move constructor
3273         https://bugs.webkit.org/show_bug.cgi?id=177789
3274
3275         Reviewed by Chris Dumez.
3276
3277         Chris made me write an API test. It wasn't that painful.
3278
3279         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3280         (TestWebKitAPI::TEST):
3281
3282 2017-10-02  Filip Pizlo  <fpizlo@apple.com>
3283
3284         WSL ^ should be *
3285         https://bugs.webkit.org/show_bug.cgi?id=177705
3286
3287         Rubber stamped by Keith Miller.
3288         
3289         When I first wrote the prototype, I thought it would be cool to use ^ for pointers. Nobody agrees. I've
3290         gotten so much feedback to use *. This changes pointers to use *.
3291
3292         * WebGPUShadingLanguageRI/DereferenceExpression.js:
3293         (DereferenceExpression.prototype.toString):
3294         (DereferenceExpression):
3295         * WebGPUShadingLanguageRI/Intrinsics.js:
3296         (Intrinsics):
3297         * WebGPUShadingLanguageRI/Parse.js:
3298         (parseType):
3299         (parsePossiblePrefix):
3300         * WebGPUShadingLanguageRI/PtrType.js:
3301         (PtrType.prototype.toString):
3302         (PtrType):
3303         * WebGPUShadingLanguageRI/StandardLibrary.js:
3304         * WebGPUShadingLanguageRI/Test.js:
3305         (tests.simpleDereference):
3306         (tests.dereferenceStore):
3307         (tests.simpleMakePtr):
3308         (tests.loadNull):
3309         (tests.storeNull):
3310         (tests.returnNull):
3311         (tests.dereferenceDefaultNull):
3312         (tests.defaultInitializedNull):
3313         (tests.passNullToPtrMonomorphic):
3314         (tests.passNullToPtrPolymorphic):
3315         (tests.passNullAndNotNull):
3316         (tests.passNullAndNotNullFullPoly):
3317         (tests.passNullAndNotNullFullPolyReverse):
3318         (tests.chainGeneric):
3319         (tests.chainStruct):
3320         (tests.chainStructNewlyValid):
3321         (tests.chainStructDevice):
3322         (tests.paramChainStructDevice):
3323         (tests.simpleProtocolExtends):
3324         (tests.protocolExtendsTwo):
3325         (tests.overrideSubscriptStruct):
3326         (tests.overrideSubscriptStructAndDoStores):
3327         (tests.overrideSubscriptStructAndUsePointers):
3328         (tests.overrideSubscriptStructAndUsePointersIncorrectly):
3329         (tests.makeArrayRefFromPointer):
3330         (tests.nonArrayRefArrayLengthFail):
3331         (tests.constexprIsNotLValuePtr):
3332         (tests.genericAccessors):
3333         (tests.nestedSubscriptLValueEmulationSimple):
3334         (tests.nestedSubscriptLValueEmulationGeneric):
3335         (tests.shaderTypes):
3336         (tests.enumPtrBase):
3337         (tests.mutuallyRecursiveStructWithPointersBroken):
3338         (tests.mutuallyRecursiveStructWithPointers):
3339         (tests.linkedList):
3340         (tests.pointerToPointer):
3341         (tests.pointerGetter):
3342         (tests.operatorCastWithTypeVariableInferredFromReturnType):
3343         (tests.loneSetterPointer):
3344         (tests.anderWithNothingWrong):
3345         (tests.anderWithWrongNumberOfArguments):
3346         (tests.anderDoesntReturnPointer):
3347         (tests.anderDoesntTakeReference):
3348         (tests.anderWithArrayRef):
3349         (tests.pointerIndexGetter):
3350         (tests.loneIndexSetterPointer):
3351         (tests.indexAnderWithNothingWrong):
3352         (tests.indexAnderWithWrongNumberOfArguments):
3353         (tests.indexAnderDoesntReturnPointer):
3354         (tests.indexAnderDoesntTakeReference):
3355         (tests.indexAnderWithArrayRef):
3356         (tests.devicePtrPtr):
3357         (tests.threadgroupPtrPtr):
3358         (tests.constantPtrPtr):
3359         (tests.pointerIndexGetterInProtocol):
3360         (tests.loneIndexSetterPointerInProtocol):
3361         (tests.indexAnderWithNothingWrongInProtocol):
3362         (tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
3363         (tests.indexAnderDoesntReturnPointerInProtocol):
3364         (tests.indexAnderDoesntTakeReferenceInProtocol):
3365         (tests.indexAnderWithArrayRefInProtocol):
3366         (tests.andReturnedArrayRef):
3367
3368 2017-10-02  Filip Pizlo  <fpizlo@apple.com>
3369
3370         WSL should be fine with &foo()[i] if foo() returns a []
3371         https://bugs.webkit.org/show_bug.cgi?id=177704
3372
3373         Reviewed by Saam Barati.
3374         
3375         Previously, we'd determine if a property access expression (base.field or base[index]) was an lvalue by
3376         asking if its base was an lvalue. This is right in all cases except if the base is of type []. Then, the
3377         property access expression is an lvalue so long as there is a setter or ander.
3378         
3379         This fixes the issue and adds a test.
3380         
3381         Also, this makes error messages in the case that something is not an lvalue a lot better. If something
3382         is not an lvalue because we could not find anders or setters, then we will tell you why we could not
3383         find them.
3384
3385         * WebGPUShadingLanguageRI/Checker.js:
3386         (Checker.prototype.visitAssignment):
3387         (Checker.prototype.visitReadModifyWriteExpression):
3388         (Checker.prototype.visitMakePtrExpression):
3389         (Checker.prototype._finishVisitingPropertyAccess):
3390         * WebGPUShadingLanguageRI/DotExpression.js:
3391         (DotExpression.prototype.get fieldName):
3392         (DotExpression.prototype.get isLValue): Deleted.
3393         (DotExpression.prototype.get addressSpace): Deleted.
3394         * WebGPUShadingLanguageRI/IndexExpression.js:
3395         (IndexExpression.prototype.get index):
3396         (IndexExpression.prototype.get isLValue): Deleted.
3397         (IndexExpression.prototype.get addressSpace): Deleted.
3398         * WebGPUShadingLanguageRI/PropertyAccessExpression.js:
3399         (PropertyAccessExpression):
3400         (PropertyAccessExpression.prototype.get isLValue):
3401         (PropertyAccessExpression.prototype.set isLValue):
3402         * WebGPUShadingLanguageRI/PropertyResolver.js:
3403         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitMakeArrayRefExpression):
3404         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
3405         (PropertyResolver.prototype._visitRValuesWithinLValue):
3406         * WebGPUShadingLanguageRI/Test.js:
3407         (tests.storeNullArrayRef):
3408         (tests.andReturnedArrayRef):
3409
3410 2017-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>
3411
3412         Guard iOS webkitGetAsEntry API tests on older iOS versions
3413
3414         Unreviewed test gardening. After r222688, these tests require custom pasteboard data to be enabled by default,
3415         so don't run them against shipping iOS.
3416
3417         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3418
3419 2017-10-02  Carlos Garcia Campos  <cgarcia@igalia.com>
3420
3421         [WPE][GTK] Crash in webkit_web_resource_get_data_finish()
3422         https://bugs.webkit.org/show_bug.cgi?id=177107
3423
3424         Reviewed by Michael Catanzaro.
3425
3426         Add a test case to check we handle errors when webkit_web_resource_get_data() fails.
3427
3428         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
3429         (webViewloadChanged):
3430         (testWebResourceGetDataError):
3431         (beforeAll):
3432
3433 2017-10-02  Alex Christensen  <achristensen@webkit.org>
3434
3435         Fix build after r222715
3436         https://bugs.webkit.org/show_bug.cgi?id=177697
3437
3438         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3439         (TEST):
3440         Use the public API instead of the removed SPI.
3441
3442 2017-10-02  Alex Christensen  <achristensen@webkit.org>
3443
3444         REGRESSION(r214201): WebProcess hangs during policy decisions
3445         https://bugs.webkit.org/show_bug.cgi?id=177590
3446         <rdar://problem/33362929>
3447
3448         Reviewed by Andy Estes.
3449
3450         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3451         * TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm: Added.
3452         (-[JSNavigationDelegate webView:didFinishNavigation:]):
3453         (-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3454         (-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3455         (-[JSNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3456         (TEST):
3457
3458 2017-10-02  Jonathan Bedard  <jbedard@apple.com>
3459
3460         Log stack-trace for run-webkit-tests when interrupted
3461         https://bugs.webkit.org/show_bug.cgi?id=176393
3462         <rdar://problem/34262310>
3463
3464         Reviewed by Darin Adler.
3465
3466         When run-webkit-tests is stuck, it is difficult to immediately tell
3467         why. Saving a stack-trace when run-webkit-tests is terminated
3468         or stopped with CNTRL-C will make such issues easier to debug.
3469
3470         * Scripts/webkitpy/common/interupt_debugging.py: Added.
3471         (log_stack_trace): Given a Python frame object, log a stack trace to
3472         the provided file.
3473         (log_stack_trace_on_term): Attach a listener to SIGTERM so that a
3474         stack-trace can be logged when a program is terminated.
3475         (log_stack_trace_on_cntrl_c): Attach a listener to SIGINT so that a
3476         stack-trace can be logged when a program is CNTRL-Ced. 
3477         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3478         (main): Set handlers to log stack trace on interruption.
3479
3480 2017-10-02  Michael Catanzaro  <mcatanzaro@igalia.com>
3481
3482         Remove ENABLE_CSS_REGIONS
3483         https://bugs.webkit.org/show_bug.cgi?id=177689
3484
3485         Reviewed by Darin Adler.
3486
3487         * Scripts/webkitperl/FeatureList.pm:
3488
3489 2017-09-30  Carlos Garcia Campos  <cgarcia@igalia.com>
3490
3491         Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.
3492
3493         This version upgrades liberation fonts to version 2, that has a wider glyph coverage.
3494
3495         * gtk/jhbuild.modules:
3496
3497 2017-09-29  Alex Christensen  <achristensen@webkit.org>
3498
3499         Expose WebPreferences::webGLEnabled through WKPreferences
3500         https://bugs.webkit.org/show_bug.cgi?id=177692
3501         <rdar://problem/24110556>
3502
3503         Reviewed by Andy Estes.
3504
3505         * TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
3506         (-[AlertSaver alert]):
3507         (-[AlertSaver webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3508         (TEST):
3509
3510 2017-09-29  Alex Christensen  <achristensen@webkit.org>
3511
3512         Fix WKWebViewConfigurationPrivate after r222663
3513         https://bugs.webkit.org/show_bug.cgi?id=177644
3514
3515         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3516         * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm: Added.
3517         (TEST):
3518
3519 2017-09-28  Ryosuke Niwa  <rniwa@webkit.org>
3520
3521         Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items
3522         https://bugs.webkit.org/show_bug.cgi?id=170449
3523         <rdar://problem/31432525>
3524
3525         Reviewed by Wenson Hsieh.
3526
3527         Added an API test to paste an image from pasteboard. The test is shared between iOS and macOS.
3528
3529         The tests to paste image files are only enabled on macOS since putting files into pasteboard isn't a thing on iOS.
3530
3531         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3532         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: Added.
3533         (writeImageDataToPasteboard):
3534         (writeBundleFileToPasteboard):
3535         * TestWebKitAPI/Tests/WebKitCocoa/paste-image.html: Added.
3536         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-100px.tiff: Added.
3537         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-200px.png: Added.
3538         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-400px.gif: Added.
3539         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-600px.jpg: Added.
3540         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Rebaselined the test now that types contain "Files".
3541
3542 2017-09-29  Wenson Hsieh  <wenson_hsieh@apple.com>
3543
3544         [iOS WK2] Implement -[WKContentView hasText] for compatibility with the UITextInput protocol
3545         https://bugs.webkit.org/show_bug.cgi?id=177662
3546         <rdar://problem/33410373>
3547
3548         Reviewed by Tim Horton.
3549
3550         Add EditorState API tests to check that the value of -[WKContentView hasText] is correct when editing both plain
3551         and rich text areas.
3552
3553         * TestWebKitAPI/EditingTestHarness.h:
3554         * TestWebKitAPI/EditingTestHarness.mm:
3555         (-[EditingTestHarness insertParagraph]):
3556         (-[EditingTestHarness insertText:]):
3557         (-[EditingTestHarness insertHTML:]):
3558         (-[EditingTestHarness selectAll]):
3559         (-[EditingTestHarness deleteBackwards]):
3560         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
3561
3562         Add versions of EditingTestHarness helpers that don't require us to expect any editor state after executing the
3563         edit command.
3564
3565         (TestWebKitAPI::checkContentViewHasTextWithFailureDescription):
3566         (TestWebKitAPI::TEST):
3567         * TestWebKitAPI/cocoa/TestWKWebView.h:
3568         * TestWebKitAPI/cocoa/TestWKWebView.mm:
3569         (-[TestWKWebView textInputContentView]):
3570
3571 2017-09-29  Charles Turner  <cturner@igalia.com>
3572
3573         Update my status.
3574
3575         Unreviewed.
3576
3577         * Scripts/webkitpy/common/config/contributors.json:
3578
3579 2017-09-28  Commit Queue  <commit-queue@webkit.org>
3580
3581         Unreviewed, rolling out r222639.
3582         https://bugs.webkit.org/show_bug.cgi?id=177630
3583
3584         Breaks AppleWin build (Requested by dolmstead on #webkit).
3585
3586         Reverted changeset:
3587
3588         "[WinCairo][MiniBrowser] Add ca-bundle to display secure
3589         pages."
3590         https://bugs.webkit.org/show_bug.cgi?id=168486
3591         http://trac.webkit.org/changeset/222639
3592
3593 2017-09-28  Joanmarie Diggs  <jdiggs@igalia.com>
3594
3595         AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
3596         https://bugs.webkit.org/show_bug.cgi?id=177542
3597
3598         Add platform support for the notifications. Also add support for getting the
3599         boolean argument indicating whether the state has been set or unset.
3600
3601         Reviewed by Chris Fleizach.
3602
3603         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
3604
3605 2017-09-28  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3606
3607         [WinCairo][MiniBrowser] Add ca-bundle to display secure pages.
3608         Copy cacert.pem file into bundle directory.
3609         https://bugs.webkit.org/show_bug.cgi?id=168486
3610
3611         Reviewed by Brent Fulgham.
3612
3613         * MiniBrowser/win/CMakeLists.txt:
3614
3615 2017-09-28  Lucas Forschler  <lforschler@apple.com>
3616
3617         check in AWS Lambda code used for WebKitArchiveSupport
3618         https://bugs.webkit.org/show_bug.cgi?id=177614
3619         
3620         Rubber-stamped by Alexey Proskuryakov.
3621
3622         * WebKitArchiveSupport/lambda: Added.
3623         * WebKitArchiveSupport/lambda/delete-minified-s3-archive-from-dynamodb.py: Added.
3624         (lambda_handler):
3625         * WebKitArchiveSupport/lambda/delete-s3-archive-from-dynamodb.py: Added.
3626         (lambda_handler):
3627         * WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py: Added.
3628         (lambda_handler):
3629         * WebKitArchiveSupport/lambda/register-minified-s3-archive-in-dynamodb.py: Added.
3630         (lambda_handler):
3631
3632 2017-09-28  Jiewen Tan  <jiewen_tan@apple.com>
3633
3634         WeakPtrFactory should allow downcasting
3635         https://bugs.webkit.org/show_bug.cgi?id=177389
3636         <rdar://problem/34604174>
3637
3638         Reviewed by Geoffrey Garen.
3639
3640         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3641         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3642         (TestWebKitAPI::Base::foo):
3643         (TestWebKitAPI::Base::createWeakPtr):
3644         (TestWebKitAPI::Derived::foo):
3645         (TestWebKitAPI::TEST):
3646
3647 2017-09-28  Megan Gardner  <megan_gardner@apple.com>
3648
3649         Add debug flag to WebKitTestRunner to show where touches are being generated
3650         https://bugs.webkit.org/show_bug.cgi?id=177583
3651
3652         Reviewed by Tim Horton and Wenson Hsieh.
3653
3654         Add a flag, and the ability to paint a dot where the HIDEventGenerator is creating fake touches to
3655         send through UIKit. This will help in debugging touch tests, because it will be easier to see if
3656         one is actually sending the touches at the locations that they expect. This will help differentiate between
3657         problems in the locations of the touches, and other problems that can come up when writing tests.
3658
3659         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3660         (parse_args):
3661         * Scripts/webkitpy/port/driver.py:
3662         (Driver.cmd_line):
3663         * WebKitTestRunner/Options.cpp:
3664         (WTR::Options::Options):
3665         (WTR::handleOptionShowTouches):
3666         (WTR::OptionsHandler::OptionsHandler):
3667         * WebKitTestRunner/Options.h:
3668         * WebKitTestRunner/TestController.cpp:
3669         (WTR::TestController::initialize):
3670         * WebKitTestRunner/TestController.h:
3671         (WTR::TestController::shouldShowTouches const):
3672         * WebKitTestRunner/TestOptions.h:
3673         * WebKitTestRunner/ios/HIDEventGenerator.h:
3674         * WebKitTestRunner/ios/HIDEventGenerator.mm:
3675         (-[DebugTouchView pointInside:withEvent:]):
3676         (-[HIDEventGenerator setShouldShowTouches:]):
3677         (-[HIDEventGenerator initDebugViews]):
3678         (-[HIDEventGenerator updateDebugUI:withPoint:isTouching:]):
3679         (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
3680         (-[HIDEventGenerator _createIOHIDEventType:]):
3681         (-[HIDEventGenerator _updateTouchPoints:count:]):
3682         (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
3683         (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
3684         (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
3685         (-[HIDEventGenerator markerEventReceived:]):
3686         * WebKitTestRunner/ios/TestControllerIOS.mm:
3687         (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
3688         * WebKitTestRunner/ios/mainIOS.mm:
3689         (-[WebKitTestRunnerApp _runTestController]):
3690
3691 2017-09-28  Mark Lam  <mark.lam@apple.com>
3692
3693         [Re-landing] Turn on exception scope verification for JSC tests.
3694         https://bugs.webkit.org/show_bug.cgi?id=162351
3695         <rdar://problem/29563911>
3696
3697         Reviewed by Saam Barati.
3698
3699         Update: I'm re-landing this patch now that test262 exception check validation
3700         failures have been fixed in r222617.  testapi still has some validation failures,
3701         but this patch does not affect testapi.
3702
3703         Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
3704         run-jsc-stress-tests.  This turns on exception scope verification on JSC test
3705         runs (which currently does not include testapi).
3706
3707         Some stats on time to run JSC stress and mozilla tests:
3708         1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
3709         2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
3710         3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
3711         4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s
3712
3713         The stats shows that (2) and (3) has effectively no time difference.  Hence, the
3714         cost of enabling --validateExceptionChecks=true is not significant.
3715
3716         It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
3717         21% slower than (3).  To avoid making debug test runs a lot slower, we'll leave
3718         --dumpSimulatedThrows=true off.  We can manually add that when we see a regression
3719         and need to debug the issue.  Otherwise, we wont pay the price for it.
3720
3721         * Scripts/run-jsc-stress-tests:
3722
3723 2017-09-27  Alex Christensen  <achristensen@webkit.org>
3724
3725         Add WKContentRuleList notify action type
3726         https://bugs.webkit.org/show_bug.cgi?id=177013
3727         <rdar://problem/31073936>
3728
3729         Reviewed by Darin Adler.
3730
3731         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3732         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
3733         (WebCore::ContentExtensions::operator<<):
3734         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
3735         (TestWebKitAPI::InMemoryCompiledContentExtension::data):
3736         (TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
3737         (TestWebKitAPI::makeBackend):
3738         (TestWebKitAPI::TEST_F):
3739         (TestWebKitAPI::actionsEqual):
3740         (TestWebKitAPI::sequenceInstances):
3741         (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
3742         (TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
3743         * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
3744         (-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
3745         (-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
3746         (-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
3747         (-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3748         (makeWarnContentRuleList):
3749         (TEST):
3750
3751 2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
3752
3753         Drag event DataTransfer has unexpected types "dyn.ah62d4..."
3754         https://bugs.webkit.org/show_bug.cgi?id=172526
3755         <rdar://problem/32396081>
3756
3757         Reviewed by Ryosuke Niwa.
3758
3759         Adds new API tests on iOS to cover various cases of using DataTransfer.setData, DataTransfer.getData, and
3760         DataTransfer.types, as well as their interaction with platform objects (source NSItemProviders in the case of
3761         drag and drop, and the general UIPasteboard for copy and paste).
3762
3763         * TestWebKitAPI/PlatformUtilities.h:
3764         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3765         * TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html: Added.
3766
3767         Introduce a new API test harness that both drag-and-drop and copy-and-paste tests use to dump DataTransfer's
3768         web-exposed types and values.
3769
3770         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3771         (checkFirstTypeIsPresentAndSecondTypeIsMissing):
3772         (checkJSONWithLogging):
3773         (TestWebKitAPI::TEST):
3774         (checkTypeIdentifierAndIsNotOtherTypeIdentifier): Deleted.
3775         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
3776         (TestWebKitAPI::checkJSONWithLogging):
3777         (TestWebKitAPI::setUpWebViewForPasteboardTests):
3778         (TestWebKitAPI::TEST):
3779         * TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
3780         (TestWebKitAPI::Util::jsonMatchesExpectedValues):
3781
3782 2017-09-27  Lucas Forschler  <lforschler@apple.com>
3783
3784         Add macOS High Sierra and iOS Simulator 11 support to bisect-builds.
3785         https://bugs.webkit.org/show_bug.cgi?id=177578
3786
3787         Reviewed by Alexey Proskuryakov.
3788
3789         * Scripts/bisect-builds:
3790         (minified_platforms):
3791         (unminified_platforms):
3792
3793 2017-09-27  Ryan Haddad  <ryanhaddad@apple.com>
3794
3795         Update TestResultsServer for High Sierra queues.
3796         https://bugs.webkit.org/show_bug.cgi?id=177500
3797
3798         Reviewed by Alexey Proskuryakov.
3799
3800         * TestResultServer/static-dashboards/builders.jsonp:
3801
3802 2017-09-27  Lucas Forschler  <lforschler@apple.com>
3803
3804         bisect-builds:add a README to the archive.
3805         https://bugs.webkit.org/show_bug.cgi?id=177376
3806
3807         Reviewed by Alexey Proskuryakov & Jon Davis.
3808
3809         * BuildSlaveSupport/built-product-archive:
3810         (addFilesToArchive): refactor function (was previously addLauncherToArchive)
3811         (createZip): Teach function to add the README
3812         (addLauncherToArchive): Deleted. (refactored to addFilesToArchive)
3813         * BuildSlaveSupport/run-webkit-archive: Deleted. (Moved to WebKitArchiveSupport)
3814         * WebKitArchiveSupport: Added.
3815         * WebKitArchiveSupport/README: Added. README which will be packaged up with the archive.
3816         * WebKitArchiveSupport/run-webkit-archive: Added. (Moved from BuildSlaveSupport)
3817
3818 2017-09-26  Tim Horton  <timothy_horton@apple.com>
3819
3820         Mac CMake bot should provide verbose build output
3821         https://bugs.webkit.org/show_bug.cgi?id=177512
3822
3823         Reviewed by Alexey Proskuryakov.
3824
3825         * BuildSlaveSupport/build.webkit.org-config/config.json:
3826         It's hard to diagnose weird bot-only build problems without the
3827         full verbose build output, so turn that on. The Xcode builders
3828         do it too, so why not CMake!
3829
3830 2017-09-26  Tim Horton  <timothy_horton@apple.com>
3831
3832         Make it possible to easily get verbose ninja output from build-webkit
3833         https://bugs.webkit.org/show_bug.cgi?id=177511
3834
3835         Reviewed by Sam Weinig.
3836
3837         * Scripts/build-webkit:
3838         Add a -v/--verbose argument to build-webkit, which sets the environment
3839         variable VERBOSE=1, which buildCMakeGeneratedProject already checks.
3840
3841         * Scripts/webkitdirs.pm:
3842         (buildCMakeGeneratedProject):
3843         Add ninja verbosity arguments to @makeArgs, which are appended
3844         after the -- and thus handed to ninja; the previous implementation
3845         (appending to @args) would only work if @makeArgs was non-empty and thus
3846         the -- was included.
3847
3848 2017-09-26  Said Abou-Hallawa  <sabouhallawa@apple.com>
3849
3850         Followup (r222427): SynchronizedFixedQueue should not have a public constructor
3851         https://bugs.webkit.org/show_bug.cgi?id=177458
3852
3853         Reviewed by Tim Horton.
3854
3855         Fix the definition and the creation of SynchronizedFixedQueue.
3856
3857         * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
3858         (TestWebKitAPI::ToUpperConverter::ToUpperConverter):
3859         (TestWebKitAPI::ToUpperConverter::startProducing):
3860         (TestWebKitAPI::ToUpperConverter::startConsuming):
3861         (TestWebKitAPI::ToUpperConverter::stopProducing):
3862         (TestWebKitAPI::ToUpperConverter::stopConsuming):
3863         (TestWebKitAPI::ToUpperConverter::enqueueLower):
3864
3865 2017-09-26  Wenson Hsieh  <wenson_hsieh@apple.com>
3866
3867         [ios-simulator] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry is failing
3868         https://bugs.webkit.org/show_bug.cgi?id=177271
3869
3870         Reviewed by Tim Horton and Megan Gardner.
3871
3872         Rebaseline a failing API test.
3873
3874         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3875         (TestWebKitAPI::TEST):
3876
3877 2017-09-26  Per Arne Vollan  <pvollan@apple.com>
3878
3879         Set LF eol-style on Windows shell script, because the script failed on one of the EWS
3880         bots, when it had the 'native' style.
3881
3882         Unreviewed Windows EWS fix. 
3883
3884         * EWSTools/start-queue-win.sh: Modified property svn:eol-style.
3885
3886 2017-09-26  Jonathan Bedard  <jbedard@apple.com>
3887
3888         webkitpy: Notify parent process when a worker is spawned
3889         https://bugs.webkit.org/show_bug.cgi?id=177467
3890         <rdar://problem/34660194>
3891
3892         Reviewed by Daniel Bates.
3893
3894         When we fork the parent process, there may be resources in that process
3895         which workers will take ownership of. Notify ports when a new worker is created
3896         so that these resources can be correctly managed.
3897
3898         * Scripts/webkitpy/common/message_pool.py:
3899         (_MessagePool._start_workers): After all workers are started, notify the caller
3900         that a worker has been created, unless we are running inline, in which case the
3901         parent process is still the worker.
3902         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
3903         (LayoutTestRunner._handle_did_spawn_worker): Notify the port that a worker process
3904         has been created.
3905         * Scripts/webkitpy/port/base.py:
3906         (Port.did_spawn_worker): Add function so that ports may manage any
3907         resources created on the parent process but managed by the provided worker.
3908         * Scripts/webkitpy/port/device.py:
3909         (Device.release_worker_resources): Call release_worker_resources on the
3910         platform_device if such a function is defined.
3911         * Scripts/webkitpy/port/ios.py:
3912         (IOSPort.did_spawn_worker): Release any worker resources on the iOS
3913         device object associated with the spawned worker.
3914         * Scripts/webkitpy/test/runner.py:
3915         (Runner.handle): Ignore the did_spawn_worker message during testing.
3916
3917 2017-09-26  Jer Noble  <jer.noble@apple.com>
3918
3919         Thrown ObjC exception when right clicking on <img> containing mp4 link
3920         https://bugs.webkit.org/show_bug.cgi?id=177370
3921
3922         Reviewed by Darin Adler.
3923
3924         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3925         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.html: Added.
3926         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm: Added.
3927         (-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
3928         (TestWebKitAPI::TEST):
3929
3930 2017-09-26  Per Arne Vollan  <pvollan@apple.com>
3931
3932         [Win] 'webkit-patch clean' is failing on bot.
3933         https://bugs.webkit.org/show_bug.cgi?id=177488
3934
3935         Reviewed by Brent Fulgham.
3936
3937         If 'os.remove' throws an exception, catch it.
3938
3939         * Scripts/webkitpy/common/checkout/scm/svn.py:
3940         (SVN.discard_working_directory_changes):
3941
3942 2017-09-25  Frederik Riedel  <riedel@apple.com>
3943
3944         Expose way to set values of classified form controls as {Legacy WebKit, WebKit} SPI
3945         https://bugs.webkit.org/show_bug.cgi?id=174394
3946         <rdar://problem/33183504>
3947
3948         Reviewed by Ryosuke Niwa.
3949
3950         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3951         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: Added.
3952         (-[WKWebView _privateTextInput]): Testing helpers.
3953         (TestWebKitAPI::TEST): Added test cases to test AutoFill for web views.
3954         * TestWebKitAPI/ios/UIKitSPI.h:
3955
3956 2017-09-25  Frederic Wang  <fwang@igalia.com>
3957
3958         Change my status to reviewer and reformat with validate-committer-lists
3959
3960         Unreviewed.
3961
3962         * Scripts/webkitpy/common/config/contributors.json:
3963
3964 2017-09-25  Ryan Haddad  <ryanhaddad@apple.com>
3965
3966         Add High Sierra bots to buildbot and dashboard.
3967         https://bugs.webkit.org/show_bug.cgi?id=177437
3968
3969         Reviewed by Alexey Proskuryakov.
3970
3971         * BuildSlaveSupport/build.webkit.org-config/config.json: Add High Sierra queues, move Leaks and JSC queues over from Sierra.
3972         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Update expected results.
3973         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: Add High Sierra.
3974         (WebKitBuildbot):
3975
3976 2017-09-25  Chris Dumez  <cdumez@apple.com>
3977
3978         [WK2] Add API to query if a download was user-initiated
3979         https://bugs.webkit.org/show_bug.cgi?id=177435
3980         <rdar://problem/34498422>
3981
3982         Reviewed by Alex Christensen.
3983
3984         Add API test coverage.
3985
3986         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
3987         (TestWebKitAPI::decideDestinationWithSuggestedFilename):
3988         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
3989         (-[DownloadDelegate _downloadDidStart:]):
3990         (-[DownloadDelegate _downloadDidFinish:]):
3991         (runTest):
3992         (TEST):
3993         (-[BlobDownloadDelegate _downloadDidStart:]):
3994         (-[BlobDownloadDelegate _downloadDidFinish:]):
3995         (-[RedirectedDownloadDelegate _downloadDidStart:]):
3996         (-[RedirectedDownloadDelegate _downloadDidFinish:]):
3997
3998 2017-09-25  Commit Queue  <commit-queue@webkit.org>
3999
4000         Unreviewed, rolling out r222455.
4001         https://bugs.webkit.org/show_bug.cgi?id=177460
4002
4003         broke iOS build (Requested by alexchristensen on #webkit).
4004
4005         Reverted changeset:
4006
4007         "Add WKContentRuleList notify action type"
4008         https://bugs.webkit.org/show_bug.cgi?id=177013
4009         http://trac.webkit.org/changeset/222455
4010
4011 2017-09-25  Per Arne Vollan  <pvollan@apple.com>
4012
4013         [Win] run-api-tests is failing.
4014         https://bugs.webkit.org/show_bug.cgi?id=177454
4015
4016         Reviewed by Brent Fulgham.
4017
4018         TestWebKit.exe has changed name to TestWebKitLegacy.exe.
4019
4020         * Scripts/run-api-tests:
4021         (testToolPaths):
4022
4023 2017-09-25  Per Arne Vollan  <pvollan@apple.com>
4024
4025         [Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
4026         https://bugs.webkit.org/show_bug.cgi?id=177244
4027
4028         Reviewed by Alex Christensen.
4029
4030         The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.
4031
4032         * EWSTools/start-queue-win.sh:
4033
4034 2017-09-25  Alex Christensen  <achristensen@webkit.org>
4035
4036         Add WKContentRuleList notify action type
4037         https://bugs.webkit.org/show_bug.cgi?id=177013
4038         <rdar://problem/31073936>
4039
4040         Reviewed by Darin Adler.
4041
4042         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4043         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
4044         (WebCore::ContentExtensions::operator<<):
4045         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
4046         (TestWebKitAPI::InMemoryCompiledContentExtension::data):
4047         (TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
4048         (TestWebKitAPI::makeBackend):
4049         (TestWebKitAPI::TEST_F):
4050         (TestWebKitAPI::actionsEqual):
4051         (TestWebKitAPI::sequenceInstances):
4052         (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
4053         (TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
4054         * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
4055         (-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
4056         (-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
4057         (-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
4058         (-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
4059         (makeWarnContentRuleList):
4060         (TEST):
4061
4062 2017-09-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>
4063
4064         REGRESSION(r222160) [GTK] [Debug] Internal compiler error on the buildbot (huge memory usage by GCC)
4065         https://bugs.webkit.org/show_bug.cgi?id=177223
4066
4067         Reviewed by Carlos Garcia Campos.
4068
4069         When the user environment sets the variable NUMBER_OF_PROCESSORS
4070         this should be passed down to the build system (ninja or make) always.
4071
4072         Playing with the number of this variable is needed when using icecc
4073         (as you usually want to launch more parallel build process than your
4074         number of cores), or when you want to limit the number of parallel
4075         build process for hardware capacity reasons.
4076
4077         * Scripts/build-webkit:
4078
4079 2017-09-24  Fujii Hironori  <Hironori.Fujii@sony.com>
4080
4081         [GTK] Incremental builds fail every time Web Inspector icons are removed
4082         https://bugs.webkit.org/show_bug.cgi?id=177349
4083
4084         Reviewed by Carlos Garcia Campos.
4085
4086         Removing GTK WebInspector image files always breaks the GTK and
4087         WPE ports incremental builds.
4088
4089         * Scripts/webkitdirs.pm:
4090         (shouldRemoveCMakeCache): Check the timestamp of
4091         Source/WebInspectorUI/UserInterface/Images/gtk directory if
4092         isGtk() or isWPE().
4093
4094 2017-09-24  Joanmarie Diggs  <jdiggs@igalia.com>
4095
4096         [ATK] Object attributes are missing for ARIA live region roles
4097         https://bugs.webkit.org/show_bug.cgi?id=171174
4098
4099         Reviewed by Chris Fleizach.
4100
4101         Add support for testing property values for AXARIALive, AXARIAAtomic, and
4102         AXARIARelevant. Also add handling for testing whether AXElementBusy is
4103         "supported" (in ATK, busy is a state and is supported on all elements
4104         regardless of whether the state is present or absent from the state set).
4105
4106         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4107         (WTR::AccessibilityUIElement::boolAttributeValue):
4108         (WTR::AccessibilityUIElement::isAttributeSupported):
4109
4110 2017-09-23  Michael Catanzaro  <mcatanzaro@igalia.com>
4111
4112         Unreviewed Mac CMake build fixup after r222194
4113
4114         * DumpRenderTree/PlatformMac.cmake:
4115
4116 2017-09-22  Zalan Bujtas  <zalan@apple.com>
4117
4118         WeakPtrFactory should populate m_ref lazily.
4119         https://bugs.webkit.org/show_bug.cgi?id=177375
4120
4121         Reviewed by Geoffrey Garen.
4122
4123         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
4124         (TestWebKitAPI::TEST):
4125
4126 2017-09-22  Filip Pizlo  <fpizlo@apple.com>
4127
4128         WSL should report an error if you try to create an operator overload that will never be called
4129         https://bugs.webkit.org/show_bug.cgi?id=177092
4130
4131         Reviewed by JF Bastien.
4132         
4133         This adds all kinds of checks to ensure that your operator overloads make sense. This adds all
4134         kinds of tests for those checks.
4135         
4136         In the process of writing those tests, I hit an awesome bug: function instantiation was
4137         instantiating all types, which meant that if that instantiated function needed to resolve calls
4138         to protocol functions, we'd fail because we would have cloned top-level struct types. We need
4139         to preserve the uninstantiated argument types, type arguments, and return type (for casts) in
4140         order to be able to resolve protocol calls. But we also need the instantiated version of the
4141         type arguments for execution. So, this adds some more stuff to the CallExpression class.
4142         
4143         * WebGPUShadingLanguageRI/All.js:
4144         * WebGPUShadingLanguageRI/ArrayRefType.js:
4145         (ArrayRefType.prototype.unifyImpl):
4146         * WebGPUShadingLanguageRI/ArrayType.js:
4147         (ArrayType.prototype.get isArray):
4148         * WebGPUShadingLanguageRI/CallExpression.js:
4149         (CallExpression.resolve):
4150         (CallExpression.prototype.resolve):
4151         (CallExpression.prototype.resolveToOverload):
4152         * WebGPUShadingLanguageRI/Checker.js:
4153         (Checker.prototype._checkOperatorOverload):
4154         (Checker.prototype.visitFuncDef):
4155         (Checker.prototype.visitProtocolDecl):
4156         (Checker.prototype.visitMakeArrayRefExpression):
4157         * WebGPUShadingLanguageRI/EBufferBuilder.js:
4158         (EBufferBuilder.prototype._createEPtr):
4159         * WebGPUShadingLanguageRI/EPtr.js:
4160         (EPtr):
4161         * WebGPUShadingLanguageRI/Evaluator.js:
4162         (Evaluator.prototype._snapshot):
4163         (Evaluator.prototype._runBody):
4164         (Evaluator.prototype.visitFunctionLikeBlock):
4165         (Evaluator.prototype.visitCallExpression):
4166         (Evaluator):
4167         (Evaluator.prototype.runFunc): Deleted.
4168         * WebGPUShadingLanguageRI/ExternalOrigin.js: Added.
4169         * WebGPUShadingLanguageRI/Func.js:
4170         (Func.prototype.toDeclString):
4171         * WebGPUShadingLanguageRI/FuncInstantiator.js:
4172         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
4173         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
4174         (FuncInstantiator.prototype.getUnique.InstantiationInstantiateImmediates.prototype.visitCallExpression):
4175         (FuncInstantiator.prototype.getUnique.InstantiationInstantiateImmediates):
4176         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
4177         * WebGPUShadingLanguageRI/Intrinsics.js:
4178         (Intrinsics):
4179         * WebGPUShadingLanguageRI/LateChecker.js:
4180         (LateChecker.prototype.visitReferenceType):
4181         (LateChecker.prototype._checkShaderType):
4182         * WebGPUShadingLanguageRI/Lexer.js:
4183         (Lexer._textIsIdentifierImpl):
4184         (Lexer.textIsIdentifier):
4185         (Lexer.prototype.next):
4186         (Lexer):
4187         * WebGPUShadingLanguageRI/NameResolver.js:
4188         (NameResolver.prototype.visitProtocolDecl):
4189         * WebGPUShadingLanguageRI/Parse.js:
4190         (parseType.getAddressSpace):
4191         (parseType):
4192         * WebGPUShadingLanguageRI/Prepare.js:
4193         (let.prepare):
4194         * WebGPUShadingLanguageRI/PtrType.js:
4195         (PtrType.prototype.unifyImpl):
4196         * WebGPUShadingLanguageRI/ReferenceType.js:
4197         (ReferenceType):
4198         * WebGPUShadingLanguageRI/Rewriter.js:
4199         (Rewriter.prototype.visitReferenceType):
4200         (Rewriter.prototype.processDerivedCallData):
4201         * WebGPUShadingLanguageRI/StandardLibrary.js:
4202         (intToString):
4203         * WebGPUShadingLanguageRI/StatementCloner.js:
4204         (StatementCloner.prototype.visitFuncDef):
4205         * WebGPUShadingLanguageRI/StructLayoutBuilder.js:
4206         (StructLayoutBuilder.prototype.visitCallExpression):
4207         (StructLayoutBuilder):
4208         * WebGPUShadingLanguageRI/Substitution.js:
4209         (Substitution.prototype.visitTypeRef):
4210         * WebGPUShadingLanguageRI/Test.html:
4211         * WebGPUShadingLanguageRI/Test.js:
4212         (checkNumber):
4213         (set target):
4214         (tests.literalBool):
4215         (tests.identityBool):
4216         (tests.intSimpleMath):
4217         (tests.uintSimpleMath):
4218         (tests.uint8SimpleMath):
4219         (tests.equality):
4220         (tests.logicalNegation):
4221         (tests.notEquality):
4222         (tests.equalityTypeFailure):
4223         (tests.generalNegation):
4224         (tests.add1):
4225         (tests.simpleGeneric):
4226         (tests.nameResolutionFailure):
4227         (tests.simpleVariable):
4228         (tests.simpleAssignment):
4229         (tests.simpleDefault):
4230         (tests.simpleDereference):
4231         (tests.dereferenceStore):
4232         (tests.simpleMakePtr):
4233         (tests.threadArrayLoad):
4234         (tests.threadArrayLoadIntLiteral):
4235         (tests.deviceArrayLoad):
4236         (tests.threadArrayStore):
4237         (tests.deviceArrayStore):
4238         (tests.deviceArrayStoreIntLiteral):
4239         (tests.simpleProtocol):
4240         (tests.typeMismatchReturn):
4241         (tests.typeMismatchVariableDecl):
4242         (tests.typeMismatchAssignment):
4243         (tests.typeMismatchReturnParam):
4244         (tests.badAdd):
4245         (tests.lexerKeyword):
4246         (tests.simpleNoReturn):
4247         (tests.simpleUnreachableCode):
4248         (tests.simpleStruct):
4249         (tests.genericStructInstance):
4250         (tests.doubleGenericCallsDoubleGeneric):
4251         (tests.doubleGenericCallsSingleGeneric):
4252         (tests.loadNull):
4253         (tests.storeNull):
4254         (tests.returnNull):
4255         (tests.dereferenceDefaultNull):
4256         (tests.defaultInitializedNull):