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