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