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