Clean up IndexedDB files between tests
[WebKit-https.git] / Tools / ChangeLog
1 2019-01-23  Sihui Liu  <sihui_liu@apple.com>
2
3         Clean up IndexedDB files between tests
4         https://bugs.webkit.org/show_bug.cgi?id=192796
5         <rdar://problem/46824999>
6
7         Reviewed by Geoffrey Garen.
8
9         * DumpRenderTree/mac/DumpRenderTree.mm:
10         (runTest):
11         * WebKitTestRunner/TestController.cpp:
12         (WTR::TestController::resetStateToConsistentValues):
13         (WTR::RemoveAllIndexedDatabasesCallbackContext::RemoveAllIndexedDatabasesCallbackContext):
14         (WTR::RemoveAllIndexedDatabasesCallback):
15         (WTR::TestController::ClearIndexedDatabases):
16         * WebKitTestRunner/TestController.h:
17         * WebKitTestRunner/TestInvocation.cpp:
18         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
19
20 2019-01-23  Aakash Jain  <aakash_jain@apple.com>
21
22         [ews-app] Rename ews model Builds to Build
23         https://bugs.webkit.org/show_bug.cgi?id=193695
24
25         Reviewed by Lucas Forschler.
26
27         * BuildSlaveSupport/ews-app/ews/models/build.py: Renamed from Tools/BuildSlaveSupport/ews-app/ews/models/builds.py.
28         (Build): Renamed Builds to Build.
29
30 2019-01-23  Jonathan Bedard  <jbedard@apple.com>
31
32         webkitpy: Wait longer when launching WebKitTestRunner
33         https://bugs.webkit.org/show_bug.cgi?id=193734
34
35         Reviewed by Aakash Jain.
36
37         * Scripts/webkitpy/port/simulator_process.py:
38         (SimulatorProcess._start): Increase timeout from 6 seconds to 15 seconds.
39
40 2019-01-23  Wenson Hsieh  <wenson_hsieh@apple.com>
41
42         [iOS] fast/events/touch/ios/hover-when-style-change-is-async.html times out
43         https://bugs.webkit.org/show_bug.cgi?id=193182
44         <rdar://problem/47452154>
45
46         Reviewed by Tim Horton.
47
48         This test was timing out because one of its preceding tests (drag-to-autoscroll-in-single-line-editable.html)
49         long presses and drags to select text, but does not end the touch by lifting up; subsequently, the tap gesture
50         recognizer isn't fired when simulating a tap in hover-when-style-change-is-async.html.
51
52         To fix this, tweak the test runner to make it safe for tests to end while touching the web view without
53         preventing later tests from recognizing gestures.
54
55         * WebKitTestRunner/ios/TestControllerIOS.mm:
56         (WTR::TestController::platformResetStateToConsistentValues):
57
58         Cancel all touches in the UIApplication when resetting to a consistent state between tests.
59
60 2019-01-23  Jonathan Bedard  <jbedard@apple.com>
61
62         webkitpy: Use correct config for --iphone-simulator and --ipad-simulator
63         https://bugs.webkit.org/show_bug.cgi?id=193722
64         <rdar://problem/47481475>
65
66         Reviewed by Lucas Forschler.
67
68         iPhone and iPad ports should both use the iOS config.
69
70         * Scripts/webkitpy/port/ios_simulator.py:
71         (IPhoneSimulatorPort.__init__):
72         (IPadSimulatorPort.__init__):
73
74 2019-01-23  Rob Buis  <rbuis@igalia.com>
75
76         Update MIME type parser
77         https://bugs.webkit.org/show_bug.cgi?id=180526
78
79         Reviewed by Frédéric Wang.
80
81         Add unit tests for both parse modes of ParsedContentType.
82
83         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
84         * TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp: Added.
85         (TestWebKitAPI::TEST):
86
87 2019-01-22  Aakash Jain  <aakash_jain@apple.com>
88
89         [ews-app] fetch loop should not stop on network issues
90         https://bugs.webkit.org/show_bug.cgi?id=193666
91
92         Reviewed by Lucas Forschler.
93
94         * BuildSlaveSupport/ews-app/ews/fetcher.py:
95         (FetchLoop.run): Ensure that fetch loop doesn't exit on any exception.
96
97 2019-01-22  Wenson Hsieh  <wenson_hsieh@apple.com>
98
99         [iOS] Multiple WKWebViewAutofillTests are flaky failures
100         https://bugs.webkit.org/show_bug.cgi?id=189165
101         <rdar://problem/47433765>
102
103         Reviewed by Tim Horton.
104
105         These tests are currently flaky because they expect an invocation of "Element.blur()" in the web process to
106         immediately dispatch an IPC message to notify the UI process that the element has been blurred. In particular,
107         the -textInputHasAutofillContext helper assumes that waiting for the next remote layer tree commit in the UI
108         process in sufficient to ensure that any previous action that blurred the focused element in the web process
109         would make its way to the UI process by the time the layer tree commit is finished.
110
111         However, WebPage::elementDidBlur sends its IPC message to the UI process asynchronously, using callOnMainThread.
112         This means that if a layer tree flush was already scheduled in the web process before the element was blurred,
113         the element blur IPC message to the UI process will lose the race against the layer tree commit, and the test
114         will fail because it asks for -_autofillContext too early.
115
116         To fix this, we tweak these tests to actually wait until the intended input session change triggered by script
117         is handled in the UI process.
118
119         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
120
121         Tweak some of these tests to wait for input session changes before checking for the presence of an autofill
122         context. The only exception is an existing test that doesn't allow programmatic focus to begin input sessions
123         by default; to fix this test, we simply wait for _WKInputDelegate to be invoked, instead of waiting for a new
124         input session.
125
126         (-[AutofillTestView textInputHasAutofillContext]):
127
128         Remove the incorrect presentation update here. This helper now assumes that the UI process is up to date.
129
130         * TestWebKitAPI/cocoa/TestWKWebView.h:
131         * TestWebKitAPI/cocoa/TestWKWebView.mm:
132         (nextInputSessionChangeCount):
133
134         Monotonically increasing identifier that's incremented whenever an input session is started in the UI process.
135         This includes changing the focused element from one to another.
136
137         (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
138         (-[TestWKWebView didStartFormControlInteraction]):
139         (-[TestWKWebView didEndFormControlInteraction]):
140         (-[TestWKWebView evaluateJavaScriptAndWaitForInputSessionToChange:]):
141
142         Add a helper to evaluate JavaScript and wait for this script to cause some change in the input session. This
143         handles three cases: (1) changing focus from an element that doesn't require an input session to one that does,
144         (2) changing focus between elements that require input sessions, and (3) changing focus from an input session
145         that doesn't require an input session to one that doesn't.
146
147 2019-01-22  David Kilzer  <ddkilzer@apple.com>
148
149         check-webkit-style reports false-positive whitespace/init warning in C++ initialization parameters
150         <https://webkit.org/b/193676>
151
152         Reviewed by Alexey Proskuryakov.
153
154         * Scripts/webkitpy/style/checkers/cpp.py:
155         (check_member_initialization_list):
156         - Don't report missing whitespace around colon if the colon at
157           the start of the line is formatted correctly.
158         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
159         (WebKitStyleTest.test_member_initialization_list):
160         - Add a test for a missing permutation of existing tests.
161         - Add a test this false-positive.
162         - Add blank lines between subtests to make them easier to read.
163
164 2019-01-22  Aakash Jain  <aakash_jain@apple.com>
165
166         [build.webkit.org] Unit-test failure after r237113
167         https://bugs.webkit.org/show_bug.cgi?id=193669
168
169         Reviewed by Michael Catanzaro.
170
171         * BuildSlaveSupport/build.webkit.org-config/factories.py:
172         (Factory.__init__): Properly check for --no-experimental-features flag when additionalArguments has 
173         multiple or zero flags.
174
175 2019-01-22  Tadeu Zagallo  <tzagallo@apple.com>
176
177         Cache bytecode to disk
178         https://bugs.webkit.org/show_bug.cgi?id=192782
179         <rdar://problem/46084932>
180
181         Reviewed by Keith Miller.
182
183         Add test helper to execute bytecode-cache tests: it executes each test
184         twice, the first with JSC_diskCachePath set to a temporary directory
185         and second with JSC_forceDiskCache=true (in addition to the cache path)
186         to guarantee that only the disk cache is being used and no new
187         UnlinkedCodeBlocks are being created.
188
189         * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh: Added.
190         * Scripts/run-jsc-stress-tests:
191
192 2019-01-22  Oriol Brufau  <obrufau@igalia.com>
193
194         [css-logical] Implement flow-relative margin, padding and border shorthands
195         https://bugs.webkit.org/show_bug.cgi?id=188697
196
197         Reviewed by Simon Fraser and Antti Koivisto.
198
199         * DumpRenderTree/TestOptions.cpp:
200         (TestOptions::TestOptions):
201         * DumpRenderTree/TestOptions.h:
202         * DumpRenderTree/mac/DumpRenderTree.mm:
203         (setWebPreferencesForTestOptions):
204         Allow tests to enable the CSSLogicalEnabled flag in WK1.
205
206         * Scripts/webkitpy/style/checkers/jsonchecker.py:
207         (JSONCSSPropertiesChecker.check_codegen_properties):
208         Allow CSS property definitions to have a 'runtime-flag' parameter which
209         disables the property when the specified runtime flag is disabled.
210
211 2019-01-21  Fujii Hironori  <Hironori.Fujii@sony.com>
212
213         [GTK][WPE] libgcrypt-1.7.6 can't be compiled on Ubuntu 18.10
214         https://bugs.webkit.org/show_bug.cgi?id=193643
215
216         Reviewed by Michael Catanzaro.
217
218         * gtk/jhbuild.modules: Bumped to libgcrypt-1.8.4.
219         * wpe/jhbuild.modules: Ditto.
220
221 2019-01-21  Zalan Bujtas  <zalan@apple.com>
222
223         [LFC][Floats] Take float top position into account when computing containing block height.
224         https://bugs.webkit.org/show_bug.cgi?id=193655
225
226         Reviewed by Antti Koivisto.
227
228         * LayoutReloaded/misc/LFC-passing-tests.txt:
229
230 2019-01-21  David Kilzer  <ddkilzer@apple.com>
231
232         Switch remaining VideoToolbox soft-linking in WebCore over to VideoToolboxSoftLink.{cpp,h}
233         <https://webkit.org/b/193645>
234         <rdar://problem/47421574>
235
236         Reviewed by Alex Christensen.
237
238         - Now checks for local soft-linking of all frameworks that have
239           their own *SoftLinking.{cpp,h,mm} files.
240         - Changes softlink/uikit warning to softlink/framework.
241
242         * Scripts/webkitpy/style/checkers/cpp.py:
243         (check_language):
244         (CppChecker):
245         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
246         (CppStyleTest):
247
248 2019-01-20  Saam Barati  <sbarati@apple.com>
249
250         Rollout r240210: It broke tests on iOS
251         https://bugs.webkit.org/show_bug.cgi?id=193640
252
253         Unreviewed.
254
255         * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper:
256         * Scripts/run-jsc-stress-tests:
257
258 2019-01-20  chris fleizach  <cfleizach@apple.com>
259
260         AX: Support returning relative frames for accessibility
261         https://bugs.webkit.org/show_bug.cgi?id=193414
262         <rdar://problem/47268501>
263
264         Reviewed by Zalan Bujtas.
265
266         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
267         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
268         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
269         (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue):
270         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
271         (WTR::attributesOfElement):
272         (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue):
273
274 2019-01-20  Yusuke Suzuki  <ysuzuki@apple.com>
275
276         Unreviewed, add my new email address
277
278         * Scripts/webkitpy/common/config/contributors.json:
279
280 2019-01-19  Zalan Bujtas  <zalan@apple.com>
281
282         [LFC][BFC] <body>'s overflow property value is propagated to viewport
283         https://bugs.webkit.org/show_bug.cgi?id=193617
284
285         Reviewed by Antti Koivisto.
286
287         * LayoutReloaded/misc/LFC-passing-tests.txt:
288
289 2019-01-20  Michael Catanzaro  <mcatanzaro@igalia.com>
290
291         Unreviewed, rolling out r240209.
292
293         Broke GTK/WPE injected bundle
294
295         Reverted changeset:
296
297         "AX: Support returning relative frames for accessibility"
298         https://bugs.webkit.org/show_bug.cgi?id=193414
299         https://trac.webkit.org/changeset/240209
300
301 2019-01-12  Dan Bernstein  <mitz@apple.com>
302
303         [Cocoa] Avoid importing directly from subumbrella frameworks
304         https://bugs.webkit.org/show_bug.cgi?id=186016
305         <rdar://problem/40591038>
306
307         Reviewed by Sam Weinig.
308
309         * DumpRenderTree/cg/PixelDumpSupportCG.cpp: Include CoreServices.h instead of a
310           LaunchServices header.
311         * DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: Removed -iframework options from
312           OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
313         * DumpRenderTree/mac/LayoutTestHelper.m: Import ApplicationServices.h instead of ColorSync.h
314           when using SDKs earlier than 10.13.
315         * TestWebKitAPI/Configurations/Base.xcconfig: Removed -iframework options from OTHER_CFLAGS
316           and OTHER_CPLUSPLUSFLAGS.
317         * WebKitTestRunner/Configurations/BaseTarget.xcconfig: Removed -iframework options from
318           OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
319         * WebKitTestRunner/cg/TestInvocationCG.cpp: Include CoreServices.h instead of a
320           LaunchServices header.
321
322 2019-01-20  Tadeu Zagallo  <tzagallo@apple.com>
323
324         Cache bytecode to disk
325         https://bugs.webkit.org/show_bug.cgi?id=192782
326         <rdar://problem/46084932>
327
328         Reviewed by Keith Miller.
329
330         Add test helper to execute bytecode-cache tests: it executes each test
331         twice, the first with JSC_diskCachePath set to a temporary directory
332         and second with JSC_forceDiskCache=true (in addition to the cache path)
333         to guarantee that only the disk cache is being used and no new
334         UnlinkedCodeBlocks are being created.
335
336         * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper: Added.
337         * Scripts/run-jsc-stress-tests:
338
339 2019-01-20  chris fleizach  <cfleizach@apple.com>
340
341         AX: Support returning relative frames for accessibility
342         https://bugs.webkit.org/show_bug.cgi?id=193414
343         <rdar://problem/47268501>
344
345         Reviewed by Zalan Bujtas.
346
347         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
348         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
349         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
350         (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue):
351         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
352         (WTR::attributesOfElement):
353         (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue):
354
355 2019-01-20  Antoine Quint  <graouts@apple.com>
356
357         Add a POINTER_EVENTS feature flag
358         https://bugs.webkit.org/show_bug.cgi?id=193577
359         <rdar://problem/47408511>
360
361         Unreviewed. Also enable Pointer Events for iosmac.
362
363         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
364
365 2019-01-19  Zalan Bujtas  <zalan@apple.com>
366
367         [LFC][Floats] Ensure that floats in FloatingContext::m_floats are always horizontally ordered.
368         https://bugs.webkit.org/show_bug.cgi?id=193613
369
370         Reviewed by Antti Koivisto.
371
372         * LayoutReloaded/misc/LFC-passing-tests.txt:
373
374 2019-01-19  Antoine Quint  <graouts@apple.com>
375
376         Add a POINTER_EVENTS feature flag
377         https://bugs.webkit.org/show_bug.cgi?id=193577
378
379         Reviewed by Dean Jackson.
380
381         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
382
383 2019-01-18  Zhifei FANG  <zhifei_fang@apple.com>
384
385         Disable the run-jsc-stress-test remote host key check [second round].
386         https://bugs.webkit.org/show_bug.cgi?id=192988
387
388         Reviewed by Dewei Zhu.
389
390         * Scripts/run-jsc-stress-tests:
391
392 2019-01-18  Aakash Jain  <aakash_jain@apple.com>
393
394         [build.webkit.org] unit-test failure Builder GTK Linux 32-bit Release doesn't exist
395         https://bugs.webkit.org/show_bug.cgi?id=193597
396
397         Reviewed by Lucas Forschler.
398
399         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
400
401 2019-01-18  Aakash Jain  <aakash_jain@apple.com>
402
403         [build.webkit.org] api tests failures are incorrectly named as unit test failures
404         https://bugs.webkit.org/show_bug.cgi?id=193595
405
406         Reviewed by Lucas Forschler.
407
408         * BuildSlaveSupport/build.webkit.org-config/factories.py: Renamed RunUnitTests to RunAPITests.
409         * BuildSlaveSupport/build.webkit.org-config/steps.py: Ditto.
410         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Ditto.
411
412 2019-01-18  Chris Dumez  <cdumez@apple.com>
413
414         Regression(PSON) Content blockers are sometimes lost on back navigation cross-site
415         https://bugs.webkit.org/show_bug.cgi?id=193588
416         <rdar://problem/47131566>
417
418         Reviewed by Alex Christensen.
419
420         Add layout test coverage.
421
422         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
423
424 2019-01-18  Jer Noble  <jer.noble@apple.com>
425
426         SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
427         https://bugs.webkit.org/show_bug.cgi?id=189553
428
429         Reviewed by Tim Horton.
430
431         Add a check-webkit-style check that ensures all SDKVariant.xcconfig files match.
432
433         * ContentExtensionTester/Configurations/Base.xcconfig:
434         * ContentExtensionTester/Configurations/SDKVariant.xcconfig: Added.
435         * DumpRenderTree/mac/Configurations/Base.xcconfig:
436         * DumpRenderTree/mac/Configurations/SDKVariant.xcconfig: Added.
437         * ImageDiff/cg/Configurations/Base.xcconfig:
438         * ImageDiff/cg/Configurations/SDKVariant.xcconfig: Added.
439         * MiniBrowser/Configurations/Base.xcconfig:
440         * MiniBrowser/Configurations/SDKVariant.xcconfig: Added.
441         * MobileMiniBrowser/Configurations/Base.xcconfig:
442         * MobileMiniBrowser/Configurations/SDKVariant.xcconfig: Added.
443         * Scripts/webkitpy/style/checker.py:
444         (_all_categories):
445         (FileType):
446         (CheckerDispatcher._file_type):
447         (CheckerDispatcher._create_checker):
448         * Scripts/webkitpy/style/checkers/sdkvariant.py: Added.
449         (SDKVariantChecker):
450         (SDKVariantChecker.__init__):
451         (SDKVariantChecker.check):
452         * TestWebKitAPI/Configurations/Base.xcconfig:
453         * TestWebKitAPI/Configurations/SDKVariant.xcconfig: Added.
454         * WebEditingTester/Configurations/Base.xcconfig:
455         * WebEditingTester/Configurations/SDKVariant.xcconfig: Added.
456         * WebKitLauncher/Configurations/SDKVariant.xcconfig: Added.
457         * WebKitTestRunner/Configurations/Base.xcconfig:
458         * WebKitTestRunner/Configurations/SDKVariant.xcconfig: Added.
459         * lldb/lldbWebKitTester/Configurations/Base.xcconfig:
460         * lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig: Added.
461
462 2019-01-18  David Kilzer  <ddkilzer@apple.com>
463
464         Switch remaining UIKit soft-linking in WebCore, WebKitLegacy over to UIKitSoftLink.{cpp,h}
465         <https://webkit.org/b/193568>
466         <rdar://problem/47381130>
467
468         Reviewed by Alex Christensen.
469
470         Make sure no one re-introduces UIKit soft-linking by adding a
471         style rule.
472
473         * Scripts/webkitpy/style/checkers/cpp.py:
474         (check_language): Add softlink/uikit check.
475         (CppChecker): Enable softlink/uikit check.
476         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
477         (CppStyleTest): Add test for softlink/uikit.
478
479 2019-01-18  Joanmarie Diggs  <jdiggs@igalia.com>
480
481         [GTK] install-dependencies tool looks for libunistring-dev for dnf
482         https://bugs.webkit.org/show_bug.cgi?id=193584
483
484         Change "-dev" to "-devel".
485
486         Reviewed by Michael Catanzaro.
487
488         * gtk/install-dependencies:
489
490 2019-01-18  Jonathan Bedard  <jbedard@apple.com>
491
492         webkitpy: Add iPhone and iPad ports
493         https://bugs.webkit.org/show_bug.cgi?id=193537
494         <rdar://problem/47353390>
495
496         Reviewed by Lucas Forschler.
497
498         Add --iphone-simulator and --ipad-simulator commands to run-webkit-tests which separate iPhone and iPad into separate
499         ports. Note that this separation is optional, the --ios-simulator command remains.
500
501         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
502         (RunTest.test_device_type_test_division): Drive-by fix.
503         (RunTest.test_device_type_specific_listing): Ditto.
504         (RunTest.test_ipad_test_division):
505         (RunTest):
506         (RunTest.test_ipad_listing):
507         * Scripts/webkitpy/port/factory.py:
508         (platform_options): Add --iphone-simulator and --ipad-simulator flags.
509         (PortFactory):
510         * Scripts/webkitpy/port/ios_simulator.py:
511         (IPhoneSimulatorPort):
512         (IPadSimulatorPort):
513
514 2019-01-18  Chris Dumez  <cdumez@apple.com>
515
516         Regression(PSON) Scroll position is not always restored properly when navigating back
517         https://bugs.webkit.org/show_bug.cgi?id=193578
518         <rdar://problem/47386331>
519
520         Reviewed by Tim Horton.
521
522         Add API test coverage.
523
524         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
525
526 2019-01-18  Youenn Fablet  <youenn@apple.com>
527
528         Add a new SPI to request for cache storage quota increase
529         https://bugs.webkit.org/show_bug.cgi?id=193323
530
531         Reviewed by Alex Christensen.
532
533         Implement WebsiteDataStore quota delegate to handle quota requests.
534         By default, do not update quota.
535         Update quota if test calls the new testRunner.allowCacheStorageQuotaIncrease method.
536
537         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
538         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
539         (WTR::TestRunner::allowCacheStorageQuotaIncrease):
540         * WebKitTestRunner/InjectedBundle/TestRunner.h:
541         * WebKitTestRunner/TestController.cpp:
542         (WTR::TestController::allowCacheStorageQuotaIncrease):
543         * WebKitTestRunner/TestController.h:
544         * WebKitTestRunner/TestInvocation.cpp:
545         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
546         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
547         (-[CacheStorageQuotaManager init]):
548         (-[CacheStorageQuotaManager _requestCacheStorageSpace:frameOrigin:quota:currentSize:spaceRequired:decisionHandler:]):
549         (WTR::initializeWebViewConfiguration):
550         (WTR::TestController::cocoaResetStateToConsistentValues):
551         (WTR::TestController::allowCacheStorageQuotaIncrease):
552
553 2019-01-18  Aakash Jain  <aakash_jain@apple.com>
554
555         [ews-build] Pass owner to the triggered builds
556         https://bugs.webkit.org/show_bug.cgi?id=193574
557
558         Reviewed by Lucas Forschler.
559
560         * BuildSlaveSupport/ews-build/factories.py:
561         (BuildFactory.propertiesToPassToTriggers):
562
563 2019-01-18  Aakash Jain  <aakash_jain@apple.com>
564
565         [ews-app] Send patch author as a build property
566         https://bugs.webkit.org/show_bug.cgi?id=193560
567
568         Reviewed by Lucas Forschler.
569
570         * BuildSlaveSupport/ews-app/ews/fetcher.py:
571         (BugzillaPatchFetcher.fetch):
572
573 2019-01-18  Jonathan Bedard  <jbedard@apple.com>
574
575         webkitpy: Implement device type specific expected results (Follow-up fix)
576         https://bugs.webkit.org/show_bug.cgi?id=192162
577         <rdar://problem/46345449>
578
579         Unreviewed infrastructure fix.
580
581         * Scripts/webkitpy/layout_tests/controllers/manager.py:
582         (Manager.run): Don't boot a device if no tests are available to run on it.
583
584 2019-01-18  Jonathan Bedard  <jbedard@apple.com>
585
586         webkitpy: Implement device type specific expected results (Follow-up fix)
587         https://bugs.webkit.org/show_bug.cgi?id=192162
588         <rdar://problem/46345449>
589
590         Unreviewed infrastructure fix.
591
592         * Scripts/webkitpy/api_tests/manager.py:
593         (Manager._initialize_devices): Use DEVICE_TYPE when running API tests.
594
595 2019-01-18  Jonathan Bedard  <jbedard@apple.com>
596
597         webkitpy: Implement device type specific expected results (Part 2)
598         https://bugs.webkit.org/show_bug.cgi?id=192162
599         <rdar://problem/46345449>
600
601         Rubber-stamped by Aakash Jain.
602
603         This change uses device_type to select a different set of TestExpectation files based on the type of device running
604         tests. This requires multiple baseline search paths to be used in a single instantiation of run-webkit-tests. Note
605         that while multiple baseline search paths are used, any single test will only ever be run on a single device type.
606
607         * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
608         (LayoutTestFinder.find_tests): Pass device_type through.
609         * Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py:
610         (LayoutTestFinderTests.test_touched_but_skipped_test): Allow device_type to be passed in.
611         * Scripts/webkitpy/layout_tests/controllers/manager.py:
612         (Manager.__init__): Make _expectations an OrderedDict indexed by device_type, add current_device_type.
613         (Manager._collect_tests): Pass device type to test finder.
614         (Manager._needs_web_platform_test):
615         (Manager._prepare_lists): Index _expectations by device type.
616         (Manager._test_input_for_file):
617         (Manager._test_is_slow): Ditto.
618         (Manager._test_should_dump_jsconsolelog_in_stderr):
619         (Manager._test_should_dump_jsconsolelog_in_stderr): Ditto.
620         (Manager._get_test_inputs):
621         (Manager._update_worker_count):
622         (Manager._set_up_run): Use current_device_type instead of passing device_type in.
623         (Manager.run): Re-write function to gather and parse expectations from multiple baseline search paths. In the event
624         that a test can be run on multiple device types, the first device in the device type list which is eligible will be
625         the one which runs the test.
626         (Manager._run_test_subset):
627         (Manager._run_tests): Index _expectations by current_device_type.
628         (Manager._print_expectation_line_for_test): Ditto.
629         (Manager._print_expectations_for_subset): Ditto.
630         (Manager.print_expectations): Re-write function to gather and parse expectations from multiple baseline search paths.
631         Unlike run, this function will behave the same regardless of what devices are available.
632         (Manager._custom_device_for_test): Deleted.
633         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
634         (ManagerTest.test_uses_custom_device): Deleted.
635         (ManagerTest.test_uses_custom_device.get_manager): Deleted.
636         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
637         (JSONLayoutResultsGenerator.__init__): Pass expectations as a dictionary indexed by device type.
638         (JSONLayoutResultsGenerator._insert_failure_summaries): The number of fixable tests must take into consideration
639         all of the expectations.
640         * Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py:
641         (FakePort.skipped_layout_tests): Allow device_type to be passed in.
642         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
643         (TestExpectations.__init__): Allow device_type to be passed through.
644         (TestExpectations.parse_all_expectations): Pick expectations_dict by device type.
645         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Allow device_type to be passed in.
646         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
647         (summarize_results):
648         * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
649         (summarized_results): Expectations are stored in a dictionary indexed by device_type. When determining the expectation
650         a test ran with, one must check all expectations to find the first non-skip expectation.
651         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
652         (RunTest.test_device_type_test_division):
653         (RunTest):
654         (RunTest.test_device_type_specific_listing):
655         * Scripts/webkitpy/port/base.py:
656         (Port): Add default values for DEVICE_TYPE and DEFAULT_DEVICE_TYPES.
657         (Port.supported_device_types): The result of this function will change based on what devices are available.
658         * Scripts/webkitpy/port/device_port.py:
659         (DevicePort._device_type_with_version): Replace DEFAULT_DEVICE_TYPE with DEVICE_TYPE.
660         (DevicePort.default_child_processes): DEVICE_TYPE is a general type, so the built-in comparison of the DeviceType object
661         can be used.
662         (DevicePort.supported_device_types): Generates a list of device types determined by the available devices, if there are
663         any, or the DEFAULT_DEVICE_TYPES of the port.
664         * Scripts/webkitpy/port/ios.py:
665         (IOSPort): Change DEFAULT_DEVICE_TYPE to DEVICE_TYPE.
666         * Scripts/webkitpy/port/ios_simulator.py:
667         (IOSSimulatorPort): Set the DEFAULT_DEVICE_TYPES to the devices currently used to run layout tests.
668         * Scripts/webkitpy/port/watch.py:
669         (WatchPort): Change DEFAULT_DEVICE_TYPE to DEVICE_TYPE.
670         * Scripts/webkitpy/port/watch_simulator.py:
671         (WatchSimulatorPort): Set the DEFAULT_DEVICE_TYPES to the device currently used to run layout tests.
672         * Scripts/webkitpy/xcode/device_type.py:
673         (DeviceType):
674         (DeviceType.__hash__): Allow DeviceType to be used as a dictionary index.
675
676 2019-01-18  Philippe Normand  <pnormand@igalia.com>
677
678         [WPE] run-qt-wpe-minibrowser needlessly expects a --wpe argument
679         https://bugs.webkit.org/show_bug.cgi?id=193575
680
681         Reviewed by Michael Catanzaro.
682
683         Allow the script to run without explicit port argument because
684         it's specific to the WPE port anyway.
685
686         * Scripts/run-qt-wpe-minibrowser: Manually insert --wpe in argv
687         and simplify the rest of the code accordingly.
688
689 2019-01-18  Charlie Turner  <cturner@igalia.com>
690
691         [GStreamer][EME][ClearKey] Request keys from CDMInstance rather than passing via bus messages
692         https://bugs.webkit.org/show_bug.cgi?id=192229
693
694         Reviewed by Xabier Rodriguez-Calvar.
695
696         * MiniBrowser/wpe/main.cpp:
697         (main): Enable encrypted-media by default.
698
699 2019-01-18  Philippe Normand  <pnormand@igalia.com>
700
701         [Flatpak] Missing KeyboardInterrupt exception handler
702         https://bugs.webkit.org/show_bug.cgi?id=193570
703
704         Reviewed by Michael Catanzaro.
705
706         * flatpak/flatpakutils.py:
707         (WebkitFlatpak.run_in_sandbox): Basic KeyboardInterrupt handling.
708
709 2019-01-18  Zalan Bujtas  <zalan@apple.com>
710
711         [LFC][BFC][MarginCollapsing] Collapsing through should not ignore floats.
712         https://bugs.webkit.org/show_bug.cgi?id=193564
713
714         Reviewed by Antti Koivisto.
715
716         * LayoutReloaded/misc/LFC-passing-tests.txt:
717
718 2019-01-18  Zalan Bujtas  <zalan@apple.com>
719
720         [LFC] Do not skip float boxes that are not part of the current formatting context when computing bottom.
721         https://bugs.webkit.org/show_bug.cgi?id=193562
722
723         Reviewed by Antti Koivisto.
724
725         * LayoutReloaded/misc/LFC-passing-tests.txt:
726
727 2019-01-18  Zalan Bujtas  <zalan@apple.com>
728
729         [LFC][BFC] Check for inflow children while computing height for block formatting context roots.
730         https://bugs.webkit.org/show_bug.cgi?id=193555
731
732         Reviewed by Antti Koivisto.
733
734         * LayoutReloaded/misc/LFC-passing-tests.txt:
735
736 2019-01-18  Philippe Normand  <pnormand@igalia.com>
737
738         [WPE] Add Qt extension
739         https://bugs.webkit.org/show_bug.cgi?id=191464
740
741         Reviewed by Carlos Garcia Campos.
742
743         MiniBrowser and API tests for the WPE Qt API. To run the
744         MiniBrowser a new script is introduced. Example invocation:
745
746         $ run-qt-wpe-minibrowser -platform wayland https://webkit.org
747
748         Also note-worthy is the introduction of the python2-subprocess32
749         dependency to run the GLib API tests.
750
751         * MiniBrowser/wpe/CMakeLists.txt:
752         * MiniBrowser/wpe/qt/CMakeLists.txt: Added.
753         * MiniBrowser/wpe/qt/main.cpp: Added.
754         (main):
755         * MiniBrowser/wpe/qt/main.qml: Added.
756         * MiniBrowser/wpe/qt/qml.qrc: Added.
757         * Scripts/run-gtk-tests:
758         (GtkTestRunner.is_google_test):
759         (GtkTestRunner):
760         (GtkTestRunner.is_qt_test):
761         * Scripts/run-qt-wpe-minibrowser: Added.
762         * Scripts/run-wpe-tests:
763         (WPETestRunner):
764         (WPETestRunner.is_google_test):
765         (WPETestRunner.is_qt_test):
766         * TestWebKitAPI/Tests/WPEQt/TestLoad.cpp: Added.
767         (TestLoad::main):
768         * TestWebKitAPI/Tests/WPEQt/TestLoadHtml.cpp: Added.
769         (TestLoadHtml::main):
770         * TestWebKitAPI/Tests/WPEQt/TestLoadRequest.cpp: Added.
771         (TestLoadRequest::main):
772         * TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp: Added.
773         (TestRunJavaScript::main):
774         * TestWebKitAPI/Tests/WPEQt/WPEQtTest.cpp: Added.
775         (waitForSignal):
776         * TestWebKitAPI/Tests/WPEQt/WPEQtTest.h: Added.
777         (LoadSpy::LoadSpy):
778         (LoadSpy::~LoadSpy):
779         (LoadSpy::onLoadingChanged):
780         (LoadStartedCatcher::LoadStartedCatcher):
781         (LoadStartedCatcher::~LoadStartedCatcher):
782         (LoadStartedCatcher::onLoadingChanged):
783         (waitForLoadSucceeded):
784         (waitForLoadFailed):
785         * TestWebKitAPI/glib/CMakeLists.txt:
786         * flatpak/flatpakutils.py:
787         (WebkitFlatpak.load_from_args):
788         (WebkitFlatpak.__init__):
789         (WebkitFlatpak.clean_args):
790         (WebkitFlatpak.run_in_sandbox):
791         * flatpak/org.webkit.CommonModules.yaml:
792         * flatpak/org.webkit.WPE.yaml:
793         * flatpak/org.webkit.WPEModules.yaml:
794         * flatpak/org.webkit.WPEQT.yaml: Copied from Tools/flatpak/org.webkit.WebKit.yaml.
795         * flatpak/org.webkit.WebKit.yaml:
796         * glib/api_test_runner.py:
797         (TestRunner._run_test_qt):
798         (TestRunner.is_qt_test):
799         (TestRunner._run_test):
800
801 2019-01-17  Wenson Hsieh  <wenson_hsieh@apple.com>
802
803         [iOS] Content offset jumps erratically when autoscrolling near scroll view content inset areas
804         https://bugs.webkit.org/show_bug.cgi?id=193494
805         <rdar://problem/46859627>
806
807         Reviewed by Simon Fraser and Tim Horton.
808
809         Add a new test option to add a top content inset to the test runner's WKWebView's scroll view, and automatically
810         scroll to reveal this top content inset area when beginning the test (i.e., scroll to (0, -topContentInset)).
811
812         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
813         (WTR::UIScriptController::contentOffsetX const):
814         (WTR::UIScriptController::contentOffsetY const):
815         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
816         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
817         (WTR::UIScriptController::contentOffsetX const):
818         (WTR::UIScriptController::contentOffsetY const):
819         * TestRunnerShared/UIScriptContext/UIScriptController.h:
820
821         Also add new UIScriptController methods to ask for the content offset of the platform scroll view.
822
823         * WebKitTestRunner/TestController.cpp:
824         (WTR::updateTestOptionsFromTestHeader):
825         * WebKitTestRunner/TestOptions.h:
826         (WTR::TestOptions::hasSameInitializationOptions const):
827         * WebKitTestRunner/ios/TestControllerIOS.mm:
828         (WTR::TestController::platformResetStateToConsistentValues):
829         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
830         (WTR::UIScriptController::contentOffsetX const):
831         (WTR::UIScriptController::contentOffsetY const):
832
833 2019-01-17  Truitt Savell  <tsavell@apple.com>
834
835         Unreviewed, rolling out r240124.
836
837         This commit broke an internal build.
838
839         Reverted changeset:
840
841         "SDK_VARIANT build destinations should be separate from non-
842         SDK_VARIANT builds"
843         https://bugs.webkit.org/show_bug.cgi?id=189553
844         https://trac.webkit.org/changeset/240124
845
846 2019-01-17  Alex Christensen  <achristensen@webkit.org>
847
848         Fix string concatenation API test after r239920
849         https://bugs.webkit.org/show_bug.cgi?id=193551
850         <rdar://problem/47359304>
851
852         Reviewed by Youenn Fablet.
853
854         * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
855         (TestWebKitAPI::TEST):
856         Cocoa platforms' interpretation of UChar/unsigned short equality is not affected by ICU's recent change of UChar's type
857         in WebKit's build configuration like it apparently is on Linux.
858
859 2019-01-17  Aakash Jain  <aakash_jain@apple.com>
860
861         [ews-build] validate-patch should handle the case when bug_id is None
862         https://bugs.webkit.org/show_bug.cgi?id=193547
863
864         Reviewed by Lucas Forschler.
865
866         * BuildSlaveSupport/ews-build/steps.py:
867         (ValidatePatch._is_bug_closed): Gracefully handle the case when bug_id is None.
868         (ValidatePatch.start): If bug_id is set as None in build properties, fetch it from the patch.
869
870 2019-01-17  Aakash Jain  <aakash_jain@apple.com>
871
872         [ews-build] Add patch author information in build
873         https://bugs.webkit.org/show_bug.cgi?id=193465
874
875         Reviewed by Lucas Forschler.
876
877         * BuildSlaveSupport/ews-build/steps.py:
878         (ValidatePatch._is_patch_obsolete):
879
880 2019-01-17  Aakash Jain  <aakash_jain@apple.com>
881
882         [ews-build] Pass bug_id to the triggered builds
883         https://bugs.webkit.org/show_bug.cgi?id=193548
884
885         Reviewed by Lucas Forschler.
886
887         * BuildSlaveSupport/ews-build/factories.py:
888         (BuildFactory.propertiesToPassToTriggers):
889
890 2019-01-17  Jer Noble  <jer.noble@apple.com>
891
892         SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
893         https://bugs.webkit.org/show_bug.cgi?id=189553
894
895         Reviewed by Tim Horton.
896
897         Add a check-webkit-style check that ensures all SDKVariant.xcconfig files match.
898
899         * ContentExtensionTester/Configurations/Base.xcconfig:
900         * ContentExtensionTester/Configurations/SDKVariant.xcconfig: Added.
901         * DumpRenderTree/mac/Configurations/Base.xcconfig:
902         * DumpRenderTree/mac/Configurations/SDKVariant.xcconfig: Added.
903         * ImageDiff/cg/Configurations/Base.xcconfig:
904         * ImageDiff/cg/Configurations/SDKVariant.xcconfig: Added.
905         * MiniBrowser/Configurations/Base.xcconfig:
906         * MiniBrowser/Configurations/SDKVariant.xcconfig: Added.
907         * MobileMiniBrowser/Configurations/Base.xcconfig:
908         * MobileMiniBrowser/Configurations/SDKVariant.xcconfig: Added.
909         * Scripts/webkitpy/style/checker.py:
910         (_all_categories):
911         (FileType):
912         (CheckerDispatcher._file_type):
913         (CheckerDispatcher._create_checker):
914         * Scripts/webkitpy/style/checkers/sdkvariant.py: Added.
915         (SDKVariantChecker):
916         (SDKVariantChecker.__init__):
917         (SDKVariantChecker.check):
918         * TestWebKitAPI/Configurations/Base.xcconfig:
919         * TestWebKitAPI/Configurations/SDKVariant.xcconfig: Added.
920         * WebEditingTester/Configurations/Base.xcconfig:
921         * WebEditingTester/Configurations/SDKVariant.xcconfig: Added.
922         * WebKitLauncher/Configurations/SDKVariant.xcconfig: Added.
923         * WebKitTestRunner/Configurations/Base.xcconfig:
924         * WebKitTestRunner/Configurations/SDKVariant.xcconfig: Added.
925         * lldb/lldbWebKitTester/Configurations/Base.xcconfig:
926         * lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig: Added.
927
928 2019-01-17  Zalan Bujtas  <zalan@apple.com>
929
930         [LFC][BFC] An element with transform is a containing block for positioned descendants.
931         https://bugs.webkit.org/show_bug.cgi?id=193534
932
933         Reviewed by Antti Koivisto.
934
935         * LayoutReloaded/misc/LFC-passing-tests.txt:
936
937 2019-01-17  Zalan Bujtas  <zalan@apple.com>
938
939         [LFC][BFC][Quirk] Take body padding and border into account when stretching height.
940         https://bugs.webkit.org/show_bug.cgi?id=193528
941
942         Reviewed by Antti Koivisto.
943
944         * LayoutReloaded/misc/LFC-passing-tests.txt:
945
946 2019-01-17  Zalan Bujtas  <zalan@apple.com>
947
948         [LFC][BFC] For height computation, the bottom edge of the last line box value should include top border/padding
949         https://bugs.webkit.org/show_bug.cgi?id=193520
950
951         Reviewed by Antti Koivisto.
952
953         * LayoutReloaded/misc/LFC-passing-tests.txt:
954
955 2019-01-17  Aakash Jain  <aakash_jain@apple.com>
956
957         [ews-build] unapply-patch step should not update source
958         https://bugs.webkit.org/show_bug.cgi?id=193234
959
960         Reviewed by Lucas Forschler.
961
962         * BuildSlaveSupport/ews-build/steps.py:
963         (CleanWorkingDirectory): Use clean-webkit script to clean the working directory.
964         (UnApplyPatchIfRequired): Use CleanWorkingDirectory as base class.
965
966 2019-01-16  Youenn Fablet  <youenn@apple.com>
967
968         Add a new SPI for controlling getUserMedia
969         https://bugs.webkit.org/show_bug.cgi?id=192793
970
971         Reviewed by Eric Carlson.
972
973         * MiniBrowser/mac/WK2BrowserWindowController.m:
974         (-[WK2BrowserWindowController _webView:requestUserMediaAuthorizationForFrame:devices:decisionHandler:]):
975         (-[WK2BrowserWindowController _webView:isMediaCaptureAuthorizedForFrame:decisionHandler:]):
976         * TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
977         (-[NavigationWhileGetUserMediaPromptDisplayedUIDelegate _webView:requestMediaCaptureAuthorizationForFrame:devices:decisionHandler:]):
978         * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
979         (-[GetUserMediaRepromptUIDelegate _webView:requestMediaCaptureAuthorizationForFrame:devices:decisionHandler:]):
980         * TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm:
981         (-[MediaStreamTrackDetachedUIDelegate _webView:requestMediaCaptureAuthorizationForFrame:devices:decisionHandler:]):
982         * TestWebKitAPI/Tests/WebKitCocoa/UserMediaDisabled.mm:
983         (-[UserMediaUIDelegate _webView:requestMediaCaptureAuthorizationForFrame:devices:decisionHandler:]):
984         (-[UserMediaUIDelegate _webView:isMediaCaptureAuthorizedForFrame:decisionHandler:]):
985         * TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
986         (-[SimulateFailedSandboxUIDelegate _webView:requestMediaCaptureAuthorizationForFrame:devices:decisionHandler:]):
987         (-[SimulateFailedSandboxUIDelegate _webView:isMediaCaptureAuthorizedForFrame:decisionHandler:]):
988
989 2019-01-16  Zalan Bujtas  <zalan@apple.com>
990
991         [LFC][BFC] Inflow non-replaced used width should not be negative.
992         https://bugs.webkit.org/show_bug.cgi?id=193495
993
994         Reviewed by Antti Koivisto.
995
996         * LayoutReloaded/misc/LFC-passing-tests.txt:
997
998 2019-01-16  Chris Dumez  <cdumez@apple.com>
999
1000         Regression(PSON) View becomes blank after click a cross-site download link
1001         https://bugs.webkit.org/show_bug.cgi?id=193361
1002         <rdar://problem/47099573>
1003
1004         Reviewed by Geoffrey Garen.
1005
1006         Add API test coverage.
1007
1008         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1009         (-[PSONNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
1010
1011 2019-01-16  Zalan Bujtas  <zalan@apple.com>
1012
1013         [LFC][Out-of-flow] Set used vertical margin values when top/height/bottom are non-auto.
1014         https://bugs.webkit.org/show_bug.cgi?id=193470
1015
1016         Reviewed by Antti Koivisto.
1017
1018         * LayoutReloaded/misc/LFC-passing-tests.txt:
1019
1020 2019-01-16  Zalan Bujtas  <zalan@apple.com>
1021
1022         [LFC] Adjust margin box verification.
1023         https://bugs.webkit.org/show_bug.cgi?id=193482
1024
1025         Reviewed by Antti Koivisto.
1026
1027         * LayoutReloaded/misc/LFC-passing-tests.txt:
1028
1029 2019-01-15  Sihui Liu  <sihui_liu@apple.com>
1030
1031         Fix API test WebKit.WebsiteDataStoreCustomPathsWithoutPrewarming after 193354
1032         https://bugs.webkit.org/show_bug.cgi?id=193451
1033
1034         Reviewed by Geoffrey Garen.
1035
1036         * TestWebKitAPI/Tests/WebKitCocoa/DuplicateCompletionHandlerCalls.mm:
1037         (TEST):
1038         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1039         (runWebsiteDataStoreCustomPaths):
1040
1041 2019-01-15  Jonathan Bedard  <jbedard@apple.com>
1042
1043         webkitpy: Support boolean simctl isAvailable
1044         https://bugs.webkit.org/show_bug.cgi?id=193472
1045         <rdar://problem/47296150>
1046
1047         Reviewed by Ryosuke Niwa.
1048
1049         * Scripts/webkitpy/xcode/simulated_device.py:
1050         (SimulatedDeviceManager._create_runtimes):
1051         (SimulatedDeviceManager._create_device_with_runtime):
1052
1053 2019-01-15  Chris Dumez  <cdumez@apple.com>
1054
1055         Unreviewed, rolling out r239993, r239995, r239997, and
1056         r239999.
1057
1058         Caused assertions under
1059         ViewGestureController::disconnectFromProcess()
1060
1061         Reverted changesets:
1062
1063         "Regression(PSON) View becomes blank after click a cross-site
1064         download link"
1065         https://bugs.webkit.org/show_bug.cgi?id=193361
1066         https://trac.webkit.org/changeset/239993
1067
1068         "Unreviewed iOS build fix after r239993."
1069         https://trac.webkit.org/changeset/239995
1070
1071         "Fix iOS build after r239993"
1072         https://bugs.webkit.org/show_bug.cgi?id=193361
1073         https://trac.webkit.org/changeset/239997
1074
1075         "Unreviewed, revert part of r239997 as it is not needed to fix
1076         the build."
1077         https://trac.webkit.org/changeset/239999
1078
1079 2019-01-15  Tim Horton  <timothy_horton@apple.com>
1080
1081         Cannot tab out of WKWebView on macOS
1082         https://bugs.webkit.org/show_bug.cgi?id=161448
1083         <rdar://problem/28100085>
1084
1085         Reviewed by Dean Jackson.
1086
1087         Add a test that tabbing into and out of WKWebView works correctly.
1088
1089         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1090         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
1091         (WebKit2_CommandBackForwardTest::SetUp):
1092         (-[CommandBackForwardOffscreenWindow isKeyWindow]): Deleted.
1093         (-[CommandBackForwardOffscreenWindow isVisible]): Deleted.
1094         * TestWebKitAPI/Tests/WebKitCocoa/TabOutOfWebView.mm: Added.
1095         (-[FocusableView canBecomeKeyView]):
1096         (TEST):
1097         * TestWebKitAPI/mac/OffscreenWindow.h: Added.
1098         * TestWebKitAPI/mac/OffscreenWindow.mm: Added.
1099         (-[OffscreenWindow initWithSize:]):
1100         (-[OffscreenWindow isKeyWindow]):
1101         (-[OffscreenWindow isVisible]):
1102         * TestWebKitAPI/mac/PlatformWebViewMac.mm:
1103         (TestWebKitAPI::PlatformWebView::initialize):
1104         (-[ActiveOffscreenWindow isKeyWindow]): Deleted.
1105         (-[ActiveOffscreenWindow isVisible]): Deleted.
1106         Factor ActiveOffscreenWindow out into OffscreenWindow and share it.
1107
1108 2019-01-15  Ryan Haddad  <ryanhaddad@apple.com>
1109
1110         Adjust the arguments passed to run-javascriptcore-tests for the 32-bit JSC bot
1111         https://bugs.webkit.org/show_bug.cgi?id=193459
1112
1113         Reviewed by Mark Lam.
1114
1115         * BuildSlaveSupport/build.webkit.org-config/steps.py:
1116         (Run32bitJSCTests): This queue should not run JIT, testair, testb3, or testmasm.
1117
1118 2019-01-15  Chris Dumez  <cdumez@apple.com>
1119
1120         Regression(PSON) View becomes blank after click a cross-site download link
1121         https://bugs.webkit.org/show_bug.cgi?id=193361
1122         <rdar://problem/47099573>
1123
1124         Reviewed by Geoff Garen.
1125
1126         Add API test coverage.
1127
1128         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1129         (-[PSONNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
1130
1131 2019-01-15  Zalan Bujtas  <zalan@apple.com>
1132
1133         [LFC][Out-of-flow] Ignore bottom when the vertical values are over-constrained
1134         https://bugs.webkit.org/show_bug.cgi?id=193448
1135
1136         Reviewed by Antti Koivisto.
1137
1138         * LayoutReloaded/misc/LFC-passing-tests.txt:
1139
1140 2019-01-15  Jonathan Bedard  <jbedard@apple.com>
1141
1142         webkitpy: Implement device type specific expected results (Part 1)
1143         https://bugs.webkit.org/show_bug.cgi?id=192162
1144
1145         Reviewed by Lucas Forschler.
1146
1147         Device type specific expected results covers two related ideas. The first (covered by this change)
1148         is where to search for -expected.* files. The second is which tests to run based on the
1149         TestExpectations.txt file.
1150
1151         After this change, the baseline search path will be determined by the type of device running a
1152         test. Device type will be passed into any function which picks a file based on the baseline search
1153         path.
1154
1155         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1156         (Worker._update_test_input): Pass device_type to self._port.reference_files(...).
1157         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1158         (Manager.run): Print baseline search path for each round of devices.
1159         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
1160         (SingleTestRunner.__init__): Pass device_type into expected_*(...).
1161         (SingleTestRunner._expected_driver_output): Ditto.
1162         (SingleTestRunner._driver_input): Ditto.
1163         * Scripts/webkitpy/layout_tests/views/printing.py:
1164         (Printer.print_config): Move printing of baseline search path to a separate function.
1165         (Printer.print_baseline_search_path): Moved from Printer.print_config.
1166         * Scripts/webkitpy/layout_tests/views/printing_unittest.py:
1167         (Testprinter.test_print_config):
1168         (Testprinter.test_print_baseline_search_path):
1169         * Scripts/webkitpy/port/base.py:
1170         (Port.baseline_search_path): Pass device_type through.
1171         (Port._expected_baselines_for_suffixes): Ditto.
1172         (Port.expected_baselines): Ditto.
1173         (Port.expected_filename): Ditto.
1174         (Port.expected_checksum): Ditto.
1175         (Port.expected_image): Ditto.
1176         (Port.expected_audio): Ditto.
1177         (Port.expected_text): Ditto.
1178         (Port.reference_files): Ditto.
1179         (Port.tests): Ditto.
1180         (Port._expanded_paths): Ditto.
1181         (Port.skipped_layout_tests): Ditto.
1182         (Port.expectations_dict): Ditto.
1183         (Port._port_specific_expectations_files): Ditto.
1184         (Port.expectations_files): Ditto.
1185         (Port.test_search_path): Ditto.
1186         (Port._tests_for_other_platforms): Ditto.
1187         * Scripts/webkitpy/port/base_unittest.py:
1188         (PortTest.test_additional_platform_directory): Accept, but do not use, device_type.
1189         (PortTest.test_nonexistant_expectations): Ditto.
1190         (test_ref_tests_platform_directory): Ditto.
1191         * Scripts/webkitpy/port/darwin.py:
1192         (DarwinPort._port_specific_expectations_files): Accept device_type.
1193         * Scripts/webkitpy/port/driver.py:
1194         (DriverProxy):
1195         (DriverProxy.host): Expose _target_host for device_type information.
1196         * Scripts/webkitpy/port/gtk.py:
1197         (GtkPort._port_specific_expectations_files): Accept, but do not use, device_type.
1198         * Scripts/webkitpy/port/ios.py:
1199         (IOSPort. default_baseline_search_path): Remove memoized, since it does not accept **kwargs.
1200         * Scripts/webkitpy/port/mac.py:
1201         (MacPort. default_baseline_search_path): Ditto.
1202         * Scripts/webkitpy/port/port_testcase.py:
1203         (TestWebKitPort._tests_for_other_platforms): Accept, but do not use, device_type.
1204         * Scripts/webkitpy/port/test.py:
1205         * Scripts/webkitpy/port/watch.py:
1206         (WatchPort. default_baseline_search_path): Remove memoized, since it does not accept **kwargs.
1207         * Scripts/webkitpy/port/win.py:
1208         (WinPort.test_search_path): Accept, but do not use, device_type.
1209         * Scripts/webkitpy/port/wpe.py:
1210         (WPEPort._port_specific_expectations_files): Ditto.
1211         * Scripts/webkitpy/tool/servers/rebaselineserver.py:
1212         (get_test_baselines.AllPlatformsPort.baseline_search_path): Ditto.
1213
1214 2019-01-15  Zalan Bujtas  <zalan@apple.com>
1215
1216         [LFC] Use the containing block's padding box to position out-of-flow elements.
1217         https://bugs.webkit.org/show_bug.cgi?id=193431
1218
1219         Reviewed by Antti Koivisto.
1220
1221         * LayoutReloaded/misc/LFC-passing-tests.txt:
1222
1223 2019-01-14  Tim Horton  <timothy_horton@apple.com>
1224
1225         Move a test implementation file that got misplaced in the Xcode project
1226
1227         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1228
1229 2019-01-14  Commit Queue  <commit-queue@webkit.org>
1230
1231         Unreviewed, rolling out r239901, r239909, r239910, r239912,
1232         r239913, and r239914.
1233         https://bugs.webkit.org/show_bug.cgi?id=193407
1234
1235         These revisions caused an internal failure (Requested by
1236         Truitt on #webkit).
1237
1238         Reverted changesets:
1239
1240         "[Cocoa] Avoid importing directly from subumbrella frameworks"
1241         https://bugs.webkit.org/show_bug.cgi?id=186016
1242         https://trac.webkit.org/changeset/239901
1243
1244         "Tried to fix USE(APPLE_INTERNAL_SDK) builds after r239901."
1245         https://trac.webkit.org/changeset/239909
1246
1247         "Tried to fix the build."
1248         https://trac.webkit.org/changeset/239910
1249
1250         "Fixed iOS builds after r239910."
1251         https://trac.webkit.org/changeset/239912
1252
1253         "More build fixing."
1254         https://trac.webkit.org/changeset/239913
1255
1256         "Tried to fix USE(APPLE_INTERNAL_SDK) 32-bit builds."
1257         https://trac.webkit.org/changeset/239914
1258
1259 2019-01-14  Mark Lam  <mark.lam@apple.com>
1260
1261         Re-enable ability to build --cloop builds.
1262         https://bugs.webkit.org/show_bug.cgi?id=192955
1263         <rdar://problem/46882363>
1264
1265         Reviewed by Saam barati and Keith Miller.
1266
1267         The --cloop build option was being ignored this whole time since r236381.
1268         This patch makes it possible to build CLoop builds again.
1269
1270         * Scripts/build-jsc:
1271         * Scripts/webkitperl/FeatureList.pm:
1272         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1273
1274 2019-01-14  Jonathan Bedard  <jbedard@apple.com>
1275
1276         webkitpy: Expose device_type from host-like objects
1277         https://bugs.webkit.org/show_bug.cgi?id=193406
1278         <rdar://problem/47262305>
1279
1280         Reviewed by Lucas Forschler.
1281
1282         Devices should expose device_type. As a result, all host objects should
1283         provide a device_type property, even if they do not yet define a device_type.
1284
1285         * Scripts/webkitpy/common/system/systemhost.py:
1286         (SystemHost):
1287         (SystemHost.device_type):
1288         * Scripts/webkitpy/common/system/systemhost_mock.py:
1289         (MockSystemHost):
1290         (MockSystemHost.device_type):
1291         * Scripts/webkitpy/port/device.py:
1292         (Device):
1293         (Device.device_type):
1294         * Scripts/webkitpy/xcode/simulated_device.py:
1295         (SimulatedDeviceManager._find_exisiting_device_for_request):
1296         (SimulatedDeviceManager._disambiguate_device_type):
1297         (SimulatedDeviceManager._does_fulfill_request):
1298         (SimulatedDeviceManager.device_count_for_type):
1299         (SimulatedDeviceManager.initialize_devices):
1300         * Scripts/webkitpy/xcode/simulated_device_unittest.py:
1301         (test_available_devices):
1302         (test_swapping_devices):
1303
1304 2019-01-14  Jonathan Bedard  <jbedard@apple.com>
1305
1306         webkitpy: Support alternate simctl device list output (Follow-up fix)
1307         https://bugs.webkit.org/show_bug.cgi?id=193362
1308         <rdar://problem/47122965>
1309
1310         Rubber-stamped by Lucas Forschler.
1311
1312         * Scripts/webkitpy/xcode/simulated_device.py:
1313         (SimulatedDeviceManager.populate_available_devices):
1314
1315 2019-01-14  Wenson Hsieh  <wenson_hsieh@apple.com>
1316
1317         [iOS] Expose SPI to access the current sentence boundary and selection state
1318         https://bugs.webkit.org/show_bug.cgi?id=193398
1319         <rdar://problem/45893108>
1320
1321         Reviewed by Dean Jackson.
1322
1323         Add an API test to verify that an SPI client can observe changes in the `@"_selectionAttributes"` key path on
1324         WKWebView, and that inserting text, deleting, and changing the selection cause selection attributes to change as
1325         expected.
1326
1327         * TestWebKitAPI/EditingTestHarness.h:
1328         * TestWebKitAPI/EditingTestHarness.mm:
1329         (-[EditingTestHarness moveBackward]):
1330         (-[EditingTestHarness moveForward]):
1331         (-[EditingTestHarness moveForwardAndExpectEditorStateWith:]):
1332
1333         Add a couple of new helper methods on EditingTestHarness.
1334
1335         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
1336         (-[SelectionChangeObserver initWithWebView:]):
1337         (-[SelectionChangeObserver webView]):
1338         (-[SelectionChangeObserver observeValueForKeyPath:ofObject:change:context:]):
1339         (-[SelectionChangeObserver currentSelectionAttributes]):
1340
1341 2019-01-14  Zalan Bujtas  <zalan@apple.com>
1342
1343         [LFC][BFC] Add basic box-sizing support.
1344         https://bugs.webkit.org/show_bug.cgi?id=193392
1345
1346         Reviewed by Antti Koivisto.
1347
1348         * LayoutReloaded/misc/LFC-passing-tests.txt:
1349
1350 2019-01-14  Charlie Turner  <cturner@igalia.com>
1351
1352         [WPE] API test gardening
1353         https://bugs.webkit.org/show_bug.cgi?id=193319
1354
1355         Reviewed by Michael Catanzaro.
1356
1357         * TestWebKitAPI/glib/TestExpectations.json: Remove some now
1358         passing tests.
1359
1360 2019-01-14  Charlie Turner  <cturner@igalia.com>
1361
1362         [GStreamer] Add sharedBuffer utility to GstMappedBuffer, and a testsuite
1363         https://bugs.webkit.org/show_bug.cgi?id=192977
1364
1365         Reviewed by Carlos Garcia Campos.
1366
1367         * TestWebKitAPI/PlatformGTK.cmake: Build the new GStreamer test harness
1368         * TestWebKitAPI/PlatformWPE.cmake: Ditto.
1369         * TestWebKitAPI/Tests/WebCore/gstreamer/GStreamerTest.cpp: Added.
1370         (TestWebKitAPI::GStreamerTest::SetUp):
1371         (TestWebKitAPI::GStreamerTest::TearDown):
1372         * TestWebKitAPI/Tests/WebCore/gstreamer/GStreamerTest.h: Added.
1373         * TestWebKitAPI/Tests/WebCore/gstreamer/GstMappedBuffer.cpp: Added.
1374         (TestWebKitAPI::TEST_F):
1375
1376 2019-01-14  Charlie Turner  <cturner@igalia.com>
1377
1378         [WPE] Workaround for incorrect template specialization being selected when UChar=char16_t
1379         https://bugs.webkit.org/show_bug.cgi?id=193332
1380
1381         Reviewed by Michael Catanzaro.
1382
1383         * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: When UChar is
1384         defined as a char16_t, which changed in ICU 59, the
1385         StringTypeAdapter<UnsignedInt, ...> overload catches casts to
1386         unsigned short. This test is relying on the behaviour that
1387         UChar=unsigned short, which doesn't hold across platforms and ICU
1388         library versions. The full fix would be a special syntax for
1389         literal characters so that these ambiguities do not arise. That
1390         work is proposed in https://bugs.webkit.org/show_bug.cgi?id=193101.
1391         (TestWebKitAPI::TEST):
1392
1393 2019-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1394
1395         Unreviewed. [GTK][WPE] Run distcheck with gtkdoc and MiniBrowser enabled
1396
1397         * Scripts/make-dist:
1398         (Distcheck.configure):
1399
1400 2019-01-13  Aakash Jain  <aakash_jain@apple.com>
1401
1402         [ews-build] Update macOS queue configurations
1403         https://bugs.webkit.org/show_bug.cgi?id=193365
1404         <rdar://problem/47221073>
1405
1406         Unreviewed, renamed mac-high-sierra to mac-highsierra to match with build.webkit.org configuration.
1407
1408         * BuildSlaveSupport/ews-build/config.json:
1409
1410 2019-01-13  Zalan Bujtas  <zalan@apple.com>
1411
1412         [LFC] Adjust assert for statically positioned fixed elements
1413         https://bugs.webkit.org/show_bug.cgi?id=193385
1414
1415         Reviewed by Antti Koivisto.
1416
1417         * LayoutReloaded/misc/LFC-passing-tests.txt:
1418
1419 2019-01-13  Philippe Normand  <pnormand@igalia.com>
1420
1421         [WPE][MiniBrowser] Ephemeral WebContext leaks in automation mode
1422         https://bugs.webkit.org/show_bug.cgi?id=193387
1423
1424         Reviewed by Carlos Garcia Campos.
1425
1426         * MiniBrowser/wpe/main.cpp:
1427         (main):
1428
1429 2019-01-12  Timothy Hatcher  <timothy@apple.com>
1430
1431         Have prefers-color-scheme: light always match on macOS versions before Mojave.
1432         https://bugs.webkit.org/show_bug.cgi?id=191655
1433         rdar://problem/46074680
1434
1435         Reviewed by Megan Gardner.
1436
1437         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.
1438         * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm:
1439
1440 2019-01-12  Dan Bernstein  <mitz@apple.com>
1441
1442         [Cocoa] Avoid importing directly from subumbrella frameworks
1443         https://bugs.webkit.org/show_bug.cgi?id=186016
1444         <rdar://problem/40591038>
1445
1446         Reviewed by Sam Weinig.
1447
1448         * DumpRenderTree/cg/PixelDumpSupportCG.cpp: Include CoreServices.h instead of a
1449           LaunchServices header.
1450         * DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: Removed -iframework options from
1451           OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
1452         * DumpRenderTree/mac/LayoutTestHelper.m: Import ApplicationServices.h instead of ColorSync.h
1453           when using SDKs earlier than 10.13.
1454         * TestWebKitAPI/Configurations/Base.xcconfig: Removed -iframework options from OTHER_CFLAGS
1455           and OTHER_CPLUSPLUSFLAGS.
1456         * WebKitTestRunner/Configurations/BaseTarget.xcconfig: Removed -iframework options from
1457           OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
1458         * WebKitTestRunner/cg/TestInvocationCG.cpp: Include CoreServices.h instead of a
1459           LaunchServices header.
1460
1461 2019-01-11  John Wilander  <wilander@apple.com>
1462
1463         Compile out Web API Statistics Collection
1464         https://bugs.webkit.org/show_bug.cgi?id=193370
1465         <rdar://problem/45388584>
1466
1467         Reviewed by Brent Fulgham.
1468
1469         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1470             Defined ENABLE_WEB_API_STATISTICS, off by default.
1471
1472 2019-01-11  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
1473
1474         [WPE] Add gtk-doc
1475         https://bugs.webkit.org/show_bug.cgi?id=178900
1476
1477         Reviewed by Michael Catanzaro.
1478
1479         Add Tools/gtkdoc to manifest.txt.in files.
1480         This should have been done in r238853 and caused failure in building WebKitGTK+ unstable release 2.23.2.
1481
1482         * gtk/manifest.txt.in: Add Tools/gtkdoc directory.
1483         * wpe/manifest.txt.in: Add Tools/gtkdoc directory and uncomment lines to move documentation artifacts.
1484
1485 2019-01-11  Wenson Hsieh  <wenson_hsieh@apple.com>
1486
1487         [iOS] Precision drop state thrashes when dragging near the top edge of an editable element
1488         https://bugs.webkit.org/show_bug.cgi?id=193364
1489         <rdar://problem/47214117>
1490
1491         Reviewed by Tim Horton.
1492
1493         Add a test to verify that dragging near the top of a textarea element does not flag the drop proposal as
1494         precise, whereas dragging near the middle of the textarea does.
1495
1496         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
1497         (TestWebKitAPI::TEST):
1498
1499 2019-01-11  Jonathan Bedard  <jbedard@apple.com>
1500
1501         webkitpy: Support alternate simctl device list output
1502         https://bugs.webkit.org/show_bug.cgi?id=193362
1503         <rdar://problem/47122965>
1504
1505         Reviewed by Lucas Forschler.
1506
1507         * Scripts/webkitpy/xcode/simulated_device.py:
1508         (SimulatedDeviceManager.populate_available_devices):
1509
1510 2019-01-11  Aakash Jain  <aakash_jain@apple.com>
1511
1512         [ews-build] Update macOS queue configurations
1513         https://bugs.webkit.org/show_bug.cgi?id=193365
1514
1515         Reviewed by Lucas Forschler.
1516
1517         * BuildSlaveSupport/ews-build/config.json:
1518
1519 2019-01-11  Jonathan Bedard  <jbedard@apple.com>
1520
1521         webkitpy: Incorporate device type into baseline search path
1522         https://bugs.webkit.org/show_bug.cgi?id=193356
1523         <rdar://problem/47215515>
1524
1525         Reviewed by Lucas Forschler.
1526
1527         We need a way to include device type in the baseline search path for iOS to support device specific test expectations.
1528
1529         * Scripts/webkitpy/port/base.py:
1530         (Port.default_baseline_search_path): Allow device type to be passed in.
1531         * Scripts/webkitpy/port/gtk.py:
1532         (GtkPort.default_baseline_search_path): Ignore device type.
1533         * Scripts/webkitpy/port/ios.py:
1534         (IOSPort.default_baseline_search_path): Optionally allow device type to be incorporated into the baseline search path.
1535         (IOSPort.test_expectations_file_position): Update index for the additional device-type specific baseline search path.
1536         * Scripts/webkitpy/port/ios_device_unittest.py:
1537         (IOSDeviceTest):
1538         * Scripts/webkitpy/port/ios_simulator_unittest.py:
1539         (IOSSimulatorTest):
1540         * Scripts/webkitpy/port/mac.py:
1541         (MacPort.default_baseline_search_path): Ignore device type.
1542         * Scripts/webkitpy/port/watch.py:
1543         (WatchPort.default_baseline_search_path): Ditto.
1544         * Scripts/webkitpy/port/win.py:
1545         (WinPort.default_baseline_search_path): Ditto.
1546         (WinCairoPort.default_baseline_search_path): Ditto.
1547         * Scripts/webkitpy/port/wpe.py:
1548         (WPEPort.default_baseline_search_path): Ditto.
1549
1550 2019-01-11  Jonathan Bedard  <jbedard@apple.com>
1551
1552         webkitpy: Print abbreviated baseline search path that includes only folders that exist
1553         https://bugs.webkit.org/show_bug.cgi?id=193352
1554         <rdar://problem/47210736>
1555
1556         Reviewed by Lucas Forschler.
1557
1558         * Scripts/webkitpy/layout_tests/views/printing.py:
1559         (Printer.print_config): Print list on only baseline search paths which exist. 
1560         * Scripts/webkitpy/layout_tests/views/printing_unittest.py:
1561         (Testprinter.test_print_config):
1562
1563 2019-01-11  Joseph Pecoraro  <pecoraro@apple.com>
1564
1565         Cleanup possible WK*Copy/Create leaks in WebKitTestRunner
1566         https://bugs.webkit.org/show_bug.cgi?id=193340
1567
1568         Reviewed by David Kilzer.
1569
1570         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1571         (WTR::InjectedBundle::didReceiveMessageToPage):
1572         Pull the strings out into a WKRetainPtr.
1573
1574         * WebKitTestRunner/WebNotificationProvider.cpp:
1575         (WTR::WebNotificationProvider::closeWebNotification):
1576         Adopt the created value into the WKRetainPtr.
1577
1578         * WebKitTestRunner/mac/TestControllerMac.mm:
1579         (WTR::generateWhitelist):
1580         Immediately adopt a created value to avoid potential mistakes.
1581
1582 2019-01-11  Dominik Infuehr  <dinfuehr@igalia.com>
1583
1584         Enable DFG on ARM/Linux again
1585         https://bugs.webkit.org/show_bug.cgi?id=192496
1586
1587         Reviewed by Yusuke Suzuki.
1588
1589         After changing the bytecode format DFG was disabled on all 32-bit
1590         architectures. Enable DFG now again on ARM/Linux. Run again JIT-tests
1591         on ARM by default.
1592
1593         * Scripts/run-jsc-stress-tests:
1594
1595 2019-01-11  Timothy Hatcher  <timothy@apple.com>
1596
1597         Unreviewed, fix #ifdef in API test added in r239851.
1598         https://bugs.webkit.org/show_bug.cgi?id=193327
1599         rdar://problem/47093222
1600
1601         * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle_Bundle.mm:
1602
1603 2019-01-11  Wenson Hsieh  <wenson_hsieh@apple.com>
1604
1605         Introduce IDL files for runtime-enabled UndoManager and UndoItem JavaScript API
1606         https://bugs.webkit.org/show_bug.cgi?id=193109
1607         <rdar://problem/44807048>
1608
1609         Reviewed by Ryosuke Niwa.
1610
1611         Introduce and respect a test option to enable the UndoManager API.
1612
1613         * WebKitTestRunner/TestController.cpp:
1614         (WTR::updateTestOptionsFromTestHeader):
1615         * WebKitTestRunner/TestOptions.h:
1616         (WTR::TestOptions::hasSameInitializationOptions const):
1617         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1618         (WTR::TestController::platformCreateWebView):
1619
1620 2019-01-11  Zalan Bujtas  <zalan@apple.com>
1621
1622         [LFC][BFC][MarginCollapsing] Adjust vertical position when box margin collapses through.
1623         https://bugs.webkit.org/show_bug.cgi?id=193346
1624
1625         Reviewed by Antti Koivisto.
1626
1627         * LayoutReloaded/misc/LFC-passing-tests.txt:
1628
1629 2019-01-10  Ryan Haddad  <ryanhaddad@apple.com>
1630
1631         Unreviewed, fix typo that breaks dashboard link.
1632
1633         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1634         (WebKitBuildbot):
1635
1636 2019-01-10  Ryan Haddad  <ryanhaddad@apple.com>
1637
1638         Update macOS queue configurations
1639         https://bugs.webkit.org/show_bug.cgi?id=193329
1640
1641         Reviewed by Alexey Proskuryakov.
1642
1643         * BuildSlaveSupport/build.webkit.org-config/config.json:
1644         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
1645         (BubbleQueueServer):
1646         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
1647         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1648         (WebKitBuildbot):
1649         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
1650         (table.queue-grid tr.platform.macos-sierra img.logo): Deleted.
1651         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1652
1653 2019-01-10  Joseph Pecoraro  <pecoraro@apple.com>
1654
1655         MiniBrowser should be able to navigate to about:blank
1656         https://bugs.webkit.org/show_bug.cgi?id=193345
1657
1658         Reviewed by Simon Fraser.
1659
1660         * MiniBrowser/mac/BrowserWindowController.m:
1661         (-[BrowserWindowController addProtocolIfNecessary:]):
1662         Don't prepend "http://" to "about:" prefixed URLs like "about:blank".
1663
1664         * MiniBrowser/mac/WK1BrowserWindowController.m:
1665         (-[WK1BrowserWindowController fetch:]):
1666         * MiniBrowser/mac/WK2BrowserWindowController.m:
1667         (-[WK2BrowserWindowController fetch:]):
1668         Clean up the code that uses this to match style.
1669
1670 2019-01-10  Joseph Pecoraro  <pecoraro@apple.com>
1671
1672         Remove MiniBrowser custom "Process Swap" menu item which does not work
1673         https://bugs.webkit.org/show_bug.cgi?id=193344
1674
1675         Reviewed by Simon Fraser.
1676
1677         There is a menu item under the Experimental menu that does work.
1678
1679         * MiniBrowser/mac/AppDelegate.m:
1680         (defaultConfiguration):
1681         * MiniBrowser/mac/SettingsController.h:
1682         * MiniBrowser/mac/SettingsController.m:
1683         (-[SettingsController _populateMenu]):
1684         (-[SettingsController validateMenuItem:]):
1685         (-[SettingsController processSwapOnNavigationEnabled]): Deleted.
1686         (-[SettingsController toggleProcessSwapOnNavigation:]): Deleted.
1687
1688 2019-01-10  Timothy Hatcher  <timothy@apple.com>
1689
1690         Add WKBundlePage SPI to temporarily force light or dark appearance on a page.
1691         https://bugs.webkit.org/show_bug.cgi?id=193327
1692         rdar://problem/47093222
1693
1694         Reviewed by Tim Horton.
1695
1696         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1697         * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm: Added.
1698         (TestWebKitAPI::didFinishNavigation):
1699         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
1700         (TestWebKitAPI::TEST):
1701         * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle_Bundle.mm: Added.
1702         (TestWebKitAPI::ForceLightAppearanceInBundleTest::ForceLightAppearanceInBundleTest):
1703         (TestWebKitAPI::ForceLightAppearanceInBundleTest::didCreatePage):
1704         (TestWebKitAPI::ForceLightAppearanceInBundleTest::didReceiveMessage):
1705         * TestWebKitAPI/Tests/WebKit/mac/dark-mode.html: Added.
1706
1707 2019-01-10  Joseph Pecoraro  <pecoraro@apple.com>
1708
1709         Leak of WKWebProcessPlugInHitTestResult (160 bytes) in com.apple.WebKit.WebContent running layout tests
1710         https://bugs.webkit.org/show_bug.cgi?id=193338
1711         <rdar://problem/46664774>
1712
1713         Reviewed by David Kilzer.
1714
1715         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1716         (WTR::InjectedBundlePage::decidePolicyForNavigationAction):
1717
1718 2019-01-10  Commit Queue  <commit-queue@webkit.org>
1719
1720         Unreviewed, rolling out r239825.
1721         https://bugs.webkit.org/show_bug.cgi?id=193330
1722
1723         Broke tests on armv7/linux bots (Requested by guijemont on
1724         #webkit).
1725
1726         Reverted changeset:
1727
1728         "Enable DFG on ARM/Linux again"
1729         https://bugs.webkit.org/show_bug.cgi?id=192496
1730         https://trac.webkit.org/changeset/239825
1731
1732 2019-01-10  Zhifei Fang  <zhifei_fang@apple.com>
1733
1734         Disable the run-jsc-stress-test remote host key check.
1735         https://bugs.webkit.org/show_bug.cgi?id=192988
1736
1737         Reviewed by Alexey Proskuryakov.
1738
1739         * Scripts/run-jsc-stress-tests:
1740
1741 2019-01-10  John Wilander  <wilander@apple.com>
1742
1743         Override the session configuration for cookieAcceptPolicy
1744         https://bugs.webkit.org/show_bug.cgi?id=190925
1745         <rdar://problem/45497382>
1746
1747         Reviewed by Alexey Proskuryakov and Alex Christensen.
1748
1749         Test infrastructure for setting a first-party-only cookie policy.
1750
1751         * DumpRenderTree/TestRunner.cpp:
1752         (setOnlyAcceptFirstPartyCookiesCallback):
1753         (TestRunner::staticFunctions):
1754         * DumpRenderTree/TestRunner.h:
1755         * DumpRenderTree/mac/TestRunnerMac.mm:
1756         (TestRunner::setOnlyAcceptFirstPartyCookies):
1757         * DumpRenderTree/win/TestRunnerWin.cpp:
1758         (TestRunner::setOnlyAcceptFirstPartyCookies):
1759         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1760         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1761         (WTR::TestRunner::setOnlyAcceptFirstPartyCookies):
1762         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1763         * WebKitTestRunner/TestInvocation.cpp:
1764         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1765
1766 2019-01-09  Matt Rajca  <mrajca@apple.com>
1767
1768         Put per-document autoplay behavior behind runtime website policies quirk instead of a compile time flag
1769         https://bugs.webkit.org/show_bug.cgi?id=193301
1770
1771         Reviewed by Jer Noble.
1772         
1773         Added API tests.
1774
1775         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1776         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1777         (TEST):
1778         * TestWebKitAPI/Tests/WebKitCocoa/autoplaying-multiple-media-elements.html: Added.
1779
1780 2019-01-10  Zalan Bujtas  <zalan@apple.com>
1781
1782         [LFC][BFC][MarginCollapsing] Take collapsed through siblings into account when computing vertical position
1783         https://bugs.webkit.org/show_bug.cgi?id=193310
1784
1785         Reviewed by Antti Koivisto.
1786
1787         * LayoutReloaded/misc/LFC-passing-tests.txt:
1788
1789 2019-01-10  Dominik Infuehr  <dinfuehr@igalia.com>
1790
1791         Enable DFG on ARM/Linux again
1792         https://bugs.webkit.org/show_bug.cgi?id=192496
1793
1794         Reviewed by Yusuke Suzuki.
1795
1796         After changing the bytecode format DFG was disabled on all 32-bit
1797         architectures. Enable DFG now again on ARM/Linux. Run again JIT-tests
1798         on ARM by default.
1799
1800         * Scripts/run-jsc-stress-tests:
1801
1802 2019-01-09  Fujii Hironori  <Hironori.Fujii@sony.com>
1803
1804         [Win][MiniBrowser] wchar_t strings shouldn't be treated as BSTR
1805         https://bugs.webkit.org/show_bug.cgi?id=193271
1806
1807         Reviewed by Brent Fulgham.
1808
1809         BSTR is a special data structure created by SysAllocString, not a
1810         wchar_t null-terminated string.
1811
1812         * DumpRenderTree/win/TestRunnerWin.cpp:
1813         (TestRunner::setDatabaseQuota): Use L"" instead of "" for _bstr_t.
1814         * MiniBrowser/win/MiniBrowserWebHost.cpp:
1815         (MiniBrowserWebHost::didFinishLoadForFrame): Use _bstr_t to create
1816         BSTR from wide string literals.
1817
1818 2019-01-09  Alexey Proskuryakov  <ap@apple.com>
1819
1820         Tweak wording for build/version_check style checker error
1821         https://bugs.webkit.org/show_bug.cgi?id=193256
1822
1823         Reviewed by Tim Horton.
1824
1825         * Scripts/webkitpy/style/checkers/cpp.py:
1826         (check_os_version_checks):
1827         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1828         (WebKitStyleTest.test_os_version_checks):
1829
1830 2019-01-09  Aakash Jain  <aakash_jain@apple.com>
1831
1832         [ews-build] Add link to bug along with bug title
1833         https://bugs.webkit.org/show_bug.cgi?id=193293
1834
1835         Reviewed by Lucas Forschler.
1836
1837         * BuildSlaveSupport/ews-build/steps.py:
1838         (ValidatePatch._is_bug_closed): Fetch bug title from Bugzilla and add it to the build.
1839         (ConfigureBuild.add_bug_id_url): Deleted.
1840         (ConfigureBuild.getBugURL): Deleted.
1841
1842 2019-01-09  Aakash Jain  <aakash_jain@apple.com>
1843
1844         [ews-build] Use https for ews-build server
1845         https://bugs.webkit.org/show_bug.cgi?id=193193
1846
1847         Reviewed by Lucas Forschler.
1848
1849         * BuildSlaveSupport/ews-build/steps.py:
1850
1851 2019-01-09  Aakash Jain  <aakash_jain@apple.com>
1852
1853         [ews-build] Parse and display number of style failures
1854         https://bugs.webkit.org/show_bug.cgi?id=193280
1855
1856         Reviewed by Lucas Forschler.
1857
1858         * BuildSlaveSupport/ews-build/steps.py:
1859         (CheckStyle): Use TestWithFailureCount as base class.
1860         (CheckStyle.countFailures): Count the number of style failures.
1861
1862 2019-01-09  Aakash Jain  <aakash_jain@apple.com>
1863
1864         [ews-build] use patch_id instead of ewspatchid
1865         https://bugs.webkit.org/show_bug.cgi?id=193235
1866
1867         Reviewed by Lucas Forschler.
1868
1869         * BuildSlaveSupport/ews-build/factories.py: Replaced ewspatchid with patch_id.
1870         * BuildSlaveSupport/ews-build/steps.py: Ditto.
1871         * BuildSlaveSupport/ews-build/steps_unittest.py: Ditto.
1872
1873 2019-01-09  Zalan Bujtas  <zalan@apple.com>
1874
1875         [LFC][BFC][MarginCollapsing] Add support for peculiar cases.
1876         https://bugs.webkit.org/show_bug.cgi?id=192625
1877
1878         Reviewed by Antti Koivisto.
1879
1880         * LayoutReloaded/misc/LFC-passing-tests.txt:
1881
1882 2019-01-09  Michael Catanzaro  <mcatanzaro@igalia.com>
1883
1884         [WPE][GTK] Purge use of g_assert() under TestWebKitAPI
1885         https://bugs.webkit.org/show_bug.cgi?id=192841
1886
1887         Reviewed by Carlos Garcia Campos.
1888
1889         There are separate g_assert_*() macros for use in tests, which we use inconsistently
1890         currently. Use them always. We'll get nicer error messages now when tests fail, and the
1891         assertions will now run during tests even if G_DISABLE_ASSERT is used when building.
1892
1893         Note that the documentation of g_assert() says that it is not to be used when writing tests.
1894
1895         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
1896         * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp:
1897         (WebKitWebEditorTest::testSelectionChanged):
1898         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
1899         (WebKitFrameTest::testMainFrame):
1900         (WebKitFrameTest::testURI):
1901         (WebKitFrameTest::testJavaScriptContext):
1902         (WebKitFrameTest::testJavaScriptValues):
1903         * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
1904         (testWebViewAuthenticationRequest):
1905         (testWebViewAuthenticationLoadCancelled):
1906         (testWebViewAuthenticationFailure):
1907         (testWebViewAuthenticationStorage):
1908         (ProxyAuthenticationTest::ProxyAuthenticationTest):
1909         (testWebViewAuthenticationProxy):
1910         (testWebViewAuthenticationProxyHTTPS):
1911         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
1912         (testAutomationSessionRequestSession):
1913         * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
1914         (testBackForwardListNavigation):
1915         (testWebKitWebViewSessionState):
1916         (testWebKitWebViewSessionStateWithFormData):
1917         * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
1918         (ConsoleMessageTest::consoleMessageReceivedCallback):
1919         (testWebKitConsoleMessageConsoleAPI):
1920         (testWebKitConsoleMessageJavaScriptException):
1921         (testWebKitConsoleMessageNetworkError):
1922         (testWebKitConsoleMessageSecurityError):
1923         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
1924         (testCookieManagerAcceptPolicy):
1925         (testCookieManagerCookiesChanged):
1926         (testCookieManagerPersistentStorage):
1927         (testCookieManagerPersistentStorageDeleteAll):
1928         (testCookieManagerEphemeral):
1929         * TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp:
1930         (testWebKitDOMElementAutoFill):
1931         * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
1932         (downloadLocalFileSuccessfully):
1933         (createFileAtDestination):
1934         (testDownloadOverwriteDestinationDisallowed):
1935         (testDownloadLocalFileError):
1936         (testDownloadRemoteFile):
1937         (testDownloadRemoteFileError):
1938         (testWebViewDownloadURI):
1939         (testPolicyResponseDownload):
1940         (testPolicyResponseDownloadCancel):
1941         (testDownloadMIMEType):
1942         (contextMenuCallback):
1943         (testContextMenuDownloadActions):
1944         (testBlobDownload):
1945         * TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp:
1946         (testWebKitWebEditorSelectionChanged):
1947         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
1948         (testWebKitFrameMainFrame):
1949         (testWebKitFrameURI):
1950         (testWebKitFrameJavaScriptContext):
1951         (testWebKitFrameJavaScriptValues):
1952         * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
1953         (LoadStopTrackingTest::loadFailed):
1954         (testWebViewTitle):
1955         (testURIRequestHTTPHeaders):
1956         (testURIRequestHTTPMethod):
1957         (testURIResponseHTTPHeaders):
1958         (testRedirectToDataURI):
1959         * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
1960         (testProcessPerWebView):
1961         (testWebProcessLimit):
1962         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
1963         (testWebViewResources):
1964         (testWebResourceLoading):
1965         (testWebResourceSuggestedFilename):
1966         (testWebResourceGetData):
1967         (testWebResourceGetDataError):
1968         (testWebViewResourcesHistoryCache):
1969         (testWebResourceSendRequest):
1970         * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
1971         (testSSL):
1972         (testInsecureContent):
1973         (testTLSErrorsPolicy):
1974         (testTLSErrorsRedirect):
1975         (testTLSErrorsHTTPAuth):
1976         (testLoadFailedWithTLSErrors):
1977         (testSubresourceLoadFailedWithTLSErrors):
1978         (httpsServerCallback):
1979         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
1980         (testWebViewCreateNavigationData):
1981         (testWebViewJavaScriptDialogs):
1982         (testWebViewWindowProperties):
1983         (testWebViewMouseTarget):
1984         (testWebViewFileChooserRequest):
1985         (testWebViewColorChooserRequest):
1986         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
1987         (testWebExtensionGetTitle):
1988         (testDocumentLoadedSignal):
1989         (testWebKitWebViewProcessCrashed):
1990         (testWebExtensionWindowObjectCleared):
1991         (testWebExtensionIsolatedWorld):
1992         (permissionRequestCallback):
1993         (didAssociateFormControlsCallback):
1994         (testWebExtensionFormControlsAssociated):
1995         (FormSubmissionTest::FormSubmissionTest):
1996         (FormSubmissionTest::testFormSubmissionResult):
1997         (testWebExtensionFormSubmissionSteps):
1998         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
1999         (testNotInitialized):
2000         (testClearDatabase):
2001         (testPrivateBrowsing):
2002         (testGetFavicon):
2003         (testWebViewFavicon):
2004         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
2005         (testFindControllerTextFound):
2006         (testFindControllerTextNotFound):
2007         (testFindControllerMatchCount):
2008         (testFindControllerMaxMatchCount):
2009         (testFindControllerNext):
2010         (testFindControllerPrevious):
2011         (testFindControllerCountedMatches):
2012         (testFindControllerOptions):
2013         (testFindControllerHide):
2014         (testFindControllerInstance):
2015         (testFindControllerGetters):
2016         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
2017         (testNavigationPolicy):
2018         (testResponsePolicy):
2019         (testNewWindowPolicy):
2020         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp:
2021         (testSecurityOriginBasicConstructor):
2022         (testSecurityOriginURIConstructor):
2023         (testSecurityOriginDefaultPort):
2024         (testSecurityOriginFileURI):
2025         (testOpaqueSecurityOrigin):
2026         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
2027         (testWebKitSettings):
2028         (testWebKitSettingsNewWithSettings):
2029         (testWebKitSettingsUserAgent):
2030         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
2031         (testWebViewNewWithUserContentManager):
2032         (isStyleSheetInjectedForURLAtPath):
2033         (isScriptInjectedForURLAtPath):
2034         (testUserContentManagerInjectedStyleSheet):
2035         (testUserContentManagerInjectedScript):
2036         (UserScriptMessageTest::scriptMessageReceived):
2037         (UserScriptMessageTest::waitUntilMessageReceived):
2038         (UserScriptMessageTest::runJavaScriptFinished):
2039         (testUserContentManagerScriptMessageReceived):
2040         (testUserContentManagerScriptMessageInWorldReceived):
2041         (testUserContentManagerScriptMessageFromDOMBindings):
2042         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
2043         (testWebContextDefault):
2044         (testWebContextEphemeral):
2045         (testWebContextGetPlugins):
2046         (testWebContextURIScheme):
2047         (testWebContextSpellChecker):
2048         (testWebContextLanguages):
2049         (consoleMessageReceivedCallback):
2050         (testWebContextSecurityFileXHR):
2051         (ProxyTest::ProxyTest):
2052         (testWebContextProxySettings):
2053         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
2054         (testWebViewWebContext):
2055         (testWebViewWebBackend):
2056         (testWebViewEphemeral):
2057         (testWebViewCustomCharset):
2058         (testWebViewSettings):
2059         (testWebViewRunJavaScript):
2060         (testWebViewCanShowMIMEType):
2061         (testWebViewSubmitForm):
2062         (testWebViewSave):
2063         (testWebViewPageVisibility):
2064         (testWebViewSnapshot):
2065         (testWebViewNotification):
2066         (testWebViewNotificationInitialPermissionAllowed):
2067         (testWebViewNotificationInitialPermissionDisallowed):
2068         (testWebViewIsPlayingAudio):
2069         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
2070         (WebsiteDataTest::WebsiteDataTest):
2071         (WebsiteDataTest::remove):
2072         (WebsiteDataTest::clear):
2073         (testWebsiteDataConfiguration):
2074         (testWebsiteDataEphemeral):
2075         (testWebsiteDataCache):
2076         (testWebsiteDataStorage):
2077         (testWebsiteDataDatabases):
2078         (testWebsiteDataAppcache):
2079         (testWebsiteDataCookies):
2080         (testWebsiteDataDeviceIdHashSalt):
2081         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
2082         (emitDocumentLoaded):
2083         (emitURIChanged):
2084         (sendRequestCallback):
2085         (contextMenuCallback):
2086         (consoleMessageSentCallback):
2087         (emitFormControlsAssociated):
2088         (formControlsAssociatedCallback):
2089         (emitFormSubmissionEvent):
2090         (willSubmitFormCallback):
2091         (windowObjectCleared):
2092         (methodCallCallback):
2093         (registerGResource):
2094         (webkit_web_extension_initialize_with_user_data):
2095         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
2096         (checkLeaks):
2097         (WebProcessTest::create):
2098         (runTest):
2099         * TestWebKitAPI/Tests/WebKitGtk/AutocleanupsTest.cpp:
2100         (AutocleanupsTest::testWebProcessAutocleanups):
2101         * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
2102         (WebKitDOMClientRectTest::testDivBoundingClientRectPosition):
2103         (WebKitDOMClientRectTest::testDivClientRectsPositionAndLength):
2104         * TestWebKitAPI/Tests/WebKitGtk/DOMDOMWindowTest.cpp:
2105         (WebKitDOMDOMWindowTest::testSignals):
2106         (WebKitDOMDOMWindowTest::testDispatchEvent):
2107         (WebKitDOMDOMWindowTest::testGetComputedStyle):
2108         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeFilterTest.cpp:
2109         (WebKitDOMNodeFilterTest::testTreeWalker):
2110         (WebKitDOMNodeFilterTest::testNodeIterator):
2111         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeTest.cpp:
2112         (WebKitDOMNodeTest::testHierarchyNavigation):
2113         (WebKitDOMNodeTest::testInsertion):
2114         (WebKitDOMNodeTest::testTagNamesNodeList):
2115         (WebKitDOMNodeTest::testTagNamesHTMLCollection):
2116         (WebKitDOMNodeTest::testDOMCache):
2117         * TestWebKitAPI/Tests/WebKitGtk/DOMXPathNSResolverTest.cpp:
2118         (WebKitDOMXPathNSResolverTest::evaluateFooChildTextAndCheckResult):
2119         (WebKitDOMXPathNSResolverTest::testXPathNSResolverNative):
2120         (WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom):
2121         * TestWebKitAPI/Tests/WebKitGtk/TestAutocleanups.cpp:
2122         (testUIProcessAutocleanups):
2123         (testWebProcessAutocleanups):
2124         * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
2125         (testContextMenuPopulateMenu):
2126         (testContextMenuDismissed):
2127         * TestWebKitAPI/Tests/WebKitGtk/TestDOMClientRect.cpp:
2128         (testWebKitDOMClientRectDivBoundingClientRectPosition):
2129         (testWebKitDOMClientRectDivClientRectsPositionAndLength):
2130         * TestWebKitAPI/Tests/WebKitGtk/TestDOMDOMWindow.cpp:
2131         (testWebKitDOMDOMWindowSignals):
2132         (testWebKitDOMDOMWindowDispatchEvent):
2133         (testWebKitDOMDOMWindowGetComputedStyle):
2134         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNode.cpp:
2135         (testWebKitDOMNodeHierarchyNavigation):
2136         (testWebKitDOMNodeInsertion):
2137         (testWebKitDOMNodeTagNamesNodeList):
2138         (testWebKitDOMNodeTagNamesHTMLCollection):
2139         (testWebKitDOMObjectCache):
2140         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNodeFilter.cpp:
2141         (testWebKitDOMNodeFilterTreeWalker):
2142         (testWebKitDOMNodeFilterNodeIterator):
2143         * TestWebKitAPI/Tests/WebKitGtk/TestDOMXPathNSResolver.cpp:
2144         (testWebKitDOMXPathNSResolverNative):
2145         (testWebKitDOMXPathNSResolverCustom):
2146         * TestWebKitAPI/Tests/WebKitGtk/TestInspector.cpp:
2147         (testInspectorDefault):
2148         (testInspectorManualAttachDetach):
2149         (testInspectorCustomContainerDestroyed):
2150         * TestWebKitAPI/Tests/WebKitGtk/TestInspectorServer.cpp:
2151         (startTestServer):
2152         (testInspectorServerPageList):
2153         * TestWebKitAPI/Tests/WebKitGtk/TestOptionMenu.cpp:
2154         (OptionMenuTest::showOptionMenuCallback):
2155         (OptionMenuTest::menuCloseCallback):
2156         (OptionMenuTest::close):
2157         (OptionMenuTest::activateItem):
2158         (OptionMenuTest::selectItem):
2159         (testOptionMenuSimple):
2160         (testOptionMenuGroups):
2161         (testOptionMenuActivate):
2162         (testOptionMenuSelect):
2163         * TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp:
2164         (testPrintOperationPrintSettings):
2165         (webViewPrintCallback):
2166         (testPrintOperationPrint):
2167         (testPrintCustomWidget):
2168         * TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
2169         (checkAtspiAccessible):
2170         (testAtspiBasicHierarchy):
2171         * TestWebKitAPI/Tests/WebKitGtk/TestWebKitVersion.cpp:
2172         (testWebKitCheckVersion):
2173         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
2174         (testWebViewEditorCutCopyPasteNonEditable):
2175         (testWebViewEditorCutCopyPasteEditable):
2176         (testWebViewEditorSelectAllNonEditable):
2177         (testWebViewEditorSelectAllEditable):
2178         (loadContentsAndTryToCutSelection):
2179         (testWebViewEditorNonEditable):
2180         (testWebViewEditorEditable):
2181         (testWebViewEditorEditorStateTypingAttributes):
2182         (testWebViewEditorInsertImage):
2183         (testWebViewEditorCreateLink):
2184         * TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp:
2185         (loadChangedCallback):
2186         (loadFailedCallback):
2187         (loadFailedWithTLSErrorsCallback):
2188         (LoadTrackingTest::LoadTrackingTest):
2189         * TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
2190         (registerGResource):
2191         (removeNonEmptyDirectory):
2192         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
2193         (Test::adoptView):
2194         (Test::~Test):
2195         * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp:
2196         (WebKitTestBus::getOrCreateConnection):
2197         (WebKitTestBus::createProxy):
2198         * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
2199         (WebKitTestServer::getWebSocketURIForPath const):
2200         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
2201         (WebViewTest::initializeWebView):
2202         (WebViewTest::loadURI):
2203         (WebViewTest::loadHtml):
2204         (WebViewTest::loadPlainText):
2205         (WebViewTest::loadBytes):
2206         (WebViewTest::loadRequest):
2207         (WebViewTest::loadAlternateHTML):
2208         (WebViewTest::goBack):
2209         (WebViewTest::goForward):
2210         (WebViewTest::goToBackForwardListItem):
2211         (resourceGetDataCallback):
2212         (WebViewTest::mainResourceData):
2213         (WebViewTest::javascriptResultToCString):
2214         (WebViewTest::javascriptResultToNumber):
2215         (WebViewTest::javascriptResultToBoolean):
2216         (WebViewTest::javascriptResultIsNull):
2217         (WebViewTest::javascriptResultIsUndefined):
2218         (onSnapshotReady):
2219         (WebViewTest::runWebProcessTest):
2220         * TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
2221         (WebViewTest::platformInitializeWebView):
2222         (WebViewTest::showInWindow):
2223         (WebViewTest::showInWindowAndWaitUntilMapped):
2224         (WebViewTest::mouseMoveTo):
2225         (WebViewTest::emitPopupMenuSignal):
2226         (WebViewTest::keyStroke):
2227         (WebViewTest::doMouseButtonEvent):
2228
2229 2019-01-09  Philippe Normand  <pnormand@igalia.com>
2230
2231         [WPE] API tests can't run in flatpak environment
2232         https://bugs.webkit.org/show_bug.cgi?id=193242
2233
2234         Reviewed by Michael Catanzaro.
2235
2236         * Scripts/run-wpe-tests: Add --wpe to arguments passed to
2237         flatpakutils so that it knows which port it's dealing with.
2238         * glib/common.py: Remove build_dir globals so that subsequent
2239         calls actually take args into account.
2240         (library_build_path):
2241         (binary_build_path):
2242
2243 2019-01-08  Dean Jackson  <dino@apple.com>
2244
2245         Blob references for System Previews don't get a correct file extension
2246         https://bugs.webkit.org/show_bug.cgi?id=193268
2247         <rdar://problem/47133037>
2248
2249         Reviewed by Tim Horton.
2250
2251         New test that a Blob download of a USDZ file gets named correctly.
2252
2253         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2254         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
2255         (-[BlobWithUSDZExtensionDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
2256         (-[BlobWithUSDZExtensionDownloadDelegate _downloadDidFinish:]):
2257         (TEST):
2258         * TestWebKitAPI/Tests/WebKitCocoa/SystemPreviewBlobNaming.html: Added.
2259
2260 2019-01-08  Jiewen Tan  <jiewen_tan@apple.com>
2261
2262         [WebAuthN] Support U2F HID Authenticators on macOS
2263         https://bugs.webkit.org/show_bug.cgi?id=191535
2264         <rdar://problem/47102027>
2265
2266         Reviewed by Brent Fulgham.
2267
2268         This patch:
2269         1) adds support for U2F mocking mechanism;
2270         2) updates tests to reflect U2fCommandConstructor changes.
2271
2272         * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
2273         (TestWebKitAPI::TEST):
2274         * TestWebKitAPI/Tests/WebCore/FidoTestData.h:
2275         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2276         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
2277
2278 2019-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
2279
2280         [iOS] Dispatch a synthetic mousedown event prior to starting drags
2281         https://bugs.webkit.org/show_bug.cgi?id=193229
2282         <rdar://problem/46717097>
2283
2284         Reviewed by Tim Horton.
2285
2286         Add a cross-platform drag and drop test to verify that calling `preventDefault()` on the mousedown event
2287         prevents a drag from starting.
2288
2289         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
2290         * TestWebKitAPI/Tests/WebKitCocoa/link-and-target-div.html:
2291
2292         Tweak this test to make it robust when dragging the link to the target element multiple times in a single test.
2293
2294 2019-01-08  Zhifei Fang  <zhifei_fang@apple.com>
2295   
2296         Layout test will generate a perf metric file to results dir.
2297         https://bugs.webkit.org/show_bug.cgi?id=192030
2298         <rdar://problem/32779516>
2299
2300         Reviewed by Aakash Jain.
2301
2302         Layout test running time will be collected to a perf metric file.
2303         For now, instead of outputing running time of all tests (which is huge),
2304         we aggregate them by test directories which are at most two level deep. 
2305
2306         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2307         (Manager._end_test_run):
2308         (Manager._output_perf_metrics):
2309         (Manager._print_expectation_line_for_test):
2310         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
2311         (add_test_perf_metric):
2312         (test_perf_metrics):
2313         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
2314         (JSONGeneratorTest.test_test_timings_trie):
2315         (JSONGeneratorTest):
2316         (JSONGeneratorTest.test_test_perf_metrics):
2317         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
2318         (RebaselineTest.test_reset_results):
2319         (RebaselineTest.test_missing_results):
2320         (RebaselineTest.test_new_baseline):
2321
2322 2019-01-08  Patrick Griffis  <pgriffis@igalia.com>
2323
2324         [WPE][GTK] Add php-json to install-dependencies
2325         https://bugs.webkit.org/show_bug.cgi?id=193233
2326
2327         Reviewed by Michael Catanzaro.
2328
2329         * gtk/install-dependencies:
2330         * wpe/install-dependencies:
2331
2332 2019-01-08  Chris Dumez  <cdumez@apple.com>
2333
2334         Regression(PSON-r239182): Blank view when navigating back and forth between google.com and stack overflow
2335         https://bugs.webkit.org/show_bug.cgi?id=193224
2336         <rdar://problem/47097726>
2337
2338         Reviewed by Alex Christensen.
2339
2340         Add API test coverage.
2341
2342         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2343
2344 2019-01-07  David Kilzer  <ddkilzer@apple.com>
2345
2346         Leak of ScrollCompletionCallbackData (16 bytes) in com.apple.WebKit.WebContent running WebKit layout tests
2347         <https://webkit.org/b/193222>
2348         <rdar://problem/46862309>
2349
2350         Reviewed by Joseph Pecoraro.
2351
2352         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
2353         (WTR::executeCallback): Fix camel case of variable name.
2354         (WTR::EventSendingController::callAfterScrollingCompletes): If
2355         WKBundlePageRegisterScrollOperationCompletionCallback() returns
2356         false, make sure to release the ScrollCompletionCallbackData
2357         object.  This fixes the leak.
2358
2359 2019-01-07  Fujii Hironori  <Hironori.Fujii@sony.com>
2360
2361         [Win] EWS: wincairo-ews cannot apply a patch with *.png
2362         https://bugs.webkit.org/show_bug.cgi?id=193044
2363
2364         Reviewed by Daniel Bates.
2365
2366         WinCairo EWS bots are using Windows Perl. Binary files should be
2367         opened as binary mode.
2368
2369         * Scripts/svn-apply:
2370         (handleGitBinaryChange): Use 'binmode' for binary file handles.
2371
2372 2019-01-07  Don Olmstead  <don.olmstead@sony.com>
2373
2374         [CMake] Add ENABLE_CSS_TYPED_OM option
2375         https://bugs.webkit.org/show_bug.cgi?id=193216
2376
2377         Reviewed by Michael Catanzaro.
2378
2379         * Scripts/webkitperl/FeatureList.pm:
2380
2381 2019-01-07  David Kilzer  <ddkilzer@apple.com>
2382
2383         Prefer RetainPtr<NSObject> to RetainPtr<NSObject *>
2384         <https://webkit.org/b/193056>
2385
2386         Reviewed by Alex Christensen.
2387
2388         * Scripts/webkitpy/style/checker.py:
2389         - Ignore use of new runtime/retainptr check in
2390           Tools/TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm since it
2391           contains tests to ensure RetainPtr<NSObject *> is compatible
2392           with RetainPtr<NSObject>.
2393
2394         * Scripts/webkitpy/style/checkers/cpp.py:
2395         (check_language):
2396         (CppChecker):
2397         - Add checker for use of '*' in RetainPtr<> type.  A for loop
2398           was used instead of a single regex so that angle brackets
2399           could be matched up when checking the type contained within
2400           the RetainPtr<> type.
2401
2402         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
2403         (CppStyleTest):
2404         - Add unit test for new runtime/retainptr check.
2405
2406         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.h:
2407         * TestWebKitAPI/EditingTestHarness.h:
2408         - Remove '*' from RetainPtr<> type.
2409
2410         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2411         - Add cf/RetainPtr.cpp back to TestWTFLibrary target!  This
2412           regressed in r201938.
2413
2414         * TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp:
2415         (TestWebKitAPI::TEST):
2416         - Update tests to match RetainPtr.mm tests (except for the
2417           `*SimilarNSType` tests since there is no CF equivalent of
2418           RetainPtr<NSString> and RetainPtr<NSString *>).
2419
2420         * TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:
2421         (TestWebKitAPI::TEST):
2422         - Update tests to:
2423           - Not conflict by name with equivalent CF tests in
2424             RetainPtr.cpp.
2425           - Add test cases for RetainPtr<NSObject>,
2426             RetainPtr<NSObject *> and RetainPtr<id> were appropriate.
2427           - Add `*SimilarNSType` tests for converting between
2428             RetainPtr<NSObject> and RetainPtr<NSObject *>.
2429           - Change `0` to `nil` as appropriate.
2430           - Re-alphabetize the tests by name.
2431           - Add Optional<RetainPtr<>> tests.
2432           - Add retainPtr() tests.
2433
2434         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
2435         (-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]):
2436         * TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm:
2437         (TEST):
2438         - Remove '*' from RetainPtr<> type.
2439
2440         * TestWebKitAPI/Tests/WebKitCocoa/JITEnabled.mm:
2441         (TEST(WebKit, JITEnabled)):
2442         - Add missing WTFMove().  Apparently a temporary was being
2443           created before in the argument list due to mismatched
2444           RetainPtr<> types.
2445
2446         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2447         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
2448         (TestWebKitAPI::setUpWebViewForTestingVideoControlsManager):
2449         (TestWebKitAPI::TEST):
2450         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2451         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2452         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
2453         (WTR::resourcesDirectoryURL):
2454         * WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:
2455         (WTR::InjectedBundle::platformInitialize):
2456         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
2457         - Remove '*' from RetainPtr<> type.
2458
2459 2019-01-07  Eric Carlson  <eric.carlson@apple.com>
2460
2461         A MediaTime timescale must never be zero
2462         https://bugs.webkit.org/show_bug.cgi?id=193156
2463         <rdar://problem/32504501>
2464
2465         Reviewed by Jer Noble.
2466
2467         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
2468         (TestWebKitAPI::TEST): Add tests for zero timescale.
2469
2470 2019-01-07  Youenn Fablet  <youenn@apple.com>
2471
2472         API test broken: TestWebKitAPI.WebKit.CustomDataStorePathsVersusCompletionHandlers
2473         https://bugs.webkit.org/show_bug.cgi?id=193175
2474
2475         Reviewed by Chris Dumez.
2476
2477         Updated API test as we bumped the SW schema to version 4.
2478
2479         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2480         * TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-4.sqlite3: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-3.sqlite3.
2481         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
2482         (TEST):
2483
2484 2019-01-06  Fujii Hironori  <Hironori.Fujii@sony.com>
2485
2486         [Win][Clang] Fix compilation warnings of MiniBrowser
2487         https://bugs.webkit.org/show_bug.cgi?id=193029
2488
2489         Reviewed by Ross Kirsling.
2490
2491         * MiniBrowser/win/MiniBrowserWebHost.h: Removed unused m_oldFont
2492         and m_URLBarFont. Reorder member variables to fix -Wreorder
2493         warning.
2494         * MiniBrowser/win/PageLoadTestClient.cpp:
2495         (PageLoadTestClient::PageLoadTestClient): Reorder the member initializer list.
2496         * MiniBrowser/win/PageLoadTestClient.h: Removed 'virtual' of
2497         pageLoadStartedAtTime and pageLoadEndedAtTime. Removed unused
2498         m_currentURLIndex.
2499         * MiniBrowser/win/WebKitBrowserWindow.cpp:
2500         (WebKitBrowserWindow::WebKitBrowserWindow): Initialize
2501         navigationClient with '{ }' to fix the missing field warning.
2502         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
2503         (initDocStruct): Changed the argument type docname to const.
2504
2505 2019-01-06  Jiewen Tan  <jiewen_tan@apple.com>
2506
2507         [WebAuthN] Import U2F command/response converters from Chromium
2508         https://bugs.webkit.org/show_bug.cgi?id=193150
2509         <rdar://problem/47054028>
2510
2511         Reviewed by Brent Fulgham.
2512
2513         Adds API tests.
2514
2515         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2516         * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
2517         (TestWebKitAPI::getTestAttestedCredentialDataBytes):
2518         (TestWebKitAPI::getTestAuthenticatorDataBytes):
2519         (TestWebKitAPI::getTestAttestationObjectBytes):
2520         (TestWebKitAPI::getTestSignResponse):
2521         (TestWebKitAPI::getTestU2fRegisterResponse):
2522         (TestWebKitAPI::TEST):
2523         (TestWebKitAPI::convertToVector): Deleted.
2524         * TestWebKitAPI/Tests/WebCore/FidoTestData.h:
2525         * TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp: Added.
2526         (TestWebKitAPI::constructMakeCredentialRequest):
2527         (TestWebKitAPI::constructGetAssertionRequest):
2528         (TestWebKitAPI::TEST):
2529
2530 2019-01-05  Oriol Brufau  <obrufau@igalia.com>
2531
2532         [GTK] Add python3-setuptools, libunistring-dev, bison and flex dependencies
2533         https://bugs.webkit.org/show_bug.cgi?id=193136
2534
2535         Reviewed by Michael Catanzaro.
2536
2537         * gtk/install-dependencies:
2538         Add python3-setuptools, libunistring-dev, bison and flex to install-dependencies,
2539         they are needed by update-webkitgtk-libs.
2540
2541 2019-01-05  Aakash Jain  <aakash_jain@apple.com>
2542
2543         Unreviewed follow-up fix to r239650
2544         https://bugs.webkit.org/show_bug.cgi?id=193140
2545         <rdar://problem/47063037>
2546
2547         Typecast patch_id to string.
2548
2549         * BuildSlaveSupport/ews-build/steps.py:
2550         (ValidatePatch._is_patch_obsolete):
2551
2552 2019-01-04  Daniel Bates  <dabates@apple.com>
2553
2554         [lldb-webkit]: Add support for pretty-printing raw bitmask types
2555         https://bugs.webkit.org/show_bug.cgi?id=193024
2556
2557         Reviewed by Jer Noble.
2558
2559         Add support infrastructure to pretty-print a raw bitmask type. Included is a pretty-printer
2560         for the bitmask type WebEventFlags as an example.
2561
2562         Exposed a new function lldb_webkit.addSummaryAndSyntheticFormattersForRawBitmaskType()
2563         that can be used to register summary and synthetic child formatters for a bitmask type.
2564         For example, consider the following enum and bitmask typedefs:
2565
2566         typedef enum {
2567             A = 1 << 0,
2568             B = 1 << 1,
2569             C = 1 << 2,
2570         } SpecialFlagValues;
2571         typedef unsigned SpecialFlags;
2572
2573         To teach lldb-webkit how to pretty print SpecialFlags types, add the following code inside
2574         __lldb_init_module():
2575
2576             addSummaryAndSyntheticFormattersForRawBitmaskType(debugger, "SpecialFlags", {
2577                     1 << 0: "A",
2578                     1 << 1: "B",
2579                     1 << 2: "C",
2580             })
2581
2582         * lldb/lldb_webkit.py:
2583         (addSummaryAndSyntheticFormattersForRawBitmaskType):
2584         (addSummaryAndSyntheticFormattersForRawBitmaskType.GeneratedRawBitmaskProvider):
2585         (addSummaryAndSyntheticFormattersForRawBitmaskType.raw_bitmask_summary_provider):
2586         (addSummaryAndSyntheticFormattersForRawBitmaskType.lldb_webkit):
2587         A convenience function to dynamically creaste a synthetic formatter class and summary
2588         string function for the specified bitmask type and enumerator value to name map. This
2589         function register the dynamically created class and function with LLDB.
2590
2591         (__lldb_init_module):
2592         (FlagEnumerationProvider):
2593         (FlagEnumerationProvider._enumerator_value_to_name_map):
2594         (FlagEnumerationProvider._bitmask):
2595         (FlagEnumerationProvider._update):
2596         (FlagEnumerationProvider.has_children):
2597         (FlagEnumerationProvider.num_children):
2598         (FlagEnumerationProvider.get_child_index):
2599         (FlagEnumerationProvider.get_child_at_index):
2600         (FlagEnumerationProvider.update):
2601         Extract out provider logic from WTFOptionSetProvider into a base class that can be shared.
2602
2603         (WTFOptionSetProvider):
2604         (WTFOptionSetProvider._enumerator_value_to_name_map):
2605         (WTFOptionSetProvider._bitmask):
2606         (WTFOptionSetProvider._update):
2607         Write in terms of the base class.
2608
2609         (RawBitmaskProviderBase):
2610         (RawBitmaskProviderBase._enumerator_value_to_name_map):
2611         (RawBitmaskProviderBase._bitmask):
2612         Added. Base synthetic formatter class for a raw bitmask type. Derived classes are expected to
2613         override the class variable ENUMERATOR_VALUE_TO_NAME_MAP with a dictionary of the form:
2614         {
2615             1 << 0: "A",
2616             1 << 1: "B",
2617             1 << 2: "C",
2618         }
2619         It is not necessary to instantiate such a derived class directory. Instead use the convenience
2620         function addSummaryAndSyntheticFormattersForRawBitmaskType.
2621
2622         (WTFOptionSetProvider.has_children): Deleted.
2623         (WTFOptionSetProvider.num_children): Deleted.
2624         (WTFOptionSetProvider.get_child_index): Deleted.
2625         (WTFOptionSetProvider.get_child_at_index): Deleted.
2626         (WTFOptionSetProvider.update): Deleted.
2627
2628 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
2629
2630         [ews-build] Add build step to validate the patch before processing it
2631         https://bugs.webkit.org/show_bug.cgi?id=193140
2632
2633         Reviewed by Lucas Forschler.
2634
2635         * BuildSlaveSupport/ews-build/factories.py:
2636         (Factory.__init__): Added ValidatePatch step.
2637         * BuildSlaveSupport/ews-build/steps.py:
2638         (ValidatePatch):
2639         (ValidatePatch.fetch_data_from_url): Fetch data from a url.
2640         (ValidatePatch.get_patch_json): Get patch json data.
2641         (ValidatePatch.get_bug_json): Get bug json data.
2642         (ValidatePatch.get_bug_id_from_patch): Get bug id from a patch id.
2643         (ValidatePatch._is_patch_obsolete): Check if the patch is obsolete.
2644         (ValidatePatch._is_patch_review_denied): Check if the patch is marked r-.
2645         (ValidatePatch._is_bug_closed): Check if the bug is already closed.
2646         (ValidatePatch.skip_build): Skip the build.
2647         (ValidatePatch.start):
2648
2649 2019-01-04  Alex Christensen  <achristensen@webkit.org>
2650
2651         Progress towards fixing Mac CMake build
2652         https://bugs.webkit.org/show_bug.cgi?id=193105
2653
2654         Reviewed by Don Olmstead.
2655
2656         * TestWebKitAPI/PlatformMac.cmake:
2657
2658 2019-01-04  Alex Christensen  <achristensen@webkit.org>
2659
2660         Fix API test after r239631
2661         https://bugs.webkit.org/show_bug.cgi?id=193118
2662
2663         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
2664         (TestWebKitAPI::TEST):
2665         This test relied on m_maximumProcessCount being set to 1 in ProcessPoolConfiguration::createWithLegacyOptions.
2666         Do the same thing via the API to fix the test.
2667
2668 2019-01-04  Jer Noble  <jer.noble@apple.com>
2669
2670         [WebKitLegacy] Media playback pauses on scroll
2671         https://bugs.webkit.org/show_bug.cgi?id=192829
2672
2673         Reviewed by Eric Carlson.
2674
2675         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2676         * TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm: Added.
2677         (TestWebKitAPI::TEST):
2678         * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm: Added.
2679         (-[ScrollingDoesNotPauseMediaDelegate webViewDidFinishLoad:]):
2680         (-[ScrollingDoesNotPauseMediaDelegate uiWebView:didCommitLoadForFrame:]):
2681         (-[ScrollingDoesNotPauseMediaDelegate handleEvent:]):
2682         (TestWebKitAPI::TEST):
2683
2684 2019-01-04  Chris Dumez  <cdumez@apple.com>
2685
2686         Add support for toggling device orientation API support per site
2687         https://bugs.webkit.org/show_bug.cgi?id=193143
2688         <rdar://problem/46605724>
2689
2690         Reviewed by Alex Christensen.
2691
2692         Add API test coverage.
2693
2694         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2695         (-[DataMappingSchemeHandler setTaskHandler:]):
2696         (-[DataMappingSchemeHandler webView:startURLSchemeTask:]):
2697         (-[WebsitePoliciesDeviceOrientationDelegate initWithDeviceOrientationEventEnabled:]):
2698         (-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
2699         (-[WebsitePoliciesDeviceOrientationDelegate webView:didFinishNavigation:]):
2700
2701 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
2702
2703         [ews-build] use svn-apply script to apply the patches
2704         https://bugs.webkit.org/show_bug.cgi?id=193138
2705
2706         Reviewed by Lucas Forschler.
2707
2708         * BuildSlaveSupport/ews-build/factories.py:
2709         (Factory.__init__): Add the ApplyPatch step.
2710         * BuildSlaveSupport/ews-build/steps.py:
2711         (CheckOutSource): Added step name.
2712         (CheckOutSource.__init__): Used alwaysUseLatest so that it doesn't apply patch.
2713         (ApplyPatch): Build step to apply patch using svn-apply script.
2714         (UnApplyPatchIfRequired):
2715         (UnApplyPatchIfRequired.__init__): Deleted, since the alwaysUseLatest parameter is now in base class.
2716
2717 2019-01-04  Alex Christensen  <achristensen@webkit.org>
2718
2719         Deprecate WKContextCreate
2720         https://bugs.webkit.org/show_bug.cgi?id=193118
2721
2722         Reviewed by Brady Eidson.
2723
2724         * MiniBrowser/win/WebKitBrowserWindow.cpp:
2725         (WebKitBrowserWindow::WebKitBrowserWindow):
2726         * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
2727         (TestWebKitAPI::TEST):
2728         * TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:
2729         (TestWebKitAPI::TEST):
2730         * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
2731         (TestWebKitAPI::TEST):
2732         * TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
2733         (TestWebKitAPI::TEST):
2734         * TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
2735         (TestWebKitAPI::TEST):
2736         * TestWebKitAPI/Tests/WebKit/EnumerateMediaDevices.cpp:
2737         (TestWebKitAPI::TEST):
2738         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
2739         (TestWebKitAPI::TEST):
2740         * TestWebKitAPI/Tests/WebKit/EvaluateJavaScript.cpp:
2741         (TestWebKitAPI::TEST):
2742         * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
2743         (TestWebKitAPI::TEST):
2744         * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
2745         (TestWebKitAPI::TEST):
2746         * TestWebKitAPI/Tests/WebKit/Find.cpp:
2747         (TestWebKitAPI::TEST):
2748         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
2749         (TestWebKitAPI::TEST):
2750         * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
2751         (TestWebKitAPI::TEST):
2752         * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
2753         (TestWebKitAPI::TEST):
2754         * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
2755         (TestWebKitAPI::TEST):
2756         * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
2757         (TestWebKitAPI::TEST):
2758         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
2759         (TestWebKitAPI::TEST):
2760         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
2761         (TestWebKitAPI::TEST):
2762         * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
2763         (TestWebKitAPI::loadAlternateHTMLString):
2764         * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
2765         (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
2766         * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
2767         (TestWebKitAPI::buildAndPerformTest):
2768         * TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp:
2769         (TestWebKitAPI::TEST):
2770         * TestWebKitAPI/Tests/WebKit/NavigationClientDefaultCrypto.cpp:
2771         (TestWebKitAPI::TEST):
2772         * TestWebKitAPI/Tests/WebKit/PageGroup.cpp:
2773         (TestWebKitAPI::TEST):
2774         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
2775         (TestWebKitAPI::TEST):
2776         * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
2777         (TestWebKitAPI::TEST):
2778         * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
2779         (TestWebKitAPI::TEST):
2780         * TestWebKitAPI/Tests/WebKit/PreventEmptyUserAgent.cpp:
2781         (TestWebKitAPI::TEST):
2782         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
2783         (TestWebKitAPI::TEST):
2784         * TestWebKitAPI/Tests/WebKit/ProcessDidTerminate.cpp:
2785         (TestWebKitAPI::TEST):
2786         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
2787         (TestWebKitAPI::TEST):
2788         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
2789         (TestWebKitAPI::TEST):
2790         * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
2791         (TestWebKitAPI::TEST):
2792         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
2793         (TestWebKitAPI::TEST):
2794         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
2795         (TestWebKitAPI::TEST):
2796         * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
2797         (TestWebKitAPI::TEST):
2798         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
2799         (TestWebKitAPI::TEST):
2800         * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
2801         (TestWebKitAPI::TEST):
2802         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
2803         (TestWebKitAPI::TEST):
2804         * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
2805         (TestWebKitAPI::TEST):
2806         * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
2807         (TestWebKitAPI::TEST):
2808         * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
2809         (TestWebKitAPI::TEST):
2810         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
2811         (TestWebKitAPI::TEST):
2812         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
2813         (TestWebKitAPI::TEST):
2814         * TestWebKitAPI/Tests/WebKit/WebCoreStatisticsWithNoWebProcess.cpp:
2815         (TestWebKitAPI::TEST):
2816         * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
2817         (TestWebKitAPI::TEST):
2818         * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
2819         (TestWebKitAPI::TEST):
2820         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
2821         (WebKit2_CommandBackForwardTestWKView::SetUp):
2822         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
2823         (TestWebKitAPI::TEST):
2824         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
2825         (TestWebKitAPI::TEST):
2826         * TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm:
2827         (TestWebKitAPI::TEST):
2828         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
2829         (TestWebKitAPI::WebKitAgnosticTest::runWebKit2Test):
2830
2831 2019-01-03  Matt Rajca  <mrajca@apple.com>
2832
2833         Make DidPlayMediaPreventedFromPlaying autoplay event more generic.
2834         https://bugs.webkit.org/show_bug.cgi?id=193128
2835         rdar://34554231
2836
2837         Reviewed by Jer Noble.
2838
2839         Today, the "DidPlayMediaPreventedFromPlaying" autoplay event is only sent for
2840         media prevented from autoplaying. It could be generalized to a "DidPlayMediaWithUserGesture"
2841         event along with a flag that indicates whether or not autoplay was actually prevented.
2842
2843         Tests: existing API tests were updated to reflect the new names. New API tests
2844         were added for the new case in which the "DidPlayMediaWithUserGesture" event is sent.
2845
2846         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2847         * TestWebKitAPI/Tests/WebKit/long-test.mp4: Added.
2848         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2849         (TEST):
2850         * TestWebKitAPI/Tests/WebKitCocoa/audio-with-play-button.html: Added.
2851         * TestWebKitAPI/Tests/WebKitCocoa/video-with-play-button.html: Added.
2852
2853 2019-01-04  Chris Dumez  <cdumez@apple.com>
2854
2855         [PSON] Calling history.back() from inside the load event handler prevents process-swapping
2856         https://bugs.webkit.org/show_bug.cgi?id=193120
2857
2858         Reviewed by Alex Christensen.
2859
2860         Add API test coverage.
2861
2862         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2863
2864 2019-01-04  Chris Dumez  <cdumez@apple.com>
2865
2866         Crash under WebProcessPool::addSuspendedPage()
2867         https://bugs.webkit.org/show_bug.cgi?id=193110
2868
2869         Reviewed by Youenn Fablet.
2870
2871         Add API test coverage.
2872
2873         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2874
2875 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
2876
2877         [ews-build] Check patch relevance before applying the patch
2878         https://bugs.webkit.org/show_bug.cgi?id=193102
2879
2880         Reviewed by Lucas Forschler.
2881
2882         * BuildSlaveSupport/ews-build/factories.py:
2883         (Factory.__init__): Moved CheckPatchRelevance step to base class.
2884
2885 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
2886
2887         [ews-build] Check patch relevance step should print patch id
2888         https://bugs.webkit.org/show_bug.cgi?id=193137
2889
2890         Reviewed by Lucas Forschler.
2891
2892         * BuildSlaveSupport/ews-build/steps.py:
2893         (CheckPatchRelevance.start): Update the status to include patch id.
2894
2895 2019-01-04  Jonathan Bedard  <jbedard@apple.com>
2896
2897         webkitpy: Increase simulator teardown timeout
2898         https://bugs.webkit.org/show_bug.cgi?id=193141
2899         <rdar://problem/46174217>
2900
2901         Rubber-stamped by Aakash Jain.
2902
2903         * Scripts/webkitpy/xcode/simulated_device.py:
2904         (SimulatedDeviceManager.tear_down): Use SIMULATOR_BOOT_TIMEOUT.
2905
2906 2019-01-03  Ross Kirsling  <ross.kirsling@sony.com>
2907
2908         test262-runner misbehaves when test file YAML has a trailing space
2909         https://bugs.webkit.org/show_bug.cgi?id=193053
2910
2911         Reviewed by Yusuke Suzuki.
2912
2913         * Scripts/test262/Runner.pm:
2914         (parseData):
2915         Accept trailing space when parsing a test file's YAML block.
2916
2917 2019-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
2918
2919         UserMedia test should use WKPageNavigationClient
2920         https://bugs.webkit.org/show_bug.cgi?id=192913
2921
2922         Reviewed by Youenn Fablet.
2923
2924         The test currently uses the deprecated WKPageLoaderClient. It should use
2925         WKPageNavigationClient instead, which provides the same callback under a similar name.
2926
2927         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
2928         (TestWebKitAPI::TEST):
2929
2930 2019-01-02  Alex Christensen  <achristensen@webkit.org>
2931
2932         Homograph with LATIN SMALL LETTER R WITH FISHHOOK
2933         https://bugs.webkit.org/show_bug.cgi?id=192944
2934
2935         Reviewed by Tim Horton.
2936
2937         * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
2938         (TestWebKitAPI::TEST):
2939
2940 2019-01-02  Wenson Hsieh  <wenson_hsieh@apple.com>
2941
2942         Add support for using the current text selection as the find string on iOS
2943         https://bugs.webkit.org/show_bug.cgi?id=193034
2944         <rdar://problem/45138739>
2945
2946         Reviewed by Tim Horton.
2947
2948         Add a new API test to verify that the new WebKit SPI (_stringForFind, _takeFindStringFromSelection:, and
2949         _setStringForFind) works as expected.
2950
2951         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2952         * TestWebKitAPI/Tests/WebKitCocoa/UseSelectionAsFindString.mm: Added.
2953
2954 2019-01-02  Aakash Jain  <aakash_jain@apple.com>
2955
2956         [ews-build] Use git on OpenSource EWS bots
2957         https://bugs.webkit.org/show_bug.cgi?id=193092
2958
2959         Reviewed by Lucas Forschler.
2960
2961         * BuildSlaveSupport/ews-build/steps.py:
2962         (CheckOutSource): Use git instead of svn.
2963         (CheckOutSource.__init__): Use timeout of 2 hours since the initial checkout might take a long time.
2964
2965 2019-01-02  Daniel Bates  <dabates@apple.com>
2966
2967         [lldb-webkit] Remove broken code to print WTF::OptionSet::m_storage
2968         https://bugs.webkit.org/show_bug.cgi?id=193023
2969
2970         Reviewed by Simon Fraser.
2971
2972         The code to print WTF::OptionSet::m_storage as an item in the set never worked and does
2973         not seem meaningful to fix because WTF::OptionSet::m_storage is just the sum of the printed
2974         enumerator values. We should just remove this code.
2975
2976         * lldb/lldb_webkit.py:
2977         (WTFOptionSetProvider.has_children):
2978         (WTFOptionSetProvider.num_children):
2979         (WTFOptionSetProvider.get_child_index):
2980         (WTFOptionSetProvider.get_child_at_index):
2981
2982 2018-12-29  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
2983
2984         .ycm_extra_conf.py should handle XXXInlines.h
2985         https://bugs.webkit.org/show_bug.cgi?id=193055
2986
2987         Reviewed by Carlos Garcia Campos.
2988
2989         compile_commands.json database only records flags and options for cpp source files.
2990         So, when we open headers, this database does not have any information for that.
2991         Our .ycm_extra_conf.py alleviates this by using XXX.cpp's configuration for XXX.h.
2992         But this mitigation does not handle XXXInlines.h well since we do not have XXXInlines.cpp.
2993         This patch adds support for XXXInlines.h in .ycm_extra_conf.py. When XXXInlines.h is queried,
2994         we attempt to find XXX.cpp and use the configuration if it exists.
2995
2996         * gtk/ycm_extra_conf.py:
2997         (getImplementationFilename):
2998         (FlagsForFile):
2999
3000 2018-12-31  Carlos Garcia Campos  <cgarcia@igalia.com>
3001
3002         Unreviewed. Support PHP 7.3 in Debian.
3003
3004         Add 7.3 to the list of php versions supported in Debian.
3005
3006         * Scripts/webkitpy/port/base.py:
3007         (Port._debian_php_version):
3008
3009 2018-12-27  Alex Christensen  <achristensen@webkit.org>
3010
3011         Resurrect Mac CMake build
3012         https://bugs.webkit.org/show_bug.cgi?id=192658
3013
3014         Reviewed by Yusuke Suzuki.
3015
3016         * DumpRenderTree/PlatformMac.cmake:
3017         * MiniBrowser/mac/CMakeLists.txt:
3018         * TestWebKitAPI/PlatformMac.cmake:
3019
3020 2018-12-26  Adrian Perez de Castro  <aperez@igalia.com>
3021
3022         [Tools] Remove references to Bison and Flex
3023         https://bugs.webkit.org/show_bug.cgi?id=193033
3024
3025         Reviewed by Michael Catanzaro.
3026
3027         The Bison and Flex tools are not needed anymore since r209883.
3028
3029         * CygwinDownloader/cygwin-downloader.py:
3030         * EWSTools/ubuntu-ews-packages:
3031         * Scripts/filter-build-webkit:
3032         (shouldIgnoreLine):
3033         * gtk/install-dependencies:
3034         * wpe/install-dependencies:
3035
3036 2018-12-22  Carlos Garcia Campos  <cgarcia@igalia.com>
3037
3038         WebDriver: warn about non existing tests when parsing expectations
3039         https://bugs.webkit.org/show_bug.cgi?id=192979
3040
3041         Reviewed by Michael Catanzaro.
3042
3043         It's common to update web driver tests and forget updating the test expectations in case of tests removed or
3044         renamed.
3045
3046         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
3047         (WebDriverTestRunner.__init__):
3048
3049 2018-12-21  Chris Dumez  <cdumez@apple.com>
3050
3051         navigator.userAgent in service workers does not reflect customUserAgent set by client
3052         https://bugs.webkit.org/show_bug.cgi?id=192951
3053
3054         Reviewed by Youenn Fablet.
3055
3056         Extend API test coverage.
3057
3058         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3059         (-[SWCustomUserAgentDelegate initWithUserAgent:]):
3060         (-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
3061         (-[SWUserAgentMessageHandler initWithExpectedMessage:]):
3062         (-[SWUserAgentMessageHandler userContentController:didReceiveScriptMessage:]):
3063
3064 2018-12-21  Jiewen Tan  <jiewen_tan@apple.com>
3065
3066         [WebAuthN] userPresence should always be true
3067         https://bugs.webkit.org/show_bug.cgi?id=192835
3068         <rdar://problem/46538788>
3069
3070         Reviewed by Brent Fulgham.
3071
3072         * TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
3073         (TestWebKitAPI::TEST):
3074
3075 2018-12-19  Simon Fraser  <simon.fraser@apple.com>
3076
3077         Add support to run-benchmark to use non-default copies of the browser apps
3078         https://bugs.webkit.org/show_bug.cgi?id=192905
3079         rdar://problem/46845840
3080
3081         Reviewed by Dewei Zhu.
3082         
3083         Add support for a --browser-path argument to run-benchmark, which allows you to use
3084         a custom app bundle for a given browser (only implemented for Safari at present).
3085
3086         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
3087         (BenchmarkRunner.__init__):
3088         * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
3089         (BrowserDriver.__init__):
3090         * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
3091         (BrowserDriverFactory.create):
3092         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
3093         (OSXBrowserDriver._launch_process):
3094         (OSXBrowserDriver._launch_process_with_caffeinate): Fix spelling.
3095         (OSXBrowserDriver._launch_process_with_caffinate): Deleted.
3096         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
3097         (OSXChromeCanaryDriver.launch_url):
3098         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
3099         (OSXFirefoxNightlyDriver.launch_url):
3100         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
3101         (OSXSafariDriver.__init__):
3102         (OSXSafariDriver.launch_url):
3103         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
3104         (parse_args):
3105         (run_benchmark_plan):
3106         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
3107         (WebServerBenchmarkRunner.__init__):
3108         * Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py:
3109         (FakeBenchmarkRunner.__init__):
3110
3111 2018-12-21  Jiewen Tan  <jiewen_tan@apple.com>
3112
3113         [WebAuthN] Import an APDU coder from Chromium
3114         https://bugs.webkit.org/show_bug.cgi?id=192949
3115         <rdar://problem/46879933>
3116
3117         Reviewed by Brent Fulgham.
3118
3119         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3120         * TestWebKitAPI/Tests/WebCore/ApduTest.cpp: Added.
3121         (TestWebKitAPI::TEST):
3122
3123 2018-12-21  Wenson Hsieh  <wenson_hsieh@apple.com>
3124
3125         Setting the file wrapper and content type of an attachment to a PDF should update its image
3126         https://bugs.webkit.org/show_bug.cgi?id=192984
3127         <rdar://problem/46798028>
3128
3129         Reviewed by Tim Horton.
3130
3131         Add an API test to verify that setting the file wrapper for a _WKAttachment with an enclosing image element with
3132         PDF data correctly updates the image element.
3133
3134         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3135
3136 2018-12-21  Michael Catanzaro  <mcatanzaro@igalia.com>
3137
3138         Add JSCOnly to bot dashboard
3139         https://bugs.webkit.org/show_bug.cgi?id=192964
3140
3141         Reviewed by Alexey Proskuryakov.
3142
3143         Apparently we have five JSCOnly test bots and multiple developers working on keeping them in
3144         good shape. Sadly, they are hidden bots not exposed in the dashboard. They would be more
3145         useful if they were not so secret, so add them.
3146
3147         There appear to be no build-only bots, so the first column is blank. And of course there are
3148         no WebKit1 or WebKit2 bots, because this is JSCOnly, so the second and third columns are
3149         blank too. That's OK. This will be the last bot on the dashboard, so it won't look too bad,
3150         and there's plenty of room in the final column for all the bots.
3151
3152         I had a hard time picking a logo to use, because the JavaScript language does not have an
3153         official logo. But I believe I've found one that will be satisfactory.
3154
3155         I will sneak in one bonus change: WPE's EWS queue was missing, and has been added.
3156
3157         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/SquirrelFish.png: Added.
3158         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/SquirrelFish@2x.png: Added.
3159         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
3160         (BubbleQueueServer):
3161         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
3162         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
3163         (WebKitBuildbot):
3164         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
3165         (table.queue-grid tr.platform.linux-jsconly img.logo):
3166
3167 2018-12-21  Benjamin Poulain  <benjamin@webkit.org>
3168
3169         <rdar://problem/46194315> macOS: WebKit1 does not handle occlusion changes
3170         https://bugs.webkit.org/show_bug.cgi?id=192821
3171
3172         Reviewed by Chris Dumez.
3173
3174         * DumpRenderTree/mac/DumpRenderTree.mm:
3175         (createWebViewAndOffscreenWindow):
3176         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
3177
3178 2018-12-20  Fujii Hironori  <Hironori.Fujii@sony.com>
3179
3180         [Win][Clang] Fix compilation warnings of DumpRenderTree
3181         https://bugs.webkit.org/show_bug.cgi?id=192924
3182
3183         Reviewed by Alex Christensen.
3184
3185         * DumpRenderTree/AccessibilityController.h: Added member variable initializations in the class definition.
3186         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
3187         (AccessibilityController::AccessibilityController): Moved member variable initializations to the class definition.
3188         * DumpRenderTree/win/DumpRenderTree.cpp:
3189         (dumpHistoryItem): String literals can't be converted non-const type. Use auto for them.
3190         (resetWebPreferencesToConsistentValues): Pass a temporal _bstr_t
3191         object to the argument of setDefaultTextEncodingName instead of a
3192         const string literal.
3193         (createWebViewAndOffscreenWindow): Use %lx for HRESULT (aka 'long').
3194         (main): Exit if _dup2 fails. Use %lu for'DWORD'(aka 'unsigned long').
3195         (setCacheFolder): Deleted.
3196         * DumpRenderTree/win/DumpRenderTreeWin.h: Fix class/struct mismatch of FrameLoadDelegate and PolicyDelegate declarations.
3197         * DumpRenderTree/win/EditingDelegate.cpp:
3198         (dump): Use %d for int.
3199         * DumpRenderTree/win/FrameLoadDelegate.cpp: Removed unused variable g_delegateWaitingOnTimer.
3200         * DumpRenderTree/win/ResourceLoadDelegate.cpp:
3201         (BSTRFromString): Deleted unused function.
3202         * DumpRenderTree/win/TestRunnerWin.cpp:
3203         (TestRunner::setDatabaseQuota): Pass a temporal _bstr_t object to
3204         the arguemnt of setQuota instead of const string literal.
3205         * DumpRenderTree/win/WorkQueueItemWin.cpp:
3206         (jsStringRefToWString): Deleted unused function.
3207
3208 2018-12-20  Chris Dumez  <cdumez@apple.com>
3209
3210         Add API test coverage for customUserAgent client setting and service workers
3211         https://bugs.webkit.org/show_bug.cgi?id=192952
3212
3213         Reviewed by Alex Christensen.
3214
3215         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3216         (-[SWMessageHandler userContentController:didReceiveScriptMessage:]):
3217         (-[SWSchemes webView:startURLSchemeTask:]):
3218         (-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
3219         (-[SWUserAgentMessageHandler userContentController:didReceiveScriptMessage:]):
3220
3221 2018-12-20  Chris Dumez  <cdumez@apple.com>
3222
3223         Use Optional::hasValue() instead of Optional::has_value()
3224         https://bugs.webkit.org/show_bug.cgi?id=192948
3225
3226         Reviewed by Tim Horton.
3227
3228         * TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp:
3229         (TestWebKitAPI::TEST):
3230         * TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp:
3231         (TestWebKitAPI::TEST):
3232         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
3233         (TestWebKitAPI::TEST_F):
3234
3235 2018-12-20  Chris Dumez  <cdumez@apple.com>
3236
3237         Add style script rule to check for uses of std::optional<>
3238         https://bugs.webkit.org/show_bug.cgi?id=192931
3239
3240         Reviewed by Tim Horton.
3241
3242         * Scripts/webkitpy/style/checkers/cpp.py:
3243         (check_wtf_optional):
3244         (check_style):
3245
3246 2018-12-20  Jiewen Tan  <jiewen_tan@apple.com>
3247
3248         [WebAuthN] Add a runtime flag for local authenticator
3249         https://bugs.webkit.org/show_bug.cgi?id=192792
3250         <rdar://problem/46798738>
3251
3252         Reviewed by Brent Fulgham.
3253
3254         * DumpRenderTree/TestOptions.cpp:
3255         (TestOptions::TestOptions):
3256         * DumpRenderTree/TestOptions.h:
3257         * DumpRenderTree/mac/DumpRenderTree.mm:
3258         (enableExperimentalFeatures):
3259         (setWebPreferencesForTestOptions):
3260         * WebKitTestRunner/TestController.cpp:
3261         (WTR::TestController::resetPreferencesToConsistentValues):
3262         (WTR::updateTestOptionsFromTestHeader):
3263         * WebKitTestRunner/TestOptions.h:
3264         (WTR::TestOptions::hasSameInitializationOptions const):
3265
3266 2018-12-20  Jonathan Bedard  <jbedard@apple.com>
3267
3268         webkitpy: Autoinstall package URLs have changed
3269         https://bugs.webkit.org/show_bug.cgi?id=192909
3270         <rdar://problem/46860359>
3271
3272         Rubber-stamped by Alexey Proskuryakov.
3273
3274         PyPi urls have been moved around, we need to update our auto-installed packages.
3275
3276         We should check for Selenium before asking PyPi for the latest version.
3277
3278         * Scripts/webkitpy/thirdparty/__init__.py:
3279         (AutoinstallImportHook._install_mechanize): Update with new pypi url.
3280         (AutoinstallImportHook._install_keyring): Ditto.
3281         (AutoinstallImportHook._install_pep8): Ditto.
3282         (AutoinstallImportHook._install_mozlog): Ditto.
3283         (AutoinstallImportHook._install_mozprocess): Ditto.
3284         (AutoinstallImportHook._install_pytest_timeout): Ditto.
3285         (AutoinstallImportHook._install_pytest): Ditto.
3286         (AutoinstallImportHook._install_pylint): Ditto.
3287         (AutoinstallImportHook._install_buildbot): Ditto.
3288         (AutoinstallImportHook._install_coverage): Ditto.
3289         (AutoinstallImportHook._install_twisted_15_5_0): Ditto.
3290         (AutoinstallImportHook._install_selenium): Update with new pypi url, only check
3291         for new Selenium if the installed version isn't sufficient.
3292         (AutoinstallImportHook.get_latest_pypi_url): Update with new pypi url.
3293
3294 2018-12-20  Chris Dumez  <cdumez@apple.com>
3295
3296         Use Optional::valueOr() instead of Optional::value_or()
3297         https://bugs.webkit.org/show_bug.cgi?id=192933
3298
3299         Reviewed by Geoffrey Garen.
3300
3301         * TestWebKitAPI/Tests/WTF/URLParser.cpp:
3302         (TestWebKitAPI::checkURL):
3303         (TestWebKitAPI::checkRelativeURL):
3304         (TestWebKitAPI::checkURLDifferences):
3305         (TestWebKitAPI::checkRelativeURLDifferences):
3306         * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:
3307         (TestWebKitAPI::checkURL):
3308
3309 2018-12-20  Ryan Haddad  <ryanhaddad@apple.com>
3310
3311         Unreviewed, rolling out r239417.
3312
3313         Introduced two API test failures on macOS.
3314
3315         Reverted changeset:
3316
3317         "<rdar://problem/46194315> macOS: WebKit1 does not handle
3318         occlusion changes"
3319         https://bugs.webkit.org/show_bug.cgi?id=192821
3320         https://trac.webkit.org/changeset/239417
3321
3322 2018-12-20  Devin Rousso  <drousso@apple.com>
3323
3324         Web Inspector: UIString should take an optional key and description to aid localization
3325         https://bugs.webkit.org/show_bug.cgi?id=153962
3326         <rdar://problem/24542505>
3327
3328         Reviewed by Brian Burg.
3329
3330         * Scripts/extract-localizable-js-strings:
3331
3332 2018-12-20  Tim Horton  <timothy_horton@apple.com>
3333
3334         Unparented WKWebView can't retrieve main resource data for a main frame plugin
3335         https://bugs.webkit.org/show_bug.cgi?id=192923
3336         <rdar://problem/46859068>
3337
3338         Reviewed by Wenson Hsieh.
3339
3340         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3341         * TestWebKitAPI/WebKitCocoa/GetResourceData.mm:
3342         Add a test ensuring that both parented and unparented WKWebViews can
3343         retrieve main resource data when loading a PDF.
3344
3345 2018-12-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3346
3347         [GTK][WPE] Bump webkitgtk-test-fonts to 0.0.8
3348         https://bugs.webkit.org/show_bug.cgi?id=192852
3349
3350         Reviewed by Michael Catanzaro.
3351
3352         EmojiOne font was replaced by Noto Color Emoji.
3353
3354         * WebKitTestRunner/gtk/fonts/fonts.conf: Use Noto Color Emoji when Apple Color Emoji font family is used in tests.
3355         * gtk/jhbuild.modules:
3356         * wpe/jhbuild.modules:
3357
3358 2018-12-19  Chris Dumez  <cdumez@apple.com>
3359
3360         wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from
3361         https://bugs.webkit.org/show_bug.cgi?id=192728
3362         <rdar://problem/46746779>
3363
3364         Reviewed by Geoff Garen.
3365
3366         * DumpRenderTree/*:
3367         * MiniBrowser/*:
3368         * TestRunnerShared/*:
3369         * TestWebKitAPI/*:
3370         * WebGPUAPIStructure/*:
3371         * WebKitTestRunner/*:
3372
3373 2018-12-19  Benjamin Poulain  <benjamin@webkit.org>
3374
3375         <rdar://problem/46194315> macOS: WebKit1 does not handle occlusion changes
3376         https://bugs.webkit.org/show_bug.cgi?id=192821
3377
3378         Reviewed by Chris Dumez.
3379
3380         * DumpRenderTree/mac/DumpRenderTree.mm:
3381         (createWebViewAndOffscreenWindow):
3382
3383 2018-12-19  Alex Christensen  <achristensen@webkit.org>
3384
3385         Navigations away from the SafeBrowsing interstitial show a flash of old content
3386         https://bugs.webkit.org/show_bug.cgi?id=192676
3387
3388         Reviewed by Chris Dumez.
3389
3390         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
3391         (safeBrowsingView):
3392         (TEST):
3393         (-[SafeBrowsingHelper webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.
3394
3395 2018-12-19  Adrian Perez de Castro  <aperez@igalia.com>
3396
3397         [GTK][WPE] Unify TestController::platformRunUntil() and honor condition flag
3398         https://bugs.webkit.org/show_bug.cgi?id=192855
3399
3400         Reviewed by Michael Catanzaro.
3401
3402         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
3403         (WTR::TestController::notifyDone): Use the WPE implementation.
3404         (WTR::TestController::platformRunUntil): Use the WPE implementation.
3405         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
3406         (WTR::TestController::platformRunUntil): Honor the condition flag.
3407
3408 2018-12-19  Megan Gardner  <megan_gardner@apple.com>
3409
3410         Allow clients to set the navigator platform
3411         https://bugs.webkit.org/show_bug.cgi?id=192735
3412
3413         Reviewed by Tim Horton.
3414
3415         Add a test for setting a custom navigator platform.
3416
3417         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3418         (-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
3419         (-[CustomNavigatorPlatformDelegate webView:didFinishNavigation:]):
3420
3421 2018-12-19  Truitt Savell  <tsavell@apple.com>
3422
3423         Unreviewed, rolling out r239358.
3424
3425         Revision caused imported/w3c/web-platform-tests/IndexedDB/ to
3426         crash on Debug bots
3427
3428         Reverted changeset:
3429
3430         "Clean up IndexedDB files between tests"
3431         https://bugs.webkit.org/show_bug.cgi?id=192796
3432         https://trac.webkit.org/changeset/239358
3433
3434 2018-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
3435
3436         [iOS] A copied text selection is pasted as a web archive attachment in the entry view in Messages
3437         https://bugs.webkit.org/show_bug.cgi?id=192842
3438         <rdar://problem/46823586>
3439
3440         Reviewed by Tim Horton.
3441
3442         Adjusts an existing API test to verify that "com.apple.webarchive" is not one of the types registered to the
3443         item provider when dragging a rich text selection.
3444
3445         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
3446
3447 2018-12-18  David Quesada  <david_quesada@apple.com>
3448
3449         REGRESSION: [iOS] API test TestWebKitAPI._WKDownload.OriginatingWebView is a flaky failure
3450         https://bugs.webkit.org/show_bug.cgi?id=192810
3451         <rdar://problem/46812536>
3452
3453         Reviewed by Alex Christensen.
3454
3455         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
3456         (-[OriginatingWebViewDownloadDelegate _downloadDidStart:]):
3457             After releasing our reference to the web view, wait until the next turn of the runloop
3458             before checking that the originatingWebView has been zeroed, since the web view might
3459             still be referenced in the autorelease pool. This _WKDownload unit test isn't about
3460             testing general memory management of WKWebViews, only that _WKDownload does not retain
3461             its web view via the 'originatingWebView' property.
3462
3463 2018-12-18  Sihui Liu  <sihui_liu@apple.com>
3464
3465         Clean up IndexedDB files between tests
3466         https://bugs.webkit.org/show_bug.cgi?id=192796
3467
3468         Reviewed by Geoffrey Garen.
3469
3470         * DumpRenderTree/mac/DumpRenderTree.mm:
3471         (runTest):
3472         * WebKitTestRunner/TestController.cpp:
3473         (WTR::TestController::resetStateToConsistentValues):
3474         (WTR::RemoveAllIndexedDatabasesCallbackContext::RemoveAllIndexedDatabasesCallbackContext):
3475         (WTR::RemoveAllIndexedDatabasesCallback):
3476         (WTR::TestController::ClearIndexedDatabases):
3477         * WebKitTestRunner/TestController.h:
3478
3479 2018-12-18  Alex Christensen  <achristensen@webkit.org>
3480
3481         Fix API test introduced in r239339 on iOS.
3482         https://bugs.webkit.org/show_bug.cgi?id=192675
3483
3484         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
3485         (TEST):
3486         The iOS implementation of the safe browsing warning is a little different.
3487         It does some element creation when it is added to the window so it knows how big it is.
3488         To test these elements, we need to simulate adding it to the window.
3489         A similar technique is done in other iOS API tests, such as SafeBrowsing.ShowWarningSPI.
3490
3491 2018-12-18  Jonathan Bedard  <jbedard@apple.com>
3492
3493         webkitpy: Ignore device type for test when using --force
3494         https://bugs.webkit.org/show_bug.cgi?id=192786
3495         <rdar://problem/46794894>
3496
3497         Reviewed by Daniel Bates.
3498
3499         It is sometimes the case that a contributor will wish to run a test on a specific device,
3500         despite expectations which indicate a test should not be run on that device.
3501
3502         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3503         (parse_args):
3504         * Scripts/webkitpy/port/device_port.py:
3505         (DevicePort.default_child_processes): Strip device type information when using --force.
3506         (DevicePort.setup_test_run): Only allow incomplete match when using --force.
3507
3508 2018-12-18  Alex Christensen  <achristensen@webkit.org>
3509
3510         WKWebView has old URL while displaying SafeBrowsing interstitial, for link-click navigations
3511         https://bugs.webkit.org/show_bug.cgi?id=192675
3512
3513         Reviewed by Geoffrey Garen.
3514
3515         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
3516         (goBack):
3517         (TEST):
3518         (visitUnsafeSite):
3519         (-[SafeBrowsingHelper observeValueForKeyPath:ofObject:change:context:]):
3520         (-[SafeBrowsingHelper webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3521
3522 2018-12-18  Chris Dumez  <cdumez@apple.com>
3523
3524         Regression(r239182) SuspendedPage's process reuse for link navigation optimization sometimes broken
3525         https://bugs.webkit.org/show_bug.cgi?id=192772
3526
3527         Reviewed by Antti Koivisto.
3528
3529         Add API test coverage.
3530
3531         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3532
3533 2018-12-18  Philippe Normand  <pnormand@igalia.com>
3534
3535         Unreviewed, JHBuild GTK build fix attempt
3536
3537         * gtk/jhbuild.modules: There's no libffi in this moduleset anymore.
3538         There's no ninja module either, it should be provided by the
3539         host system.
3540
3541 2018-12-17  Chris Dumez  <cdumez@apple.com>
3542
3543         Allow passing nil as session state to [WKWebView _restoreSessionState:]
3544         https://bugs.webkit.org/show_bug.cgi?id=192789
3545         <rdar://problem/46755277>
3546
3547         Reviewed by Alex Christensen.
3548
3549         Add API test coverage.
3550
3551         * TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:
3552         (TEST):
3553
3554 2018-12-17  Simon Fraser  <simon.fraser@apple.com>
3555
3556         Don't use more expensive layer backing store formats when subpixel text antialiasing is not enabled
3557         https://bugs.webkit.org/show_bug.cgi?id=192780
3558         rdar://problem/43394387
3559
3560         Reviewed by Tim Horton.
3561
3562         No need to set "AppleFontSmoothing" defaults for WK2.
3563
3564         * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
3565         (WTR::InjectedBundle::platformInitialize):
3566
3567 2018-12-17  Jonathan Bedard  <jbedard@apple.com>
3568
3569         webkitpy: Handle case where stdout and stderr don't accept unicode
3570         https://bugs.webkit.org/show_bug.cgi?id=192775
3571         <rdar://problem/46497303>
3572
3573         Reviewed by Stephanie Lewis.
3574
3575         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
3576         (MeteredStream.write): If unicode cannot be written to the stream, replace unicode
3577         characters with '?'.
3578         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
3579         (RegularTest.test_stream_with_encoding):
3580
3581 2018-12-17  Daniel Bates  <dabates@apple.com>
3582
3583         Support concatenating StringView with other string types
3584         https://bugs.webkit.org/show_bug.cgi?id=177566
3585
3586         Reviewed by Darin Adler.
3587
3588         Add some tests to ensure we do not regress the number of allocations needed when performing
3589         string concatenation with string views.
3590
3591         * TestWebKitAPI/Tests/WTF/StringOperators.cpp:
3592         (TestWebKitAPI::TEST):
3593
3594 2018-12-17  Commit Queue  <commit-queue@webkit.org>
3595
3596         Unreviewed, rolling out r239265 and r239274.
3597         https://bugs.webkit.org/show_bug.cgi?id=192765
3598
3599         unorm_normalize is deprecated, and broke an internal build
3600         (Requested by Truitt on #webkit).
3601
3602         Reverted changesets:
3603
3604         "[GTK][WPE] Need a function to convert internal URI to display
3605         ("pretty") URI"
3606         https://bugs.webkit.org/show_bug.cgi?id=174816
3607         https://trac.webkit.org/changeset/239265
3608
3609         "Fix the Apple Internal Mac build with a newer SDK"
3610         https://trac.webkit.org/changeset/239274
3611
3612 2018-12-17  Daniel Bates  <dabates@apple.com>
3613
3614         Implement UIScriptController::toggleCapsLock() for iOS
3615         https://bugs.webkit.org/show_bug.cgi?id=191815
3616
3617         Reviewed by Andy Estes.
3618
3619         Add support for toggling the caps lock state in WebKitTestRunner on iOS.
3620
3621         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3622         * WebKitTestRunner/TestController.cpp:
3623         (WTR::TestController::resetStateToConsistentValues): Clear the current modifier state
3624         before running a test. This ensures that the caps lock state does not persist between
3625         tests should a test enable caps lock and not disable it.
3626         * WebKitTestRunner/ios/HIDEventGenerator.mm:
3627         (hidUsageCodeForCharacter): Map "capsLock" to the Caps Lock key usage code.
3628         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3629         (WTR::createUIPhysicalKeyboardEvent): Modified to take the keyboard input flags to use to
3630         create the event. Also substituted NSString* for const String& as the data type for the first
3631         two parameters to avoid conversions in the implementation of UIScriptController::toggleCapsLock()
3632         below.
3633         (WTR::UIScriptController::keyDown): Update as needed due to changes to prototype of createUIPhysicalKeyboardEvent().
3634         (WTR::UIScriptController::toggleCapsLock): Dispatch a UIEvent to toggle caps lock.
3635
3636 2018-12-17  Daniel Bates  <dabates@apple.com>
3637
3638         [iOS] Remove -[WebEvent initWithKeyEventType:...:characterSet:]
3639         https://bugs.webkit.org/show_bug.cgi?id=192633
3640
3641         Reviewed by Wenson Hsieh.
3642
3643         Update code to use the modern initializer.