Test persistent WKHTTPCookieStorages on iOS
[WebKit-https.git] / Tools / ChangeLog
1 2017-06-13  Alex Christensen  <achristensen@webkit.org>
2
3         Test persistent WKHTTPCookieStorages on iOS
4         https://bugs.webkit.org/show_bug.cgi?id=173284
5         <rdar://problem/32260156>
6
7         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
8         (TEST):
9
10 2017-06-13  Matt Rajca  <mrajca@apple.com>
11
12         WebsitePolicies: let clients select specific autoplay quirks
13         https://bugs.webkit.org/show_bug.cgi?id=173343
14
15         Reviewed by Alex Christensen.
16
17         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
18         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
19         (TEST): Updated tests.
20
21 2017-06-13  Daniel Bates  <dabates@apple.com>
22
23         Implement W3C Secure Contexts Draft Specification
24         https://bugs.webkit.org/show_bug.cgi?id=158121
25         <rdar://problem/26012994>
26
27         Reviewed by Brent Fulgham.
28
29         Part 4
30
31         Expose the isSecureContext attribute by default in DumpRenderTree and WebKitTestRunner.
32         Teach DumpRenderTree for Mac and WebKitTestRunner to parse the test option enableIsSecureContextAttribute
33         to toggle the runtime enabled feature flag isSecureContextAttributeEnabled.
34
35         * DumpRenderTree/TestOptions.h:
36         * DumpRenderTree/TestOptions.mm:
37         (TestOptions::TestOptions):
38         * DumpRenderTree/mac/DumpRenderTree.mm:
39         (setWebPreferencesForTestOptions):
40         * DumpRenderTree/win/DumpRenderTree.cpp:
41         (enableExperimentalFeatures):
42         * WebKitTestRunner/TestController.cpp:
43         (WTR::TestController::resetPreferencesToConsistentValues):
44         (WTR::updateTestOptionsFromTestHeader):
45         * WebKitTestRunner/TestOptions.h:
46         (WTR::TestOptions::hasSameInitializationOptions):
47
48 2017-06-13  Alex Christensen  <achristensen@webkit.org>
49
50         Test persistent WKHTTPCookieStorages on iOS
51         https://bugs.webkit.org/show_bug.cgi?id=173284
52         <rdar://problem/32260156>
53
54         Reviewed by Alexey Proskuryakov.
55
56         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
57         (TEST):
58
59 2017-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
60
61         [GTK] Blob download doesn't work
62         https://bugs.webkit.org/show_bug.cgi?id=172442
63
64         Reviewed by Carlos Alberto Lopez Perez.
65
66         Add a unit test to check blob downloads.
67
68         * TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
69         (testBlobDownload):
70         (beforeAll):
71
72 2017-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
73
74         [GTK] Do not include WTR, DumpRendererTree and ImageDiff in tarballs
75         https://bugs.webkit.org/show_bug.cgi?id=173316
76
77         Reviewed by Alex Christensen.
78
79         It's not really possible to run layout tests from the tarball, so it's better not to include those files.
80
81         * gtk/manifest.txt.in:
82
83 2017-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
84
85         [WTR] Crash in WebGeolocationManagerProxy::~WebGeolocationManagerProxy() when running several tests
86         https://bugs.webkit.org/show_bug.cgi?id=173315
87
88         Reviewed by Darin Adler.
89
90         This has started to happen after r218165, but I don't think it's a regression, but that r218165 revealed the bug
91         somehow in WTR. The problem is that GeolocationProviderMock keeps a pointer to the WKGeolocationManagerRef
92         returned by WKContextGetGeolocationManager. But in TestController::generatePageConfiguration() the context is
93         freed before the GeolocationProviderMock. When the GeolocationProviderMock is then destroyed, it calls
94         WKGeolocationManagerSetProvider(m_geolocationManager, 0); but the WKGeolocationManagerRef has already been
95         destroyed. GeolocationProviderMock should keep a reference to the WKContext to ensure the
96         WKGeolocationManagerRef is not destroyed.
97
98         * WebKitTestRunner/GeolocationProviderMock.cpp:
99         (WTR::GeolocationProviderMock::GeolocationProviderMock):
100         * WebKitTestRunner/GeolocationProviderMock.h:
101
102 2017-06-13  Wenson Hsieh  <wenson_hsieh@apple.com>
103
104         Unable to paste text that was copied from a page into the universal search field
105         https://bugs.webkit.org/show_bug.cgi?id=173293
106         <rdar://problem/32440918>
107
108         Reviewed by Ryosuke Niwa.
109
110         Adds 2 new unit tests for copying plain and rich selected web content.
111         See WebCore and WebKit ChangeLogs for more detail.
112
113         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
114         * TestWebKitAPI/Tests/WebKit2Cocoa/rich-and-plain-text.html: Added.
115         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: Added.
116         (TestWebKitAPI::dataForPasteboardType):
117         (TestWebKitAPI::setUpWebViewForPasteboardTests):
118         (TestWebKitAPI::TEST):
119
120 2017-06-13  Joanmarie Diggs  <jdiggs@igalia.com>
121
122         AX: [ATK] Implement missing AtkRelation types
123         https://bugs.webkit.org/show_bug.cgi?id=155494
124
125         Reviewed by Darin Adler.
126
127         Add additional methods to test ARIA properties which are exposed via
128         AtkRelation. Implement ATK support for ariaOwnsElementAtIndex().
129
130         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
131         (WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
132         (WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
133         (WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
134         (WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
135         (WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
136         (WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
137         (WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
138         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
139         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
140         (WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
141         (WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
142         (WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
143         (WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
144         (WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
145         (WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
146         (WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
147         (WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
148
149 2017-06-12  Daniel Bates  <dabates@apple.com>
150
151         Add unit tests for SecurityOrigin::IsPotentiallyTrustworthy()
152         https://bugs.webkit.org/show_bug.cgi?id=173286
153         <rdar://problem/32726102>
154
155         Reviewed by Brent Fulgham.
156
157         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
158         (TestWebKitAPI::TEST_F):
159
160 2017-06-12  Lucas Forschler  <lforschler@apple.com>
161
162         <rdar://problem/32683422>
163         Teach copy-webkitlibraries-to-product-directory script about updated libraries.
164
165         Reviewed by Conrad Schultz.
166
167         * Scripts/copy-webkitlibraries-to-product-directory:
168
169 2017-06-12  Tim Horton  <timothy_horton@apple.com>
170
171         [iOS] Cmd-C doesn't copy text from WKWebView
172         https://bugs.webkit.org/show_bug.cgi?id=173277
173         <rdar://problem/32396742>
174
175         Reviewed by Dan Bernstein.
176
177         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
178         * Tests/WebKit2Cocoa/WKContentViewEditingActions.mm:
179         Add a test ensuring that -copy on WKContentView will cause text to be copied.
180
181 2017-06-12  Jiewen Tan  <jiewen_tan@apple.com>
182
183         [WebCrypto] Remove experimental feature flag of SubtleCrypto
184         https://bugs.webkit.org/show_bug.cgi?id=173197
185         <rdar://problem/32688148>
186
187         Reviewed by Brent Fulgham.
188
189         * DumpRenderTree/mac/DumpRenderTree.mm:
190         (enableExperimentalFeatures):
191         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
192         (WTR::InjectedBundle::beginTesting):
193         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
194         (WTR::TestRunner::setSubtleCryptoEnabled): Deleted.
195         * WebKitTestRunner/InjectedBundle/TestRunner.h:
196
197 2017-06-12  Wenson Hsieh  <wenson_hsieh@apple.com>
198
199         [iOS DnD] Allow the injected bundle to add client data when writing an image to the pasteboard
200         https://bugs.webkit.org/show_bug.cgi?id=173238
201         <rdar://problem/31943370>
202
203         Reviewed by Ryosuke Niwa and Tim Horton.
204
205         Add a new unit test to verify that data inserted by the injected bundle when beginning a drag on an image
206         element is plumbed across to the UI delegate. Also refactors injected bundle unit tests to use the new version
207         of adjustedDataInteractionItemProvidersForItemProvider: that takes representing objects and additional data.
208
209         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
210         (TestWebKitAPI::TEST):
211         * TestWebKitAPI/ios/DataInteractionSimulator.h:
212         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
213         (-[DataInteractionSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
214         (-[DataInteractionSimulator _webView:adjustedDataInteractionItemProviders:]): Deleted.
215
216 2017-06-12  Wenson Hsieh  <wenson_hsieh@apple.com>
217
218         WebItemProviderPasteboard should call its completion block immediately after a synchronous load
219         https://bugs.webkit.org/show_bug.cgi?id=173225
220         <rdar://problem/32713144>
221
222         Reviewed by Tim Horton.
223
224         Adds a new unit test to verify whether the completion block is called synchronously or asynchronously, in both
225         cases where the synchronous timeout is very large, and the synchronous timeout is not used (0).
226
227         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
228         (TestWebKitAPI::TEST):
229
230 2017-06-12  Jonathan Bedard  <jbedard@apple.com>
231
232         Return correct process names for iOS on-device testing
233         https://bugs.webkit.org/show_bug.cgi?id=173263
234
235         Reviewed by Alex Christensen.
236
237         When running tests on iOS devices, process names do not end with '.Development'
238         as they do on Mac and iOS simulator.
239
240         * WebKitTestRunner/TestController.cpp:
241         (WTR::TestController::webProcessName): Return correct process name without '.Development'
242         for iOS on-device testing.
243         (WTR::TestController::networkProcessName): Ditto.
244         (WTR::TestController::databaseProcessName): Ditto.
245
246 2017-06-12  Chris Dumez  <cdumez@apple.com>
247
248         Regression(r217867): Legacy SessionHistoryEntryData format should not change
249         https://bugs.webkit.org/show_bug.cgi?id=173267
250         <rdar://problem/32701257>
251
252         Reviewed by Simon Fraser.
253
254         Restrict test to stop covering saving / restore of scrollRestoration via the legacy
255         SessionHistoryEntryData. Maintain coverage for the default value of scrollRestoration
256         though as this covers the crash that r217867 was fixing.
257
258         * TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp:
259         (TestWebKitAPI::createSessionStateData):
260         (TestWebKitAPI::TEST):
261         (TestWebKitAPI::createSessionStateDataContainingScrollRestoration): Deleted.
262
263 2017-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
264
265         [GTK] Stop dismissing menus attached to the web view for every injected event
266         https://bugs.webkit.org/show_bug.cgi?id=172708
267
268         Reviewed by Alex Christensen.
269
270         It's a workaround we added in r184015 that has worked so far for the context menu, but doesn't really work now
271         that we also attach popup menus to the web view. We really need to be able to show a popup menu, and then send
272         events while the menu is open.
273
274         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
275         (WTR::EventSendingController::contextClick): Use WKBundlePageCopyContextMenuAtPointInWindow() also in GTK+ port.
276         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
277         (WTR::EventSenderProxy::dispatchEvent): Stop calling PlatformWebView::dismissAllPopupMenus().
278
279 2017-06-12  Miguel Gomez  <magomez@igalia.com>
280
281         [GTK][WPE] Enable GStreamer GL on development builds
282         https://bugs.webkit.org/show_bug.cgi?id=173248
283
284         Enable GStreamer GL for GTK and WPE.
285
286         Reviewed by Carlos Garcia Campos.
287
288         * Scripts/webkitperl/FeatureList.pm:
289
290 2017-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
291
292         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/notification after r216641.
293
294         Notifications are no longer cleared on page navigation.
295
296         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
297         (testWebViewNotification):
298
299 2017-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
300
301         Unreviewed. Fix GTK+ test /webkit2/WebKitAutomationSession/request-session after r217831.
302
303         DBus interface and object path names were updated in r217831.
304
305         * TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp:
306
307 2017-06-10  Dan Bernstein  <mitz@apple.com>
308
309         Reverted r218056 because it made the IDE reindex constantly.
310
311         * ContentExtensionTester/Configurations/DebugRelease.xcconfig:
312         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
313         * ImageDiff/cg/Configurations/DebugRelease.xcconfig:
314         * MiniBrowser/Configurations/DebugRelease.xcconfig:
315         * MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
316         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
317         * WebEditingTester/Configurations/DebugRelease.xcconfig:
318         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
319
320 2017-06-10  Dan Bernstein  <mitz@apple.com>
321
322         [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
323         https://bugs.webkit.org/show_bug.cgi?id=173223
324
325         Reviewed by Sam Weinig.
326
327         The rebuilds were happening due to a difference in the compiler options that the IDE and
328         xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
329         xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
330         specify an appropriate path in CLANG_INDEX_STORE_PATH.
331
332         * ContentExtensionTester/Configurations/DebugRelease.xcconfig:
333         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
334         * ImageDiff/cg/Configurations/DebugRelease.xcconfig:
335         * MiniBrowser/Configurations/DebugRelease.xcconfig:
336         * MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
337         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
338         * WebEditingTester/Configurations/DebugRelease.xcconfig:
339         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
340
341 2017-06-10  Jonathan Bedard  <jbedard@apple.com>
342
343         webkitpy: Reduce polling in ServerProcess
344         https://bugs.webkit.org/show_bug.cgi?id=173116
345
346         Reviewed by Ryosuke Niwa.
347
348         We should be smarter about polling. We do not need to poll every time a line is read from
349         stdout and stderr since lines are usually read from cached data. We should only poll
350         when extracting that cached data from stdout and stderr.
351
352         * Scripts/webkitpy/port/driver.py:
353         (Driver._read_block): Rely on output of the ServerProcess to detect a crash or a timeout
354         and on ServerProcess to poll the process if not data is available in stdout and stderr.
355         * Scripts/webkitpy/port/driver_unittest.py:
356         (DriverTest.test_read_block_crashed_process): Test that the Driver will handle a crashing
357         ServerProcess.
358         * Scripts/webkitpy/port/server_process.py:
359         (ServerProcess._read): Allow for data to be read from _output even if the process has
360         crashed. Only poll the process if data needs to be extracted from stdout or stderr. 
361         * Scripts/webkitpy/port/server_process_mock.py:
362         (MockServerProcess): Add number_of_times_polled.
363         (MockServerProcess.poll): Increment number_of_times_polled.
364         (MockServerProcess.has_crashed): Poll before returning crash state.
365         (MockServerProcess.read_stdout_line): MockServerProcess should return None if it has crashed,
366         just like a ServerProcess would.
367         (MockServerProcess.read_stdout): Ditto.
368         * Scripts/webkitpy/port/server_process_unittest.py:
369         (TestServerProcess.test_basic): Use stdin.readline() instead of time.sleep() to prevent the
370         process from ending before stdout and stderr are read. This is the reason this test was flakey.
371         (TestServerProcess):
372         (TestServerProcess.test_process_crashing): Test that when a process crashes, data can be read until
373         the processes is polled.
374         (TestServerProcess.test_process_crashing_no_data): Test that when a process which has not output any
375         data to stdout and stderr crashes, ServerProcess._read(...) polls the process to detect the crash.
376
377 2017-06-10  Andy Estes  <aestes@apple.com>
378
379         [QuickLook] PreviewLoader needs to check if its ResourceLoader has reached the terminal state before calling didReceiveResponse() and friends
380         https://bugs.webkit.org/show_bug.cgi?id=173190
381         <rdar://problem/31360659>
382
383         Reviewed by Brady Eidson.
384         
385         Added a release assert that tries to create a proper test failure if the web process crashes.
386
387         * TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:
388         (-[QuickLookDecidePolicyDelegate _webViewWebProcessDidCrash:]):
389
390 2017-06-09  Wenson Hsieh  <wenson_hsieh@apple.com>
391
392         [iOS DnD] Add a hook to perform two-step drops in editable content
393         https://bugs.webkit.org/show_bug.cgi?id=172992
394         <rdar://problem/32590174>
395
396         Reviewed by Tim Horton.
397
398         Adds 2 new API tests to cover using the injected editing bundle to override performTwoStepDrop.
399         Tests:  DataInteractionTests.InjectedBundleOverridePerformTwoStepDrop
400                 DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop
401
402         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm:
403         (-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
404         (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:performTwoStepDrop:atDestination:isMove:]):
405
406         Allow the BundleOverridePerformTwoStepDrop bundle parameter to determine whether or not two-step drops should
407         be overridden. Currently, this is overridden to just return true.
408
409         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
410         (TestWebKitAPI::TEST):
411         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
412         (WTR::InjectedBundlePage::InjectedBundlePage):
413
414 2017-06-09  Zan Dobersek  <zdobersek@igalia.com>
415
416         [WPE] Enable ENCRYPTED_MEDIA for build-webkit builds
417         https://bugs.webkit.org/show_bug.cgi?id=173103
418
419         Reviewed by Xabier Rodriguez-Calvar.
420
421         * Scripts/webkitperl/FeatureList.pm: Enable ENCRYPTED_MEDIA flag
422         when building the WPE port through build-webkit.
423
424 2017-06-09  Zan Dobersek  <zdobersek@igalia.com>
425
426         [WPE] Enable MEDIA_SOURCE for build-webkit builds
427         https://bugs.webkit.org/show_bug.cgi?id=173136
428
429         Reviewed by Xabier Rodriguez-Calvar.
430
431         * Scripts/webkitperl/FeatureList.pm: Enable the MEDIA_SOURCE feature for WPE.
432
433 2017-06-08  Carlos Garcia Campos  <cgarcia@igalia.com>
434
435         [GTK] Use API::FormClient instead of the C API in WebKitFormClient
436         https://bugs.webkit.org/show_bug.cgi?id=173098
437
438         Reviewed by Žan Doberšek.
439
440         Fix memory leak and runtime warning when running /webkit2/WebKitWebView/submit-form. The web extension is
441         assuming that all tests containing forms define ids for the form elements like
442         /webkit2/WebKitWebExtension/form-controls-associated-signal does.
443
444         * TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
445         (formControlsAssociatedCallback):
446
447 2017-06-08  Jonathan Bedard  <jbedard@apple.com>
448
449         webkitpy: Run sample/spindump on iOS devices
450         https://bugs.webkit.org/show_bug.cgi?id=171881
451         <rdar://problem/32084602>
452
453         Reviewed by Daniel Bates.
454
455         * Scripts/webkitpy/port/darwin.py:
456         (DarwinPort.sample_process): Only add sudo prefix if the platform is Mac, which
457         requires sudo to run spindump.
458         * Scripts/webkitpy/port/ios_device.py:
459         (IOSDevicePort.look_for_new_samples): Deleted.
460         (IOSDevicePort.sample_process): Deleted.
461         * Scripts/webkitpy/port/ios_device_unittest.py:
462         (IOSDeviceTest): iOS devices use 'ios' and their os_name.
463         (IOSDeviceTest.test_spindump):
464         (IOSDeviceTest.test_sample_process):
465         (IOSDeviceTest.test_sample_process_exception):
466         * Scripts/webkitpy/port/ios_simulator_unittest.py:
467         (IOSSimulatorTest): iOS Simulators run on Mac and use 'mac' as their os_name.
468
469 2017-06-08  Keith Miller  <keith_miller@apple.com>
470
471         WebAssembly: We should only create wrappers for functions that can be exported
472         https://bugs.webkit.org/show_bug.cgi?id=173088
473
474         Reviewed by Saam Barati.
475
476         Add quick mode for wasm tests.
477
478         * Scripts/run-jsc-stress-tests:
479
480 2017-06-08  Darin Adler  <darin@apple.com>
481
482         WTF tests have incorrect RefLogger lifetimes making it impossible to test with Address Sanitizer
483         https://bugs.webkit.org/show_bug.cgi?id=173106
484
485         Reviewed by Sam Weinig.
486
487         * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp: Define RefLogger objects first, so they are
488         destroyed last.
489         * TestWebKitAPI/Tests/WTF/HashMap.cpp: Ditto.
490         * TestWebKitAPI/Tests/WTF/HashSet.cpp: Ditto.
491
492 2017-06-07  Dan Bernstein  <mitz@apple.com>
493
494         [Cocoa] additionalReadAccessAllowedURLs doesn’t preserve non-Latin1 paths
495         https://bugs.webkit.org/show_bug.cgi?id=173086
496
497         Reviewed by Andy Estes.
498
499         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
500         (TEST):
501
502 2017-06-07  Alexey Proskuryakov  <ap@apple.com>
503
504         Add High Sierra support to WebKit tools
505         https://bugs.webkit.org/show_bug.cgi?id=173080
506
507         Rubber-stamped by Daniel Bates.
508
509         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra.png: Added.
510         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra@2x.png: Added.
511         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
512         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
513         Added dashboard support.
514
515         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
516         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
517         Trigger the right build queues on check-in.
518
519         * Scripts/webkitpy/common/system/platforminfo.py:
520         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
521         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
522         * Scripts/webkitpy/port/mac.py:
523         * Scripts/webkitpy/port/mac_unittest.py:
524         * TestResultServer/static-dashboards/flakiness_dashboard.js:
525         Added cases for Sierra, and updated tests for new baseline search paths.
526
527 2017-06-07  Ryan Haddad  <ryanhaddad@apple.com>
528
529         Unreviewed, rolling out r217902.
530
531         This change appears to have caused imported/w3c/web-platform-
532         tests/fetch/api/cors tests to fail on El Capitan.
533
534         Reverted changeset:
535
536         "Teach run-webkit-tests how to run HTTPS Web Platform Tests"
537         https://bugs.webkit.org/show_bug.cgi?id=172930
538         http://trac.webkit.org/changeset/217902
539
540 2017-06-07  Daniel Bates  <dabates@apple.com>
541
542         Teach run-webkit-tests how to run HTTPS Web Platform Tests
543         https://bugs.webkit.org/show_bug.cgi?id=172930
544         <rdar://problem/32570201>
545
546         Reviewed by Youenn Fablet.
547
548         Some web platform tests need to be run from an HTTPS server in order to exercise functionality
549         that is conditioned on the page being delivered over a secure protocol. One example of such
550         a test is LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/secure_context/crypto-subtle-secure-context-available.https.sub.html.
551
552         Ideally we should look to use wptrunner to run Web Platform Tests. For now, modify run-webkit-tests
553         to access web platform tests from an HTTPS server when the filename of the test contains ".https.".
554         This makes run-webkit-test match the behavior of wptrunner: <https://github.com/w3c/web-platform-tests/blob/7ce469d1c46dd45aacfe1b408bf2ad36a630e089/tools/manifest/item.py#L42>.
555
556         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
557         (https_base_url): Parses the Web Platform Tests JSON configuration and returns the base URL
558         to the Web Platform Tests HTTPS server.
559         * Scripts/webkitpy/port/base.py:
560         (Port.to.web_platform_test_server_https_base_url): Turns around and calls https_base_url().
561         * Scripts/webkitpy/port/driver.py:
562         (Driver.__init__): Caches the base URL to the Web Platform Tests HTTPS server. Also rename
563         instance variables web_platform_test_server_doc_root, web_platform_test_server_base_url to
564         _web_platform_test_server_doc_root and _web_platform_test_server_base_url, respectively to
565         indicate that they should be considered private instance variables.
566         (Driver.is_web_platform_test): Update code for renamed instance variables.
567         (Driver):
568         (Driver._web_platform_test_base_url_for_test): Returns the URL to access the specified test.
569         (Driver.test_to_uri): Modified to use Driver._web_platform_test_base_url_for_test() to
570         determine the base URL to use to access the test.
571         (Driver.uri_to_test): Added logic to compute the filesystem local test name from a Web
572         Platform Tests HTTPS URL. Also updated code for renamed instance variables.
573
574 2017-06-07  Per Arne Vollan  <pvollan@apple.com>
575
576         Support removal of authentication data through the Website data store API.
577         https://bugs.webkit.org/show_bug.cgi?id=171217
578
579         Reviewed by Brady Eidson.
580
581         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
582         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
583         (WTR::InjectedBundle::didReceiveMessageToPage):
584         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
585         (WTR::TestRunner::removeAllSessionCredentials):
586         (WTR::TestRunner::callDidRemoveAllSessionCredentialsCallback):
587         * WebKitTestRunner/InjectedBundle/TestRunner.h:
588         * WebKitTestRunner/TestController.h:
589         * WebKitTestRunner/TestInvocation.cpp:
590         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
591         (WTR::TestInvocation::didRemoveAllSessionCredentials):
592         * WebKitTestRunner/TestInvocation.h:
593         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
594         (WTR::TestController::removeAllSessionCredentials):
595
596 2017-06-07  Charlie Turner  <cturner@igalia.com>
597
598         Add Charlie Turner as contributor
599         https://bugs.webkit.org/show_bug.cgi?id=173055
600
601         Reviewed by Carlos Alberto Lopez Perez.
602
603         I also ran the Tools/Scripts/validate-committer-lists --canonicalize command at the suggestion
604         of webkit-patch upload, which reordered some fields and removed a newline.
605
606         * Scripts/webkitpy/common/config/contributors.json:
607
608 2017-06-06  Chris Dumez  <cdumez@apple.com>
609
610         RELEASE_ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values)) hit in convertEnumerationToJS<WebCore::History::ScrollRestoration>()
611         https://bugs.webkit.org/show_bug.cgi?id=173033
612         <rdar://problem/32591099>
613
614         Reviewed by Simon Fraser.
615
616         Add API test coverage to make sure History's scrollRestoration is properly saved / restored via the
617         WKPageCopySessionState() / WKPageRestoreFromSessionState() C API.
618
619         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
620         * TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp: Added.
621         (TestWebKitAPI::didFinishLoadForFrame):
622         (TestWebKitAPI::setPageLoaderClient):
623         (TestWebKitAPI::createSessionStateDataContainingScrollRestoration):
624         (TestWebKitAPI::TEST):
625
626 2017-06-06  Andy Estes  <aestes@apple.com>
627
628         REGRESSION (r199558): WKWebView upload file which name contains Chinese character results in garbled code
629         https://bugs.webkit.org/show_bug.cgi?id=172849
630         <rdar://problem/32567454>
631
632         Reviewed by Darin Adler.
633
634         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
635         * TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm: Added.
636         (-[RunOpenPanelUIDelegate webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
637         (TestWebKitAPI::TEST):
638
639 2017-06-06  Yoav Weiss  <yoav@yoav.ws>
640
641         [preload] Conditional support for media preloading and align media `as` values.
642         https://bugs.webkit.org/show_bug.cgi?id=172501
643
644         Reviewed by Dean Jackson.
645
646         Turn on media preloading preference for tests.
647
648         * DumpRenderTree/mac/DumpRenderTree.mm: Turn on media preloading preference.
649         * DumpRenderTree/win/DumpRenderTree.cpp: Turn on media preloading preference.
650         * WebKitTestRunner/TestController.cpp: Turn on media preloading preference.
651
652 2017-06-06  Jonathan Bedard  <jbedard@apple.com>
653
654         webkitpy: Return correct process names from SimulatorProcess
655         https://bugs.webkit.org/show_bug.cgi?id=172940
656
657         Reviewed by Aakash Jain.
658
659         * Scripts/webkitpy/port/darwin.py:
660         (DarwinPort.plist_data_from_bundle): Share plist access code for accessing different plist entries.
661         (DarwinPort.app_identifier_from_bundle): Use plist_data_from_bundle.
662         (DarwinPort.app_executable_from_bundle): Access name of app executable from provided app bundle.
663         * Scripts/webkitpy/port/driver.py:
664         (Driver.has_crashed): Use _server_process.process_name() instead of _server_process.name() since
665         _server_process.name() will not return the correct process name for iOS.
666         (Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
667         (Driver._read_block): Ditto.
668         * Scripts/webkitpy/port/driver_unittest.py:
669         (DriverTest.test_check_for_driver_crash.FakeServerProcess.process_name): Update since Driver uses
670         process_name() instead of name().
671         * Scripts/webkitpy/port/server_process.py:
672         (ServerProcess._start): Use process_name() instead of name().
673         (ServerProcess.stop): Ditto.
674         (ServerProcess.name): Deleted.
675         * Scripts/webkitpy/port/simulator_process.py:
676         (SimulatorProcess.process_name): Check the provided bundle for the process name.
677
678 2017-06-06  Dean Johnson  <dean_johnson@apple.com>
679
680         test-webkitpy: stop forking unsafely from within a spawned process
681         https://bugs.webkit.org/show_bug.cgi?id=172774
682
683         Reviewed by Darin Adler.
684
685         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
686         (Builder.__init__): We don't use mechanize.Browser() as part of testing, so only initialize it when
687         it's going to be used.
688         (Builder.force_build):
689
690 2017-06-06  Jonathan Bedard  <jbedard@apple.com>
691
692         webkitpy: Process crash-logs for iOS devices
693         https://bugs.webkit.org/show_bug.cgi?id=171976
694         <rdar://problem/32134551>
695
696         Reviewed by David Kilzer.
697
698         When running layout tests on an iOS device, crash logs should be processed.
699         Implement crash log searching and parsing for iOS devices.
700
701         * Scripts/webkitpy/common/system/crashlogs.py:
702         (CrashLogs): Moved process regular expression for Darwin to class variable.
703         (CrashLogs.__init__): Accept optional list of crash logs to ignore.
704         (CrashLogs.find_newest_log): Add iOS as a potential platform.
705         (CrashLogs.find_all_logs): Ditto.
706         (CrashLogs._parse_darwin_crash_log): Share code for parsing of Darwin crash logs.
707         Do not assume that a Darwin crash log starts with the process.
708         (CrashLogs._find_newest_log_darwin): Remove .app in process name for iOS, use
709         shared code for parsing Darwin crash logs.
710         (CrashLogs._find_newest_log_darwin.is_crash_log): Skip crash logs passed into this
711         object so that crash logs already on the system before testing are not parsed.
712         (CrashLogs._find_newest_log_win.is_crash_log): Ditto.
713         (CrashLogs._find_all_logs_darwin.is_crash_log): Ditto.
714         (CrashLogs._find_all_logs_darwin): Use shared code for parsing Darwin crash logs.
715         * Scripts/webkitpy/common/system/crashlogs_unittest.py:
716         (make_mock_crash_report_darwin): Crash logs may not have their process on the first line.
717         * Scripts/webkitpy/common/system/systemhost.py:
718         (SystemHost.symbolicate_crash_log_if_needed): The symbolicated crash log for most
719         systems is just the crashlog, use this behavior by default.
720         * Scripts/webkitpy/common/system/systemhost_mock.py:
721         (MockSystemHost.symbolicate_crash_log_if_needed): The symbolicated crash log for most
722         systems is just the crashlog, use this behavior by default.
723         * Scripts/webkitpy/port/apple.py:
724         (ApplePort): Add a dictionary mapping hosts to a list of crash logs to be skipped.
725         (ApplePort.setup_test_run): Set the list of crash logs to be skipped to the crash logs on
726         the system before testing begins
727         * Scripts/webkitpy/port/base.py:
728         (Port._get_crash_log): Pass optional target host when getting crash logs.
729         * Scripts/webkitpy/port/darwin.py:
730         (DarwinPort._look_for_all_crash_logs_in_log_dir): Pass list of crash logs to be skipped to
731         CrashLogs object.
732         (DarwinPort._get_crash_log): Pass optional target host when getting crash logs, pass list of crash
733         logs to be skipped to CrashLogs object.
734         * Scripts/webkitpy/port/darwin_testcase.py:
735         (DarwinTest.test_get_crash_log): Removed unused local function.
736         (DarwinTest.test_get_crash_log.fake_time_cb): Deleted.
737         * Scripts/webkitpy/port/device.py:
738         (Device.symbolicate_crash_log_if_needed): If the platform device has a function with this
739         name, call it. Otherwise, assume the default behavior and read the file at the provided path.
740         * Scripts/webkitpy/port/driver.py:
741         (Driver._get_crash_log): Pass optional target host when getting crash logs.
742         * Scripts/webkitpy/port/gtk.py:
743         (GtkPort._get_crash_log): Pass optional target host when getting crash logs.
744         * Scripts/webkitpy/port/ios.py: Ditto.
745         (IOSPort.setup_test_run): Each device is treated as an independent host. Set the list of crash logs
746         to be skipped for each host.
747         * Scripts/webkitpy/port/ios_device.py:
748         (IOSDevicePort.path_to_crash_logs): Consult apple_additions for the path to crash logs.
749         (IOSDevicePort._look_for_all_crash_logs_in_log_dir): Search every connected device for
750         crash logs and pass list of crash logs to ignore to each instance of CrashLogs.
751         (IOSDevicePort._get_crash_log): Search the specified target host for a crash log if a target
752         host is specified. Else, search all connected devices for the specified crash-log.
753         (IOSDevicePort.look_for_new_crash_logs): Deleted.
754         * Scripts/webkitpy/port/ios_device_unittest.py:
755         (IOSDeviceTest.test_crashlog_path): Without apple_additions, an exception should be raised.
756         (IOSDeviceTest.test_get_crash_log): Ditto.
757         * Scripts/webkitpy/port/simulator_process.py:
758         (SimulatorProcess.process_name): Check the provided bundle for the process name.
759         * Scripts/webkitpy/port/win.py:
760         (WinPort._get_crash_log): Pass optional target host when getting crash logs, pass list of crash
761         logs to be skipped to CrashLogs object.
762         * Scripts/webkitpy/port/wpe.py:
763         (WPEPort._get_crash_log): Pass optional target host when getting crash logs.
764
765 2017-06-06  David Kilzer  <ddkilzer@apple.com>
766
767         Move WTF_ATTRIBUTE_PRINTF() from implementation to declaration
768         <https://webkit.org/b/172804>
769
770         Reviewed by Darin Adler.
771
772         WTF_ATTRIBUTE_PRINTF() only works outside the current
773         compilation unit if it's on the declaration, not the
774         implementation, of a function or class method.
775
776         * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
777         * DumpRenderTree/TestNetscapePlugIn/PluginObject.h:
778         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
779         * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
780         - Move WTF_ATTRIBUTE_PRINTF() macro to declaration.
781         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
782         - Remove redundant CRASH() macro definition.  Use the one from
783           <wtf/Assertions.h> instead.
784
785 2017-06-06  Joseph Pecoraro  <pecoraro@apple.com>
786
787         Move Resource Timing / User Timing from experimental features into main preferences
788         https://bugs.webkit.org/show_bug.cgi?id=172950
789
790         Reviewed by Darin Adler.
791
792         * DumpRenderTree/mac/DumpRenderTree.mm:
793         (enableExperimentalFeatures):
794         (resetWebPreferencesToConsistentValues):
795         * DumpRenderTree/win/DumpRenderTree.cpp:
796         (enableExperimentalFeatures):
797         (resetWebPreferencesToConsistentValues):
798         * WebKitTestRunner/TestController.cpp:
799         (WTR::TestController::resetPreferencesToConsistentValues):
800         Move out no longer experimental features to the main list.
801
802 2017-06-06  Carlos Alberto Lopez Perez  <clopez@igalia.com>
803
804         [WPE] Add an install-dependencies script
805         https://bugs.webkit.org/show_bug.cgi?id=172948
806
807         Reviewed by Žan Doberšek.
808
809         It is based on the gtk/install-dependencies script.
810         Includes support for Debian based distrubutions, Fedora and Arch.
811         It has been tested on a minimal Debian 9 chroot.
812
813         * wpe/install-dependencies: Added.
814
815 2017-06-05  Wenson Hsieh  <wenson_hsieh@apple.com>
816
817         Refactor -[WebItemProviderPasteboard valuesForPasteboardType:inItemSet:] to check readable types
818         https://bugs.webkit.org/show_bug.cgi?id=172891
819         <rdar://problem/32204540>
820
821         Reviewed by Darin Adler.
822
823         Adds 2 new API tests to exercise data interaction of HTML data and an attributed string into a rich
824         contenteditable. See WebCore ChangeLog for more details.
825
826         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
827         (TestWebKitAPI::TEST):
828
829 2017-06-05  Daniel Bates  <dabates@apple.com>
830
831         webkitpy: Abstract Executive class
832         https://bugs.webkit.org/show_bug.cgi?id=172928
833         <rdar://problem/32569531>
834
835         Reviewed by Ryosuke Niwa.
836
837         Adds an AbstractExecutive class and makes Executive extend AbstractExecutive.
838         This will make it straightforward to create additional derived classes that
839         adhere to the same interface, say for iOS on-device testing.
840
841         * Scripts/webkitpy/common/system/abstractexecutive.py: Added.
842         (AbstractExecutive):
843         (AbstractExecutive.run_and_throw_if_fail):
844         (AbstractExecutive.cpu_count):
845         (AbstractExecutive.interpreter_for_script):
846         (AbstractExecutive.shell_command_for_script):
847         (AbstractExecutive.kill_process):
848         (AbstractExecutive.check_running_pid):
849         (AbstractExecutive.running_pids):
850         (AbstractExecutive.wait_newest):
851         (AbstractExecutive.wait_limited):
852         (AbstractExecutive.interrupt):
853         (AbstractExecutive.default_error_handler):
854         (AbstractExecutive.ignore_error):
855         (AbstractExecutive._stringify_args):
856         (AbstractExecutive.command_for_printing):
857         (AbstractExecutive.run_command):
858         (AbstractExecutive.popen):
859         (AbstractExecutive.run_in_parallel):
860         * Scripts/webkitpy/common/system/executive.py:
861         (Executive):
862         (Executive.cpu_count):
863         (Executive.running_pids):
864         (Executive.kill_all):
865         (Executive._compute_stdin):
866         (Executive.interpreter_for_script): Deleted.
867         (Executive.shell_command_for_script): Deleted.
868         (Executive.wait_newest): Deleted.
869         (Executive.wait_limited): Deleted.
870         (Executive.default_error_handler): Deleted.
871         (Executive.ignore_error): Deleted.
872         (Executive.command_for_printing): Deleted.
873
874 2017-06-05  Jonathan Bedard  <jbedard@apple.com>
875
876         webkitpy: Add iOS to platform
877         https://bugs.webkit.org/show_bug.cgi?id=172931
878
879         Reviewed by Daniel Bates.
880
881         * Scripts/webkitpy/common/system/platforminfo.py:
882         PlatformInfo.__init__): Use platform_module.release() as the os_version for iOS device.
883         (PlatformInfo.is_ios): Added.
884         (PlatformInfo._determine_os_name): A platform name of 'ios' means that the os name is 'ios'.
885         * Scripts/webkitpy/common/system/platforminfo_mock.py:
886         (MockPlatformInfo.is_ios): Added.
887
888 2017-06-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
889
890         [WPE][JHBuild] Switch github repository from git:// to https://
891         https://bugs.webkit.org/show_bug.cgi?id=172921
892
893         Reviewed by Alex Christensen.
894
895         * wpe/jhbuild.modules:
896
897 2017-06-05  Tim Horton  <timothy_horton@apple.com>
898
899         ASSERTION FAILED: m_currentScriptCallbackID in UIScriptContext::requestUIScriptCompletion(JSStringRef) running fast/events/ios/autocorrect-with-range-selection.html
900         https://bugs.webkit.org/show_bug.cgi?id=172887
901         <rdar://problem/32546061>
902
903         Reviewed by Sam Weinig.
904
905         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
906         (WTR::UIScriptController::applyAutocorrection):
907         applyAutocorrection can call its completion handler synchronously,
908         which makes UIScriptController unhappy (see bug 172884).
909
910 2017-06-03  Jonathan Bedard  <jbedard@apple.com>
911
912         webkitpy: Add contextmanager to disable logging for a block
913         https://bugs.webkit.org/show_bug.cgi?id=172876
914
915         Reviewed by Daniel Bates.
916
917         Add a context manager which will use an OutputCapture object to capture logging
918         in a block and hold it in a variable.
919
920         * Scripts/webkitpy/common/system/outputcapture.py:
921         (OutputCaptureScope):
922         (OutputCaptureScope.__init__): Construct with OutputCapture object.
923         (OutputCaptureScope.__enter__): Begin capturing output. 
924         (OutputCaptureScope.__exit__): Restore output and save captured output to a variable.
925         output and retain the resulting log.
926         * Scripts/webkitpy/common/system/outputcapture_unittest.py:
927         (OutputCaptureTest.test_output_capture_scope): Added.
928
929 2017-06-02  Zalan Bujtas  <zalan@apple.com>
930
931         Cleanup FrameView::autoSizeIfEnabled.
932         https://bugs.webkit.org/show_bug.cgi?id=172889
933         <rdar://problem/32550783>
934
935         Reviewed by Tim Horton.
936
937         * TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
938         (-[AutoLayoutWKWebView load:withWidth:expectingContentSize:resettingWidth:]): progression.
939         (TEST):
940
941 2017-06-02  Chris Dumez  <cdumez@apple.com>
942
943         ResourceLoadStatistics are not using unique paths during test runs
944         https://bugs.webkit.org/show_bug.cgi?id=172861
945         <rdar://problem/32442251>
946
947         Reviewed by Darin Adler.
948
949         Make sure WebKitTestRunner sets a temporary path for saving resource
950         load statistics.
951
952         * WebKitTestRunner/TestController.cpp:
953         (WTR::TestController::generateContextConfiguration):
954
955 2017-06-02  Brady Eidson  <beidson@apple.com>
956
957         Prevent scheme handlers from handling all built-in URL schemes.
958         <rdar://problem/32404790> and https://bugs.webkit.org/show_bug.cgi?id=172869
959
960         Reviewed by Andy Estes.
961
962         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
963
964 2017-06-02  Stephan Szabo  <stephan.szabo@am.sony.com>
965
966         [JSCOnly] Build static jsc.exe on Windows
967         https://bugs.webkit.org/show_bug.cgi?id=172833
968
969         Reviewed by Konstantin Tokarev.
970
971         * CMakeLists.txt:
972         * Scripts/build-jsc:
973
974 2017-06-02  Zalan Bujtas  <zalan@apple.com>
975
976         Disable ViewportSizeForViewportUnits tests on iOS.
977         https://bugs.webkit.org/show_bug.cgi?id=172872
978
979         Reviewed by Tim Horton.
980
981         * TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm:
982
983 2017-06-02  Zalan Bujtas  <zalan@apple.com>
984
985         Allow clients to override viewport size for CSS viewport units.
986         https://bugs.webkit.org/show_bug.cgi?id=172838
987         <rdar://problem/32523441>
988
989         Reviewed by Tim Horton.
990
991         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
992         * TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm: Added.
993         (TEST):
994
995 2017-06-02  Simon Fraser  <simon.fraser@apple.com>
996
997         Get <chrono> out of StdLibExtras.h
998         https://bugs.webkit.org/show_bug.cgi?id=172744
999
1000         Reviewed by Zalan Bujtas.
1001
1002         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
1003
1004 2017-06-02  Zan Dobersek  <zdobersek@igalia.com>
1005
1006         [WPE] Enable SUBTLE_CRYPTO
1007         https://bugs.webkit.org/show_bug.cgi?id=172756
1008
1009         Reviewed by Michael Catanzaro.
1010
1011         * Scripts/webkitperl/FeatureList.pm: Set ENABLE_SUBTLE_CRYPTO to 1 for WPE.
1012         * wpe/jhbuild.modules: Add libgpg-error and libgcrypt dependencies.
1013         * wpe/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Added. Prevents
1014         exhausting entropy when running the crypto layout tests.
1015
1016 2017-06-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1017
1018         [GTK] Bump GTK+ and its dependencies in jhbuild
1019         https://bugs.webkit.org/show_bug.cgi?id=171918
1020
1021         Reviewed by Carlos Alberto Lopez Perez.
1022
1023         * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
1024         (WTR::initializeGtkSettings):
1025         * gtk/jhbuild.modules:
1026         * gtk/patches/gtk+-configure-fix-detecting-CUPS-2.x.patch: Removed.
1027         * gtk/patches/librsvg-2.36.1-bump-up-config.guess-to-support-aarch64.patch: Removed.
1028
1029 2017-06-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1030
1031         [GTK] Bump wayland and weston in jhbuild
1032         https://bugs.webkit.org/show_bug.cgi?id=171921
1033
1034         Reviewed by Carlos Alberto Lopez Perez.
1035
1036         * gtk/jhbuild.modules:
1037         * gtk/patches/weston-libweston-include-weston-egl-ext.h-in-drm-x11-and-wa.patch: Added.
1038
1039 2017-06-01  Andy Estes  <aestes@apple.com>
1040
1041         REGRESSION (r217626): ENABLE_APPLE_PAY_SESSION_V3 was disabled by mistake
1042         https://bugs.webkit.org/show_bug.cgi?id=172828
1043
1044         Reviewed by Beth Dakin.
1045
1046         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1047
1048 2017-06-01  Jonathan Bedard  <jbedard@apple.com>
1049
1050         webkitpy: Remove unneeded simulator teardown
1051         https://bugs.webkit.org/show_bug.cgi?id=171891
1052
1053         Reviewed by Aakash Jain.
1054
1055         * Scripts/webkitpy/port/ios_simulator.py:
1056         (IOSSimulatorPort.clean_up_test_run): Remove FIFO deletion since TCP is used
1057         for communication between Python and WebKitTestRunner/DumpRenderTree.
1058
1059 2017-06-01  Keith Miller  <keith_miller@apple.com>
1060
1061         Undo rollout in r217638 with bug fix
1062         https://bugs.webkit.org/show_bug.cgi?id=172824
1063
1064         Unreviewed, reland patch with unused set_state code removed.
1065
1066         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
1067         (runThreadMessageTest):
1068         (TEST):
1069
1070 2017-06-01  Jonathan Bedard  <jbedard@apple.com>
1071
1072         webkitpy: Do not send 0 or -1 as a pid to kill_process
1073         https://bugs.webkit.org/show_bug.cgi?id=172818
1074
1075         Reviewed by Darin Adler.
1076
1077         Sending a signal to process 0 will result in all processes in the group receiving 
1078         the signal. Sending a signal to process -1 will result in all non-system processes
1079         receiving the signal. Both Executive.kill_process and Executive.check_running_pid
1080         should consider these cases
1081
1082         * Scripts/webkitpy/common/system/executive.py:
1083         (Executive.kill_process): Throw exception if pid is undefined, 0 or negative.
1084         (Executive.check_running_pid): An undefined pid, pid 0 or a negative pid will
1085         never be running, although os.kill may succeed.
1086         * Scripts/webkitpy/port/simulator_process.py:
1087         (SimulatorProcess.stop): Do not kill process if it is undefined.
1088
1089 2017-05-31  Alexey Proskuryakov  <ap@apple.com>
1090
1091         JSC EWS bot does not run on WTF only patches
1092         https://bugs.webkit.org/show_bug.cgi?id=172777
1093         rdar://problem/32495975
1094
1095         Reviewed by Aakash Jain.
1096
1097         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
1098         (CheckPatchRelevance): Add a missing comma.
1099
1100 2017-05-31  Commit Queue  <commit-queue@webkit.org>
1101
1102         Unreviewed, rolling out r217611 and r217631.
1103         https://bugs.webkit.org/show_bug.cgi?id=172785
1104
1105         "caused wasm-hashset-many.html to become flaky." (Requested by
1106         keith_miller on #webkit).
1107
1108         Reverted changesets:
1109
1110         "Reland r216808, underlying lldb bug has been fixed."
1111         https://bugs.webkit.org/show_bug.cgi?id=172759
1112         http://trac.webkit.org/changeset/217611
1113
1114         "Use dispatch queues for mach exceptions"
1115         https://bugs.webkit.org/show_bug.cgi?id=172775
1116         http://trac.webkit.org/changeset/217631
1117
1118 2017-05-31  Ryan Haddad  <ryanhaddad@apple.com>
1119
1120         EWS bots should reboot themselves more frequently
1121         https://bugs.webkit.org/show_bug.cgi?id=172402
1122
1123         Reviewed by Alexey Proskuryakov.
1124
1125         Instead of rebooting once a day, EWS bots will reboot after running 10 iterations.
1126
1127         * EWSTools/start-queue-mac.sh: Remove the restriction placed on the time that the bot will perform a reboot.
1128
1129 2017-05-31  Ryan Haddad  <ryanhaddad@apple.com>
1130
1131         Reallocate hardware for iOS bots.
1132         https://bugs.webkit.org/show_bug.cgi?id=172657
1133
1134         Reviewed by Alexey Proskuryakov.
1135
1136         * BuildSlaveSupport/build.webkit.org-config/config.json:
1137
1138 2017-05-31  Andy Estes  <aestes@apple.com>
1139
1140         Rename ENABLE_APPLE_PAY_DELEGATE to ENABLE_APPLE_PAY_SESSION_V3 and bump the supported version number
1141         https://bugs.webkit.org/show_bug.cgi?id=172366
1142
1143         Reviewed by Daniel Bates.
1144
1145         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1146
1147 2017-05-31  Jiewen Tan  <jiewen_tan@apple.com>
1148
1149         Unreviewed, add Jiewen Tan as a reviewer
1150
1151         * Scripts/webkitpy/common/config/contributors.json:
1152
1153 2017-05-31  Adrian Perez de Castro  <aperez@igalia.com>
1154
1155         [GTK] MiniBrowser's browser_window_get_or_create_web_view_for_automation never creates new windows
1156         https://bugs.webkit.org/show_bug.cgi?id=172770
1157
1158         Reviewed by Michael Catanzaro.
1159
1160         * MiniBrowser/gtk/BrowserWindow.c:
1161         (browser_window_get_or_create_web_view_for_automation): Removed stray semicolon
1162         which caused the body of the if-clause to be accidentally empty.
1163
1164 2017-05-31  Keith Miller  <keith_miller@apple.com>
1165
1166         Reland r216808, underlying lldb bug has been fixed.
1167         https://bugs.webkit.org/show_bug.cgi?id=172759
1168
1169         Unreviewed, relanding old patch. See: rdar://problem/31183352
1170
1171         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
1172         (runThreadMessageTest):
1173         (TEST):
1174
1175 2017-05-31  Matt Lewis  <jlewis3@apple.com>
1176
1177         Unreviewed, rolling out r217603.
1178
1179         This patch broke the internal builds.
1180
1181         Reverted changeset:
1182
1183         "Get <chrono> out of StdLibExtras.h"
1184         https://bugs.webkit.org/show_bug.cgi?id=172744
1185         http://trac.webkit.org/changeset/217603
1186
1187 2017-05-31  Brent Fulgham  <bfulgham@apple.com>
1188
1189         Make ResourceLoadStatistics testing more reliable
1190         https://bugs.webkit.org/show_bug.cgi?id=172730
1191         <rdar://problem/32028373>
1192
1193         Reviewed by Andy Estes.
1194
1195         When we tell the UIProcess (WebKitTestRunner) to notify the system about statistics update notifications,
1196         we also need to tell the WebProcess to do so, too, or else the test system doesn't get messages.
1197
1198         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1199         (WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
1200
1201 2017-05-31  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1202
1203         [GTK][WPE] run-javascriptcore-tests should use the jhbuild
1204         https://bugs.webkit.org/show_bug.cgi?id=172757
1205
1206         Reviewed by Xabier Rodriguez-Calvar.
1207
1208         When needed, add the jhbuild wrapper at the beginning of the array
1209         that will be invoked to execute the run-jsc-stress-test or testapi
1210         commands.
1211
1212         * Scripts/run-javascriptcore-tests:
1213         (runJSCStressTests):
1214         * Scripts/webkitdirs.pm:
1215         (shouldUseJhbuild):
1216
1217 2017-05-31  Simon Fraser  <simon.fraser@apple.com>
1218
1219         Get <chrono> out of StdLibExtras.h
1220         https://bugs.webkit.org/show_bug.cgi?id=172744
1221
1222         Reviewed by Saam Barati.
1223
1224         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
1225
1226 2017-05-30  Tim Horton  <timothy_horton@apple.com>
1227
1228         Keyboard autocorrections do not apply with an active selection (but keyboard acts like they did)
1229         https://bugs.webkit.org/show_bug.cgi?id=172735
1230         <rdar://problem/32015977>
1231
1232         Reviewed by Enrica Casucci.
1233
1234         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1235         (WTR::UIScriptController::applyAutocorrection):
1236         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1237         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1238         (WTR::UIScriptController::applyAutocorrection):
1239         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1240         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1241         (WTR::UIScriptController::applyAutocorrection):
1242         Expose applyAutocorrection to UIScriptController. Use a WKTesting method
1243         because I don't know how to tap the button in the autocorrection bar from a test.
1244
1245 2017-05-30  Daniel Bates  <dabates@apple.com>
1246
1247         Add unit test for WebKit2 C SPI runBeforeUnloadConfirmPanel()
1248         https://bugs.webkit.org/show_bug.cgi?id=172671
1249
1250         Reviewed by Alex Christensen.
1251
1252         We should add a unit test to ensure we do not regress the WKPageUIClient runBeforeUnloadConfirmPanel() callback.
1253         For completeness, the callback runBeforeUnloadConfirmPanel() existed since inception of WKPageUIClient (WKPageUIClientV0).
1254
1255         * TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp:
1256         (TestWebKitAPI::analyzeDialogArguments): Test the runBeforeUnloadConfirmPanel() callback last as we need
1257         to trigger a navigation to test it.
1258         (TestWebKitAPI::runBeforeUnloadConfirmPanel): Added.
1259         (TestWebKitAPI::createNewPage): Wire up the runBeforeUnloadConfirmPanel callback.
1260
1261 2017-05-30  Jonathan Bedard  <jbedard@apple.com>
1262
1263         webkitpy: Start servers before setting-up for testing
1264         https://bugs.webkit.org/show_bug.cgi?id=172176
1265         <rdar://problem/32225538>
1266
1267         Reviewed by Alexey Proskuryakov.
1268
1269         On-device testing requires that servers are started before ports set-up their
1270         test environments.
1271
1272         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1273         (LayoutTestRunner.__init__): Start servers when initializing LayoutTestRunner.
1274         Servers are unconditionally stopped on exit.
1275         (LayoutTestRunner.run_tests): Move the starting of servers to the initializer. The
1276         Manager now stops servers.
1277         (LayoutTestRunner.start_servers): Set flag to indicate servers are running.
1278         (LayoutTestRunner.stop_servers): Check flag, only shutdown servers if they are shutdown.
1279         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1280         (Manager.__init__): Delay construction of the test runner until we can determine
1281         if servers need to be started.
1282         (Manager.run): Determine if servers need to be started and construct the test runner.
1283         Shut servers down when the test run is finished.
1284         (Manager._run_tests): Move the determination of servers to run into Manager.run.
1285         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
1286         (is_wpt_server_running): Server is not running if no config is found.
1287         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
1288         (PyWebSocket.is_running): Check if this WebSocket server is running.
1289         * Scripts/webkitpy/port/base.py:
1290         (Port.__init__): Define secure WebSocket server.
1291         (Port.to.is_websocket_server_running): Check if WebSocket servers are defined.
1292
1293 2017-05-30  Daniel Bates  <dabates@apple.com>
1294
1295         [WK2] Add runBeforeUnloadConfirmPanel WKUIDelegate SPI; support onbeforeunload confirm panel in MiniBrowser
1296         https://bugs.webkit.org/show_bug.cgi?id=172603
1297         <rdar://problem/32471306>
1298
1299         Reviewed by Brady Eidson.
1300
1301         Implement the -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: delegate
1302         method in MiniBrowser to show a confirm panel as to whether to allow the unloading of the page when
1303         unloading is initiated for a page that registered a onbeforeunload handler.
1304
1305         Modify TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm to test that the -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:
1306         is called. Also fix style nit; pass YES instead of true to avoid implicit conversion from bool to BOOL
1307         when invoking the completion handler in -_webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:.
1308
1309         Until we fix <https://bugs.webkit.org/show_bug.cgi?id=172614> the unit test in TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm
1310         for -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: is only run on Mac
1311         as we do not have the infrastructure to simulate a click/tap on iOS and a click/tap on the page that
1312         registered an onbeforeunload handler is required to show a confirm panel when the page will be unloaded.
1313
1314         * MiniBrowser/mac/WK2BrowserWindowController.m:
1315         (-[WK2BrowserWindowController _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
1316         * TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html:
1317         * TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm:
1318         (sawDialog):
1319         (-[ModalAlertsUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
1320         (-[ModalAlertsUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
1321         (-[ModalAlertsUIDelegate _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
1322
1323 2017-05-30  Alex Christensen  <achristensen@webkit.org>
1324
1325         Update libwebrtc configuration
1326         https://bugs.webkit.org/show_bug.cgi?id=172727
1327
1328         Reviewed by Geoffrey Garen.
1329
1330         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1331
1332 2017-05-30  Fujii Hironori  <Hironori.Fujii@sony.com>
1333
1334         [WinCairo] TestWebKitAPI: ASSERTION FAILED: m_eglDisplay == EGL_NO_DISPLAY
1335         https://bugs.webkit.org/show_bug.cgi?id=172702
1336
1337         Reviewed by Alex Christensen.
1338
1339         EGL PlatformDisplay needs to be shut down before existing a
1340         program on Windows.
1341
1342         * TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp:
1343         (TestWebKitAPI::ScaleWebView::TearDown): Call shutDownWebKit().
1344         * TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp:
1345         (TestWebKitAPI::WebViewDestruction::TearDown): Ditto.
1346
1347 2017-05-30  Per Arne Vollan  <pvollan@apple.com>
1348
1349         [Win] fast/shadow-dom/fullscreen-in-slot-fullscreenElement.html is flaky.
1350         https://bugs.webkit.org/show_bug.cgi?id=172709
1351
1352         Reviewed by Brent Fulgham.
1353
1354         Exit fullscreen mode after a fullscreen test.
1355
1356         * DumpRenderTree/win/DumpRenderTree.cpp:
1357         (resetWebViewToConsistentStateBeforeTesting):
1358
1359 2017-05-30  Antti Koivisto  <antti@apple.com>
1360
1361         ASSERTION FAILED: !needsLayout() in com.apple.WebCore: WebCore::FrameView::paintContents in fast/events/tabindex-focus-blur-all.html on WK1
1362         https://bugs.webkit.org/show_bug.cgi?id=172713
1363
1364         Reviewed by Zalan Bujtas.
1365
1366         * DumpRenderTree/mac/ResourceLoadDelegate.mm:
1367         (-[ResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
1368
1369             Remove forced display from plugin resource load delegate. It is testing some long-obsolete
1370             Safari WK1 behavior. Forcing display from this resource load delegate will hit the assertion
1371             because on Mac WK1 it may get invoked from middle of a layout.
1372
1373             Painting code skips out after the assert so it doesn't indicate unsafe access of any sort.
1374
1375 2017-05-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1376
1377         Add a WPE EWS queue
1378         https://bugs.webkit.org/show_bug.cgi?id=172693
1379
1380         Reviewed by Carlos Garcia Campos.
1381
1382         * QueueStatusServer/config/queues.py:
1383         * QueueStatusServer/model/queues.py: Capitalize the name of the
1384         port on the tooltip of the bubbles. Do the same for the GTK port.
1385         (Queue.display_name):
1386         * Scripts/webkitpy/common/config/ews.json: Update the watcher mail
1387         for the GTK+ EWS also. Set for both ports as watcher the alias
1388         bugs-noreply@webkitgtk.org that maintainers of both ports follow.
1389         * Scripts/webkitpy/common/config/ports.py:
1390         (DeprecatedPort.port):
1391         (WpePort):
1392         (WpePort.build_webkit_command):
1393         (WpePort.run_webkit_tests_command):
1394         * Scripts/webkitpy/common/config/ports_unittest.py:
1395         (DeprecatedPortTest):
1396         (DeprecatedPortTest.test_wpe_port):
1397         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
1398         (test_ews_name):
1399
1400 2017-05-29  Zan Dobersek  <zdobersek@igalia.com>
1401
1402         Unreviewed. Bumping the WPEBackend-mesa dependency version.
1403
1404         * wpe/jhbuild.modules: Use the latest version that uses proper GLib
1405         priorities for IPC communication.
1406
1407 2017-05-27  Yusuke Suzuki  <utatane.tea@gmail.com>
1408
1409         [JSC] Map and Set constructors should have fast path for cloning
1410         https://bugs.webkit.org/show_bug.cgi?id=172413
1411
1412         Reviewed by Saam Barati.
1413
1414         * TestWebKitAPI/Tests/WTF/MathExtras.cpp:
1415         (TestWebKitAPI::TEST):
1416
1417 2017-05-27  Zalan Bujtas  <zalan@apple.com>
1418
1419         enclosingIntRect returns a rect with -1 width/height when the input FloatRect overflows integer.
1420         https://bugs.webkit.org/show_bug.cgi?id=172676
1421
1422         Reviewed by Simon Fraser.
1423
1424         * TestWebKitAPI/Tests/WebCore/FloatRect.cpp:
1425         (TestWebKitAPI::TEST):
1426
1427 2017-05-26  Zalan Bujtas  <zalan@apple.com>
1428
1429         TestWebKitAPI: EnclosingIntRect and RoundedIntRect should use EXPECT_EQ.
1430         https://bugs.webkit.org/show_bug.cgi?id=172674
1431
1432         Reviewed by Simon Fraser.
1433
1434         * TestWebKitAPI/Tests/WebCore/FloatRect.cpp:
1435         (TestWebKitAPI::TEST):
1436
1437 2017-05-26  Wenson Hsieh  <wenson_hsieh@apple.com>
1438
1439         Add test resources back into TestWebKitAPI Copy Resources phase
1440
1441         Rubber-stamped by Beth Dakin.
1442
1443         Add two files back into the Copy Resources phase after they were unintentionally
1444         removed in r217447 and r217496.
1445
1446         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1447
1448 2017-05-26  Beth Dakin  <bdakin@apple.com>
1449
1450         Media documents inside iframes should not get controls in the TouchBar unless the 
1451         video is playing
1452         https://bugs.webkit.org/show_bug.cgi?id=172620
1453         -and corresponding-
1454         rdar://problem/32165477
1455
1456         Reviewed by Jon Lee.
1457
1458         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1459         * TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
1460         (TestWebKitAPI::TEST):
1461         * TestWebKitAPI/Tests/WebKit2Cocoa/offscreen-iframe-of-media-document.html: Added.
1462
1463 2017-05-25  Joseph Pecoraro  <pecoraro@apple.com>
1464
1465         _WKUserStyleSheet and WKUserScript leak string data
1466         https://bugs.webkit.org/show_bug.cgi?id=172583
1467         <rdar://problem/32395209>
1468
1469         Reviewed by Sam Weinig.
1470
1471         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
1472         We should not have been adopting an autoreleased object.
1473
1474 2017-05-25  Myles C. Maxfield  <mmaxfield@apple.com>
1475
1476         [WK1] iframes in layer-backed NSViews are not cleared between successive draws
1477         https://bugs.webkit.org/show_bug.cgi?id=172554
1478         <rdar://problem/31247133>
1479
1480         Reviewed by Simon Fraser.
1481
1482         Previously, there was no way to make DumpRenderTree's views layer-backed. Unfortunately,
1483         simply setting [WebView setWantsLayer:] is insufficient; turning it on and then off again
1484         leaves some state around inside the NSWindow which isn't easily cleaned up. Instead,
1485         we should just tear down and rebuild the window whenever we need a layer-backed WebView.
1486         We can also use the "webkit-test-runner" header comment to trigger this new layer-backed
1487         codepath.
1488
1489         * DumpRenderTree/TestOptions.h:
1490         * DumpRenderTree/TestOptions.mm:
1491         (TestOptions::TestOptions):
1492         (TestOptions::webViewIsCompatibleWithOptions):
1493         * DumpRenderTree/mac/DumpRenderTree.mm:
1494         (shouldIgnoreWebCoreNodeLeaks):
1495         (allowedFontFamilySet):
1496         (-[DRTMockScroller rectForPart:]):
1497         (-[DRTMockScroller drawKnob]):
1498         (-[DRTMockScroller drawRect:]):
1499         (createWebViewAndOffscreenWindow):
1500         (initializeGlobalsFromCommandLineOptions):
1501         (prepareConsistentTestingEnvironment):
1502         (dumpRenderTree):
1503         (dumpAudio):
1504         (dumpHistoryItem):
1505         (dumpBackForwardListForWebView):
1506         (resetWebViewToConsistentStateBeforeTesting):
1507         (WebThreadLockAfterDelegateCallbacksHaveCompleted):
1508         (runTest):
1509
1510 2017-05-25  Sam Weinig  <sam@webkit.org>
1511
1512         [WebIDL] Use the term 'operation' more consistently
1513         https://bugs.webkit.org/show_bug.cgi?id=172601
1514
1515         Reviewed by Chris Dumez.
1516
1517         We were using the term 'operation', a WebIDL term for function-like
1518         constructs, inconsistently in the code generator. Now, when we use
1519         'operation' when referring to the IDL concept (usually the object the
1520         parser produces) and 'function' when referring to code being generated.
1521
1522         * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
1523         * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
1524
1525 2017-05-25  Jer Noble  <jer.noble@apple.com>
1526
1527         Unreviewed build fix after r217447; only run test where JSC's ObjC API is available.
1528
1529         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
1530
1531 2017-05-25  Jer Noble  <jer.noble@apple.com>
1532
1533         System sleeps while playing to wireless target, ending stream.
1534         https://bugs.webkit.org/show_bug.cgi?id=172541
1535
1536         Reviewed by Eric Carlson.
1537
1538         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1539         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.html: Added.
1540         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm: Added.
1541         (-[MediaPlaybackSleepAssertionLoadDelegate webView:didCreateJavaScriptContext:forFrame:]):
1542         (-[MediaPlaybackSleepAssertionPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
1543         (TestWebKitAPI::simulateKeyDown):
1544         (TestWebKitAPI::hasAssertionType):
1545         (TestWebKitAPI::TEST):
1546
1547 2017-05-25  Commit Queue  <commit-queue@webkit.org>
1548
1549         Unreviewed, rolling out r217423 and r217424.
1550         https://bugs.webkit.org/show_bug.cgi?id=172607
1551
1552         These caused an api failure on all testers. (Requested by
1553         mlewis13 on #webkit).
1554
1555         Reverted changesets:
1556
1557         "REGRESSION (r216977): 4 leaks introduced in new
1558         WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test"
1559         https://bugs.webkit.org/show_bug.cgi?id=172558
1560         http://trac.webkit.org/changeset/217423
1561
1562         "REGRESSION (r217423): Fix last-second typo in 'auto'"
1563         http://trac.webkit.org/changeset/217424
1564
1565 2017-05-25  Joanmarie Diggs  <jdiggs@igalia.com>
1566
1567         [ATK] Expose doc-footnote ARIA role with ATK_ROLE_FOOTNOTE
1568         https://bugs.webkit.org/show_bug.cgi?id=172355
1569
1570         Reviewed by Chris Fleizach.
1571
1572         Add map ATK_ROLE_FOOTNOTE to "AXFootnote" and bump jhbuild minimum
1573         versions of atk, at-spi2-core, and at-spi2-atk to 2.25.2 (the earliest
1574         releases which support the new platform footnote accessibility role.
1575
1576         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
1577         * gtk/jhbuild.modules:
1578
1579 2017-05-25  David Kilzer  <ddkilzer@apple.com>
1580
1581         REGRESSION (r217423): Fix last-second typo in 'auto'
1582
1583         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
1584         (WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test): Fix typo.
1585
1586 2017-05-24  David Kilzer  <ddkilzer@apple.com>
1587
1588         REGRESSION (r216977): 4 leaks introduced in new WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test
1589         <https://webkit.org/b/172558>
1590
1591         Reviewed by Sam Weinig.
1592
1593         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
1594         (WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test): Fix the leaks.
1595
1596 2017-05-24  Don Olmstead  <don.olmstead@am.sony.com>
1597
1598         [CMake] Consolidate CMake code related to Cairo
1599         https://bugs.webkit.org/show_bug.cgi?id=172568
1600
1601         Reviewed by Alex Christensen.
1602
1603         * DumpRenderTree/config.h:
1604         * TestWebKitAPI/config.h:
1605
1606 2017-05-24  Wenson Hsieh  <wenson_hsieh@apple.com>
1607
1608         Plumb additional image metadata to item providers when beginning data interaction on an image
1609         https://bugs.webkit.org/show_bug.cgi?id=172536
1610         <rdar://problem/32371300>
1611
1612         Reviewed by Beth Dakin.
1613
1614         Tweak existing image data interaction tests to check for suggested name and estimated size on the generated
1615         source item providers.
1616
1617         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1618         (checkSuggestedNameAndEstimatedSize):
1619         (TestWebKitAPI::TEST):
1620
1621 2017-05-24  Per Arne Vollan  <pvollan@apple.com>
1622
1623         [Win] Create unique network storage session for each DRT.
1624         https://bugs.webkit.org/show_bug.cgi?id=172540
1625
1626         Reviewed by Brent Fulgham.
1627
1628         During layout testing, each DRT instance should have its own network storage session.
1629
1630         * DumpRenderTree/win/DumpRenderTree.cpp:
1631         (prepareConsistentTestingEnvironment):
1632
1633 2017-05-24  Wenson Hsieh  <wenson_hsieh@apple.com>
1634
1635         Respect image UTIs when writing to item providers when beginning data interaction on an image
1636         https://bugs.webkit.org/show_bug.cgi?id=172436
1637         <rdar://problem/31786569>
1638
1639         Reviewed by Beth Dakin.
1640
1641         Tweaks existing unit tests and adds a new test for image data interaction. See WebCore ChangeLog for more
1642         details.
1643
1644         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1645         * TestWebKitAPI/Tests/WebKit2Cocoa/apple.gif: Added.
1646         * TestWebKitAPI/Tests/WebKit2Cocoa/gif-and-file-input.html: Added.
1647
1648         Create a new test page containing a GIF and a file input.
1649
1650         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1651         (checkTypeIdentifierIsRegisteredAtIndex):
1652         (TestWebKitAPI::TEST):
1653
1654 2017-05-23  Per Arne Vollan  <pvollan@apple.com>
1655
1656         [Win] Increase test timeout for slow tests.
1657         https://bugs.webkit.org/show_bug.cgi?id=172449
1658
1659         Reviewed by Alexey Proskuryakov.
1660
1661         Instead of using a fixed timeout of 30 seconds for all tests, we should use the
1662         timeout member in the TestRunner class.
1663
1664         * DumpRenderTree/win/TestRunnerWin.cpp:
1665         (TestRunner::setWaitToDump):
1666
1667 2017-05-15  Matt Rajca  <mrajca@apple.com>
1668
1669         Replace autoplay events that fire at navigation with a DidAutoplayMediaPastThreshold event.
1670         https://bugs.webkit.org/show_bug.cgi?id=172138
1671
1672         Reviewed by Alex Christensen.
1673
1674         Added API tests.
1675
1676         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1677         * TestWebKitAPI/Tests/WebKit2/js-autoplay-audio.html: Added.
1678         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
1679         (TEST):
1680         * TestWebKitAPI/Tests/WebKit2Cocoa/silence-long.m4a: Added.
1681
1682 2017-05-23  Simon Fraser  <simon.fraser@apple.com>
1683
1684         Stop consulting -viewsNeedDisplay when doing layer flushing in WebKit1
1685         https://bugs.webkit.org/show_bug.cgi?id=172522
1686         rdar://problem/31071812
1687
1688         Reviewed by Sam Weinig.
1689
1690         Remove NSWindowStyleMaskFullSizeContentView which is no longer referenced in code.
1691         We set this in the .xib file now.
1692
1693         * MiniBrowser/mac/MiniBrowser_Prefix.pch:
1694
1695 2017-05-22  Simon Fraser  <simon.fraser@apple.com>
1696
1697         Snapshotting via -renderInContext: should do synchronous image decodes
1698         https://bugs.webkit.org/show_bug.cgi?id=172485
1699         rdar://problem/32276146
1700
1701         Reviewed by Tim Horton.
1702
1703         New API test.
1704
1705         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1706         * TestWebKitAPI/Tests/WebKit/ios/SnapshotViaRenderInContext.mm: Added.
1707         (-[RenderInContextWebViewDelegate webViewDidFinishLoad:]):
1708         (-[RenderInContextWebViewDelegate webView:didFailLoadWithError:]):
1709         (TestWebKitAPI::getPixelIndex):
1710         (TestWebKitAPI::TEST):
1711
1712 2017-05-23  Myles C. Maxfield  <mmaxfield@apple.com>
1713
1714         Remove dead ENABLE(FONT_LOAD_EVENTS) code
1715         https://bugs.webkit.org/show_bug.cgi?id=172517
1716
1717         Rubber-stamped by Simon Fraser.
1718
1719         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1720
1721 2017-05-23  Wenson Hsieh  <wenson_hsieh@apple.com>
1722
1723         Multiple links should be inserted separately when performing data interaction
1724         https://bugs.webkit.org/show_bug.cgi?id=172489
1725         <rdar://problem/31510832>
1726
1727         Reviewed by Dan Bernstein.
1728
1729         Adds a new test that performs data interaction in a contenteditable with multiple items containing URLs.
1730
1731         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1732         (TestWebKitAPI::TEST):
1733
1734 2017-05-23  Tim Horton  <timothy_horton@apple.com>
1735
1736         REGRESSION: API test WebKit2.WKObject is failing
1737         https://bugs.webkit.org/show_bug.cgi?id=172497
1738         <rdar://problem/31694641>
1739
1740         Reviewed by Geoff Garen.
1741
1742         * TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm:
1743         (TestWebKitAPI::TEST):
1744         Add a test that ensures that we pretend to at least be *some* kind of
1745         NSString, which my first fix would not have passed.
1746
1747 2017-05-23  youenn fablet  <youenn@apple.com>
1748
1749         There should be an easy way to run HTTP/WPT served tests on a browser
1750         https://bugs.webkit.org/show_bug.cgi?id=172068
1751
1752         Reviewed by Sam Weinig.
1753
1754         Adding a new script open-layout-test to open a layout-test in a
1755         browser and making sure it is served as done through run-webkit-tests.
1756         In case tests should be run using a server, detecting whether the
1757         server are running. If not, calling run-webkit-httpd to run the
1758         servers and open the URL in a browser.
1759         Otherwise, open directly the URL.
1760
1761         Adding an option in run-webkit-httpd to open an URL after having
1762         started the servers.
1763
1764         Adding the --no-http-servers option in run-webkit-tests to not start any HTTP server.
1765         This allows running run-webkit-httpd once and not having to restart
1766         servers everytime a test should be served.
1767
1768         Moving most of run-webkit-httpd logic in its own python file to reuse
1769         it in open-layout-test script.
1770
1771         Adding routines to check whether HTTP and WPT servers are running.
1772
1773         * Scripts/open-layout-test: Added.
1774         (parse_args):
1775         (main):
1776         * Scripts/run-webkit-httpd:
1777         (main):
1778         * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
1779         (LayoutTestFinder.find_tests):
1780         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1781         (LayoutTestRunner.run_tests):
1782         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1783         (parse_args):
1784         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
1785         (HttpServerBase._is_server_running_on_all_ports):
1786         (HttpServerBase):
1787         (HttpServerBase._is_running_on_port):
1788         (HttpServerBase._check_that_all_ports_are_available):
1789         (is_http_server_running):
1790         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py: Copied from Tools/Scripts/run-webkit-httpd.
1791         (parse_args):
1792         (main):
1793         (run_server):
1794         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
1795         (is_wpt_server_running):
1796         * Scripts/webkitpy/port/base.py:
1797         (Port.to.is_http_server_running):
1798         (Port.to):
1799         (Port.to.is_wpt_server_running):
1800         (Port.to.start_web_platform_test_server):
1801         * Scripts/webkitpy/port/driver.py:
1802         (DriverProxy.is_web_platform_test):
1803         (DriverProxy):
1804         (DriverProxy.is_webkit_specific_web_platform_test):
1805
1806 2017-05-23  Emilio Cobos Álvarez  <ecobos@igalia.com>
1807
1808         Add a RuntimeEnabledFeature for display: contents, defaulted to false.
1809         https://bugs.webkit.org/show_bug.cgi?id=171984
1810
1811         Reviewed by Antti Koivisto.
1812
1813         * DumpRenderTree/mac/DumpRenderTree.mm:
1814         (enableExperimentalFeatures):
1815         * WebKitTestRunner/TestController.cpp:
1816         (WTR::TestController::resetPreferencesToConsistentValues):
1817
1818 2017-05-20  Alex Christensen  <achristensen@webkit.org>
1819
1820         REGRESSION(r215686): O(n^2) algorithm in CachedRawResource::addDataBuffer
1821         https://bugs.webkit.org/show_bug.cgi?id=172406
1822         <rdar://32109532>
1823
1824         Reviewed by Brady Eidson.
1825
1826         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
1827         (TestWebKitAPI::checkBuffer):
1828         (TestWebKitAPI::TEST_F):
1829
1830 2017-05-22  Jason Marcell  <jmarcell@apple.com>
1831
1832         Do not enter Subversion-specific logic when parsing Git-based Trac data.
1833         https://bugs.webkit.org/show_bug.cgi?id=172433
1834         <rdar://problem/32234188>
1835
1836         Reviewed by Alexey Proskuryakov.
1837
1838         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
1839         (Trac.prototype._convertCommitInfoElementToObject):
1840
1841 2017-05-22  Tim Horton  <timothy_horton@apple.com>
1842
1843         ExplicitSnapshotsChangeUponNavigation API test often fails
1844         https://bugs.webkit.org/show_bug.cgi?id=172475
1845         <rdar://problem/31688322>
1846
1847         Reviewed by Simon Fraser.
1848
1849         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1850         (-[TestWKWebView _setUpTestWindow:]):
1851         Make TestWKWebView's window layer-backed. This is now the default,
1852         and it's also easy to accidentally write a test that depends on it
1853         (for example, ExplicitSnapshotsChangeUponNavigation adds an NSBox,
1854         which becomes layer backed, just like the WKWebView, but with no
1855         common layer-backed ancestor).
1856
1857 2017-05-22  youenn fablet  <youenn@apple.com>
1858
1859         Resync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
1860         https://bugs.webkit.org/show_bug.cgi?id=172426
1861
1862         Reviewed by Chris Dumez.
1863
1864         * Scripts/webkitpy/w3c/test_importer.py:
1865         (TestImporter.remove_deleted_files): Outputting warning when trying to delete a file that no longer exists.
1866
1867 2017-05-22  Konstantin Tokarev  <annulen@yandex.ru>
1868
1869         Unreviewed, change my status to reviewer and fill "expertise" field
1870
1871         * Scripts/webkitpy/common/config/contributors.json:
1872
1873 2017-05-22  Tomas Popela  <tpopela@redhat.com>
1874
1875         Remove some of the EFL port leftovers
1876         https://bugs.webkit.org/show_bug.cgi?id=172440
1877
1878         Reviewed by Carlos Garcia Campos.
1879
1880         * BuildSlaveSupport/built-product-archive:
1881         (archiveBuiltProduct):
1882         (extractBuiltProduct):
1883         * BuildSlaveSupport/test-result-archive:
1884         (archiveTestResults):
1885         * ImageDiff/PlatformEfl.cmake: Removed.
1886         * Scripts/run-efl-tests: Removed.
1887         * Scripts/webkit-build-directory:
1888         * Scripts/webkitpy/common/config/contributionareas.py:
1889         * Scripts/webkitpy/common/config/watchlist:
1890         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1891         (parse_args):
1892         (_set_up_derived_options):
1893         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
1894         (PerfTestsRunner.__init__):
1895         * Scripts/webkitpy/style/checker.py:
1896         * Scripts/webkitpy/style/checker_unittest.py:
1897         (GlobalVariablesTest.test_path_rules_specifier):
1898         * gtk/manifest.txt.in:
1899         * jhbuild/jhbuild-wrapper:
1900
1901 2017-05-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1902
1903         Unreviewed. Do not include WPE files in GTK+ tarballs.
1904
1905         * gtk/manifest.txt.in:
1906
1907 2017-05-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1908
1909         [GTK] Add webkit_context_menu_item_new_from_gaction
1910         https://bugs.webkit.org/show_bug.cgi?id=159631
1911
1912         Reviewed by Michael Catanzaro.
1913
1914         Update context menu tests to check the new GAction API.
1915
1916         * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
1917         (testContextMenuPopulateMenu):
1918
1919 2017-05-21  Michael Catanzaro  <mcatanzaro@igalia.com>
1920
1921         [GTK] Remove Firefox user agent quirk for Google domains
1922         https://bugs.webkit.org/show_bug.cgi?id=171941
1923
1924         Reviewed by Carlos Garcia Campos.
1925
1926         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
1927         (TestWebKitAPI::TEST):
1928         (TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk): Deleted.
1929
1930 2017-05-20  Ting-Wei Lan  <lantw44@gmail.com>
1931
1932         [GTK] gtkdoc-fixxref needs --module argument to work
1933         https://bugs.webkit.org/show_bug.cgi?id=172415
1934
1935         Reviewed by Michael Catanzaro.
1936
1937         * gtk/gtkdoc.py:
1938         (GTKDoc._run_gtkdoc_fixxref):
1939
1940 2017-05-20  Alexey Proskuryakov  <ap@apple.com>
1941
1942         make-new-script-test should create tests that use js-test.js, not js-test-pre.js
1943         https://bugs.webkit.org/show_bug.cgi?id=172416
1944
1945         Reviewed by Daniel Bates.
1946
1947         * Scripts/make-new-script-test:
1948
1949 2017-05-19  Fujii Hironori  <Hironori.Fujii@sony.com>
1950
1951         [Win] error LNK2005: WebCore::JSNode::checkSubClassPatchpoint() already defined in WebKit.lib
1952         https://bugs.webkit.org/show_bug.cgi?id=172267
1953
1954         Reviewed by Per Arne Vollan.
1955
1956         TestWebCoreLib and TestWebKitLib have linked both WebCore and WebKit.
1957         TestWebCoreLib should link only with WebCore. And, TestWebKitLib
1958         should link only with WebKit.
1959
1960         Unfortunately, there is a layer violation at the moment.
1961         WebCore::Image::loadPlatformResource needs loadResourceIntoBuffer
1962         in WebKit. This change contains a stub of loadResourceIntoBuffer
1963         in TestWebCoreLib for the workaround.
1964
1965         * TestWebKitAPI/PlatformWin.cmake: Do not link WebKit to
1966         TestWebCoreLib. Do not link WebCore to TestWebKitLib.
1967         * TestWebKitAPI/win/TestWebCoreStubs.cpp: Added.
1968         (loadResourceIntoBuffer): Added a stub.
1969
1970 2017-05-19  Simon Fraser  <simon.fraser@apple.com>
1971
1972         Fix dump-class-layout to handle different file architectures
1973         https://bugs.webkit.org/show_bug.cgi?id=172392
1974
1975         Reviewed by Zalan Bujtas.
1976
1977         Instead of using lldb.LLDB_ARCH_DEFAULT by default, run 'file' on the binary
1978         and use the first architecture reported. Also add a "--architecture" argument
1979         to allow the user to specify an architecture.
1980
1981         * Scripts/dump-class-layout:
1982         (import_lldb):
1983         (verify_type_recursive):
1984         (get_first_file_architecture):
1985         (dump_class):
1986         (main):
1987         (find_build_directory): Deleted.
1988
1989 2017-05-19  Jonathan Bedard  <jbedard@apple.com>
1990
1991         Unreviewed infrastructure fix.
1992
1993         * Scripts/webkitpy/port/ios_simulator.py:
1994         (IOSSimulatorPort._create_devices): Ignore failure to open Simulator.app.
1995
1996 2017-05-19  Jonathan Bedard  <jbedard@apple.com>
1997
1998         webkitpy: Use simctl boot to run multiple simulators at once
1999         https://bugs.webkit.org/show_bug.cgi?id=172374
2000
2001         Reviewed by Alexey Proskuryakov.
2002
2003         * Scripts/webkitpy/common/system/platforminfo.py:
2004         (PlatformInfo.xcode_version): Return the current version of Xcode.
2005         * Scripts/webkitpy/common/system/platforminfo_mock.py:
2006         (MockPlatformInfo.xcode_version): Return version 8.0 for testing.
2007         * Scripts/webkitpy/port/ios_simulator.py:
2008         (IOSSimulatorPort.use_multiple_simulator_apps): Return true if we need to
2009         run multiple Simulator.app instances.
2010         (IOSSimulatorPort._create_simulators): Only copy the simulator app for older
2011         versions of Xcode.
2012         (IOSSimulatorPort._create_devices): Use 'simctl boot' directly unless using
2013         an older version of Xcode.
2014
2015 2017-05-19  Wenson Hsieh  <wenson_hsieh@apple.com>
2016
2017         Unreviewed, fix the build on the latest internal SDK.
2018
2019         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2020         (TestWebKitAPI::TEST):
2021
2022 2017-05-19  Filip Pizlo  <fpizlo@apple.com>
2023
2024         arrayProtoPrivateFuncConcatMemcpy needs to be down with firstArray being undecided
2025         https://bugs.webkit.org/show_bug.cgi?id=172369
2026
2027         Reviewed by Mark Lam.
2028         
2029         Because I wrote a test that relies on the NoCJIT config scribbling free cells, I thought it
2030         would be a good idea to write this down.
2031
2032         * Scripts/run-jsc-stress-tests:
2033
2034 2017-05-19  Jonathan Bedard  <jbedard@apple.com>
2035
2036         webkitpy: Layout tests which have no output will succeed
2037         https://bugs.webkit.org/show_bug.cgi?id=172322
2038         <rdar://problem/32258350>
2039
2040         Reviewed by David Kilzer.
2041
2042         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
2043         (SingleTestRunner._compare_text): Add FailreNotTested to failures if test has no output.
2044         * Scripts/webkitpy/layout_tests/models/test_failures.py:
2045         (determine_result_type): FailureNotTested means that the test could not be loaded. This
2046         is classified as a MISSING failure.
2047         (FailureNotTested): Added.
2048         (FailureNotTested.message):
2049
2050 2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
2051
2052         Add SixSpeed benchmark to PerformanceTests
2053         https://bugs.webkit.org/show_bug.cgi?id=172326
2054
2055         Reviewed by Sam Weinig.
2056
2057         * Scripts/run-jsc-benchmarks:
2058
2059 2017-05-19  Wenson Hsieh  <wenson_hsieh@apple.com>
2060
2061         [WK1] MiniBrowser should navigate when handling a dropped URL
2062         https://bugs.webkit.org/show_bug.cgi?id=172350
2063
2064         Reviewed by Tim Horton.
2065
2066         Allow all drop actions, including URL navigation, for WebKit1 MiniBrowser.
2067
2068         * MiniBrowser/mac/WK1BrowserWindowController.m:
2069         (-[WK1BrowserWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
2070
2071 2017-05-18  Ryosuke Niwa  <rniwa@webkit.org>
2072
2073         REGRESSION (r216694 - 216712): Performance test Speedometer/Full.html is failing
2074         https://bugs.webkit.org/show_bug.cgi?id=172077
2075
2076         Reviewed by Chris Dumez.
2077
2078         Fixed perftest.py by updating the lines to ignore in Speedometer.
2079
2080         Also start report the results as "Speedometer" instead of "DoYouEvenBench/Full.html" to perf.webkit.org.
2081
2082         * Scripts/webkitpy/performance_tests/perftest.py:
2083         (PerfTest._lines_to_ignore_in_parser_result): Updated for Speedometer 2.0.
2084         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
2085         (PerfTestsRunner._collect_tests): Use "Speedometer" instead of "Speedometer/index.html" as the test name.
2086         (_generate_results_dict): Removed the workaround to keep reporting Speedometer as DoYouEvenBench.
2087         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
2088         (MainTest.test_collect_tests_with_index_html_and_resources): Added.
2089
2090 2017-05-18  Andy Estes  <aestes@apple.com>
2091
2092         ENABLE(APPLE_PAY_DELEGATE) should be NO on macOS Sierra and earlier
2093         https://bugs.webkit.org/show_bug.cgi?id=172305
2094
2095         Reviewed by Anders Carlsson.
2096
2097         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2098
2099 2017-05-18  Wenson Hsieh  <wenson_hsieh@apple.com>
2100
2101         Selection around attachment elements should not persist when beginning a drag
2102         https://bugs.webkit.org/show_bug.cgi?id=172319
2103         <rdar://problem/32283008>
2104
2105         Reviewed by Tim Horton.
2106
2107         Tests that temporary selection around an attachment does not persist longer than it needs to.
2108
2109         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2110         (TestWebKitAPI::TEST):
2111
2112 2017-05-18  John Wilander  <wilander@apple.com>
2113
2114         Resource Load Statistics: Grandfather domains for existing data records
2115         https://bugs.webkit.org/show_bug.cgi?id=172155
2116         <rdar://problem/24913532>
2117
2118         Reviewed by Alex Christensen.
2119
2120         Adds test infrastructure needed for the added functionality.
2121
2122         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2123         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2124         (WTR::InjectedBundle::didReceiveMessageToPage):
2125         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2126         (WTR::TestRunner::setStatisticsGrandfathered):
2127         (WTR::TestRunner::isStatisticsGrandfathered):
2128         (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback):
2129         (WTR::TestRunner::statisticsDidScanDataRecordsCallback):
2130         (WTR::TestRunner::setStatisticsGrandfatheringTime):
2131         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2132         * WebKitTestRunner/TestController.cpp:
2133         (WTR::TestController::setStatisticsGrandfathered):
2134         (WTR::TestController::isStatisticsGrandfathered):
2135         (WTR::TestController::setStatisticsGrandfatheringTime):
2136         * WebKitTestRunner/TestController.h:
2137         * WebKitTestRunner/TestInvocation.cpp:
2138         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2139
2140 2017-05-18  Saam Barati  <sbarati@apple.com>
2141
2142         WebAssembly: perform stack checks
2143         https://bugs.webkit.org/show_bug.cgi?id=165546
2144         <rdar://problem/29760307>
2145
2146         Reviewed by Filip Pizlo.
2147
2148         Add some new testing modes for using and not using fast TLS wasm contexts.
2149
2150         * Scripts/run-jsc-stress-tests:
2151
2152 2017-05-18  Daniel Bates  <dabates@apple.com>
2153
2154         REGRESSION (r209608): Cross-origin plugin document opened in child window blocked by parent
2155         window CSP when object-src 'none' is set
2156         https://bugs.webkit.org/show_bug.cgi?id=172038
2157         <rdar://problem/32258262>
2158
2159         Reviewed by Andy Estes.
2160
2161         Teach the test Netscape plugin to look for a URL that contains plugin-document-alert-and-notify-done.pl.
2162         When it sees this URL it will show a JavaScript alert and call testRunner.notifyDone().
2163
2164         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
2165         (NPP_New):
2166
2167 2017-05-18  Per Arne Vollan  <pvollan@apple.com>
2168
2169         [Win] Many layout tests are failing.
2170         https://bugs.webkit.org/show_bug.cgi?id=172286
2171
2172         Reviewed by Brent Fulgham.
2173
2174         Add a FIXME comment about unimplemented functions, instead of writing this to the test result file.
2175  
2176         * DumpRenderTree/win/TestRunnerWin.cpp:
2177         (TestRunner::grantWebNotificationPermission):
2178         (TestRunner::denyWebNotificationPermission):
2179         (TestRunner::removeAllWebNotificationPermissions):
2180         (TestRunner::simulateWebNotificationClick):
2181
2182 2017-05-18  Don Olmstead  <don.olmstead@am.sony.com>
2183
2184         [Win] Remove usage of _snprintf
2185         https://bugs.webkit.org/show_bug.cgi?id=172251
2186
2187         Reviewed by Per Arne Vollan.
2188
2189         * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
2190         * MiniBrowser/win/PageLoadTestClient.cpp:
2191         (PageLoadTestClient::dumpRunStatistics):
2192
2193 2017-05-17  Ryan Haddad  <ryanhaddad@apple.com>
2194
2195         Unreviewed, rolling out r217014.
2196
2197         This change caused mac-wk2 LayoutTests to exit early due to
2198         crashes.
2199
2200         Reverted changeset:
2201
2202         "Resource Load Statistics: Grandfather domains for existing
2203         data records"
2204         https://bugs.webkit.org/show_bug.cgi?id=172155
2205         http://trac.webkit.org/changeset/217014
2206
2207 2017-05-17  John Wilander  <wilander@apple.com>
2208
2209         Resource Load Statistics: Grandfather domains for existing data records
2210         https://bugs.webkit.org/show_bug.cgi?id=172155
2211         <rdar://problem/24913532>
2212
2213         Reviewed by Alex Christensen.
2214
2215         Adds test infrastructure needed for the added functionality.
2216
2217         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2218         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2219         (WTR::InjectedBundle::didReceiveMessageToPage):
2220         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2221         (WTR::TestRunner::setStatisticsGrandfathered):
2222         (WTR::TestRunner::isStatisticsGrandfathered):
2223         (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback):
2224         (WTR::TestRunner::statisticsDidScanDataRecordsCallback):
2225         (WTR::TestRunner::setStatisticsGrandfatheringTime):
2226         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2227         * WebKitTestRunner/TestController.cpp:
2228         (WTR::TestController::setStatisticsGrandfathered):
2229         (WTR::TestController::isStatisticsGrandfathered):
2230         (WTR::TestController::setStatisticsGrandfatheringTime):
2231         * WebKitTestRunner/TestController.h:
2232         * WebKitTestRunner/TestInvocation.cpp:
2233         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2234
2235 2017-05-17  Alex Christensen  <achristensen@webkit.org>
2236
2237         Fix ios-simulator API test after r216977
2238         https://bugs.webkit.org/show_bug.cgi?id=171987
2239
2240         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
2241         (TEST):
2242         <rdar://problem/32260156> covers the investigation of this, but fixing it is 
2243         not as urgent as having the rest of this working. Notably the ephemeral part of the
2244         test works, so something is just wrong with the persistent part.
2245
2246 2017-05-17  Ryan Haddad  <ryanhaddad@apple.com>
2247
2248         Unreviewed, rolling out r216955.
2249
2250         This change caused strange behavior with web-platform-tests
2251         locally and on EWS.
2252
2253         Reverted changeset:
2254
2255         "webkitpy: Start servers before setting-up for testing"
2256         https://bugs.webkit.org/show_bug.cgi?id=172176
2257         http://trac.webkit.org/changeset/216955
2258
2259 2017-05-17  Wenson Hsieh  <wenson_hsieh@apple.com>
2260
2261         A URL type is vended for a non-URL plain text string when starting data interaction
2262         https://bugs.webkit.org/show_bug.cgi?id=172228
2263         <rdar://problem/32166729>
2264
2265         Reviewed by Andy Estes.
2266
2267         Adds two new data interaction tests, SinglePlainTextWordTypeIdentifiers and SinglePlainTextURLTypeIdentifiers,
2268         to verify that a URL UTI is not vended when beginning a data interaction on a single word, but that a URL is
2269         still vended when beginning data interaction on something that resembles a link.
2270
2271         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2272
2273 2017-05-17  David Kilzer  <ddkilzer@apple.com>
2274
2275         BlobDataFileReference::generateReplacementFile() should use mkstemp()
2276         <https://webkit.org/b/172192>
2277
2278         Reviewed by Brent Fulgham.
2279
2280         * Scripts/webkitpy/style/checkers/cpp.py:
2281         (check_language): Add check for mktemp.
2282         (CppChecker): Add 'security/temp_file' category.
2283         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
2284         (CppStyleTest.test_insecure_temp_file): Add test.
2285
2286 2017-05-17  Devin Rousso  <drousso@apple.com>
2287
2288         Unreviewed, change my email.
2289
2290         * Scripts/webkitpy/common/config/contributors.json:
2291
2292 2017-05-17  Matt Lewis  <jlewis3@apple.com>
2293
2294         Unreviewed, rolling out r216974.
2295
2296         Revision caused consistent timeouts on all platforms.
2297
2298         Reverted changeset:
2299
2300         "Add a RuntimeEnabledFeature for display: contents, defaulted
2301         to false."
2302         https://bugs.webkit.org/show_bug.cgi?id=171984
2303         http://trac.webkit.org/changeset/216974
2304
2305 2017-05-17  Alex Christensen  <achristensen@webkit.org>
2306
2307         Interacting with WKHTTPCookieStores before creating WKWebViews and WKProcessPools should affect cookies used
2308         https://bugs.webkit.org/show_bug.cgi?id=171987
2309
2310         Reviewed by Brady Eidson.
2311
2312         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
2313         (-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2314         (TEST):
2315
2316 2017-05-17  Emilio Cobos Álvarez  <ecobos@igalia.com>
2317
2318         Add a RuntimeEnabledFeature for display: contents, defaulted to false.
2319         https://bugs.webkit.org/show_bug.cgi?id=171984
2320
2321         Reviewed by Antti Koivisto.
2322
2323         * DumpRenderTree/mac/DumpRenderTree.mm:
2324         (enableExperimentalFeatures):
2325         * WebKitTestRunner/TestController.cpp:
2326         (WTR::TestController::resetPreferencesToConsistentValues):
2327
2328 2017-05-16  Timothy Horton  <timothy_horton@apple.com>
2329
2330         Fix the build
2331
2332         * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
2333         (TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
2334
2335 2017-05-16  Tim Horton  <timothy_horton@apple.com>
2336
2337         PageVisibilityStateWithWindowChanges tests sometimes time out
2338         https://bugs.webkit.org/show_bug.cgi?id=172202
2339         <rdar://problem/29653266>
2340
2341         Reviewed by Dean Jackson.
2342
2343         * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
2344         (TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
2345         Make sure the window is miniaturizable, otherwise, in some cases, miniaturize: will not work.
2346
2347 2017-05-16  Jonathan Bedard  <jbedard@apple.com>
2348
2349         webkitpy: Start servers before setting-up for testing
2350         https://bugs.webkit.org/show_bug.cgi?id=172176
2351         <rdar://problem/32225538>
2352
2353         Reviewed by Alexey Proskuryakov.
2354
2355         On-device testing requires that servers are started before ports set-up their
2356         test environments.
2357
2358         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
2359         (LayoutTestRunner.__init__): Start servers when initializing LayoutTestRunner.
2360         (LayoutTestRunner.run_tests): Move the starting of servers to the initializer.
2361         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2362         (Manager.__init__): Delay construction of the test runner until we can determine
2363         if servers need to be started.
2364         (Manager.run): Determine if servers need to be started and construct the test runner.
2365         (Manager._run_tests): Move the determination of servers to run into Manager.run.
2366
2367 2017-05-16  Adrian Perez de Castro  <aperez@igalia.com>
2368
2369         Unreviewed, adding myself to contributors.json
2370
2371         * Scripts/webkitpy/common/config/contributors.json:
2372
2373 2017-05-16  Claudio Saavedra  <csaavedra@igalia.com>
2374
2375         [GTK] Tests that always pass when run alone, but fail in the bots
2376         https://bugs.webkit.org/show_bug.cgi?id=168572
2377
2378         Reviewed by Michael Catanzaro.
2379
2380         PlatformWebView::viewSupportsOptions() is basically a comparison
2381         that checks that the passed options are the ones supported by the
2382         web view. There is no reason for them to be implemented for each
2383         platform differently. In fact doing so causes issues each time a
2384         new option is added, if the corresponding platform implementation
2385         is not updated accordingly.
2386
2387         A consequence of not updating the viewSupportOptions()
2388         implementations when new options are added is that tests that need
2389         these options might fail if they are executed after a test that
2390         didn't need the option, as the webview will be reused even if the
2391         option is not supported. This cannot be spotted when running the
2392         tests individually. See bug #165133 for other example of the same
2393         problem.
2394
2395         Remove the platform implementations and make the comparison a
2396         method of the TestOptions structure, so that the check is in one
2397         place. For the time being, only include in the comparison the
2398         options that were checked in the mac platform, which seem to be
2399         the only ones relevant this far (unless newer ones have also been
2400         forgotten).
2401
2402         * WebKitTestRunner/PlatformWebView.h:
2403         (WTR::PlatformWebView::viewSupportsOptions): Use the method
2404         defined below.
2405         * WebKitTestRunner/TestOptions.h:
2406         (WTR::TestOptions::hasSameInitializationOptions): Added.
2407         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
2408         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
2409         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
2410         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
2411         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
2412         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
2413         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
2414         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
2415
2416 2017-05-15  Yusuke Suzuki  <utatane.tea@gmail.com>
2417
2418         [JSC] Build testapi in non Apple ports
2419         https://bugs.webkit.org/show_bug.cgi?id=172103
2420
2421         Reviewed by Filip Pizlo.
2422
2423         Now testapi is drived in JSCOnly, GTK and WPE ports too.
2424
2425         * Scripts/build-jsc:
2426         * Scripts/run-javascriptcore-tests:
2427
2428 2017-05-15  Youenn Fablet  <youenn@apple.com>
2429
2430         WPT test importer should not account for slow manual tests
2431         https://bugs.webkit.org/show_bug.cgi?id=172127
2432
2433         Reviewed by Ryosuke Niwa.
2434
2435         Making sure manual tests are not triggering updating tests-options.json file.
2436
2437         * Scripts/webkitpy/w3c/test_importer.py:
2438         (TestImporter.find_importable_tests):
2439         (TestImporter._already_identified_as_resource_file):
2440         (TestImporter.update_tests_options):
2441         * Scripts/webkitpy/w3c/test_importer_unittest.py:
2442         (test_manual_slow_test):
2443
2444 2017-05-15  Jonathan Bedard  <jbedard@apple.com>
2445
2446         webkitpy: Some versions of simctl do not place parenthesis around runtime identifiers
2447         https://bugs.webkit.org/show_bug.cgi?id=172142
2448
2449         Reviewed by Tim Horton.
2450
2451         * Scripts/webkitpy/xcode/simulator.py:
2452         (Simulator._parse_runtimes): Newer versions of simctl output do not put parenthesis
2453         around runtime identifiers.
2454         * Scripts/webkitpy/xcode/simulator_unittest.py: Add tests for new simctl output.
2455
2456 2017-05-15  Ryosuke Niwa  <rniwa@webkit.org>
2457
2458         Update ARES-6 plan file to use the latest version
2459         https://bugs.webkit.org/show_bug.cgi?id=172139
2460
2461         Reviewed by Keith Miller.
2462
2463         Include r216538.
2464
2465         * Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan:
2466
2467 2017-05-15  Jeremy Jones  <jeremyj@apple.com>
2468
2469         Disable Picture In Picture API tests on unsupported platforms.
2470         https://bugs.webkit.org/show_bug.cgi?id=172125
2471         rdar://problem/32199477
2472
2473         Reviewed by Simon Fraser.
2474
2475         The callbacks and allowing picture-in-picture require new SPI.
2476
2477         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm:
2478
2479 2017-05-15  Brady Eidson  <beidson@apple.com>
2480
2481         [ios-simulator] API test WKWebView.ClearAppCache is failing.
2482         https://bugs.webkit.org/show_bug.cgi?id=172120
2483
2484         Unreviewed test gardening.
2485
2486         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
2487         (TEST): ios-sim needs explicit deleting of the app cache paths that I'd removed in 216805.
2488           Restoring that code fixes this.
2489
2490 2017-05-15  Timothy Horton  <timothy_horton@apple.com>
2491
2492         Null deref under WebContentReader::readURL when interacting with a file URL
2493         https://bugs.webkit.org/show_bug.cgi?id=172045
2494         <rdar://problem/25880647>
2495
2496         Reviewed by Wenson Hsieh.
2497
2498         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2499         (TestWebKitAPI::TEST):
2500         The text of the file URL is pasted because a textual version of it gets
2501         onto the pasteboard. However, this test would have crashed before. Also
2502         tests that we don't make an <a>.
2503
2504 2017-05-14  Per Arne Vollan  <pvollan@apple.com>
2505
2506         [Win] fast/cookies/local-file-can-set-cookies.html is flaky.
2507         https://bugs.webkit.org/show_bug.cgi?id=172071
2508
2509         Reviewed by Alexey Proskuryakov.
2510
2511         * DumpRenderTree/win/DumpRenderTree.cpp:
2512         (resetWebPreferencesToConsistentValues):
2513
2514 2017-05-14  Chris Dumez  <cdumez@apple.com>
2515
2516         Drop PassRefPtr class from WTF
2517         https://bugs.webkit.org/show_bug.cgi?id=172091
2518
2519         Reviewed by Alex Christensen.
2520
2521         Drop API test coverage.
2522
2523         * TestWebKitAPI/Tests/WTF/Ref.cpp:
2524         (TestWebKitAPI::TEST):
2525         (TestWebKitAPI::passWithPassRefPtr): Deleted.
2526
2527 2017-05-13  Eric Carlson  <eric.carlson@apple.com>
2528
2529         [MediaStream] deviceId constraint doesn't work with getUserMedia
2530         https://bugs.webkit.org/show_bug.cgi?id=171877
2531         <rdar://problem/31899730>
2532
2533         Reviewed by Jer Noble.
2534
2535         The device ID hash salt is now required for getUserMedia to check deviceId constraint, so
2536         implement the "checkUserMediaPermission" callback.
2537         * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
2538         (TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack):
2539         (TestWebKitAPI::checkUserMediaPermissionCallback):
2540         (TestWebKitAPI::TEST):
2541
2542         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm:
2543         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
2544
2545 2017-05-13  Chris Dumez  <cdumez@apple.com>
2546
2547         Stop using RefPtr::release()
2548         https://bugs.webkit.org/show_bug.cgi?id=172074
2549
2550         Reviewed by Geoffrey Garen.
2551
2552         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
2553         (TestWebKitAPI::TEST):
2554
2555 2017-05-13  Commit Queue  <commit-queue@webkit.org>
2556
2557         Unreviewed, rolling out r216808.
2558         https://bugs.webkit.org/show_bug.cgi?id=172075
2559
2560         caused lldb to hang when debugging (Requested by smfr on
2561         #webkit).
2562
2563         Reverted changeset:
2564
2565         "Use Mach exceptions instead of signals where possible"
2566         https://bugs.webkit.org/show_bug.cgi?id=171865
2567         http://trac.webkit.org/changeset/216808
2568
2569 2017-05-12  Alex Christensen  <achristensen@webkit.org>
2570
2571         Rename WKContentExtension to WKContentRuleList
2572         https://bugs.webkit.org/show_bug.cgi?id=172053
2573         <rdar://problem/32141005>
2574
2575         Reviewed by Geoffrey Garen.
2576
2577         * TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm:
2578         (WKContentRuleListStoreTest::SetUp):
2579         (TEST_F):
2580         (-[ContentRuleListDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2581         (WKContentExtensionStoreTest::SetUp): Deleted.
2582         (-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.
2583
2584 2017-05-12  Keith Miller  <keith_miller@apple.com>
2585
2586         Use Mach exceptions instead of signals where possible
2587         https://bugs.webkit.org/show_bug.cgi?id=171865
2588
2589         Reviewed by Mark Lam.
2590
2591         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
2592         (runThreadMessageTest):
2593         (TEST):
2594
2595 2017-05-12  Jeremy Jones  <jeremyj@apple.com>
2596
2597         Add objc version of WK2 UIPageClient setHasVideoInPictureInPicture and rename it to hasVideoInPictureInPictureDidChange.
2598         https://bugs.webkit.org/show_bug.cgi?id=172048
2599         rdar://problem/32163054
2600
2601         Reviewed by Simon Fraser.
2602
2603         Add a WKWebView test for hasVideoInPictureInPictureDidChange UIDelegate callback.
2604
2605         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html:
2606         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm:
2607         (hasVideoInPictureInPictureDidChange):
2608         (-[PictureInPictureUIDelegate _webView:hasVideoInPictureInPictureDidChange:]):
2609         (-[PictureInPictureUIDelegate userContentController:didReceiveScriptMessage:]):
2610         (TestWebKitAPI::TEST):
2611
2612 2017-05-12  Brady Eidson  <beidson@apple.com>
2613
2614         REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
2615         https://bugs.webkit.org/show_bug.cgi?id=172030
2616
2617         Unreviewed - Test gardening
2618
2619         Try to resolve this once and for all by using the WebsiteDataStore API to nuke everything
2620         before the test starts.
2621
2622         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
2623         (defaultWebsiteCacheDirectory):
2624         (defaultApplicationCacheDirectory):
2625         (TEST):
2626         (defaultWebsiteDataDirectory): Deleted.
2627
2628 2017-05-12  David Quesada  <david_quesada@apple.com>
2629
2630         Add SPI for overriding WKWebView's clipping behavior for _visibleContentRect
2631         https://bugs.webkit.org/show_bug.cgi?id=172000
2632         rdar://problem/32144756
2633
2634         Reviewed by Simon Fraser.
2635
2636         Added API tests to verify that WKWebView provides the expected value for
2637         _visibleContentRect in various configurations. (i.e. not inside a scrollview,
2638         inside a scrollview but not clipped, clipped by an ancestor scrollview,
2639         clipped by the webview's _enclosingViewForExposedRectComputation)
2640
2641         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2642         * TestWebKitAPI/Tests/WebKit2Cocoa/VisibleContentRect.mm: Added.
2643         (-[TestWKWebViewWithEnclosingView _enclosingViewForExposedRectComputation]):
2644         (TestWebKitAPI::TEST):
2645
2646 2017-05-12  Brady Eidson  <beidson@apple.com>
2647
2648         REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
2649         https://bugs.webkit.org/show_bug.cgi?id=172030
2650
2651         Unreviewed - Test gardening, in effect...
2652
2653         More exploration as to why this continues to fail on the bots.
2654         
2655         This change should give us a smoking gun.
2656         
2657         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
2658         (TEST):
2659
2660 2017-05-12  Hyungwook Lee  <hyungwook.lee@navercorp.com>
2661
2662         [GTK] Fix compile warnings in PlatformImageCairo.cpp
2663         https://bugs.webkit.org/show_bug.cgi?id=171850
2664
2665         Reviewed by Michael Catanzaro.
2666
2667         * ImageDiff/cairo/PlatformImageCairo.cpp:
2668         (ImageDiff::PlatformImage::createFromStdin):
2669         (ImageDiff::PlatformImage::writeAsPNGToStdout):
2670
2671 2017-05-12  Jeremy Jones  <jeremyj@apple.com>
2672
2673         Add UIClient callback for when picture-in-picture is activated.
2674         https://bugs.webkit.org/show_bug.cgi?id=172023
2675
2676         Reviewed by Simon Fraser.
2677
2678         Added a test for WKPageUIClientV10 setHasVideoInPictureInPicture.
2679
2680         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2681         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html: Added.
2682         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm: Added.
2683         (onLoadedCompletedCallback):
2684         (waitUntilOnLoadIsCompleted):
2685         (didFinishLoadForFrame):
2686         (setHasVideoInPictureInPicture):
2687         (TestWebKitAPI::TEST):
2688
2689 2017-05-12  Jonathan Bedard  <jbedard@apple.com>
2690
2691         Unreviewed follow-up to r216776.
2692
2693         * Scripts/webkitpy/port/base.py:
2694         (Port.path_to_crash_logs): Raise not implemented.
2695         * Scripts/webkitpy/port/test.py:
2696         (TestPort.path_to_crash_logs): Return results directory as the location of crash logs.
2697         * Scripts/webkitpy/port/win.py:
2698         (WinPort.path_to_crash_logs): Ditto.
2699
2700 2017-05-12  Alexey Proskuryakov  <ap@apple.com>
2701
2702         Bot watcher's dashboard shows results links twice sometimes
2703         https://bugs.webkit.org/show_bug.cgi?id=172043
2704
2705         Reviewed by Tim Horton.
2706
2707         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
2708         (BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
2709
2710 2017-05-12  Brady Eidson  <beidson@apple.com>
2711
2712         REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
2713         https://bugs.webkit.org/show_bug.cgi?id=172030
2714
2715         Unreviewed - Test gardening, in effect...
2716
2717         This failure is only being seen by the bots.
2718         
2719         I believe this test is utterly broken in the first place; when it checks the .wal file's
2720         size that is not actually an indicator that the records were deleted.
2721         
2722         But that isn't what's coming up as failure on the bots.
2723         
2724         This patch is an attempt to:
2725         1 - More forcefully clear the Website data directory of leftovers before the test starts.
2726         2 - Give an earlier indication of the failure that the bots are seeing, to possibly reveal more.
2727
2728         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
2729         (defaultWebsiteDataDirectory):
2730         (defaultApplicationCacheDirectory):
2731         (TEST):
2732
2733 2017-05-12  Jonathan Bedard  <jbedard@apple.com>
2734
2735         webkitpy: Pass directory with crash logs into CrashLogs
2736         https://bugs.webkit.org/show_bug.cgi?id=172033
2737         <rdar://problem/32157616>
2738
2739         Reviewed by Daniel Bates.
2740
2741         Refactor CrashLogs and the callers of CrashLogs so that the port object owns
2742         the location of crash logs.
2743
2744         * Scripts/webkitpy/common/system/crashlogs.py:
2745         (CrashLogs.__init__): Pass mandatory crash_log_directory when constructing.
2746         (CrashLogs._find_newest_log_darwin): Use self._crash_log_directory instead of
2747         generating one.
2748         (CrashLogs._find_newest_log_win): Use self._crash_log_directory instead of
2749         self._results_directory.
2750         (CrashLogs._find_all_logs_darwin): Use self._crash_log_directory instead of
2751         generating one.
2752         (CrashLogs._log_directory_darwin): Moved to port.
2753         * Scripts/webkitpy/common/system/crashlogs_unittest.py: Update tests since the path
2754         to the crash log is no longer owned by CrashLogs.
2755         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Use the general
2756         directory for uploading crash logs. Note that crash logs are only supported on Mac
2757         and Windows.
2758         * Scripts/webkitpy/port/apple.py: Remove unneeded CrashLogs import.
2759         * Scripts/webkitpy/port/base.py:
2760         (Port.path_to_crash_logs): Unless ports declare otherwise, crash logs are assumed
2761         to be in the results directory.
2762         * Scripts/webkitpy/port/darwin.py:
2763         (DarwinPort.path_to_crash_logs): Moved from CrashLogs._log_directory_darwin.
2764         (DarwinPort._look_for_all_crash_logs_in_log_dir): Use port specific crash log path.
2765         (DarwinPort._get_crash_log): Ditto.
2766         * Scripts/webkitpy/port/darwin_testcase.py:
2767         (DarwinTest.test_crashlog_path): Test that the Darwin ports are correctly calculating
2768         the path to crash logs.
2769         * Scripts/webkitpy/port/ios_device.py:
2770         (IOSDevicePort.path_to_crash_logs): Currently, crash log retrieval is undefined for iOS.
2771         * Scripts/webkitpy/port/ios_device_unittest.py:
2772         (IOSDeviceTest.test_crashlog_path): Currently, crash log retrieval is undefined for iOS.
2773         * Scripts/webkitpy/port/ios_simulator.py: Remove unneeded CrashLogs import.
2774         * Scripts/webkitpy/port/mac.py: Ditto.
2775         * Scripts/webkitpy/port/test.py:
2776         (TestDriver.run_test): Use port specific crash log path when retrieving crash logs.
2777         * Scripts/webkitpy/port/win.py:
2778         (WinPort._get_crash_log): Ditto.
2779         * Scripts/webkitpy/tool/commands/queries.py:
2780         (execute): Construct a port object since this is the object which owns the path to crash logs.
2781
2782 2017-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2783
2784         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/create-navigation-data after r216615.
2785
2786         In r216615 the custom code for window.open() was removed. The generated code now correctly handles the optional
2787         URL parameter using the default value "about:blank" when not provided.
2788
2789         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
2790         (testWebViewCreateNavigationData):
2791
2792 2017-05-11  Youenn Fablet  <youenn@apple.com>
2793
2794         Allow WPT server to serve specific WebKit test
2795         https://bugs.webkit.org/show_bug.cgi?id=171479
2796
2797         Reviewed by Ryosuke Niwa.
2798
2799         Adding a new mount point to WPT server.
2800         It points to LayoutTests/http/wpt folder and is triggered on "/WebKit" urls.
2801
2802         Updating the webkitpy infrastructure to launch WPT server and do test url mapping for LayoutTests/wpt tests.
2803
2804         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2805         (Manager.__init__):
2806         (Manager._is_http_test):
2807         (Manager._needs_web_platform_test):
2808         (Manager._run_tests):
2809         (Manager._is_web_platform_test): Deleted.
2810         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
2811         (build_routes):
2812         (main):
2813         * Scripts/webkitpy/port/driver.py:
2814         (Driver):
2815         (Driver.is_webkit_specific_web_platform_test):
2816         (Driver.test_to_uri):
2817         (Driver._command_from_driver_input):
2818
2819 2017-05-11  Brady Eidson  <beidson@apple.com>
2820
2821         [WKWebsiteDataStore removeDataOfTypes:...] doesn't work for IndexedDB if the data store has a custom IDB path.
2822         <rdar://problem/30612463> and https://bugs.webkit.org/show_bug.cgi?id=171994
2823
2824         Reviewed by Andy Estes.
2825         Informal review by Maureen Daum.
2826
2827         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
2828         (TEST):
2829
2830 2017-05-11  Joseph Pecoraro  <pecoraro@apple.com>
2831
2832         REGRESSION(r216217): lldb_webkit.py no longer prints out a WTFString, StringImpl needs to handle StringImplShape change
2833         https://bugs.webkit.org/show_bug.cgi?id=171989
2834
2835         Reviewed by Brian Burg.
2836
2837         * lldb/lldb_webkit.py:
2838         (WTFStringImplProvider.get_data8):
2839         (WTFStringImplProvider.get_data16):
2840         m_data8 and m_data16 are now part of the superclass StringImplShape
2841         instead of directly in StringImpl. So first get the shape by getting
2842         index 0, and the data properties are the same offset within that.
2843
2844 2017-05-11  Joseph Pecoraro  <pecoraro@apple.com>
2845
2846         Remove Vibration API
2847         https://bugs.webkit.org/show_bug.cgi?id=171766
2848
2849         Rubber-stamped by Alexey Proskuryakov.
2850
2851         * Scripts/webkitperl/FeatureList.pm:
2852
2853 2017-05-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2854
2855         Add WPE release bots
2856         https://bugs.webkit.org/show_bug.cgi?id=171973
2857
2858         Reviewed by Žan Doberšek.
2859
2860         This adds a WPE Release Build bot (64-bit) and a WPE Release Test bot.
2861         It also adds a new WPE buildbot category.
2862
2863         * BuildSlaveSupport/build.webkit.org-config/config.json:
2864         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2865         (InstallWpeDependencies):
2866         (appendCustomBuildFlags):
2867         (Factory.__init__):
2868         (loadBuilderConfig):
2869         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
2870         * BuildSlaveSupport/build.webkit.org-config/templates/root.html:
2871
2872 2017-05-09  Sam Weinig  <sam@webkit.org>
2873
2874         Remove support for legacy Notifications
2875         https://bugs.webkit.org/show_bug.cgi?id=171487
2876
2877         Reviewed by Jon Lee.
2878
2879         * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
2880         (DRTDesktopNotificationPresenter::checkNotificationPermission):
2881         * Scripts/webkitperl/FeatureList.pm:
2882         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2883         Remove use and definition of ENABLE_LEGACY_NOTIFICATIONS.
2884
2885 2017-05-10  Michael Catanzaro  <mcatanzaro@igalia.com>
2886
2887         Remove user agent quirk for Slack
2888         https://bugs.webkit.org/show_bug.cgi?id=171869
2889
2890         Reviewed by Carlos Garcia Campos.
2891
2892         Remove the corresponding test.
2893
2894         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
2895         (TestWebKitAPI::TEST):
2896
2897 2017-05-10  Commit Queue  <commit-queue@webkit.org>
2898
2899         Unreviewed, rolling out r216578.
2900         https://bugs.webkit.org/show_bug.cgi?id=171920
2901
2902         Broke the GTK+ build with Wayland enabled (Requested by KaL on
2903         #webkit).
2904
2905         Reverted changeset:
2906
2907         "[GTK] Bump GTK+ and its dependencies in jhbuild"
2908         https://bugs.webkit.org/show_bug.cgi?id=171918
2909         http://trac.webkit.org/changeset/216578
2910
2911 2017-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2912
2913         [GTK] Bump GTK+ and its dependencies in jhbuild
2914         https://bugs.webkit.org/show_bug.cgi?id=171918
2915
2916         Reviewed by Carlos Alberto Lopez Perez.
2917
2918         * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
2919         (WTR::initializeGtkSettings):
2920         * gtk/jhbuild.modules:
2921         * gtk/patches/gtk+-configure-fix-detecting-CUPS-2.x.patch: Removed.
2922         * gtk/patches/librsvg-2.36.1-bump-up-config.guess-to-support-aarch64.patch: Removed.
2923
2924 2017-05-10  Don Olmstead  <don.olmstead@am.sony.com>
2925
2926         [Win] Set CMake args in build-webkit
2927         https://bugs.webkit.org/show_bug.cgi?id=171436
2928
2929         Reviewed by Per Arne Vollan.
2930
2931         * Scripts/build-webkit:
2932
2933 2017-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2934
2935         ImageDiff: Add CG implementation for new ImageDiff
2936         https://bugs.webkit.org/show_bug.cgi?id=170608
2937
2938         Reviewed Alex Christensen.
2939
2940         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2941         * DumpRenderTree/win/ImageDiffCairo.cpp: Removed.
2942         * DumpRenderTree/win/ImageDiffWin.cpp: Removed.
2943         * ImageDiff/CMakeLists.txt:
2944         * ImageDiff/Cairo.cmake:
2945         * ImageDiff/ImageDiff.cpp:
2946         (main):
2947         * ImageDiff/ImageDiff.xcodeproj/project.pbxproj:
2948         * ImageDiff/PlatformImage.cpp:
2949         * ImageDiff/PlatformImage.h:
2950         * ImageDiff/cairo/PlatformImageCairo.cpp:
2951         * ImageDiff/cg/ImageDiff.cpp: Removed.
2952         * ImageDiff/cg/PlatformImageCG.cpp: Added.
2953         (ImageDiff::PlatformImage::createFromStdin):
2954         (ImageDiff::PlatformImage::createFromDiffData):
2955         (ImageDiff::PlatformImage::PlatformImage):
2956         (ImageDiff::PlatformImage::~PlatformImage):
2957         (ImageDiff::PlatformImage::width):
2958         (ImageDiff::PlatformImage::height):
2959         (ImageDiff::PlatformImage::rowBytes):
2960         (ImageDiff::PlatformImage::hasAlpha):
2961         (ImageDiff::PlatformImage::pixels):
2962         (ImageDiff::PlatformImage::writeAsPNGToStdout):
2963
2964 2017-05-10  Zan Dobersek  <zdobersek@igalia.com>
2965
2966         Enable FTL JIT by default on AArch64
2967         https://bugs.webkit.org/show_bug.cgi?id=144039
2968
2969         Reviewed by Yusuke Suzuki.
2970
2971         * Scripts/build-jsc: Enable the FTL JIT option by default on ARM64.
2972         * Scripts/run-jsc-stress-tests: Unmark the ARM64 and Linux combination
2973         as an unsupported FTL platform.
2974         * Scripts/webkitdirs.pm:
2975         (isARM64): Returns 1 if the determined architecture is 'arm64'.
2976         * Scripts/webkitperl/FeatureList.pm: Enable FTL_JIT and WEBASSEMBLY on ARM64.
2977
2978 2017-05-09  Jonathan Bedard  <jbedard@apple.com>
2979
2980         webkitpy: Remove unneeded crash log retrieval, refactor Darwin crash retrieval
2981         https://bugs.webkit.org/show_bug.cgi?id=170857
2982         <rdar://problem/31635373>
2983
2984         Reviewed by Aakash Jain.
2985
2986         Since LayoutTestRelay has been removed, iOS Simulators and Macs can use the same
2987         code to search for crash logs.
2988
2989         * Scripts/webkitpy/port/darwin.py:
2990         (DarwinPort._get_crash_log): Moved from MacPort.
2991         * Scripts/webkitpy/port/darwin_testcase.py:
2992         (DarwinTest.test_get_crash_log): Moved from MacTest.
2993         * Scripts/webkitpy/port/ios_device.py:
2994         (IOSDevicePort._get_crash_log): Implement pass-through for iOS device, since iOS
2995         devices must search for crash-logs remotely.
2996         * Scripts/webkitpy/port/ios_simulator.py:
2997         (IOSSimulatorPort._get_crash_log): Deleted.
2998         * Scripts/webkitpy/port/ios_simulator_unittest.py:
2999         (IOSSimulatorTest.test_get_crash_log): Deleted.
3000         * Scripts/webkitpy/port/mac.py:
3001         (MacPort._get_crash_log): Moved to DarwinPort
3002         * Scripts/webkitpy/port/mac_unittest.py:
3003         (MacTest.test_get_crash_log): Moved to DarwinTest.
3004
3005 2017-05-09  Jonathan Bedard  <jbedard@apple.com>
3006
3007         build ImageDiff with host SDK from Make
3008         https://bugs.webkit.org/show_bug.cgi?id=171835
3009
3010         Reviewed by Alexey Proskuryakov.
3011
3012         ImageDiff should be built for the default SDK and default architecture when
3013         the SDKROOT is set to either iOS device or iOS simulator. Check the
3014         DO_NOT_BUILD_IMAGE_DIFF flag to skip the ImageDiff build.
3015
3016         * ImageDiff/Makefile: Use Mac SDK when building for iOS Simulator or iOS device.
3017         * Makefile: Do not build ImageDiff if the DO_NOT_BUILD_IMAGE_DIFF flag is set.
3018
3019 2017-05-09  Matt Lewis  <jlewis3@apple.com>
3020
3021         Unreviewed, adding myself to contributors.json
3022
3023         * Scripts/webkitpy/common/config/contributors.json:
3024
3025 2017-05-09  Jonathan Bedard  <jbedard@apple.com>
3026
3027         REGRESSION: ImageDiff not building with make
3028         https://bugs.webkit.org/show_bug.cgi?id=171788
3029
3030         Reviewed by Alex Christensen.
3031
3032         * Makefile: Build ImageDiff for all platforms.
3033
3034 2017-05-09  Fujii Hironori  <Hironori.Fujii@sony.com>
3035
3036         [Win] ImageDiff isn't built since Bug 168945
3037         https://bugs.webkit.org/show_bug.cgi?id=171847
3038
3039         Reviewed by Alex Christensen.
3040
3041         * CMakeLists.txt: Add 'ImageDiff' sub-directory to build if WIN32.
3042         * ImageDiff/ImageDiff.cpp: Include some header files to fix compilation errors.
3043         * ImageDiff/PlatformWin.cmake: Define USE_CAIRO if WinCairo port.
3044
3045 2017-05-09  Zan Dobersek  <zdobersek@igalia.com>
3046
3047         Upstream the WPE port
3048         https://bugs.webkit.org/show_bug.cgi?id=171110
3049
3050         Reviewed by Alex Christensen.
3051
3052         webkit-dev thread:
3053         https://lists.webkit.org/pipermail/webkit-dev/2017-April/028923.html
3054
3055         Add WPE support to various tooling scripts, TestWebKitAPI and WebKitTestRunner.
3056         In-file changes removed from this ChangeLog entry for brevity.
3057
3058         * BuildSlaveSupport/built-product-archive:
3059         * BuildSlaveSupport/test-result-archive:
3060         * CMakeLists.txt:
3061         * ImageDiff/PlatformWPE.cmake: Added.
3062         * Scripts/build-dumprendertree:
3063         * Scripts/build-webkit:
3064         * Scripts/build-webkittestrunner:
3065         * Scripts/update-webkit-libs-jhbuild:
3066         * Scripts/update-webkitwpe-libs: Added.
3067         * Scripts/webkitdirs.pm:
3068         * Scripts/webkitperl/FeatureList.pm:
3069         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3070         * Scripts/webkitpy/port/factory.py:
3071         * Scripts/webkitpy/port/wpe.py: Added.
3072         * TestWebKitAPI/PlatformWPE.cmake: Added.
3073         * TestWebKitAPI/wpe/InjectedBundleControllerWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
3074         * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp: Added.
3075         * TestWebKitAPI/wpe/main.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
3076         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
3077         * WebKitTestRunner/InjectedBundle/AccessibilityController.h:
3078         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
3079         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
3080         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3081         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3082         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Added.
3083         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Added.
3084         * WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp: Added.
3085         * WebKitTestRunner/InjectedBundle/wpe/InjectedBundleWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
3086         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
3087         * WebKitTestRunner/PlatformWPE.cmake: Added.
3088         * WebKitTestRunner/PlatformWebView.h:
3089         * WebKitTestRunner/TestController.cpp:
3090         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp: Added.
3091         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp: Added.
3092         * WebKitTestRunner/wpe/HeadlessViewBackend.h: Copied from Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h.
3093         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp: Added.
3094         * WebKitTestRunner/wpe/TestControllerWPE.cpp: Added.
3095         * WebKitTestRunner/wpe/main.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
3096         * jhbuild/jhbuild-wrapper:
3097         * wpe/generate-inspector-gresource-manifest.py: Added.
3098         * wpe/jhbuild.modules: Added.
3099         * wpe/jhbuildrc: Added.
3100         * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Added.
3101         * wpe/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Added.
3102         * wpe/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Added.
3103         * wpe/patches/gdate-suppress-string-format-literal-warning.patch: Added.
3104         * wpe/patches/glib-warning-fix.patch: Added.
3105         * wpe/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Added.
3106         * wpe/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Added.
3107         * wpe/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Added.
3108         * wpe/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Added.
3109         * wpe/patches/gstreamer-typefind-Only-push-a-CAPS-event-downstream-if-the-.patch: Added.
3110
3111 2017-05-08  Jonathan Bedard  <jbedard@apple.com>
3112
3113         Implement PlatformWebView::windowSnapshotImage and createBitmapContextFromWebView for iOS devices
3114         https://bugs.webkit.org/show_bug.cgi?id=169421
3115         <rdar://problem/30950171>
3116
3117         Reviewed by Tim Horton.
3118
3119         * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
3120         (createBitmapContextFromWebView): Implement for IOSurface.
3121         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3122         (WTR::PlatformWebView::windowSnapshotImage): Use snapshot API for device.
3123
3124 2017-05-08  Jonathan Bedard  <jbedard@apple.com>
3125
3126         buildbot: Cleanup simulators after running tests
3127         https://bugs.webkit.org/show_bug.cgi?id=171679
3128
3129         Reviewed by Aakash Jain.
3130
3131         simctl is partitioned for each user. Since kill-old-processes
3132         is run as root, we need to specify the buildbot user when tearing
3133         down simulators between steps.
3134
3135         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
3136         (KillOldProcesses): Pass buildbot user to kill-old-processes.
3137         * BuildSlaveSupport/kill-old-processes:
3138         (main): Specify the user for simctl if one has been provided.
3139
3140 2017-05-08  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3141
3142         REGRESSION(r216179): [GTK] Script install-dependencies misses liborc
3143         https://bugs.webkit.org/show_bug.cgi?id=171681
3144
3145         Reviewed by Carlos Garcia Campos.
3146
3147         * gtk/install-dependencies:
3148
3149 2017-05-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3150
3151         Unreviewed. Fix GTK+ test /webkit2/WebKitConsoleMessage/network-error after r215556.
3152
3153         Glib uses now Unicode quotes in error messages.
3154
3155         * TestWebKitAPI/Tests/WebKit2Gtk/TestConsoleMessage.cpp:
3156         (testWebKitConsoleMessageNetworkError):
3157
3158 2017-05-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3159
3160         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r215404.
3161
3162         Sending down+up keys is no longer enough to simulate a real user interaction after r215404, the key events now
3163         should be handled by the web process to be considered a user interaction. So, add an input to the HTML and send
3164         characters to the input. Also fix typo in the function name.
3165
3166         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
3167         (testWebViewJavaScriptDialogs):
3168
3169 2017-05-07  Michael Catanzaro  <mcatanzaro@igalia.com>
3170
3171         [GTK] Cannot sign in with new Google sign-in page
3172         https://bugs.webkit.org/show_bug.cgi?id=171770
3173
3174         Unreviewed. This just adds a test.
3175
3176         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
3177         (TestWebKitAPI::TEST):
3178
3179 2017-05-06  Simon Fraser  <simon.fraser@apple.com>
3180
3181         [iOS WK2] Make rotation tests more reliable
3182         https://bugs.webkit.org/show_bug.cgi?id=171778
3183
3184         Reviewed by Tim Horton.
3185
3186         Switching between "safari-style" rotation and normal rotation left state on the WKWebView
3187         that would cause later viewport-sensitive tests to fail. The WKWebView would be left
3188         with override layout parameters, and an override orientation, and these caused viewport
3189         size to leak into later tests, and WebCore orientation to not get reset correctly.
3190
3191         Also, WKWebView was unregistering for UIWindowDidRotateNotification notifications when
3192         an override orientation was set, and would never re-register, causing lost orientationchanged
3193         events.
3194
3195         Fix by exposing WKWebView SPI to clear the various bits of overide state. Also don't unregister
3196         from the UIWindowDidRotateNotification notification; it's already ignored anyway if it fires.
3197
3198         Also wait for a visible content rect update after resizing the WKWebVeiw between tests, to make sure
3199         the WebProcess is caught up before proceeding with the test.
3200
3201         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3202         (-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]):
3203         * WebKitTestRunner/ios/TestControllerIOS.mm:
3204         (WTR::TestController::platformResetStateToConsistentValues):
3205         (WTR::TestController::platformConfigureViewForTest):
3206
3207 2017-05-06  Csaba Osztrogonác  <ossy@webkit.org>
3208
3209         [Mac][cmake] Buildfix after r216047
3210         https://bugs.webkit.org/show_bug.cgi?id=171769
3211
3212         Unreviewed buildfix.
3213
3214         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
3215
3216 2017-05-05  Brady Eidson  <beidson@apple.com>
3217
3218         API test WebKit2.WebsiteDataStoreCustomPaths is failing on ios-simulator.
3219         <rdar://problem/31977294> and https://bugs.webkit.org/show_bug.cgi?id=171513
3220
3221         Reviewed by Andy Estes.
3222
3223         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
3224         (TEST):
3225
3226 2017-05-05  Brian Burg  <bburg@apple.com>
3227
3228         [Cocoa] Converting from WebCore::Cookie to NSHTTPCookie always marks cookies as session cookies
3229         https://bugs.webkit.org/show_bug.cgi?id=171748
3230         <rdar://problem/32027327>
3231
3232         Reviewed by Michael Catanzaro.
3233
3234         Remove temporary workaround now that the assertion failure is fixed.
3235
3236         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
3237         (TEST):
3238
3239 2017-05-05  Simon Fraser  <simon.fraser@apple.com>
3240
3241         Make it possible to test rotation in iOS WebKitTestRunner
3242         https://bugs.webkit.org/show_bug.cgi?id=171755
3243
3244         Reviewed by Tim Horton.
3245
3246         Add to UIScriptController:
3247             void simulateRotation(DeviceOrientation orientation, object callback);
3248             void simulateRotationLikeSafari(DeviceOrientation orientation, object callback);
3249
3250         The former just does a view resize, as a simple WKWebView app would do. The second does
3251         animation more like MobileSafari, using _begin/_endAnimatedResize. and associated override
3252         layout size and interface orientation. The two behaviors produce different resize and
3253         orientationchange events and sizes, and both need to be tested.
3254
3255         Rotation is initiated by a call on UIDevice, and responded to by the root view controller,
3256         which is now a custom subclass (PlatformWebViewController).
3257
3258         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3259         (WTR::UIScriptController::simulateRotation):
3260         (WTR::UIScriptController::simulateRotationLikeSafari):
3261         * DumpRenderTree/mac/UIScriptControllerMac.mm:
3262         (WTR::UIScriptController::simulateRotation):
3263         (WTR::UIScriptController::simulateRotationLikeSafari):
3264         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3265         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3266         (WTR::toDeviceOrientation):
3267         (WTR::UIScriptController::simulateRotation):
3268         (WTR::UIScriptController::simulateRotationLikeSafari):
3269         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3270         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
3271         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
3272         (-[TestRunnerWKWebView dealloc]):
3273         (-[TestRunnerWKWebView _didEndRotation]):
3274         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3275         (-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]):
3276         (WTR::PlatformWebView::PlatformWebView):
3277         * WebKitTestRunner/ios/TestControllerIOS.mm:
3278         (WTR::TestController::platformResetStateToConsistentValues):
3279         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3280         (WTR::toUIDeviceOrientation):
3281         (WTR::UIScriptController::simulateRotation):
3282         (WTR::UIScriptController::simulateRotationLikeSafari):
3283         (WTR::UIScriptController::platformClearAllCallbacks):
3284         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3285         (WTR::UIScriptController::simulateRotation):
3286         (WTR::UIScriptController::simulateRotationLikeSafari):
3287
3288 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
3289
3290         Use ImageDiff built by host SDK and remove ImageDiff from DumpRenderTree
3291         https://bugs.webkit.org/show_bug.cgi?id=168945
3292         <rdar://problem/30745695>
3293
3294         Reviewed by David Kilzer.
3295
3296         Use ImageDiff built with the host machine's SDK and stop building ImageDiff with the
3297         target SDK. These two changes must happen simultaneously because some archives will
3298         clobber the ImageDiff from the host SDK with the ImageDiff from the target SDK.
3299
3300         * DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Remove ImageDiff from project.
3301         * DumpRenderTree/PlatformWin.cmake: Remove ImageDiff. Note that the CMakeLists.txt in the
3302         tools directory still includes ImageDiff.
3303         * DumpRenderTree/cg/ImageDiffCG.cpp: Removed.
3304         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Removed.
3305         * Scripts/webkitpy/port/darwin.py: 
3306         (DarwinPort._path_to_image_diff): Return the correct path to ImageDiff when building
3307         locally or when running archives.
3308         * Scripts/webkitpy/port/image_diff.py:
3309         (IOSSimulatorImageDiffer): Deleted.
3310         * Scripts/webkitpy/port/ios_simulator.py:
3311         (IOSSimulatorPort.diff_image): Deleted.
3312
3313 2017-05-05  Brian Burg  <bburg@apple.com>
3314
3315         API test WebKit2.WKHTTPCookieStore fails due to possible issue with handling non-session cookies
3316         https://bugs.webkit.org/show_bug.cgi?id=171748
3317
3318         Unreviewed test gardening.
3319
3320         The assertion failure will be investigated separately in order to avoid rolling out
3321         the fix for "secure" cookies. This assertion fails even without r216258 applied.
3322
3323         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
3324         (TEST):
3325
3326 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
3327
3328         Unreviewed, rolling out r216260.
3329
3330         Breaks internal iOS testers
3331
3332         Reverted changeset:
3333
3334         "Use ImageDiff built by host SDK and remove ImageDiff from
3335         DumpRenderTree"
3336         https://bugs.webkit.org/show_bug.cgi?id=168945
3337         http://trac.webkit.org/changeset/216260
3338
3339 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
3340
3341         Use ImageDiff built by host SDK and remove ImageDiff from DumpRenderTree
3342         https://bugs.webkit.org/show_bug.cgi?id=168945
3343         <rdar://problem/30745695>
3344
3345         Reviewed by David Kilzer.
3346
3347         Use ImageDiff built with the host machine's SDK and stop building ImageDiff with the
3348         target SDK. These two changes must happen simultaneously because some archives will
3349         clobber the ImageDiff from the host SDK with the ImageDiff from the target SDK.
3350
3351         * DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Remove ImageDiff from project.
3352         * DumpRenderTree/PlatformWin.cmake: Remove ImageDiff. Note that the CMakeLists.txt in the
3353         tools directory still includes ImageDiff.
3354         * DumpRenderTree/cg/ImageDiffCG.cpp: Removed.
3355         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Removed.
3356         * Scripts/webkitpy/port/darwin.py: 
3357         (DarwinPort._path_to_image_diff): Return the correct path to ImageDiff when building
3358         locally or when running archives.
3359         * Scripts/webkitpy/port/image_diff.py:
3360         (IOSSimulatorImageDiffer): Deleted.
3361         * Scripts/webkitpy/port/ios_simulator.py:
3362         (IOSSimulatorPort.diff_image): Deleted.
3363
3364 2017-05-05  Brian Burg  <bburg@apple.com>
3365
3366         [Cocoa] Converting from WebCore::Cookie to NSHTTPCookie always marks cookies as secure
3367         https://bugs.webkit.org/show_bug.cgi?id=171700
3368         <rdar://problem/32017975>
3369
3370         Reviewed by Brady Eidson.
3371
3372         Fix a mistake in the test that should have caught this bug.
3373
3374         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
3375         (TEST):
3376         The assertions that were meant to check round-tripping were actually checking
3377         the properties of the original cookie objects, not the round-tripped ones.
3378         This test now fails without the bugfix and passes when it is applied.
3379
3380 2017-05-05  Daniel Bates  <dabates@apple.com>
3381
3382         Use EXPECT_EQ() when comparing strings in TestWebKitAPI tests
3383         https://bugs.webkit.org/show_bug.cgi?id=171698
3384
3385         Reviewed by Darin Adler.
3386
3387         We should use EXPECT_EQ() instead of EXPECT_TRUE() to compare WTF::String() objects
3388         so that we get pretty diff output when the actual string differs from the expected
3389         string as opposed to seeing a boolean result. The former makes makes it straightforward
3390         to diagnose a regression without reading the code for the test or instrumenting it to
3391         determine the actual string that was compared.
3392
3393         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
3394         (TestWebKitAPI::TEST):
3395         * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
3396         (TestWebKitAPI::TEST_F):
3397         * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
3398         (TestWebKitAPI::TEST_F):
3399
3400 2017-05-05  Chris Dumez  <cdumez@apple.com>
3401
3402         Rename webProcessDidCrashWithReason callback to webProcessDidTerminate and stop calling webProcessDidCrash for client terminations
3403         https://bugs.webkit.org/show_bug.cgi?id=171624
3404
3405         Reviewed by Dan Bernstein.
3406
3407         Extend API test coverage to cover crashes in addition to terminations requested by the client.
3408
3409         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3410         * TestWebKitAPI/Tests/WebKit2/ProcessDidTerminate.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2/ProcessDidCrashWithReason.cpp.
3411         (TestWebKitAPI::webProcessWasTerminatedByClient):
3412         (TestWebKitAPI::webProcessCrashed):
3413         (TestWebKitAPI::TEST):
3414
3415 2017-05-04  Mark Lam  <mark.lam@apple.com>
3416
3417         DRT's setAudioResultCallback() and IDBRequest::setResult() need to acquire the JSLock.
3418         https://bugs.webkit.org/show_bug.cgi?id=171716
3419         <rdar://problem/30878027>
3420
3421         Reviewed by Saam Barati.
3422
3423         setAudioResultCallback() needs to acquire the JSLock before calling toJS() (which
3424         does JS conversion and therefore, potentially JS allocations) and accessing
3425         methods of internal JS data structures (which may do JS invocation, etc).
3426
3427         * DumpRenderTree/TestRunner.cpp:
3428         (setAudioResultCallback):
3429
3430 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
3431
3432         buildbot: Cleanup simulators after running tests
3433         https://bugs.webkit.org/show_bug.cgi?id=171679
3434         <rdar://problem/31994361>
3435
3436         Reviewed by Aakash Jain.
3437
3438         We shutdown the simulator process between tests, but in some cases, this is not
3439         sufficient. Explicitly shutdown every booted simulator.
3440
3441         * BuildSlaveSupport/kill-old-processes:
3442         (main): Shutdown all booted simulators.
3443
3444 2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3445
3446         [GTK] Assertion failure in Inspector::RemoteInspector::setRemoteInspectorClient when disposing WebKitWebContext
3447         https://bugs.webkit.org/show_bug.cgi?id=171644
3448
3449         Reviewed by Michael Catanzaro.
3450
3451         Check that only one WebKitWebContext can have automation enabled.
3452
3453         * TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp:
3454         (testAutomationSessionRequestSession):
3455
3456 2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3457
3458         [GTK] TestController timeout source callback should return G_SOURCE_REMOVE
3459         https://bugs.webkit.org/show_bug.cgi?id=171724
3460
3461         Reviewed by Michael Catanzaro.
3462
3463         It's currently returning CONTINUE which causes it to be called again even if the run loop has been stopped.
3464
3465         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
3466         (WTR::timeoutSource):
3467
3468 2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3469
3470         Unreviewed. Fix wrong assert after r215176.
3471
3472         Cairo surface received by computeMD5HashStringForCairoSurface() doesn't need to be ARGB32 since r215176, it
3473         could also be RGB24 when created from a web view snapshot.
3474
3475         * WebKitTestRunner/cairo/TestInvocationCairo.cpp:
3476         (WTR::computeMD5HashStringForCairoSurface):
3477
3478 2017-05-04  Brian Burg  <bburg@apple.com>
3479
3480         lldb_webkit.py should provide a type summary for WebCore::URL
3481         https://bugs.webkit.org/show_bug.cgi?id=171670
3482
3483         Reviewed by Jer Noble.
3484
3485         Just print out the underlying string using the WTFString provider.
3486
3487         * lldb/lldb_webkit.py:
3488         (__lldb_init_module):
3489         (WebCoreURL_SummaryProvider):
3490         (WebCoreURLProvider):
3491         (WebCoreURLProvider.__init__):
3492         (WebCoreURLProvider.to_string):
3493
3494 2017-05-04  Commit Queue  <commit-queue@webkit.org>
3495
3496         Unreviewed, rolling out r216206.
3497         https://bugs.webkit.org/show_bug.cgi?id=171714
3498
3499         Multiple LayoutTests crashing in Document::page() (Requested
3500         by ap on #webkit).
3501
3502         Reverted changeset:
3503
3504         "Remove support for legacy Notifications"
3505         https://bugs.webkit.org/show_bug.cgi?id=171487
3506         http://trac.webkit.org/changeset/216206
3507
3508 2017-05-04  Mark Lam  <mark.lam@apple.com>
3509
3510         API test WTF.StaticStringImpl crashing in TestWebKitAPI::WTF_StaticStringImpl_Test::TestBody() + 3188
3511         https://bugs.webkit.org/show_bug.cgi?id=171702
3512
3513         Reviewed by Filip Pizlo.
3514
3515         The test was supposed to use the MAKE_STATIC_STRING_IMPL macro.  I had previously
3516         changed it to instantiate an automatic StaticStringImpl (i.e. stack allocated) to
3517         confirm that the test will detect a regression.  Unfortunately, I forgot to
3518         change it back to using MAKE_STATIC_STRING_IMPL before I landed the test.
3519         This patch fixes that.
3520
3521         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
3522         (TestWebKitAPI::neverDestroyedString):
3523
3524 2017-05-04  Ryan Haddad  <ryanhaddad@apple.com>
3525
3526         Disable failing API test WebKit2.ResizeWithHiddenContentDoesNotHang.
3527         https://bugs.webkit.org/show_bug.cgi?id=170195
3528
3529         Unreviewed test gardening.
3530
3531         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
3532         (TEST):
3533
3534 2017-05-04  Don Olmstead  <don.olmstead@am.sony.com>
3535
3536         [Win] Remove redundant macros that are set in the CMake config
3537         https://bugs.webkit.org/show_bug.cgi?id=171571
3538
3539         Reviewed by Brent Fulgham.
3540
3541         * DumpRenderTree/config.h:
3542         * MiniBrowser/win/stdafx.h:
3543         * TestWebKitAPI/config.h:
3544
3545 2017-05-04  Said Abou-Hallawa  <sabouhallawa@apple.com>
3546
3547         Add testRunner.display() to force displaying the web page for testing
3548         https://bugs.webkit.org/show_bug.cgi?id=171694
3549
3550         Reviewed by Simon Fraser.
3551
3552         Unlike testRunner.displayAndTrackRepaints(), this new function forces 
3553         drawing the web page but without track repaints.
3554
3555         * DumpRenderTree/TestRunner.cpp:
3556         (displayCallback):
3557         (TestRunner::staticFunctions):
3558         * DumpRenderTree/TestRunner.h:
3559         * DumpRenderTree/mac/TestRunnerMac.mm:
3560         (TestRunner::display):
3561         * DumpRenderTree/win/TestRunnerWin.cpp:
3562         (TestRunner::display):
3563         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3564         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3565         (WTR::TestRunner::display):
3566         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3567
3568 2017-05-04  Mark Lam  <mark.lam@apple.com>
3569
3570         NeverDestroyed<String>(ASCIILiteral(...)) is not thread safe.
3571         https://bugs.webkit.org/show_bug.cgi?id=171586
3572         <rdar://problem/31873190>
3573
3574         Reviewed by Yusuke Suzuki.
3575
3576         API test for exercising StaticStringImpl and the MAKE_STATIC_STRING_IMPL macro.
3577
3578         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
3579         (TestWebKitAPI::neverDestroyedString):
3580         (TestWebKitAPI::getNeverDestroyedStringAtStackDepth):
3581         (TestWebKitAPI::TEST):
3582
3583 2017-05-04  Wenson Hsieh  <wenson_hsieh@apple.com>
3584
3585         [WK2] Add support for keeping the selection in a focused editable element when dragging begins
3586         https://bugs.webkit.org/show_bug.cgi?id=171585
3587         <rdar://problem/31544320>
3588
3589         Reviewed by Beth Dakin and Zalan Bujtas.
3590
3591         Adds 1 new unit test and tweaks existing tests to check that when first responder status is lost after beginning
3592         a drag while editing, content is still moved (and not copied) when performing data interaction on a different
3593         element. ContentEditableMoveParagraphs checks that content can be shifted within a single element via a move
3594         operation rather than a copy.
3595
3596         See WebCore ChangeLog for more details.
3597
3598         Tests:  DataInteractionSimulator.ContentEditableToContentEditable
3599                 DataInteractionSimulator.ContentEditableToTextarea
3600                 DataInteractionSimulator.ContentEditableMoveParagraphs
3601                 DataInteractionSimulator.TextAreaToInput
3602
3603         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3604         * TestWebKitAPI/Tests/WebKit2Cocoa/two-paragraph-contenteditable.html: Added.
3605         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3606         (TestWebKitAPI::TEST):
3607         * TestWebKitAPI/ios/DataInteractionSimulator.h:
3608         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
3609         (-[DataInteractionSimulator initWithWebView:]):
3610         (-[DataInteractionSimulator dealloc]):
3611         (-[DataInteractionSimulator _advanceProgress]):
3612         (-[DataInteractionSimulator waitForInputSession]):
3613         (-[DataInteractionSimulator _webView:focusShouldStartInputSession:]):
3614         (-[DataInteractionSimulator _webView:didStartInputSession:]):
3615
3616 2017-05-04  Said Abou-Hallawa  <sabouhallawa@apple.com>
3617
3618         Rename TestRunner.display() to TestRunner::displayAndTrackRepaints()
3619         https://bugs.webkit.org/show_bug.cgi?id=171641
3620
3621         Reviewed by Simon Fraser.
3622
3623         The plan is to add back the TestRunner.display() which does the display
3624         only without track repaints.
3625
3626         * DumpRenderTree/DumpRenderTree.h:
3627         * DumpRenderTree/TestRunner.cpp:
3628         (displayAndTrackRepaintsCallback):
3629         (TestRunner::staticFunctions):
3630         (displayCallback): Deleted.
3631         (displayInvalidatedRegionCallback): Deleted.
3632         * DumpRenderTree/TestRunner.h:
3633         * DumpRenderTree/mac/DumpRenderTree.mm:
3634         (displayWebView):
3635         (displayAndTrackRepaintsWebView):
3636         * DumpRenderTree/mac/TestRunnerMac.mm:
3637         (TestRunner::displayAndTrackRepaints):
3638         (TestRunner::display): Deleted.
3639         * DumpRenderTree/win/TestRunnerWin.cpp:
3640         (TestRunner::displayAndTrackRepaints):
3641         (TestRunner::display): Deleted.
3642         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3643         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3644         (WTR::TestRunner::displayAndTrackRepaints):
3645         (WTR::TestRunner::display): Deleted.
3646         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3647
3648 2017-05-04  Brady Eidson  <beidson@apple.com>
3649
3650         [ios-simulator] API test WebKit2.WebsiteDataStoreCustomPaths is failing.
3651         https://bugs.webkit.org/show_bug.cgi?id=171513
3652
3653         Unreviewed gardening.
3654
3655         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
3656         (TEST): Skip the failing parts of the test on iOS for now.
3657
3658 2017-05-03  Jonathan Bedard  <jbedard@apple.com>
3659
3660         Make ImageDiff stand-alone
3661         https://bugs.webkit.org/show_bug.cgi?id=168939
3662
3663         Reviewed by David Kilzer.
3664
3665         Create ImageDiff without dependencies on bmalloc and WTF so that it exists as a
3666         stand-alone project. Note that this change does not eliminate the ImageDiff inside
3667         the DumpRenderTree project.
3668
3669         * ImageDiff/ImageDiff.xcodeproj: Added.
3670         * ImageDiff/ImageDiff.xcodeproj/project.pbxproj: Added.
3671         * ImageDiff/Makefile: Use ImageDiff project.
3672         * ImageDiff/PlatformMac.cmake: Added.
3673         * ImageDiff/PlatformWin.cmake: Added.
3674         * ImageDiff/cg: Added.
3675         * ImageDiff/cg/Configurations: Added.
3676         * ImageDiff/cg/Configurations/Base.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/Base.xcconfig.
3677         * ImageDiff/cg/Configurations/DebugRelease.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig.
3678         * ImageDiff/cg/Configurations/ImageDiff.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/ImageDiff.xcconfig.
3679         * ImageDiff/cg/ImageDiff.cpp: Copied from Tools/DumpRenderTree/cg/ImageDiffCG.cpp.
3680         (createImageFromStdin): Stop using RetainPtr.
3681         (createDifferenceImage): Ditto.
3682         (main): Ditto.
3683         * Scripts/build-imagediff: Stop building WTF and bmalloc.
3684
3685 2017-05-04  Sam Weinig  <sam@webkit.org>
3686
3687         Remove support for legacy Notifications
3688         https://bugs.webkit.org/show_bug.cgi?id=171487
3689
3690         Reviewed by Jon Lee.
3691
3692         * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
3693         (DRTDesktopNotificationPresenter::checkNotificationPermission):
3694         * Scripts/webkitperl/FeatureList.pm:
3695         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3696         Remove use and definition of ENABLE_LEGACY_NOTIFICATIONS.
3697
3698 2017-05-04  Andy Estes  <aestes@apple.com>
3699
3700         Give +testwebkitapi_configurationWithTestPlugInClassName: a shorter name
3701         https://bugs.webkit.org/show_bug.cgi?id=171673
3702
3703         Reviewed by Dan Bernstein.
3704
3705         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
3706         (TEST):
3707         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm:
3708         (TEST):
3709         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm:
3710         (TEST):
3711         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
3712         (TEST):
3713         * TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresource.mm:
3714         (TEST):
3715         * TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm:
3716         (configurationWithContentFilterSettings):
3717         (-[LazilyLoadPlatformFrameworksController init]):
3718         * TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm:
3719         (TEST):
3720         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm:
3721         (runTestWithWidth):
3722         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorld.mm:
3723         (TEST):
3724         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3725         (TestWebKitAPI::TEST):
3726         * TestWebKitAPI/WKWebViewConfigurationExtras.h:
3727         * TestWebKitAPI/WKWebViewConfigurationExtras.mm:
3728         (+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:]):
3729         (+[WKWebViewConfiguration testwebkitapi_configurationWithTestPlugInClassName:]): Renamed to
3730         +_test_configurationWithTestPlugInClassName:
3731
3732 2017-05-04  Eric Carlson  <eric.carlson@apple.com>
3733
3734         [MediaStream] Allow host application to enable/disable media capture
3735         https://bugs.webkit.org/show_bug.cgi?id=171292
3736         <rdar://problem/31821492>
3737
3738         Reviewed by Jer Noble.
3739
3740         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3741         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
3742         (-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
3743         (-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
3744         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
3745         (MediaCaptureDisabledTest::SetUp):
3746         (MediaCaptureDisabledTest::loadTestAndWaitForMessage):
3747         (TEST_F):
3748         * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
3749
3750 2017-05-04  Caio Lima  <ticaiolima@gmail.com>
3751
3752         Unreviewed, Adding self to contributors.json
3753
3754         * Scripts/webkitpy/common/config/contributors.json: Added name.
3755
3756 2017-05-04  Konstantin Tokarev  <annulen@yandex.ru>
3757
3758         Fix compilation with ICU 59.1
3759         https://bugs.webkit.org/show_bug.cgi?id=171612
3760
3761         Reviewed by Mark Lam.
3762
3763         ICU 59.1 has broken source compatibility. Now it defines UChar as
3764         char16_t, which does not allow automatic type conversion from unsigned
3765         short in C++ code.
3766
3767         * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
3768         (UIScriptContext::tryToCompleteUIScriptForCurrentParentCallback):
3769
3770 2017-05-04  Andy Estes  <aestes@apple.com>
3771
3772         [Cocoa] Add an optional width parameter to -[WKWebProcessPlugInNodeHandle renderedImageWithOptions:]
3773         https://bugs.webkit.org/show_bug.cgi?id=171646
3774         <rdar://problem/30306321>
3775
3776         Reviewed by Tim Horton.
3777
3778         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm:
3779         (runTestWithWidth):
3780         (TEST):
3781         (-[RenderedImageWithOptionsObject didRenderImageWithSize:]): Deleted.
3782         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsPlugIn.mm:
3783         (-[RenderedImageWithOptionsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
3784         (-[RenderedImageWithOptionsPlugIn webProcessPlugInBrowserContextController:didFinishLoadForFrame:]):
3785         (-[RenderedImageWithOptionsPlugIn renderImageWithWidth:completionHandler:]):
3786         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsProtocol.h:
3787
3788 2017-05-04  Adrian Perez de Castro  <aperez@igalia.com>
3789
3790         [GTK] Fontconfig 2.11.2 in JHBuild does not build with glibc 2.25+ or gperf 3.1+
3791         https://bugs.webkit.org/show_bug.cgi?id=171649
3792
3793         Reviewed by Carlos Garcia Campos.
3794
3795         Add two patches picked from the upstream repository to fix building of
3796         the Fontconfig module in JHBuild. Additionally, this needed a patch to
3797         add "autogen.sh" as it is not included in release tarballs. Also:
3798         building the module with srcdir!=builddir prevents "fcobjshash.gperf"
3799         being regenerated (which is needed) so this is disabled for the
3800         Fontconfig module.
3801
3802         * gtk/jhbuild.modules:
3803         * gtk/patches/fontconfig-2.11.1-add-autogen.patch: Added.
3804         * gtk/patches/fontconfig-Avoid-conflicts-with-integer-width-macros-from-TS-18661-1-2014.patch: Added.
3805         * gtk/patches/fontconfig-Fix-the-build-issue-with-gperf-3.1.patch: Added.
3806
3807 2017-05-04  Commit Queue  <commit-queue@webkit.org>
3808
3809         Unreviewed, rolling out r216172.
3810         https://bugs.webkit.org/show_bug.cgi?id=171654
3811
3812         FTBFS for iOS due to missing WebPageProxy::stopMediaCapture()
3813         implementation. (Requested by ddkilzer on #webkit).
3814
3815         Reverted changeset:
3816
3817         "[MediaStream] Allow host application to enable/disable media
3818         capture"
3819         https://bugs.webkit.org/show_bug.cgi?id=171292
3820         http://trac.webkit.org/changeset/216172
3821
3822 2017-05-04  Carlos Garcia Campos  <cgarcia@igalia.com>
3823
3824         [GTK] Bump GStreamer version to 1.10.4 in jhbuild
3825         https://bugs.webkit.org/show_bug.cgi?id=171595
3826
3827         Reviewed by Xabier Rodriguez-Calvar.
3828
3829         * gtk/jhbuild.modules:
3830         * gtk/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Removed.
3831         * gtk/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Removed.
3832         * gtk/patches/gst-plugins-good-0001-rtpbin-pipeline-gets-an-EOS-when-any-rtpsources-byes.patch: Removed.
3833         * gtk/patches/gst-plugins-good-0002-rtpbin-avoid-generating-errors-when-rtcp-messages-ar.patch: Removed.
3834         * gtk/patches/gst-plugins-good-0004-qtdemux-add-context-for-a-preferred-protection.patch:
3835         * gtk/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
3836         * gtk/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
3837
3838 2017-05-03  Saam Barati  <sbarati@apple.com>
3839
3840         How we build polymorphic cases is wrong when making a call from Wasm
3841         https://bugs.webkit.org/show_bug.cgi?id=171527
3842
3843         Reviewed by JF Bastien.
3844
3845         * Scripts/run-jsc-stress-tests:
3846
3847 2017-05-03  Eric Carlson  <eric.carlson@apple.com>
3848
3849         [MediaStream] Allow host application to enable/disable media capture
3850         https://bugs.webkit.org/show_bug.cgi?id=171292
3851         <rdar://problem/31821492>
3852
3853         Reviewed by Jer Noble.
3854
3855         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3856         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
3857         (-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
3858         (-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
3859         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
3860         (MediaCaptureDisabledTest::SetUp):
3861         (MediaCaptureDisabledTest::loadTestAndWaitForMessage):
3862         (TEST_F):
3863         * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
3864
3865 2017-05-03  John Wilander  <wilander@apple.com>
3866
3867         Resource Load Statistics: Remove all statistics for modifiedSince website data removals
3868         https://bugs.webkit.org/show_bug.cgi?id=171584
3869         <rdar://problem/24702576>
3870
3871         Reviewed by Brent Fulgham.
3872
3873         New function to call the clear function that takes a modifiedSince parameter.
3874
3875         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3876         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3877         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
3878         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3879         * WebKitTestRunner/TestController.cpp:
3880         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
3881         * WebKitTestRunner/TestController.h:
3882         * WebKitTestRunner/TestInvocation.cpp:
3883         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3884
3885 2017-05-03  Commit Queue  <commit-queue@webkit.org>
3886
3887         Unreviewed, rolling out r216160 and r216161.
3888         https://bugs.webkit.org/show_bug.cgi?id=171640
3889
3890         These changes broke the iOS build. (Requested by mlewis13 on
3891         #webkit).
3892
3893         Reverted changesets:
3894
3895         "[MediaStream] Allow host application to enable/disable media
3896         capture"
3897         https://bugs.webkit.org/show_bug.cgi?id=171292
3898         http://trac.webkit.org/changeset/216160
3899
3900         "[MediaStream] Allow host application to enable/disable media
3901         capture"
3902         https://bugs.webkit.org/show_bug.cgi?id=171292
3903         http://trac.webkit.org/changeset/216161
3904
3905 2017-05-03  Eric Carlson  <eric.carlson@apple.com>
3906
3907         [MediaStream] Allow host application to enable/disable media capture
3908         https://bugs.webkit.org/show_bug.cgi?id=171292
3909         <rdar://problem/31821492>
3910
3911         Reviewed by Jer Noble.
3912
3913         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3914         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
3915         (-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
3916         (-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
3917         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
3918         (MediaCaptureDisabledTest::SetUp):
3919         (MediaCaptureDisabledTest::loadTestAndWaitForMessage):
3920         (TEST_F):
3921         * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
3922
3923 2017-04-26  Jiewen Tan  <jiewen_tan@apple.com>
3924
3925         [WebCrypto] Add an api test for testing wrapping/unwrapping serialized crypto keys
3926         https://bugs.webkit.org/show_bug.cgi?id=171350
3927         <rdar://problem/28600836>
3928
3929         Patched by Brady Eidson.
3930
3931         Reviewed by Brent Fulgham.
3932
3933         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3934         * TestWebKitAPI/Tests/WebKit2/NavigationClientDefaultCrypto.cpp: Added.
3935         (TestWebKitAPI::runJavaScriptAlert):
3936         (TestWebKitAPI::decidePolicyForNavigationAction):
3937         (TestWebKitAPI::decidePolicyForNavigationResponse):
3938         (TestWebKitAPI::TEST):
3939         * TestWebKitAPI/Tests/WebKit2/navigation-client-default-crypto.html: Added.
3940
3941 2017-05-03  Simon Fraser  <simon.fraser@apple.com>
3942
3943         Have WKWebView call _updateVisibleContentRects for the current transaction if possible, rather than always delaying
3944         https://bugs.webkit.org/show_bug.cgi?id=171619
3945         https://bugs.webkit.org/show_bug.cgi?id=170195
3946
3947         Reviewed by Tim Horton.
3948
3949         Re-enable WebKit2.ResizeWithHiddenContentDoesNotHang.
3950
3951         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
3952         (TEST):
3953
3954 2017-05-03  Michael Catanzaro  <mcatanzaro@igalia.com>
3955
3956         YouTube user agent quirk breaks new YouTube
3957         https://bugs.webkit.org/show_bug.cgi?id=171603
3958
3959         Reviewed by Carlos Garcia Campos.
3960
3961         Remove the YouTube quirk test.
3962
3963         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
3964         (TestWebKitAPI::TEST):
3965
3966 2017-05-03  Said Abou-Hallawa  <sabouhallawa@apple.com>
3967
3968         Async image decoding should be disabled for snapshots, printing and preview
3969         https://bugs.webkit.org/show_bug.cgi?id=171467
3970
3971         Reviewed by Simon Fraser.
3972
3973         Add a API test for snapshotting with large images. Ensure the images are
3974         drawn correctly which implies they should have been synchronously decoded.
3975
3976         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3977         * TestWebKitAPI/Tests/WebKit2/large-red-square-image.html: Added.
3978         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm:
3979         (TEST):
3980
3981 2017-05-03  Chris Dumez  <cdumez@apple.com>
3982
3983         [WK2] Extend processDidCrash delegate to let the client know the reason for the crash
3984         https://bugs.webkit.org/show_bug.cgi?id=171565
3985         <rdar://problem/31204417>
3986
3987         Reviewed by Sam Weinig.
3988
3989         Add API test coverage.
3990
3991         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3992         * TestWebKitAPI/Tests/WebKit2/ProcessDidCrashWithReason.cpp: Added.
3993         (TestWebKitAPI::didFinishNavigation):
3994         (TestWebKitAPI::didCrashWithReason):
3995         (TestWebKitAPI::TEST):
3996
3997 2017-05-02  David Kilzer  <ddkilzer@apple.com>
3998
3999         check-webkit-style should also keep js-test-post[-async].js in sync
4000         <https://webkit.org/b/171568>
4001
4002         Reviewed by Joseph Pecoraro.
4003
4004         * Scripts/webkitpy/style/checker.py:
4005         (_NEVER_SKIPPED_JS_FILES): Add new list that just contains
4006         JavaScript files not to be skipped.
4007         (_NEVER_SKIPPED_FILES): Update to use _NEVER_SKIPPED_JS_FILES.
4008         (CheckerDispatcher._create_checker): Update to use
4009         _NEVER_SKIPPED_JS_FILES.
4010
4011         * Scripts/webkitpy/style/checkers/jstest.py:
4012         (ALL_JS_TEST_FUNCTION_FILES): Rename from ALL_JS_TEST_FILES.
4013         This is the list of files containing functions that need to be
4014         kept in sync.
4015         (KEEP_JS_TEST_FILES_IN_SYNC): Change to list-of-lists format so
4016         we can keep more sets of files in sync between
4017         LayoutTests/resources and LayoutTests/http/tests/resources.
4018         (JSTestChecker.check): Update to use KEEP_JS_TEST_FILES_IN_SYNC
4019         as list of lists.  Update for ALL_JS_TEST_FUNCTION_FILES rename.
4020         (JSTestChecker.check_js_test_files): Add 'file_group' argument
4021         for list of files to check instead of using
4022         KEEP_JS_TEST_FILES_IN_SYNC.
4023         (JSTestChecker.check_js_test_functions): Update for
4024         ALL_JS_TEST_FUNCTION_FILES rename.
4025
4026         * Scripts/webkitpy/style/checkers/jstest_unittest.py:
4027         (JSTestCheckerTestCase):
4028         (JSTestCheckerTestCase.test_map_functions_to_dict):
4029         - Add test case for map_functions_to_dict() in jstest.py.
4030
4031 2017-05-02  Aakash Jain  <aakash_jain@apple.com>
4032
4033         ews should indicate in logs when it fails to fetch the attachment
4034         https://bugs.webkit.org/show_bug.cgi?id=171583
4035
4036         Reviewed by Alexey Proskuryakov.
4037
4038         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
4039         (Bugzilla.fetch_attachment): Added log statement.
4040
4041 2017-05-02  David Kilzer  <ddkilzer@apple.com>
4042
4043         Rolling out jstest_unittest.py so it can be reviewed
4044
4045         Follow-up fix for:
4046         check-webkit-style should keep JavaScript test functions in sync
4047         <https://webkit.org/b/171424>
4048
4049         * Scripts/webkitpy/style/checkers/jstest_unittest.py: Remove.
4050
4051 2017-05-02  David Kilzer  <ddkilzer@apple.com>
4052
4053         check-webkit-style should keep JavaScript test functions in sync
4054         <https://webkit.org/b/171424>
4055
4056         Reviewed by Joseph Pecoraro.
4057
4058         Add a new JSTestChecker for check-webkit-style that keeps these
4059         two files in sync:
4060
4061             LayoutTests/http/tests/resources/js-test-pre.js
4062             LayoutTests/resources/js-test-pre.js
4063
4064         And keeps implementations of shouldBe(), shouldNotBe(),
4065         shouldNotThrow(), and shouldThrow() in sync across multiple
4066         files (with the ability to add more functions later):
4067
4068             JSTests/stress/resources/standalone-pre.js
4069             LayoutTests/http/tests/resources/js-test-pre.js
4070             LayoutTests/resources/js-test-pre.js
4071             LayoutTests/resources/js-test.js
4072             LayoutTests/resources/standalone-pre.js
4073
4074         * Scripts/webkitpy/style/checker.py: Remove unused import.  Add
4075         import for JSTestChecker.
4076         (_NEVER_SKIPPED_FILES): Add array of file names that are never
4077         skipped regardless of other rules.
4078         (_all_categories): Add JSTestChecker categories.
4079         (CheckerDispatcher.should_skip_without_warning): Use
4080         _NEVER_SKIPPED_FILES.
4081         (CheckerDispatcher._create_checker): Return JSTestChecker for
4082         the files to check.
4083
4084         * Scripts/webkitpy/style/checkers/jstest.py: Add.
4085         (map_functions_to_dict): Parse JavaScript source by splitting on
4086         /^function\s+/ regex.  This is good enough for the sanity checks
4087         to keep function implementations in sync.
4088         (strip_blank_lines_and_comments): Strips blank lines and lines
4089         with comments from the end of a chunk of text representing a
4090         function.
4091         (JSTestChecker): New checker.
4092         (JSTestChecker.__init__):
4093         (JSTestChecker.check):
4094         (JSTestChecker.check_js_test_files): Keeps whole files in sync.
4095         (JSTestChecker.check_js_test_functions): Keeps individual
4096         functions in sync.
4097
4098         * Scripts/webkitpy/style/checkers/jstest_unittest.py: Add test
4099         case.
4100         (JSTestTestCase):
4101         (JSTestTestCase.test_map_functions_to_dict):
4102
4103 2017-05-02  Joanmarie Diggs  <jdiggs@igalia.com>
4104
4105         AX: Update implementation of aria-orientation
4106         https://bugs.webkit.org/show_bug.cgi?id=171166
4107
4108         Reviewed by Chris Fleizach.
4109
4110         Return "AXUnknownOrientation" when ATK_STATE_VERTICAL and ATK_STATE_HORIZONTAL
4111         are both absent from the state set. Before we were returning an empty string
4112         which was not consistent with what the Mac port does, thus making shared tests
4113         harder.
4114
4115         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4116         (WTR::AccessibilityUIElement::orientation):
4117
4118 2017-05-01  David Kilzer  <ddkilzer@apple.com>
4119
4120         Stop using sprintf() in JavaScriptCore debugger
4121         <https://webkit.org/b/171512>
4122
4123         Reviewed by Keith Miller.
4124
4125         * Scripts/webkitpy/style/checker.py:
4126         (_PATH_RULES_SPECIFIER): Ignore some formatting checkers since
4127         Source/JavaScriptCore/disassembler/udis86/ is generated code.
4128
4129 2017-05-01  Timothy Horton  <timothy_horton@apple.com>
4130
4131         Expose viewport-fit instead of clip-to-safe-area
4132         https://bugs.webkit.org/show_bug.cgi?id=171503
4133         <rdar://problem/31918249>
4134
4135         Reviewed by Simon Fraser.
4136
4137         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
4138         (WTR::UIScriptController::setSafeAreaInsets):
4139         (WTR::UIScriptController::setObscuredInsets): Deleted.
4140         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
4141         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
4142         (WTR::UIScriptController::setSafeAreaInsets):
4143         (WTR::UIScriptController::setObscuredInsets): Deleted.
4144         * TestRunnerShared/UIScriptContext/UIScriptController.h:
4145         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
4146         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
4147         (-[TestRunnerWKWebView setOverrideSafeAreaInsets:]):
4148         (-[TestRunnerWKWebView _safeAreaInsetsForFrame:inSuperview:]):
4149         * WebKitTestRunner/ios/TestControllerIOS.mm:
4150         (WTR::TestController::platformResetStateToConsistentValues):
4151         * WebKitTestRunner/ios/UIKitSPI.h:
4152         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
4153         (WTR::UIScriptController::setSafeAreaInsets):
4154         (WTR::UIScriptController::setObscuredInsets): Deleted.
4155         Expose a safe area inset setter instead of obscured insets.
4156
4157 2017-05-01  Wenson Hsieh  <wenson_hsieh@apple.com>
4158
4159         Unreviewed, fix the build on a new internal SDK
4160
4161         Replace usages of NSItemProviderRepresentationVisibilityAll with
4162         UIItemProviderRepresentationOptionsVisibilityAll.
4163
4164         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
4165         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
4166         (TestWebKitAPI::TEST):
4167
4168 2017-05-01  David Kilzer  <ddkilzer@apple.com>
4169
4170         [Cocoa] Replace uses of [get…Class() alloc] in TestWebKitAPI
4171         <https://webkit.org/b/171493>
4172
4173         Reviewed by Dan Bernstein.
4174
4175         * TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
4176         Remove UIKit soft-link since TestWebKitAPI links to
4177         UIKit.framework.
4178         (TestWebKitAPI::WebKit1_AudioSessionCategoryIOS_Test): Use
4179         UIWindow and UIWebView classes directly.
4180         * TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm:
4181         Remove UIKit soft-link since TestWebKitAPI links to
4182         UIKit.framework.
4183         (RequiresUserActionForPlaybackTest::createWebView): Use UIWindow
4184         class directly.
4185
4186 2017-05-01  Brady Eidson  <beidson@apple.com>
4187
4188         Update names in WKURLSchemeHandler/WKURLSchemeHandlerTask APIs.
4189         <rdar://problem/31824838> and https://bugs.webkit.org/show_bug.cgi?id=171508
4190
4191         Reviewed by Andy Estes.
4192
4193         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
4194         (-[SchemeHandler webView:startURLSchemeTask:]):
4195         (-[SchemeHandler webView:stopURLSchemeTask:]):
4196         (-[SchemeHandler webView:startTask:]): Deleted.
4197         (-[SchemeHandler webView:stopTask:]): Deleted.
4198
4199 2017-05-01  Jason Marcell  <jmarcell@apple.com>
4200
4201         Add a new function for getting the Git hash for a pure git directory.
4202         https://bugs.webkit.org/show_bug.cgi?id=171450
4203
4204         Reviewed by David Kilzer.
4205
4206         * Scripts/VCSUtils.pm:
4207         (gitHashForDirectory):
4208
4209 2017-05-01  Joanmarie Diggs  <jdiggs@igalia.com>
4210
4211         [ATK] Expose values of aria-rowcount, aria-colcount, aria-rowindex, aria-colindex, aria-rowspan, and aria-colspan as object attributes
4212         https://bugs.webkit.org/show_bug.cgi?id=171496
4213
4214         Reviewed by Chris Fleizach.
4215
4216         Add new attribute names so that the values of the object attributes can be tested.
4217
4218         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4219         (WTR::AccessibilityUIElement::numberAttributeValue):
4220
4221 2017-05-01  Beth Dakin  <bdakin@apple.com>
4222
4223         On-screen panel for candidate bar is in the wrong place when the caret is at the 
4224         start of a paragraph
4225         https://bugs.webkit.org/show_bug.cgi?id=171453
4226         -and corresponding-
4227         rdar://problem/29779764
4228
4229         Reviewed by Tim Horton.
4230
4231         This test hard-codes the y-coordinate for the expected candidateRect. 
4232         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm:
4233         (TEST):
4234
4235 2017-05-01  David Kilzer  <ddkilzer@apple.com>
4236
4237         check-webkit-style: Enable sprintf(), strcat(), strcpy() and printf() format checks
4238         <https://webkit.org/b/171494>
4239
4240         Reviewed by Brent Fulgham.
4241
4242         * Scripts/webkitpy/style/checkers/cpp.py:
4243         (check_language): Change categories for certain checkers from
4244         'runtime/printf' to 'security/printf' so they are no longer
4245         filtered.
4246         (CppChecker.categories): Add 'security/printf'.
4247         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
4248         (CppStyleTest.test_insecure_string_operations): Add new test for
4249         sprintf(), strcat() and strcpy().
4250         (CppStyleTest.test_format_strings): Update test results for new
4251         'security/printf' category use.
4252
4253 2017-05-01  Joanmarie Diggs  <jdiggs@igalia.com>
4254
4255         AX: [GTK] Add support to query for aria-current
4256         https://bugs.webkit.org/show_bug.cgi?id=149016
4257
4258         Reviewed by Chris Fleizach.
4259
4260         Implement support for "AXARIACurrent" string attribute value.
4261
4262         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4263
4264 2017-05-01  David Kilzer  <ddkilzer@apple.com>
4265
4266         REGRESSION (r216000): test-webkitpy fails after adding new soft-linked class checker
4267
4268         Unreviewed.
4269
4270         Follow-up fix for:
4271         [Cocoa] Have check-webkit-style advise against use of [get…Class() alloc]
4272         https://bugs.webkit.org/show_bug.cgi?id=171486
4273
4274         * Scripts/webkitpy/style/checkers/cpp.py:
4275         (check_soft_link_class_alloc): Use (\w+) instead of ([^\s]+) to
4276         match and capture the function name.  The latter also mistakenly
4277         matches C-preprocessor directives.
4278         (CppChecker.categories): Add 'runtime/soft-linked-alloc', which
4279         is a requirement for the CppChecker&n