942eb9d9ad904fed7c7764bd07846225e8254cda
[WebKit-https.git] / Tools / ChangeLog
1 2018-03-04  Tim Horton  <timothy_horton@apple.com>
2
3         Make !ENABLE(DATA_DETECTION) iOS build actually succeed
4         https://bugs.webkit.org/show_bug.cgi?id=183283
5         <rdar://problem/38062148>
6
7         Reviewed by Sam Weinig.
8
9         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
10
11 2018-03-02  Chris Dumez  <cdumez@apple.com>
12
13         Converting a load to a download does not work with async policy delegates
14         https://bugs.webkit.org/show_bug.cgi?id=183254
15         <rdar://problem/38035334>
16
17         Reviewed by Youenn Fablet.
18
19         Add layout test infrastructure for responding to the decidePolicyForNavigationResponse
20         delegate asynchronously.
21
22         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
23         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
24         (WTR::InjectedBundlePage::decidePolicyForResponse):
25         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
26         (WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay):
27         * WebKitTestRunner/InjectedBundle/TestRunner.h:
28         (WTR::TestRunner::shouldDecideResponsePolicyAfterDelay const):
29         * WebKitTestRunner/TestController.cpp:
30         (WTR::TestController::resetStateToConsistentValues):
31         (WTR::TestController::decidePolicyForNavigationResponse):
32         * WebKitTestRunner/TestController.h:
33         (WTR::TestController::setShouldDecideResponsePolicyAfterDelay):
34         * WebKitTestRunner/TestInvocation.cpp:
35         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
36
37 2018-03-01  Youenn Fablet  <youenn@apple.com>
38
39         Add API test to validate setting of service worker and cache storage directories
40         https://bugs.webkit.org/show_bug.cgi?id=182543
41
42         Reviewed by Chris Dumez.
43
44         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
45
46 2018-03-01  Ross Kirsling  <ross.kirsling@sony.com>
47
48         [Win][DRT] Implement setSpatialNavigationEnabled.
49         https://bugs.webkit.org/show_bug.cgi?id=183166
50
51         Reviewed by Per Arne Vollan.
52
53         * DumpRenderTree/TestRunner.cpp:
54         (setSpatialNavigationEnabledCallback):
55         * DumpRenderTree/win/DumpRenderTree.cpp:
56         (resetWebPreferencesToConsistentValues):
57         * DumpRenderTree/win/TestRunnerWin.cpp:
58         (TestRunner::setSpatialNavigationEnabled):
59
60 2018-03-01  Basuke Suzuki  <Basuke.Suzuki@sony.com>
61
62         [webkitpy] Use shell=False to launch apache http server.
63         https://bugs.webkit.org/show_bug.cgi?id=183191
64
65         Reviewed by Aakash Jain.
66
67         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
68         (LayoutTestApacheHttpd.__init__):
69         (LayoutTestApacheHttpd._run):
70
71 2018-03-01  Chris Dumez  <cdumez@apple.com>
72
73         Unreviewed, update WebKit.CustomHeaderFields API test after r229133.
74
75         We no longer do policy checks for 'about:blank'.
76
77         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
78         (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
79         (TEST):
80
81 2018-02-28  Jonathan Bedard  <jbedard@apple.com>
82
83         [webkitpy] Remove concept of 'future' versions (Follow-up fix 2)
84         https://bugs.webkit.org/show_bug.cgi?id=183184
85         <rdar://problem/37958594>
86
87         Reviewed by Aakash Jain.
88
89         Unlisted Apple versions can't run webkitpy tests because they don't
90         have specified port names.
91
92         * Scripts/webkitpy/port/apple.py:
93         (ApplePort.determine_full_port_name): Return valid port name for unnamed
94         versions.
95         * Scripts/webkitpy/port/base.py:
96         (Port.version_name): Check both public and internal version mapping
97         when returning a version name.
98         * Scripts/webkitpy/port/mac.py:
99         (MacPort.__init__): If no os version is defined, use the current version.
100
101 2018-02-28  John Wilander  <wilander@apple.com>
102
103         Add a second tier of prevalence to facilitate telemetry on very prevalent domains
104         https://bugs.webkit.org/show_bug.cgi?id=183218
105         <rdar://problem/37992388>
106
107         Reviewed by Brent Fulgham.
108
109         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
110             Added two new testRunner functions:
111             - setStatisticsVeryPrevalentResource()
112             - isStatisticsVeryPrevalentResource()
113         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
114         (WTR::TestRunner::setStatisticsVeryPrevalentResource):
115         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
116         * WebKitTestRunner/InjectedBundle/TestRunner.h:
117         * WebKitTestRunner/TestController.cpp:
118         (WTR::TestController::setStatisticsVeryPrevalentResource):
119         (WTR::TestController::isStatisticsVeryPrevalentResource):
120         * WebKitTestRunner/TestController.h:
121         * WebKitTestRunner/TestInvocation.cpp:
122         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
123
124 2018-02-28  Jonathan Bedard  <jbedard@apple.com>
125
126         [webkitpy] Remove concept of 'future' versions (Follow-up fix)
127         https://bugs.webkit.org/show_bug.cgi?id=183184
128         <rdar://problem/37958594>
129
130         Reviewed by David Kilzer.
131
132         The factory also relies on future in a non-obvious way.
133
134         * Scripts/webkitpy/common/system/platforminfo.py:
135         (PlatformInfo.os_version_name): Check both public and internal version mapping
136         when returning a version name.
137         * Scripts/webkitpy/common/system/platforminfo_mock.py:
138         (MockPlatformInfo.os_version_name): Ditto.
139
140 2018-02-28  Zan Dobersek  <zdobersek@igalia.com>
141
142         Unreviewed WPE fixup after r229080.
143
144         Add empty definitions for two AccessibilityUIElement methods,
145         avoiding undefined symbols in the WKTR injected bundle.
146
147         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
148         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
149         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
150
151 2018-02-27  Jonathan Bedard  <jbedard@apple.com>
152
153         Remove concept of 'future'
154         https://bugs.webkit.org/show_bug.cgi?id=183184
155         <rdar://problem/37958594>
156
157         Reviewed by Aakash Jain.
158
159         Remove concept of 'future' from expectations and instead
160         use a system of inheritance centered around the current version
161         of an OS for Mac and iOS.
162
163         Inheritance works like so:
164
165         | ....
166         V Future
167         > High Sierra (mac)
168         ^ mac-sierra
169         | mac-elcapitan
170         | ....
171
172         This does not change expectation inheritance for any currently running
173         configurations, it generalizes the logic already used.
174
175         * Scripts/webkitpy/common/version_name_map.py:
176         (VersionNameMap.__init__): Remove all future versions.
177         (VersionNameMap.mapping_for_platform): Return empty dicts instead of
178         asserting.
179         * Scripts/webkitpy/port/apple.py:
180         (ApplePort):
181         (ApplePort._allowed_versions): Return all available versions.
182         (ApplePort._generate_all_test_configurations): Instead of picking from a set
183         of allowed versions, assume that every specified version is allowed.
184         (ApplePort._port_name_with_version): Deleted.
185         * Scripts/webkitpy/port/darwin.py: Add CURRENT_VERSION overridden by subclasses.
186         (DarwinPort):
187         * Scripts/webkitpy/port/ios.py:
188         (IOSPort):
189         (IOSPort.default_baseline_search_path): Use system of inheritance centered around
190         the current version.
191         * Scripts/webkitpy/port/mac.py:
192         (MacPort):
193         (MacPort.__init__): Use current version by default.
194         (MacPort.default_baseline_search_path): Use system of inheritance centered around
195         the current version.
196         (MacPort.configuration_specifier_macros): Use the same set of version names
197         supported in default_baseline_search_path.
198         * Scripts/webkitpy/port/mac_unittest.py:
199         (MacTest.test_versions): Remove 'future' tests.
200
201 2018-02-27  Michael Catanzaro  <mcatanzaro@igalia.com>
202
203         Unreviewed GTK test gardening
204
205         * TestWebKitAPI/glib/TestExpectations.json:
206
207 2018-02-27  Doug Russell  <doug@getitdownonpaper.com>
208
209         AX: Spell check and style attributes should be optional when fetching attributed string
210         https://bugs.webkit.org/show_bug.cgi?id=160744
211
212         Reviewed by Chris Fleizach.
213
214         The overhead of fetching a spell checked attributed string via AX API is substantial. 
215         In some cases on the order of 7/8 of the total time spent fetching the string.
216
217         This change introduces the new attribute AXAttributedStringForTextMarkerRangeWithOptions which accepts an NSDictionary as it's parameter with keys "AXTextMarkerRange" (AXTextMarkerRangeRef) and "AXSpellCheck" (NSNumber(BOOL)).
218
219         AXAttributedStringForTextMarkerRange will remain unchanged.
220
221         * DumpRenderTree/AccessibilityUIElement.cpp:
222         (attributedStringForTextMarkerRangeCallback):
223         (attributedStringForTextMarkerRangeWithOptionsCallback):
224         (AccessibilityUIElement::attributedStringForTextMarkerRange):
225         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
226         (AccessibilityUIElement::getJSClass):
227         * DumpRenderTree/AccessibilityUIElement.h:
228         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
229         (AccessibilityUIElement::attributedStringForTextMarkerRange):
230         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
231         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
232         (createJSStringRef):
233         (AccessibilityUIElement::attributedStringForTextMarkerRange):
234         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
235         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
236         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
237         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
238         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
239         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
240         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
241         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
242         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
243         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
244         (WTR::createJSStringRef):
245         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
246         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
247
248 2018-02-27  Daniel Bates  <dabates@apple.com>
249
250         Standardize terminology for marked text
251         https://bugs.webkit.org/show_bug.cgi?id=180999
252
253         Reviewed by Zalan Bujtas.
254
255         The name MarkerSubrange is a misnomer for a data structure that associates a text subrange with a type
256         and optional document marker. In particular, a MarkerSubrange may not always correspond to a document
257         marker. For instance, selected text is represented using a MarkerSubrange that does not have a
258         corresponding document marker. Let's standardize on the phrase "marked text" as the canonical way to
259         describe these tagged text subranges.
260
261         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
262         * TestWebKitAPI/Tests/WebCore/MarkedText.cpp: Added.
263         (WebCore::operator<<):
264         (TestWebKitAPI::TEST):
265         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp: Removed.
266
267 2018-02-27  Aakash Jain  <aakash_jain@apple.com>
268
269         webkitpy Bugzilla transactions should retry on URLError
270         https://bugs.webkit.org/show_bug.cgi?id=183156
271
272         Reviewed by Alexey Proskuryakov.
273
274         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
275         (Bugzilla): Use NetworkTransaction.
276         (Bugzilla._fetch_bug_page_by_url):
277         (Bugzilla.bug_id_for_attachment_id):
278         (Bugzilla.get_bug_id_for_attachment_id):
279
280 2018-02-27  Wenson Hsieh  <wenson_hsieh@apple.com>
281
282         [Extra zoom mode] Implement additional SPI for adjusting viewport shrink-to-fit behavior
283         https://bugs.webkit.org/show_bug.cgi?id=183100
284         <rdar://problem/37840987>
285
286         Reviewed by Tim Horton.
287
288         Add API tests that exercise -_setMinimumAllowedLayoutWidth: and -_setForceHorizontalViewportShrinkToFit:. See
289         WebKit ChangeLog for more detail.
290
291         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
292         * TestWebKitAPI/Tests/ios/ViewportSizingTests.mm: Added.
293         (TestWebKitAPI::while):
294         (viewportTestPageMarkup):
295         (TestWebKitAPI::TEST):
296
297 2018-02-27  Yusuke Suzuki  <utatane.tea@gmail.com>
298
299         Unreviewed, skip FTL tests if FTL is disabled
300         https://bugs.webkit.org/show_bug.cgi?id=183071
301
302         * Scripts/run-jsc-stress-tests:
303
304 2018-02-26  Don Olmstead  <don.olmstead@sony.com>
305
306         Fix WebCore includes within WebKitLegacy
307         https://bugs.webkit.org/show_bug.cgi?id=183147
308
309         Reviewed by Tim Horton.
310
311         * MiniBrowser/win/ResourceLoadDelegate.cpp:
312
313 2018-02-26  Yousuke Kimoto  <yousuke.kimoto@sony.com>
314
315         [WinCairo] WebKit2_C.h should be included for TestWebKit
316         https://bugs.webkit.org/show_bug.cgi?id=182682
317
318         Reviewed by Yusuke Suzuki.
319
320         * TestWebKitAPI/config.h:
321
322 2018-02-25  Fujii Hironori  <Hironori.Fujii@sony.com>
323
324         [WK2] http/tests/navigation/new-window-redirect-history.html crashes
325         https://bugs.webkit.org/show_bug.cgi?id=127683
326
327         Reviewed by Dan Bernstein.
328
329         m_previousTestBackForwardListItem was null for the new window.
330         m_previousTestBackForwardListItem is initialized only for the main
331         window in InjectedBundlePage::prepare.
332
333         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
334         (WTR::InjectedBundlePage::dumpBackForwardList):
335         Do null-check of m_previousTestBackForwardListItem.
336
337 2018-02-25  Alexey Proskuryakov  <ap@apple.com>
338
339         Various crashes in WebKitTestRunner, especially when system is under heavy load
340         https://bugs.webkit.org/show_bug.cgi?id=183109
341
342         Reviewed by Tim Horton.
343
344         WebKitTestRunner had many places where it sent messages to WebContent with a timeout,
345         but it didn't handle the timeout when it did occur. Nearly all of those would result
346         in logic errors and failing tests, and most would even result in stack corruption,
347         as the response handler modified local variables.
348
349         There is only one timeout scenario that we actually mean to handle in WKTR. That's
350         when a test freezes after it is done (e.g. an infinite loop in beforeunload) - we don't
351         want to blame the next test for freezing, so we silently relaunch WebContent.
352         Everything else is cargo cult code that never worked.
353
354         This patch addresses the crashes, and actually makes tests pass a lot more on an
355         overloaded system.
356
357         * WebKitTestRunner/TestController.cpp:
358         (WTR::TestController::resetStateToConsistentValues): Moved m_doneResetting assignment
359         to where it's actually needed, for clarity.
360         (WTR::TestController::reattachPageToWebProcess): This function used to always hit
361         and ignore message timeout, as m_doneResetting is only updated by navigation callback
362         when the state is Resetting. This change makes it faster.
363         (WTR::TestController::platformResetStateToConsistentValues): Style fix.
364         (WTR::TestController::clearServiceWorkerRegistrations): Timing out here wasn't
365         handled in a meaningful manner, and would even corrupt the stack.
366         (WTR::TestController::clearDOMCache): Ditto.
367         (WTR::TestController::clearDOMCaches): Ditto.
368         (WTR::TestController::hasDOMCache): Ditto.
369         (WTR::TestController::domCacheSize): Ditto.
370         (WTR::TestController::isStatisticsPrevalentResource): Ditto.
371         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder): Ditto.
372         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo): Ditto.
373         (WTR::TestController::isStatisticsHasHadUserInteraction): Ditto.
374         (WTR::TestController::isStatisticsGrandfathered): Ditto.
375         (WTR::TestController::statisticsUpdateCookiePartitioning): Ditto.
376         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Ditto.
377         (WTR::TestController::statisticsClearInMemoryAndPersistentStore): Ditto.
378         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Ditto.
379         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval): Ditto.
380
381         * WebKitTestRunner/TestInvocation.cpp:
382         (WTR::TestInvocation::shortTimeout const): Made shortTimeout shorter (on a hunch).
383         (WTR::TestInvocation::invoke): Removed a timeout waiting for initial response. There
384         is never a logical reason for such a timeout, as we always have a new or responsive
385         WebContent process here.
386         (WTR::TestInvocation::dumpResults): Removed another timeout that we don't know how to
387         properly handle.
388         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Removed assignment to
389         m_errorMessage, which had no effect in this context.
390
391         * WebKitTestRunner/TestInvocation.h: Removed no longer used code.
392
393         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
394         (WTR::TestController::cocoaResetStateToConsistentValues): Use a named constant for
395         no timeout.
396         
397         * WebKitTestRunner/ios/TestControllerIOS.mm:
398         (WTR::TestController::platformConfigureViewForTest): Removed a useless timeout.
399         Not sure if timing out here would corrupt the stack or not, but there is no reason
400         to impose arbitrary limits on individual steps of a test.
401
402         * WebKitTestRunner/mac/TestControllerMac.mm:
403         (WTR::TestController::platformConfigureViewForTest): Use a named constant for
404         no timeout.
405
406 2018-02-25  Ali Juma  <ajuma@chromium.org>
407
408         Unreviewed. Change my status to committer.
409
410         * Scripts/webkitpy/common/config/contributors.json:
411
412 2018-02-25  Chris Dumez  <cdumez@apple.com>
413
414         Service workers do not work well inside Web.app
415         https://bugs.webkit.org/show_bug.cgi?id=183105
416         <rdar://problem/37864140>
417
418         Reviewed by Youenn Fablet.
419
420         Add API test coverage.
421
422         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
423
424 2018-02-25  Aakash Jain  <aakash_jain@apple.com>
425
426         [build.webkit.org] unit-tests fail if buildbot 0.8.6p1 is not installed locally
427         https://bugs.webkit.org/show_bug.cgi?id=183103
428
429         Reviewed by Alexey Proskuryakov.
430
431         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Removed extra imports.
432
433 2018-02-24  Wenson Hsieh  <wenson_hsieh@apple.com>
434
435         Unreviewed, fix the TestWebKitAPI build after r228825.
436
437         I removed a `>= iOS 11` check in r228825, but forgot that this was also neeed to guard against tvOS and watchOS
438         builds. This fixes the build by restoring the compile-time guard and also makes it explicit for these platforms.
439
440         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
441
442 2018-02-22  Yusuke Suzuki  <utatane.tea@gmail.com>
443
444         Remove currentTime() / currentTimeMS()
445         https://bugs.webkit.org/show_bug.cgi?id=183052
446
447         Reviewed by Mark Lam.
448
449         * DumpRenderTree/TestRunner.cpp:
450         (preciseTimeCallback):
451         * DumpRenderTree/mac/TestRunnerMac.mm:
452         (TestRunner::setMockGeolocationPosition):
453         * TestWebKitAPI/Tests/WTF/Condition.cpp:
454         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
455         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
456         * WebKitTestRunner/GeolocationProviderMock.cpp:
457         (WTR::GeolocationProviderMock::setPosition):
458         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
459         (WTR::TestRunner::preciseTime):
460
461 2018-02-22  Yusuke Suzuki  <utatane.tea@gmail.com>
462
463         Remove sleep(double) and sleepMS(double) interfaces
464         https://bugs.webkit.org/show_bug.cgi?id=183038
465
466         Reviewed by Mark Lam.
467
468         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
469         (PluginTest::indicateTestFailure):
470         * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
471         (EvaluteJSWithinNPP_New::NPP_New):
472         * DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
473         (InvokeDestroysPluginWithinNPP_New::NPP_New):
474         * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
475         * TestWebKitAPI/Tests/WTF/Signals.cpp:
476         (TEST):
477         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
478         (TestWebKitAPI::testThreadGroup):
479         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
480         (TestWebKitAPI::TEST):
481         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
482         (TestWebKitAPI::TEST):
483         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
484         (TestWebKitAPI::TEST):
485         * TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
486         (TestWebKitAPI::Util::sleep):
487
488 2018-02-21  Don Olmstead  <don.olmstead@sony.com>
489
490         [CMake][Win] Use cmakeconfig.h rather than config.h and Platform.h
491         https://bugs.webkit.org/show_bug.cgi?id=182883
492
493         Reviewed by Per Arne Vollan.
494
495         * DumpRenderTree/config.h:
496         * TestWebKitAPI/config.h:
497
498 2018-02-21  Michael Catanzaro  <mcatanzaro@igalia.com>
499
500         [GTK] Unsafe g_setenv use in MiniBrowser main
501         https://bugs.webkit.org/show_bug.cgi?id=182978
502
503         Reviewed by Carlos Garcia Campos.
504
505         setenv (and g_setenv) will randomly crash if called too late.
506
507         * MiniBrowser/gtk/main.c:
508         (main):
509
510 2018-02-21  Aakash Jain  <aakash_jain@apple.com>
511
512         webkitpy NetworkTransaction should retry on URLError
513         https://bugs.webkit.org/show_bug.cgi?id=182987
514
515         Reviewed by Alexey Proskuryakov.
516
517         * Scripts/webkitpy/common/net/networktransaction.py:
518         (NetworkTransaction.run): Retry on urllib2.URLError.
519
520 2018-02-21  Ms2ger  <Ms2ger@igalia.com>
521
522         [WTR][WPE] Correct the process names in TestController.
523         https://bugs.webkit.org/show_bug.cgi?id=178700
524
525         Reviewed by Michael Catanzaro.
526
527         Similar to r228731 for GTK.
528
529         * Scripts/webkitpy/port/wpe.py:
530         (WPEPort._get_crash_log): removed the code to convert WebProcess name.
531         * WebKitTestRunner/TestController.cpp: return the correct process names for WPE.
532         (WTR::TestController::webProcessName):
533         (WTR::TestController::networkProcessName):
534         (WTR::TestController::databaseProcessName):
535
536 2018-02-21  Ms2ger  <Ms2ger@igalia.com>
537
538         [ATK] Remove attributeSet variable from AccessibilityUIElement::attributedStringForRange().
539         https://bugs.webkit.org/show_bug.cgi?id=183000
540
541         Reviewed by Joanmarie Diggs.
542
543         It is never initialized, but is passed to atk_attribute_set_free.
544         This caused a crash in accessibility/content-editable-as-textarea.html on the debug bots.
545
546         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
547         (WTR::AccessibilityUIElement::attributedStringForRange):
548
549 2018-02-21  Myles C. Maxfield  <mmaxfield@apple.com>
550
551         [Cocoa] Make system-ui obey the user-installed-font policy
552         https://bugs.webkit.org/show_bug.cgi?id=182860
553         <rdar://problem/36158249>
554
555         Reviewed by Antti Koivisto.
556
557         Create a font, FakeHelvetica-ArmenianCharacter.ttf, which supports a particular Armenian
558         character which isn't isn't supported by any other font on the system.
559
560         * WebKitTestRunner/FakeHelvetica-ArmenianCharacter.ttf:
561         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
562
563 2018-02-20  Timothy Horton  <timothy_horton@apple.com>
564
565         Try to fix the 32-bit build after r228857
566
567         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
568         (WTR::UIScriptController::firstResponderSuppressionForWebView):
569
570 2018-02-20  Nan Wang  <n_wang@apple.com>
571
572         AX: Keyboard focus not following VoiceOver cursor into web content or within web content.
573         https://bugs.webkit.org/show_bug.cgi?id=182752
574         <rdar://problem/37518233>
575
576         Reviewed by Ryosuke Niwa.
577
578         * DumpRenderTree/mac/UIScriptControllerMac.mm:
579         (WTR::UIScriptController::firstResponderSuppressionForWebView):
580         (WTR::UIScriptController::makeWindowContentViewFirstResponder):
581         (WTR::UIScriptController::isWindowContentViewFirstResponder const):
582         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
583         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
584         (WTR::UIScriptController::firstResponderSuppressionForWebView):
585         (WTR::UIScriptController::makeWindowContentViewFirstResponder):
586         (WTR::UIScriptController::isWindowContentViewFirstResponder const):
587         * TestRunnerShared/UIScriptContext/UIScriptController.h:
588         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
589         (WTR::UIScriptController::firstResponderSuppressionForWebView):
590         (WTR::UIScriptController::makeWindowContentViewFirstResponder):
591         (WTR::UIScriptController::isWindowContentViewFirstResponder const):
592
593 2018-02-20  Fujii Hironori  <Hironori.Fujii@sony.com>
594
595         [GTK] jhbuild: Remove gtk-doc
596         https://bugs.webkit.org/show_bug.cgi?id=182956
597
598         Reviewed by Michael Catanzaro.
599
600         jhbuild doesn't need to build gtk-doc because major LTS Linux
601         distributions have gtk-doc v1.25, and
602         Tools/gtk/install-dependencies installs gtk-doc.
603
604         * gtk/jhbuild.modules: Removed gtk-doc.
605
606 2018-02-20  Tim Horton  <timothy_horton@apple.com>
607
608         Introduce HAVE(IOSURFACE_ACCELERATOR)
609         https://bugs.webkit.org/show_bug.cgi?id=182955
610         <rdar://problem/37699510>
611
612         Reviewed by Sam Weinig.
613
614         * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
615         (createBitmapContextFromWebView):
616         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
617         (WTR::PlatformWebView::windowSnapshotImage):
618
619 2018-02-20  Chris Dumez  <cdumez@apple.com>
620
621         Provisional load may get committed before receiving the decidePolicyForNavigationResponse response
622         https://bugs.webkit.org/show_bug.cgi?id=182720
623         <rdar://problem/37515204>
624
625         Reviewed by Alex Christensen.
626
627         Add API test coverage.
628
629         * TestWebKitAPI/Tests/WebKitCocoa/AsyncPolicyForNavigationResponse.mm:
630         (-[TestAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
631         (TestWebKitAPI::TEST):
632
633 2018-02-20  Nan Wang  <n_wang@apple.com>
634
635         AX: AOM: Dispatch accessibleclick event
636         https://bugs.webkit.org/show_bug.cgi?id=180898
637         <rdar://problem/36086710>
638
639         Reviewed by Ryosuke Niwa.
640
641         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
642         (WTR::AccessibilityUIElement::syncPress):
643         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
644         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
645         (WTR::AccessibilityUIElement::syncPress):
646
647 2018-02-20  Wenson Hsieh  <wenson_hsieh@apple.com>
648
649         [iOS 11.3 Beta] Can't copy a URL from Safari and paste it into the Gmail app
650         https://bugs.webkit.org/show_bug.cgi?id=182952
651         <rdar://problem/37636190>
652
653         Reviewed by Tim Horton.
654
655         Adds a new iOS copy/paste test that copies an anchor element via action sheet, and checks that upon pasting,
656         both "text/plain" and "text/uri-list" are provided. Additionally tweaks an existing iOS drag and drop test to
657         check for the same behavior.
658
659         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
660         (TestWebKitAPI::TEST):
661         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
662         (TestWebKitAPI::TEST):
663
664 2018-02-20  Philippe Normand  <pnormand@igalia.com>
665
666         [GStreamer][MiniBrowser] Honor GStreamer command line parameters in MiniBrowser
667         https://bugs.webkit.org/show_bug.cgi?id=173655
668
669         Reviewed by Xabier Rodriguez-Calvar.
670
671         The FIXME in GStreamerUtilities.cpp asks to pass the command line
672         parameters to the GStreamer initialization function.
673
674         Based on initial patch by: Vanessa Chipirrás Navalón  <vchipirras@igalia.com>
675
676         * MiniBrowser/gtk/main.c:
677         (main): Add the group containing the Gstreamer options that the console displays.
678
679 2018-02-19  Fujii Hironori  <Hironori.Fujii@sony.com>
680
681         [WTR][GTK] crash log backtrace doesn't show symbol names for DatabaseProcess and NetworkProcess
682         https://bugs.webkit.org/show_bug.cgi?id=182953
683
684         Reviewed by Carlos Garcia Campos.
685
686         * Scripts/webkitpy/port/gtk.py:
687         (GtkPort._get_crash_log): Removed the code to convert WebProcess name.
688         * WebKitTestRunner/TestController.cpp:
689         (WTR::TestController::webProcessName): Return the correct program name for GTK+ port.
690         (WTR::TestController::networkProcessName): Ditto.
691         (WTR::TestController::databaseProcessName): Ditto.
692
693 2018-02-19  Ryan Haddad  <ryanhaddad@apple.com>
694
695         Unreviewed, rolling out r228696.
696
697         The API test added with this change is timing out on macOS.
698
699         Reverted changeset:
700
701         "Null pointer dereference in
702         WebPageProxy::urlSchemeHandlerForScheme()"
703         https://bugs.webkit.org/show_bug.cgi?id=182905
704         https://trac.webkit.org/changeset/228696
705
706 2018-02-16  Ryosuke Niwa  <rniwa@webkit.org>
707
708         Add an entitlement check for service worker on iOS
709         https://bugs.webkit.org/show_bug.cgi?id=182865
710         <rdar://problem/37505903>
711
712         Reviewed by Brady Eidson.
713
714         Added the service worker entitlements to WebKitTestRunner and TestWebKitAPI on iOS.
715
716         * TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
717         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
718         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
719         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
720
721 2018-02-16  Youenn Fablet  <youenn@apple.com>
722
723         Allow specifying which plug-ins are supported
724         https://bugs.webkit.org/show_bug.cgi?id=182748
725
726         Reviewed by Chris Dumez.
727
728         Add support for a test runner API to specificy supported plug-ins.
729
730         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
731         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
732         (WTR::TestRunner::setPluginsAsUnsupported):
733         * WebKitTestRunner/InjectedBundle/TestRunner.h:
734         * WebKitTestRunner/TestController.cpp:
735         (WTR::TestController::resetStateToConsistentValues):
736         (WTR::TestController::setPluginsAsUnsupported):
737         * WebKitTestRunner/TestController.h:
738         * WebKitTestRunner/TestInvocation.cpp:
739         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
740
741 2018-02-16  Per Arne Vollan  <pvollan@apple.com>
742
743         Implement stopping of run loop in the WebContent process when using NSRunLoop.
744         https://bugs.webkit.org/show_bug.cgi?id=182499
745         <rdar://problem/37247424>
746
747         Reviewed by Brent Fulgham.
748
749         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
750         * TestWebKitAPI/Tests/WebKitCocoa/WebProcessTerminate.mm: Added.
751         (TEST):
752
753 2018-02-15  Alexey Proskuryakov  <ap@apple.com>
754
755         Speed up dSYM generation on build.webkit.org with -gline-tables-only
756         https://bugs.webkit.org/show_bug.cgi?id=182841
757         rdar://problem/34579649
758
759         Reviewed by Aakash Jain.
760
761         Build speed and binary size improvements are so substantial that I'm willing to make
762         CI builds less suitable for debugging, which is not a common scenario anyway.
763         Crash logs will still have line numbers in them.
764
765         * BuildSlaveSupport/build.webkit.org-config/steps.py: (CompileWebKit.start):
766
767 2018-02-15  Don Olmstead  <don.olmstead@sony.com>
768
769         WebCore headers should not be included relatively within dependent projects
770         https://bugs.webkit.org/show_bug.cgi?id=182805
771
772         Reviewed by Chris Dumez.
773
774         * TestWebKitAPI/win/TestWebCoreStubs.cpp:
775         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
776         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp:
777         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
778         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
779         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
780
781 2018-02-15  Tomas Popela  <tpopela@redhat.com>
782
783         run-jsc-stress-tests - skip a test if any of the run commands evals to skip
784         https://bugs.webkit.org/show_bug.cgi?id=182729
785
786         If multiple run commands are specified and one of them evals to skip,
787         then the test is not skipped, because the run is scheduled while
788         evaluating other commands.
789
790         Remember if the test is going to be skipped - if yes, just stop
791         evaluating the other run commands.
792
793         Reviewed by Saam Barati.
794
795         * Scripts/run-jsc-stress-tests:
796
797 2018-02-14  Charlie Turner  <cturner@igalia.com>
798
799         Get Garden-O-Matic running again.
800         https://bugs.webkit.org/show_bug.cgi?id=179089
801
802         Reviewed by Carlos Alberto Lopez Perez.
803
804         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Trac.js:
805         (parseCommitData): Author field is not always spelled 'author' these days.
806         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
807         No longer have a 32-bit builder.
808         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js:
809         (ui.perf.View.base.init): createElement has a required parameter these days.
810         * Scripts/webkitpy/tool/commands/gardenomatic.py:
811         (GardenOMatic): Override use_globs so that platform lookup in config.js works.
812
813 2018-02-14  Don Olmstead  <don.olmstead@sony.com>
814
815         Remove unused ForwardingHeaders directories from Tools
816         https://bugs.webkit.org/show_bug.cgi?id=182813
817
818         Reviewed by Konstantin Tokarev.
819
820         * DumpRenderTree/ForwardingHeaders/runtime/ArrayBufferView.h: Removed.
821         * DumpRenderTree/ForwardingHeaders/runtime/JSArrayBufferView.h: Removed.
822         * DumpRenderTree/ForwardingHeaders/runtime/JSExportMacros.h: Removed.
823         * DumpRenderTree/ForwardingHeaders/runtime/TypedArrayInlines.h: Removed.
824         * TestWebKitAPI/ForwardingHeaders/WebCore/LayoutUnit.h: Removed.
825
826 2018-02-14  Daniel Bates  <dabates@apple.com>
827
828         Disallow cross-origin subresources from asking for credentials
829         https://bugs.webkit.org/show_bug.cgi?id=182579
830         <rdar://problem/36162271>
831
832         Reviewed by Andy Estes.
833
834         Add test option allowCrossOriginSubresourcesToAskForCredential (defaults to false)
835         so that tests can toggle between the old behavior and new behavior.
836
837         * DumpRenderTree/TestOptions.h:
838         * DumpRenderTree/TestOptions.mm:
839         (TestOptions::TestOptions):
840         * DumpRenderTree/mac/DumpRenderTree.mm:
841         (setWebPreferencesForTestOptions):
842         * WebKitTestRunner/TestController.cpp:
843         (WTR::TestController::resetPreferencesToConsistentValues):
844         (WTR::updateTestOptionsFromTestHeader):
845         * WebKitTestRunner/TestOptions.h:
846         (WTR::TestOptions::hasSameInitializationOptions const):
847
848 2018-02-12  Ryosuke Niwa  <rniwa@webkit.org>
849
850         REGRESSION (r223440): Copying & pasting a list from Microsoft Word to TinyMCE fails
851         https://bugs.webkit.org/show_bug.cgi?id=182564
852
853         Reviewed by Wenson Hsieh.
854
855         Updated assertions to make sure the trailing "}" of @list rules is includd in the style, the "style" element
856         is wrapped by "head" element (not present in the pasted markup since the fragment parsing algorithm strips away),
857         and the style content is enclosed in "<!--" and "-->".
858
859         Also use execCommand('insertHTML', ~) to insert the HTML obtained via dataTransfer.getData instead of innerHTML
860         to make sure our pasting code preserves the special style element for MSO list quirks.
861
862         Finally, added two more test cases for pasting content from Microsoft Word's compatibility mode.
863
864         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
865         (TEST):
866         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
867         (TEST):
868
869 2018-02-14  Ross Kirsling  <ross.kirsling@sony.com>
870
871         [Tools] --wincairo should imply --64-bit by default.
872         https://bugs.webkit.org/show_bug.cgi?id=182753
873
874         Reviewed by Daniel Bates.
875
876         WinCairo does not currently support 32-bit and `--wincairo` itself should refer to a working platform.
877         This patch ensures x64 is determined correctly for `build-webkit --no-ninja` and `run-webkit-tests`.
878
879         * Scripts/webkitdirs.pm:
880         (determinePassedArchitecture):
881         (shouldBuild32Bit):
882         (determineShouldBuild32Bit):
883         (determineIsWin64):
884         * Scripts/webkitpy/common/config/ports.py:
885         (WinCairoPort.build_webkit_command):
886         * Scripts/webkitpy/common/config/ports_unittest.py:
887         (DeprecatedPortTest.test_wincairo_port):
888         * Scripts/webkitpy/port/win.py:
889         (WinCairoPort):
890
891 2018-02-13  Commit Queue  <commit-queue@webkit.org>
892
893         Unreviewed, rolling out r228431.
894         https://bugs.webkit.org/show_bug.cgi?id=182766
895
896         Regressed CMake build stability (Requested by dolmstead on
897         #webkit).
898
899         Reverted changeset:
900
901         "[CMake] Make WebCore headers copies"
902         https://bugs.webkit.org/show_bug.cgi?id=182512
903         https://trac.webkit.org/changeset/228431
904
905 2018-02-13  Don Olmstead  <don.olmstead@sony.com>
906
907         [CMake] Make WebCore headers copies
908         https://bugs.webkit.org/show_bug.cgi?id=182512
909
910         Reviewed by Keith Miller.
911
912         * DumpRenderTree/CMakeLists.txt:
913         * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
914         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h:
915         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h:
916         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h:
917         * TestWebKitAPI/PlatformGTK.cmake:
918         * TestWebKitAPI/PlatformWPE.cmake:
919         * TestWebKitAPI/PlatformWin.cmake:
920         * TestWebKitAPI/win/TestWebCoreStubs.cpp:
921         (loadResourceIntoBuffer):
922         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
923         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp:
924         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
925         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
926         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
927
928 2018-02-13  Chris Dumez  <cdumez@apple.com>
929
930         REGRESSION (r228299): Broke reader mode in Safari
931         https://bugs.webkit.org/show_bug.cgi?id=182697
932         <rdar://problem/37399012>
933
934         Reviewed by Ryosuke Niwa.
935
936         Add API test coverage for responding asynchronously to the decidePolicyForNavigationResponse
937         delegate.
938
939         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
940         * TestWebKitAPI/Tests/WebKitCocoa/AsyncPolicyForNavigationResponse.mm: Added.
941         (-[TestAsyncNavigationDelegate webView:didFinishNavigation:]):
942         (-[TestAsyncNavigationDelegate webView:didFailNavigation:withError:]):
943         (-[TestAsyncNavigationDelegate webView:didFailProvisionalNavigation:withError:]):
944         (-[TestAsyncNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
945         (-[TestAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
946         (TestWebKitAPI::TEST):
947
948 2018-02-12  John Wilander  <wilander@apple.com>
949
950         Resource Load Statistics: Classify resources as prevalent based on redirects to other prevalent resources
951         https://bugs.webkit.org/show_bug.cgi?id=182664
952         <rdar://problem/37372572>
953
954         Reviewed by Brent Fulgham.
955
956         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
957         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
958         (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectFrom):
959         (WTR::TestRunner::setStatisticsTopFrameUniqueRedirectTo):
960         (WTR::TestRunner::setStatisticsTopFrameUniqueRedirectFrom):
961         * WebKitTestRunner/InjectedBundle/TestRunner.h:
962         * WebKitTestRunner/TestController.cpp:
963         (WTR::TestController::setStatisticsSubresourceUniqueRedirectFrom):
964         (WTR::TestController::setStatisticsTopFrameUniqueRedirectTo):
965         (WTR::TestController::setStatisticsTopFrameUniqueRedirectFrom):
966         * WebKitTestRunner/TestController.h:
967         * WebKitTestRunner/TestInvocation.cpp:
968         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
969
970 2018-02-12  Ross Kirsling  <ross.kirsling@sony.com>
971
972         download-latest-github-release .py should not use "browser download URL".
973         https://bugs.webkit.org/show_bug.cgi?id=182646
974
975         Reviewed by Per Arne Vollan.
976
977         * Scripts/download-latest-github-release.py:
978         Download request should be a proper GitHub API call and should actually include the token when applicable.
979         (Also clean up usage of args and print while we're in here.)
980
981 2018-02-12  Per Arne Vollan  <pvollan@apple.com>
982
983         EWS should run Windows tests.
984         https://bugs.webkit.org/show_bug.cgi?id=177967
985
986         Reviewed by Lucas Forschler.
987
988         This will help catch regressions at an early stage.
989
990         * Scripts/webkitpy/common/config/ews.json:
991
992 2018-02-08  Ryosuke Niwa  <rniwa@webkit.org>
993
994         REGRESSION (r223440): Copying & pasting a list from Microsoft Word to TinyMCE fails
995         https://bugs.webkit.org/show_bug.cgi?id=182564
996
997         Reviewed by Wenson Hsieh.
998
999         Added tests for pasting HTML with list items generated by Microsoft Word as well as HTML which looks like
1000         the one generated by Microsoft Word but missing a proper "html" element at the beginning.
1001
1002         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1003         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm: Added test cases.
1004         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm: Added test cases.
1005         (msoListMarkupWithoutProperHTMLElement): Added.
1006         * TestWebKitAPI/Tests/WebKitCocoa/mso-list.html: Added.
1007
1008 2018-02-09  Don Olmstead  <don.olmstead@sony.com>
1009
1010         [CMake] Make PAL headers copies
1011         https://bugs.webkit.org/show_bug.cgi?id=182645
1012
1013         Reviewed by Alex Christensen.
1014
1015         * TestWebKitAPI/CMakeLists.txt:
1016
1017 2018-02-08  Wenson Hsieh  <wenson_hsieh@apple.com>
1018
1019         Pasting from Excel no longer provides text/html data
1020         https://bugs.webkit.org/show_bug.cgi?id=182636
1021         <rdar://problem/37087060>
1022
1023         Reviewed by Ryosuke Niwa.
1024
1025         Add new API tests to exercise pasting images with various other content types on macOS, and when dropping images
1026         and HTML markup on iOS. See the WebCore ChangeLog for more detail.
1027
1028         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1029         * TestWebKitAPI/Tests/WebKitCocoa/DataTransfer.html: Added.
1030
1031         Add a new API test harness that dumps various bits of information about a DataTransfer upon paste and drop.
1032         While somewhat similar to some existing harnesses, this makes a distinction between the raw HTML data on the
1033         pasteboard and the actual result of inserting said HTML into the DOM. This allows us to check that the HTML has
1034         been sanitized, while making checks for the actual content of the HTML robust against inline style changes.
1035
1036         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
1037         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm: Added.
1038
1039         Add a new test suite to exercise pasting mixed content types. In these test cases, the pasteboard contains a
1040         file, with some combination of plain text, rich text, and URLs.
1041
1042         (imagePath):
1043         (writeTypesAndDataToPasteboard):
1044
1045         Add a helper to write a var-arg list of content types and data to the general NSPasteboard.
1046
1047         (setUpWebView):
1048         (markupString):
1049         (TestWebKitAPI::TEST):
1050         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1051         (TestWebKitAPI::testIconImageData):
1052         (TestWebKitAPI::TEST):
1053         * TestWebKitAPI/cocoa/TestWKWebView.h:
1054
1055         Move a private declaration of -[WKWebView paste:] out to TestWKWebView.h, so that it can be shared across
1056         multiple tests. Currently, it only resides in PasteImage.mm, but I need it in PasteMixedContent.mm as well.
1057
1058 2018-02-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1059
1060         Add a way to check if a host is an IP address
1061         https://bugs.webkit.org/show_bug.cgi?id=182427
1062
1063         Reviewed by Alex Christensen.
1064
1065         Add unit test for URL::hostIsIPAddress().
1066
1067         * TestWebKitAPI/Tests/WebCore/URL.cpp:
1068         (TestWebKitAPI::TEST_F):
1069
1070 2018-02-09  Philippe Normand  <pnormand@igalia.com>
1071
1072         [GStreamer] Layout test fast/replaced/border-radius-clip.html crashes with GStreamer-CRITICAL **: gst_segment_to_stream_time: assertion 'segment->format == format' failed in gst_segment_to_stream_time()
1073         https://bugs.webkit.org/show_bug.cgi?id=176802
1074
1075         Reviewed by Xabier Rodriguez-Calvar.
1076
1077         * gstreamer/jhbuild.modules:
1078         * gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch: Added.
1079
1080 2018-02-09  Philippe Normand  <pnormand@igalia.com>
1081
1082         [JHBuild] Update Mesa to version 17
1083         https://bugs.webkit.org/show_bug.cgi?id=182599
1084
1085         Reviewed by Carlos Alberto Lopez Perez.
1086
1087         * gtk/jhbuild.modules: Update Mesa (and its dependencies, hopefully) to version 17.3.3.
1088
1089 2018-02-08  Chris Dumez  <cdumez@apple.com>
1090
1091         There should be a way to disable [OverrideBuiltins] behavior in a given DOMWrapperWorld
1092         https://bugs.webkit.org/show_bug.cgi?id=182524
1093         <rdar://problem/9057327>
1094
1095         Reviewed by Ryosuke Niwa.
1096
1097         Add API test coverage.
1098
1099         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1100         * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior.cpp: Added.
1101         (TestWebKitAPI::runJavaScriptAlert):
1102         (TestWebKitAPI::TEST):
1103         * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior_Bundle.cpp: Added.
1104         (TestWebKitAPI::InjectedBundleDisableOverrideBuiltinsBehaviorTest::InjectedBundleDisableOverrideBuiltinsBehaviorTest):
1105         (TestWebKitAPI::InjectedBundleDisableOverrideBuiltinsBehaviorTest::initialize):
1106         * TestWebKitAPI/Tests/WebKit/override-builtins-test.html: Added.
1107
1108 2018-02-08  Michael Catanzaro  <mcatanzaro@igalia.com>
1109
1110         TestController should not exercise cocoa-specific resource load statistics APIs
1111         https://bugs.webkit.org/show_bug.cgi?id=182355
1112
1113         Reviewed by Alex Christensen.
1114
1115         Remove unnecessary use of platform-specific APIs in the TestController, since there are
1116         cross-platform APIs to do the same thing.
1117
1118         Also, ensure callbacks execute before returning from TestController's functions, since
1119         otherwise the tests are guaranteed to be flaky at best, and also since there's nothing to
1120         prevent the TestController from being destroyed before the callbacks execute.
1121
1122         * WebKitTestRunner/TestController.cpp:
1123         (WTR::resourceStatisticsVoidResultCallback):
1124         (WTR::resourceStatisticsBooleanResultCallback):
1125         (WTR::TestController::isStatisticsPrevalentResource):
1126         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
1127         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
1128         (WTR::TestController::isStatisticsHasHadUserInteraction):
1129         (WTR::TestController::isStatisticsGrandfathered):
1130         (WTR::TestController::statisticsUpdateCookiePartitioning):
1131         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
1132         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
1133         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
1134         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
1135         (WTR::resourceStatisticsCallback): Deleted.
1136         (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback): Deleted.
1137         * WebKitTestRunner/TestController.h:
1138         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1139         (WTR::toNSString): Deleted.
1140         (WTR::TestController::setStatisticsLastSeen): Deleted.
1141         (WTR::TestController::setStatisticsPrevalentResource): Deleted.
1142         (WTR::TestController::isStatisticsPrevalentResource): Deleted.
1143         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder): Deleted.
1144         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo): Deleted.
1145         (WTR::TestController::setStatisticsHasHadUserInteraction): Deleted.
1146         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction): Deleted.
1147         (WTR::TestController::isStatisticsHasHadUserInteraction): Deleted.
1148         (WTR::TestController::setStatisticsGrandfathered): Deleted.
1149         (WTR::TestController::isStatisticsGrandfathered): Deleted.
1150         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin): Deleted.
1151         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin): Deleted.
1152         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo): Deleted.
1153         (WTR::TestController::setStatisticsTimeToLiveUserInteraction): Deleted.
1154         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
1155         (WTR::TestController::statisticsProcessStatisticsAndDataRecords): Deleted.
1156         (WTR::TestController::statisticsUpdateCookiePartitioning): Deleted.
1157         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Deleted.
1158         (WTR::TestController::statisticsSubmitTelemetry): Deleted.
1159         (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned): Deleted.
1160         (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval): Deleted.
1161         (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured): Deleted.
1162         (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval): Deleted.
1163         (WTR::TestController::setStatisticsGrandfatheringTime): Deleted.
1164         (WTR::TestController::setStatisticsMaxStatisticsEntries): Deleted.
1165         (WTR::TestController::setStatisticsPruneEntriesDownTo): Deleted.
1166         (WTR::TestController::statisticsClearInMemoryAndPersistentStore): Deleted.
1167         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Deleted.
1168         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval): Deleted.
1169         (WTR::TestController::statisticsResetToConsistentState): Deleted.
1170
1171 2018-02-08  Jonathan Bedard  <jbedard@apple.com>
1172
1173         webkit-patch suggest-reviewers dies with AttributeError: 'NoneType' object has no attribute 'revision'
1174         https://bugs.webkit.org/show_bug.cgi?id=182584
1175
1176         Reviewed by Daniel Bates.
1177
1178         It is possible that a specific revision has an empty ChangeLog. In this case, Checkout.commit_info_for_revision
1179         will return 'None'. Checkout.recent_commit_infos_for_files should never return a set with 'None' in it.
1180
1181         * Scripts/webkitpy/common/checkout/checkout.py:
1182         (Checkout.recent_commit_infos_for_files): Remove any empty commit information from the set.
1183         * Scripts/webkitpy/common/checkout/checkout_unittest.py: Add a file which references an empty ChangeLog.
1184
1185 2018-02-08  Matt Lewis  <jlewis3@apple.com>
1186
1187         Unreviewed, rolling out r228261.
1188
1189         This broke an internal build
1190
1191         Reverted changeset:
1192
1193         "Add a way to check if a host is an IP address"
1194         https://bugs.webkit.org/show_bug.cgi?id=182427
1195         https://trac.webkit.org/changeset/228261
1196
1197 2018-02-08  Commit Queue  <commit-queue@webkit.org>
1198
1199         Unreviewed, rolling out r228267, r228268, and r228269.
1200         https://bugs.webkit.org/show_bug.cgi?id=182601
1201
1202         jhbuild socks (Requested by philn on #webkit).
1203
1204         Reverted changesets:
1205
1206         "[JHBuild] Update Mesa to version 17"
1207         https://bugs.webkit.org/show_bug.cgi?id=182599
1208         https://trac.webkit.org/changeset/228267
1209
1210         "Unreviewed, GTK build fix attempt after r228267."
1211         https://trac.webkit.org/changeset/228268
1212
1213         "Unreviewed, final GTK build fix attempt after r228267."
1214         https://trac.webkit.org/changeset/228269
1215
1216 2018-02-08  Philippe Normand  <pnormand@igalia.com>
1217
1218         Unreviewed, final GTK build fix attempt after r228267.
1219
1220         * gtk/jhbuild.modules: sha256sum for libdrm was for the tar.gz archive. Oops.
1221
1222 2018-02-08  Philippe Normand  <pnormand@igalia.com>
1223
1224         Unreviewed, GTK build fix attempt after r228267.
1225
1226         * gtk/jhbuild.modules: Update to libdrm version 2.4.89, Mesa 17 requires at least version 2.4.75.
1227
1228 2018-02-08  Philippe Normand  <pnormand@igalia.com>
1229
1230         [JHBuild] Update Mesa to version 17
1231         https://bugs.webkit.org/show_bug.cgi?id=182599
1232
1233         Reviewed by Carlos Alberto Lopez Perez.
1234
1235         * gtk/jhbuild.modules: Update Mesa to version 17.3.3.
1236
1237 2018-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1238
1239         Add a way to check if a host is an IP address
1240         https://bugs.webkit.org/show_bug.cgi?id=182427
1241
1242         Reviewed by Alex Christensen.
1243
1244         Add unit test for URL::hostIsIPAddress().
1245
1246         * TestWebKitAPI/Tests/WebCore/URL.cpp:
1247         (TestWebKitAPI::TEST_F):
1248
1249 2018-02-07  Tim Horton  <timothy_horton@apple.com>
1250
1251         Evernote device management web view sometimes displays at the wrong scale
1252         https://bugs.webkit.org/show_bug.cgi?id=182590
1253         <rdar://problem/36633687>
1254
1255         Reviewed by Simon Fraser.
1256
1257         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1258         * TestWebKitAPI/Tests/ios/WKScrollViewDelegate.mm: Renamed from Tools/TestWebKitAPI/Tests/ios/WKScrollViewDelegateCrash.mm.
1259         (-[TestDelegateForScrollView dealloc]):
1260         (TestWebKitAPI::TEST):
1261         (-[WKScrollViewDelegateWithViewForZoomingOverridden viewForZoomingInScrollView:]):
1262         Add a test that failed before the change that ensures that we don't
1263         consult the external delegate for viewForZoomingInScrollView:, and that
1264         we succesfully update the scale even if it matches that of the view
1265         the external delegate returns for viewForZoomingInScrollView:.
1266
1267 2018-02-07  Wenson Hsieh  <wenson_hsieh@apple.com>
1268
1269         REGRESSION(r226396): File paths are inserted when dropping image files
1270         https://bugs.webkit.org/show_bug.cgi?id=182557
1271         <rdar://problem/37294120>
1272
1273         Reviewed by Ryosuke Niwa.
1274
1275         Tweak some image pasting API tests to ensure that file paths are not inserted when pasting images backed by
1276         file paths on disk.
1277
1278         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
1279         (TEST):
1280
1281 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
1282
1283         [GTK] Enable WebKit.GeolocationTransitionTo{High,Low}Accuracy tests
1284         https://bugs.webkit.org/show_bug.cgi?id=125068
1285
1286         Unreviewed test gardening.
1287
1288         They do not appear to have failed since we started running them again in r226944.
1289
1290         * TestWebKitAPI/glib/TestExpectations.json:
1291
1292 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
1293
1294         [GTK] Enable WebKit.InjectedBundleFrameHitTest test
1295         https://bugs.webkit.org/show_bug.cgi?id=120303
1296
1297         Unreviewed test gardening.
1298
1299         It does not appear to have failed since we started running it again in r226944.
1300
1301         * TestWebKitAPI/glib/TestExpectations.json:
1302
1303 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
1304
1305         [GTK] Enable WebKit.ForceRepaint test
1306         https://bugs.webkit.org/show_bug.cgi?id=105532
1307
1308         Unreviewed test gardening.
1309
1310         It does not appear to have failed since we started running it again in r226944.
1311
1312         * TestWebKitAPI/glib/TestExpectations.json:
1313
1314 2018-02-07  Philippe Normand  <pnormand@igalia.com>
1315
1316         [JHBuild] Add libva in moduleset
1317         https://bugs.webkit.org/show_bug.cgi?id=182384
1318
1319         Reviewed by Xabier Rodriguez-Calvar.
1320
1321         * gstreamer/jhbuild.modules: Add libva and disable spurious message output.
1322         * gtk/install-dependencies: Remove libva from dependencies.
1323         * wpe/install-dependencies: Ditto.
1324
1325 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
1326
1327         [GTK] Enable WebKit.NewFirstVisuallyNonEmptyLayoutFrames test
1328         https://bugs.webkit.org/show_bug.cgi?id=85037
1329
1330         Unreviewed test gardening.
1331
1332         It does not appear to have failed since we started running it again in r226944.
1333
1334         * TestWebKitAPI/glib/TestExpectations.json:
1335
1336 2018-02-06  Leo Balter  <leonardo.balter@gmail.com>
1337
1338         Nit fix for ruby script called through Perl
1339         https://bugs.webkit.org/show_bug.cgi?id=182552
1340
1341         Reviewed by Yusuke Suzuki.
1342
1343         * BuildSlaveSupport/build.webkit.org-config/steps.py:
1344         (RunTest262Tests):
1345
1346 2018-02-06  Don Olmstead  <don.olmstead@sony.com>
1347
1348         Remove WebCore/ForwardingHeaders directory
1349         https://bugs.webkit.org/show_bug.cgi?id=182347
1350
1351         Reviewed by Keith Miller.
1352
1353         * WebKitTestRunner/TestController.cpp:
1354
1355 2018-02-06  Ross Kirsling  <ross.kirsling@sony.com>
1356
1357         webkit-patch upload should ask for confirmation before creating a new bug
1358         https://bugs.webkit.org/show_bug.cgi?id=182551
1359
1360         Reviewed by Daniel Bates.
1361
1362         It is quite easy to paste unintended text into the bug number prompt. This creates a junk bug with an uneditable
1363         first comment, which could result in embarrassment or potentially even a proprietary information leak.
1364
1365         * Scripts/webkitpy/tool/commands/upload_unittest.py:
1366         (test_prepare):
1367         * Scripts/webkitpy/tool/steps/promptforbugortitle.py:
1368         (PromptForBugOrTitle):
1369         (PromptForBugOrTitle.options):
1370         (PromptForBugOrTitle.run):
1371
1372 2018-02-06  Youenn Fablet  <youenn@apple.com>
1373
1374         HasServiceWorkerRegistration bit should be sent when creating a new page
1375         https://bugs.webkit.org/show_bug.cgi?id=182410
1376
1377         Reviewed by Chris Dumez.
1378
1379         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1380
1381 2018-02-06  Andres Gomez  <agomez@igalia.com>
1382
1383         [GTK][WPE] Add dependencies watching lists for WKGTK+ and WPE
1384         https://bugs.webkit.org/show_bug.cgi?id=182346
1385
1386         Reviewed by Michael Catanzaro.
1387
1388         Loren, Carlos and Andres are interested on the WKGTK+ dependencies
1389         watchlist since they are running WKGTK+ EWS.
1390
1391         Similarly, Adrian and Carlos are running a WPE EWS.
1392
1393         * Scripts/webkitpy/common/config/watchlist: Added WPEDependencies
1394           and WebKitGTKDependencies watchlists with the proper people.
1395
1396 2018-02-06  Andres Gomez  <agomez@igalia.com>
1397
1398         Unreviewed, canonicalize contributors.json
1399
1400         After Thibault's addition, automatic checks complain about
1401         contributors.json with:
1402
1403         "[...] Use "validate-committer-lists --canonicalize" to reformat
1404         it. [...]"
1405
1406         * Scripts/webkitpy/common/config/contributors.json: Canonicalize.
1407
1408 2018-02-06  Andres Gomez  <agomez@igalia.com>
1409
1410         Unreviewed, add Lorenzo Tilve to contributors.json
1411
1412         We need to add Loren to the contributors list in order to CC him
1413         in Bugzilla.
1414
1415         * Scripts/webkitpy/common/config/contributors.json: Added Lorenzo
1416           Tilve.
1417
1418 2018-02-05  Yousuke Kimoto  <yousuke.kimoto@sony.com>
1419
1420         [WinCairo] Refine WebKitLegacy and WebKit build for wincairo
1421         https://bugs.webkit.org/show_bug.cgi?id=182478
1422
1423         Reviewed by Alex Christensen.
1424
1425         For TestWebKitAPI, sources related to WebKitLegacy are built
1426         at WebKit build. Those files should be reffered for WebKitLegacy build.
1427
1428         * TestWebKitAPI/PlatformWin.cmake:
1429
1430 2018-02-05  Daniel Bates  <dabates@apple.com>
1431
1432         REGRESSION (r217572): run-webkit-tests exits without emitting newline character
1433         https://bugs.webkit.org/show_bug.cgi?id=182360
1434
1435         Rubber-stamped by Aakash Jain.
1436
1437         Fixes an annoyance where run-webkit-tests always exits without printing a newline character.
1438         In the terminal this looks like:
1439
1440             $ Tools/Scripts/run-webkit-tests
1441             Expected to fail, but passed: (7)
1442             ...
1443             Stopping WebSocket server ...$
1444
1445         This bug was caused by code added in r217572 to stop all run-webkit-tests started servers (e.g. an HTTP
1446         server) from an at-exit handler. When run-webkit-tests runs successfully (i.e. without error or
1447         control-C interruption) we would stop all such servers twice: once as part of ending the test
1448         run and once from the at-exit handler. The latter never prints a trailing newline character hence
1449         the state of the terminal (as depicted above). Instead LayoutTestRunner.stop_servers() should only
1450         stop servers that it started in LayoutTestRunner.start_servers().
1451
1452         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1453         (LayoutTestRunner.__init__):
1454         (LayoutTestRunner.start_servers):
1455         (LayoutTestRunner.stop_servers):
1456         Only start servers that run-webkit-tests has not already started and only stop servers that
1457         run-webkit-tests started.
1458
1459         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
1460         (LayoutTestRunnerTests.test_servers_started.is_websocket_server_running):
1461         (LayoutTestRunnerTests.test_servers_started):
1462         (LayoutTestRunnerTests.test_servers_started.is_websocket_servers_running): Deleted.
1463         Update due to rename below.
1464
1465         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
1466         (is_web_socket_server_running): Added.
1467         (PyWebSocket.is_running): Deleted.
1468
1469         * Scripts/webkitpy/port/base.py:
1470         (Port.is_http_server_running): Check if we already started the server ourself.
1471         (Port.is_websocket_server_running): Formerly named is_websocket_servers_running. Modified
1472         to check if we already started the server ourself. Take a similar approach as the other
1473         Port.is_*_running methods and only check if an existing WebSocket server is running on the
1474         non-secure server port. This is a simple heuristic and should be sufficient in practice.
1475         (Port.is_wpt_server_running): Check if we already started the server ourself.
1476         (Port.is_websocket_servers_running): Deleted; renamed to is_websocket_server_running().
1477
1478 2018-02-05  Daniel Bates  <dabates@apple.com>
1479
1480         prepare-ChangeLog gets confused about Python docstrings that contain the word "class" or "def"
1481         https://bugs.webkit.org/show_bug.cgi?id=182405
1482
1483         Reviewed by David Kilzer.
1484
1485         String literal statements, including docstrings, do not demarcate a new scope in Python.
1486         So, do not treat them like they do when building up the list of modified functions.
1487
1488         * Scripts/prepare-ChangeLog:
1489         (get_function_line_ranges_for_python):
1490         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests-expected.txt:
1491         The expected ending line number for the last "pass" statement inside the scope of Class5 changed
1492         from 97 to 98 because empty lines do not effect scope. This is consistent with the parsing
1493         of the second "pass" statement in the scope of class Class5. A "pass" is a null operation that
1494         is used as a syntactic placeholder when a statement is required. Ideally we would make
1495         the parsing code smarter so as to avoid emitting ranges for "pass" statements that serve
1496         not syntactic purpose.
1497         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests.py:
1498         (Class5):
1499         (Class6):
1500         (Class6.__init__):
1501         (Class7):
1502         (Class7.__init__):
1503         (Class8):
1504         (Class8.__init__):
1505         Add some more tests.
1506
1507 2018-02-05  Matt Lewis  <jlewis3@apple.com>
1508
1509         Unreviewed, rolling out r228086.
1510
1511         This introduced a failure with API test
1512         URLTest.HostIsIPAddress.
1513
1514         Reverted changeset:
1515
1516         "Add a way to check if a host is an IP address"
1517         https://bugs.webkit.org/show_bug.cgi?id=182427
1518         https://trac.webkit.org/changeset/228086
1519
1520 2018-02-05  John Wilander  <wilander@apple.com>
1521
1522         Storage Access API: Add testRunner.getAllStorageAccessEntries() to make testing easier and more explicit
1523         https://bugs.webkit.org/show_bug.cgi?id=181601
1524         <rdar://problem/36475837>
1525
1526         Reviewed by Alex Christensen.
1527
1528         http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html
1529         was found to be flaky. With the testRunner.hasStorageAccessEntry() getter
1530         it's possible to check access even if a frame doesn't respond timely to
1531         postMessage after detach and attach.
1532
1533         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1534         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1535         (WTR::InjectedBundle::didReceiveMessageToPage):
1536         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1537         (WTR::TestRunner::setStorageAccessAPIEnabled):
1538             Just moved for source file grouping.
1539         (WTR::TestRunner::getAllStorageAccessEntries):
1540         (WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback):
1541         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1542         * WebKitTestRunner/TestController.cpp:
1543         (WTR::TestController::getAllStorageAccessEntries):
1544             Note that this is just stubbed out, i.e. not implemented.
1545         * WebKitTestRunner/TestController.h:
1546         * WebKitTestRunner/TestInvocation.cpp:
1547         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1548         (WTR::TestInvocation::didReceiveAllStorageAccessEntries):
1549         * WebKitTestRunner/TestInvocation.h:
1550         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1551         (WTR::TestController::getAllStorageAccessEntries):
1552             This is the Cocoa-specific version of this test infrastructure.
1553
1554 2018-02-05  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1555
1556         [Win] Enable multi CPU building on MSBuild.
1557         https://bugs.webkit.org/show_bug.cgi?id=182446
1558
1559         Compiling itself already uses multi cores, but other stuff is still on single core.
1560         This patch enables that by passing an argument to MSBuild.exe.
1561
1562         Reviewed by Alex Christensen.
1563
1564         * Scripts/webkitdirs.pm:
1565         (determineNumberOfCPUs):
1566         (buildVisualStudioProject):
1567
1568 2018-02-05  Alicia Boya García  <aboya@igalia.com>
1569
1570         Fix bug in MediaTime comparison for negative values with different scale.
1571         https://bugs.webkit.org/show_bug.cgi?id=182433
1572
1573         Improved test coverage for MediaTime::compare().
1574
1575         Reviewed by Xabier Rodriguez-Calvar.
1576
1577         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
1578         (TestWebKitAPI::TEST):
1579
1580 2018-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1581
1582         [SOUP] WebSockets must use system proxy settings
1583         https://bugs.webkit.org/show_bug.cgi?id=126384
1584
1585         Reviewed by Michael Catanzaro.
1586
1587         Check also WebSockets in /webkit2/WebKitWebContext/proxy.
1588
1589         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
1590         (ProxyTest::webSocketProxyServerCallback):
1591         (ProxyTest::ProxyTest):
1592         (ProxyTest::webSocketConnected):
1593         (ProxyTest::createWebSocketAndWaitUntilConnected):
1594         (webSocketServerCallback):
1595         (testWebContextProxySettings):
1596         * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
1597         (WebKitTestServer::~WebKitTestServer):
1598         (WebKitTestServer::addWebSocketHandler):
1599         (WebKitTestServer::removeWebSocketHandler):
1600         (WebKitTestServer::getWebSocketURIForPath const):
1601         (WebKitTestServer::getURIForPath const):
1602         * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h:
1603         (WebKitTestServer::baseURI const):
1604         (WebKitTestServer::baseWebSocketURI const):
1605
1606 2018-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1607
1608         Add a way to check if a host is an IP address
1609         https://bugs.webkit.org/show_bug.cgi?id=182427
1610
1611         Reviewed by Alex Christensen.
1612
1613         Add unit test for URL::hostIsIPAddress().
1614
1615         * TestWebKitAPI/Tests/WebCore/URL.cpp:
1616         (TestWebKitAPI::TEST_F):
1617
1618 2018-02-03  Charlie Turner  <cturner@igalia.com>
1619
1620         Add libmount to WPE dependencies
1621         https://bugs.webkit.org/show_bug.cgi?id=182345
1622
1623         Reviewed by Michael Catanzaro.
1624
1625         * wpe/install-dependencies:
1626
1627 2018-02-02  Youenn Fablet  <youenn@apple.com>
1628
1629         W3C test exporter should allow exporting newly added files
1630         https://bugs.webkit.org/show_bug.cgi?id=182369
1631
1632         Reviewed by Ryosuke Niwa.
1633
1634         * Scripts/webkitpy/common/checkout/scm/git.py:
1635         (Git.apply_mail_patch):
1636
1637 2018-02-02  David Quesada  <david_quesada@apple.com>
1638
1639         WebAppManifest scope should default to the containing directory of start_url if 'scope' is not specified
1640         https://bugs.webkit.org/show_bug.cgi?id=182363
1641         rdar://problem/37093498
1642
1643         Reviewed by Ryosuke Niwa.
1644
1645         Updated ApplicationManifestParserTests to account for the new default scope behavior.
1646
1647         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
1648         (assertManifestHasDefaultValues):
1649         (TEST_F):
1650
1651 2018-02-02  Youenn Fablet  <youenn@apple.com>
1652
1653         Clearing all service worker registrations should wait for importing service worker registration to finish
1654         https://bugs.webkit.org/show_bug.cgi?id=182407
1655
1656         Reviewed by Chris Dumez.
1657
1658         Make sure we finish clearing service worker registrations before running tests.
1659
1660         * WebKitTestRunner/TestController.cpp:
1661         (WTR::TestController::resetStateToConsistentValues):
1662         (WTR::ClearServiceWorkerRegistrationsCallbackContext::ClearServiceWorkerRegistrationsCallbackContext):
1663         (WTR::clearServiceWorkerRegistrationsCallback):
1664         (WTR::TestController::clearServiceWorkerRegistrations):
1665         * WebKitTestRunner/TestController.h:
1666
1667 2018-02-02  Youenn Fablet  <youenn@apple.com>
1668
1669         Configure serviceWorkerRegistrationDirectory on the web site data store and move it to a Caches subfolder as a default
1670         https://bugs.webkit.org/show_bug.cgi?id=182403
1671
1672         Reviewed by Alex Christensen.
1673
1674         * WebKitTestRunner/TestController.cpp:
1675         (WTR::TestController::generateContextConfiguration const):
1676         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1677         (WTR::initializeWebViewConfiguration):
1678
1679 2018-02-02  Carlos Garcia Campos  <cgarcia@igalia.com>
1680
1681         [GTK] WebDriver: tests step always times out in the bot
1682         https://bugs.webkit.org/show_bug.cgi?id=182437
1683
1684         Reviewed by Carlos Alberto Lopez Perez.
1685
1686         The process itself is not timing out, but the buildbot step is. This is because we are leaking the Xvfb
1687         processes. We should ensure that only one driver is executed and it's stopped before the process finishes.
1688
1689         * Scripts/run-webdriver-tests: Call teardown() after run().
1690         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
1691         (WebDriverSeleniumExecutor.__init__): Receive the env directly instead of the display driver.
1692         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
1693         (WebDriverTestRunner.__init__): Use the driver class directly instead of using the DriverProxy. Get the env from
1694         the display driver once and pass it to the test runners.
1695         (WebDriverTestRunner.teardown): Stop the display server.
1696         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
1697         (WebDriverTestRunnerSelenium.__init__): Receive the env directly instead of the display driver.
1698         (WebDriverTestRunnerSelenium.collect_tests): Pass the env to the executor.
1699         (WebDriverTestRunnerSelenium.run): Ditto.
1700         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
1701         (WebDriverTestRunnerW3C.__init__): Receive the env directly instead of the display driver.
1702         (WebDriverTestRunnerW3C.run): Pass the env to the executor.
1703         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
1704         (WebDriverW3CExecutor.__init__): Receive the env directly instead of the display driver.
1705
1706 2018-02-02  Carlos Garcia Campos  <cgarcia@igalia.com>
1707
1708         Unreviewed, rolling out r227999.
1709
1710         It didn't fix the problem
1711
1712         Reverted changeset:
1713
1714         "Unreviewed. Try to avoid webdriver tests step timing out in
1715         the bots."
1716         https://trac.webkit.org/changeset/227999
1717
1718 2018-02-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1719
1720         Start timeout for the run-buildbot-test script is too aggressive
1721         https://bugs.webkit.org/show_bug.cgi?id=182429
1722
1723         Reviewed by Carlos Garcia Campos.
1724
1725         15 seconds is not enough waiting for the update database process
1726         to complete on a system backed with rotational HDDs. Raise it to 60.
1727
1728         * BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py:
1729         (wait_for_master_ready):
1730
1731 2018-02-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1732
1733         re-add ARM JSCOnly bots on buildbot waterfall
1734         https://bugs.webkit.org/show_bug.cgi?id=182428
1735
1736         Reviewed by Csaba Osztrogonác.
1737
1738         * BuildSlaveSupport/build.webkit.org-config/config.json:
1739         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1740
1741 2018-02-02  Csaba Osztrogonác  <ossy@webkit.org>
1742
1743         Remove ARM JSCOnly bots from buildbot waterfall
1744         https://bugs.webkit.org/show_bug.cgi?id=182398
1745
1746         Reviewed by Alexey Proskuryakov.
1747
1748         * BuildSlaveSupport/build.webkit.org-config/config.json:
1749         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1750
1751 2018-02-02  Carlos Garcia Campos  <cgarcia@igalia.com>
1752
1753         Unreviewed. Try to avoid webdriver tests step timing out in the bots.
1754
1755         This is another speculative workaround. Carlos Lopez suggested to use os._exit() instead of sys.exit() as a
1756         workaround for a bug in python2.7 when using multiprocess module.
1757
1758         * Scripts/run-webdriver-tests:
1759
1760 2018-02-01  Youenn Fablet  <youenn@apple.com>
1761
1762         Delay service worker process creation until actually needed by SWServer
1763         https://bugs.webkit.org/show_bug.cgi?id=182301
1764
1765         Reviewed by Chris Dumez.
1766
1767         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1768         (function):
1769
1770 2018-02-01  Aakash Jain  <aakash_jain@apple.com>
1771
1772         Bubbles intermittently disappear from bot watchers dashboard
1773         https://bugs.webkit.org/show_bug.cgi?id=182085
1774
1775         Reviewed by Alexey Proskuryakov.
1776
1777         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
1778         (BuildbotIteration.prototype.failureLogURL): failureLogURL doesn't depend on step in Buildbot 0.9.
1779         Return the Build Page URL for Buildbot Buildbot 0.9. Earlier code was also doing the same using a
1780         confusing if (!this._firstFailedStep.logs) statement which is always false for Buildbot 0.9.
1781
1782 2018-02-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1783
1784         [GTK] Problem with Washington Post images
1785         https://bugs.webkit.org/show_bug.cgi?id=181421
1786
1787         Reviewed by Carlos Alberto Lopez Perez.
1788
1789         Add test case for the new user agent quirk.
1790
1791         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
1792         (TestWebKitAPI::TEST):
1793
1794 2018-02-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1795
1796         [GTK] MiniBrowser settings are just a list of names
1797         https://bugs.webkit.org/show_bug.cgi?id=182005
1798
1799         Reviewed by Sergio Villar Senin.
1800
1801         The default size we are using is too small to show the values column, and the window is not resizable because
1802         GObjectClass::constructed() is not called in the parent class.
1803
1804         * MiniBrowser/gtk/BrowserSettingsDialog.c:
1805         (browser_settings_dialog_init): Use 600x400 as default size.
1806         (browserSettingsDialogConstructed): Chain up to parent constructed.
1807
1808 2018-01-31  Andres Gomez  <agomez@igalia.com>
1809
1810         Unreviewed. Remove WebInspectorUI watchlist and remove myself from 2 watchlists more
1811
1812         * Scripts/webkitpy/common/config/watchlist:
1813
1814 2018-01-31  Per Arne Vollan  <pvollan@apple.com>
1815
1816         Layout Test fast/events/beforeunload-dom-manipulation-crash.html is crashing
1817         https://bugs.webkit.org/show_bug.cgi?id=181204
1818         <rdar://problem/36256274>
1819
1820         Reviewed by Ryosuke Niwa.
1821
1822         Implement 'testRunner.forceImmediateCompletion()' for WK1.
1823
1824         * DumpRenderTree/TestRunner.cpp:
1825         (forceImmediateCompletionCallback):
1826         (TestRunner::staticFunctions):
1827
1828 2018-01-31  Alex Christensen  <achristensen@webkit.org>
1829
1830         Unreviewed, rolling out r227942.
1831
1832         r227875 should not have been rolled out.
1833
1834         Reverted changeset:
1835
1836         "Unreviewed, rolling out r227875."
1837         https://bugs.webkit.org/show_bug.cgi?id=182357
1838         https://trac.webkit.org/changeset/227942
1839
1840 2018-01-31  Michael Catanzaro  <mcatanzaro@igalia.com>
1841
1842         Unreviewed, rolling out r227875.
1843         https://bugs.webkit.org/show_bug.cgi?id=182357
1844
1845         Missing cross-platform TestController implementation
1846
1847         Reverted changeset:
1848
1849         "Add callbacks to testRunner.statisticsSetShouldPartitionCookiesForHost() and testRunner.statisticsUpdateCookiePartitioning()"
1850         https://bugs.webkit.org/show_bug.cgi?id=181958
1851         https://trac.webkit.org/changeset/227875
1852
1853         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1854         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1855         (WTR::InjectedBundle::didReceiveMessageToPage):
1856         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1857         (WTR::TestRunner::statisticsUpdateCookiePartitioning):
1858         (WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost):
1859         (WTR::TestRunner::statisticsCallDidSetPartitionOrBlockCookiesForHostCallback): Deleted.
1860         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1861         * WebKitTestRunner/TestInvocation.cpp:
1862         (WTR::TestInvocation::didSetPartitionOrBlockCookiesForHost): Deleted.
1863         * WebKitTestRunner/TestInvocation.h:
1864         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1865         (WTR::TestController::statisticsUpdateCookiePartitioning):
1866         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
1867
1868 2018-01-31  Michael Catanzaro  <mcatanzaro@igalia.com>
1869
1870         REGRESSION(r227223): http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html, http/tests/resourceLoadStatistics/grandfathering.html timing out on GTK, WPE
1871         https://bugs.webkit.org/show_bug.cgi?id=182222
1872
1873         Reviewed by Alex Christensen.
1874
1875         Use the new API to notify when resource load statistics deletion is complete.
1876
1877         * WebKitTestRunner/TestController.cpp:
1878         (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
1879         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
1880         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
1881
1882 2018-01-31  Ryosuke Niwa  <rniwa@webkit.org>
1883
1884         Add the support for running StyleBench to run-benchmark
1885         https://bugs.webkit.org/show_bug.cgi?id=182323
1886
1887         Reviewed by Antti Koivisto.
1888
1889         Added the plan file and the patch needed to run StyleBench using run-benchmark as of r227863.
1890
1891         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/StyleBench.patch: Added.
1892         * Scripts/webkitpy/benchmark_runner/data/plans/stylebench.plan: Added.
1893
1894 2018-01-31  Wenson Hsieh  <wenson_hsieh@apple.com>
1895
1896         [iOS WK2] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry is failing after an SDK update
1897         https://bugs.webkit.org/show_bug.cgi?id=182339
1898         <rdar://problem/36041396>
1899
1900         Reviewed by Andy Estes.
1901
1902         This API test wasn't meant to be dependent on the size of an image generated using UIImagePNGRepresentation().
1903         To make this test robust against changes to image encoding, write the raw data to the test folder instead and
1904         check against the length of the data written.
1905
1906         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1907         (testIconImageData):
1908         (runTestWithTemporaryFolder):
1909         (TestWebKitAPI::TEST):
1910
1911 2018-01-31  Dan Bernstein  <mitz@apple.com>
1912
1913         [macOS] MiniBrowser isn’t app-sandboxed
1914         https://bugs.webkit.org/show_bug.cgi?id=182147
1915
1916         Reviewed by Sam Weinig.
1917
1918         Enable App Sandbox and add a temporary exception allowing read access to all files.
1919
1920         * MiniBrowser/Configurations/Base.xcconfig: Enabled ad-hoc code signing.
1921         * MiniBrowser/Configurations/MiniBrowser.xcconfig: Specified the entitlements file to use.
1922         * MiniBrowser/MiniBrowser.entitlements: Added. Enables App Sandbox with outbound networking
1923           and read access from /.
1924         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Added reference to new file.
1925
1926 2018-01-31  Philippe Normand  <pnormand@igalia.com>
1927
1928         [JHBuild] Add gstreamer-vaapi in moduleset
1929         https://bugs.webkit.org/show_bug.cgi?id=182283
1930
1931         Reviewed by Carlos Alberto Lopez Perez.
1932
1933         GStreamer-VAAPI is required for hardware-accelerated video
1934         playback support on Intel and AMD (using radeosi driver)
1935         platforms.
1936
1937         * gstreamer/jhbuild.modules: Add gstreamer-vaapi.
1938         * gtk/install-dependencies: Install libva.
1939         * wpe/install-dependencies: Ditto.
1940         * Scripts/webkitpy/port/gtk.py:
1941         (GtkPort.setup_environ_for_server): Disable va-api support when
1942         testing because it's incompatible with Mesa's softGL driver.
1943
1944 2018-01-31  Charlie Turner  <cturner@igalia.com>
1945
1946         [WPE] Update jhbuild dependencies
1947         https://bugs.webkit.org/show_bug.cgi?id=182286
1948
1949         This upgrades the following packages,
1950         glib 2.44.1 -> 2.54.3
1951         glib-networking 2.42.0 -> 2.54.1
1952         libsoup 2.48.0 -> 2.60.3
1953
1954         The initial reason for performing these upgrades was that when
1955         visiting https://youtube.com, WPE was getting TLS certificate
1956         errors. After upgrading glib-networking, these were fixed, but the
1957         upgrade introduced dependencies on newer versions of the other
1958         packages upgraded in this commit.
1959
1960         The upgrade to glib caused a linking error in gstreamer, the
1961         following errors were being logged during linking,
1962
1963         //usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined reference to `hb_glib_script_from_script'
1964         //usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined reference to `hb_glib_get_unicode_funcs'
1965         //usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined reference to `hb_glib_script_to_script'
1966
1967         This was fixed by adding the glib package built in the jhbuild to
1968         harfbuzz.
1969
1970         Finally, the upgrade of glib caused the glib-warning-fix.patch to
1971         no longer apply, so this patch was removed.
1972
1973         Reviewed by Michael Catanzaro.
1974
1975         * wpe/jhbuild.modules: Added dependecies.
1976         * wpe/patches/glib-warning-fix.patch: Removed.
1977
1978 2018-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
1979
1980         Unreviewed, rolling out r227782.
1981
1982         It didn't fix the problem
1983
1984         Reverted changeset:
1985
1986         "Unreviewed. Try to avoid webdriver tests step timing out in
1987         the bots."
1988         https://trac.webkit.org/changeset/227782
1989
1990 2018-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
1991
1992         WebDriver: add domains to server config in w3c tests
1993         https://bugs.webkit.org/show_bug.cgi?id=182294
1994
1995         Reviewed by Carlos Alberto Lopez Perez.
1996
1997         Several cookie tests expect server_config to have a domains key.
1998
1999         Fixes: imported/w3c/webdriver/tests/cookies/add_cookie.py::test_add_domain_cookie
2000                imported/w3c/webdriver/tests/cookies/add_cookie.py::test_add_session_cookie_with_leading_dot_character_in_domain
2001
2002         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
2003         (WebDriverW3CExecutor.__init__):
2004
2005 2018-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
2006
2007         Unreviewed. Update W3C WebDriver imported tests.
2008
2009         Show full pytest failure logs.
2010
2011         pytest truncates long lists when printing a failed assertion.
2012         This is not great for debugging and arguably it should be the
2013         default to show the full diff when comparing lists.
2014
2015         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
2016         (run):
2017
2018 2018-01-30  John Wilander  <wilander@apple.com>
2019
2020         Add callbacks to testRunner.statisticsSetShouldPartitionCookiesForHost() and testRunner.statisticsUpdateCookiePartitioning()
2021         https://bugs.webkit.org/show_bug.cgi?id=181958
2022         https://bugs.webkit.org/show_bug.cgi?id=182072
2023         <rdar://problem/36801804>
2024         <rdar://problem/36845795>
2025
2026         Reviewed by Brent Fulgham.
2027
2028         Because of the asynchronous nature of XPC and cookies,
2029         we need callbacks in these TestRunner functions so that
2030         the layout tests can wait for state changes to finish
2031         before checking test conditions.
2032
2033         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2034         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2035         (WTR::InjectedBundle::didReceiveMessageToPage):
2036         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2037         (WTR::TestRunner::statisticsUpdateCookiePartitioning):
2038         (WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost):
2039         (WTR::TestRunner::statisticsCallDidSetPartitionOrBlockCookiesForHostCallback):
2040         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2041         * WebKitTestRunner/TestInvocation.cpp:
2042         (WTR::TestInvocation::didSetPartitionOrBlockCookiesForHost):
2043         * WebKitTestRunner/TestInvocation.h:
2044         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2045         (WTR::TestController::statisticsUpdateCookiePartitioning):
2046         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
2047
2048 2018-01-30  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2049
2050         [webkitpy] Config file for apache is copied twice.
2051         https://bugs.webkit.org/show_bug.cgi?id=182131
2052
2053         Reviewed by Daniel Bates.
2054
2055         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
2056         (LayoutTestApacheHttpd.__init__):
2057         (LayoutTestApacheHttpd._copy_apache_config_file):
2058         (LayoutTestApacheHttpd._get_apache_config_file_path): Deleted.
2059
2060 2018-01-30  Don Olmstead  <don.olmstead@sony.com>
2061
2062         JSExports.h should be included as <JavaScriptCore/JSExportMacros.h>
2063         https://bugs.webkit.org/show_bug.cgi?id=182312
2064
2065         Reviewed by Michael Catanzaro.
2066
2067         * DumpRenderTree/config.h:
2068         * TestWebKitAPI/config.h:
2069         * WebKitTestRunner/config.h:
2070
2071 2018-01-30  Wenson Hsieh  <wenson_hsieh@apple.com>
2072
2073         [iOS] API test UIPasteboardTests.DataTransferGetDataWhenPastingPlatformRepresentations fails after r223440
2074         https://bugs.webkit.org/show_bug.cgi?id=182307
2075         <rdar://problem/36041485>
2076
2077         Reviewed by Ryosuke Niwa.
2078
2079         Adjusts a failing API test that we forgot to rebaseline after r223440, which ensures that the result of reading
2080         "text/html" from the DataTransfer is sanitized markup. To do this, teach the test harness
2081         (dump-datatransfer-types.html) to ignore inline styles in markup if a flag is set, and then set that flag in
2082         UIPasteboardTests.DataTransferGetDataWhenPastingPlatformRepresentations.
2083
2084         * TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html:
2085         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
2086         (TestWebKitAPI::TEST):
2087
2088 2018-01-30  Sergio Villar Senin  <svillar@igalia.com>
2089
2090         [WebVR][GTK][WPE] Exclude OpenVR from tarballs
2091         https://bugs.webkit.org/show_bug.cgi?id=182284
2092
2093         Reviewed by Michael Catanzaro.
2094
2095         * gtk/manifest.txt.in: Added ThirdParty/openvr to exclusions.
2096         * wpe/manifest.txt.in: Ditto.
2097
2098 2018-01-30  Yusuke Suzuki  <utatane.tea@gmail.com>
2099
2100         Unreviewed, try to fix JSCOnly build
2101         https://bugs.webkit.org/show_bug.cgi?id=177202
2102
2103         * CMakeLists.txt:
2104
2105 2018-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2106
2107         Unreviewed. Try to avoid webdriver tests step timing out in the bots.
2108
2109         The process itself doesn't seem to be timing out, but the buildbot is always reporting the step as finished
2110         after timeout. I think there's a race condition or something in buildbot, and it keeps watching the json log
2111         file even when it has already been written. This is a speculative workaround, assuming that's the problem, that
2112         creates the json file before running the tests. I'll revert this if it doesn't fix the issue in the end.
2113
2114         * Scripts/run-webdriver-tests:
2115         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
2116         (WebDriverTestRunner.dump_results_to_json_file):
2117
2118 2018-01-30  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2119
2120         [WinCairo] Fix forwarding header conflict of WebKit on WinCairo
2121         https://bugs.webkit.org/show_bug.cgi?id=177202
2122
2123         Reviewed by Alex Christensen.
2124
2125         * CMakeLists.txt:
2126
2127 2018-01-29  Alex Christensen  <achristensen@webkit.org>
2128
2129         Clean up API after bugs 178240 and 176474
2130         https://bugs.webkit.org/show_bug.cgi?id=182259
2131
2132         Reviewed by Dan Bernstein.
2133
2134         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2135         (TEST):
2136         (-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]):
2137
2138 2018-01-29  Jiewen Tan  <jiewen_tan@apple.com>
2139
2140         [WebAuthN] Add a compile-time feature flag
2141         https://bugs.webkit.org/show_bug.cgi?id=182211
2142         <rdar://problem/36936365>
2143
2144         Reviewed by Brent Fulgham.
2145
2146         * Scripts/webkitperl/FeatureList.pm:
2147         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2148
2149 2018-01-29  Brady Eidson  <beidson@apple.com>
2150
2151         Make the API test added in r227737 be Mac-only.
2152
2153         Unreviewed gardening.
2154
2155         * TestWebKitAPI/Tests/WebKitCocoa/MessagePortProviders.mm:
2156
2157 2018-01-29  Matt Lewis  <jlewis3@apple.com>
2158
2159         Unreviewed, rolling out r227731.
2160
2161         This caused and assertion failure in API tests.
2162
2163         Reverted changeset:
2164
2165         "Layout Test fast/events/beforeunload-dom-manipulation-
2166         crash.html is crashing"
2167         https://bugs.webkit.org/show_bug.cgi?id=181204
2168         https://trac.webkit.org/changeset/227731
2169
2170 2018-01-29  Youenn Fablet  <youenn@apple.com>
2171
2172         WPT test exporter should add WebKit export in its PR description
2173         https://bugs.webkit.org/show_bug.cgi?id=182246
2174
2175         Reviewed by Chris Dumez.
2176
2177         Updating PR description body to contain the words 'WebKit export'.
2178         That way, WPT PR bot will mark the PR as reviewed downstream.
2179
2180         * Scripts/webkitpy/w3c/test_exporter.py:
2181         (TestExporter.__init__):
2182         (TestExporter.make_pull_request):
2183         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
2184         (TestExporterTest.test_export):
2185
2186 2018-01-29  Ryosuke Niwa  <rniwa@webkit.org>
2187
2188         Add the support for running Speedometer 2.0 to run-benchmark
2189         https://bugs.webkit.org/show_bug.cgi?id=182231
2190
2191         Reviewed by Antti Koivisto.
2192
2193         Made it possible to run Speedometer 2.0 using run-benchmark. To do this, this patch adds the ability to
2194         aggregate results using the differently aggregated values of subtests. In particular, Speedometer 2.0
2195         requires aggregating the geometric mean out of total time spent in each suite.
2196
2197         Also added --show-iteration-values to show individual measured values in each iteration.
2198
2199         * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
2200         (BenchmarkResults.format): Added show_iteration_values as an option.
2201         (BenchmarkResults._format_tests): Ditto.
2202         (BenchmarkResults._format_values): Ditto. Added the code to show the measured values for each iteration
2203         when show_iteration_values is set to True. We don't emit the unit in each value so that the list of values
2204         is easily parsable as a JSON array.
2205         (BenchmarkResults._format_values.format_scaled): Added. A helper function.
2206         (BenchmarkResults._subtest_values_by_config_iteration): Added the support for aggregating values using
2207         the aggregated values of a subtest even when they were computed using a different aggregator if the subtest
2208         had exactly one aggregator.
2209         (BenchmarkResults._lint_results):
2210         (BenchmarkResults._lint_subtest_results): Replaced parent_needing_aggregation, which is set to the parent
2211         test's name only when the parent test had an aggregator, by self-explanatory parent_test and
2212         parent_aggregator_list.
2213         (BenchmarkResults._lint_aggregator_list): Ditto. Added raise an exception when a test has an aggregator but
2214         its subtest doesn't specify the same aggregator or it has more than one aggregators, making it ambiguous.
2215         (BenchmarkResults._lint_configuration):
2216         * Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py:
2217         (test_format_values_with_no_unit_scaling): Added.
2218         (test_format_values_with_iteration_values): Added.
2219         (test_format_values_with_no_unit_scaling_and_iteration_values): Added.
2220         (test_aggregate_results_from_another_aggregator): Added.
2221         (test_lint_results): Added a test case.
2222         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
2223         (BenchmarkRunner.__init__): Added show_iteration_values as an argument.
2224         (BenchmarkRunner._run_benchmark): Ditto.
2225         (BenchmarkRunner.show_results): Ditto.
2226         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/Speedometer2.patch: Added.
2227         * Scripts/webkitpy/benchmark_runner/data/plans/speedometer2.plan: Added.
2228         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
2229         (parse_args): Added --show-iteration-values as a boolean argument.
2230         (run_benchmark_plan): Ditto.
2231         (start): Ditto.
2232         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
2233         (WebServerBenchmarkRunner.__init__): Ditto.
2234
2235 2018-01-29  Brady Eidson  <beidson@apple.com>
2236
2237         Make it possible for apps that use both WK1 and WK2 to use MessagePorts.
2238         https://bugs.webkit.org/show_bug.cgi?id=182229
2239
2240         Reviewed by Chris Dumez.
2241
2242         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2243         * TestWebKitAPI/Tests/WebKitCocoa/MessagePortProviders.mm: Added.
2244
2245 2018-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2246
2247         WebDriver: properly recover w3c tests after a webdriver server crash
2248         https://bugs.webkit.org/show_bug.cgi?id=182242
2249
2250         Reviewed by Carlos Alberto Lopez Perez.
2251
2252         When a test makes the webdriver server crash, all other subsequent tests fail because they still try to send
2253         messages to the server, gettin connection refused errors all the time. Selenium tests handle this correctly by
2254         relaunching the server after every test failure, because other failures, even when not crashing the server,
2255         might leave it in an bad state. WPT runner does the same for test files, it uses a subprocess to run the tests
2256         and when any subtest fails, a new subsprocess is used for the following test file. We could do the same.
2257
2258         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
2259         (WebDriverTestRunnerW3C.run): Restart the executor if any subtest failed.
2260         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
2261         (WebDriverW3CExecutor.__init__): Save timeout and expectations and do not import pytest.
2262         (WebDriverW3CExecutor.setup): Create a subprocess to run the tests.
2263         (WebDriverW3CExecutor.teardown): Send a message to the subprocess to terminate.
2264         (WebDriverW3CExecutor._runner): Run the tests using pytest runner.
2265         (WebDriverW3CExecutor.run): Send a message to the subprocess to run the given test and return the results message.
2266
2267 2018-01-29  Per Arne Vollan  <pvollan@apple.com>
2268
2269         Layout Test fast/events/beforeunload-dom-manipulation-crash.html is crashing
2270         https://bugs.webkit.org/show_bug.cgi?id=181204
2271         <rdar://problem/36256274>
2272
2273         Reviewed by Ryosuke Niwa.
2274
2275         Implement 'testRunner.forceImmediateCompletion()' for WK1.
2276
2277         * DumpRenderTree/TestRunner.cpp:
2278         (forceImmediateCompletionCallback):
2279         (TestRunner::staticFunctions):
2280
2281 2018-01-29  Frederic Wang  <fwang@igalia.com>
2282
2283         Unreviewed, add myself to some watch lists.
2284
2285         * Scripts/webkitpy/common/config/watchlist:
2286
2287 2018-01-27  Dan Bernstein  <mitz@apple.com>
2288
2289         HaveInternalSDK includes should be "#include?"
2290         https://bugs.webkit.org/show_bug.cgi?id=179670
2291
2292         * DumpRenderTree/mac/Configurations/Base.xcconfig:
2293
2294 2018-01-26  Chris Dumez  <cdumez@apple.com>
2295
2296         Make sure service worker code does not launch a StorageProcess unnecessarily
2297         https://bugs.webkit.org/show_bug.cgi?id=182192
2298         <rdar://problem/36927427>
2299
2300         Reviewed by Geoffrey Garen.
2301
2302         Add API test coverage.
2303
2304         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2305
2306 2018-01-26  Chris Dumez  <cdumez@apple.com>
2307
2308         Offlined content does not work for apps on home screen
2309         https://bugs.webkit.org/show_bug.cgi?id=182070
2310         <rdar://problem/36843906>
2311
2312         Reviewed by Youenn Fablet.
2313
2314         Add API test coverage to make sure an already registered service worker is able to intercept
2315         the very first load.
2316
2317         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2318         (-[SWMessageHandlerWithExpectedMessage userContentController:didReceiveScriptMessage:]):
2319
2320 2018-01-26  Chris Nardi  <cnardi@chromium.org>
2321
2322         Addressing post-review comments after r226614
2323         https://bugs.webkit.org/show_bug.cgi?id=182151
2324
2325         Reviewed by Myles C. Maxfield.
2326
2327         * TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp:
2328         (TestWebKitAPI::TEST):
2329
2330 2018-01-25  Per Arne Vollan  <pvollan@apple.com>
2331
2332         Unreviewed, rolling out r224920.
2333
2334         Some Win EWS bots are not coming back up after starting reboot.
2335
2336         * EWSTools/start-queue-win.sh:
2337
2338 2018-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
2339
2340         WebDriver: simplify the tests json report
2341         https://bugs.webkit.org/show_bug.cgi?id=182171
2342
2343         Reviewed by Carlos Alberto Lopez Perez.
2344
2345         We are duplicating the test name in every subtest name. WPT already changed the format to remove the test name
2346         form the subtest name. We should do the same for simplicity and compatibility with WPT.
2347
2348         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
2349         (WebDriverTestRunner.dump_results_to_json_file):
2350
2351 2018-01-25  Alex Christensen  <achristensen@webkit.org>
2352
2353         REGRESSION (r221899): Web Content process hangs when webpage tries to make a new window if the WKWebView doesn’t have a UI delegate
2354         https://bugs.webkit.org/show_bug.cgi?id=182152
2355
2356         Reviewed by Joseph Pecoraro.
2357
2358         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2359         (-[NoUIDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
2360         (TEST):
2361
2362 2018-01-25  Youenn Fablet  <youenn@apple.com>
2363
2364         WebPluginInfoProvider should handle null host queries
2365         https://bugs.webkit.org/show_bug.cgi?id=182112
2366
2367         Reviewed by Chris Dumez.
2368
2369         * TestWebKitAPI/Tests/WebKitCocoa/PluginLoadClientPolicies.mm:
2370         (TEST):
2371
2372 2018-01-25  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2373
2374         [webkitpy] Stop modifying path information only when running on Cygwin
2375         https://bugs.webkit.org/show_bug.cgi?id=182136
2376
2377         On LayoutTestApacheHttpd, some path configuration is modified when platform
2378         is Windows. This modification is only required for AppleWin running on Cygwin.
2379         WinCairo uses native Windows environment, so the condition should be changed.
2380
2381         Reviewed by Per Arne Vollan.
2382
2383         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
2384         (LayoutTestApacheHttpd.__init__):
2385         (LayoutTestApacheHttpd._get_apache_config_file_path):
2386
2387 2018-01-25  Eric Carlson  <eric.carlson@apple.com>
2388
2389         REGRESSION(r227457): Release assert in updateLayout while destructing a media element
2390         https://bugs.webkit.org/show_bug.cgi?id=182038
2391         <rdar://problem/36812083>
2392
2393         Reviewed by Jer Noble.
2394
2395         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
2396         (TestWebKitAPI::TEST): Show/hide page so controls are always updated.
2397
2398 2018-01-24  Daniel Bates  <dabates@apple.com>
2399
2400         webkit-patch upload emits irrelevant simulator warnings
2401         https://bugs.webkit.org/show_bug.cgi?id=181702
2402         <rdar://problem/36556359>
2403
2404         Reviewed by Aakash Jain.
2405
2406         Remove warning when a person explicitly passes --child-processes with a value greater than
2407         the default number of simulator instances webkitpy would have used had --child-processes
2408         been omitted. Moreover, the placement of the warning logic to support printing such a message
2409         (in the IOSSimulatorPort constructor) caused side effects that may print other warning messages.
2410
2411         By default, webkitpy will parallelize running tests using the maximum number of simulator
2412         instances that can be supported based on available system resources at the time run-webkit-tests
2413         is invoked. It seems reasonable to assume that a person that explicitly overrides this default
2414         by specifying --child-processes knows what they are doing. The effects of picking a large
2415         value be obvious, the system may become sluggish.
2416
2417         As a side benefit of this change we no longer will emit simulator warnings whenever the iOS
2418         simulator port is instantiated by non-layout test related code (e.g. check-webkit-style).
2419
2420         * Scripts/webkitpy/port/ios_simulator.py:
2421         (IOSSimulatorPort.__init__):
2422
2423 2018-01-25  Sergio Villar Senin  <svillar@igalia.com>
2424
2425         [WebVR][GTK][WPE] Remove the WebVR public API added in r227518
2426         https://bugs.webkit.org/show_bug.cgi?id=182102
2427
2428         Reviewed by Carlos Garcia Campos.
2429
2430         * MiniBrowser/gtk/main.c:
2431         (main): Removed the call to set_enable_webvr().
2432
2433 2018-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
2434
2435         WebDriver: add support for slow tests
2436         https://bugs.webkit.org/show_bug.cgi?id=182095
2437
2438         Reviewed by Carlos Alberto Lopez Perez.
2439
2440         Add timeout mark to slow tests.
2441
2442         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
2443         (TestExpectationsMarker.__init__): Save the timeout.
2444         (TestExpectationsMarker.pytest_collection_modifyitems): If test is slow use timeout * 5.
2445         (run): Pass timeout to TestExpectationsMarker constructor.
2446
2447 2018-01-24  Alex Christensen  <achristensen@webkit.org>
2448
2449         Gracefully recover from NetworkProcess crashes in private browsing
2450         https://bugs.webkit.org/show_bug.cgi?id=182073
2451         <rdar://problem/36572023>
2452
2453         Reviewed by Geoff Garen.
2454
2455         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2456         * TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm: Added.
2457         (-[CrashDelegate webView:didFinishNavigation:]):
2458         (-[CrashDelegate webView:didFailProvisionalNavigation:withError:]):
2459         (-[CrashDelegate webView:didFailNavigation:withError:]):
2460         (TEST):
2461
2462 2018-01-24  Ali Juma  <ajuma@chromium.org>
2463
2464         REGRESSION (r227430): ASSERTION FAILED: !self.zoomToScaleCompletionHandler in TestRunnerWKWebView::zoomToScale
2465         https://bugs.webkit.org/show_bug.cgi?id=182052
2466
2467         Reviewed by Simon Fraser.
2468
2469         Don't set zoomToScaleCompletionHandler in zoomToScale:animated when calling the completion handler
2470         immediately.
2471
2472         Test: fast/visual-viewport/viewport-dimensions.html
2473
2474         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
2475         (-[TestRunnerWKWebView zoomToScale:animated:completionHandler:]):
2476
2477 2018-01-24  Alex Christensen  <achristensen@webkit.org>
2478
2479         Remove pre-Sierra-OS-specific code in Tools
2480         https://bugs.webkit.org/show_bug.cgi?id=182034
2481
2482         Reviewed by Tim Horton.
2483
2484         * DumpRenderTree/mac/DumpRenderTree.mm:
2485         (setDefaultsToConsistentValuesForTesting):
2486         * MiniBrowser/mac/BrowserWindowController.m:
2487         (-[BrowserWindowController windowDidLoad]):
2488         (-[BrowserWindowController share:]):
2489         * MiniBrowser/mac/MiniBrowser_Prefix.pch:
2490         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
2491         (-[EventStreamPlayer playbackTimerFired:]):
2492         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2493         * TestWebKitAPI/Tests/WebCore/FontCache.cpp: Removed.
2494         * TestWebKitAPI/Tests/WebKitCocoa/RunOpenPanel.mm:
2495         * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
2496         (TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
2497         * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
2498         (WTR::InjectedBundle::platformInitialize):
2499         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2500         (WTR::initializeWebViewConfiguration):
2501
2502 2018-01-24  Alexey Proskuryakov  <ap@apple.com>
2503
2504         REGRESSION (r226485): Many new wasm leaks detected by the leaks bot
2505         https://bugs.webkit.org/show_bug.cgi?id=181400
2506         <rdar://problem/36358768>
2507
2508         Reviewed by Joseph Pecoraro.
2509
2510         * BuildSlaveSupport/build.webkit.org-config/config.json: Remove incorrect option.
2511
2512         * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options):
2513         Always disable poisoning when running with --leaks, as this should work locally,
2514         not just on bots.
2515
2516 2018-01-24  Daniel Bates  <dabates@apple.com>
2517
2518         REGRESSION (r226138): Selecting a line that ends with zero-width joiner (ZWJ) may cause text transformation
2519         https://bugs.webkit.org/show_bug.cgi?id=181993
2520         <rdar://problem/36421080>
2521
2522         Reviewed by David Hyatt.
2523
2524         Remove unit test for overlap strategy FrontmostWithLongestEffectiveRange
2525         as we no longer support this strategy.
2526
2527         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
2528
2529 2018-01-24  David Kilzer  <ddkilzer@apple.com>
2530
2531         check-webkit-style reports false-positive whitespace/braces warning about blocks with return types as arguments in Objective-C
2532         <https://webkit.org/b/182015>
2533         <rdar://problem/36449728>
2534
2535         Reviewed by Tim Horton.
2536
2537         * Scripts/webkitpy/style/checkers/cpp.py:
2538         (regex_for_lambdas_and_blocks): Update regex to include
2539         optional return type for block argument in Objective-C.
2540         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
2541         (WebKitStyleTest.test_braces): Add test.
2542
2543 2018-01-24  Ms2ger  <Ms2ger@igalia.com>
2544
2545         WPE-focused test gardening.
2546         https://bugs.webkit.org/show_bug.cgi?id=182051
2547
2548         Unreviewed test gardening.
2549
2550         * TestWebKitAPI/glib/TestExpectations.json: TestWebKitFindController failure was fixed in r227418.
2551
2552 2018-01-23  Mark Lam  <mark.lam@apple.com>
2553
2554         Update Poisoned pointers to take a Poison class instead of a uintptr_t&.
2555         https://bugs.webkit.org/show_bug.cgi?id=182017
2556         <rdar://problem/36795513>
2557
2558         Reviewed by Filip Pizlo and JF Bastien.
2559
2560         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
2561         (TestWebKitAPI::TEST):
2562         * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:
2563         (TestWebKitAPI::TEST):
2564         (TestWebKitAPI::passWithRef):
2565         * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp:
2566         (TestWebKitAPI::TEST):
2567         (TestWebKitAPI::f1):
2568         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
2569         (TestWebKitAPI::TEST):
2570         (TestWebKitAPI::poisonedPtrFoo):
2571         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
2572         (TestWebKitAPI::TEST):
2573         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
2574         (TestWebKitAPI::TEST):
2575
2576 2018-01-18  Sergio Villar Senin  <svillar@igalia.com>
2577
2578         [WebVR] Add OpenVR to the tree and to the build
2579         https://bugs.webkit.org/show_bug.cgi?id=177298
2580
2581         Reviewed by Žan Doberšek.
2582
2583         * Scripts/webkitpy/style/checker.py: Added openvr to the list of third party libraries
2584         with reduced style checks.
2585
2586 2018-01-24  Chris Nardi  <cnardi@chromium.org>
2587
2588         Add Chris Nardi to contributors list
2589         https://bugs.webkit.org/show_bug.cgi?id=182029
2590
2591         Reviewed by Antti Koivisto.
2592
2593         * Scripts/webkitpy/common/config/contributors.json:
2594
2595 2018-01-22  Ryosuke Niwa  <rniwa@webkit.org>
2596
2597         Mac Sierra perf bots have been failing due to CG errors
2598         https://bugs.webkit.org/show_bug.cgi?id=181955
2599
2600         Reviewed by Antti Koivisto.
2601
2602         Ignore the CoreGraphics error messages on macOS Sierra.
2603
2604         Also added tests for ignoring lines in stdout and stderr.
2605
2606         * Scripts/webkitpy/performance_tests/perftest.py:
2607         (PerfTest.run_failed): Refactored for clarity.
2608         (PerfTest):
2609         (PerfTest.filter_ignored_lines): Added.
2610         (PerfTest._lines_to_ignore): Renamed from _lines_to_ignore_in_parser_result since these regular expressions
2611         are now used to ignore lines in other kinds of tests than parser tests.
2612         (PerfTest._errors_to_ignore_in_sierra): Added.
2613         (PerfTest._filter_output): Added the code to ignore errors only on macOS Sierra.
2614         * Scripts/webkitpy/performance_tests/perftest_unittest.py:
2615         (test_parse_output_with_ignored_stdout): Added.
2616         (test_parse_output_with_ignored_stderr): Added.
2617         (test_parse_output_with_ignored_stderr.MockPortWithSierraName): Added.
2618
2619 2018-01-23  Eric Carlson  <eric.carlson@apple.com>
2620
2621         Resign NowPlaying status when no media element is eligible
2622         https://bugs.webkit.org/show_bug.cgi?id=181914
2623         <rdar://problem/35294116>
2624
2625         Reviewed by Jer Noble.
2626
2627         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
2628         (-[NowPlayingTestWebView hasActiveNowPlayingSession]):
2629         (TestWebKitAPI::TEST):
2630         * TestWebKitAPI/Tests/WebKitCocoa/large-video-test-now-playing.html:
2631
2632 2018-01-23  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
2633
2634         [WinCairo] Use 64-bit toolset
2635         https://bugs.webkit.org/show_bug.cgi?id=181979
2636
2637         Reviewed by Alex Christensen.
2638
2639         Use 64-bit toolset for 64-bit build in order to improve build time. 
2640
2641         * Scripts/webkitdirs.pm:
2642         (generateBuildSystemFromCMakeProject):
2643
2644 2018-01-23  Simon Fraser  <simon.fraser@apple.com>
2645
2646         Element with position:fixed stops scrolling at the bottom of the page, but is painted in the right place on Chacos.com.
2647         https://bugs.webkit.org/show_bug.cgi?id=181741
2648         rdar://problem/36593581
2649
2650         Reviewed by Tim Horton.
2651         
2652         If zoomToScale:animated: is called with the current zoom level, call the callback
2653         rather than doing nothing.
2654
2655         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
2656         (-[TestRunnerWKWebView zoomToScale:animated:completionHandler:]):
2657
2658 2018-01-23  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2659
2660         Add ignore_errors keyword argument to Executive.run_command() for replacing the common pattern of error_handler usage
2661         https://bugs.webkit.org/show_bug.cgi?id=180820
2662
2663         Reviewed by David Kilzer.
2664
2665         * Scripts/webkitpy/common/checkout/scm/git.py:
2666         (Git.in_working_directory):
2667         (Git.clone):
2668         (Git.read_git_config):
2669         (Git.apply_reverse_diff):
2670         * Scripts/webkitpy/common/checkout/scm/scm.py:
2671         (SCM.run):
2672         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
2673         * Scripts/webkitpy/common/checkout/scm/svn.py:
2674         (SVNRepository.has_authorization_for_realm):
2675         * Scripts/webkitpy/common/net/credentials_unittest.py:
2676         * Scripts/webkitpy/common/system/abstractexecutive.py:
2677         (AbstractExecutive.run_command):
2678         * Scripts/webkitpy/common/system/executive.py:
2679         (Executive.kill_process.is):
2680         (Executive.running_pids):
2681         (Executive.kill_all):
2682         (Executive.run_command):
2683         * Scripts/webkitpy/common/system/executive_mock.py:
2684         (MockExecutive.run_command):
2685         (MockExecutive2.run_command):
2686         * Scripts/webkitpy/common/system/executive_unittest.py:
2687         (ExecutiveTest.test_run_command_with_bad_command.run_bad_command):
2688         * Scripts/webkitpy/common/system/platforminfo.py:
2689         (PlatformInfo.xcode_sdk_version):
2690         * Scripts/webkitpy/layout_tests/servers/http_server.py:
2691         (Lighttpd._check_and_kill):
2692         * Scripts/webkitpy/port/base.py:
2693         (Port._symbols_string):
2694         * Scripts/webkitpy/port/gtk.py:
2695         (GtkPort.setup_environ_for_server):
2696         * Scripts/webkitpy/port/win.py:
2697         (WinPort._runtime_feature_list):
2698         (WinPort.read_registry_value):
2699         * Scripts/webkitpy/port/win_unittest.py:
2700         (WinPortTest.test_runtime_feature_list):
2701         * Scripts/webkitpy/tool/commands/analyzechangelog.py:
2702         * Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py:
2703
2704 2018-01-23  Commit Queue  <commit-queue@webkit.org>
2705
2706         Unreviewed, rolling out r227279 and r227373.
2707         https://bugs.webkit.org/show_bug.cgi?id=181988
2708
2709         The LayoutTest crash fix introduced an API test failure.
2710         (Requested by ryanhaddad on #webkit).
2711
2712         Reverted changesets:
2713
2714         "Resign NowPlaying status when no media element is eligible"
2715         https://bugs.webkit.org/show_bug.cgi?id=181914
2716         https://trac.webkit.org/changeset/227279
2717
2718         "Resign NowPlaying status when no media element is eligible"
2719         https://bugs.webkit.org/show_bug.cgi?id=181914
2720         https://trac.webkit.org/changeset/227373
2721
2722 2018-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2723
2724         Unreviewed. Add test case for slow in test_expectations.py.
2725
2726         I forgot to also check slow tests in test_expectations.py unit tests.
2727
2728         * Scripts/webkitpy/common/test_expectations_unittest.py:
2729         (assert_slow):
2730         (test_build_type):
2731         (test_slow):
2732
2733 2018-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2734
2735         Unreviewed. Mark test WTF_Lock.ManyContendedShortSections as slow.
2736
2737         * TestWebKitAPI/glib/TestExpectations.json:
2738
2739 2018-01-22  Ryosuke Niwa  <rniwa@webkit.org>
2740
2741         Blob conversion and sanitization doesn't work with Microsoft Word for Mac 2011
2742         https://bugs.webkit.org/show_bug.cgi?id=181616
2743         <rdar://problem/36484908>
2744
2745         Reviewed by Wenson Hsieh.
2746
2747         Added tests to make sure we sanitize plain HTML, not just web archives,
2748         when and only when custom pasteboard data is enabled.
2749
2750         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2751         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm: Added.
2752         (writeHTMLToPasteboard): Added.
2753         (createWebViewWithCustomPasteboardDataSetting): Added.
2754
2755 2018-01-22  Alexey Proskuryakov  <ap@apple.com>
2756
2757         REGRESSION (r226485): Many new wasm leaks detected by the leaks bot
2758         https://bugs.webkit.org/show_bug.cgi?id=181400
2759         rdar://problem/36358768
2760
2761         Reviewed by JF Bastien.
2762
2763         * BuildSlaveSupport/build.webkit.org-config/config.json: Disable poisoning on the leaks bot.
2764
2765 2018-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2766
2767         [GTK] Test /webkit/WebKitWebsiteData/resource-load-statistics is failing since r227223
2768         https://bugs.webkit.org/show_bug.cgi?id=181929
2769
2770         Reviewed by Michael Catanzaro.
2771
2772         The test is checking that the resource load stats file is deleted after clearing website data. Since r227223,
2773         the website data completion callback is not called immediately, and a new file is created when the operation
2774         finishes. We need to check that the file was removing after calling clear.
2775
2776         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
2777         (fileChangedCallback):
2778         (testWebsiteDataResourceLoadStatistics):
2779
2780 2018-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2781
2782         Reviewed GTK gardening. Mark /webkit/WebKitWebView/mouse-target as fail too.
2783
2784         * TestWebKitAPI/glib/TestExpectations.json:
2785
2786 2018-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2787
2788         Unreviewed GTK+ gardening. Fix /webkit/WebKitConsoleMessage/network-error.
2789
2790         Partially revert r226782, the fix was wrong for the GLib version we currently use.
2791
2792         * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
2793         (testWebKitConsoleMessageNetworkError):
2794
2795 2018-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2796
2797         Unreviewed. Remove unused verbose mode from GLib API tests runner.
2798
2799         * glib/api_test_runner.py:
2800         (add_options):
2801
2802 2018-01-21  Wenson Hsieh  <wenson_hsieh@apple.com>
2803
2804         Add a new feature flag for EXTRA_ZOOM_MODE and reintroduce AdditionalFeatureDefines.h
2805         https://bugs.webkit.org/show_bug.cgi?id=181918
2806
2807         Reviewed by Tim Horton.
2808
2809         Add EXTRA_ZOOM_MODE to FeatureDefines.xconfig (off by default).
2810
2811         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2812
2813 2018-01-21  Eric Carlson  <eric.carlson@apple.com>
2814
2815         Resign NowPlaying status when no media element is eligible
2816         https://bugs.webkit.org/show_bug.cgi?id=181914
2817         <rdar://problem/35294116>
2818
2819         Reviewed by Jer Noble.
2820
2821         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
2822         (-[NowPlayingTestWebView hasActiveNowPlayingSession]):
2823         (TestWebKitAPI::TEST):
2824         * TestWebKitAPI/Tests/WebKitCocoa/large-video-test-now-playing.html:
2825
2826 2018-01-21  Aakash Jain  <aakash_jain@apple.com>
2827
2828         Fix broken unit-tests after r227192
2829         https://bugs.webkit.org/show_bug.cgi?id=181909
2830
2831         Reviewed by Carlos Garcia Campos.
2832
2833         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2834
2835 2018-01-20  Chris Dumez  <cdumez@apple.com>
2836
2837         API test URLSchemeHandler.Leaks1 is timing out on iOS simulator debug
2838         https://bugs.webkit.org/show_bug.cgi?id=174984
2839         <rdar://problem/33665676>
2840
2841         Reviewed by Alexey Proskuryakov.
2842
2843         Disable URLSchemeHandler.Leaks1 API test on iOS as it sometimes times out.
2844
2845         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:
2846         (TEST):
2847
2848 2018-01-20  Brian Burg  <bburg@apple.com>
2849
2850         WebDriver: fix some nits that prevent running W3C tests on Mac
2851         https://bugs.webkit.org/show_bug.cgi?id=181864
2852
2853         Reviewed by Carlos Garcia Campos.
2854
2855         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
2856         (WebDriverW3CWebServer.__init__): _wsout needs to always be defined,
2857         as we assume that the property exists later.
2858
2859         (WebDriverW3CWebServer.stop): If the temporary file doesn't
2860         exist for some reason, the remove call will raise and exception.
2861         Gracefully handle the case where the file isn't created due to
2862         a problem/exception that happened elsewhere.
2863
2864 2018-01-19  Ling Ho  <lingcherd_ho@apple.com>
2865
2866         Move Bingdings EWS and Webkitpy EWS queues to High Sierra on buildbot dashboard.
2867         https://bugs.webkit.org/show_bug.cgi?id=181881
2868
2869         Reviewed by Alexey Proskuryakov.
2870
2871         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
2872         (BubbleQueueServer):
2873         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
2874         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
2875         (table.queue-grid tr.platform.mac-os-x-elcapitan img.logo): Deleted.
2876
2877 2018-01-19  Youenn Fablet  <youenn@apple.com>
2878
2879         Do not go to the storage process when registering a service worker client if there is no service worker registered
2880         https://bugs.webkit.org/show_bug.cgi?id=181740
2881         <rdar://problem/36650400>
2882
2883         Reviewed by Chris Dumez.
2884
2885         Add support for internals inside API tests.
2886
2887         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2888         * TestWebKitAPI/Tests/InjectInternals_Bundle.cpp: Added.
2889         (TestWebKitAPI::InternalsInjectedBundleTest::InternalsInjectedBundleTest):
2890         (TestWebKitAPI::InternalsInjectedBundleTest::initialize):
2891         (TestWebKitAPI::InternalsInjectedBundleTest::didCreatePage):
2892         (TestWebKitAPI::InternalsInjectedBundleTest::didClearWindowForFrame):
2893         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2894         (setConfigurationInjectedBundlePath):
2895         (-[RegularPageMessageHandler userContentController:didReceiveScriptMessage:]):
2896
2897 2018-01-19  John Wilander  <wilander@apple.com>
2898
2899         Resource Load Statistics: Implement callback support for removal of WebsiteDataType::ResourceLoadStatistics
2900         https://bugs.webkit.org/show_bug.cgi?id=181822
2901         https://bugs.webkit.org/show_bug.cgi?id=175263
2902         https://bugs.webkit.org/show_bug.cgi?id=178536
2903         https://bugs.webkit.org/show_bug.cgi?id=181223
2904         https://bugs.webkit.org/show_bug.cgi?id=181482
2905         <rdar://problem/33491222>
2906         <rdar://problem/33805293>
2907         <rdar://problem/36332683>
2908         <rdar://problem/36549026>
2909
2910         Reviewed by Alex Christensen.
2911
2912         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2913         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2914         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
2915         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
2916         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2917         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2918         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
2919         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
2920
2921 2018-01-19  Jonathan Bedard  <jbedard@apple.com>
2922
2923         run-webkit-tests fails when there is a curly brace in Xcode build output
2924         https://bugs.webkit.org/show_bug.cgi?id=181254
2925         <rdar://problem/36453374>
2926
2927         Reviewed by Daniel Bates.
2928
2929         * Scripts/webkitpy/port/base.py:
2930         (Port._run_script): Encode script output before logging it.
2931
2932 2018-01-19  Chris Dumez  <cdumez@apple.com>
2933
2934         Service worker registrations restored from disk may not be reused when the JS calls register() again
2935         https://bugs.webkit.org/show_bug.cgi?id=181810
2936         <rdar://problem/36591711>
2937
2938         Reviewed by Youenn Fablet.
2939
2940         Add API test coverage.
2941
2942         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2943         (-[SWMessageHandlerForRestoreFromDiskTest initWithExpectedMessage:]):
2944         (-[SWMessageHandlerForRestoreFromDiskTest userContentController:didReceiveScriptMessage:]):
2945
2946 2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>
2947
2948         Remove El Capitan queues from flakiness dashboard
2949         https://bugs.webkit.org/show_bug.cgi?id=181860
2950
2951         Reviewed by Aakash Jain.
2952
2953         * TestResultServer/static-dashboards/builders.jsonp:
2954
2955 2018-01-19  Keith Miller  <keith_miller@apple.com>
2956
2957         HaveInternalSDK includes should be "#include?"
2958         https://bugs.webkit.org/show_bug.cgi?id=179670
2959
2960         Reviewed by Dan Bernstein.
2961
2962         * MiniBrowser/Configurations/Base.xcconfig:
2963         * MobileMiniBrowser/Configurations/Base.xcconfig:
2964         * TestWebKitAPI/Configurations/Base.xcconfig:
2965         * WebKitTestRunner/Configurations/Base.xcconfig:
2966
2967 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2968
2969         WebDriver: driver environment not passed to pytest when running w3c tests
2970         https://bugs.webkit.org/show_bug.cgi?id=181852
2971
2972         Reviewed by Carlos Alberto Lopez Perez.
2973
2974         That's why color codes are not used in the bots log for selenium tests but they appear in w3c tests.
2975
2976         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
2977         (WebDriverW3CExecutor.run):
2978
2979 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2980
2981         [GTK] WebDriver: wayland display no used in wayland bot
2982         https://bugs.webkit.org/show_bug.cgi?id=181851
2983
2984         Reviewed by Carlos Alberto Lopez Perez.
2985
2986         We need to handle the additionalArguments property in the WebDriverTests step.
2987
2988         * BuildSlaveSupport/build.webkit.org-config/steps.py:
2989         (RunWebDriverTests.start):
2990
2991 2018-01-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2992
2993         [GTK] TERM environment variable is not passed to the test driver.
2994         https://bugs.webkit.org/show_bug.cgi?id=181847
2995
2996         Rubber-stamped by by Carlos Garcia Campos.
2997
2998         * Scripts/webkitpy/port/base.py:
2999         (Port.to.setup_environ_for_server):
3000
3001 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
3002
3003         WebDriver: run-webdriver-tests is crashing in the bots when creating results json file
3004         https://bugs.webkit.org/show_bug.cgi?id=181844
3005
3006         Reviewed by Carlos Alberto Lopez Perez.
3007
3008         We always try to create the directory where to store the json file, but when the filename is given directly,
3009         like in the bots, the current dir is used.
3010
3011         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
3012         (WebDriverTestRunner.dump_results_to_json_file): Do not try to create the directory if dirname() returns an
3013         empty string.
3014
3015 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
3016
3017         [GTK] WebDriver tests are running outside the jhbuild env
3018         https://bugs.webkit.org/show_bug.cgi?id=181842
3019
3020         Reviewed by Žan Doberšek.
3021
3022         We need to enter jhbuild env in run-webdriver-tests.
3023
3024         * Scripts/run-webdriver-tests:
3025
3026 2018-01-18  Carlos Garcia Campos  <cgarcia@igalia.com>
3027
3028         [GTK] Run WebDriver tests in the bots
3029         https://bugs.webkit.org/show_bug.cgi?id=181787
3030
3031         Reviewed by Michael Catanzaro.
3032
3033         Add a step to run WebDriver tests in the GTK test bots. The new step is not GTK specific, but only added to the
3034         factory for the GTK port for now.
3035
3036         * BuildSlaveSupport/build.webkit.org-config/factories.py:
3037         (TestFactory.__init__):
3038         * BuildSlaveSupport/build.webkit.org-config/steps.py:
3039         (RunWebDriverTests):
3040         (RunWebDriverTests.start):
3041         (RunWebDriverTests.commandComplete):
3042         (RunWebDriverTests.evaluateCommand):
3043         (RunWebDriverTests.getText):
3044         (RunWebDriverTests.getText2):
3045
3046 2018-01-18  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3047
3048         [WinCairo] Pass correct url for http test to test driver.
3049         https://bugs.webkit.org/show_bug.cgi?id=181814
3050
3051         Reviewed by Alex Christensen.
3052
3053         * Scripts/webkitpy/port/driver.py:
3054         (Driver):
3055         (Driver.http_test_path_to_uri):
3056         (Driver.is_secure_path):
3057         (Driver.http_base_url):
3058         (Driver.uri_to_test):
3059
3060 2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>
3061
3062         Unreviewed, update the triggerable name for 'sierra-release-perf-tests'
3063
3064         * BuildSlaveSupport/build.webkit.org-config/config.json:
3065
3066 2018-01-18  Dan Bernstein  <mitz@apple.com>
3067
3068         [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
3069         https://bugs.webkit.org/show_bug.cgi?id=181803
3070
3071         Reviewed by Tim Horton.
3072
3073         * DumpRenderTree/mac/Configurations/Base.xcconfig: Updated.
3074         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Ditto.
3075         * ImageDiff/cg/Configurations/Base.xcconfig: Ditto.
3076         * ImageDiff/cg/Configurations/DebugRelease.xcconfig: Ditto.
3077         * MiniBrowser/Configurations/Base.xcconfig: Ditto.
3078         * MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
3079         * TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
3080         * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
3081         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals
3082           helpers.
3083         * TestWebKitAPI/Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build
3084           settings useful for defining settings that depend on the target macOS version.
3085         * WebKitTestRunner/Configurations/Base.xcconfig: Updated.
3086         * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Updated.
3087
3088 2018-01-18  Ling Ho  <lingcherd_ho@apple.com>
3089
3090         Remove Opensource El Capitan queues from buildbot
3091         https://bugs.webkit.org/show_bug.cgi?id=181712
3092
3093         Reviewed by Aakash Jain.
3094
3095         * BuildSlaveSupport/build.webkit.org-config/config.json:
3096         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
3097         (WebKitBuildbot):
3098         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
3099
3100 2018-01-18  Chris Dumez  <cdumez@apple.com>
3101
3102         Service Workers restored from persistent storage have 'redundant' state
3103         https://bugs.webkit.org/show_bug.cgi?id=181749
3104         <rdar://problem/36556486>
3105
3106         Reviewed by Youenn Fablet.
3107
3108         Add API test coverage.
3109
3110         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3111         (-[SWMessageHandlerForFetchTest userContentController:didReceiveScriptMessage:]):
3112
3113 2018-01-18  Joanmarie Diggs  <jdiggs@igalia.com>
3114
3115         [GTK] AX: Two layout tests crash with error 'g_strstr_len: assertion 'haystack != NULL' failed' in Accessibility::UIElement::url
3116         https://bugs.webkit.org/show_bug.cgi?id=176796
3117
3118         Reviewed by Chris Fleizach.
3119
3120         Add sanity check that we have a URL before calling g_strstr_len().
3121
3122         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3123         (WTR::AccessibilityUIElement::url):
3124
3125 2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>
3126
3127         Add triggers for Sierra test262 and perf queues
3128         https://bugs.webkit.org/show_bug.cgi?id=181799
3129
3130         Reviewed by Aakash Jain.
3131
3132         * BuildSlaveSupport/build.webkit.org-config/config.json:
3133
3134 2018-01-18  Wenson Hsieh  <wenson_hsieh@apple.com>
3135
3136         [iOS] Specify -[NSURL _title] for the associated URL when copying an image element
3137         https://bugs.webkit.org/show_bug.cgi?id=181783
3138         <rdar://problem/35785445>
3139
3140         Reviewed by Ryosuke Niwa.
3141
3142         Augments an existing API test and adds a new test to make sure that the resulting NSItemProvider's NSURL when
3143         copying an image contains a relevant title.
3144
3145         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
3146         (TestWebKitAPI::TEST):
3147         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
3148         * TestWebKitAPI/ios/UIKitSPI.h:
3149
3150 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3151
3152         WebDriver: ignore the driver in selenium test names when getting expectations
3153         https://bugs.webkit.org/show_bug.cgi?id=181738
3154
3155         Reviewed by Carlos Alberto Lopez Perez.
3156
3157         In selenium tests, the driver is added as a parameter to every test which results in tests names like
3158         foo[DriverName] or foo[DriverName-param2] in case of tests using more parameters. We don't want to include the
3159         driver name in the test expectations file, so we need to remove it when querying the expectations.
3160
3161         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
3162         (TestExpectationsMarker.__init__): Save the param to ignore.
3163         (TestExpectationsMarker._item_name): Return the name of the test without the para to ignore.
3164         (TestExpectationsMarker.pytest_collection_modifyitems): Use _item_name().
3165         (run): Pass param to ignore to TestExpectationsMarker().
3166         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
3167         (WebDriverSeleniumExecutor.__init__): Save the driver name.
3168         (WebDriverSeleniumExecutor.run): Pass the driver name as param to ignore.
3169
3170 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3171
3172         [GTK][WPE] Show unit tests unexpectedly passing in the bots
3173         https://bugs.webkit.org/show_bug.cgi?id=181726
3174
3175         Reviewed by Michael Catanzaro.
3176
3177         Now that we have the info, let's show it also in the bots.
3178
3179         * BuildSlaveSupport/build.webkit.org-config/steps.py:
3180         (RunGLibAPITests.commandComplete):
3181
3182 2018-01-17  Ling Ho  <lingcherd_ho@apple.com>
3183
3184         Fix broken unittest after r227048
3185         https://bugs.webkit.org/show_bug.cgi?id=181760
3186
3187         Reviewed by Aakash Jain.
3188
3189
3190 2018-01-17  Michael Catanzaro  <mcatanzaro@igalia.com>
3191
3192         WEBKIT_FRAMEWORK should not modify file-global include directories
3193         https://bugs.webkit.org/show_bug.cgi?id=181656
3194
3195         Reviewed by Konstantin Tokarev.
3196
3197         * TestWebKitAPI/PlatformWPE.cmake:
3198         * TestWebKitAPI/glib/CMakeLists.txt:
3199
3200 2018-01-17  Alicia Boya García  <aboya@igalia.com>
3201
3202         Unreviewed, mark Alicia as committer in contributors.json
3203
3204         * Scripts/webkitpy/common/config/contributors.json:
3205
3206 2018-01-17  Youenn Fablet  <youenn@apple.com>
3207
3208         Put fetch Request.keepalive behind a runtime flag
3209         https://bugs.webkit.org/show_bug.cgi?id=181592
3210
3211         Reviewed by Chris Dumez.
3212
3213         * DumpRenderTree/mac/DumpRenderTree.mm:
3214         (enableExperimentalFeatures):
3215         * DumpRenderTree/win/DumpRenderTree.cpp:
3216         (enableExperimentalFeatures):
3217         * WebKitTestRunner/TestController.cpp:
3218         (WTR::TestController::resetPreferencesToConsistentValues):
3219
3220 2018-01-17  Wenson Hsieh  <wenson_hsieh@apple.com>
3221
3222         Add injected bundle SPI to replace subresource URLs when dropping or pasting rich content
3223         https://bugs.webkit.org/show_bug.cgi?id=181637
3224         <rdar://problem/36508471>
3225
3226         Reviewed by Tim Horton.
3227
3228         Add 2 new API tests to exercise injected bundle SPI for supplying replacement URLs when pasting an image, and an
3229         attributed string containing multiple NSTextAttachments. See WebKit and WebCore ChangeLogs for more detail.
3230
3231         * TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegatePlugIn.mm:
3232         (-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
3233         (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:replacementURLForResource:mimeType:]):
3234
3235         Implement the new Objective-C bundle SPI to look up the incoming MIME type in the dictionary supplied via the
3236         "MIMETypeToReplacementURLMap" bundle initialization parameter, and return it.
3237
3238         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3239         (webViewForTestingAttachments):
3240         (-[TestWKWebView tagsInBody]):
3241         (-[TestWKWebView expectElementTagsInOrder:]):
3242         (-[TestWKWebView expectElementTag:toComeBefore:]):
3243
3244         Add a test helper to check that the given list of element tags appears in the document body. Also, reimplement
3245         the existing -expectElementTag:toComeBefore: as a special case of -expectElementTagsInOrder:.
3246
3247         (TestWebKitAPI::TEST):
3248         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3249         (WTR::InjectedBundlePage::InjectedBundlePage):
3250
3251 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3252
3253         WebDriver: add support for test expectations
3254         https://bugs.webkit.org/show_bug.cgi?id=180420
3255
3256         Reviewed by Carlos Alberto Lopez Perez.
3257
3258         Add support for parsing test expectations from a JSON file and mark tests on collection accordingly.
3259
3260         * Scripts/run-webdriver-tests: Get the retval from process_results().
3261         * Scripts/webkitpy/thirdparty/__init__.py:
3262         (AutoinstallImportHook._install_pytest): Install also py because pytest needs it.
3263         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
3264         (TestExpectationsMarker): Plugin to mark tests based on given expectations.
3265         (TestExpectationsMarker.__init__): Initialize expectations.
3266         (TestExpectationsMarker.pytest_collection_modifyitems): Mark tests if needed,
3267         (run): Create and use TestExpectationsMarker plugin.
3268         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
3269         (WebDriverSeleniumExecutor.run): Pass expectations to pytest_runner.
3270         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
3271         (WebDriverTestRunner.__init__): Create a TestExpectations and pass it to the runners.
3272         (WebDriverTestRunner.run): Do not count results here.
3273         (WebDriverTestRunner.process_results): Rename print_results() as process_results() since it now returns the
3274         amount of failures. Printing the test summary while processing results will be made optional in a follow up
3275         patch.
3276         (WebDriverTestRunner.process_results.report): Return the amount of failures.
3277         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
3278         (WebDriverTestRunnerSelenium.__init__): Initialize _expectations.
3279         (WebDriverTestRunnerSelenium.collect_tests): Do not include skipped tests.
3280         (WebDriverTestRunnerSelenium.run): Stop returning the tests count.
3281         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
3282         (WebDriverTestRunnerW3C.__init__): Initialize _expectations.
3283         (WebDriverTestRunnerW3C.collect_tests): Do not include skipped tests.
3284         (WebDriverTestRunnerW3C._scan_directory): Ditto.
3285         (WebDriverTestRunnerW3C.run): Stop returning the tests count.
3286         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
3287         (WebDriverW3CExecutor.run): Pass expectations to pytest_runner.
3288
3289 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3290
3291         Unreviewed WPE gardening. Mark some known unit test failures.
3292
3293         * TestWebKitAPI/glib/TestExpectations.json:
3294
3295 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3296
3297         [GTK][WPE] Use the same subtest names in GTK and WPE unit tests
3298         https://bugs.webkit.org/show_bug.cgi?id=181724
3299
3300         Reviewed by Philippe Normand.
3301
3302         We currently use /webkit2/foo/bar for GTK and /wpe/foo/bar for WPE. Many of the tests are common, so there's no
3303         reason to use different names. This way we can refer to the same test names for both and we can share the
3304         expectations in the TestExpectations.json file.
3305
3306         * TestWebKitAPI/glib/TestExpectations.json:
3307         * TestWebKitAPI/glib/WebKitGLib/TestMain.h: Use /webkit/foo/bar in GTK and WPE.
3308
3309 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3310
3311         Unreviewed. Increase the slow timeout of GTK and WPE unit tests.
3312
3313         We are using now a lower default timeout, so multiplying by 5 is no longer enough for some of the WTF
3314         tests. Multiply by 10 so that we get the same slow timeout as before, 50.
3315
3316         * glib/api_test_runner.py:
3317         (TestRunner._run_test_glib):
3318         (TestRunner._run_google_test):
3319
3320 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3321
3322         [GTK] Duplicated symbols in libjavascriptcoregtk and libwebkit2gtk can cause crashes in production builds
3323         https://bugs.webkit.org/show_bug.cgi?id=179914
3324
3325         Reviewed by Žan Doberšek.
3326
3327         Add two scripts to be run by dist-check step when releasing. One is to detect symbols duplicated in
3328         libjavascriptcoregtk and libwebkit2gtk that should be included to the version script. The other one is to ensure
3329         all symbols listed in the script are present in the library.
3330
3331         * Scripts/check-for-global-bss-symbols-in-webkigtk-libs: Added.
3332         (bss_symbols):
3333         * Scripts/check-for-invalid-symbols-in-version-script: Added.
3334         (script_symbols):
3335         * Scripts/make-dist:
3336         (Distcheck.build):
3337         (Distcheck):
3338         (Distcheck.check_symbols):
3339         (Distcheck.check):
3340
3341 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3342
3343         [GTK][WPE] Propagate the parameters when restarting glib api tests after a crash
3344         https://bugs.webkit.org/show_bug.cgi?id=181722
3345
3346         Reviewed by Žan Doberšek.
3347
3348         I forgot to pass the parameters to run() when restarting.
3349
3350         * glib/glib_test_runner.py:
3351         (GLibTestRunner.run):
3352
3353 2018-01-16  Fujii Hironori  <Hironori.Fujii@sony.com>
3354
3355         [CMake] Remove WebCoreDerivedSources library target
3356         https://bugs.webkit.org/show_bug.cgi?id=181664
3357
3358         Reviewed by Carlos Garcia Campos.
3359
3360         * TestWebKitAPI/PlatformWPE.cmake: Do not link WebCoreDerivedSources.
3361         * TestWebKitAPI/PlatformWin.cmake: Ditto.
3362
3363 2018-01-16  Ling Ho  <lingcherd_ho@apple.com>
3364
3365         Move Debug Test262, Release Test262 and Performance queues to Sierra
3366         https://bugs.webkit.org/show_bug.cgi?id=181692
3367
3368         Unreviewed
3369
3370 2018-01-16  Zach Li  <zachli@apple.com>
3371
3372         Add pop-up policy support in website policies.
3373         https://bugs.webkit.org/show_bug.cgi?id=181544.
3374         rdar://problem/30521400.
3375
3376         Reviewed by Alex Christensen.
3377
3378         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3379         Added pop-up-check.html.
3380
3381         * TestWebKitAPI/Tests/WebKit/pop-up-check.html: Added.
3382
3383         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3384         (-[PopUpPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3385         (-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
3386         (-[PopUpPoliciesDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
3387         (TEST):
3388
3389 2018-01-16  Wenson Hsieh  <wenson_hsieh@apple.com>
3390
3391         [Attachment Support] Provide the `src` of an attachment to the UI delegate when an attachment is inserted
3392         https://bugs.webkit.org/show_bug.cgi?id=181638
3393         <rdar://problem/36508702>
3394
3395         Reviewed by Dan Bernstein.
3396
3397         Tweak an existing API test to check that the `src` of an attachment element inserted via script matches the
3398         `source` provided to the UI delegate via -[WKUIDelegate _webView:didInsertAttachment:withSource:].
3399
3400         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3401         (-[AttachmentUpdateObserver init]):
3402         (-[AttachmentUpdateObserver sourceForIdentifier:]):
3403         (-[AttachmentUpdateObserver _webView:didInsertAttachment:withSource:]):
3404         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectSourceForIdentifier):
3405         (TestWebKitAPI::TEST):
3406         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]): Deleted.
3407
3408 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3409
3410         Unreviewed. Fix GTK unit tests execution in the bots after r226967.
3411
3412         I forgot to pass the environment to the GLibTestRunner and Xvfb was not used in the bots.
3413
3414         * glib/api_test_runner.py:
3415         (TestRunner._run_test_glib): Pass env to GLibTestRunner.
3416         * glib/glib_test_runner.py:
3417         (GLibTestRunner.run): Use given env.
3418
3419 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3420
3421         [GTK][WPE] Stop passing --verbose to run-api-tests from the bots
3422         https://bugs.webkit.org/show_bug.cgi?id=181676
3423
3424         Reviewed by Carlos Alberto Lopez Perez.
3425
3426         The option was removed in r226967.
3427
3428         * BuildSlaveSupport/build.webkit.org-config/steps.py:
3429         (RunGtkAPITests):
3430         (RunWPEAPITests):
3431
3432 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3433
3434         Unreviewed. Temporarily bring back --verbose option of api_test_runner.py.
3435
3436         The bots are still passing that option and the step is failing because it was removed in r226967.
3437
3438         * glib/api_test_runner.py:
3439         (add_options):
3440
3441 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3442
3443         [GTK][WPE] Improve the way glib tests are run
3444         https://bugs.webkit.org/show_bug.cgi?id=181674
3445
3446         Reviewed by Žan Doberšek.
3447
3448         Stop using gtester external program and use our own tester from python directly. This way we no longer need to
3449         parse the tests output to get the results which is causing problems in WPE bot. We can now differentiate between
3450         tests failing due to an expected assert in the test and unexpected crashes.
3451         This also fixes a bug in previous code where we failed to properly detect tests timing out, because gtester was
3452         not showing the subtest name in stdout in case of timeouts.
3453         I've lowered the default timeout from 10 to 5, since we are now properly handling the timeout for every test
3454         case. I've also removed the verbose option, since it was only used by gtester and we now always show the result
3455         of every test case.
3456
3457         * glib/api_test_runner.py:
3458         (TestRunner._run_test_glib): Use GLibTestRunner.
3459         (TestRunner._run_google_test): Wrote tests timing out to stdout too.
3460         (add_options):
3461         * glib/glib_test_runner.py: Added.
3462         (TestTimeout):
3463         (Message):
3464         (Message.__init__):
3465         (Message.create):
3466         (Message.create.read_unsigned):
3467         (Message.create.read_double):
3468         (Message.create.read_string):
3469         (GLibTestRunner):
3470         (GLibTestRunner.__init__):
3471         (GLibTestRunner._process_data):
3472         (GLibTestRunner._process_message):
3473         (GLibTestRunner._read_from_pipe):
3474         (GLibTestRunner._read_from_stderr):
3475         (GLibTestRunner._start_timeout):
3476         (GLibTestRunner._start_timeout._alarm_handler):
3477         (GLibTestRunner._stop_timeout):
3478         (GLibTestRunner._subtest_start):
3479         (GLibTestRunner._subtest_message):
3480         (GLibTestRunner._subtest_stderr):
3481         (GLibTestRunner._subtest_end):
3482         (GLibTestRunner.run):
3483
3484 2018-01-15  Michael Catanzaro  <mcatanzaro@igalia.com>
3485
3486         Unreviewed, add Thibault to contributors.json
3487
3488         It's a bit weird to add someone here before their first contribution, but this affects
3489         Bugzilla autocomplete, and that is serious business.
3490
3491         * Scripts/webkitpy/common/config/contributors.json:
3492
3493 2018-01-15  JF Bastien  <jfbastien@apple.com>
3494
3495         Remove makePoisonedUnique
3496         https://bugs.webkit.org/show_bug.cgi?id=181630
3497         <rdar://problem/36498623>
3498
3499         Reviewed by Mark Lam.
3500
3501         Update tests.
3502
3503         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
3504         (TestWebKitAPI::TEST):
3505         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
3506         (TestWebKitAPI::TEST):
3507
3508 2018-01-15  Adrian Perez de Castro  <aperez@igalia.com>
3509
3510         [GTK][JHBuild] Tools/gtk/install-dependencies: Package libxfont does not exist anymore in Arch Linux
3511         https://bugs.webkit.org/show_bug.cgi?id=181476
3512
3513         Reviewed by Michael Catanzaro.
3514
3515         Update to xorg-server 1.19.6 which depends on libxfont2, and change
3516         the lists of packages to install libxfont2-devel (or equivalent).
3517
3518         * gtk/install-dependencies:
3519         * gtk/jhbuild.modules:
3520
3521 2018-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3522
3523         [GTK][WPE] Add support for unit test expectations
3524         https://bugs.webkit.org/show_bug.cgi?id=181589
3525
3526         Reviewed by Michael Catanzaro.
3527
3528         We currently have a way to skip tests by annotating them in the api test runner script. The main problem of this
3529         approach is that we skip tests when they fail in the bots and we never notice if they stop failing, keeping the
3530         tests skipped forever. This is indeed the case of several WebKit2 C API tests. Annotating skipped tests in the
3531         script itself is not a good idea either.
3532
3533         This patch adds a generic TestExpectations class for simple tests based on tests with subtests, like our unit
3534         tests, but also WebDriver tests. It parses a json file with the tests and subtests expectations and provides
3535         convenient methods to query them.
3536
3537         * Scripts/run-gtk-tests:
3538         (GtkTestRunner): Remove all Skipped and Slow tests marked here.
3539         * Scripts/run-wpe-tests:
3540         (WPETestRunner): Ditto.
3541         * Scripts/webkitpy/common/test_expectations.py: Added.
3542         (TestExpectations):
3543         (TestExpectations.__init__):
3544         (TestExpectations._port_name_for_expected):
3545         (TestExpectations._expected_value):
3546         (TestExpectations.skipped_tests):
3547         (TestExpectations.skipped_subtests):
3548         (TestExpectations._expectation_value):
3549         (TestExpectations.is_slow):
3550         (TestExpectations.get_expectation):
3551         * Scripts/webkitpy/common/test_expectations_unittest.py: Added.
3552         (MockTestExpectations):
3553         (MockTestExpectations.__init__):
3554         (MockTestExpectations.is_skip):
3555         (ExpectationsTest):
3556         (assert_exp):
3557         (assert_not_exp):
3558         (assert_bad_exp):
3559         (assert_skip):
3560         (test_basic):
3561         (test_skip):
3562         (test_flaky):
3563         (test_build_type):
3564         * TestWebKitAPI/glib/TestExpectations.json: Added.
3565         * glib/api_test_runner.py:
3566         (TestRunner): Remove SkippedTest implementation.
3567         (TestRunner.__init__): Create a TestExpectations.
3568         (TestRunner._test_cases_to_skip): Use TestExpectations to check skipped tests.
3569         (TestRunner._should_run_test_program): Ditto.
3570         (TestRunner._run_test_glib): Use TestExpectations to check if test suite is slow.
3571         (TestRunner._run_test_glib.parse_line.set_test_result): Register also tests passing.
3572         (TestRunner._run_google_test): Use TestExpectations to check if test cases is slow and register tests passing.
3573         (TestRunner.run_tests): Check if actual result is the expected one and register also unexpected passes.
3574         (TestRunner.run_tests.report): Helper to write report to stdout.
3575
3576 2018-01-13  Mark Lam  <mark.lam@apple.com>
3577
3578         Replace all use of ConstExprPoisoned with Poisoned.
3579         https://bugs.webkit.org/show_bug.cgi?id=181542
3580         <rdar://problem/36442138>
3581
3582         Reviewed by JF Bastien.
3583
3584         1. Converted tests to using new uintptr_t& poison type.
3585         2. Added tests for Poisoned comparison operators.
3586
3587         * TestWebKitAPI/CMakeLists.txt:
3588         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3589         * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: Removed.
3590         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
3591         (TestWebKitAPI::TEST):
3592         (TestWebKitAPI::initializeTestPoison): Deleted.
3593         * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:
3594         (TestWebKitAPI::TEST):
3595         (TestWebKitAPI::passWithRef):
3596         * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp:
3597         (TestWebKitAPI::TEST):
3598         (TestWebKitAPI::f1):
3599         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
3600         (TestWebKitAPI::TEST):
3601         (TestWebKitAPI::poisonedPtrFoo):
3602         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
3603         (TestWebKitAPI::TEST):
3604         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
3605         (TestWebKitAPI::TEST):
3606
3607 2018-01-13  David Kilzer  <ddkilzer@apple.com>
3608
3609         check-webkit-style: false positive for [whitespace/braces] with os_log format string
3610         <https://webkit.org/b/181606>
3611
3612         Reviewed by Darin Adler.
3613
3614         * Scripts/webkitpy/style/checkers/cpp.py:
3615         (check_spacing): Modify regular expression to ignore
3616         os_log format strings like '%{public}'.
3617         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
3618         (CppStyleTest.test_spacing_before_braces): Add os_log
3619         format string test.
3620
3621 2018-01-12  Wenson Hsieh  <wenson_hsieh@apple.com>
3622
3623         [macOS] API tests ChangeAttachmentDataUpdatesWithInPlaceDisplay and InPlaceVideoAttachmentInsertionWithinList are failing
3624         https://bugs.webkit.org/show_bug.cgi?id=181626
3625
3626         Reviewed by Joseph Pecoraro.
3627
3628         Make the web view for WKAttachmentTests slightly bigger to avoid size clamping behavior introduced in r226915.
3629         Additionally, write a new API test covering the change in r226915.
3630
3631         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3632         (webViewForTestingAttachments):
3633         (TestWebKitAPI::TEST):
3634
3635 2018-01-12  Alex Christensen  <achristensen@webkit.org>
3636
3637         History state should be updated during client redirects with asynchronous policy decisions
3638         https://bugs.webkit.org/show_bug.cgi?id=181358
3639         <rdar://problem/35547689>
3640
3641         Reviewed by Andy Estes.
3642
3643         * TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:
3644         (-[AsyncPolicyDecisionDelegate webView:didFinishNavigation:]):
3645         (-[AsyncPolicyDecisionDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3646         (TEST):
3647
3648 2018-01-12  Jonathan Bedard  <jbedard@apple.com>
3649
3650         webkitpy: Refactor simulator code (Part 4)
3651         https://bugs.webkit.org/show_bug.cgi?id=180555
3652         <rdar://problem/36131381>
3653
3654         Reviewed by Aakash Jain.
3655
3656         Move new_simulated_device.py to simulated_device.py.
3657
3658         * Scripts/webkitpy/port/ios_simulator.py: Update import statement.
3659         * Scripts/webkitpy/xcode/new_simulated_device.py: Removed.
3660         * Scripts/webkitpy/xcode/new_simulated_device_unittest.py: Removed.
3661         * Scripts/webkitpy/xcode/simulated_device.py: Copied from Tools/Scripts/webkitpy/xcode/new_simulated_device.py.
3662         * Scripts/webkitpy/xcode/simulated_device_unittest.py: Copied from Tools/Scripts/webkitpy/xcode/new_simulated_device_unittest.py.
3663
3664 2018-01-12  Alex Christensen  <achristensen@webkit.org>
3665
3666         REGRESSION (r226818): API test WebKitLegacy.LoadInvalidURLRequest is failing
3667         https://bugs.webkit.org/show_bug.cgi?id=181595
3668
3669         This test was testing behavior of an invalid URL that WebCore parses but NSURL does not.
3670         It was using example.com<> but after r226479 < and > are considered invalid by WebCore.
3671         I change the < and > to $ to make this test pass and continue to test what it used to.
3672
3673         * TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.html:
3674         * TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
3675         (-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
3676
3677 2018-01-11  Keith Miller  <keith_miller@apple.com>
3678
3679         Rename ENABLE_ASYNC_ITERATION to ENABLE_JS_ASYNC_ITERATION
3680         https://bugs.webkit.org/show_bug.cgi?id=181573
3681
3682         Reviewed by Simon Fraser.
3683
3684         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3685
3686 2018-01-11  Jiewen Tan  <jiewen_tan@apple.com>
3687
3688         [WebAuthN] Import a CBOR coder from Chromium
3689         https://bugs.webkit.org/show_bug.cgi?id=181522
3690         <rdar://problem/36055729>
3691
3692         Reviewed by Brent Fulgham.
3693
3694         This patch also imports all unit tests into our API tests to ensure all
3695         workarounds and modification against the original codebase doesn't change
3696         any original functionalities.
3697
3698         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3699         * TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp: Added.
3700         (TestWebKitAPI::TEST):
3701         * TestWebKitAPI/Tests/WebCore/CBORValueTest.cpp: Added.
3702         (TestWebKitAPI::TEST):
3703         * TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp: Added.
3704         (TestWebKitAPI::eq):
3705         Workarounds applied.
3706         (TestWebKitAPI::TEST):
3707
3708 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
3709
3710         webkitpy: Use partially disambiguated type in SimulatedDeviceManager._disambiguate_device_type
3711         https://bugs.webkit.org/show_bug.cgi?id=181538
3712         <rdar://problem/36440580>
3713
3714         Reviewed by Aakash Jain.
3715
3716         When disambiguating a device type, it is possible that the provided device type is sufficiently
3717         ambiguous that the comparisons against complete device types without a disambiguated hardware_family
3718         will result in a failure to disambiguate the type.
3719
3720         * Scripts/webkitpy/xcode/new_simulated_device.py:
3721         (SimulatedDeviceManager._disambiguate_device_type):
3722
3723 2018-01-11  Brent Fulgham  <bfulgham@apple.com>
3724
3725         REGRESSION(r219530): ResourceLoadStatisticsPersistentStorage should be read-only in ephemeral sessions
3726         https://bugs.webkit.org/show_bug.cgi?id=181136
3727         <rdar://problem/36116604>
3728
3729         Reviewed by Chris Dumez.
3730
3731         Add a new API test to confirm that ResourceLoadStatistics can be turned on safely for ephemeral
3732         browsing sessions.
3733
3734         * Scripts/run-gtk-tests:
3735         (GtkTestRunner): Unskip test now that it passes.
3736         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
3737         (TEST): Add new WebsiteDataStoreEphemeral test.
3738
3739 2018-01-11  Ryan Haddad  <ryanhaddad@apple.com>
3740
3741         Unreviewed, rolling out r226816.
3742
3743         This change broke LayoutTests on the bots.
3744
3745         Reverted changeset:
3746
3747         "run-webkit-tests fails when there is a curly brace in Xcode
3748         build output"
3749         https://bugs.webkit.org/show_bug.cgi?id=181254
3750         https://trac.webkit.org/changeset/226816
3751
3752 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
3753
3754         webkitpy: Fix flakey webserver tests
3755         https://bugs.webkit.org/show_bug.cgi?id=181555
3756         <rdar://problem/36448273>
3757
3758         Reviewed by Aakash Jain.
3759
3760         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
3761         (LayoutTestRunnerTests.test_servers_started): Add and bind custom checks to
3762         determine if a specific server is running.
3763
3764 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
3765
3766         Commit queue failed to land a bug, 'NoneType' object has no attribute 'strip'
3767         https://bugs.webkit.org/show_bug.cgi?id=181561
3768         <rdar://problem/36452652>
3769
3770         Reviewed by Aakash Jain.
3771
3772         BeautifulSoup.find may return None, this case should be gracefully handled.
3773
3774         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
3775         (BugzillaQueries._parse_result_count):
3776         (BugzillaQueries._fetch_bugs_from_advanced_query): Added logging.
3777
3778 2018-01-11  Alexey Proskuryakov  <ap@apple.com>
3779
3780         run-webkit-tests fails when there is a curly brace in Xcode build output
3781         https://bugs.webkit.org/show_bug.cgi?id=181254
3782
3783         Reviewed by Daniel Bates.
3784
3785         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
3786         (MeteredStream.write):
3787
3788 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
3789
3790         webkitpy: Reimplement simulator code (Part 3)
3791         https://bugs.webkit.org/show_bug.cgi?id=180555
3792         <rdar://problem/36131381>
3793
3794         Reviewed by Aakash Jain.
3795
3796         Remove old simulator code.
3797
3798         * Scripts/webkitpy/xcode/__init__.py: Remove import statement.
3799         * Scripts/webkitpy/xcode/simulated_device.py: Removed.
3800         * Scripts/webkitpy/xcode/simulator.py: Removed.
3801         * Scripts/webkitpy/xcode/simulator_unittest.py: Removed.
3802
3803 2018-01-11  Wenson Hsieh  <wenson_hsieh@apple.com>
3804
3805         [Attachment Support] Support moving attachment elements in editable areas using drag and drop
3806         https://bugs.webkit.org/show_bug.cgi?id=181337
3807         <rdar://problem/36324813>
3808
3809         Reviewed by Tim Horton.
3810
3811         Add 3 new API tests for attachment element dragging.
3812
3813         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3814         (-[TestWKWebView expectElementTag:toComeBefore:]):
3815         (-[NSItemProvider expectType:withData:]):
3816         (TestWebKitAPI::TEST):
3817
3818 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
3819
3820         REGRESSION(r225856): Incorrectly managing 'future' baseline_search_paths. 
3821         https://bugs.webkit.org/show_bug.cgi?id=179621
3822         <rdar://problem/35589585>
3823
3824         Unreviewed infrastructure fix.
3825
3826         * Scripts/webkitpy/port/mac.py:
3827         (MacPort.default_baseline_search_path): Include 'future' in the version_fallback
3828         list if we are the VERSION_MAX, which usually corresponds with future.
3829
3830 2018-01-11  Filip Pizlo  <fpizlo@apple.com>
3831
3832         CodeBlocks should be in IsoSubspaces
3833         https://bugs.webkit.org/show_bug.cgi?id=180884
3834
3835         Reviewed by Saam Barati.
3836         
3837         Remove some less important benchmarks from the default run. Doing run-jsc-benchmarks
3838         shouldn't take a long time due to benchmarks we don't optimize for.
3839         
3840         * Scripts/run-jsc-benchmarks:
3841
3842 2018-01-11  Ms2ger  <Ms2ger@igalia.com>
3843
3844         Test gardening for GTK.
3845         https://bugs.webkit.org/show_bug.cgi?id=181477
3846
3847         Unreviewed test gardening.
3848
3849         * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp: Correct the file name.
3850         * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp: Adjust the expected console message.
3851
3852 2018-01-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3853
3854         Add the new JSCOnly bot to the scheduler.
3855         https://bugs.webkit.org/show_bug.cgi?id=181487
3856
3857         Unreviewed follow-up patch after r226729
3858
3859         On r226729 I missed to add the new JSCOnly bot the default scheduler.
3860         This is needed to make the bot automatically pick each commit for testing.
3861
3862         * BuildSlaveSupport/build.webkit.org-config/config.json:
3863
3864 2018-01-11  Wenson Hsieh  <wenson_hsieh@apple.com>
3865
3866         [Attachment Support] Support dragging attachment elements out as files on iOS
3867         https://bugs.webkit.org/show_bug.cgi?id=181199
3868         <rdar://problem/36299316>
3869
3870         Reviewed by Tim Horton, Andy Estes and Joseph Pecoraro.
3871
3872         Add support in the drag and drop simulator for testing blob-backed attachment element dragging, and also add new
3873         attachment API tests.
3874
3875         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3876         (-[NSItemProvider expectType:withData:]):
3877         (TestWebKitAPI::TEST):
3878
3879         Add two new WKAttachmentTests to exercise dragging data- and file-backed blobs via attachment elements. These
3880         tests first insert attachments via drop or WKWebView SPI, and then drag these attachments out and use the
3881         -expectType:withData: helper to inspect the item providers created from the drag source.
3882
3883         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3884         (TestWebKitAPI::TEST):
3885         * TestWebKitAPI/ios/DataInteractionSimulator.h:
3886         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
3887         (-[MockDragSession localContext]):
3888         (-[MockDragSession setLocalContext:]):
3889         (-[DataInteractionSimulator _resetSimulatedState]):
3890         (-[DataInteractionSimulator simulateAllTouchesCanceled:]):
3891         (-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
3892         (-[DataInteractionSimulator _advanceProgress]):
3893         (-[DataInteractionSimulator endDataTransfer]):
3894
3895         Make some tweaks to the iOS drag and drop simulator. In particular, this patch (1) adds a new hook to tell
3896         WebKit that data transfers have been completed, (2) fixes incorrect drop proposal handling when returning
3897         UIDropOperationForbidden by replacing _shouldPerformOperation with a UIDropProposal, and (3) teach the
3898         MockDragSession to hold on to a localContext.
3899
3900 2018-01-11  Ali Juma  <ajuma@chromium.org>
3901
3902         Unreviewed. Add Ali Juma as contributor
3903
3904         * Scripts/webkitpy/common/config/contributors.json:
3905
3906 2018-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
3907
3908         Unreviewed. Update Selenium WebDriver imported tests.
3909
3910         New version of selenium uses command line options to pass driver and browser binaries to pytest instead of
3911         environment variables.
3912
3913         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
3914         (collect): Reorder the arguments to make pytest happy.
3915         (run): Ditto.
3916         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
3917         (WebDriverSeleniumExecutor.__init__): Add driver binary, browser binary and browser args as arguments.
3918
3919 2018-01-11  Ling Ho  <lingcherd_ho@apple.com>
3920
3921         Move Commit Queue and EWS Queues to Sierra on Bot Watcher's Dasboard
3922         https://bugs.webkit.org/show_bug.cgi?id=181492
3923         <rdar://problem/36359679>
3924
3925         Reviewed by Alexey Proskuryakov. 
3926
3927 2018-01-10  Adrian Perez de Castro  <aperez@igalia.com>
3928
3929         [GTK] Tools/gtk/install-dependencies: Packages geoclue, ruby-highline, xorg-utils do not exist in Arch Linux
3930         https://bugs.webkit.org/show_bug.cgi?id=181475
3931
3932         Reviewed by Michael Catanzaro.
3933
3934         * gtk/install-dependencies: Update package list for Arch Linux, extend
3935         message shown at end of installation with additional tips.
3936
3937 2018-01-10  Wenson Hsieh  <wenson_hsieh@apple.com>
3938
3939         REGRESSION(r222507): Composition highlight doesn't render when using IME
3940         https://bugs.webkit.org/show_bug.cgi?id=181485
3941         <rdar://problem/35896516>
3942
3943         Reviewed by Ryosuke Niwa.
3944
3945         Add a `suppressUnderline` argument to TextInputController.setMarkedText. This suppresses the custom underlines
3946         rendered when testing IME on iOS in WebKit2. In this new test, suppressing underline rendering is needed to
3947         allow rendering composition backgrounds (see InlineTextBox::paint).
3948
3949         * DumpRenderTree/ios/TextInputControllerIOS.m:
3950         (+[TextInputController isSelectorExcludedFromWebScript:]):
3951         (+[TextInputController webScriptNameForSelector:]):
3952         (-[TextInputController setMarkedText:selectedFrom:length:suppressUnderline:]):
3953         (-[TextInputController setMarkedText:selectedFrom:length:]): Deleted.
3954         * DumpRenderTree/mac/TextInputControllerMac.m:
3955         (+[TextInputController isSelectorExcludedFromWebScript:]):
3956         (+[TextInputController webScriptNameForSelector:]):
3957         (-[TextInputController setMarkedText:selectedFrom:length:suppressUnderline:]):
3958         (-[TextInputController setMarkedText:selectedFrom:length:]): Deleted.
3959         * WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl:
3960         * WebKitTestRunner/InjectedBundle/TextInputController.cpp:
3961         (WTR::TextInputController::setMarkedText):
3962         * WebKitTestRunner/InjectedBundle/TextInputController.h:
3963
3964 2018-01-10  JF Bastien  <jfbastien@apple.com>
3965
3966         Poison small JSObject derivatives which only contain pointers
3967         https://bugs.webkit.org/show_bug.cgi?id=181483
3968         <rdar://problem/36407127>
3969
3970         Reviewed by Mark Lam.
3971
3972         Test the new move-assign and move-copy from unique_ptr, as well as
3973         nullptr_t ctors.
3974
3975         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
3976         (TestWebKitAPI::TEST):
3977         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
3978         (TestWebKitAPI::TEST):
3979         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
3980         (TestWebKitAPI::TEST):
3981
3982 2018-01-10  Chris Dumez  <cdumez@apple.com>
3983
3984         Multiple http/wpt/beacon/contentextensions/ test are flaky.
3985         https://bugs.webkit.org/show_bug.cgi?id=179256
3986         <rdar://problem/35401978>
3987
3988         Reviewed by Alex Christensen.
3989
3990         Update WebKitTestRunner to set a temporary path for content extensions so that its WKTR
3991         instance gets its own folder to avoid conflicts and flakiness.
3992
3993         * WebKitTestRunner/mac/TestControllerMac.mm:
3994         (WTR::TestController::platformConfigureViewForTest):
3995
3996 2018-01-10  Tim Horton  <timothy_horton@apple.com>
3997
3998         REGRESSION (r213590): Swipe from edge to go to previous page is significantly slower than tapping back button on Twitter
3999         https://bugs.webkit.org/show_bug.cgi?id=181269
4000         <rdar://problem/35110344>
4001
4002         Reviewed by Simon Fraser.
4003
4004         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
4005         (WTR::UIScriptController::beginBackSwipe):
4006         (WTR::UIScriptController::completeBackSwipe):
4007         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
4008         (WTR::UIScriptController::beginBackSwipe):
4009         (WTR::UIScriptController::completeBackSwipe):
4010         (WTR::UIScriptController::overridePreference):
4011         (WTR::UIScriptController::replaceTextAtRange):
4012         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
4013         (WTR::PlatformWebView::setNavigationGesturesEnabled):
4014         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
4015         (WTR::UIScriptController::beginBackSwipe):
4016         (WTR::UIScriptController::completeBackSwipe):
4017         Implement beginBackSwipe and completeBackSwipe on iOS (they already
4018         exist on Mac) in terms of the new WKWebView testing SPI.
4019
4020 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
4021
4022         REGRESSION (r226715): ignore WARNING output in linter tests
4023         https://bugs.webkit.org/show_bug.cgi?id=181486
4024         <rdar://problem/36408847>
4025
4026         Reviewed by Aakash Jain.
4027
4028         Linter unit tests should not be interested in logs at the the INFO or WARNING levels.
4029
4030         * Scripts/webkitpy/common/system/outputcapture.py:
4031         (OutputCapture.__init__): Pass logging level to be captured.
4032         * Scripts/webkitpy/style/main_unittest.py:
4033         (ExpectationLinterInStyleCheckerTest.test_no_linter_errors): Capture logging at the ERROR level.
4034         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line): Ditto.
4035         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_no_edit): Ditto.
4036         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_edit_in_file): Ditto.
4037         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_only_deletes): Ditto.
4038         (ExpectationLinterInStyleCheckerTest.test_linter_added_file_with_error): Ditto.
4039         (ExpectationLinterInStyleCheckerTest.test_linter_deleted_file): Ditto.
4040         (ExpectationLinterInStyleCheckerTest.test_linter_deleted_file_no_edit): Ditto.
4041
4042 2018-01-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>
4043
4044         Add a JSCOnly MIPS buildbot
4045         https://bugs.webkit.org/show_bug.cgi?id=181487
4046
4047         Reviewed by Michael Catanzaro.
4048
4049         Add the new bot configs definitions for the master and update the unit tests.
4050
4051         * BuildSlaveSupport/build.webkit.org-config/config.json:
4052         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
4053
4054 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
4055
4056         REGRESSION (r226715): don't re-check number of simulators in child processes
4057         https://bugs.webkit.org/show_bug.cgi?id=181484
4058         <rdar://problem/36407151>
4059
4060         Reviewed by Aakash Jain.
4061
4062         * Scripts/webkitpy/port/ios_simulator.py:
4063         (IOSSimulatorPort.__init__): Skip the number of simulators check if simulators
4064         are already initialized.
4065
4066 2018-01-10  Commit Queue  <commit-queue@webkit.org>
4067
4068         Unreviewed, rolling out r226667 and r226673.
4069         https://bugs.webkit.org/show_bug.cgi?id=181488
4070
4071         This caused a flaky crash. (Requested by mlewis13 on #webkit).
4072
4073         Reverted changesets:
4074
4075         "CodeBlocks should be in IsoSubspaces"
4076         https://bugs.webkit.org/show_bug.cgi?id=180884
4077         https://trac.webkit.org/changeset/226667
4078
4079         "REGRESSION (r226667): CodeBlocks should be in IsoSubspaces"
4080         https://bugs.webkit.org/show_bug.cgi?id=180884
4081         https://trac.webkit.org/changeset/226673
4082
4083 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
4084
4085         Follow-up fix to r226715
4086         https://bugs.webkit.org/show_bug.cgi?id=180555
4087         <rdar://problem/36131381>
4088
4089         Unreviewed infrastructure fix.
4090
4091         * Scripts/webkitpy/xcode/new_simulated_device.py:
4092         (SimulatedDeviceManager._create_or_find_device_for_request): Use _delete instead
4093         of delete.
4094
4095 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
4096
4097         webkitpy: Refactor simulator code (Part 2)
4098         https://bugs.webkit.org/show_bug.cgi?id=180555
4099         <rdar://problem/36131381>
4100
4101         Reviewed by Aakash Jain.
4102
4103         The patch leverages the SimulatedDeviceManager when running layout tests.
4104         This patch is primarily code removal, since much of the IOSSimulatorPort
4105         was dedicated to managing simulators. The removed code is either now owned by the
4106         SimulatedDeviceManager (and committed in Part 1) or supported a technique to
4107         boot multiple simulators which was made obsolete in Xcode 9.
4108
4109         * Scripts/webkitpy/layout_tests/controllers/manager.py:
4110         (Manager._custom_device_for_test.in): Device names now have spaces in them,
4111         strip those spaces.
4112         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
4113         (parse_args): Remove '--runtime' flag, this is achieved with the --version flag.
4114         * Scripts/webkitpy/port/ios.py:
4115         (IOSPort.__init__): The _current_device idiom is no longer required since the
4116         SimulatedDeviceManager keeps track of any previously booted devices.
4117         (IOSPort.target_host): Even when only a single device is used, it will be accessed
4118         through the array of managed devices.
4119         (IOSPort.using_multiple_devices): Deleted.
4120         * Scripts/webkitpy/port/ios_device.py:
4121         (IOSDevicePort.using_multiple_devices): Deleted.
4122         * Scripts/webkitpy/port/ios_simulator.py:
4123         (IOSSimulatorPort): Remove constants required to manage simulators, change device
4124         class strings so they can be parsed by the DeviceType class.
4125         (IOSSimulatorPort.__init__): Determine the number of processes to use by checking
4126         the number of simulators currently booted, the number of child processes specified
4127         and the maximum number of simulators supported by this system.
4128         (IOSSimulatorPort._device_for_worker_number_map):Return the array of initialized
4129         devices owned by the SimulatedDeviceManager.
4130         (IOSSimulatorPort.ios_version): Remove support for the --runtime option.
4131         (IOSSimulatorPort.default_child_processes): Use the SimulatedDeviceManager to check
4132         the maximum number of supported simulators on this system.
4133         (IOSSimulatorPort._create_devices): Construct a list of device requests with a
4134         request for each child process and send this list to the SimulatedDeviceManager to
4135         initialize the devices.
4136         (IOSSimulatorPort.clean_up_test_run):
4137         (IOSSimulatorPort.check_sys_deps): Check that there are simulators running the
4138         specified version of iOS.
4139         (IOSSimulatorPort.reset_preferences):
4140         (IOSSimulatorPort.simulator_runtime): Deleted.
4141         (IOSSimulatorPort.simulator_device_type): Deleted.
4142         (IOSSimulatorPort._teardown_managed_simulators): Deleted.
4143         (IOSSimulatorPort.use_multiple_simulator_apps): Deleted.
4144         (IOSSimulatorPort._create_simulators): Deleted.
4145         (IOSSimulatorPort._quit_ios_simulator): Deleted.
4146         (IOSSimulatorPort._using_dedicated_simulators): Deleted.
4147         (IOSSimulatorPort.using_multiple_devices): Deleted.
4148         (IOSSimulatorPort._create_device): Deleted.
4149         (IOSSimulatorPort.get_simulator_path): Deleted.
4150         (IOSSimulatorPort._createSimulatorApps): Deleted.
4151         (IOSSimulatorPort._createSimulatorApp): Deleted.
4152         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
4153         (TestRebaseline.test_rebaseline): Filter out commands run when determining the
4154         maximum number of simulators run on this system.
4155         (TestRebaselineExpectations.test_rebaseline_expectations): Ditto.
4156         * Scripts/webkitpy/xcode/new_simulated_device.py:
4157         (SimulatedDeviceManager._does_fulfill_request): Fixed log statement.
4158
4159 2018-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
4160
4161         WebDriver: run-webdriver-tests doesn't handle test names with a '/' correctly
4162         https://bugs.webkit.org/show_bug.cgi?id=181474
4163
4164         Reviewed by Carlos Alberto Lopez Perez.
4165
4166         We use os.path.basename() to get the subtest name. If the test name contains a slash we get part of the subtest
4167         name as the name.
4168
4169         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
4170         (WebDriverTestRunnerW3C._subtest_name): Helper function to get the subtest name.
4171         (WebDriverTestRunnerW3C.run): Use _subtest_name() instead of os.path.basename().
4172
4173 2018-01-09  Andy Estes  <aestes@apple.com>
4174
4175         [Xcode] Use the Apple Internal SDK if available when building ImageDiff
4176         https://bugs.webkit.org/show_bug.cgi?id=181459
4177
4178         Reviewed by Dan Bernstein.
4179
4180         * ImageDiff/cg/Configurations/Base.xcconfig:
4181
4182 2018-01-09  Myles C. Maxfield  <mmaxfield@apple.com>
4183
4184         font-display:fallback can cause a visual flash (which is supposed to be impossible)
4185         https://bugs.webkit.org/show_bug.cgi?id=181374
4186
4187         Reviewed by Simon Fraser.
4188
4189         The test requires Palatino.
4190
4191         * DumpRenderTree/mac/DumpRenderTree.mm:
4192         (allowedFontFamilySet):
4193         * WebKitTestRunner/mac/TestControllerMac.mm:
4194         (WTR::allowedFontFamilySet):
4195
4196 2018-01-09  Saam Barati  <sbarati@apple.com>
4197
4198         Give some slack in display-profiler-outputs computation of the terminal window's number of columns
4199         https://bugs.webkit.org/show_bug.cgi?id=181449
4200
4201         Reviewed by JF Bastien.
4202
4203         This allows me to Cmd+f in my terminal to search for things without
4204         having the results become misaligned.
4205
4206         * Scripts/display-profiler-output:
4207
4208 2018-01-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
4209
4210         [webkitpy] PlatformInfo should have default argument for casual use
4211         https://bugs.webkit.org/show_bug.cgi?id=180827
4212
4213         Reviewed by David Kilzer.
4214
4215         PlatformInfo should be the only way to check platform specific thing instead
4216         of sys.platform or other various checks. If there is something you want to check,
4217         it should be placed in PlatformInfo.
4218
4219         Currently to instantiate PlatformInfo, it requires arguments, which is usually
4220         sys, platform and Executive(). They are straight forward and should be handled
4221         by default arguments. Then we can instantiate PlatformInfo more casual.
4222
4223         * Scripts/webkitpy/common/system/platforminfo.py:
4224         (PlatformInfo): Use relative module path import
4225         (PlatformInfo.__init__):
4226         (PlatformInfo.executive): Lazy instantiation of Executive()
4227         (PlatformInfo.total_bytes_memory): Accessing via above property
4228         (PlatformInfo.xcode_sdk_version): Ditto
4229         (PlatformInfo.xcode_simctl_list): Ditto
4230         (PlatformInfo.xcode_version): Ditto
4231         (PlatformInfo._win_version_str): Ditto
4232         * Scripts/webkitpy/common/system/systemhost.py:
4233         (SystemHost.__init__):
4234         * Scripts/webkitpy/common/system/user.py:
4235         (User.__init__):
4236
4237 2018-01-09  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
4238
4239         [Win] Remove workaround for Bug 176442 after stopping MSVC 2015 support
4240         https://bugs.webkit.org/show_bug.cgi?id=176443
4241
4242         Reviewed by Darin Adler.
4243
4244         * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp:
4245         (TEST):
4246
4247 2018-01-09  Frederic Wang  <fwang@igalia.com.fr>
4248
4249         check-webkit-style: Verify syntax for WK_API_AVAILABLE
4250         https://bugs.webkit.org/show_bug.cgi?id=181394
4251
4252         Reviewed by Darin Adler.
4253
4254         A common syntax error for WK_API_AVAILABLE is to write ios(WK_MAC_TBA)
4255         as the second parameter instead of ios(WK_IOS_TBA). This generally
4256         builds for iOS on EWS but not when using the public SDK. See r224057,
4257         r223207 and r226211 for example. This patch adds a basic style check
4258         for that macro to prevent this kind of mistake.
4259
4260         * Scripts/webkitpy/style/checkers/cpp.py:
4261         (check_min_versions_of_wk_api_available): New function to verify the parameters of WX_API_AVAILABLE.
4262         (check_style): Run new style check.
4263         (CppChecker): Add build type for the new style check.
4264         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
4265         (WebKitStyleTest.test_min_versions_of_wk_api_available): Add tests for the new style check.
4266
4267 2018-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
4268
4269         [Attachment Support] Expose HTMLAttachmentElement.uniqueIdentifier to bindings
4270         https://bugs.webkit.org/show_bug.cgi?id=181420
4271         <rdar://problem/36365827>
4272
4273         Reviewed by Alex Christensen.
4274
4275         Adjusts some existing API tests to verify that attachment elements' uniqueIdentifiers match the uniqueIdentifier
4276         of corresponding _WKAttachments.
4277
4278         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4279         (TestWebKitAPI::TEST):
4280
4281 2018-01-08  Alex Christensen  <achristensen@webkit.org>
4282
4283         Add WKNavigationDelegate SPI exposing WebProcess crash reason
4284         https://bugs.webkit.org/show_bug.cgi?id=181410
4285         <rdar://problem/36167199>
4286
4287         Reviewed by Wenson Hsieh.
4288
4289         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
4290         (-[CrashReasonDelegate _webView:webContentProcessDidTerminateWithReason:]):
4291         (TEST):
4292
4293 2018-01-08  Alex Christensen  <achristensen@webkit.org>
4294
4295         Add SPI for WKOpenPanelParameters._acceptedMIMETypes and _acceptedFileExtensions
4296         https://bugs.webkit.org/show_bug.cgi?id=181408
4297      &n