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