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