61bf0d66fe3b2bda18dcdc71e62d8303ef2a457f
[WebKit-https.git] / Tools / ChangeLog
1 2019-01-08  Jiewen Tan  <jiewen_tan@apple.com>
2
3         [WebAuthN] Support U2F HID Authenticators on macOS
4         https://bugs.webkit.org/show_bug.cgi?id=191535
5         <rdar://problem/47102027>
6
7         Reviewed by Brent Fulgham.
8
9         This patch:
10         1) adds support for U2F mocking mechanism;
11         2) updates tests to reflect U2fCommandConstructor changes.
12
13         * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
14         (TestWebKitAPI::TEST):
15         * TestWebKitAPI/Tests/WebCore/FidoTestData.h:
16         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
17         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
18
19 2019-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
20
21         [iOS] Dispatch a synthetic mousedown event prior to starting drags
22         https://bugs.webkit.org/show_bug.cgi?id=193229
23         <rdar://problem/46717097>
24
25         Reviewed by Tim Horton.
26
27         Add a cross-platform drag and drop test to verify that calling `preventDefault()` on the mousedown event
28         prevents a drag from starting.
29
30         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
31         * TestWebKitAPI/Tests/WebKitCocoa/link-and-target-div.html:
32
33         Tweak this test to make it robust when dragging the link to the target element multiple times in a single test.
34
35 2019-01-08  Zhifei Fang  <zhifei_fang@apple.com>
36   
37         Layout test will generate a perf metric file to results dir.
38         https://bugs.webkit.org/show_bug.cgi?id=192030
39         <rdar://problem/32779516>
40
41         Reviewed by Aakash Jain.
42
43         Layout test running time will be collected to a perf metric file.
44         For now, instead of outputing running time of all tests (which is huge),
45         we aggregate them by test directories which are at most two level deep. 
46
47         * Scripts/webkitpy/layout_tests/controllers/manager.py:
48         (Manager._end_test_run):
49         (Manager._output_perf_metrics):
50         (Manager._print_expectation_line_for_test):
51         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
52         (add_test_perf_metric):
53         (test_perf_metrics):
54         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
55         (JSONGeneratorTest.test_test_timings_trie):
56         (JSONGeneratorTest):
57         (JSONGeneratorTest.test_test_perf_metrics):
58         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
59         (RebaselineTest.test_reset_results):
60         (RebaselineTest.test_missing_results):
61         (RebaselineTest.test_new_baseline):
62
63 2019-01-08  Patrick Griffis  <pgriffis@igalia.com>
64
65         [WPE][GTK] Add php-json to install-dependencies
66         https://bugs.webkit.org/show_bug.cgi?id=193233
67
68         Reviewed by Michael Catanzaro.
69
70         * gtk/install-dependencies:
71         * wpe/install-dependencies:
72
73 2019-01-08  Chris Dumez  <cdumez@apple.com>
74
75         Regression(PSON-r239182): Blank view when navigating back and forth between google.com and stack overflow
76         https://bugs.webkit.org/show_bug.cgi?id=193224
77         <rdar://problem/47097726>
78
79         Reviewed by Alex Christensen.
80
81         Add API test coverage.
82
83         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
84
85 2019-01-07  David Kilzer  <ddkilzer@apple.com>
86
87         Leak of ScrollCompletionCallbackData (16 bytes) in com.apple.WebKit.WebContent running WebKit layout tests
88         <https://webkit.org/b/193222>
89         <rdar://problem/46862309>
90
91         Reviewed by Joseph Pecoraro.
92
93         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
94         (WTR::executeCallback): Fix camel case of variable name.
95         (WTR::EventSendingController::callAfterScrollingCompletes): If
96         WKBundlePageRegisterScrollOperationCompletionCallback() returns
97         false, make sure to release the ScrollCompletionCallbackData
98         object.  This fixes the leak.
99
100 2019-01-07  Fujii Hironori  <Hironori.Fujii@sony.com>
101
102         [Win] EWS: wincairo-ews cannot apply a patch with *.png
103         https://bugs.webkit.org/show_bug.cgi?id=193044
104
105         Reviewed by Daniel Bates.
106
107         WinCairo EWS bots are using Windows Perl. Binary files should be
108         opened as binary mode.
109
110         * Scripts/svn-apply:
111         (handleGitBinaryChange): Use 'binmode' for binary file handles.
112
113 2019-01-07  Don Olmstead  <don.olmstead@sony.com>
114
115         [CMake] Add ENABLE_CSS_TYPED_OM option
116         https://bugs.webkit.org/show_bug.cgi?id=193216
117
118         Reviewed by Michael Catanzaro.
119
120         * Scripts/webkitperl/FeatureList.pm:
121
122 2019-01-07  David Kilzer  <ddkilzer@apple.com>
123
124         Prefer RetainPtr<NSObject> to RetainPtr<NSObject *>
125         <https://webkit.org/b/193056>
126
127         Reviewed by Alex Christensen.
128
129         * Scripts/webkitpy/style/checker.py:
130         - Ignore use of new runtime/retainptr check in
131           Tools/TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm since it
132           contains tests to ensure RetainPtr<NSObject *> is compatible
133           with RetainPtr<NSObject>.
134
135         * Scripts/webkitpy/style/checkers/cpp.py:
136         (check_language):
137         (CppChecker):
138         - Add checker for use of '*' in RetainPtr<> type.  A for loop
139           was used instead of a single regex so that angle brackets
140           could be matched up when checking the type contained within
141           the RetainPtr<> type.
142
143         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
144         (CppStyleTest):
145         - Add unit test for new runtime/retainptr check.
146
147         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.h:
148         * TestWebKitAPI/EditingTestHarness.h:
149         - Remove '*' from RetainPtr<> type.
150
151         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
152         - Add cf/RetainPtr.cpp back to TestWTFLibrary target!  This
153           regressed in r201938.
154
155         * TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp:
156         (TestWebKitAPI::TEST):
157         - Update tests to match RetainPtr.mm tests (except for the
158           `*SimilarNSType` tests since there is no CF equivalent of
159           RetainPtr<NSString> and RetainPtr<NSString *>).
160
161         * TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:
162         (TestWebKitAPI::TEST):
163         - Update tests to:
164           - Not conflict by name with equivalent CF tests in
165             RetainPtr.cpp.
166           - Add test cases for RetainPtr<NSObject>,
167             RetainPtr<NSObject *> and RetainPtr<id> were appropriate.
168           - Add `*SimilarNSType` tests for converting between
169             RetainPtr<NSObject> and RetainPtr<NSObject *>.
170           - Change `0` to `nil` as appropriate.
171           - Re-alphabetize the tests by name.
172           - Add Optional<RetainPtr<>> tests.
173           - Add retainPtr() tests.
174
175         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
176         (-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]):
177         * TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm:
178         (TEST):
179         - Remove '*' from RetainPtr<> type.
180
181         * TestWebKitAPI/Tests/WebKitCocoa/JITEnabled.mm:
182         (TEST(WebKit, JITEnabled)):
183         - Add missing WTFMove().  Apparently a temporary was being
184           created before in the argument list due to mismatched
185           RetainPtr<> types.
186
187         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
188         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
189         (TestWebKitAPI::setUpWebViewForTestingVideoControlsManager):
190         (TestWebKitAPI::TEST):
191         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
192         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
193         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
194         (WTR::resourcesDirectoryURL):
195         * WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:
196         (WTR::InjectedBundle::platformInitialize):
197         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
198         - Remove '*' from RetainPtr<> type.
199
200 2019-01-07  Eric Carlson  <eric.carlson@apple.com>
201
202         A MediaTime timescale must never be zero
203         https://bugs.webkit.org/show_bug.cgi?id=193156
204         <rdar://problem/32504501>
205
206         Reviewed by Jer Noble.
207
208         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
209         (TestWebKitAPI::TEST): Add tests for zero timescale.
210
211 2019-01-07  Youenn Fablet  <youenn@apple.com>
212
213         API test broken: TestWebKitAPI.WebKit.CustomDataStorePathsVersusCompletionHandlers
214         https://bugs.webkit.org/show_bug.cgi?id=193175
215
216         Reviewed by Chris Dumez.
217
218         Updated API test as we bumped the SW schema to version 4.
219
220         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
221         * TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-4.sqlite3: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-3.sqlite3.
222         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
223         (TEST):
224
225 2019-01-06  Fujii Hironori  <Hironori.Fujii@sony.com>
226
227         [Win][Clang] Fix compilation warnings of MiniBrowser
228         https://bugs.webkit.org/show_bug.cgi?id=193029
229
230         Reviewed by Ross Kirsling.
231
232         * MiniBrowser/win/MiniBrowserWebHost.h: Removed unused m_oldFont
233         and m_URLBarFont. Reorder member variables to fix -Wreorder
234         warning.
235         * MiniBrowser/win/PageLoadTestClient.cpp:
236         (PageLoadTestClient::PageLoadTestClient): Reorder the member initializer list.
237         * MiniBrowser/win/PageLoadTestClient.h: Removed 'virtual' of
238         pageLoadStartedAtTime and pageLoadEndedAtTime. Removed unused
239         m_currentURLIndex.
240         * MiniBrowser/win/WebKitBrowserWindow.cpp:
241         (WebKitBrowserWindow::WebKitBrowserWindow): Initialize
242         navigationClient with '{ }' to fix the missing field warning.
243         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
244         (initDocStruct): Changed the argument type docname to const.
245
246 2019-01-06  Jiewen Tan  <jiewen_tan@apple.com>
247
248         [WebAuthN] Import U2F command/response converters from Chromium
249         https://bugs.webkit.org/show_bug.cgi?id=193150
250         <rdar://problem/47054028>
251
252         Reviewed by Brent Fulgham.
253
254         Adds API tests.
255
256         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
257         * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
258         (TestWebKitAPI::getTestAttestedCredentialDataBytes):
259         (TestWebKitAPI::getTestAuthenticatorDataBytes):
260         (TestWebKitAPI::getTestAttestationObjectBytes):
261         (TestWebKitAPI::getTestSignResponse):
262         (TestWebKitAPI::getTestU2fRegisterResponse):
263         (TestWebKitAPI::TEST):
264         (TestWebKitAPI::convertToVector): Deleted.
265         * TestWebKitAPI/Tests/WebCore/FidoTestData.h:
266         * TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp: Added.
267         (TestWebKitAPI::constructMakeCredentialRequest):
268         (TestWebKitAPI::constructGetAssertionRequest):
269         (TestWebKitAPI::TEST):
270
271 2019-01-05  Oriol Brufau  <obrufau@igalia.com>
272
273         [GTK] Add python3-setuptools, libunistring-dev, bison and flex dependencies
274         https://bugs.webkit.org/show_bug.cgi?id=193136
275
276         Reviewed by Michael Catanzaro.
277
278         * gtk/install-dependencies:
279         Add python3-setuptools, libunistring-dev, bison and flex to install-dependencies,
280         they are needed by update-webkitgtk-libs.
281
282 2019-01-05  Aakash Jain  <aakash_jain@apple.com>
283
284         Unreviewed follow-up fix to r239650
285         https://bugs.webkit.org/show_bug.cgi?id=193140
286         <rdar://problem/47063037>
287
288         Typecast patch_id to string.
289
290         * BuildSlaveSupport/ews-build/steps.py:
291         (ValidatePatch._is_patch_obsolete):
292
293 2019-01-04  Daniel Bates  <dabates@apple.com>
294
295         [lldb-webkit]: Add support for pretty-printing raw bitmask types
296         https://bugs.webkit.org/show_bug.cgi?id=193024
297
298         Reviewed by Jer Noble.
299
300         Add support infrastructure to pretty-print a raw bitmask type. Included is a pretty-printer
301         for the bitmask type WebEventFlags as an example.
302
303         Exposed a new function lldb_webkit.addSummaryAndSyntheticFormattersForRawBitmaskType()
304         that can be used to register summary and synthetic child formatters for a bitmask type.
305         For example, consider the following enum and bitmask typedefs:
306
307         typedef enum {
308             A = 1 << 0,
309             B = 1 << 1,
310             C = 1 << 2,
311         } SpecialFlagValues;
312         typedef unsigned SpecialFlags;
313
314         To teach lldb-webkit how to pretty print SpecialFlags types, add the following code inside
315         __lldb_init_module():
316
317             addSummaryAndSyntheticFormattersForRawBitmaskType(debugger, "SpecialFlags", {
318                     1 << 0: "A",
319                     1 << 1: "B",
320                     1 << 2: "C",
321             })
322
323         * lldb/lldb_webkit.py:
324         (addSummaryAndSyntheticFormattersForRawBitmaskType):
325         (addSummaryAndSyntheticFormattersForRawBitmaskType.GeneratedRawBitmaskProvider):
326         (addSummaryAndSyntheticFormattersForRawBitmaskType.raw_bitmask_summary_provider):
327         (addSummaryAndSyntheticFormattersForRawBitmaskType.lldb_webkit):
328         A convenience function to dynamically creaste a synthetic formatter class and summary
329         string function for the specified bitmask type and enumerator value to name map. This
330         function register the dynamically created class and function with LLDB.
331
332         (__lldb_init_module):
333         (FlagEnumerationProvider):
334         (FlagEnumerationProvider._enumerator_value_to_name_map):
335         (FlagEnumerationProvider._bitmask):
336         (FlagEnumerationProvider._update):
337         (FlagEnumerationProvider.has_children):
338         (FlagEnumerationProvider.num_children):
339         (FlagEnumerationProvider.get_child_index):
340         (FlagEnumerationProvider.get_child_at_index):
341         (FlagEnumerationProvider.update):
342         Extract out provider logic from WTFOptionSetProvider into a base class that can be shared.
343
344         (WTFOptionSetProvider):
345         (WTFOptionSetProvider._enumerator_value_to_name_map):
346         (WTFOptionSetProvider._bitmask):
347         (WTFOptionSetProvider._update):
348         Write in terms of the base class.
349
350         (RawBitmaskProviderBase):
351         (RawBitmaskProviderBase._enumerator_value_to_name_map):
352         (RawBitmaskProviderBase._bitmask):
353         Added. Base synthetic formatter class for a raw bitmask type. Derived classes are expected to
354         override the class variable ENUMERATOR_VALUE_TO_NAME_MAP with a dictionary of the form:
355         {
356             1 << 0: "A",
357             1 << 1: "B",
358             1 << 2: "C",
359         }
360         It is not necessary to instantiate such a derived class directory. Instead use the convenience
361         function addSummaryAndSyntheticFormattersForRawBitmaskType.
362
363         (WTFOptionSetProvider.has_children): Deleted.
364         (WTFOptionSetProvider.num_children): Deleted.
365         (WTFOptionSetProvider.get_child_index): Deleted.
366         (WTFOptionSetProvider.get_child_at_index): Deleted.
367         (WTFOptionSetProvider.update): Deleted.
368
369 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
370
371         [ews-build] Add build step to validate the patch before processing it
372         https://bugs.webkit.org/show_bug.cgi?id=193140
373
374         Reviewed by Lucas Forschler.
375
376         * BuildSlaveSupport/ews-build/factories.py:
377         (Factory.__init__): Added ValidatePatch step.
378         * BuildSlaveSupport/ews-build/steps.py:
379         (ValidatePatch):
380         (ValidatePatch.fetch_data_from_url): Fetch data from a url.
381         (ValidatePatch.get_patch_json): Get patch json data.
382         (ValidatePatch.get_bug_json): Get bug json data.
383         (ValidatePatch.get_bug_id_from_patch): Get bug id from a patch id.
384         (ValidatePatch._is_patch_obsolete): Check if the patch is obsolete.
385         (ValidatePatch._is_patch_review_denied): Check if the patch is marked r-.
386         (ValidatePatch._is_bug_closed): Check if the bug is already closed.
387         (ValidatePatch.skip_build): Skip the build.
388         (ValidatePatch.start):
389
390 2019-01-04  Alex Christensen  <achristensen@webkit.org>
391
392         Progress towards fixing Mac CMake build
393         https://bugs.webkit.org/show_bug.cgi?id=193105
394
395         Reviewed by Don Olmstead.
396
397         * TestWebKitAPI/PlatformMac.cmake:
398
399 2019-01-04  Alex Christensen  <achristensen@webkit.org>
400
401         Fix API test after r239631
402         https://bugs.webkit.org/show_bug.cgi?id=193118
403
404         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
405         (TestWebKitAPI::TEST):
406         This test relied on m_maximumProcessCount being set to 1 in ProcessPoolConfiguration::createWithLegacyOptions.
407         Do the same thing via the API to fix the test.
408
409 2019-01-04  Jer Noble  <jer.noble@apple.com>
410
411         [WebKitLegacy] Media playback pauses on scroll
412         https://bugs.webkit.org/show_bug.cgi?id=192829
413
414         Reviewed by Eric Carlson.
415
416         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
417         * TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm: Added.
418         (TestWebKitAPI::TEST):
419         * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm: Added.
420         (-[ScrollingDoesNotPauseMediaDelegate webViewDidFinishLoad:]):
421         (-[ScrollingDoesNotPauseMediaDelegate uiWebView:didCommitLoadForFrame:]):
422         (-[ScrollingDoesNotPauseMediaDelegate handleEvent:]):
423         (TestWebKitAPI::TEST):
424
425 2019-01-04  Chris Dumez  <cdumez@apple.com>
426
427         Add support for toggling device orientation API support per site
428         https://bugs.webkit.org/show_bug.cgi?id=193143
429         <rdar://problem/46605724>
430
431         Reviewed by Alex Christensen.
432
433         Add API test coverage.
434
435         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
436         (-[DataMappingSchemeHandler setTaskHandler:]):
437         (-[DataMappingSchemeHandler webView:startURLSchemeTask:]):
438         (-[WebsitePoliciesDeviceOrientationDelegate initWithDeviceOrientationEventEnabled:]):
439         (-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
440         (-[WebsitePoliciesDeviceOrientationDelegate webView:didFinishNavigation:]):
441
442 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
443
444         [ews-build] use svn-apply script to apply the patches
445         https://bugs.webkit.org/show_bug.cgi?id=193138
446
447         Reviewed by Lucas Forschler.
448
449         * BuildSlaveSupport/ews-build/factories.py:
450         (Factory.__init__): Add the ApplyPatch step.
451         * BuildSlaveSupport/ews-build/steps.py:
452         (CheckOutSource): Added step name.
453         (CheckOutSource.__init__): Used alwaysUseLatest so that it doesn't apply patch.
454         (ApplyPatch): Build step to apply patch using svn-apply script.
455         (UnApplyPatchIfRequired):
456         (UnApplyPatchIfRequired.__init__): Deleted, since the alwaysUseLatest parameter is now in base class.
457
458 2019-01-04  Alex Christensen  <achristensen@webkit.org>
459
460         Deprecate WKContextCreate
461         https://bugs.webkit.org/show_bug.cgi?id=193118
462
463         Reviewed by Brady Eidson.
464
465         * MiniBrowser/win/WebKitBrowserWindow.cpp:
466         (WebKitBrowserWindow::WebKitBrowserWindow):
467         * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
468         (TestWebKitAPI::TEST):
469         * TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:
470         (TestWebKitAPI::TEST):
471         * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
472         (TestWebKitAPI::TEST):
473         * TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
474         (TestWebKitAPI::TEST):
475         * TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
476         (TestWebKitAPI::TEST):
477         * TestWebKitAPI/Tests/WebKit/EnumerateMediaDevices.cpp:
478         (TestWebKitAPI::TEST):
479         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
480         (TestWebKitAPI::TEST):
481         * TestWebKitAPI/Tests/WebKit/EvaluateJavaScript.cpp:
482         (TestWebKitAPI::TEST):
483         * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
484         (TestWebKitAPI::TEST):
485         * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
486         (TestWebKitAPI::TEST):
487         * TestWebKitAPI/Tests/WebKit/Find.cpp:
488         (TestWebKitAPI::TEST):
489         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
490         (TestWebKitAPI::TEST):
491         * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
492         (TestWebKitAPI::TEST):
493         * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
494         (TestWebKitAPI::TEST):
495         * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
496         (TestWebKitAPI::TEST):
497         * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
498         (TestWebKitAPI::TEST):
499         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
500         (TestWebKitAPI::TEST):
501         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
502         (TestWebKitAPI::TEST):
503         * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
504         (TestWebKitAPI::loadAlternateHTMLString):
505         * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
506         (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
507         * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
508         (TestWebKitAPI::buildAndPerformTest):
509         * TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp:
510         (TestWebKitAPI::TEST):
511         * TestWebKitAPI/Tests/WebKit/NavigationClientDefaultCrypto.cpp:
512         (TestWebKitAPI::TEST):
513         * TestWebKitAPI/Tests/WebKit/PageGroup.cpp:
514         (TestWebKitAPI::TEST):
515         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
516         (TestWebKitAPI::TEST):
517         * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
518         (TestWebKitAPI::TEST):
519         * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
520         (TestWebKitAPI::TEST):
521         * TestWebKitAPI/Tests/WebKit/PreventEmptyUserAgent.cpp:
522         (TestWebKitAPI::TEST):
523         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
524         (TestWebKitAPI::TEST):
525         * TestWebKitAPI/Tests/WebKit/ProcessDidTerminate.cpp:
526         (TestWebKitAPI::TEST):
527         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
528         (TestWebKitAPI::TEST):
529         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
530         (TestWebKitAPI::TEST):
531         * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
532         (TestWebKitAPI::TEST):
533         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
534         (TestWebKitAPI::TEST):
535         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
536         (TestWebKitAPI::TEST):
537         * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
538         (TestWebKitAPI::TEST):
539         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
540         (TestWebKitAPI::TEST):
541         * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
542         (TestWebKitAPI::TEST):
543         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
544         (TestWebKitAPI::TEST):
545         * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
546         (TestWebKitAPI::TEST):
547         * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
548         (TestWebKitAPI::TEST):
549         * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
550         (TestWebKitAPI::TEST):
551         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
552         (TestWebKitAPI::TEST):
553         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
554         (TestWebKitAPI::TEST):
555         * TestWebKitAPI/Tests/WebKit/WebCoreStatisticsWithNoWebProcess.cpp:
556         (TestWebKitAPI::TEST):
557         * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
558         (TestWebKitAPI::TEST):
559         * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
560         (TestWebKitAPI::TEST):
561         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
562         (WebKit2_CommandBackForwardTestWKView::SetUp):
563         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
564         (TestWebKitAPI::TEST):
565         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
566         (TestWebKitAPI::TEST):
567         * TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm:
568         (TestWebKitAPI::TEST):
569         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
570         (TestWebKitAPI::WebKitAgnosticTest::runWebKit2Test):
571
572 2019-01-03  Matt Rajca  <mrajca@apple.com>
573
574         Make DidPlayMediaPreventedFromPlaying autoplay event more generic.
575         https://bugs.webkit.org/show_bug.cgi?id=193128
576         rdar://34554231
577
578         Reviewed by Jer Noble.
579
580         Today, the "DidPlayMediaPreventedFromPlaying" autoplay event is only sent for
581         media prevented from autoplaying. It could be generalized to a "DidPlayMediaWithUserGesture"
582         event along with a flag that indicates whether or not autoplay was actually prevented.
583
584         Tests: existing API tests were updated to reflect the new names. New API tests
585         were added for the new case in which the "DidPlayMediaWithUserGesture" event is sent.
586
587         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
588         * TestWebKitAPI/Tests/WebKit/long-test.mp4: Added.
589         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
590         (TEST):
591         * TestWebKitAPI/Tests/WebKitCocoa/audio-with-play-button.html: Added.
592         * TestWebKitAPI/Tests/WebKitCocoa/video-with-play-button.html: Added.
593
594 2019-01-04  Chris Dumez  <cdumez@apple.com>
595
596         [PSON] Calling history.back() from inside the load event handler prevents process-swapping
597         https://bugs.webkit.org/show_bug.cgi?id=193120
598
599         Reviewed by Alex Christensen.
600
601         Add API test coverage.
602
603         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
604
605 2019-01-04  Chris Dumez  <cdumez@apple.com>
606
607         Crash under WebProcessPool::addSuspendedPage()
608         https://bugs.webkit.org/show_bug.cgi?id=193110
609
610         Reviewed by Youenn Fablet.
611
612         Add API test coverage.
613
614         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
615
616 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
617
618         [ews-build] Check patch relevance before applying the patch
619         https://bugs.webkit.org/show_bug.cgi?id=193102
620
621         Reviewed by Lucas Forschler.
622
623         * BuildSlaveSupport/ews-build/factories.py:
624         (Factory.__init__): Moved CheckPatchRelevance step to base class.
625
626 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
627
628         [ews-build] Check patch relevance step should print patch id
629         https://bugs.webkit.org/show_bug.cgi?id=193137
630
631         Reviewed by Lucas Forschler.
632
633         * BuildSlaveSupport/ews-build/steps.py:
634         (CheckPatchRelevance.start): Update the status to include patch id.
635
636 2019-01-04  Jonathan Bedard  <jbedard@apple.com>
637
638         webkitpy: Increase simulator teardown timeout
639         https://bugs.webkit.org/show_bug.cgi?id=193141
640         <rdar://problem/46174217>
641
642         Rubber-stamped by Aakash Jain.
643
644         * Scripts/webkitpy/xcode/simulated_device.py:
645         (SimulatedDeviceManager.tear_down): Use SIMULATOR_BOOT_TIMEOUT.
646
647 2019-01-03  Ross Kirsling  <ross.kirsling@sony.com>
648
649         test262-runner misbehaves when test file YAML has a trailing space
650         https://bugs.webkit.org/show_bug.cgi?id=193053
651
652         Reviewed by Yusuke Suzuki.
653
654         * Scripts/test262/Runner.pm:
655         (parseData):
656         Accept trailing space when parsing a test file's YAML block.
657
658 2019-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
659
660         UserMedia test should use WKPageNavigationClient
661         https://bugs.webkit.org/show_bug.cgi?id=192913
662
663         Reviewed by Youenn Fablet.
664
665         The test currently uses the deprecated WKPageLoaderClient. It should use
666         WKPageNavigationClient instead, which provides the same callback under a similar name.
667
668         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
669         (TestWebKitAPI::TEST):
670
671 2019-01-02  Alex Christensen  <achristensen@webkit.org>
672
673         Homograph with LATIN SMALL LETTER R WITH FISHHOOK
674         https://bugs.webkit.org/show_bug.cgi?id=192944
675
676         Reviewed by Tim Horton.
677
678         * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
679         (TestWebKitAPI::TEST):
680
681 2019-01-02  Wenson Hsieh  <wenson_hsieh@apple.com>
682
683         Add support for using the current text selection as the find string on iOS
684         https://bugs.webkit.org/show_bug.cgi?id=193034
685         <rdar://problem/45138739>
686
687         Reviewed by Tim Horton.
688
689         Add a new API test to verify that the new WebKit SPI (_stringForFind, _takeFindStringFromSelection:, and
690         _setStringForFind) works as expected.
691
692         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
693         * TestWebKitAPI/Tests/WebKitCocoa/UseSelectionAsFindString.mm: Added.
694
695 2019-01-02  Aakash Jain  <aakash_jain@apple.com>
696
697         [ews-build] Use git on OpenSource EWS bots
698         https://bugs.webkit.org/show_bug.cgi?id=193092
699
700         Reviewed by Lucas Forschler.
701
702         * BuildSlaveSupport/ews-build/steps.py:
703         (CheckOutSource): Use git instead of svn.
704         (CheckOutSource.__init__): Use timeout of 2 hours since the initial checkout might take a long time.
705
706 2019-01-02  Daniel Bates  <dabates@apple.com>
707
708         [lldb-webkit] Remove broken code to print WTF::OptionSet::m_storage
709         https://bugs.webkit.org/show_bug.cgi?id=193023
710
711         Reviewed by Simon Fraser.
712
713         The code to print WTF::OptionSet::m_storage as an item in the set never worked and does
714         not seem meaningful to fix because WTF::OptionSet::m_storage is just the sum of the printed
715         enumerator values. We should just remove this code.
716
717         * lldb/lldb_webkit.py:
718         (WTFOptionSetProvider.has_children):
719         (WTFOptionSetProvider.num_children):
720         (WTFOptionSetProvider.get_child_index):
721         (WTFOptionSetProvider.get_child_at_index):
722
723 2018-12-29  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
724
725         .ycm_extra_conf.py should handle XXXInlines.h
726         https://bugs.webkit.org/show_bug.cgi?id=193055
727
728         Reviewed by Carlos Garcia Campos.
729
730         compile_commands.json database only records flags and options for cpp source files.
731         So, when we open headers, this database does not have any information for that.
732         Our .ycm_extra_conf.py alleviates this by using XXX.cpp's configuration for XXX.h.
733         But this mitigation does not handle XXXInlines.h well since we do not have XXXInlines.cpp.
734         This patch adds support for XXXInlines.h in .ycm_extra_conf.py. When XXXInlines.h is queried,
735         we attempt to find XXX.cpp and use the configuration if it exists.
736
737         * gtk/ycm_extra_conf.py:
738         (getImplementationFilename):
739         (FlagsForFile):
740
741 2018-12-31  Carlos Garcia Campos  <cgarcia@igalia.com>
742
743         Unreviewed. Support PHP 7.3 in Debian.
744
745         Add 7.3 to the list of php versions supported in Debian.
746
747         * Scripts/webkitpy/port/base.py:
748         (Port._debian_php_version):
749
750 2018-12-27  Alex Christensen  <achristensen@webkit.org>
751
752         Resurrect Mac CMake build
753         https://bugs.webkit.org/show_bug.cgi?id=192658
754
755         Reviewed by Yusuke Suzuki.
756
757         * DumpRenderTree/PlatformMac.cmake:
758         * MiniBrowser/mac/CMakeLists.txt:
759         * TestWebKitAPI/PlatformMac.cmake:
760
761 2018-12-26  Adrian Perez de Castro  <aperez@igalia.com>
762
763         [Tools] Remove references to Bison and Flex
764         https://bugs.webkit.org/show_bug.cgi?id=193033
765
766         Reviewed by Michael Catanzaro.
767
768         The Bison and Flex tools are not needed anymore since r209883.
769
770         * CygwinDownloader/cygwin-downloader.py:
771         * EWSTools/ubuntu-ews-packages:
772         * Scripts/filter-build-webkit:
773         (shouldIgnoreLine):
774         * gtk/install-dependencies:
775         * wpe/install-dependencies:
776
777 2018-12-22  Carlos Garcia Campos  <cgarcia@igalia.com>
778
779         WebDriver: warn about non existing tests when parsing expectations
780         https://bugs.webkit.org/show_bug.cgi?id=192979
781
782         Reviewed by Michael Catanzaro.
783
784         It's common to update web driver tests and forget updating the test expectations in case of tests removed or
785         renamed.
786
787         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
788         (WebDriverTestRunner.__init__):
789
790 2018-12-21  Chris Dumez  <cdumez@apple.com>
791
792         navigator.userAgent in service workers does not reflect customUserAgent set by client
793         https://bugs.webkit.org/show_bug.cgi?id=192951
794
795         Reviewed by Youenn Fablet.
796
797         Extend API test coverage.
798
799         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
800         (-[SWCustomUserAgentDelegate initWithUserAgent:]):
801         (-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
802         (-[SWUserAgentMessageHandler initWithExpectedMessage:]):
803         (-[SWUserAgentMessageHandler userContentController:didReceiveScriptMessage:]):
804
805 2018-12-21  Jiewen Tan  <jiewen_tan@apple.com>
806
807         [WebAuthN] userPresence should always be true
808         https://bugs.webkit.org/show_bug.cgi?id=192835
809         <rdar://problem/46538788>
810
811         Reviewed by Brent Fulgham.
812
813         * TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
814         (TestWebKitAPI::TEST):
815
816 2018-12-19  Simon Fraser  <simon.fraser@apple.com>
817
818         Add support to run-benchmark to use non-default copies of the browser apps
819         https://bugs.webkit.org/show_bug.cgi?id=192905
820         rdar://problem/46845840
821
822         Reviewed by Dewei Zhu.
823         
824         Add support for a --browser-path argument to run-benchmark, which allows you to use
825         a custom app bundle for a given browser (only implemented for Safari at present).
826
827         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
828         (BenchmarkRunner.__init__):
829         * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
830         (BrowserDriver.__init__):
831         * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
832         (BrowserDriverFactory.create):
833         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
834         (OSXBrowserDriver._launch_process):
835         (OSXBrowserDriver._launch_process_with_caffeinate): Fix spelling.
836         (OSXBrowserDriver._launch_process_with_caffinate): Deleted.
837         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
838         (OSXChromeCanaryDriver.launch_url):
839         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
840         (OSXFirefoxNightlyDriver.launch_url):
841         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
842         (OSXSafariDriver.__init__):
843         (OSXSafariDriver.launch_url):
844         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
845         (parse_args):
846         (run_benchmark_plan):
847         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
848         (WebServerBenchmarkRunner.__init__):
849         * Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py:
850         (FakeBenchmarkRunner.__init__):
851
852 2018-12-21  Jiewen Tan  <jiewen_tan@apple.com>
853
854         [WebAuthN] Import an APDU coder from Chromium
855         https://bugs.webkit.org/show_bug.cgi?id=192949
856         <rdar://problem/46879933>
857
858         Reviewed by Brent Fulgham.
859
860         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
861         * TestWebKitAPI/Tests/WebCore/ApduTest.cpp: Added.
862         (TestWebKitAPI::TEST):
863
864 2018-12-21  Wenson Hsieh  <wenson_hsieh@apple.com>
865
866         Setting the file wrapper and content type of an attachment to a PDF should update its image
867         https://bugs.webkit.org/show_bug.cgi?id=192984
868         <rdar://problem/46798028>
869
870         Reviewed by Tim Horton.
871
872         Add an API test to verify that setting the file wrapper for a _WKAttachment with an enclosing image element with
873         PDF data correctly updates the image element.
874
875         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
876
877 2018-12-21  Michael Catanzaro  <mcatanzaro@igalia.com>
878
879         Add JSCOnly to bot dashboard
880         https://bugs.webkit.org/show_bug.cgi?id=192964
881
882         Reviewed by Alexey Proskuryakov.
883
884         Apparently we have five JSCOnly test bots and multiple developers working on keeping them in
885         good shape. Sadly, they are hidden bots not exposed in the dashboard. They would be more
886         useful if they were not so secret, so add them.
887
888         There appear to be no build-only bots, so the first column is blank. And of course there are
889         no WebKit1 or WebKit2 bots, because this is JSCOnly, so the second and third columns are
890         blank too. That's OK. This will be the last bot on the dashboard, so it won't look too bad,
891         and there's plenty of room in the final column for all the bots.
892
893         I had a hard time picking a logo to use, because the JavaScript language does not have an
894         official logo. But I believe I've found one that will be satisfactory.
895
896         I will sneak in one bonus change: WPE's EWS queue was missing, and has been added.
897
898         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/SquirrelFish.png: Added.
899         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/SquirrelFish@2x.png: Added.
900         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
901         (BubbleQueueServer):
902         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
903         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
904         (WebKitBuildbot):
905         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
906         (table.queue-grid tr.platform.linux-jsconly img.logo):
907
908 2018-12-21  Benjamin Poulain  <benjamin@webkit.org>
909
910         <rdar://problem/46194315> macOS: WebKit1 does not handle occlusion changes
911         https://bugs.webkit.org/show_bug.cgi?id=192821
912
913         Reviewed by Chris Dumez.
914
915         * DumpRenderTree/mac/DumpRenderTree.mm:
916         (createWebViewAndOffscreenWindow):
917         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
918
919 2018-12-20  Fujii Hironori  <Hironori.Fujii@sony.com>
920
921         [Win][Clang] Fix compilation warnings of DumpRenderTree
922         https://bugs.webkit.org/show_bug.cgi?id=192924
923
924         Reviewed by Alex Christensen.
925
926         * DumpRenderTree/AccessibilityController.h: Added member variable initializations in the class definition.
927         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
928         (AccessibilityController::AccessibilityController): Moved member variable initializations to the class definition.
929         * DumpRenderTree/win/DumpRenderTree.cpp:
930         (dumpHistoryItem): String literals can't be converted non-const type. Use auto for them.
931         (resetWebPreferencesToConsistentValues): Pass a temporal _bstr_t
932         object to the argument of setDefaultTextEncodingName instead of a
933         const string literal.
934         (createWebViewAndOffscreenWindow): Use %lx for HRESULT (aka 'long').
935         (main): Exit if _dup2 fails. Use %lu for'DWORD'(aka 'unsigned long').
936         (setCacheFolder): Deleted.
937         * DumpRenderTree/win/DumpRenderTreeWin.h: Fix class/struct mismatch of FrameLoadDelegate and PolicyDelegate declarations.
938         * DumpRenderTree/win/EditingDelegate.cpp:
939         (dump): Use %d for int.
940         * DumpRenderTree/win/FrameLoadDelegate.cpp: Removed unused variable g_delegateWaitingOnTimer.
941         * DumpRenderTree/win/ResourceLoadDelegate.cpp:
942         (BSTRFromString): Deleted unused function.
943         * DumpRenderTree/win/TestRunnerWin.cpp:
944         (TestRunner::setDatabaseQuota): Pass a temporal _bstr_t object to
945         the arguemnt of setQuota instead of const string literal.
946         * DumpRenderTree/win/WorkQueueItemWin.cpp:
947         (jsStringRefToWString): Deleted unused function.
948
949 2018-12-20  Chris Dumez  <cdumez@apple.com>
950
951         Add API test coverage for customUserAgent client setting and service workers
952         https://bugs.webkit.org/show_bug.cgi?id=192952
953
954         Reviewed by Alex Christensen.
955
956         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
957         (-[SWMessageHandler userContentController:didReceiveScriptMessage:]):
958         (-[SWSchemes webView:startURLSchemeTask:]):
959         (-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
960         (-[SWUserAgentMessageHandler userContentController:didReceiveScriptMessage:]):
961
962 2018-12-20  Chris Dumez  <cdumez@apple.com>
963
964         Use Optional::hasValue() instead of Optional::has_value()
965         https://bugs.webkit.org/show_bug.cgi?id=192948
966
967         Reviewed by Tim Horton.
968
969         * TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp:
970         (TestWebKitAPI::TEST):
971         * TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp:
972         (TestWebKitAPI::TEST):
973         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
974         (TestWebKitAPI::TEST_F):
975
976 2018-12-20  Chris Dumez  <cdumez@apple.com>
977
978         Add style script rule to check for uses of std::optional<>
979         https://bugs.webkit.org/show_bug.cgi?id=192931
980
981         Reviewed by Tim Horton.
982
983         * Scripts/webkitpy/style/checkers/cpp.py:
984         (check_wtf_optional):
985         (check_style):
986
987 2018-12-20  Jiewen Tan  <jiewen_tan@apple.com>
988
989         [WebAuthN] Add a runtime flag for local authenticator
990         https://bugs.webkit.org/show_bug.cgi?id=192792
991         <rdar://problem/46798738>
992
993         Reviewed by Brent Fulgham.
994
995         * DumpRenderTree/TestOptions.cpp:
996         (TestOptions::TestOptions):
997         * DumpRenderTree/TestOptions.h:
998         * DumpRenderTree/mac/DumpRenderTree.mm:
999         (enableExperimentalFeatures):
1000         (setWebPreferencesForTestOptions):
1001         * WebKitTestRunner/TestController.cpp:
1002         (WTR::TestController::resetPreferencesToConsistentValues):
1003         (WTR::updateTestOptionsFromTestHeader):
1004         * WebKitTestRunner/TestOptions.h:
1005         (WTR::TestOptions::hasSameInitializationOptions const):
1006
1007 2018-12-20  Jonathan Bedard  <jbedard@apple.com>
1008
1009         webkitpy: Autoinstall package URLs have changed
1010         https://bugs.webkit.org/show_bug.cgi?id=192909
1011         <rdar://problem/46860359>
1012
1013         Rubber-stamped by Alexey Proskuryakov.
1014
1015         PyPi urls have been moved around, we need to update our auto-installed packages.
1016
1017         We should check for Selenium before asking PyPi for the latest version.
1018
1019         * Scripts/webkitpy/thirdparty/__init__.py:
1020         (AutoinstallImportHook._install_mechanize): Update with new pypi url.
1021         (AutoinstallImportHook._install_keyring): Ditto.
1022         (AutoinstallImportHook._install_pep8): Ditto.
1023         (AutoinstallImportHook._install_mozlog): Ditto.
1024         (AutoinstallImportHook._install_mozprocess): Ditto.
1025         (AutoinstallImportHook._install_pytest_timeout): Ditto.
1026         (AutoinstallImportHook._install_pytest): Ditto.
1027         (AutoinstallImportHook._install_pylint): Ditto.
1028         (AutoinstallImportHook._install_buildbot): Ditto.
1029         (AutoinstallImportHook._install_coverage): Ditto.
1030         (AutoinstallImportHook._install_twisted_15_5_0): Ditto.
1031         (AutoinstallImportHook._install_selenium): Update with new pypi url, only check
1032         for new Selenium if the installed version isn't sufficient.
1033         (AutoinstallImportHook.get_latest_pypi_url): Update with new pypi url.
1034
1035 2018-12-20  Chris Dumez  <cdumez@apple.com>
1036
1037         Use Optional::valueOr() instead of Optional::value_or()
1038         https://bugs.webkit.org/show_bug.cgi?id=192933
1039
1040         Reviewed by Geoffrey Garen.
1041
1042         * TestWebKitAPI/Tests/WTF/URLParser.cpp:
1043         (TestWebKitAPI::checkURL):
1044         (TestWebKitAPI::checkRelativeURL):
1045         (TestWebKitAPI::checkURLDifferences):
1046         (TestWebKitAPI::checkRelativeURLDifferences):
1047         * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:
1048         (TestWebKitAPI::checkURL):
1049
1050 2018-12-20  Ryan Haddad  <ryanhaddad@apple.com>
1051
1052         Unreviewed, rolling out r239417.
1053
1054         Introduced two API test failures on macOS.
1055
1056         Reverted changeset:
1057
1058         "<rdar://problem/46194315> macOS: WebKit1 does not handle
1059         occlusion changes"
1060         https://bugs.webkit.org/show_bug.cgi?id=192821
1061         https://trac.webkit.org/changeset/239417
1062
1063 2018-12-20  Devin Rousso  <drousso@apple.com>
1064
1065         Web Inspector: UIString should take an optional key and description to aid localization
1066         https://bugs.webkit.org/show_bug.cgi?id=153962
1067         <rdar://problem/24542505>
1068
1069         Reviewed by Brian Burg.
1070
1071         * Scripts/extract-localizable-js-strings:
1072
1073 2018-12-20  Tim Horton  <timothy_horton@apple.com>
1074
1075         Unparented WKWebView can't retrieve main resource data for a main frame plugin
1076         https://bugs.webkit.org/show_bug.cgi?id=192923
1077         <rdar://problem/46859068>
1078
1079         Reviewed by Wenson Hsieh.
1080
1081         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1082         * TestWebKitAPI/WebKitCocoa/GetResourceData.mm:
1083         Add a test ensuring that both parented and unparented WKWebViews can
1084         retrieve main resource data when loading a PDF.
1085
1086 2018-12-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1087
1088         [GTK][WPE] Bump webkitgtk-test-fonts to 0.0.8
1089         https://bugs.webkit.org/show_bug.cgi?id=192852
1090
1091         Reviewed by Michael Catanzaro.
1092
1093         EmojiOne font was replaced by Noto Color Emoji.
1094
1095         * WebKitTestRunner/gtk/fonts/fonts.conf: Use Noto Color Emoji when Apple Color Emoji font family is used in tests.
1096         * gtk/jhbuild.modules:
1097         * wpe/jhbuild.modules:
1098
1099 2018-12-19  Chris Dumez  <cdumez@apple.com>
1100
1101         wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from
1102         https://bugs.webkit.org/show_bug.cgi?id=192728
1103         <rdar://problem/46746779>
1104
1105         Reviewed by Geoff Garen.
1106
1107         * DumpRenderTree/*:
1108         * MiniBrowser/*:
1109         * TestRunnerShared/*:
1110         * TestWebKitAPI/*:
1111         * WebGPUAPIStructure/*:
1112         * WebKitTestRunner/*:
1113
1114 2018-12-19  Benjamin Poulain  <benjamin@webkit.org>
1115
1116         <rdar://problem/46194315> macOS: WebKit1 does not handle occlusion changes
1117         https://bugs.webkit.org/show_bug.cgi?id=192821
1118
1119         Reviewed by Chris Dumez.
1120
1121         * DumpRenderTree/mac/DumpRenderTree.mm:
1122         (createWebViewAndOffscreenWindow):
1123
1124 2018-12-19  Alex Christensen  <achristensen@webkit.org>
1125
1126         Navigations away from the SafeBrowsing interstitial show a flash of old content
1127         https://bugs.webkit.org/show_bug.cgi?id=192676
1128
1129         Reviewed by Chris Dumez.
1130
1131         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1132         (safeBrowsingView):
1133         (TEST):
1134         (-[SafeBrowsingHelper webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.
1135
1136 2018-12-19  Adrian Perez de Castro  <aperez@igalia.com>
1137
1138         [GTK][WPE] Unify TestController::platformRunUntil() and honor condition flag
1139         https://bugs.webkit.org/show_bug.cgi?id=192855
1140
1141         Reviewed by Michael Catanzaro.
1142
1143         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
1144         (WTR::TestController::notifyDone): Use the WPE implementation.
1145         (WTR::TestController::platformRunUntil): Use the WPE implementation.
1146         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
1147         (WTR::TestController::platformRunUntil): Honor the condition flag.
1148
1149 2018-12-19  Megan Gardner  <megan_gardner@apple.com>
1150
1151         Allow clients to set the navigator platform
1152         https://bugs.webkit.org/show_bug.cgi?id=192735
1153
1154         Reviewed by Tim Horton.
1155
1156         Add a test for setting a custom navigator platform.
1157
1158         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1159         (-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
1160         (-[CustomNavigatorPlatformDelegate webView:didFinishNavigation:]):
1161
1162 2018-12-19  Truitt Savell  <tsavell@apple.com>
1163
1164         Unreviewed, rolling out r239358.
1165
1166         Revision caused imported/w3c/web-platform-tests/IndexedDB/ to
1167         crash on Debug bots
1168
1169         Reverted changeset:
1170
1171         "Clean up IndexedDB files between tests"
1172         https://bugs.webkit.org/show_bug.cgi?id=192796
1173         https://trac.webkit.org/changeset/239358
1174
1175 2018-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
1176
1177         [iOS] A copied text selection is pasted as a web archive attachment in the entry view in Messages
1178         https://bugs.webkit.org/show_bug.cgi?id=192842
1179         <rdar://problem/46823586>
1180
1181         Reviewed by Tim Horton.
1182
1183         Adjusts an existing API test to verify that "com.apple.webarchive" is not one of the types registered to the
1184         item provider when dragging a rich text selection.
1185
1186         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
1187
1188 2018-12-18  David Quesada  <david_quesada@apple.com>
1189
1190         REGRESSION: [iOS] API test TestWebKitAPI._WKDownload.OriginatingWebView is a flaky failure
1191         https://bugs.webkit.org/show_bug.cgi?id=192810
1192         <rdar://problem/46812536>
1193
1194         Reviewed by Alex Christensen.
1195
1196         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
1197         (-[OriginatingWebViewDownloadDelegate _downloadDidStart:]):
1198             After releasing our reference to the web view, wait until the next turn of the runloop
1199             before checking that the originatingWebView has been zeroed, since the web view might
1200             still be referenced in the autorelease pool. This _WKDownload unit test isn't about
1201             testing general memory management of WKWebViews, only that _WKDownload does not retain
1202             its web view via the 'originatingWebView' property.
1203
1204 2018-12-18  Sihui Liu  <sihui_liu@apple.com>
1205
1206         Clean up IndexedDB files between tests
1207         https://bugs.webkit.org/show_bug.cgi?id=192796
1208
1209         Reviewed by Geoffrey Garen.
1210
1211         * DumpRenderTree/mac/DumpRenderTree.mm:
1212         (runTest):
1213         * WebKitTestRunner/TestController.cpp:
1214         (WTR::TestController::resetStateToConsistentValues):
1215         (WTR::RemoveAllIndexedDatabasesCallbackContext::RemoveAllIndexedDatabasesCallbackContext):
1216         (WTR::RemoveAllIndexedDatabasesCallback):
1217         (WTR::TestController::ClearIndexedDatabases):
1218         * WebKitTestRunner/TestController.h:
1219
1220 2018-12-18  Alex Christensen  <achristensen@webkit.org>
1221
1222         Fix API test introduced in r239339 on iOS.
1223         https://bugs.webkit.org/show_bug.cgi?id=192675
1224
1225         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1226         (TEST):
1227         The iOS implementation of the safe browsing warning is a little different.
1228         It does some element creation when it is added to the window so it knows how big it is.
1229         To test these elements, we need to simulate adding it to the window.
1230         A similar technique is done in other iOS API tests, such as SafeBrowsing.ShowWarningSPI.
1231
1232 2018-12-18  Jonathan Bedard  <jbedard@apple.com>
1233
1234         webkitpy: Ignore device type for test when using --force
1235         https://bugs.webkit.org/show_bug.cgi?id=192786
1236         <rdar://problem/46794894>
1237
1238         Reviewed by Daniel Bates.
1239
1240         It is sometimes the case that a contributor will wish to run a test on a specific device,
1241         despite expectations which indicate a test should not be run on that device.
1242
1243         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1244         (parse_args):
1245         * Scripts/webkitpy/port/device_port.py:
1246         (DevicePort.default_child_processes): Strip device type information when using --force.
1247         (DevicePort.setup_test_run): Only allow incomplete match when using --force.
1248
1249 2018-12-18  Alex Christensen  <achristensen@webkit.org>
1250
1251         WKWebView has old URL while displaying SafeBrowsing interstitial, for link-click navigations
1252         https://bugs.webkit.org/show_bug.cgi?id=192675
1253
1254         Reviewed by Geoffrey Garen.
1255
1256         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1257         (goBack):
1258         (TEST):
1259         (visitUnsafeSite):
1260         (-[SafeBrowsingHelper observeValueForKeyPath:ofObject:change:context:]):
1261         (-[SafeBrowsingHelper webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1262
1263 2018-12-18  Chris Dumez  <cdumez@apple.com>
1264
1265         Regression(r239182) SuspendedPage's process reuse for link navigation optimization sometimes broken
1266         https://bugs.webkit.org/show_bug.cgi?id=192772
1267
1268         Reviewed by Antti Koivisto.
1269
1270         Add API test coverage.
1271
1272         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1273
1274 2018-12-18  Philippe Normand  <pnormand@igalia.com>
1275
1276         Unreviewed, JHBuild GTK build fix attempt
1277
1278         * gtk/jhbuild.modules: There's no libffi in this moduleset anymore.
1279         There's no ninja module either, it should be provided by the
1280         host system.
1281
1282 2018-12-17  Chris Dumez  <cdumez@apple.com>
1283
1284         Allow passing nil as session state to [WKWebView _restoreSessionState:]
1285         https://bugs.webkit.org/show_bug.cgi?id=192789
1286         <rdar://problem/46755277>
1287
1288         Reviewed by Alex Christensen.
1289
1290         Add API test coverage.
1291
1292         * TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:
1293         (TEST):
1294
1295 2018-12-17  Simon Fraser  <simon.fraser@apple.com>
1296
1297         Don't use more expensive layer backing store formats when subpixel text antialiasing is not enabled
1298         https://bugs.webkit.org/show_bug.cgi?id=192780
1299         rdar://problem/43394387
1300
1301         Reviewed by Tim Horton.
1302
1303         No need to set "AppleFontSmoothing" defaults for WK2.
1304
1305         * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
1306         (WTR::InjectedBundle::platformInitialize):
1307
1308 2018-12-17  Jonathan Bedard  <jbedard@apple.com>
1309
1310         webkitpy: Handle case where stdout and stderr don't accept unicode
1311         https://bugs.webkit.org/show_bug.cgi?id=192775
1312         <rdar://problem/46497303>
1313
1314         Reviewed by Stephanie Lewis.
1315
1316         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
1317         (MeteredStream.write): If unicode cannot be written to the stream, replace unicode
1318         characters with '?'.
1319         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
1320         (RegularTest.test_stream_with_encoding):
1321
1322 2018-12-17  Daniel Bates  <dabates@apple.com>
1323
1324         Support concatenating StringView with other string types
1325         https://bugs.webkit.org/show_bug.cgi?id=177566
1326
1327         Reviewed by Darin Adler.
1328
1329         Add some tests to ensure we do not regress the number of allocations needed when performing
1330         string concatenation with string views.
1331
1332         * TestWebKitAPI/Tests/WTF/StringOperators.cpp:
1333         (TestWebKitAPI::TEST):
1334
1335 2018-12-17  Commit Queue  <commit-queue@webkit.org>
1336
1337         Unreviewed, rolling out r239265 and r239274.
1338         https://bugs.webkit.org/show_bug.cgi?id=192765
1339
1340         unorm_normalize is deprecated, and broke an internal build
1341         (Requested by Truitt on #webkit).
1342
1343         Reverted changesets:
1344
1345         "[GTK][WPE] Need a function to convert internal URI to display
1346         ("pretty") URI"
1347         https://bugs.webkit.org/show_bug.cgi?id=174816
1348         https://trac.webkit.org/changeset/239265
1349
1350         "Fix the Apple Internal Mac build with a newer SDK"
1351         https://trac.webkit.org/changeset/239274
1352
1353 2018-12-17  Daniel Bates  <dabates@apple.com>
1354
1355         Implement UIScriptController::toggleCapsLock() for iOS
1356         https://bugs.webkit.org/show_bug.cgi?id=191815
1357
1358         Reviewed by Andy Estes.
1359
1360         Add support for toggling the caps lock state in WebKitTestRunner on iOS.
1361
1362         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1363         * WebKitTestRunner/TestController.cpp:
1364         (WTR::TestController::resetStateToConsistentValues): Clear the current modifier state
1365         before running a test. This ensures that the caps lock state does not persist between
1366         tests should a test enable caps lock and not disable it.
1367         * WebKitTestRunner/ios/HIDEventGenerator.mm:
1368         (hidUsageCodeForCharacter): Map "capsLock" to the Caps Lock key usage code.
1369         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1370         (WTR::createUIPhysicalKeyboardEvent): Modified to take the keyboard input flags to use to
1371         create the event. Also substituted NSString* for const String& as the data type for the first
1372         two parameters to avoid conversions in the implementation of UIScriptController::toggleCapsLock()
1373         below.
1374         (WTR::UIScriptController::keyDown): Update as needed due to changes to prototype of createUIPhysicalKeyboardEvent().
1375         (WTR::UIScriptController::toggleCapsLock): Dispatch a UIEvent to toggle caps lock.
1376
1377 2018-12-17  Daniel Bates  <dabates@apple.com>
1378
1379         [iOS] Remove -[WebEvent initWithKeyEventType:...:characterSet:]
1380         https://bugs.webkit.org/show_bug.cgi?id=192633
1381
1382         Reviewed by Wenson Hsieh.
1383
1384         Update code to use the modern initializer.
1385
1386         * DumpRenderTree/mac/EventSendingController.mm:
1387         (-[EventSendingController keyDown:withModifiers:withLocation:]):
1388
1389 2018-12-17  Matt Lewis  <jlewis3@apple.com>
1390
1391         Unreviewed, rolling out r239254.
1392
1393         This broke the Windows 10 Debug build
1394
1395         Reverted changeset:
1396
1397         "Replace many uses of String::format with more type-safe
1398         alternatives"
1399         https://bugs.webkit.org/show_bug.cgi?id=192742
1400         https://trac.webkit.org/changeset/239254
1401
1402 2018-12-17  David Kilzer  <ddkilzer@apple.com>
1403
1404         clang-tidy: loop variable is copied but only used as const reference in WebCore, WebKit, Tools
1405         <https://webkit.org/b/192751>
1406         <rdar://problem/46771623>
1407
1408         Reviewed by Daniel Bates.
1409
1410         Change loop variables to const references to avoid unnecessary
1411         copies.
1412
1413         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
1414         (-[LocalPasteboard pasteboardItems]):
1415
1416 2018-12-17  Ms2ger  <Ms2ger@igalia.com>
1417
1418         [GTK][WPE] Need a function to convert internal URI to display ("pretty") URI
1419         https://bugs.webkit.org/show_bug.cgi?id=174816
1420
1421         Reviewed by Michael Catanzaro.
1422
1423         Add tests for userVisibleString() and (for GTK and WPE) webkit_uri_for_display().
1424
1425         * TestWebKitAPI/CMakeLists.txt:
1426         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1427         * TestWebKitAPI/Tests/WTF/URLHelpers.cpp: Added.
1428         (TestWebKitAPI::TEST):
1429         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitURIUtilities.cpp: Added.
1430         (testURIForDisplayUnaffected):
1431         (testURIForDisplayAffected):
1432         (beforeAll):
1433         (afterAll):
1434         * TestWebKitAPI/glib/CMakeLists.txt:
1435
1436 2018-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1437
1438         [WPE] Add API to notify about frame displayed view backend callback
1439         https://bugs.webkit.org/show_bug.cgi?id=192224
1440
1441         Reviewed by Michael Catanzaro.
1442
1443         Add a test case to check the new API.
1444
1445         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
1446         (testWebViewFrameDisplayed):
1447         (beforeAll):
1448         * wpe/jhbuild.modules: Bump WPEBackend-fdo to 1.1.0.
1449
1450 2018-12-16  Adrian Perez de Castro  <aperez@igalia.com>
1451
1452         Unreviewed build fix after r239253
1453
1454         * gtk/jhbuild.modules: Fix typo in libpsl dependency name.
1455
1456 2018-12-15  Darin Adler  <darin@apple.com>
1457
1458         Use warning-ignoring macros more consistently and simply
1459         https://bugs.webkit.org/show_bug.cgi?id=192743
1460
1461         Reviewed by Mark Lam.
1462
1463         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
1464         (handleEventCarbon): Use ALLOW_DEPRECATED_DECLARATIONS_BEGIN/END.
1465         * DumpRenderTree/mac/TextInputControllerMac.m:
1466         (-[TextInputController interpretKeyEvents:withSender:]): Use
1467         IGNORE_WARNINGS_BEGIN/END.
1468         * WebKitTestRunner/mac/EventSenderProxy.mm:
1469         (WTR::EventSenderProxy::mouseForceClick): Use
1470         IGNORE_NULL_CHECK_WARNINGS_BEGIN/END.
1471         (WTR::EventSenderProxy::startAndCancelMouseForceClick): Ditto.
1472         (WTR::EventSenderProxy::mouseForceDown): Ditto.
1473         (WTR::EventSenderProxy::mouseForceUp): Ditto.
1474         (WTR::EventSenderProxy::mouseForceChanged): Ditto.
1475
1476 2018-12-15  Darin Adler  <darin@apple.com>
1477
1478         Replace many uses of String::format with more type-safe alternatives
1479         https://bugs.webkit.org/show_bug.cgi?id=192742
1480
1481         Reviewed by Mark Lam.
1482
1483         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1484         (WTR::cacheTestRunnerCallback): Use makeString.
1485         * WebKitTestRunner/TestController.cpp:
1486         (WTR::TestController::didReceiveAuthenticationChallenge): Use makeString.
1487         (WTR::TestController::downloadDidFail): Use an ASCIILiteral via the _s syntax.
1488
1489 2018-12-15  Adrian Perez de Castro  <aperez@igalia.com>
1490
1491         [WPE][GTK] Add libpsl to JHBuild module sets
1492         https://bugs.webkit.org/show_bug.cgi?id=192740
1493
1494         Reviewed by Michael Catanzaro.
1495
1496         * gtk/jhbuild.modules: Add libpsl module.
1497         * wpe/jhbuild.modules: Ditto.
1498
1499 2018-12-14  Alexey Proskuryakov  <ap@apple.com>
1500
1501         Add a style checker rule for Xcode version macros use
1502         https://bugs.webkit.org/show_bug.cgi?id=192703
1503
1504         Reviewed by Alex Christensen.
1505
1506         * Scripts/webkitpy/style/checkers/cpp.py:
1507         (check_os_version_checks):
1508         (process_line):
1509         (CppChecker):
1510         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1511         (WebKitStyleTest.test_os_version_checks):
1512
1513 2018-12-14  Chris Dumez  <cdumez@apple.com>
1514
1515         [PSON] Process-swapping on a loadHTMLString causes duplicate decidePolicyForNavigationAction delegate calls
1516         https://bugs.webkit.org/show_bug.cgi?id=192704
1517
1518         Reviewed by Geoffrey Garen.
1519
1520         Extend existing API test to reproduce the problem.
1521
1522         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1523
1524 2018-12-14  Chris Dumez  <cdumez@apple.com>
1525
1526         [PSON] WebsitePolicies are lost on process-swap
1527         https://bugs.webkit.org/show_bug.cgi?id=192694
1528         <rdar://problem/46715748>
1529
1530         Reviewed by Brady Eidson.
1531
1532         Extend existing API test to reproduce the issue.
1533
1534         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1535
1536 2018-12-14  Michael Catanzaro  <mcatanzaro@igalia.com>
1537
1538         [GTK] Error writing data to TLS socket in some sites when using the jhbuild
1539         https://bugs.webkit.org/show_bug.cgi?id=192678
1540
1541         Reviewed by Carlos Garcia Campos.
1542
1543         Update our ancient versions of libsoup and glib-networking.
1544
1545         * gtk/install-dependencies:
1546         * gtk/jhbuild.modules:
1547         * gtk/patches/libsoup-auth-Fix-async-authentication-when-flag-SOUP_MESSAGE.patch: Removed.
1548         * gtk/patches/libsoup-auth-do-not-use-cached-credentials-in-lookup-method-.patch: Removed.
1549         * gtk/patches/libsoup-soup-message-io-Do-not-fail-when-there-s-no-empty-li.patch: Removed.
1550         * gtk/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Removed.
1551         * wpe/install-dependencies:
1552         * wpe/jhbuild.modules:
1553         * wpe/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Removed.
1554
1555 2018-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1556
1557         [WPE] Use new view state API from libwpe
1558         https://bugs.webkit.org/show_bug.cgi?id=191906
1559
1560         Reviewed by Žan Doberšek.
1561
1562         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
1563         (beforeAll): Enable /webkit/WebKitWebView/page-visibility in WPE.
1564         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
1565         (Test::createWebViewBackend): Make the view initially hidden for consistency with GTK+ tests.
1566         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
1567         * TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp:
1568         (WebViewTest::showInWindow): Add wpe_view_activity_state_visible, wpe_view_activity_state_in_window and
1569         wpe_view_activity_state_focused state flags.
1570         (WebViewTest::hideView): Remove wpe_view_activity_state_visible and wpe_view_activity_state_focused state flags.
1571         * wpe/backends/HeadlessViewBackend.cpp:
1572         (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): Assume view is always visible, focused and in window.
1573         * wpe/backends/WindowViewBackend.cpp:
1574         (WPEToolingBackends::WindowViewBackend::WindowViewBackend): Update the view state flags depending on state
1575         received in configure callback.
1576         * wpe/jhbuild.modules: Bump libwpe to 1.1.0
1577
1578 2018-12-13  Fujii Hironori  <Hironori.Fujii@sony.com>
1579
1580         [WinCairo][Clang] DLLLauncherMain.cpp: warning: unused function 'prependPath' and 'appleApplicationSupportDirectory'
1581         https://bugs.webkit.org/show_bug.cgi?id=192688
1582
1583         Reviewed by Ross Kirsling.
1584
1585         * win/DLLLauncher/DLLLauncherMain.cpp:
1586         (copyEnvironmentVariable): Moved.
1587         (getStringValue): Enclosed with #if !defined(WIN_CAIRO).
1588         (applePathFromRegistry): Ditto.
1589         (appleApplicationSupportDirectory): Ditto.
1590         (prependPath): Ditto.
1591
1592 2018-12-13  Don Olmstead  <don.olmstead@sony.com>
1593
1594         Unreviewed. Changed my status to a reviewer.
1595
1596         * Scripts/webkitpy/common/config/contributors.json:
1597
1598 2018-12-13  Wenson Hsieh  <wenson_hsieh@apple.com>
1599
1600         [iOS] Support dropping contact card data (public.vcard) in editable content
1601         https://bugs.webkit.org/show_bug.cgi?id=192570
1602         <rdar://problem/35626913>
1603
1604         Reviewed by Tim Horton.
1605
1606         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1607
1608         Add API tests to verify that registering `MKMapItem`s and `CNContact`s to item providers and dropping them in
1609         attachment-enabled rich text editable areas inserts attachment elements (and in the case of `MKMapItem`,
1610         additionally inserts a link).
1611
1612         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
1613         (TestWebKitAPI::createMapItemForTesting):
1614         (TestWebKitAPI::createContactItemForTesting):
1615
1616         Add API tests to verify that dropping map items and contact items into rich and plain editable areas behaves as
1617         expected (in the case where a URL is present, e.g. dropping a map item, we insert the URL as an anchor, and when
1618         there is no other suitable representation in the item provider, we do nothing at all, which is the case for the
1619         dropped `CNContact`). Also, add a test to verify that drag and drop can be used to upload these items as .vcf
1620         files.
1621
1622 2018-12-13  Ross Kirsling  <ross.kirsling@sony.com>
1623
1624         Unreviewed -- update my status to "reviewer".
1625
1626         * Scripts/webkitpy/common/config/contributors.json:
1627
1628 2018-12-13  Youenn Fablet  <youenn@apple.com>
1629
1630         On page close, WebPage::m_userMediaPermissionRequestManager is nullified too early
1631         https://bugs.webkit.org/show_bug.cgi?id=192657
1632
1633         Reviewed by Eric Carlson.
1634
1635         Add a test that loads a page registering ondevicechange,
1636         load another page in the same process, closes the first page.
1637         Ensure that the process does not crash in that case.
1638
1639         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1640         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
1641         (TestWebKitAPI::TEST):
1642         (TestWebKitAPI::didCrashCallback):
1643         * TestWebKitAPI/Tests/WebKit/ondevicechange.html: Added.
1644
1645 2018-12-13  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
1646
1647         [GStreamer][JHBuild] update-webkit{gtk,wpe}-libs fails with libfdk-2.0.0
1648         https://bugs.webkit.org/show_bug.cgi?id=192643
1649
1650         Reviewed by Philippe Normand.
1651
1652         This problem happens with Arch Linux users which have libfdk-2.0.0
1653         installed (which is anybody with gst-plugins-bad 1.14.4 installed).
1654
1655         The problem has already been solved upstream at
1656         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/77.
1657
1658         Adding patches while this problem is not in a release yet.
1659
1660         * gstreamer/jhbuild.modules: Add patches to fix build of gst-plugins-bad with libfdk-2.0.0.
1661         * gstreamer/patches/gst-plugins-bad-0003-fdkaacenc-Remove-MODE_2_1.patch: Added.
1662         * gstreamer/patches/gst-plugins-bad-0004-fdkaacdec-Use-WAV-channel-mapping-instead-of-interleave-setting.patch: Added.
1663
1664 2018-12-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1665
1666         [FreeType] Add initial implementation of variation fonts
1667         https://bugs.webkit.org/show_bug.cgi?id=192151
1668
1669         Reviewed by Michael Catanzaro.
1670
1671         Add cairo patch to avoid crashes.
1672
1673         * gtk/jhbuild.modules:
1674         * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added.
1675
1676 2018-12-12  Fujii Hironori  <Hironori.Fujii@sony.com>
1677
1678         [Win][Clang][WebKitLegacy] WebFrame.cpp: warning: delete called on non-final 'WebFrame' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
1679         https://bugs.webkit.org/show_bug.cgi?id=192618
1680
1681         Reviewed by Alex Christensen.
1682
1683         * DumpRenderTree/win/DRTDataObject.cpp:
1684         * DumpRenderTree/win/DRTDataObject.h:
1685         * DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
1686         * DumpRenderTree/win/DRTDropSource.h:
1687         * DumpRenderTree/win/EditingDelegate.h:
1688         * DumpRenderTree/win/PolicyDelegate.h:
1689         * DumpRenderTree/win/UIDelegate.h:
1690
1691 2018-12-12  Ryosuke Niwa  <rniwa@webkit.org>
1692
1693         Make TextInputController.legacyAttributedString take DOM nodes and offsets
1694         https://bugs.webkit.org/show_bug.cgi?id=192653
1695
1696         Reviewed by Wenson Hsieh.
1697
1698         Updated TextInputController.legacyAttributedString to take DOM nodes and offsets instead of
1699         a DOM Range object in preparation to add layout tests for HTMLConverter which crosses
1700         shadow boundaries.
1701
1702         * DumpRenderTree/mac/TextInputControllerMac.m:
1703         (+[TextInputController isSelectorExcludedFromWebScript:]): Updated the selector signature.
1704         (+[TextInputController webScriptNameForSelector:]): Ditto.
1705         (-[TextInputController legacyAttributedString:offset:to:offset:]): Made this function take
1706         start node and offset then end node and offset pairs.
1707
1708 2018-12-12  Alex Christensen  <achristensen@webkit.org>
1709
1710         Implement safe browsing in WebKit on WatchOS
1711         https://bugs.webkit.org/show_bug.cgi?id=192641
1712         <rdar://problem/46376188>
1713
1714         Reviewed by Geoff Garen.
1715
1716         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1717         (-[SafeBrowsingNavigationDelegate _webViewDidShowSafeBrowsingWarning:]):
1718         (safeBrowsingView):
1719         Add a test that the new delegate callback is called.
1720
1721 2018-12-12  Michael Catanzaro  <mcatanzaro@igalia.com>
1722
1723         Unreviewed manual rollout of r239100-r239102 and r239116
1724         https://bugs.webkit.org/show_bug.cgi?id=192151
1725         <rdar://problem/46655586>
1726
1727         * gtk/jhbuild.modules:
1728         * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Removed.
1729
1730 2018-12-12  Commit Queue  <commit-queue@webkit.org>
1731
1732         Unreviewed, rolling out r239103.
1733         https://bugs.webkit.org/show_bug.cgi?id=192627
1734
1735         It broke the built because it depends on another patch that
1736         didn't land yet (Requested by KaL on #webkit).
1737
1738         Reverted changeset:
1739
1740         "[WPE] Add API to notify about frame displayed view backend
1741         callback"
1742         https://bugs.webkit.org/show_bug.cgi?id=192224
1743         https://trac.webkit.org/changeset/239103
1744
1745 2018-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
1746
1747         [WPE] Add API to notify about frame displayed view backend callback
1748         https://bugs.webkit.org/show_bug.cgi?id=192224
1749
1750         Reviewed by Michael Catanzaro.
1751
1752         Add a test case to check the new API.
1753
1754         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
1755         (testWebViewFrameDisplayed):
1756         (beforeAll):
1757
1758 2018-12-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1759
1760         [FreeType] Add initial implementation of variation fonts
1761         https://bugs.webkit.org/show_bug.cgi?id=192151
1762
1763         Reviewed by Michael Catanzaro.
1764
1765         Add cairo patch to avoid crashes.
1766
1767         * gtk/jhbuild.modules:
1768         * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added.
1769
1770 2018-12-11  Justin Michaud  <justin_michaud@apple.com>
1771
1772         Implement feature flag for CSS Typed OM
1773         https://bugs.webkit.org/show_bug.cgi?id=192610
1774
1775         Reviewed by Ryosuke Niwa.
1776
1777         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1778
1779 2018-12-11  Chris Dumez  <cdumez@apple.com>
1780
1781         Unreviewed, fix bad check in API test added in r239080.
1782
1783         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1784
1785 2018-12-11  Fujii Hironori  <Hironori.Fujii@sony.com>
1786
1787         [Win][Clang] Fix warning -Wmissing-field-initializers
1788         https://bugs.webkit.org/show_bug.cgi?id=192584
1789
1790         Reviewed by Yusuke Suzuki.
1791
1792         Initialize a struct with '{ }' instead of '= {0}'.
1793
1794         * DumpRenderTree/win/DumpRenderTree.cpp:
1795         (runTest):
1796         * DumpRenderTree/win/EventSender.cpp:
1797         (makeMsg):
1798         (replaySavedEvents):
1799         (beginDragWithFilesCallback):
1800         * DumpRenderTree/win/PixelDumpSupportWin.cpp:
1801         (createBitmapContextFromWebView):
1802         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
1803         (updateMenuItemForHistoryItem):
1804         * MiniBrowser/win/WinMain.cpp:
1805         (wWinMain):
1806         * TestWebKitAPI/win/HostWindow.cpp:
1807         (TestWebKitAPI::HostWindow::clientRect const):
1808         (TestWebKitAPI::HostWindow::registerWindowClass):
1809         * TestWebKitAPI/win/PlatformWebViewWin.cpp:
1810         (TestWebKitAPI::PlatformWebView::registerWindowClass):
1811         * WebKitTestRunner/win/PlatformWebViewWin.cpp:
1812         (WTR::registerWindowClass):
1813         (WTR::PlatformWebView::windowFrame):
1814         (WTR::PlatformWebView::windowSnapshotImage):
1815
1816 2018-12-11  Chris Dumez  <cdumez@apple.com>
1817
1818         PSON logic gets confused by concurrent decidePolicyForNavigationAction requests
1819         https://bugs.webkit.org/show_bug.cgi?id=192482
1820         <rdar://problem/46470145>
1821
1822         Reviewed by Antti Koivisto.
1823
1824         Add API test coverage.
1825
1826         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1827
1828 2018-12-11  Andy Estes  <aestes@apple.com>
1829
1830         Introduce makeBlockPtr for lambdas
1831         https://bugs.webkit.org/show_bug.cgi?id=192594
1832
1833         Reviewed by Alex Christensen.
1834
1835         Adopted makeBlockPtr and added API tests.
1836
1837         * DumpRenderTree/TestRunner.cpp:
1838         (TestRunner::callUIScriptCallback):
1839         * TestWebKitAPI/Tests/WTF/BlockPtr.mm:
1840         (TestWebKitAPI::TEST):
1841         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
1842         (-[DownloadProgressTestRunner init]):
1843         (-[DownloadProgressTestRunner subscribeAndWaitForProgress]):
1844
1845 2018-12-11  Chris Dumez  <cdumez@apple.com>
1846
1847         REGRESSION (r238764-238783): TestWTF.WTF.StringOperators is failing
1848         https://bugs.webkit.org/show_bug.cgi?id=192361
1849         <rdar://problem/46524903>
1850
1851         Reviewed by Alex Christensen.
1852
1853         Compile StringOperators.cpp with -O1 optimization level instead of -Os. This
1854         fixes the failures for me locally.
1855
1856         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1857
1858 2018-12-11  Philippe Normand  <pnormand@igalia.com>
1859
1860         Unreviewed, WPE build fix after r239028
1861
1862         The FLATPAK_USER_DIR env var is not set early enough, leading to:
1863
1864         Traceback (most recent call last):
1865         File "/home/phil/WebKit/Tools/Scripts/webkit-flatpak", line 28, in <module>
1866           sys.exit(WebkitFlatpak.load_from_args().run())
1867         File "/home/phil/WebKit/Tools/flatpak/flatpakutils.py", line 761, in run
1868           if not self.clean_args():
1869         File "/home/phil/WebKit/Tools/flatpak/flatpakutils.py", line 574, in clean_args
1870           _log.debug("Using flatpak user dir: %s" % os.environ["FLATPAK_USER_DIR"])
1871         File "/usr/lib/python2.7/UserDict.py", line 40, in __getitem__
1872           raise KeyError(key)
1873         KeyError: 'FLATPAK_USER_DIR'
1874
1875         * flatpak/flatpakutils.py:
1876         (WebkitFlatpak.clean_args):
1877
1878 2018-12-10  Don Olmstead  <don.olmstead@sony.com>
1879
1880         Move ENABLE_RESOURCE_LOAD_STATISTICS to FeatureDefines.xcconfig
1881         https://bugs.webkit.org/show_bug.cgi?id=192573
1882
1883         Reviewed by Simon Fraser.
1884
1885         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1886
1887 2018-12-10  Don Olmstead  <don.olmstead@sony.com>
1888
1889         [CMake] Add ENABLE_RESOURCE_LOAD_STATISTICS to WebKitFeatures.cmake
1890         https://bugs.webkit.org/show_bug.cgi?id=192574
1891
1892         Reviewed by Michael Catanzaro.
1893
1894         * Scripts/webkitperl/FeatureList.pm:
1895
1896 2018-12-10  Don Olmstead  <don.olmstead@sony.com>
1897
1898         Sync FeatureList.pm
1899         https://bugs.webkit.org/show_bug.cgi?id=192565
1900
1901         Reviewed by Michael Catanzaro.
1902
1903         * Scripts/webkitperl/FeatureList.pm:
1904
1905 2018-12-10  Wenson Hsieh  <wenson_hsieh@apple.com>
1906
1907         [iOS] Unable to upload data that conforms to "public.item" but not "public.content"
1908         https://bugs.webkit.org/show_bug.cgi?id=192555
1909         <rdar://problem/35204990>
1910
1911         Reviewed by Tim Horton.
1912
1913         Add a test to verify that `.p12` files may be uploaded as files via drag and drop. "com.rsa.pkcs-12" is an
1914         example of a data type that conforms to "public.item", but not "public.content"; before this patch, we would
1915         only support uploading "public.content", so files such as these would not be accepted when dropping into file
1916         inputs, or be exposed as files on DataTransfer.
1917
1918         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
1919         (TestWebKitAPI::TEST):
1920
1921 2018-12-10  David Kilzer  <ddkilzer@apple.com>
1922
1923         Injected bundle for WebKitTestRunner leaks WKTypeRef objects
1924         <https://webkit.org/b/192481>
1925         <rdar://problem/46539059>
1926
1927         Follow-up to address Darin's feedback.
1928
1929         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1930         (WTR::TestRunner::shouldDumpPixels const):
1931         (WTR::TestRunner::whatToDump const):
1932         (WTR::TestRunner::shouldWaitUntilDone const):
1933         (WTR::TestRunner::shouldDumpFrameLoadCallbacks):
1934         (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
1935         (WTR::TestRunner::secureEventInputIsEnabled const):
1936         (WTR::TestRunner::isStatisticsPrevalentResource):
1937         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
1938         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
1939         (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
1940         (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
1941         (WTR::TestRunner::isStatisticsHasHadUserInteraction):
1942         (WTR::TestRunner::isStatisticsGrandfathered):
1943         (WTR::TestRunner::hasDOMCache):
1944         (WTR::TestRunner::keyExistsInKeychain):
1945
1946 2018-12-10  Jonathan Bedard  <jbedard@apple.com>
1947
1948         webkitpy: Ref tests don't respect platform specific expectations
1949         https://bugs.webkit.org/show_bug.cgi?id=192515
1950         <rdar://problem/46564839>
1951
1952         Reviewed by Lucas Forschler.
1953
1954         * Scripts/webkitpy/port/base.py:
1955         (Port._expected_baselines_for_suffixes): Accept multiple suffixes so ref tests can use this function.
1956         (Port.expected_baselines): Move implementation to _expected_baselines_for_suffixes.
1957         (Port.expected_filename): Remove irrelevant FIXME, code clean-up.
1958         (Port.reference_files): Instead of just searching a single directory, use _expected_baselines_for_suffixes to
1959         search all platform expectations as well.
1960         * Scripts/webkitpy/port/base_unittest.py:
1961         (test_ref_tests_platform_directory):
1962
1963 2018-12-10  Chris Dumez  <cdumez@apple.com>
1964
1965         Add SPI to allow the client to set the user-agent at main frame level, from the UIProcess
1966         https://bugs.webkit.org/show_bug.cgi?id=192509
1967         <rdar://problem/46500832>
1968
1969         Reviewed by Alex Christensen.
1970
1971         Add API test coverage.
1972
1973         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1974         (-[DataMappingSchemeHandler addMappingFromURLString:toData:]):
1975         (-[DataMappingSchemeHandler webView:startURLSchemeTask:]):
1976         (-[DataMappingSchemeHandler webView:stopURLSchemeTask:]):
1977         (-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
1978         (-[CustomUserAgentDelegate webView:didFinishNavigation:]):
1979
1980 2018-12-10  Wenson Hsieh  <wenson_hsieh@apple.com>
1981
1982         [iOS] Caret is obscured by finger when dragging over an editable element
1983         https://bugs.webkit.org/show_bug.cgi?id=192499
1984         <rdar://problem/46570101>
1985
1986         Reviewed by Tim Horton.
1987
1988         Augment some existing API tests to check that the `precise` flag is either on or off on `UIDropProposal`.
1989
1990         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
1991         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
1992         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
1993         (-[DragAndDropSimulator _resetSimulatedState]):
1994         (-[DragAndDropSimulator lastKnownDropProposal]):
1995
1996         Rename `currentDropProposal` to `lastKnownDropProposal`, and expose it as a readonly property.
1997
1998         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
1999         (-[DragAndDropSimulator _advanceProgress]):
2000         (-[DragAndDropSimulator setShowCustomActionSheetBlock:]):
2001         (-[DragAndDropSimulator showCustomActionSheetBlock]):
2002         (-[DragAndDropSimulator setConvertItemProvidersBlock:]):
2003         (-[DragAndDropSimulator convertItemProvidersBlock]):
2004         (-[DragAndDropSimulator setOverridePerformDropBlock:]):
2005         (-[DragAndDropSimulator overridePerformDropBlock]):
2006         (-[DragAndDropSimulator setOverrideDragUpdateBlock:]):
2007         (-[DragAndDropSimulator overrideDragUpdateBlock]):
2008         (-[DragAndDropSimulator setDropCompletionBlock:]):
2009         (-[DragAndDropSimulator dropCompletionBlock]):
2010
2011         Refactor these properties to return and take normal Objective-C blocks, rather than `BlockPtr`s. However, use
2012         `BlockPtr` instance variables to manage the lifetimes of these blocks.
2013
2014         (-[DragAndDropSimulator _webView:willUpdateDropProposalToProposal:forSession:]):
2015         (-[DragAndDropSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]): Deleted.
2016
2017         Update this to use the new WebKit delegate hook for overriding the drop proposal.
2018
2019 2018-12-10  Michael Catanzaro  <mcatanzaro@igalia.com>
2020
2021         [WPE][GTK] run-minibrowser improperly creates webkit-flatpak environment
2022         https://bugs.webkit.org/show_bug.cgi?id=190241
2023
2024         Reviewed by Carlos Garcia Campos.
2025
2026         run-minibrowser calls into webkit-flatpak to check if a flatpak environment is available.
2027         Currently this actually creates the directories needed for the flatpak environment. Fix it.
2028
2029         * flatpak/flatpakutils.py:
2030         (WebkitFlatpak.clean_args):
2031         (WebkitFlatpak.run):
2032
2033 2018-12-10  Michael Catanzaro  <mcatanzaro@igalia.com>
2034
2035         [GTK] Don't use the slice allocator
2036         https://bugs.webkit.org/show_bug.cgi?id=192360
2037
2038         Reviewed by Carlos Garcia Campos.
2039
2040         * MiniBrowser/gtk/main.c:
2041         (aboutDataRequestFree):
2042         (aboutDataRequestNew):
2043
2044 2018-12-10  Tim Horton  <timothy_horton@apple.com>
2045
2046         WKWebView should support custom tintColor
2047         https://bugs.webkit.org/show_bug.cgi?id=192518
2048         <rdar://problem/37243261>
2049
2050         Reviewed by Wenson Hsieh.
2051
2052         * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm:
2053         (TestWebKitAPI::TEST):
2054         Add a test that tintColor affects UITextInputTraits' interaction colors.
2055
2056 2018-12-09  Wenson Hsieh  <wenson_hsieh@apple.com>
2057
2058         [iOS] DragAndDropTests.RespectsExternalSourceFidelityRankings is flaky
2059         https://bugs.webkit.org/show_bug.cgi?id=192524
2060
2061         Reviewed by Ryosuke Niwa.
2062
2063         This test started failing on certain builds of iOS where UIKit now attempts to reveal the selection by scrolling
2064         (see <rdar://problem/28300343>). This API test simulates two drops from external sources, both from the point
2065         (300, 400) to (100, 300) in window coordinates. On these aforementioned builds of iOS, what happens is that the
2066         first drop inserts text that overflows the editable region by an enormous amount, which creates an extremely
2067         wide selection rect and increases the width of the document; revealing this selection causes the web view to
2068         scroll horizontally, such that the second attempt to simulate a drag from (300, 400) to (100, 300) fails, since
2069         these window coordinates no longer correspond to the drop destination element in the document.
2070
2071         To fix this test, we simply mark the drop destination as `overflow: hidden` to ensure that we don't try and
2072         scroll horizontally after the first drop.
2073
2074         * TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
2075
2076 2018-12-08  Daniel Bates  <dabates@apple.com>
2077
2078         Fix lldb_webkit.py following r238771
2079         (https://bugs.webkit.org/show_bug.cgi?id=190234)
2080
2081         Substitute WTFURLProvider for WebCoreURLProvider in one call site that was inadvertently
2082         missed in r238771.
2083
2084         * lldb/lldb_webkit.py:
2085         (WebCoreDocumentProvider.url):
2086
2087 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
2088
2089         [ews-build] check-patch-relevance failure should not mark the overall build as failure
2090         https://bugs.webkit.org/show_bug.cgi?id=192510
2091
2092         Reviewed by Lucas Forschler.
2093
2094         * BuildSlaveSupport/ews-build/steps.py:
2095         (CheckPatchRelevance.start):
2096
2097 2018-12-07  Chris Dumez  <cdumez@apple.com>
2098
2099         ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
2100         https://bugs.webkit.org/show_bug.cgi?id=192362
2101         <rdar://problem/46460360>
2102
2103         Reviewed by Ryosuke Niwa.
2104
2105         Move the call to _setCookieAcceptPolicy *after* we've constructed a WKWebView and thus
2106         *after* we know for sure we have a network process to communicate the policy to.
2107         This should address the failures on iOS.
2108
2109         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2110
2111 2018-12-07  Jiewen Tan  <jiewen_tan@apple.com>
2112
2113         Add keychain access entitlement to WebKitTestRunnerApp
2114         https://bugs.webkit.org/show_bug.cgi?id=192489
2115         <rdar://problem/45057952>
2116
2117         Reviewed by Alexey Proskuryakov.
2118
2119         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
2120
2121 2018-12-07  Saam Barati  <sbarati@apple.com>
2122
2123         WKWebProcessPlugInLoadDelegate should have API for saying which rendering events it wants to listen for
2124         https://bugs.webkit.org/show_bug.cgi?id=192473
2125
2126         Reviewed by Andy Estes.
2127
2128         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2129         * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgress.mm: Added.
2130         (-[DidFirstMeaningfulPaintRemoteObject didFirstMeaningfulPaint]):
2131         (TEST):
2132         * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressPlugIn.mm: Added.
2133         (-[RenderingProgressPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
2134         (-[RenderingProgressPlugIn webProcessPlugInBrowserContextControllerRenderingProgressEvents:]):
2135         (-[RenderingProgressPlugIn webProcessPlugInBrowserContextController:renderingProgressDidChange:]):
2136         * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressProtocol.h: Added.
2137
2138 2018-12-07  Jonathan Bedard  <jbedard@apple.com>
2139
2140         REGRESSION: run-webkit-tests may fail when using booted simulators (Follow-up fix)
2141         https://bugs.webkit.org/show_bug.cgi?id=192470
2142         <rdar://problem/46532001>
2143
2144         Unreviewed infrastructure fix.
2145
2146         * Scripts/webkitpy/port/device_port.py:
2147         (DevicePort.setup_test_run): Check that the number of initialized devices matches the
2148         number of child processes.
2149
2150 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
2151
2152         [ews-app] Send bug id as a build property
2153         https://bugs.webkit.org/show_bug.cgi?id=192494
2154
2155         Reviewed by Lucas Forschler.
2156
2157         * BuildSlaveSupport/ews-app/ews/fetcher.py:
2158         (BugzillaPatchFetcher.fetch):
2159
2160 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
2161
2162         [ews-build] Builds should have a link to patch and bug
2163         https://bugs.webkit.org/show_bug.cgi?id=192492
2164
2165         Reviewed by Lucas Forschler.
2166
2167         * BuildSlaveSupport/ews-build/steps.py:
2168         (ConfigureBuild.add_patch_id_url): Method to add Patch URL.
2169         (ConfigureBuild.add_bug_id_url): Method to add Bug URL.
2170         (ConfigureBuild.getPatchURL): Method to get Patch URL.
2171         (ConfigureBuild.getBugURL): Method to get Bug URL.
2172
2173 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
2174
2175         [ews-app] Configure logfile for ews-app logs
2176         https://bugs.webkit.org/show_bug.cgi?id=192493
2177
2178         Reviewed by Lucas Forschler.
2179
2180         * BuildSlaveSupport/ews-app/ews/__init__.py:
2181
2182 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
2183
2184         Style queue exception on some security bugs
2185         https://bugs.webkit.org/show_bug.cgi?id=190793
2186
2187         Reviewed by Lucas Forschler.
2188
2189         * Scripts/webkitpy/tool/steps/applywatchlist.py:
2190         (ApplyWatchList.run):
2191
2192 2018-12-07  Wenson Hsieh  <wenson_hsieh@apple.com>
2193
2194         [Attachment Support] Cloned attachment elements lose their unique identifiers
2195         https://bugs.webkit.org/show_bug.cgi?id=192483
2196
2197         Reviewed by Tim Horton.
2198
2199         Introduce a new API test.
2200
2201         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2202         (TestWebKitAPI::TEST):
2203
2204 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
2205
2206         Consecutive DumpRenderTree crashes are happening again on WinCairo BuildBots since r238903
2207         https://bugs.webkit.org/show_bug.cgi?id=192486
2208
2209         Unreviewed infrastructure fix.
2210
2211         WinCairo bots define WEBKIT_TEST_CHILD_PROCESSES to run less processes due to RAM restrictions.
2212
2213         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2214         (_set_up_derived_options):
2215
2216 2018-12-06  David Kilzer  <ddkilzer@apple.com>
2217
2218         Injected bundle for WebKitTestRunner leaks WKTypeRef objects
2219         <https://webkit.org/b/192481>
2220         <rdar://problem/46539059>
2221
2222         Reviewed by Simon Fraser.
2223
2224         This patch:
2225         - Fixes leaks in various injected bundle methods that return +1
2226           retained WKTypeRef objects via pointer.
2227         - Asserts the returned object is the expected WKTypeRef.
2228         - Replaces 0 with nullptr in many places.
2229
2230         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2231         (WTR::InjectedBundle::didCreatePage):
2232         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2233         (WTR::TestRunner::shouldDumpPixels const):
2234         (WTR::TestRunner::whatToDump const):
2235         (WTR::TestRunner::shouldWaitUntilDone const):
2236         (WTR::TestRunner::shouldDumpFrameLoadCallbacks):
2237         (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
2238         (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
2239         (WTR::TestRunner::secureEventInputIsEnabled const):
2240         (WTR::TestRunner::isStatisticsPrevalentResource):
2241         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
2242         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
2243         (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
2244         (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
2245         (WTR::TestRunner::isStatisticsHasHadUserInteraction):
2246         (WTR::TestRunner::isStatisticsGrandfathered):
2247         (WTR::TestRunner::statisticsProcessStatisticsAndDataRecords):
2248         (WTR::TestRunner::statisticsUpdateCookieBlocking):
2249         (WTR::TestRunner::statisticsSubmitTelemetry):
2250         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
2251         (WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval):
2252         (WTR::TestRunner::statisticsResetToConsistentState):
2253         (WTR::TestRunner::getAllStorageAccessEntries):
2254         (WTR::TestRunner::hasDOMCache):
2255         (WTR::TestRunner::domCacheSize):
2256         (WTR::TestRunner::injectUserScript):
2257         (WTR::TestRunner::keyExistsInKeychain):
2258
2259 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
2260
2261         REGRESSION: run-webkit-tests may fail when using booted simulators
2262         https://bugs.webkit.org/show_bug.cgi?id=192470
2263         <rdar://problem/46532001>
2264
2265         Reviewed by Lucas Forschler.
2266
2267         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2268         (Manager.run): Logging uses the number of child processes to print out information about how efficiently tests
2269         were sharded after the fact. This number is the most meaningful if it is the maximum number of child processes used.
2270         * Scripts/webkitpy/port/base.py:
2271         (Port.max_child_processes): By default, Ports do not support running on any specific kind of device.
2272         * Scripts/webkitpy/port/device_port.py:
2273         (DevicePort.default_child_processes): Rather than using the currently initialized devices as a proxy for how many
2274         child processes are being used, check the device manager every time. Regardless of which devices are attached or
2275         available, iOS cannot boot watchOS devices and vice-versa. dedicated_simulators is not a known argument to
2276         device_count_for_type, use use_booted_simulator instead.
2277         (DevicePort.max_child_processes): Simulators can boot more devices than what is specified by device_count_for_type,
2278         but, if no devices are available, then max_child_processes should return 0 even for simulators.
2279         * Scripts/webkitpy/port/ios_device_unittest.py:
2280         (IOSDeviceTest):
2281         (IOSDeviceTest.test_max_child_processes):
2282         * Scripts/webkitpy/port/ios_simulator_unittest.py:
2283         (IOSSimulatorTest):
2284         (IOSSimulatorTest.test_max_child_processes):
2285         * Scripts/webkitpy/port/port_testcase.py:
2286         (PortTestCase):
2287         (PortTestCase.test_max_child_processes):
2288         * Scripts/webkitpy/port/watch_simulator_unittest.py:
2289         (WatchSimulatorTest):
2290         (WatchSimulatorTest.test_max_child_processes):
2291
2292 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
2293
2294         webkitpy: Ignore case when comparing device types (Follow-up fix)
2295         https://bugs.webkit.org/show_bug.cgi?id=192409
2296         <rdar://problem/46491558>
2297
2298         Unreviewed typo fix.
2299
2300         * Scripts/webkitpy/xcode/device_type_unittest.py:
2301         (DeviceTypeTest.test_comparison_lower_case):
2302         (DeviceTypeTest.test_comparsion_lower_case): Deleted.
2303
2304 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
2305
2306         webkitpy: Create device given lower-case DeviceType
2307         <https://bugs.webkit.org/show_bug.cgi?id=192472>
2308         <rdar://problem/46532650>
2309
2310         Reviewed by Lucas Forschler.
2311
2312         * Scripts/webkitpy/xcode/simulated_device.py:
2313         (SimulatedDeviceManager._get_device_identifier_for_type): Comparing simctl device identifiers with DeviceTypes
2314         should be letter-case agnostic.
2315         * Scripts/webkitpy/xcode/simulated_device_unittest.py:
2316         (test_lower_case_device_type):
2317
2318 2018-12-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2319
2320         [iOS] WKWebView should match UITextView behavior when editing text with an RTL keyboard
2321         https://bugs.webkit.org/show_bug.cgi?id=187554
2322         <rdar://problem/42075638>
2323
2324         Reviewed by Tim Horton.
2325
2326         Add support for simulating the keyboard input mode in layout tests using UIScriptController, as well as a new
2327         `TestOption` to make the web view editable.
2328
2329         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
2330         (WTR::UIScriptController::setKeyboardInputModeIdentifier):
2331         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2332         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2333         (WTR::UIScriptController::setKeyboardInputModeIdentifier):
2334         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2335         * WebKitTestRunner/PlatformWebView.h:
2336         * WebKitTestRunner/TestController.cpp:
2337         (WTR::updateTestOptionsFromTestHeader):
2338         * WebKitTestRunner/TestController.h:
2339         (WTR::TestController::overriddenKeyboardInputMode const):
2340         * WebKitTestRunner/TestOptions.h:
2341         (WTR::TestOptions::hasSameInitializationOptions const):
2342         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2343         (WTR::TestController::platformCreateWebView):
2344         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
2345         (WTR::PlatformWebView::setEditable):
2346         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
2347         (WTR::PlatformWebView::setEditable):
2348         * WebKitTestRunner/ios/TestControllerIOS.mm:
2349         (WTR::TestController::platformResetStateToConsistentValues):
2350         (WTR::swizzleCurrentInputMode):
2351         (WTR::TestController::setKeyboardInputModeIdentifier):
2352
2353         Swizzle out several `UIKeyboardInputModeController` methods in order to convince UIKit that the user has
2354         selected a `UIKeyboardInputMode` corresponding to the given identifier. The call to
2355         `-prepareKeyboardInputModeFromPreferences:` is also necessary on iOS 12 in order to update cached writing
2356         direction state in UIKit.
2357
2358         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2359         (WTR::UIScriptController::setKeyboardInputModeIdentifier):
2360         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
2361         (WTR::PlatformWebView::setEditable):
2362         * WebKitTestRunner/win/PlatformWebViewWin.cpp:
2363         (WTR::PlatformWebView::setEditable):
2364         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
2365         (WTR::PlatformWebView::setEditable):
2366
2367 2018-12-05  Wenson Hsieh  <wenson_hsieh@apple.com>
2368
2369         [Cocoa] Share ClassMethodSwizzler and InstanceMethodSwizzler between TestWebKitAPI and WebKitTestRunner
2370         https://bugs.webkit.org/show_bug.cgi?id=192437
2371
2372         Reviewed by Tim Horton.
2373
2374         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2375         * TestRunnerShared/cocoa/ClassMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.h.
2376         * TestRunnerShared/cocoa/ClassMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.mm.
2377         (ClassMethodSwizzler::ClassMethodSwizzler):
2378         (ClassMethodSwizzler::~ClassMethodSwizzler):
2379         * TestRunnerShared/cocoa/InstanceMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.h.
2380         * TestRunnerShared/cocoa/InstanceMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.mm.
2381         (InstanceMethodSwizzler::InstanceMethodSwizzler):
2382         (InstanceMethodSwizzler::~InstanceMethodSwizzler):
2383
2384         Move these swizzling helper classes into TestRunnerShared.
2385
2386         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2387         * TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm:
2388         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
2389         (safeBrowsingView):
2390         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDefaultNavigationDelegate.mm:
2391         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2392         (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
2393
2394         Remove namespacing around ClassMethodSwizzler and InstanceMethodSwizzler in a few API tests.
2395
2396         * TestWebKitAPI/mac/TestFontOptions.mm:
2397         * WebKitTestRunner/TestController.h:
2398         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2399         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2400         (WTR::ClassMethodSwizzler::ClassMethodSwizzler): Deleted.
2401         (WTR::ClassMethodSwizzler::~ClassMethodSwizzler): Deleted.
2402
2403         Remove this duplicate implementation of ClassMethodSwizzler in WebKitTestRunner.
2404
2405 2018-12-05  Jonathan Bedard  <jbedard@apple.com>
2406
2407         webkitpy: Clean-up apple_additions
2408         https://bugs.webkit.org/show_bug.cgi?id=192413
2409         <rdar://problem/46493491>
2410
2411         Reviewed by Lucas Forschler.
2412
2413         After the addition of watchOS, some functions which were originally iOS specific were
2414         generalized to include all devices.
2415
2416         * Scripts/webkitpy/port/ios_device.py:
2417         (IOSDevicePort._driver_class): Replace iOS specific call with generalized device call.
2418         (IOSDevicePort.path_to_crash_logs): Ditto.
2419         (IOSDevicePort.clean_up_test_run): Ditto.
2420
2421 2018-12-05  Jonathan Bedard  <jbedard@apple.com>
2422
2423         webkitpy: Ignore case when comparing device types
2424         https://bugs.webkit.org/show_bug.cgi?id=192409
2425         <rdar://problem/46491558>
2426
2427         Reviewed by Lucas Forschler.
2428
2429         This allows DeviceTypes constructed with lowercase strings to correctly compare
2430         against DeviceTypes coming from the simulator runtime.
2431
2432         * Scripts/webkitpy/xcode/device_type.py:
2433         (DeviceType.__eq__):
2434         (DeviceType.__contains__):
2435         * Scripts/webkitpy/xcode/device_type_unittest.py:
2436         (DeviceTypeTest):
2437         (DeviceTypeTest.test_comparsion_lower_case):
2438
2439 2018-12-05  Jonathan Bedard  <jbedard@apple.com>
2440
2441         webkitpy: Sort tests by associated device type
2442         https://bugs.webkit.org/show_bug.cgi?id=192161
2443         <rdar://problem/46345392>
2444
2445         Reviewed by Lucas Forschler.
2446
2447         Sort tests by device type and make an effort to run each specified device type.
2448         Do not run tests if their specified device is not available.
2449
2450         * Scripts/webkitpy/common/system/platforminfo.py:
2451         (PlatformInfo.is_watchos): Add watchos bits to platform info.
2452         (PlatformInfo._determine_os_name): Ditto.
2453         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2454         (Manager.run): Assign each test a device type. Then, generate a list of
2455         device types to sequentially iterate through. Note that a test will run
2456         on the first device which matches.
2457         (Manager._end_test_run): Handle the case where no devices are available and no
2458         tests are run.
2459         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2460         (_set_up_derived_options): Manage child processes in manager.
2461         * Scripts/webkitpy/port/base.py:
2462         (Port):
2463         (Port.default_child_processes): Accept additional arguments.
2464         (Port.max_child_processes): Add upper limit for number of child processes.
2465         * Scripts/webkitpy/port/device_port.py:
2466         (DevicePort):
2467         (DevicePort._device_type_with_version): Adds version to the DeviceType.
2468         (DevicePort.default_child_processes): Allows default_child_processes to be
2469         attached to a device type.
2470         (DevicePort.max_child_processes): Add upper limit to the maximum number of child processes.
2471         (DevicePort.setup_test_run): Use _device_type_with_version.
2472         * Scripts/webkitpy/port/ios_device.py:
2473         (IOSDevicePort):
2474         (IOSDevicePort.default_child_processes): Deleted.
2475         * Scripts/webkitpy/port/ios_simulator.py:
2476         (IOSSimulatorPort.default_child_processes): Deleted.
2477         (IOSSimulatorPort.check_sys_deps): Deleted.
2478         * Scripts/webkitpy/port/mac.py:
2479         (MacPort.default_child_processes): Accept additional arguments.
2480         * Scripts/webkitpy/port/test.py:
2481         * Scripts/webkitpy/port/watch_device.py:
2482         (WatchDevicePort):
2483         (WatchDevicePort.default_child_processes): Deleted.
2484         * Scripts/webkitpy/port/watch_simulator.py:
2485         (WatchSimulatorPort.default_child_processes): Deleted.
2486         (WatchSimulatorPort.check_sys_deps): Deleted.
2487         * Scripts/webkitpy/xcode/simulated_device.py:
2488         (SimulatedDeviceManager):
2489         (SimulatedDeviceManager.device_count_for_type): Count the number of devices
2490         available for a specific device type.
2491
2492 2018-12-05  Devin Rousso  <drousso@apple.com>
2493
2494         Unreviewed, add myself to some watch lists.
2495
2496         * Scripts/webkitpy/common/config/watchlist:
2497
2498 2018-12-05  Alicia Boya García  <aboya@igalia.com>
2499
2500         [MSE][GStreamer] Remove the AppendPipeline state machine
2501         https://bugs.webkit.org/show_bug.cgi?id=192204
2502
2503         Reviewed by Xabier Rodriguez-Calvar.
2504
2505         Updated AbortableTaskQueue tests:
2506
2507         Added test: AbortedBySyncTaskHandler.
2508
2509         Renamed test: AbortDuringSyncTask -> AbortBeforeSyncTaskRun (in
2510         order to avoid confusion with the new test).
2511
2512         Added checks for the correct destruction of response objects.
2513
2514         * TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
2515         (TestWebKitAPI::FancyResponse::FancyResponse):
2516         (TestWebKitAPI::FancyResponse::~FancyResponse):
2517         (TestWebKitAPI::TEST):
2518
2519 2018-12-04  Chris Dumez  <cdumez@apple.com>
2520
2521         ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
2522         https://bugs.webkit.org/show_bug.cgi?id=192362
2523
2524         Reviewed by Alex Christensen.
2525
2526         Set the cookie policy to Accept to make sure the cookies are saved.
2527
2528         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2529
2530 2018-12-04  Michael Catanzaro  <mcatanzaro@igalia.com>
2531
2532         [WPE][GTK] Update GLib
2533         https://bugs.webkit.org/show_bug.cgi?id=191222
2534
2535         Reviewed by Žan Doberšek.
2536
2537         When I try running API tests locally, they crash with:
2538
2539         GLib-GIO-WARNING **: unknown schema extension 'd'
2540
2541         We need to update our old glib to support the 'd' value type, otherwise schemas that may
2542         exist on the host using this type will cause instant crashes.
2543
2544         Also, switch the GLib build to use meson. This requires updating meson as well.
2545
2546         * gtk/jhbuild.modules:
2547         * gtk/patches/glib-cast-function-type.patch: Removed.
2548         * gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Removed.
2549         * wpe/jhbuild.modules:
2550         * wpe/patches/glib-cast-function-type.patch: Removed.
2551         * wpe/patches/glib-revert-wakeup-changes.patch: Removed.
2552
2553 2018-12-04  Aakash Jain  <aakash_jain@apple.com>
2554
2555         [ews-app] Run BugzillaPatchFetcher periodically
2556         https://bugs.webkit.org/show_bug.cgi?id=192241
2557
2558         Reviewed by Lucas Forschler.
2559
2560         * BuildSlaveSupport/ews-app/ews/__init__.py:
2561         * BuildSlaveSupport/ews-app/ews/apps.py:
2562         (EwsConfig.ready): This method is called by Django on startup.
2563         * BuildSlaveSupport/ews-app/ews/fetcher.py:
2564         (FetchLoop): Class which invokes BugzillaPatchFetcher every 60s.
2565
2566 2018-12-04  Jonathan Bedard  <jbedard@apple.com>
2567
2568         webkitpy: Support unicode in MeteredStream
2569         https://bugs.webkit.org/show_bug.cgi?id=192260
2570
2571         Reviewed by Aakash Jain.
2572
2573         It's possible that the test runner returns unicode characters to be logged when
2574         running layout tests.
2575
2576         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
2577         (MeteredStream.write): Print message without attempting to encode/decode it.
2578         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
2579         (RegularTest.test_unicode):
2580
2581 2018-12-04  Keith Rollin  <krollin@apple.com>
2582
2583         Update scripts for generating .xcfilelist files
2584         https://bugs.webkit.org/show_bug.cgi?id=192081
2585         <rdar://problem/46312290>
2586
2587         Reviewed by Brent Fulgham.
2588
2589         The initial pass at generate-xcfilelists (a script for
2590         creating/updating the .xcfilelist files needed for various Generate
2591         Foo Source build phases in Xcode) only generated the .xcfilelist files
2592         that held the output files; it did not generate the list of input
2593         files. As well, for the sources generated by DerivedSources.make
2594         makefiles, the script accomplished this via the implementation of a
2595         convention in the makefile that allowed the printing of these output
2596         files when invoked with the 'print_all_generated_files' target. Use of
2597         this convention is inconvenient and error-prone.
2598
2599         The script is now updated to address both of these issues. First, it
2600         generates for the input and output sets of files. Second, it does away
2601         with the convention in the DerivedSources.make makefiles and instead
2602         works from the dependency output information printed when `make` is
2603         invoked with --debug. This second part is implemented in the new
2604         script extract-dependencies-from-makefile.
2605
2606         * Scripts/extract-dependencies-from-makefile: Added.
2607         (Parser):
2608         (Parser.__init__):
2609         (Parser.nextLine):
2610         (Parser.addTarget):
2611         (Parser.addPrereq):
2612         (Parser.doParse):
2613         (Parser.printInputs):
2614         (Parser.printOutputs):
2615         (parseArgs):
2616         (main):
2617         * Scripts/generate-xcfilelists:
2618
2619 2018-12-04  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
2620
2621         [WPE] Add gtk-doc
2622         https://bugs.webkit.org/show_bug.cgi?id=178900
2623
2624         Reviewed by Michael Catanzaro.
2625
2626         Add gtk-doc to WPE port. This patch tries to reuse as much code from
2627         WebKitGTK+ as possible.
2628
2629         * gtkdoc/generate-gtkdoc: Renamed from Tools/gtk/generate-gtkdoc.
2630         (get_gtkdoc_module_paths): Add GDK and GTK only if building for GTK.
2631         (prepare_environment_for_gtkdoc_generation):
2632         (build_gtkdoc_for_wpe): Code to generate doc for WPE.
2633         (build_gtkdoc_for_wkgtk): Code to generate doc for WebKitGTK+. Moved from main.
2634         * gtkdoc/gtkdoc.py: Renamed from Tools/gtk/gtkdoc.py.
2635         (GTKDoc.__init__): Initialized required variables according to pylint.
2636         (GTKDoc.api_missing_documentation):
2637         * wpe/install-dependencies: Add gtkdoc dependency.
2638
2639 2018-12-04  Carlos Garcia Campos  <cgarcia@igalia.com>
2640
2641         [SOUP] Move URLSoup back to WebCore after r238771
2642         https://bugs.webkit.org/show_bug.cgi?id=192306
2643
2644         Reviewed by Michael Catanzaro.
2645
2646         Include GUniquePtrSoup from WebCore again.
2647
2648         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
2649
2650 2018-12-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2651
2652         [GTK] Bump freetype, fontconfig, harfbuzz, cairo and icu in jhbuild
2653         https://bugs.webkit.org/show_bug.cgi?id=192310
2654
2655         Reviewed by Michael Catanzaro.
2656
2657         Update those dependencies to their latest stable versions.
2658
2659         * gtk/jhbuild.modules:
2660
2661 2018-12-03  Tomas Popela  <tpopela@redhat.com>
2662
2663         [GTK] Can't run MiniBrowser due to missing python2-yaml
2664         https://bugs.webkit.org/show_bug.cgi?id=192308
2665
2666         Reviewed by Michael Catanzaro.
2667
2668         * gtk/install-dependencies:
2669
2670 2018-12-03  Chris Dumez  <cdumez@apple.com>
2671
2672         Regression(PSON) Google OAuth is broken in private sessions
2673         https://bugs.webkit.org/show_bug.cgi?id=192337
2674         <rdar://problem/46353558>
2675
2676         Reviewed by Alex Christensen.
2677
2678         Add API test coverage.
2679
2680         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2681         * TestWebKitAPI/Tests/WebKitCocoa/GetSessionCookie.html: Added.
2682         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2683         * TestWebKitAPI/Tests/WebKitCocoa/SetSessionCookie.html: Added.
2684
2685 2018-12-03  Chris Dumez  <cdumez@apple.com>
2686
2687         [PSON] Request by the client to process-swap is ignored if the window has an opener
2688         https://bugs.webkit.org/show_bug.cgi?id=192267
2689         <rdar://problem/46386886>
2690
2691         Reviewed by Brady Eidson.
2692
2693         Add API test coverage.
2694
2695         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2696
2697 2018-12-03  Keith Rollin  <krollin@apple.com>
2698
2699         Add .xcfilelist files
2700         https://bugs.webkit.org/show_bug.cgi?id=192082
2701         <rdar://problem/46312533>
2702
2703         Reviewed by Brent Fulgham.
2704
2705         Add .xcfilelist files for Generate Derived Sources and Generate
2706         Unified Sources build phases in Xcode. These are just being staged for
2707         now; they'll be added to the Xcode projects later.
2708
2709         * DumpRenderTree/DerivedSources-input.xcfilelist: Added.
2710         * DumpRenderTree/DerivedSources-output.xcfilelist: Added.
2711         * WebKitTestRunner/DerivedSources-input.xcfilelist: Added.
2712         * WebKitTestRunner/DerivedSources-output.xcfilelist: Added.
2713
2714 2018-12-03  Alex Christensen  <achristensen@webkit.org>
2715
2716         Add WKWebProcessPlugInLoadDelegate SPI willStartProvisionalLoadForFrame with a completion handler
2717         https://bugs.webkit.org/show_bug.cgi?id=192272
2718
2719         Reviewed by Brady Eidson.
2720
2721         * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
2722         (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]):
2723         (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
2724
2725 2018-12-03  Wenson Hsieh  <wenson_hsieh@apple.com>
2726
2727         [iOSMac] Unable to upload non-image files using drag and drop in WKWebView
2728         https://bugs.webkit.org/show_bug.cgi?id=192283
2729         <rdar://problem/46399461>
2730
2731         Reviewed by Ryosuke Niwa.
2732
2733         Add a new API test to check that an item provider which contains plain text data and a file URL (but is not
2734         marked as an attachment) is still treated as an attachment upon drop. Furthermore, verify that "text/uri-list"
2735         does not expose the actual file URL written to the item provider.
2736
2737         Additionally, rebaseline an existing API test to remove an extraneous "text/uri-list" type that appears in
2738         `DataTransfer.types`, but whose data is inaccessible via `getData` anyways.
2739
2740         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2741
2742 2018-12-01  Don Olmstead  <don.olmstead@sony.com>
2743
2744         Cleanup WebKit Features
2745         https://bugs.webkit.org/show_bug.cgi?id=192262
2746
2747         Reviewed by Michael Catanzaro.
2748
2749         Removes obsolete ENABLE options and variable names. Syncs the option's
2750         descriptions with what is present in WebKitFeatures.cmake. Sorts the
2751         options based on the associated define.
2752
2753         * Scripts/webkitperl/FeatureList.pm:
2754
2755 2018-12-01  Chris Dumez  <cdumez@apple.com>
2756
2757         [PSON] process-swapping may occur even though opener has handle to openee
2758         https://bugs.webkit.org/show_bug.cgi?id=192277
2759
2760         Reviewed by Antti Koivisto.
2761
2762         Add API test coverage.
2763
2764         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2765
2766 2018-12-01  Jonathan Bedard  <jbedard@apple.com>
2767
2768         Unreviewed, rolling out r238764.
2769
2770         Breaks existing layout tests
2771
2772         Reverted changeset:
2773
2774         "webkitpy: Support unicode in MeteredStream"
2775         https://bugs.webkit.org/show_bug.cgi?id=192260
2776         https://trac.webkit.org/changeset/238764
2777
2778 2018-12-01  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
2779
2780         Move URL tests from TestWebKitAPI to TestWTF
2781         https://bugs.webkit.org/show_bug.cgi?id=192275
2782
2783         Reviewed by Keith Miller.
2784
2785         Since URL is moved from WebCore to WTF, we also move tests for them from TestWebKitAPI (TestWebCore) to TestWTF.
2786         But we still have some tests in TestWebCore since only WebCore implements TextEncoding. That part is now decoupled
2787         from URLParser tests and new URLParserTextEncoding.cpp is created.
2788
2789         * TestWebKitAPI/CMakeLists.txt:
2790         * TestWebKitAPI/PlatformGTK.cmake:
2791         * TestWebKitAPI/PlatformWPE.cmake:
2792         * TestWebKitAPI/PlatformWin.cmake:
2793         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2794         * TestWebKitAPI/Tests/WTF/URL.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URL.cpp.
2795         (TestWebKitAPI::TEST_F):
2796         * TestWebKitAPI/Tests/WTF/URLParser.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp.
2797         (TestWebKitAPI::TEST_F):
2798         * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm.
2799         (TestWebKitAPI::TEST):
2800         * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp: Added.
2801         (TestWebKitAPI::ExpectedParts::isInvalid const):
2802         (TestWebKitAPI::eq):
2803         (TestWebKitAPI::insertTabAtLocation):
2804         (TestWebKitAPI::invalidParts):
2805         (TestWebKitAPI::checkURL):
2806         (TestWebKitAPI::TEST_F):
2807
2808 2018-11-30  Zalan Bujtas  <zalan@apple.com>
2809
2810         Unreviewed LFC passing test list update.
2811
2812         * LayoutReloaded/misc/LFC-passing-tests.txt:
2813
2814 2018-11-30  Alex Christensen  <achristensen@webkit.org>
2815
2816         Move URL from WebCore to WTF
2817         https://bugs.webkit.org/show_bug.cgi?id=190234
2818
2819         Reviewed by Keith Miller.
2820
2821         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
2822         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
2823         * TestWebKitAPI/Tests/WebCore/URL.cpp:
2824         (TestWebKitAPI::createURL):
2825         (TestWebKitAPI::TEST_F):
2826         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
2827         (TestWebKitAPI::checkURL):
2828         (TestWebKitAPI::checkRelativeURL):
2829         (TestWebKitAPI::checkURLDifferences):
2830         (TestWebKitAPI::checkRelativeURLDifferences):
2831         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
2832         * TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
2833         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
2834         (TestWebKitAPI::originalDataAsString):
2835         (TestWebKitAPI::userVisibleString):
2836         (TestWebKitAPI::literalURL):
2837         (TestWebKitAPI::TEST):
2838         * TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
2839         (TEST):
2840         * TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
2841         (literalURL):
2842         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
2843         * TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
2844         (-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
2845         * TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
2846         * TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
2847         (TestWebKitAPI::Util::createURLForResource):
2848         * lldb/lldb_webkit.py:
2849         (__lldb_init_module):
2850         (WTFURL_SummaryProvider):
2851         (WTFURLProvider):
2852         (WebCoreURL_SummaryProvider): Deleted.
2853         (WebCoreURLProvider): Deleted.
2854         (WebCoreURLProvider.__init__): Deleted.
2855         (WebCoreURLProvider.to_string): Deleted.
2856
2857 2018-11-30  Jonathan Bedard  <jbedard@apple.com>
2858
2859         webkitpy: Support unicode in MeteredStream
2860         https://bugs.webkit.org/show_bug.cgi?id=192260
2861
2862         Reviewed by Stephanie Lewis.
2863
2864         It's possible that the test runner returns unicode characters to be logged when
2865         running layout tests.
2866
2867         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
2868         (MeteredStream.write): Message written to metered stream should be unicode.
2869         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
2870         (RegularTest.test_unicode):
2871
2872 2018-11-30  Jonathan Bedard  <jbedard@apple.com>
2873
2874         REGRESSION (r238749): run-api-tests dies with AttributeError: 'IOSSimulatorPort' object has no attribute 'DEFAULT_DEVICE_CLASS'
2875         https://bugs.webkit.org/show_bug.cgi?id=192257
2876         <rdar://problem/46384671>
2877
2878         Reviewed by Stephanie Lewis.
2879
2880         Follow-up fix for r238749.
2881
2882         * Scripts/webkitpy/api_tests/manager.py:
2883         (Manager._initialize_devices): Use DEFAULT_DEVICE_TYPE instead of DEFAULT_DEVICE_CLASS.
2884
2885 2018-11-30  Chris Dumez  <cdumez@apple.com>
2886
2887         [PSON] We are sometimes swapping processes even though there is an opened window with an opener link to us
2888         https://bugs.webkit.org/show_bug.cgi?id=192242
2889
2890         Reviewed by Geoffrey Garen.
2891
2892         Add API test coverage.
2893
2894         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2895
2896 2018-11-30  Don Olmstead  <don.olmstead@sony.com>
2897
2898         Rename ENABLE_SUBTLE_CRYPTO to ENABLE_WEB_CRYPTO
2899         https://bugs.webkit.org/show_bug.cgi?id=192197
2900
2901         Reviewed by Jiewen Tan.
2902
2903         * Scripts/webkitperl/FeatureList.pm:
2904         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2905
2906 2018-11-30  Dean Jackson  <dino@apple.com>
2907
2908         Add first-class support for .mjs files in jsc binary
2909         https://bugs.webkit.org/show_bug.cgi?id=192190
2910         <rdar://problem/46375715>
2911
2912         Reviewed by Keith Miller.
2913
2914         Add .mjs files to the regexp looking for all JS files.
2915
2916         * Scripts/run-jsc-stress-tests:
2917
2918 2018-11-30  Jonathan Bedard  <jbedard@apple.com>
2919
2920         webkitpy: Use DeviceType instead of str to represent device class
2921         https://bugs.webkit.org/show_bug.cgi?id=192160
2922         <rdar://problem/46344845>
2923
2924         Rubber-stamped by Aakash Jain.
2925
2926         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2927         (Manager._custom_device_for_test): Use DeviceTypes instead of strings to represent device type.
2928         (Manager._set_up_run): Do not set _options.device_class, use device_type instead of device_class.
2929         (Manager.run): Use device_type instead of device_class.
2930         (Manager._print_expectations_for_subset): Ditto.
2931         (Manager.print_expectations): Ditto.
2932         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
2933         (ManagerTest.test_uses_custom_device): Use DeviceType and actual device definition.
2934         * Scripts/webkitpy/layout_tests/views/printing.py:
2935         (Printer.print_workers_and_shards): Outputting the device suffix doesn't really help, and means
2936         device type needs to be passed around.
2937         * Scripts/webkitpy/port/apple.py:
2938         (ApplePort.setup_test_run): Use device_type instead of device_class.
2939         * Scripts/webkitpy/port/base.py:
2940         (Port):
2941         (Port.setup_test_run): Use device_type instead of device_class.
2942         * Scripts/webkitpy/port/device_port.py:
2943         (DevicePort):
2944         (DevicePort.setup_test_run): Receive device_type as DeviceType object.
2945         (DevicePort._create_devices): Deleted.
2946         * Scripts/webkitpy/port/gtk.py:
2947         (GtkPort.setup_test_run): Use device_type instead of device_class.
2948         * Scripts/webkitpy/port/ios.py:
2949         (IOSPort):
2950         * Scripts/webkitpy/port/ios_simulator.py:
2951         (IOSSimulatorPort):
2952         (IOSSimulatorPort.__init__): Deleted.
2953         (IOSSimulatorPort._set_device_class): Deleted.
2954         * Scripts/webkitpy/port/test.py:
2955         * Scripts/webkitpy/port/watch.py:
2956         (WatchPort):
2957         * Scripts/webkitpy/port/watch_simulator.py:
2958         (WatchSimulatorPort):
2959         (WatchSimulatorPort.__init__): Deleted.
2960         (WatchSimulatorPort._set_device_class): Deleted.
2961         * Scripts/webkitpy/port/win.py:
2962         (WinPort.setup_test_run): Use device_type instead of device_class.
2963         * Scripts/webkitpy/xcode/simulated_device.py:
2964         (SimulatedDeviceManager._disambiguate_device_type): Using the existing devices for this is
2965         a problem if no such device exists yet. Use the _device_identifier_to_name dictionary instead
2966         since this should have hardware types in the device names.
2967
2968 2018-11-30  David Quesada  <david_quesada@apple.com>
2969
2970         -[WKProcessPool _downloadURLRequest:] should allow specifying the initiating web view
2971         https://bugs.webkit.org/show_bug.cgi?id=192212
2972         rdar://problem/46363706
2973
2974         Reviewed by Alex Christensen.
2975
2976         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
2977         (-[DownloadProgressTestRunner startDownload:expectedLength:]):
2978
2979 2018-11-30  Zalan Bujtas  <zalan@apple.com>
2980
2981         [LFC][BFC] Compute min/maxHeight margins only when they are needed.
2982         https://bugs.webkit.org/show_bug.cgi?id=192223
2983
2984         Reviewed by Antti Koivisto.
2985
2986         * LayoutReloaded/misc/LFC-passing-tests.txt:
2987
2988 2018-11-30  Zalan Bujtas  <zalan@apple.com>
2989
2990         [LFC][BFC][MarginCollapsing] Do not use computed display box values for border and padding
2991         https://bugs.webkit.org/show_bug.cgi?id=192214
2992
2993         Reviewed by Antti Koivisto.
2994
2995         * LayoutReloaded/misc/LFC-passing-tests.txt:
2996
2997 2018-11-30  Thibault Saunier  <tsaunier@igalia.com>
2998
2999         [GTK][MiniBrowser] Handle Device Info permission requests
3000         https://bugs.webkit.org/show_bug.cgi?id=191585
3001
3002         Reviewed by Carlos Garcia Campos.
3003
3004         * MiniBrowser/gtk/BrowserTab.c:
3005         (permissionRequestDataNew):
3006         (permissionRequestDataFree):
3007         (permissionRequestDialogResponse):
3008         (decidePermissionRequest):
3009         (browserTabConstructed):
3010
3011 2018-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
3012
3013         Unreviewed GTK+ gardening. Stop running tests without complex text enforced
3014
3015         We have enforced complex text in GTK+ for one release cycle without noticing any major issue nor performance
3016         regression.
3017
3018         * WebKitTestRunner/gtk/main.cpp:
3019         (main):
3020
3021 2018-11-29  Wenson Hsieh  <wenson_hsieh@apple.com>
3022
3023         REGRESSION (r238635): Dragging a text selection within WKWebView causes the selection highlight to get into a bad state
3024         https://bugs.webkit.org/show_bug.cgi?id=192165
3025         <rdar://problem/46346682>
3026
3027         Reviewed by Daniel Bates.
3028
3029         Fixes 11 API tests that started failing or timing out after r238635. See below for more details.
3030
3031         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
3032         (TestWebKitAPI::webViewForEditActionTesting):
3033         (TestWebKitAPI::webViewForEditActionTestingWithPageNamed):
3034
3035         Ensure that the web view becomes first responder before executing edit actions.
3036
3037         * TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
3038         * TestWebKitAPI/Tests/WebKitCocoa/contenteditable-and-textarea.html:
3039
3040         Tweak these tests to allow selected content to overflow the width of the web view. Without this change,
3041         ContentEditableToContentEditable and ContentEditableToTextarea will sometimes fail because the content causes
3042         the body to scroll horizontally, so we miss the drop destination.
3043
3044         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
3045         (loadTestPageAndEnsureInputSession):
3046
3047         Add a new helper to load a test page with a given name, become first responder, and wait until an input session
3048         starts. Use this in various drag and drop tests to reduce code duplication.
3049
3050         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
3051         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
3052         (-[DragAndDropSimulator initWithWebView:]):
3053         (-[DragAndDropSimulator _resetSimulatedState]):
3054         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
3055         (-[DragAndDropSimulator _advanceProgress]):
3056
3057         To more accurately emulate UIKit behavior, begin focus preservation when starting a drag, and attempt to clear
3058         the focus preservation token when the drag session ends. This allows us to simulate and test the scenario that
3059         regressed with r238635.
3060
3061         (-[DragAndDropSimulator ensureInputSession]):
3062         (-[DragAndDropSimulator _webView:didStartInputSession:]):
3063         (-[DragAndDropSimulator waitForInputSession]): Deleted.
3064
3065         Refactored into -ensureInputSession. Instead of assuming that an input session has not yet been started, simply
3066         wait for an input session to start if needed.
3067
3068         * TestWebKitAPI/ios/UIKitSPI.h:
3069
3070         Add a new SPI declaration.
3071
3072 2018-11-29  Tim Horton  <timothy_horton@apple.com>
3073
3074         Inform clients when editable image attachment backing data changes
3075         https://bugs.webkit.org/show_bug.cgi?id=192206
3076         <rdar://problem/46350277>
3077
3078         Reviewed by Wenson Hsieh.
3079
3080         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3081         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3082         (-[AttachmentUpdateObserver init]):
3083         (-[AttachmentUpdateObserver dataInvalidated]):
3084         (-[AttachmentUpdateObserver _webView:didInvalidateDataForAttachment:]):
3085         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentInvalidation):
3086         (webViewForTestingAttachments):
3087         (TestWebKitAPI::forEachViewInHierarchy):
3088         (TestWebKitAPI::findEditableImageCanvas):
3089         (TestWebKitAPI::drawSquareInEditableImage):
3090         (TestWebKitAPI::TEST):
3091         * TestWebKitAPI/ios/PencilKitTestSPI.h: Added.
3092         Add a test ensuring that we get an invalidation callback when an editable image is changed.
3093
3094 2018-11-29  Fujii Hironori  <Hironori.Fujii@sony.com>
3095
3096         REGRESSION(r238445)[Buildbot] Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
3097         https://bugs.webkit.org/show_bug.cgi?id=192143
3098
3099         Reviewed by Philippe Normand.
3100
3101         Buildbot can't start since r238445.
3102
3103         > Configuration Errors:
3104         >   Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
3105         >   Unknown builder 'GTK Linux ARM Release' in scheduler 'trunk'
3106
3107         * BuildSlaveSupport/build.webkit.org-config/config.json: Removed deprecated builders.
3108
3109 2018-11-29  David Quesada  <david_quesada@apple.com>
3110
3111         Add SPI to publish NSProgress on active downloads
3112         https://bugs.webkit.org/show_bug.cgi?id=192021
3113         rdar://problem/44405661
3114
3115         Reviewed by Alex Christensen.
3116
3117         Add API tests to exercise the progress-publishing functionality in a variety of scenarios.
3118
3119         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3120         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: Added.
3121         (+[DownloadProgressTestProtocol registerProtocolForTestRunner:]):
3122         (+[DownloadProgressTestProtocol unregisterProtocol]):
3123         (+[DownloadProgressTestProtocol canInitWithRequest:]):
3124         (+[DownloadProgressTestProtocol canonicalRequestForRequest:]):
3125         (+[DownloadProgressTestProtocol requestIsCacheEquivalent:toRequest:]):
3126         (-[DownloadProgressTestProtocol startLoading]):
3127         (-[DownloadProgressTestProtocol stopLoading]):
3128         (-[DownloadProgressTestRunner init]):
3129         (-[DownloadProgressTestRunner startLoadingWithProtocol:]):
3130         (-[DownloadProgressTestRunner tearDown]):
3131         (-[DownloadProgressTestRunner _didGetProgress:]):
3132         (-[DownloadProgressTestRunner _didLoseProgress]):
3133         (-[DownloadProgressTestRunner subscribeAndWaitForProgress]):
3134         (-[DownloadProgressTestRunner waitToLoseProgress]):
3135         (-[DownloadProgressTestRunner startDownload:expectedLength:]):
3136         (-[DownloadProgressTestRunner publishProgress]):
3137         (-[DownloadProgressTestRunner receiveData:]):
3138         (-[DownloadProgressTestRunner finishDownloadTask]):
3139         (-[DownloadProgressTestRunner failDownloadTask]):
3140         (-[DownloadProgressTestRunner waitForDownloadDidCreateDestination]):
3141         (-[DownloadProgressTestRunner waitForDownloadFinished]):
3142         (-[DownloadProgressTestRunner waitForDownloadCanceled]):
3143         (-[DownloadProgressTestRunner waitForDownloadFailed]):
3144         (-[DownloadProgressTestRunner waitForUpdatedCompletedUnitCount]):
3145         (-[DownloadProgressTestRunner observeValueForKeyPath:ofObject:change:context:]):
3146         (-[DownloadProgressTestRunner webView:decidePolicyForNavigationResponse:decisionHandler:]):
3147         (-[DownloadProgressTestRunner webView:decidePolicyForNavigationAction:decisionHandler:]):
3148         (-[DownloadProgressTestRunner _downloadDidStart:]):
3149         (-[DownloadProgressTestRunner _download:didCreateDestination:]):
3150         (-[DownloadProgressTestRunner _downloadDidFinish:]):
3151         (-[DownloadProgressTestRunner _downloadDidCancel:]):
3152         (-[DownloadProgressTestRunner _download:didFailWithError:]):
3153         (-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]):
3154         (TEST):
3155
3156 2018-11-29  Alexey Proskuryakov  <ap@apple.com>
3157
3158         Exception in bot watcher's dashboard if a hidden platform in no longer configured for display
3159         https://bugs.webkit.org/show_bug.cgi?id=185527
3160
3161         Reviewed by Aakash Jain.
3162
3163         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
3164         (updateHiddenPlatforms):
3165
3166 2018-11-29  Zalan Bujtas  <zalan@apple.com>
3167
3168         [LFC][BFC][Quirk] Body and html height stretching.
3169         https://bugs.webkit.org/show_bug.cgi?id=192154
3170
3171         Reviewed by Antti Koivisto.
3172
3173         * LayoutReloaded/misc/LFC-passing-tests.txt:
3174
3175 2018-11-29  Jonathan Bedard  <jbedard@apple.com>
3176
3177         webkitpy: Unify device creation
3178         https://bugs.webkit.org/show_bug.cgi?id=192158
3179         <rdar://problem/46344757>
3180
3181         Reviewed by Lucas Forschler.
3182
3183         * Scripts/webkitpy/port/device_port.py:
3184         (DevicePort):
3185         (DevicePort.setup_test_run): Use DEVICE_MANAGER to create devices based on the specified device class.
3186         * Scripts/webkitpy/port/ios.py:
3187         (IOSPort): Add DEFAULT_DEVICE_CLASS.
3188         * Scripts/webkitpy/port/ios_device.py:
3189         (IOSDevicePort):
3190         (IOSDevicePort._create_devices): Deleted.
3191         * Scripts/webkitpy/port/ios_simulator.py:
3192         (IOSSimulatorPort._create_devices): Deleted.
3193         * Scripts/webkitpy/port/watch.py:
3194         (WatchPort): Add DEFAULT_DEVICE_CLASS.
3195         * Scripts/webkitpy/port/watch_device.py:
3196         (WatchDevicePort):
3197         (WatchDevicePort._create_devices): Deleted.
3198         * Scripts/webkitpy/port/watch_simulator.py:
3199         (WatchSimulatorPort._create_devices): Deleted.
3200         * Scripts/webkitpy/xcode/device_type_unittest.py:
3201         (DeviceTypeTest.test_from_string): Test that DeviceTypes without hardware types can be constructed
3202         from strings.
3203
3204 2018-11-29  Jonathan Bedard  <jbedard@apple.com>
3205
3206         EWS iOS-sim bots sometimes fails to shutdown simulator
3207         https://bugs.webkit.org/show_bug.cgi?id=191864
3208
3209         Reviewed by Aakash Jain.
3210
3211         * Scripts/webkitpy/xcode/simulated_device.py:
3212         (SimulatedDevice._shut_down): Increase time to wait for simulated device to
3213         shut down, ignore exit code indicating a device is already shut down.
3214
3215 2018-11-29  Jonathan Bedard  <jbedard@apple.com>
3216
3217         webkitpy: Unify ios_version/watchos_version code
3218         https://bugs.webkit.org/show_bug.cgi?id=192153
3219         <rdar://problem/46343642>
3220
3221         Reviewed by Lucas Forschler.
3222
3223         Treating watchOS and iOS versions differently makes it harder to share code between the similar ports.
3224
3225         * Scripts/webkitpy/port/device_port.py:
3226         (DevicePort):
3227         (DevicePort.device_version): Added.
3228         * Scripts/webkitpy/port/ios.py:
3229         (IOSPort.default_baseline_search_path): Use device_version() instead of ios_version().
3230         (IOSPort.ios_version): Deleted.
3231         * Scripts/webkitpy/port/ios_device.py:
3232         (IOSDevicePort.device_version): Renamed from ios_version().
3233         (IOSDevicePort.ios_version): Deleted.
3234         * Scripts/webkitpy/port/ios_simulator.py:
3235         (IOSSimulatorPort.device_version): Renamed from ios_version().
3236         (IOSSimulatorPort.default_child_processes.booted_ios_devices_filter): Use device_version() instead of ios_version().
3237         (IOSSimulatorPort._create_devices): Ditto.
3238         (IOSSimulatorPort.check_sys_deps): Ditto.
3239         (IOSSimulatorPort.ios_version): Deleted.
3240         * Scripts/webkitpy/port/watch.py:
3241         (WatchPort.default_baseline_search_path): Use device_version() instead of watchos_version().
3242         (WatchPort.watchos_version): Deleted.
3243         * Scripts/webkitpy/port/watch_device.py:
3244         (WatchDevicePort.device_version): Renamed from watchos_version().
3245         (WatchDevicePort.watchos_version): Deleted.
3246         * Scripts/webkitpy/port/watch_simulator.py:
3247         (WatchSimulatorPort.device_version): Renamed from watchos_version().
3248         (WatchSimulatorPort.default_child_processes.filter_booted_watchos_devices): Use device_version() instead of watchos_version().
3249         (WatchSimulatorPort._create_devices): Ditto.
3250         (WatchSimulatorPort.check_sys_deps): Ditto.
3251         (WatchSimulatorPort.watchos_version): Deleted.
3252
3253 2018-11-28  Wenson Hsieh  <wenson_hsieh@apple.com>
3254
3255         [iOSMac] Dropping text selections from web content into editable elements crashes the web process
3256         https://bugs.webkit.org/show_bug.cgi?id=192113
3257         <rdar://problem/46323701>
3258
3259         Reviewed by Ryosuke Niwa.
3260
3261         Add a test to verify that, when dropping an item with both "com.apple.webarchive" and "public.utf8-plain-text"
3262         representations, the higher fidelity web archive data is used when handling the drop.
3263
3264         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
3265
3266 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3267
3268         [ews-app] Fetch bugs from Bugzilla and submit to Buildbot
3269         https://bugs.webkit.org/show_bug.cgi?id=191947
3270
3271         Reviewed by Lucas Forschler.
3272
3273         * BuildSlaveSupport/ews-app/ews/fetcher.py: Added.
3274
3275 2018-11-28  Alex Christensen  <achristensen@webkit.org>
3276
3277         Fix iOS API test after r238585
3278         https://bugs.webkit.org/show_bug.cgi?id=192022
3279
3280         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
3281         (TEST):
3282         On iOS, a safe browsing warning over a WKWebView with frame of {0, 0, 0, 0} has a size of {0, 0}, which is fine.
3283         The test was added to catch a bug on Mac platforms, so testing it only on Mac will catch any regression.
3284
3285 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3286
3287         [ews-app] Configure python logging
3288         https://bugs.webkit.org/show_bug.cgi?id=192005
3289
3290         Reviewed by Lucas Forschler.
3291
3292         * BuildSlaveSupport/ews-app/ews/__init__.py: Configured logging.
3293
3294 2018-11-28  Keith Rollin  <krollin@apple.com>
3295
3296         Update generate-{derived,unified}-sources scripts to support generating .xcfilelist files
3297         https://bugs.webkit.org/show_bug.cgi?id=192031
3298         <rdar://problem/46286816>
3299
3300         Reviewed by Alex Christensen.
3301
3302         The Generate Derived Sources and Generate Unified Sources build phases
3303         in Xcode need to have their inputs and outputs specified. This
3304         specification will come in the form of .xcfilelist files that will be
3305         attached to these build phases. There is one .xcfilelist file that
3306         lists the input file and one that lists the output files. As part of
3307         this work, the various generate-{derived,unified}-sources scripts that
3308         are executed in these Generate build phases are modified to help in
3309         the creation of these .xcfilelist files. In particular, they can now
3310         be invoked with command-line parameters. These parameters are then
3311         used to alter the normal execution of these scripts, causing them to
3312         produce the .xcfilelist files as opposed to actually generating the
3313         files that are listed in those files.
3314
3315         * DumpRenderTree/Scripts/generate-derived-sources.sh:
3316         * WebKitTestRunner/Scripts/generate-derived-sources.sh:
3317
3318 2018-11-28  Keith Rollin  <krollin@apple.com>
3319
3320         Revert print_all_generated_files work in r238008; tighten up target specifications
3321         https://bugs.webkit.org/show_bug.cgi?id=192025
3322         <rdar://problem/46284301>
3323
3324         Reviewed by Alex Christensen.
3325
3326         In r238008, I added a facility for DerivedSources.make makefiles to
3327         print out the list of files that they generate. This output was used
3328         in the generation of .xcfilelist files used to specify the output of
3329         the associated Generate Derived Sources build phases in Xcode. This
3330         approach worked, but it meant that people would need to follow a
3331         specific convention to keep this mechanism working.
3332
3333         Instead of continuing this approach, I'm going to implement a new
3334         facility based on the output of `make` when passed the -d flag (which
3335         prints dependency information). This new mechanism is completely
3336         automatic and doesn't need maintainers to follow a convention. To that
3337         end, remove most of the work performed in r238008 that supports the
3338         print_all_generated_files target.
3339
3340         At the same time, it's important for the sets of targets and their
3341         dependencies to be complete and correct. Therefore, also include
3342         changes to bring those up-to-date. As part of that, you'll see
3343         prevalent use of a particular technique. Here's an example:
3344
3345             BYTECODE_FILES = \
3346                 Bytecodes.h \
3347                 BytecodeIndices.h \
3348                 BytecodeStructs.h \
3349                 InitBytecodes.asm \
3350             #
3351             BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
3352
3353             all : $(BYTECODE_FILES)
3354
3355             $(BYTECODE_FILES_PATTERNS): $(wildcard $(JavaScriptCore)/generator/*.rb) $(JavaScriptCore)/bytecode/BytecodeList.rb
3356                 ...
3357
3358         These lines indicate a set of generated files (those specified in
3359         BYTECODE_FILES). These files are generated by the BytecodeList.rb
3360         tool. But, as opposed to the normal rule where a single foo.output is
3361         generated by foo.input plus some additional dependencies, this rule
3362         produces multiple output files from a tool whose connection to the
3363         output files is not immediately clear. A special approach is needed
3364         where a single rule produces multiple output files. The normal way to
3365         implement this is to use an .INTERMEDIATE target. However, we used
3366         this approach in the past and ran into a problem with it, addressing
3367         it with an alternate approach in r210507. The above example shows this
3368         approach. The .'s in the list of target files are replaced with %'s,
3369         and the result is used as the left side of the dependency rule.
3370
3371         * DumpRenderTree/DerivedSources.make:
3372         * WebKitTestRunner/DerivedSources.make:
3373
3374 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3375
3376         [ews-app] Add support to get list of Bugzilla patches needing review
3377         https://bugs.webkit.org/show_bug.cgi?id=191942
3378
3379         Reviewed by Lucas Forschler.
3380
3381         * BuildSlaveSupport/ews-app/ews/common/bugzilla.py:
3382         (Bugzilla.get_list_of_patches_needing_reviews): Get list of patches needing review.
3383         (BugzillaBeautifulSoup.fetch_attachment_ids_from_review_queue): Copied from Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py
3384         (BugzillaBeautifulSoup._load_query): Ditto.
3385         (BugzillaBeautifulSoup._parse_attachment_ids_request_query): Ditto.
3386
3387 2018-11-28  Daniel Bates  <dabates@apple.com>
3388
3389         [iOS] Page not defocused when Find-in-page becomes first responder
3390         https://bugs.webkit.org/show_bug.cgi?id=192084
3391         <rdar://problem/46146777>
3392
3393         Reviewed by Tim Horton.
3394
3395         Add tests for both Mac and iOS to ensure that when finding a string on the page
3396         that we do not start an input session if a match is found in an <input> and the
3397         WKWebView is not the first responder.
3398
3399         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3400         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm: Added.
3401         (-[WKWebViewFindStringInputDelegate _webView:didStartInputSession:]):
3402         (-[WKWebViewFindStringFindDelegate findString]):
3403         (-[WKWebViewFindStringFindDelegate _webView:didCountMatches:forString:]):
3404         (-[WKWebViewFindStringFindDelegate _webView:didFindMatches:forString:withMatchIndex:]):
3405         (-[WKWebViewFindStringFindDelegate _webView:didFailToFindString:]):
3406         (returnNo):
3407         (returnYes):
3408         (viewIsFirstResponder):
3409         (TestWebKitAPI::TEST):
3410         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3411         (WTR::PlatformWebView::PlatformWebView): Make the view the first responder before the
3412         window key. This matches the ordering used in PlatformWebView::focus(). No behavior change.
3413
3414 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3415
3416         [ews-app] Add BeautifulSoup
3417         https://bugs.webkit.org/show_bug.cgi?id=191994
3418
3419         Reviewed by Lucas Forschler.
3420
3421         * BuildSlaveSupport/ews-app/ews/thirdparty: Added.
3422         * BuildSlaveSupport/ews-app/ews/thirdparty/BeautifulSoup.py: Added.
3423         * BuildSlaveSupport/ews-app/ews/thirdparty/__init__.py: Added.
3424
3425 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3426
3427         [ews-app] Add support to download Patch from Bugzilla
3428         https://bugs.webkit.org/show_bug.cgi?id=191943
3429
3430         Reviewed by Lucas Forschler.
3431
3432         * BuildSlaveSupport/ews-app/ews/common/bugzilla.py: Added.
3433         (Bugzilla.retrieve_attachment): Retreives the attachment from Bugzilla and saves to disk.
3434         (Bugzilla._fetch_attachment_json):
3435         (Bugzilla.file_path_for_patch):
3436         * BuildSlaveSupport/ews-app/ews/common/util.py: Added.
3437         (fetch_data_from_url): Method to fetch data from given url.
3438         * BuildSlaveSupport/ews-app/ews/config.py:
3439
3440 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3441
3442         [ews-app] Add methods to update Patch fields
3443         https://bugs.webkit.org/show_bug.cgi?id=191931
3444
3445         Reviewed by Lucas Forschler.
3446
3447         * BuildSlaveSupport/ews-app/ews/models/patch.py:
3448         (Patch.set_sent_to_buildbot):
3449         (Patch.set_bug_id):
3450         (Patch.set_obsolete):
3451
3452 2018-11-28  Yongjun Zhang  <yongjun_zhang@apple.com>
3453
3454         Allow WebKit clients to specify a minimum effective width for layout.
3455         https://bugs.webkit.org/show_bug.cgi?id=191499
3456         <rdar://problem/45362678>
3457
3458         Reviewed by Wenson Hsieh.
3459
3460         Allow UIScriptController to set WKWebView's minimum effective width with a new `setMinimumEffectiveWidth` method.
3461
3462         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3463         (WTR::UIScriptController::setMinimumEffectiveWidth):
3464         * DumpRenderTree/mac/UIScriptControllerMac.mm:
3465         (WTR::UIScriptController::setViewScale):
3466         (WTR::UIScriptController::setMinimumEffectiveWidth):
3467         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3468         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3469         (WTR::UIScriptController::setMinimumEffectiveWidth):
3470         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3471         * WebKitTestRunner/UIScriptControllerCocoa.mm:
3472         (WTR::UIScriptController::setMinimumEffectiveWidth):
3473         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3474         (WTR::TestController::cocoaResetStateToConsistentValues):
3475
3476 2018-11-28  Lucas Forschler  <lforschler@apple.com>
3477
3478         Fix webkitbot hi command.
3479         https://bugs.webkit.org/show_bug.cgi?id=192080
3480
3481         Reviewed by Alexey Proskuryakov.
3482
3483         * Scripts/webkitpy/tool/bot/irc_command.py:
3484         (Hi.execute):
3485
3486 2018-11-28  Zalan Bujtas  <zalan@apple.com>
3487
3488         [LFC][Quirk] Use non-collapsed vertical margin values when the container is stretched to the size of the ICB.
3489         https://bugs.webkit.org/show_bug.cgi?id=192078
3490
3491         Reviewed by Antti Koivisto.
3492
3493         * LayoutReloaded/misc/LFC-passing-tests.txt:
3494
3495 2018-11-28  Zalan Bujtas  <zalan@apple.com>
3496
3497         [LFC] Add support for quirk container's collapsing top margin in quirks mode.
3498         https://bugs.webkit.org/show_bug.cgi?id=192070
3499
3500         Reviewed by Antti Koivisto.
3501
3502         * LayoutReloaded/misc/LFC-passing-tests.txt:
3503
3504 2018-11-28  Thibault Saunier  <tsaunier@igalia.com>
3505
3506         [WebRTC][GStreamer] Make sure to have the default microphone on the top of the list
3507         https://bugs.webkit.org/show_bug.cgi?id=192026
3508
3509         Reviewed by Philippe Normand.
3510
3511         Otherwise we might end up picking a useless one in some applications
3512         (not sure what those application do though).
3513
3514         GStreamer patch proposed as https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/34/diffs
3515
3516         * flatpak/org.webkit.CommonModules.yaml:
3517         * gstreamer/jhbuild.modules:
3518         * gstreamer/patches/gst-plugins-good-0014-pulse-Mark-default-devices-as-default.patch: Added.
3519
3520 2018-11-28  Tomas Popela  <tpopela@redhat.com>
3521
3522         [GTK] Silence compilation warnings in glib unittests
3523         https://bugs.webkit.org/show_bug.cgi?id=192009
3524
3525         Reviewed by Michael Catanzaro.
3526
3527         Mark the destructor as virtual.
3528
3529         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
3530         (Test::~Test):
3531
3532 2018-11-27  Mark Lam  <mark.lam@apple.com>
3533
3534         ENABLE_FAST_JIT_PERMISSIONS should be false for iosmac.
3535         https://bugs.webkit.org/show_bug.cgi?id=192055
3536         <rdar://problem/46288783>
3537
3538         Reviewed by Saam Barati.
3539
3540         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3541
3542 2018-11-27  Alex Christensen  <achristensen@webkit.org>
3543
3544         Make synchronous IPC introduced in r237267 asynchronous
3545         https://bugs.webkit.org/show_bug.cgi?id=190757
3546
3547         Reviewed by Chris Dumez.
3548
3549         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3550
3551 2018-11-27  Jonathan Bedard  <jbedard@apple.com>
3552
3553         webkitpy: Add watchOS ports
3554         https://bugs.webkit.org/show_bug.cgi?id=191974
3555         <rdar://problem/46251051>
3556
3557         Reviewed by Aakash Jain.
3558
3559         * Scripts/webkitpy/port/factory.py:
3560         (PortFactory): Add WatchDevice and WatchSimulator ports.
3561         * Scripts/webkitpy/port/watch.py: Added.
3562         (WatchPort): Base class for watchOS ports.
3563         * Scripts/webkitpy/port/watch_device.py: Added.
3564         (WatchDevicePort): Class for running layout tests on a watchOS device.
3565         * Scripts/webkitpy/port/watch_simulator.py: Added.
3566         (WatchSimulatorPort): Class for running layout tests on a watchOS simulator.
3567         * Scripts/webkitpy/port/watch_simulator_unittest.py: Added.
3568         (WatchSimulatorTest):
3569         * Scripts/webkitpy/port/watch_testcase.py: Added.
3570         (WatchTest):
3571
3572 2018-11-27  Alex Christensen  <achristensen@webkit.org>
3573
3574         Safe browsing warning text needs to be visible on High Sierra
3575         https://bugs.webkit.org/show_bug.cgi?id=192022
3576
3577         Reviewed by Tim Horton.
3578
3579         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
3580         (TEST):
3581
3582 2018-11-27  Wenson Hsieh  <wenson_hsieh@apple.com>
3583
3584         Unreviewed, fix the watchOS engineering build
3585
3586         Disable a newly added API test, since DDScannerResult is unavailable on watchOS.
3587
3588         * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
3589
3590 2018-11-27  Chris Dumez  <cdumez@apple.com>
3591
3592         Regression(PSON) crash under WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame()
3593         https://bugs.webkit.org/show_bug.cgi?id=191983
3594         <rdar://problem/46246863>
3595
3596         Reviewed by Geoffrey Garen.
3597
3598         Add API test coverage.
3599
3600         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3601
3602 2018-11-27  Aakash Jain  <aakash_jain@apple.com>
3603
3604         [ews-app] Add support to communicate with Buildbot (Follow-up fix)
3605         https://bugs.webkit.org/show_bug.cgi?id=191935
3606         <rdar://problem/46262314>
3607
3608         Unreviewed infrastructure fix.
3609
3610         * BuildSlaveSupport/ews-app/ews/common/buildbot.py:
3611         (Buildbot.send_patch_to_buildbot):
3612
3613 2018-11-26  Wenson Hsieh  <wenson_hsieh@apple.com>
3614
3615         [Cocoa] No way for clients to tell whether the content view is in the responder chain when the web view is
3616         https://bugs.webkit.org/show_bug.cgi?id=169212
3617         <rdar://problem/30899656>
3618
3619         Reviewed by Tim Horton.
3620
3621         Add an API test to exercise the behavior of `-_contentViewIsFirstResponder` when an embedded text input becomes
3622         and resigns first responder.
3623
3624         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3625         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm: Added.
3626         (-[FirstResponderTestingView initWithFrame:]):
3627         (-[FirstResponderTestingView inputField]):
3628         (TestWebKitAPI::TEST):
3629
3630 2018-11-26  Fujii Hironori  <Hironori.Fujii@sony.com>
3631
3632         [CMake] Remove ENABLE_ACCESSIBILITY CMake variable
3633         https://bugs.webkit.org/show_bug.cgi?id=191831
3634
3635         Reviewed by Michael Catanzaro.
3636
3637         * WebKitTestRunner/CMakeLists.txt:
3638
3639 2018-11-26  Tim Horton  <timothy_horton@apple.com>
3640
3641         Insert <attachment> elements under editable images to make their backing data accessible
3642         https://bugs.webkit.org/show_bug.cgi?id=191844
3643         <rdar://problem/30900149>
3644
3645         Reviewed by Simon Fraser.
3646
3647         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3648         (WTR::UIScriptController::attachmentInfo):
3649         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3650         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3651         (WTR::UIScriptController::attachmentInfo):
3652         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3653         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3654         (WTR::UIScriptController::attachmentInfo):
3655         Add a UIScriptController mechanism to retrieve information about
3656         a given attachment.
3657
3658 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
3659
3660         [ews-app] Add support to communicate with Buildbot
3661         https://bugs.webkit.org/show_bug.cgi?id=191935
3662
3663         Reviewed by Lucas Forschler.
3664
3665         * BuildSlaveSupport/ews-app/ews/common/__init__.py: Added.
3666         * BuildSlaveSupport/ews-app/ews/common/buildbot.py: Added.
3667
3668 2018-11-26  Jonathan Bedard  <jbedard@apple.com>
3669
3670         webkitpy: Race condition in ServerProcess tests
3671         https://bugs.webkit.org/show_bug.cgi?id=191989
3672         <rdar://problem/45536844>
3673
3674         Reviewed by Lucas Forschler.
3675
3676         Serializing these tests to prevent the race conditions.
3677
3678         * Scripts/webkitpy/port/server_process_unittest.py:
3679         (TestServerProcess.serial_test_basic):
3680         (TestServerProcess.serial_test_read_after_process_exits):
3681         (TestServerProcess.serial_test_process_crashing):
3682         (TestServerProcess.serial_test_process_crashing_no_data):
3683         (TestServerProcess.test_basic): Deleted.
3684         (TestServerProcess.test_read_after_process_exits): Deleted.
3685         (TestServerProcess.test_process_crashing): Deleted.
3686         (TestServerProcess.test_process_crashing_no_data): Deleted.
3687
3688 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
3689
3690         [ews-app] Add field in Patch object to indicate if it has been sent to Buildbot
3691         https://bugs.webkit.org/show_bug.cgi?id=191929
3692
3693         Reviewed by Lucas Forschler.
3694
3695         * BuildSlaveSupport/ews-app/ews/models/patch.py:
3696         (Patch): Added sent_to_buildbot field.
3697         (Patch.is_patch_sent_to_buildbot): Checks if the patch has been sent to Buildbot.
3698
3699 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
3700
3701         [ews-app] Add a config file
3702         https://bugs.webkit.org/show_bug.cgi?id=191933
3703
3704         Reviewed by Lucas Forschler.
3705
3706         * BuildSlaveSupport/ews-app/ews/config.py: Added.
3707
3708 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
3709
3710         [ews-app] Add methods to save patch to database
3711         https://bugs.webkit.org/show_bug.cgi?id=191928
3712
3713         Reviewed by Lucas Forschler.
3714
3715         * BuildSlaveSupport/ews-app/ews/models/patch.py:
3716         (Patch.save_patch): Method to save the patch to database.
3717         (Patch.save_patches): Method to save multiple patches to database.
3718         (Patch.is_valid_patch_id): Checks if the patch id is valid.
3719         (Patch.is_existing_patch_id): Checks if the patch id already exists in database.
3720
3721 2018-11-26  Alex Christensen  <achristensen@webkit.org>
3722
3723         Rename WKWebView._safeBrowsingWarningForTesting to _safeBrowsingWarning to use it for more than testing
3724         https://bugs.webkit.org/show_bug.cgi?id=191981
3725
3726         Reviewed by Tim Horton.
3727
3728         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
3729         (TEST):
3730         (safeBrowsingView):
3731
3732 2018-11-26  Daniel Bates  <dabates@apple.com>
3733
3734         REGRESSION (r237738): Command Down Arrow doesn't scroll to the end of a page anymore
3735         https://bugs.webkit.org/show_bug.cgi?id=191967
3736         <rdar://problem/45976390>
3737
3738         Reviewed by Tim Horton.
3739
3740         Add more test infrastructure to dispatch key up events.
3741
3742         * WebKitTestRunner/ios/HIDEventGenerator.h:
3743         * WebKitTestRunner/ios/HIDEventGenerator.mm:
3744         (createHIDKeyEvent): Renamed from createHIDKeyDownEvent() and modified to take a boolean as
3745         to whether to create an event for a key down or key up.
3746         (createHIDKeyDownEvent): Deleted; renamed to createHIDKeyEvent().
3747         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3748         (WTR::createUIPhysicalKeyboardEvent): Added. Convenience function to create a UIPhysicalKeyboardEvent.
3749         (WTR::UIScriptController::keyDown): Modified to dispatch a key up event in addition to dispatching
3750         a key down event.
3751
3752 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
3753
3754         [ews-app] Set Foreign Keys in EWS Django app models
3755         https://bugs.webkit.org/show_bug.cgi?id=191790
3756
3757         Reviewed by Lucas Forschler.
3758
3759         * BuildSlaveSupport/ews-app/ews/models/builds.py: Set Foreign Key.
3760         * BuildSlaveSupport/ews-app/ews/models/steps.py: Ditto.
3761
3762 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
3763
3764         [ews-app] Do not store patch content in database
3765         https://bugs.webkit.org/show_bug.cgi?id=191788
3766
3767         Reviewed by Lucas Forschler.
3768
3769         * BuildSlaveSupport/ews-app/ews/models/patch.py: Removed content field.
3770
3771 2018-11-26  Jonathan Bedard  <jbedard@apple.com>
3772
3773         webkitpy: Retry app installation on watchOS simulators (Follow-up fix)
3774         https://bugs.webkit.org/show_bug.cgi?id=191769
3775         <rdar://problem/46139850>
3776
3777         Unreviewed infrastructure fix.
3778
3779         * Scripts/webkitpy/xcode/simulated_device.py:
3780         (SimulatedDevice): Increase retry attempts.
3781
3782 2018-11-26  Daniel Bates  <dabates@apple.com>
3783
3784         Move testRunner.toggleCapsLock() to uiController
3785         https://bugs.webkit.org/show_bug.cgi?id=191972
3786
3787         Reviewed by Tim Horton.
3788
3789         Move testRunner.toggleCapsLock() to uiController as uiController is the preferred JavaScript
3790         object for UI test functions. Having this functionality be on uiController makes it an
3791         asynchronous function naturally and complements use of onkeydown, onkeyup listeners to know
3792         when the Caps Lock key event is dispatched. It also facilitates its use directly as part of
3793         scripts with other uiController functions invocations that are passed in a single invocation
3794         of testRunner.runUIScript().
3795
3796         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3797         (WTR::UIScriptController::toggleCapsLock):
3798         * DumpRenderTree/mac/UIScriptControllerMac.mm:
3799         (WTR::UIScriptController::toggleCapsLock):
3800         Added stub functions that invoke the callback. We do not support toggling caps lock in Legacy
3801         WebKit at the moment. Legacy WebKit reads the caps lock key state directly from the OS. Modern
3802         WebKit caches the caps lock state in the WebProcess as a natural side effect of the fact that
3803         the UIProcess is the only process capable of querying the caps lock key state from the OS and
3804         hence the UIProcess must send over this state to the WebProcess.
3805
3806         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Add IDL for new function.
3807         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3808         (WTR::UIScriptController::toggleCapsLock): Added empty implementation for ports non-Cocoa ports.
3809         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3810
3811         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3812         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3813         (WTR::TestRunner::toggleCapsLock): Deleted.
3814         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3815         * WebKitTestRunner/TestController.h:
3816         * WebKitTestRunner/TestInvocation.cpp:
3817         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3818         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3819         (WTR::TestController::toggleCapsLock): Deleted; moved to UIScriptController::toggleCapsLock().
3820         Removed logic to handle testRunner.toggleCapsLock().
3821
3822         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3823         (WTR::UIScriptController::toggleCapsLock): Add stub function that invokes the callback
3824         and a FIXME comment that explains that we will implement this function in <https://bugs.webkit.org/show_bug.cgi?id=191815>.
3825         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3826         (WTR::UIScriptController::toggleCapsLock): Moved the implementation from TestController::toggleCapsLock().
3827
3828 2018-11-26  Brent Fulgham  <bfulgham@apple.com>
3829
3830         [Win] Reduce the use of WKSI library calls: CoreAnimation
3831         https://bugs.webkit.org/show_bug.cgi?id=191777
3832         <rdar://problem/46140542>
3833
3834         Reviewed by Zalan Bujtas.
3835
3836         Update the Windows build of WebKit to refer to the SPI headers, rather than WebKitSystemInterface.
3837         Move a small amount of glue code from WKSI to WebCore, and remove any includes or link
3838         directives for WebKitSystemInterface.lib.
3839
3840         * TestWebKitAPI/PlatformWin.cmake:
3841
3842 2018-11-25  Zalan Bujtas  <zalan@apple.com>
3843
3844         [LFC][IFC] Use float box's margin box to adjust the line constraints.
3845         https://bugs.webkit.org/show_bug.cgi?id=191961
3846
3847         Reviewed by Antti Koivisto.
3848
3849         * LayoutReloaded/misc/LFC-passing-tests.txt:
3850
3851 2018-11-25  Zalan Bujtas  <zalan@apple.com>
3852
3853         Unreviewed test fix after r238467.
3854
3855         * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
3856         (TestWebKitAPI::TEST):
3857
3858 2018-11-25  Wenson Hsieh  <wenson_hsieh@apple.com>
3859
3860         Unreviewed, fix the internal iOS 12 build after r238471
3861
3862         * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
3863         (TEST):
3864
3865 2018-11-25  Tim Horton  <timothy_horton@apple.com>
3866
3867         Make it possible to insert editable images with a gesture
3868         https://bugs.webkit.org/show_bug.cgi?id=191937
3869
3870         Reviewed by Wenson Hsieh.
3871
3872         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3873         (WTR::UIScriptController::drawSquareInEditableImage):
3874         If the canvas already has a drawing, draw a new stroke on top of it
3875         instead of removing the existing stroke.
3876
3877 2018-11-24  Wenson Hsieh  <wenson_hsieh@apple.com>
3878
3879         [Cocoa] Add WKWebView SPI to trigger and remove data detection
3880         https://bugs.webkit.org/show_bug.cgi?id=191918
3881         <rdar://problem/36185051>
3882
3883         Reviewed by Tim Horton.
3884
3885         Add an API test to exercise the new WebKit SPI.
3886
3887         * TestWebKitAPI/DataDetectorsCoreSPI.h: Added.
3888         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3889         * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
3890         (-[WKWebView synchronouslyDetectDataWithTypes:]):
3891         (-[WKWebView synchronouslyRemoveDataDetectedLinks]):
3892         (TEST):
3893         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3894         (TestWebKitAPI::TEST):
3895         (-[TestWKWebView tagsInBody]): Deleted.
3896         (-[TestWKWebView expectElementTagsInOrder:]): Deleted.
3897         (-[TestWKWebView expectElementCount:tagName:]): Deleted.
3898         (-[TestWKWebView expectElementTag:toComeBefore:]): Deleted.
3899
3900         Rename this from `-expectElementCount:tagName:` to `-expectElementCount:querySelector:`.
3901
3902         * TestWebKitAPI/Tests/WebKitCocoa/data-detectors.html: Added.
3903
3904         Add a new test page containing some content that can be data detected.
3905
3906         * TestWebKitAPI/cocoa/TestWKWebView.h:
3907         * TestWebKitAPI/cocoa/TestWKWebView.mm:
3908         (-[WKWebView tagsInBody]):
3909         (-[WKWebView expectElementTagsInOrder:]):
3910         (-[WKWebView expectElementCount:querySelector:]):
3911         (-[WKWebView expectElementTag:toComeBefore:]):
3912
3913         Move some testing helper functions from WKAttachmentTests to a testing category on WKWebView. This allows us to
3914         use `-expectElementCount:querySelector:` in tests outside of WKAttachmentTests.
3915
3916         (-[WKWebView objectByEvaluatingJavaScript:]):
3917         (-[WKWebView objectByEvaluatingJavaScriptWithUserGesture:]):
3918         (-[WKWebView stringByEvaluatingJavaScript:]):
3919
3920         Move some common helper functions from TestWKWebView to a testing category on WKWebView.
3921
3922         (-[TestWKWebView objectByEvaluatingJavaScript:]): Deleted.
3923         (-[TestWKWebView objectByEvaluatingJavaScriptWithUserGesture:]): Deleted.
3924         (-[TestWKWebView stringByEvaluatingJavaScript:]): Deleted.
3925
3926 2018-11-23  Sam Weinig  <sam@webkit.org>
3927
3928         Add raw pointer overloads to ListHashSet via SmartPtr specialized functions
3929         https://bugs.webkit.org/show_bug.cgi?id=191936
3930
3931         Reviewed by Zalan Bujtas.
3932
3933         Adds tests for raw pointer overloads in ListHashSet.
3934
3935         * TestWebKitAPI/Tests/WTF/HashSet.cpp:
3936         * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
3937
3938 2018-11-23  Wenson Hsieh  <wenson_hsieh@apple.com>
3939
3940         Enable drag and drop support for iOSMac
3941         https://bugs.webkit.org/show_bug.cgi?id=191818
3942         <rdar://problem/43907454>
3943
3944         Reviewed by Dean Jackson.
3945
3946         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3947
3948 2018-11-23  Zalan Bujtas  <zalan@apple.com>
3949
3950         [LFC][IFC] Add support for variable height runs.
3951         https://bugs.webkit.org/show_bug.cgi?id=191925
3952
3953         Reviewed by Antti Koivisto.
3954
3955         * LayoutReloaded/misc/LFC-passing-tests.txt:
3956
3957 2018-11-23  Alberto Garcia  <berto@igalia.com>
3958
3959         [GTK] [WPE] Tools/Platform{GTK,WPE}.cmake files missing from the tarballs
3960         https://bugs.webkit.org/show_bug.cgi?id=191923
3961
3962         Add Tools/PlatformGTK.cmake and Tools/PlatformWPE.cmake to their
3963         respective tarballs.
3964
3965         Reviewed by Carlos Garcia Campos.
3966
3967         * gtk/manifest.txt.in:
3968         * wpe/manifest.txt.in:
3969
3970 2018-11-22  Chris Dumez  <cdumez@apple.com>
3971
3972         Regression(r238353) Load sometimes hangs when navigating back after a cross-site navigation
3973         https://bugs.webkit.org/show_bug.cgi?id=191914
3974
3975         Reviewed by Ryosuke Niwa.
3976
3977         Add API test coverage.
3978
3979         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3980
3981 2018-11-22  Zalan Bujtas  <zalan@apple.com>
3982
3983         [LFC][IFC] Offset formatting context root runs with horizontal margins.
3984         https://bugs.webkit.org/show_bug.cgi?id=191900
3985
3986         Reviewed by Antti Koivisto.
3987
3988         * LayoutReloaded/misc/LFC-passing-tests.txt:
3989
3990 2018-11-22  Philippe Normand  <pnormand@igalia.com>
3991
3992         [GTK] Remove unmaintained bots
3993         https://bugs.webkit.org/show_bug.cgi?id=191467
3994
3995         Reviewed by Alex Christensen.
3996
3997         The Linux 32-bits and ARM build-slaves are no longer maintained
3998         and have been failing for months, so get rid of them.
3999
4000         * BuildSlaveSupport/build.webkit.org-config/config.json:
4001         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
4002         (WebKitBuildbot):
4003         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
4004
4005 2018-11-22  Thibault Saunier  <tsaunier@igalia.com>
4006
4007         [Flatpak] Do not disable signals when running "usual" commands
4008         https://bugs.webkit.org/show_bug.cgi?id=190679
4009
4010         Reviewed by Philippe Normand.
4011
4012         Otherwise <ctr>c doesn't work while compiling. It is not the best fix
4013         as there are cases we want to let only children receive signals, but
4014         it is not clear how to determine when (when running gdb, we still
4015         disable those).
4016
4017         * flatpak/flatpakutils.py:
4018         (WebkitFlatpak.run_in_sandbox):
4019
4020 2018-11-21  Wenson Hsieh  <wenson_hsieh@apple.com>
4021
4022         [Cocoa] [WebKit2] Add support for replacing find-in-page text matches
4023         https://bugs.webkit.org/show_bug.cgi?id=191786
4024         <rdar://problem/45813871>
4025
4026         Reviewed by Ryosuke Niwa.
4027
4028         * MiniBrowser/mac/WK2BrowserWindowController.m:
4029         (-[WK2BrowserWindowController setFindBarView:]):
4030
4031         Fix a bug in MiniBrowser that prevents AppKit from displaying the "All" button in the find bar after checking
4032         the "Replace" option.
4033
4034         * TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
4035
4036         Add an API test to exercise find-and-replace API using WKWebView.
4037
4038         (replaceMatches):
4039         (TEST):
4040         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
4041         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4042         (WTR::findOptionsFromArray):
4043         (WTR::TestRunner::findString):
4044         (WTR::TestRunner::findStringMatchesInPage):
4045         (WTR::TestRunner::replaceFindMatchesAtIndices):
4046
4047         Add TestRunner hooks to simulate find-in-page and replace.
4048
4049         * WebKitTestRunner/InjectedBundle/TestRunner.h:
4050
4051 2018-11-21  Zalan Bujtas  <zalan@apple.com>
4052
4053         [LFC][IFC] Horizontal margins should be considered as non-breakable space
4054         https://bugs.webkit.org/show_bug.cgi?id=191894
4055
4056         Reviewed by Antti Koivisto.
4057
4058         * LayoutReloaded/misc/LFC-passing-tests.txt:
4059
4060 2018-11-21  Zalan Bujtas  <zalan@apple.com>
4061
4062         [LFC][IFC] Border should be considered as non-breakable space
4063         https://bugs.webkit.org/show_bug.cgi?id=191891
4064
4065         Reviewed by Antti Koivisto.
4066
4067         * LayoutReloaded/misc/LFC-passing-tests.txt:
4068
4069 2018-11-21  Zalan Bujtas  <zalan@apple.com>
4070
4071         [LFC][IFC] Take nonBreakableStart/End into use.
4072         https://bugs.webkit.org/show_bug.cgi?id=191873
4073
4074         Reviewed by Antti Koivisto.
4075
4076         * LayoutReloaded/misc/LFC-passing-tests.txt:
4077
4078 2018-11-20  Jeff Miller  <jeffm@apple.com>
4079
4080         Return nullptr immediately if the key doesn't exist in the HashMap.
4081         https://bugs.webkit.org/show_bug.cgi?id=191841
4082
4083         Reviewed by Chris Dumez.
4084         
4085         Add a test that would crash prior to the fix for this bug.
4086
4087         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4088         * TestWebKitAPI/Tests/WebKitCocoa/WKNSDictionaryEmptyDictionaryCrash.mm: Added.
4089         (TestWebKitAPI::TEST):
4090
4091 2018-11-19  Alex Christensen  <achristensen@webkit.org>
4092
4093         Add SPI to disable JIT in a WKWebView
4094         https://bugs.webkit.org/show_bug.cgi?id=191822
4095         <rdar://problem/28119360>
4096
4097         Reviewed by Geoffrey Garen.
4098
4099         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4100         * TestWebKitAPI/Tests/WebKitCocoa/DisableJIT.mm: Added.
4101         (TEST):
4102
4103 2018-11-19  Basuke Suzuki  <basuke.suzuki@sony.com>
4104
4105         [Curl] Add API for CertificateInfo.
4106         https://bugs.webkit.org/show_bug.cgi?id=191647
4107
4108         Reviewed by Alex Christensen.
4109
4110         Added test for new WKCertificateInfo API.
4111
4112         * TestWebKitAPI/PlatformWin.cmake:
4113         * TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp: Added.
4114         (TestWebKitAPI::Curl::makeCertificateInfo):
4115         (TestWebKitAPI::Curl::isSamePEM):
4116         (TestWebKitAPI::Curl::TEST):
4117
4118 2018-11-19  Wenson Hsieh  <wenson_hsieh@apple.com>
4119
4120         Unreviewed, fix the internal iOS debug build after r238380
4121
4122         UICalloutBar should only be declared when the public (non-internal) SDK is used to build WebKit; otherwise, we
4123         end up with duplicate declarations of UICalloutBar.
4124
4125         * TestWebKitAPI/ios/UIKitSPI.h:
4126
4127 2018-11-19  David Quesada  <david_quesada@apple.com>
4128
4129         EXC_BAD_ACCESS when invoking a DownloadProxy's destination decision handler after the download has been canceled
4130         https://bugs.webkit.org/show_bug.cgi?id=191762
4131         rdar://problem/46151509
4132
4133         Reviewed by Dean Jackson.
4134
4135         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
4136             Enable the Download API test on iOS, since the platform supports downloads. All the
4137             tests pass already, except for one which was written using AppKit-specific code:
4138         TEST(_WKDownload, RedirectedDownload):
4139             Use a more platform-agnostic approach to starting the download in this API test.
4140             Instead of manually triggering an NSMenu item to download a file from a link, the
4141             test will simulate a user-initiated click on the link, and the navigation delegate
4142             will direct the web view to start a download based on the link's navigation action.
4143             Additionally, remove the manual creation of a new NSWindow. TestWKWebView makes its
4144             own UI/NSWindow.
4145         TEST(_WKDownload, DownloadCanceledWhileDecidingDestination):
4146             Add an API test _WKDownload.DownloadCanceledWhileDecidingDestination to simulate the
4147             conditions that would trigger this crash - handling a download's -decideDestination…
4148             delegate call by canceling the download, waiting for the UI process to be notified
4149             that the download has been canceled, and calling the decision handler. This should
4150             not crash.
4151         (-[CancelDownloadWhileDecidingDestinationDelegate _downloadDidFinish:]):
4152         (-[CancelDownloadWhileDecidingDestinationDelegate _download:didFailWithError:]):
4153         (-[CancelDownloadWhileDecidingDestinationDelegate _downloadDidCancel:]):
4154         (-[CancelDownloadWhileDecidingDestinationDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
4155         (-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]): Deleted.
4156         * TestWebKitAPI/cocoa/TestWKWebView.h:
4157         * TestWebKitAPI/cocoa/TestWKWebView.mm:
4158         (-[TestWKWebView objectByEvaluatingJavaScriptWithUserGesture:]):
4159             Add a user-initated version of -objectByEvaluatingJavaScript:. This is needed in
4160             order to maintain the behavior of the RedirectedDownload test, which verifies the
4161             state of the _WKDownload.wasUserInitiated property.
4162
4163 2018-11-19  Wenson Hsieh  <wenson_hsieh@apple.com>
4164
4165         [iOS Debug] Assertion failure in NSComparisonResult UIContentSizeCategoryCompareToCategory()
4166         https://bugs.webkit.org/show_bug.cgi?id=190401
4167         <rdar://problem/45195285>
4168
4169         Reviewed by Dean Jackson.
4170
4171         Work around sporadic UIKit assertions when running API tests that may present a UICalloutBar. Currently, UIKit
4172         asks for the `UIApp`’s `-preferredContentSizeCategory` when showing or laying out the callout bar. However,
4173         TestWebKitAPI lacks a UIApp altogether, and forcing one to be initialized via `UIApplicationInstantiateSingleton`
4174         causes numerous other UIKit and WebKit assertions to be hit.
4175
4176         In lieu of TestWebKitAPI becoming a real UI application (see https://webkit.org/b/175204), simply don't allow
4177         the callout bar to be initialized in TestWKWebView-based API tests. This encompasses all API tests which
4178         have some chance of causing the callout bar to be shown by making a ranged text selections during the test.
4179
4180         * TestWebKitAPI/cocoa/TestWKWebView.mm:
4181         (suppressUICalloutBar):
4182         (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
4183         * TestWebKitAPI/ios/UIKitSPI.h:
4184
4185 2018-11-19  Fujii Hironori  <Hironori.Fujii@sony.com>
4186
4187         REGRESSION(r238016)[GTK][TestWebKitAPI][Ninja] TestJSC can't compile "Bytecodes.h: No such file or directory"
4188         https://bugs.webkit.org/show_bug.cgi?id=191692
4189
4190         Reviewed by Michael Catanzaro.
4191
4192         r238016 added a new #include, and requires JSC's derived headers
4193         to be copied into the forwarding header directory.
4194
4195         WEBKIT_MAKE_FORWARDING_HEADERS is using POST_BUILD event to copy
4196         derived headers to the forwarding header directory. This is done
4197         after linking JSC library.
4198
4199         GTK port has TestJSC which has a dependency to JSC static library.
4200         And, this dependency is a link time dependency which means
4201         compiling source files of TestJSC starts before the POST_BUILD
4202         event of JSC. Thus, required header can't be found.
4203
4204         Add an intermediate target between TestJSC and JavaScriptCore to
4205         ensure derived headers are copied into the forwarding header
4206         directory.
4207
4208         * TestWebKitAPI/PlatformGTK.cmake: Added a new custom target pre-TestJSC.
4209         * TestWebKitAPI/PlatformWPE.cmake: Ditto.
4210
4211 2018-11-19  Alejandro G. Castro  <alex@igalia.com>
4212
4213         [GTK][WPE] Solve some issues in the enumerateDevices code
4214         https://bugs.webkit.org/show_bug.cgi?id=191832
4215
4216         Reviewed by Carlos Garcia Campos.
4217
4218         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
4219         (serverCallback): Make all the Strings with HTML code static.
4220         (testWebsiteDataDeviceIdHashSalt): Change the webView settings in
4221         the test.
4222         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
4223         (WebViewTest::initializeWebView): Remove the initialization of the
4224         webView settings, we now do it in the specific test.
4225
4226 2018-11-18  Chris Dumez  <cdumez@apple.com>
4227
4228         [PSON] Received an invalid message "WebPageProxy.DidPerformClientRedirect" from the web process
4229         https://bugs.webkit.org/show_bug.cgi?id=191828
4230
4231         Reviewed by Antti Koivisto.
4232
4233         Add API test coverage.
4234
4235         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4236         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
4237         * TestWebKitAPI/Tests/WebKitCocoa/client-side-redirect.html: Added.
4238
4239 2018-11-17  Wenson Hsieh  <wenson_hsieh@apple.com>
4240
4241         [iOS] Remove all usages of UIItemProvider, UIItemProviderReading, and related classes
4242         https://bugs.webkit.org/show_bug.cgi?id=191819
4243
4244         Reviewed by Dan Bernstein.
4245
4246         Replace UIItemProvider (and related classes) with NSItemProvider.
4247
4248         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4249         (platformCopyPNG):
4250         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
4251         (-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
4252
4253         Replace usages of this deprecated method with `-registerDataRepresentationForTypeIdentifier:visibility:loadHandler:`.
4254
4255         (checkEstimatedSize):
4256         (checkSuggestedNameAndEstimatedSize):
4257         (TestWebKitAPI::TEST):
4258         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]): Deleted.
4259         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
4260         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
4261         (-[MockDragDropSession canLoadObjectsOfClass:]):
4262         (-[MockDragDropSession canLoadObjectsOfClasses:]):
4263         (-[MockDropSession initWithProviders:location:window:allowMove:]):
4264         (-[MockDropSession canCreateItemsOfClass:]):
4265         (-[DragAndDropSimulator _advanceProgress]):
4266         (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
4267         (-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
4268         * TestWebKitAPI/ios/UIKitSPI.h:
4269
4270 2018-11-17  Chris Dumez  <cdumez@apple.com>
4271
4272         ASSERTION FAILED: m_messageReceivers.contains(...) under ViewGestureController removeMessageReceiver
4273         https://bugs.webkit.org/show_bug.cgi?id=191734
4274         <rdar://problem/46151497>
4275
4276         Reviewed by Ryosuke Niwa.
4277
4278         Add API test coverage.
4279
4280         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
4281
4282 2018-11-17  Zalan Bujtas  <zalan@apple.com>
4283
4284         [LFC][IFC] InlineFormattingState::addDetachingRule should accumulate rules.
4285         https://bugs.webkit.org/show_bug.cgi?id=191801
4286
4287         Reviewed by Antti Koivisto.
4288
4289         * LayoutReloaded/misc/LFC-passing-tests.txt:
4290
4291 2018-11-17  Jer Noble  <jer.noble@apple.com>
4292
4293         Regression(r233865): Causes synchronous IPC in the middle of layout
4294         https://bugs.webkit.org/show_bug.cgi?id=188307
4295         <rdar://problem/42807306>
4296
4297         Reviewed by Eric Carlson.
4298
4299         Follow-up test fix for r238322: