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