Remove unused WebProcessPool::setCanHandleHTTPSServerTrustEvaluation
[WebKit-https.git] / Tools / ChangeLog
1 2019-09-27  Alex Christensen  <achristensen@webkit.org>
2
3         Remove unused WebProcessPool::setCanHandleHTTPSServerTrustEvaluation
4         https://bugs.webkit.org/show_bug.cgi?id=202285
5
6         Reviewed by Youenn Fablet.
7
8         * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
9         (-[ServerTrustDelegate webView:didFinishNavigation:]):
10         (-[ServerTrustDelegate webView:didFailProvisionalNavigation:withError:]):
11         (-[ServerTrustDelegate waitForDidFinishNavigation]):
12         (-[ServerTrustDelegate waitForDidFailProvisionalNavigationError]):
13         (-[ServerTrustDelegate authenticationChallengeCount]):
14         (-[ServerTrustDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
15         (TestWebKitAPI::TEST):
16         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
17         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
18         (WTR::TestRunner::setCanHandleHTTPSServerTrustEvaluation): Deleted.
19         (WTR::TestRunner::canDoServerTrustEvaluationInNetworkProcess): Deleted.
20         (WTR::TestRunner::serverTrustEvaluationCallbackCallsCount): Deleted.
21         * WebKitTestRunner/InjectedBundle/TestRunner.h:
22         * WebKitTestRunner/TestController.cpp:
23         (WTR::TestController::resetStateToConsistentValues):
24         (WTR::TestController::didReceiveAuthenticationChallenge):
25         (WTR::TestController::canDoServerTrustEvaluationInNetworkProcess const): Deleted.
26         * WebKitTestRunner/TestController.h:
27         (WTR::TestController::serverTrustEvaluationCallbackCallsCount const): Deleted.
28         * WebKitTestRunner/TestInvocation.cpp:
29         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
30         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
31         (WTR::TestController::canDoServerTrustEvaluationInNetworkProcess const): Deleted.
32
33 2019-09-27  Alex Christensen  <achristensen@webkit.org>
34
35         Remove unused APIProcessPoolConfiguration::diskCacheSpeculativeValidationEnabled
36         https://bugs.webkit.org/show_bug.cgi?id=202290
37
38         Reviewed by Carlos Garcia Campos.
39
40         * TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
41         (TEST):
42         * WebKitTestRunner/TestController.cpp:
43         (WTR::TestController::websiteDataStore):
44         (WTR::TestController::generatePageConfiguration):
45
46 2019-09-27  Youenn Fablet  <youenn@apple.com>
47
48         Make IsNSURLSessionWebSocketEnabled an experimental flag
49         https://bugs.webkit.org/show_bug.cgi?id=202135
50         <rdar://problem/55694721>
51
52         Reviewed by Geoff Garen.
53
54         * WebKitTestRunner/TestController.cpp:
55         (WTR::TestController::resetPreferencesToConsistentValues):
56         Set preference to false by default.
57
58 2019-09-27  Jiewen Tan  <jiewen_tan@apple.com>
59
60         SubFrameSOAuthorizationSession should ensure messages are posted in the right order to the parent frame
61         https://bugs.webkit.org/show_bug.cgi?id=202061
62         <rdar://problem/55485666>
63
64         Reviewed by Youenn Fablet.
65
66         Adds tests that check the order of messages posted by SubFrameSOAuthorizationSession.
67
68         * TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
69         (-[TestSOAuthorizationScriptMessageHandler userContentController:didReceiveScriptMessage:]):
70         (resetState):
71         (TestWebKitAPI::TEST):
72
73 2019-09-26 Kate Cheney <katherine_cheney@apple.com>
74
75         Resource Load Statistics: Downgrade all third-party referrer headers
76         https://bugs.webkit.org/show_bug.cgi?id=201353
77         <rdar://problem/54895650>
78
79         Majority of this patch was written by John Wilander <wilander@apple.com>.
80
81         Reviewed by Brent Fulgham. 
82
83         The changes to the TestRunner facilitates an opt-out for test cases
84         that either test the referrer mechanism explicitly or tests that
85         rely on the full referrer to be sent. 
86
87         The new boolean variable and early return in 
88         TestRunner::setStatisticsShouldDowngradeReferrer() prevent the same
89         event from trying to set multiple TestRunner callbacks.
90
91         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
92         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
93         (WTR::InjectedBundle::didReceiveMessageToPage):
94         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
95         (WTR::TestRunner::setStatisticsShouldDowngradeReferrer):
96         (WTR::TestRunner::statisticsCallDidSetShouldDowngradeReferrerCallback):
97         * WebKitTestRunner/InjectedBundle/TestRunner.h:
98         * WebKitTestRunner/TestController.cpp:
99         (WTR::TestController::setStatisticsShouldDowngradeReferrer):
100         * WebKitTestRunner/TestController.h:
101         * WebKitTestRunner/TestInvocation.cpp:
102         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
103         (WTR::TestInvocation::didSetShouldDowngradeReferrer):
104         * WebKitTestRunner/TestInvocation.h:
105
106 2019-09-26  Dean Jackson  <dino@apple.com>
107
108         Build fix.
109
110         * TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
111         (-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]): Deleted.
112         (-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuWillPresentForElement:]): Deleted.
113         (-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuForElement:willCommitWithAnimator:]): Deleted.
114         (-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuDidEndForElement:]): Deleted.
115
116 2019-09-26  Dean Jackson  <dino@apple.com>
117
118         ContextMenu on a link in an email no longer shows web preview
119         https://bugs.webkit.org/show_bug.cgi?id=201120
120         <rdar://54353617>
121
122         Reviewed by Wenson Hsieh.
123
124         Test context menus on a link that is also an image.
125
126         * TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
127         (contextMenuWebViewDriver):
128         (-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
129         (-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuWillPresentForElement:]):
130         (-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuForElement:willCommitWithAnimator:]):
131         (-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuDidEndForElement:]):
132         (TEST):
133
134 2019-09-26  Frederic Wang  <fwang@igalia.com>
135
136         run-safari --ios-simulator is no longer working with Xcode 11
137         https://bugs.webkit.org/show_bug.cgi?id=199852
138
139         Path of MobileSafari.app has changed in Xcode 11. This patch updates
140         the run-safari script to use the new path. This removes support for
141         running Safari on iOS < 13, see discussions on bug 177595.
142
143         Reviewed by Jonathan Bedard.
144
145         * Scripts/webkitdirs.pm:
146         (iosSimulatorApplicationsPath):
147
148 2019-09-26  Zhifei Fang  <zhifei_fang@apple.com>
149
150         [results.webkit.org] Timeline support Image inner label
151         https://bugs.webkit.org/show_bug.cgi?id=202180
152
153         Reviewed by Jonathan Bedard.
154
155         * resultsdbpy/resultsdbpy/view/static/js/expectations.js:
156         * resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
157         (.lengend>.item .dot img): support img symbol for lengend and dot
158         * resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
159         (Timeline.CanvasSeriesComponent): Support user pass a Image object or a image url as inner label
160
161 2019-09-26  Chris Dumez  <cdumez@apple.com>
162
163         Stop using testRunner.overridePreference() to turn on Page Cache
164         https://bugs.webkit.org/show_bug.cgi?id=202274
165
166         Reviewed by Alex Christensen.
167
168         * DumpRenderTree/TestRunner.cpp:
169         (overridePreferenceCallback):
170         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
171         (WTR::TestRunner::overridePreference):
172
173 2019-09-26  Jonathan Bedard  <jbedard@apple.com>
174
175         results.webkit.org: Use cursor: pointer for clickable elements
176         https://bugs.webkit.org/show_bug.cgi?id=202268
177
178         Rubber-stamped by Aakash Jain.
179
180         * resultsdbpy/resultsdbpy/view/static/js/drawer.js: Give collapse button a pointer for cursor.
181         * resultsdbpy/resultsdbpy/view/templates/search.html: Make 'X' to close test timeline a link-button.
182
183 2019-09-26  Kate Cheney  <katherine_cheney@apple.com>
184
185         Enable LayoutTests using ResourceLoadStatistics SQLite backend (195420) 
186         https://bugs.webkit.org/show_bug.cgi?id=195420                          
187         <rdar://problem/54213551>                                               
188
189         Reviewed by Brent Fulgham.                                             
190
191         Added in logic to send a message from the UIProcess to the Network      
192         Process which will initalize the ITP Database backend to allow for      
193         layout testing.                                                         
194         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
195         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
196         (WTR::TestRunner::setUseITPDatabase):
197         * WebKitTestRunner/InjectedBundle/TestRunner.h:
198         * WebKitTestRunner/TestController.cpp:
199         (WTR::TestController::setUseITPDatabase):
200         * WebKitTestRunner/TestController.h:
201         * WebKitTestRunner/TestInvocation.cpp:
202         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
203
204 2019-09-26  Wenson Hsieh  <wenson_hsieh@apple.com>
205
206         TestWebKitAPI.WebKit.ReloadWithDifferingInitialScale is failing consistently
207         https://bugs.webkit.org/show_bug.cgi?id=202273
208
209         Reviewed by Aakash Jain.
210
211         The content width scaling limits added in r250361 prevent this test from scaling down the content width (2000px
212         wide) to fit the viewport (375px). To avoid this issue, change the content width from 2000px to 1500px, which is
213         still a very wide content width for a web page.
214
215         * TestWebKitAPI/Tests/WebKitCocoa/ReloadWithDifferingInitialScale.mm:
216
217 2019-09-26  Alexey Shvayka  <shvaikalesh@gmail.com>
218
219         toExponential, toFixed, and toPrecision should allow arguments up to 100
220         https://bugs.webkit.org/show_bug.cgi?id=199163
221
222         Reviewed by Ross Kirsling.
223
224         Adjust StringNumberFixedWidth test due to lowering kMaxFixedDigitsBeforePoint.
225
226         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
227
228 2019-09-26  Jiewen Tan  <jiewen_tan@apple.com>
229
230         TestWebKitAPI.SOAuthorizationSubFrame.AuthorizationOptions is failing consistently on iOS API tests EWS
231         https://bugs.webkit.org/show_bug.cgi?id=202249
232
233         Reviewed by Alex Christensen.
234
235         Swizzles +[AKAuthorizationController isURLFromAppleOwnedDomain:] following other tests.
236
237         * TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
238         (TestWebKitAPI::TEST):
239
240 2019-09-25  Alex Christensen  <achristensen@webkit.org>
241
242         Add replacement SPI on _WKWebsiteDataStoreConfiguration for enabling speculative cache validation and IPC-free server trust evaluation
243         https://bugs.webkit.org/show_bug.cgi?id=202251
244
245         Reviewed by Tim Horton.
246
247         Adopt new SPI instead of deprecated SPI.
248
249         * MiniBrowser/mac/AppDelegate.m:
250         (persistentDataStore):
251         (defaultConfiguration):
252         (-[BrowserAppDelegate fetchDefaultStoreWebsiteData:]):
253         (-[BrowserAppDelegate fetchAndClearDefaultStoreWebsiteData:]):
254         (-[BrowserAppDelegate clearDefaultStoreWebsiteData:]):
255
256 2019-09-25  Jonathan Bedard  <jbedard@apple.com>
257
258         Python 3: Add support in webkitpy.common.system
259         https://bugs.webkit.org/show_bug.cgi?id=201826
260         <rdar://problem/55452671>
261
262         Reviewed by Stephanie Lewis.
263
264         Tested compatibility by running 'python3 -m unittest webkitpy.common.system.<_unittest>' on
265         each of the effected files.
266
267         * Scripts/webkitpy/common/checkout/changelog.py: Import StringIO from io module.
268         (set_reviewer):
269         (set_short_description_and_bug_url):
270         * Scripts/webkitpy/common/checkout/checkout.py:  Import StringIO from io module.
271         (Checkout._latest_entry_for_changelog_at_revision):
272         * Scripts/webkitpy/common/config/committers.py:
273         (CommitterList.load_json): iteritems -> items.
274         * Scripts/webkitpy/common/net/networktransaction.py:
275         (NetworkTransaction.run): urllib2 is urllib in Python3. 
276         * Scripts/webkitpy/common/system/abstractexecutive.py:
277         (AbstractExecutive._stringify_args):
278         (AbstractExecutive.command_for_printing): The str type is unicode in Python3.
279         * Scripts/webkitpy/common/system/crashlogs_unittest.py: Explicitly encode and decode binary crashlogs.
280         * Scripts/webkitpy/common/system/environment_unittest.py: Use absolute imports.
281         * Scripts/webkitpy/common/system/executive.py:
282         (ScriptError.message_with_output): The str type is unicode in Python3.
283         (Executive.WrappedPopen): Python3's Popen object is a context manager. To allow us to use it as one,
284         our Python2 Popen needs to be one as well.
285         (Executive.WrappedPopen.__init__):
286         (Executive.WrappedPopen.__enter__):
287         (Executive.WrappedPopen.__exit__):
288         (Executive._run_command_with_teed_output): Simplify loop, decode unicode strings.
289         (Executive.run_and_throw_if_fail): The child output file should not be unicode strings.
290         (Executive.running_pids): Use the Popen context manager to guarantee clean-up.
291         (Executive._compute_stdin):
292         (Executive.run_command): Use the Popen context manager to guarantee clean-up.
293         (Executive._stringify_args): The str type is unicode in Python3.
294         (Executive.popen): Return a context manager if the Popen object is not one.
295         * Scripts/webkitpy/common/system/executive_mock.py:
296         (MockProcess.__init__): StringIO -> BytesIO.
297         (MockProcess.__enter__):
298         (MockProcess):
299         (MockProcess.__exit__):
300         * Scripts/webkitpy/common/system/executive_unittest.py:
301         (ExecutiveTest.test_auto_stringify_args): Use the Popen context manager to guarantee clean-up.
302         (ExecutiveTest.test_popen_args): Ditto.
303         (ExecutiveTest.serial_test_kill_process): Ditto.
304         (ExecutiveTest.serial_test_kill_all): Ditto.
305         * Scripts/webkitpy/common/system/filesystem.py:
306         (FileSystem.read_binary_file): Use 'open' instead of 'file'.
307         (FileSystem.write_binary_file): Ditto.
308         (FileSystem.write_text_file): The str type is unicode in Python3. 
309         (FileSystem.relpath):
310         (FileSystem.remove): The WindowsError is just anther OSError in Python3.
311         (FileSystem._WindowsError): Deleted.
312         * Scripts/webkitpy/common/system/filesystem_mock.py:
313         (MockFileSystem.glob): filter returns a generator instead of a list.
314         (WritableBinaryFileObject.__init__): Binary files are comprised of bytes, not string in Python3.
315         (WritableBinaryFileObject.write): Ditto.
316         (ReadableTextFileObject.__init__): Ditto.
317         * Scripts/webkitpy/common/system/filesystem_mock_unittest.py:
318         (MockFileSystemTest.test_normpath):
319         (MockFileSystemTest.test_dirs_under): assertEquals -> assertEqual.
320         * Scripts/webkitpy/common/system/filesystem_unittest.py:
321         (RealFileSystemTest.test_read_and_write_file): Explicitly define byte arrays instead of strings.
322         (RealFileSystemTest.test_remove_file_with_retry.remove_with_exception): The WindowsError is just
323         anther OSError in Python3.
324         * Scripts/webkitpy/common/system/outputcapture.py:
325         * Scripts/webkitpy/common/system/outputtee_unittest.py:
326         (SimpleTeeTest.test_simple_tee):
327         * Scripts/webkitpy/common/system/path.py:
328         (_escape): urllib library has been broken into parts.
329         * Scripts/webkitpy/common/system/pemfile.py:
330         (_parse_pem_format.find_end): Python3 does not define a maxint.
331         * Scripts/webkitpy/common/system/pemfile_unittest.py:
332         * Scripts/webkitpy/common/system/platforminfo.py:
333         (PlatformInfo.total_bytes_memory): Not 'long' type in Python3.
334         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
335         (TestPlatformInfo.test_real_code): assertNotEquals -> assertNotEqual.
336         (TestPlatformInfo.test_display_name): Ditto.
337         * Scripts/webkitpy/common/system/profiler.py:
338         (ProfilerFactory.create_profiler): Manually implement ifilter.
339         * Scripts/webkitpy/common/system/profiler_unittest.py: Use absolute imports.
340         * Scripts/webkitpy/common/system/stack_utils_unittest.py:
341         (current_thread_id): items() returns a generator in Python3.
342         * Scripts/webkitpy/common/system/systemhost.py: Use absolute imports.
343         * Scripts/webkitpy/common/system/urlfetcher.py: Removed.
344         * Scripts/webkitpy/common/system/urlfetcher_mock.py: Removed.
345         * Scripts/webkitpy/common/system/user.py:
346         (User.prompt): Use absolute imports, raw_input -> input.
347         (User.prompt_with_multiple_lists):
348         (User.prompt_with_list):
349         (User.confirm):
350         * Scripts/webkitpy/common/unicode.py: Tooling to manage compatibility between Python 2
351         and Python 3 unicode handling.
352         * Scripts/webkitpy/common/system/user_mock.py:
353         (MockUser.prompt): raw_input -> input.
354         (MockUser.prompt_with_list): Ditto.
355         * Scripts/webkitpy/common/version.py:
356         (Version.from_iterable): xrange -> range.
357         (Version.from_name): Use absolute import path.
358         (Version.__contains__): xrange -> range.
359         (Version.__str__): xrange -> range.
360         (Version.__cmp__): amp is no longer an operator in Python3, but versions are comprised
361         Of integers, so subtraction has the same effect.
362         (Version):
363         (Version.__eq__): __cmp__ operator is no longer respected, so we need to implement
364         each comparison.
365         (Version.__ne__): Ditto.
366         (Version.__lt__): Ditto.
367         (Version.__le__): Ditto.
368         (Version.__gt__): Ditto.
369         (Version.__ge__): Ditto.
370         * Scripts/webkitpy/common/version_name_map.py:
371         (VersionNameMap._automap_to_major_version):
372         (VersionNameMap.to_name): xrange -> range.
373         (VersionNameMap.from_name): iteritems -> items.
374         * Scripts/webkitpy/common/version_name_map_unittest.py: Use absolute imports.
375         * Scripts/webkitpy/common/version_unittest.py: Ditto.
376         * Scripts/webkitpy/common/wavediff.py:
377         (WaveDiff.__init__): StringIO -> BytesIO.
378         * Scripts/webkitpy/port/__init__.py:
379         (outside):
380
381 2019-09-25  Aakash Jain  <aakash_jain@apple.com>
382
383         [EWS] RunJavaScriptCoreTestsToT should use the same command as RunJavaScriptCoreTests
384         https://bugs.webkit.org/show_bug.cgi?id=202216
385
386         Reviewed by Jonathan Bedard.
387
388         * BuildSlaveSupport/ews-build/steps.py:
389         (RunJavaScriptCoreTestsToT): Removed the command so as to use the command from base class.
390         * BuildSlaveSupport/ews-build/steps_unittest.py: Updatd unit-tests.
391
392 2019-09-25  Aakash Jain  <aakash_jain@apple.com>
393
394         [ews] JSC queues should run or skip tests based on runTests key from config.json
395         https://bugs.webkit.org/show_bug.cgi?id=202223
396
397         Reviewed by Jonathan Bedard.
398
399         * BuildSlaveSupport/ews-build/config.json: Added the runTests key.
400         * BuildSlaveSupport/ews-build/factories.py:
401         (JSCTestsFactory.__init__): Add RunJavaScriptCoreTests step based on runTests key.
402         * BuildSlaveSupport/ews-build/loadConfig.py:
403         (loadBuilderConfig): Pass the runTests key to the factory.
404         * BuildSlaveSupport/ews-build/loadConfig_unittest.py:
405         (ConfigDotJSONTest.test_builder_keys): Added the runTests key.
406
407 2019-09-25  Jonathan Bedard  <jbedard@apple.com>
408
409         results.webkit.org: Add investigation drawer
410         https://bugs.webkit.org/show_bug.cgi?id=202106
411
412         Reviewed by Dewei Zhu.
413
414         * resultsdbpy/resultsdbpy/view/static/js/drawer.js: Support multiple 'main' classes.
415         * resultsdbpy/resultsdbpy/view/static/js/expectations.js: Added.
416         (Expectations.colorMap): Return a dictionary mapping type strings to colors.
417         (Expectations.stringToStateId): Map a string to a state ID for sorting.
418         (Expectations.typeForId): Return a type string given an ID.
419         (Expectations.symbolForId): Return a symbol for a type given an ID.
420         (Expectations.colorForId): Return a color given an ID.
421         (Expectations.unexpectedResults): Given a list of actual results and expected results,
422         return a state.
423         (Expectations):
424         * resultsdbpy/resultsdbpy/view/static/js/investigate.js: Added.
425         (commitsForUuid):
426         (testRunLink):
427         (elapsed):
428         (percentage):
429         (contentForAgregateData):
430         (contentForData):
431         (_InvestigateDrawer):
432         (_InvestigateDrawer.prototype.isRendered):
433         (_InvestigateDrawer.prototype.expand): Expand the investigation drawer.
434         (_InvestigateDrawer.prototype.collapse): Collapse the investigation drawer.
435         (_InvestigateDrawer.prototype.select): Select an element to investigate.
436         * resultsdbpy/resultsdbpy/view/static/js/timeline.js:
437         (statsForSingleResult): Move Expectation constants.
438         (TimelineFromEndpoint.prototype.render): Investigate specific data points instead
439         of jumping to the build.
440         (Expectations.stringToStateId): Deleted.
441         (Expectations.unexpectedResults): Deleted.
442         (Expectations): Deleted.
443         * resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
444         (.drawer.display): Make minimum height.
445         (@media screen and (min-width: 600px)): Move main and sidebar so they override drawer.
446         (@media screen and (min-width: 768px)): Ditto.
447         * resultsdbpy/resultsdbpy/view/templates/commits.html:
448         * resultsdbpy/resultsdbpy/view/templates/search.html:
449         * resultsdbpy/resultsdbpy/view/templates/suite_results.html:
450
451 2019-09-25  Alex Christensen  <achristensen@webkit.org>
452
453         Remove duplicate WebsiteDataStoreConfiguration copying code
454         https://bugs.webkit.org/show_bug.cgi?id=202215
455
456         Reviewed by Tim Horton.
457
458         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
459         (TEST):
460
461 2019-09-25  Alex Christensen  <achristensen@webkit.org>
462
463         Replace WebsiteDataStoreParameters::privateSessionParameters with re-initializing all sessions immediately upon NetworkProcess resumption
464         https://bugs.webkit.org/show_bug.cgi?id=202211
465
466         Reviewed by Tim Horton.
467
468         * TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
469         (checkRecoveryAfterCrash):
470         (TEST):
471
472 2019-09-25  Aakash Jain  <aakash_jain@apple.com>
473
474         [EWS] JSC queues should dynamically add required build steps for re-testing the patch
475         https://bugs.webkit.org/show_bug.cgi?id=202170
476
477         Reviewed by Jonathan Bedard.
478
479         * BuildSlaveSupport/ews-build/factories.py:
480         (JSCTestsFactory.__init__): Do not add ReRunJavaScriptCoreTests and related steps here, as
481         these are dynamically added (if required) in steps.py.
482         * BuildSlaveSupport/ews-build/steps.py:
483         (CompileJSCToT): Remove doStepIf() and hideStepIf() method, these are no longer required as we add
484         this step dynamically only if required. We don't need an extra property ('patchFailedToBuild') to be set.
485         (RunJavaScriptCoreTests.evaluateCommand): Dynamically add ReRunJavaScriptCoreTests step if required.
486         (ReRunJavaScriptCoreTests): Removed doStepIf() and hideStepIf() method.
487         (ReRunJavaScriptCoreTests.evaluateCommand): Dynamically add UnApplyPatchIfRequired(), CompileJSCToT() and RunJavaScriptCoreTestsToT steps.
488         (RunJavaScriptCoreTestsToT.evaluateCommand): Overriden to avoid caling the base-class method which dynamically adds
489         more steps.
490         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests accordingly.
491
492 2019-09-25  Wenson Hsieh  <wenson_hsieh@apple.com>
493
494         [iPadOS] [DataActivation] Focus moves away after focusing input fields on www.att.com
495         https://bugs.webkit.org/show_bug.cgi?id=202167
496         <rdar://problem/55185021>
497
498         Reviewed by Tim Horton.
499
500         Rebaseline an API test.
501
502         * TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
503         (TestWebKitAPI::TEST):
504
505 2019-09-25  Jonathan Bedard  <jbedard@apple.com>
506
507         Unreviewed, rolling out r250324.
508
509         Tools/ChangeLog
510
511         Reverted changeset:
512
513         "Enable LayoutTests using ResourceLoadStatistics SQLite
514         backend (195420)"
515         https://bugs.webkit.org/show_bug.cgi?id=195420
516         https://trac.webkit.org/changeset/250324
517
518 2019-09-24  Fujii Hironori  <Hironori.Fujii@sony.com>
519
520         [Windows][webkitpy] _apache_config_file_name_for_platform should take the system PHP version into account
521         https://bugs.webkit.org/show_bug.cgi?id=202134
522
523         Reviewed by Jonathan Bedard.
524
525         _apache_config_file_name_for_platform always returns a config file
526         name for PHP5 on Cygwin Python, one for PHP7 on Win32 Python. It
527         should detect the system PHP version as Linux ports do.
528
529         Both AppleWin and WinCairo are using XAMPP Apache. Unify the code
530         paths for them. And, remove a stale conf file.
531
532         This change makes it possible to use Cygwin Python with PHP7.
533
534         * Scripts/webkitpy/port/base.py:
535         (Port._win_php_version): Added.
536         (Port._apache_config_file_name_for_platform): Unified cygwin and
537         win32 code path by using _win_php_version.
538         * Scripts/webkitpy/port/port_testcase.py:
539         (test_apache_config_file_name_for_platform): Updated cygwin and
540         win32 test cases.
541
542 2019-09-24  Matt Lewis  <jlewis3@apple.com>
543
544         Bring up queues for iPadOS Simulator Tests
545         https://bugs.webkit.org/show_bug.cgi?id=202151
546
547         Reviewed by Jonathan Bedard.
548
549         * BuildSlaveSupport/build.webkit.org-config/config.json:
550         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
551         (WebKitBuildbot):
552         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
553
554 2019-09-24  Kate Cheney  <katherine_cheney@apple.com>
555
556         Enable LayoutTests using ResourceLoadStatistics SQLite backend (195420) 
557         https://bugs.webkit.org/show_bug.cgi?id=195420                          
558         <rdar://problem/54213551>                                               
559
560         Reviewed by Brent Fulgham.                                             
561
562         Added in logic to send a message from the UIProcess to the Network      
563         Process which will initalize the ITP Database backend to allow for      
564         layout testing.                                                         
565         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
566         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
567         (WTR::TestRunner::setUseITPDatabase):
568         * WebKitTestRunner/InjectedBundle/TestRunner.h:
569         * WebKitTestRunner/TestController.cpp:
570         (WTR::TestController::setUseITPDatabase):
571         * WebKitTestRunner/TestController.h:
572         * WebKitTestRunner/TestInvocation.cpp:
573         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
574
575 2019-09-24  Patrick Griffis  <pgriffis@igalia.com>
576
577         Add Patrick Griffis to contributors.json
578
579         Unreviewed.
580
581         * Scripts/webkitpy/common/config/contributors.json:
582
583 2019-09-24  Aakash Jain  <aakash_jain@apple.com>
584
585         [ews-build] Improve summary for Validate Patch step
586         https://bugs.webkit.org/show_bug.cgi?id=202163
587
588         Reviewed by Jonathan Bedard.
589
590         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Remove the redundant message saying:
591         'Some messages were logged while the patch was still eligible'.
592         * BuildSlaveSupport/ews-build/steps.py:
593         (ValidatePatch.skip_build): Updated the descritionDone with the reason to skip the patch.
594         (ValidatePatch.getResultSummary): Overrode this method so as to prevent buildbot from automatically
595         appending '(failure)' at the end of the summary string.
596
597 2019-09-24  Keith Rollin  <krollin@apple.com>
598
599         Coalesce or remove PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
600         https://bugs.webkit.org/show_bug.cgi?id=202119
601         <rdar://problem/55638792>
602
603         Reviewed by Alex Christensen.
604
605         After refactoring and other code evolution, some platform checks have
606         ended up looking like PLATFORM(MAC) || PLATFORM(IOS_FAMILY) (or
607         vice-versa). These can be converted into the equivalent
608         PLATFORM(COCOA). Where the instance occurs in a Cocoa-only file, the
609         check can be removed altogether (along with any "#else" branches).
610
611         * DumpRenderTree/AccessibilityTextMarker.h:
612         * DumpRenderTree/AccessibilityUIElement.cpp:
613         (AccessibilityUIElement::setValue):
614
615 2019-09-24  Zhifei Fang  <zhifei_fang@apple.com>
616
617         Add tests for Ref.js.
618         https://bugs.webkit.org/show_bug.cgi?id=201778.
619
620         Reviewed by Jonathan Bedard.
621
622         * resultsdbpy/resultsdbpy/view/static/library/js/Ref.js:
623         (applyStateDiff): null, 0, false are all valid state
624         (Ref.prototype.setState): We should do nothing for undefined stateDiff
625         * resultsdbpy/resultsdbpy/view/static/library/js/Test.js: Added.
626         (AssertFailedError):
627         (Expect): Perform assertions during unit tests.
628         (Expect.prototype.isType):
629         (Expect.prototype.equalToValue):
630         (Expect.prototype.equalToHtmlWithoutRef):
631         (Expect.prototype.notEqualToValue):
632         (Expect.prototype.greaterThan):
633         (Expect.prototype.greaterThanOrEqualTo):
634         (Expect.prototype.lessThan):
635         (Expect.prototype.lessThanOrEqualTo):
636         (TestSuite): Common TestSuite class for user to extend. 
637         (TestSuite.prototype.expect):
638         (TestSuite.prototype.sleep): Test will sleep for certain ms
639         (TestSuite.prototype.waitForSignal): Wait until we receive a certain signal with timeout
640         (TestSuite.prototype.waitForRefMounted): Wait until we receive ref object's onElementMount signal with timeout
641         (TestSuite.prototype.waitForRefUnmounted): Wait until we receive ref object's onElementUnmount signal with timeout
642         (TestSuite.prototype.waitForStateUpdated):Wait until we receive ref object's onStateUpdate signal with timeout
643         (TestSuite.prototype.async.setup): Common interface for setup a test suite
644         (TestSuite.prototype.async.clearUp): Common interface for clear up a test suite
645         (getTestFucntionNames): Collect all the test method of a test instance.
646         (TestResult):
647         (TestResult.prototype.catchException):
648         (async.getTestResult): Run the test and generate a TestResult object
649         (TestController):
650         (TestController.prototype.addResultHandler): Test controller will send notification of a test result to result handler
651         (TestController.prototype.addSetupArgs): This gives some additional args for the common setup method for each test class, 
652         it is the best place to setup something like a root element, a fake data source, etc
653         (TestController.prototype.collect): This method used for collect the test classes.
654         (TestController.prototype.async.collectFile): It will import the file as a module dynamicly and collect all the test classes that module export
655         (TestController.prototype.async.runTest): It will run a test method of a test class
656         (TestController.prototype.async.run): It will run all test or a test class or a test method
657         * resultsdbpy/resultsdbpy/view/static/library/js/components/TestComponents.js: components for test app.
658         * resultsdbpy/resultsdbpy/view/static/library/js/test/RefTest.js: Ref.js test cases.
659         * resultsdbpy/resultsdbpy/view/static/library/js/test/index.html: Test app entry.
660
661 2019-09-24  Wenson Hsieh  <wenson_hsieh@apple.com>
662
663         FocusPreservationTests.ChangingFocusedNodeResetsFocusPreservationState triggers a debug assertion
664         https://bugs.webkit.org/show_bug.cgi?id=202145
665         <rdar://problem/51273128>
666
667         Reviewed by Tim Horton.
668
669         Fixes this API test to work on iPad as well as iPhone. Importantly, we show a popover when focusing
670         select elements on iPad, which means that there is no -inputView present on WKContentView, and upon
671         dismissing the form accessory view, the select element is still focused.
672
673         * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
674
675 2019-09-25  Cathie Chen  <cathiechen@igalia.com>
676
677         Add Cathie Chen as WebKit committer
678
679         Unreviewed.
680
681         * Scripts/webkitpy/common/config/contributors.json:
682
683 2019-09-24  Alex Christensen  <achristensen@webkit.org>
684
685         Require a WebsiteDataStore when creating or resuming downloads
686         https://bugs.webkit.org/show_bug.cgi?id=202081
687
688         Reviewed by Youenn Fablet.
689
690         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
691         (-[DownloadProgressTestRunner startDownload:expectedLength:]):
692
693 2019-09-23  Zan Dobersek  <zdobersek@igalia.com>
694
695         run-web-platform-tests: remove support for in-repository manifest, expectation management
696         https://bugs.webkit.org/show_bug.cgi?id=202037
697
698         Reviewed by Carlos Alberto Lopez Perez.
699
700         Instead of keeping wpt metadata inside the WebKit repository or have it
701         generated on-the-fly, provide additional option flags for the
702         run-web-platform-tests script that allows detailed specification of the
703         metadata, manifest and include manifest locations, if necessary.
704
705         If the metadata location is not provided, the wptrunner tool will simply
706         not rely on any metadata to adjust expected results. With no manifest
707         path specified, the manifest will be generated inside the wpt checkout.
708         If no include manifest is specified, all the tests will be initially
709         selected for running (until they're possibly filtered through additional
710         command line arguments).
711
712         * Scripts/webkitpy/common/config/ports_mock.py:
713         (MockPort.run_bindings_tests_command):
714         (MockPort.wpt_metadata_directory): Deleted.
715         (MockPort.wpt_manifest_file): Deleted.
716         * Scripts/webkitpy/port/base.py:
717         (Port.default_results_directory):
718         (Port.wpt_metadata_directory): Deleted.
719         (Port.wpt_manifest_file): Deleted.
720         * Scripts/webkitpy/w3c/wpt_runner.py:
721         (parse_args):
722         (WPTRunner.prepare_wpt_checkout):
723         (WPTRunner.run):
724         (WPTRunner._generate_metadata_directory): Deleted.
725         (WPTRunner._wpt_run_paths): Deleted.
726         * Scripts/webkitpy/w3c/wpt_runner_unittest.py:
727         (WPTRunnerTest.TestInstance.__init__):
728         (WPTRunnerTest.test_prepare_wpt_checkout_specified_path):
729         (WPTRunnerTest.test_run):
730         (WPTRunnerTest.test_run_with_specified_options):
731         (WPTRunnerTest.test_run_with_args):
732         (WPTRunnerTest.TestInstance.prepare_mock_files_for_run): Deleted.
733         (WPTRunnerTest.test_generate_metadata_directory): Deleted.
734
735 2019-09-23  Fujii Hironori  <Hironori.Fujii@sony.com>
736
737         [Win][WebKitTestRunner] Implement EventSenderProxy::keyDown
738         https://bugs.webkit.org/show_bug.cgi?id=201913
739
740         Reviewed by Ross Kirsling.
741
742         Implemented eventSender.keyDown for Windows WebKitTestRunner based
743         on DumpRenderTree implementation.
744
745         There is a difference between them. Only WTR truns KF_UP and
746         KF_REPEAT flags on for WM_KEYUP event.
747         EventSenderProxy::dispatchMessage is used in WTR. It calls
748         TranslateMessage, this introduces the difference. If I didn't turn
749         those bits, TranslateMessage posts WM_CHAR even for WM_KEYUP.
750         According the spec, WM_KEYUP needs those bits.
751         <https://docs.microsoft.com/en-us/windows/win32/inputdev/wm-keyup>
752         DRT doesn't need the those bits becasuse it doesn't use
753         TranslateMessage for WM_KEYUP.
754
755         * WebKitTestRunner/win/EventSenderProxyWin.cpp:
756         (WTR::makeKeyDataForScanCode): Added.
757         (WTR::pumpMessageQueue): Added.
758         (WTR::EventSenderProxy::keyDown): Implemented by using DRT code.
759
760 2019-09-23  Aakash Jain  <aakash_jain@apple.com>
761
762         [EWS] Rename CompileJSCOnly to CompileJSC
763         https://bugs.webkit.org/show_bug.cgi?id=202118
764
765         Reviewed by Jonathan Bedard.
766
767         * BuildSlaveSupport/ews-build/factories.py:
768         (JSCTestsFactory.__init__): Renamed CompileJSCOnly to CompileJSC.
769         * BuildSlaveSupport/ews-build/steps.py:
770         (CompileWebKit.evaluateCommand): Ditto.
771         (AnalyzeCompileWebKitResults.start): Ditto.
772         (CompileJSC): Changed step-name to 'compile-jsc' to better match with similar steps like 'compile-webkit'. 
773         (CompileJSCToT): Ditto for 'compile-jsc-tot'.
774         * BuildSlaveSupport/ews-build/steps_unittest.py: Renamed CompileJSCOnly to CompileJSC and CompileJSCOnlyToT to CompileJSCToT.
775
776 2019-09-23  Wenson Hsieh  <wenson_hsieh@apple.com>
777
778         [iOS] Drop animation when dragging images from Photos to WebKit2 Mail compose is incorrect
779         https://bugs.webkit.org/show_bug.cgi?id=201674
780         <rdar://problem/51250952>
781
782         Reviewed by Tim Horton.
783
784         Add a couple of new API tests to exercise the new image placeholder drop codepath, in addition to testing
785         infrastructure to simulate the timing of drop animation delegate calls.
786
787         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
788         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
789         (-[NSArray _attachmentWithName:]):
790         (-[TestWKWebView allBoundingClientRects:]):
791
792         Add some new API testing helper methods.
793
794         (TestWebKitAPI::targetedImageDragPreview):
795         (TestWebKitAPI::TEST):
796
797         Add two new tests, to:
798         (1) verify that images are dropped as attachment-backed placeholder image elements when the web view is editable
799             and enables attachment elements, and
800         (2) verify that when dropping an image taller than the web view, the bottom portion of the drop preview is
801             clipped using the targeted preview parameter's visiblePath.
802
803         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
804         (-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:]): Deleted.
805         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
806         * TestWebKitAPI/cocoa/NSItemProviderAdditions.h: Added.
807         * TestWebKitAPI/cocoa/NSItemProviderAdditions.mm: Added.
808
809         Move some common helpers for registering data on a NSItemProvider to a separate file, so that it can be used in
810         both WKAttachmentTests and DragAndDropTests.
811
812         (-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
813         (-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:loadingDelay:]):
814         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
815         (-[DragAndDropSimulator initWithWebView:]):
816         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
817         (-[DragAndDropSimulator clearExternalDragInformation]):
818         (-[DragAndDropSimulator setExternalItemProviders:defaultDropPreviews:]):
819
820         Add a new method to allow tests to specify both a list of externally dragged item providers, as well as default
821         targeted previews for each of the corresponding items. These default previews are used when invoking the drop
822         interaction delegate's preview generation methods.
823
824         (-[DragAndDropSimulator addAnimations:]):
825
826         Not implemented yet; for now, this simply asserts.
827
828         (-[DragAndDropSimulator addCompletion:]):
829
830         Queues a completion handler, which is invoked when the drop animation for each item completes. Depending on the
831         value of DragAndDropSimulator's -dropAnimationTiming, this may occur either before or after handling the drop.
832         By default, these will be invoked after the drop completes, which represents the common case where data can be
833         loaded quickly relative to the drop animation.
834
835         (-[DragAndDropSimulator _invokeDropAnimationCompletionBlocksAndConcludeDrop]):
836         (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
837
838 2019-09-23  Jonathan Bedard  <jbedard@apple.com>
839
840         results.webkit.org: Collapse results with the same version name (Follow-up fix)
841         https://bugs.webkit.org/show_bug.cgi?id=201779
842
843         Rubber-stamped by Aakash Jain.
844
845         * resultsdbpy/resultsdbpy/view/static/js/configuration.js:
846         (Configuration.prototype.compare): Correctly compare constructed version names.
847
848 2019-09-16  Jiewen Tan  <jiewen_tan@apple.com>
849
850         [WebAuthn] LocalAuthenticator tests are failing on internal bots
851         https://bugs.webkit.org/show_bug.cgi?id=201844
852         <rdar://problem/54278693>
853
854         Reviewed by Brent Fulgham.
855
856         LocalAuthenticator tests utilize Keychain for mock testing. Unlike iOS simulator tests which
857         each test runner is running in different simulator containers, all test runners are running
858         in the same macOS container in macOS. Therefore, Keychain is shared among all test runners
859         in macOS while it is not in iOS simulators. And therefore, race conditions would happen in
860         macOS which make the current tests flaky given they don't consider race conditions.
861
862         This patch then makes each test generate a random credential, and thus no other tests would
863         be able to access it, and therefore eliminate any race condition. To support this, a few new
864         functionalities are introduced to the mock test infrastructure as well:
865         1) TestRunner.cleanUpKeychain accepts a new parameter to more precisely identify an item.
866         2) WebAuthenticationMockConfiguration.Local has a new member to uniquely select a credential
867         for getAssertion ceremony when multiple presents.
868
869         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
870         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
871         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
872         (WTR::TestRunner::cleanUpKeychain):
873         * WebKitTestRunner/InjectedBundle/TestRunner.h:
874         * WebKitTestRunner/TestController.h:
875         * WebKitTestRunner/TestInvocation.cpp:
876         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
877         * WebKitTestRunner/TestController.cpp:
878         (WTR::TestController::cleanUpKeychain):
879         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
880         (WTR::TestController::cleanUpKeychain):
881
882 2019-09-20  Aakash Jain  <aakash_jain@apple.com>
883
884         [EWS] JSC queues should re-build ToT and compare results on build failure
885         https://bugs.webkit.org/show_bug.cgi?id=201999
886
887         Reviewed by Jonathan Bedard.
888
889         * BuildSlaveSupport/ews-build/factories.py:
890         (JSCTestsFactory.__init__): Do not add the UnApplyPatchIfRequired and CompileJSCOnlyToT step here, as
891         these are dynamically added (if required) in steps.py in CompileWebKit.evaluateCommand() using addStepsAfterCurrentStep().
892         Also setting skipUpload=False since we don't need to upload the archive for this queue. Building and testing is done in same build.
893         * BuildSlaveSupport/ews-build/steps.py:
894         (CompileWebKit.evaluateCommand): Add CompileJSCOnlyToT or CompileWebKitToT build-step based on 'group' property.
895         (AnalyzeCompileWebKitResults.start): Ditto.
896         (CompileJSCOnly.start): Set the 'group' property to 'jsc'.
897         (CompileJSCOnlyToT.evaluateCommand): Over-ride evaluateCommand, so that base-class' (CompileWebKit) evaluateCommand is 
898         not used, base class evaluateCommand adds build-steps dynamically.
899
900 2019-09-20  Keith Rollin  <krollin@apple.com>
901
902         Remove some support for < iOS 13
903         https://bugs.webkit.org/show_bug.cgi?id=201967
904         <rdar://problem/55504738>
905
906         Reviewed by Andy Estes.
907
908         Remove some support for iOS versions less than 13.0.
909
910         Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED
911         and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
912         values >= 130000. This means that expressions like
913         "__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and
914         "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True.
915
916         After version checks have been removed, there are some cases where the
917         preprocessor conditional looks like "#if PLATFORM(MAC) ||
918         PLATFORM(IOS_FAMILY)". These can be collapsed into "#if
919         PLATFORM(COCOA)". This additional cleanup will be performed in a
920         subsequent patch.
921
922         This removal is part of a series of patches effecting the removal of
923         dead code for old versions of iOS. This particular pass involves
924         changes in which Andy Estes was involved. These changes are isolated
925         from other similar changes in order to facilitate the reviewing
926         process.
927
928         * TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm: Removed.
929
930 2019-09-20  Alex Christensen  <achristensen@webkit.org>
931
932         Begin moving WebsiteDataStore setters to WebsiteDataStoreConfiguration
933         https://bugs.webkit.org/show_bug.cgi?id=202025
934
935         Reviewed by Chris Dumez.
936
937         One expected change in behavior is that the resource load statistics directory is not created on startup with an ephemeral session any more
938         because we call the constructor of WebsiteDataStoreConfiguration inside _WKWebsiteDataStoreConfiguration and set the default directory like we do the other directories.
939
940         * TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
941         * WebKitTestRunner/TestController.cpp:
942         (WTR::TestController::websiteDataStore):
943         (WTR::TestController::generatePageConfiguration):
944
945 2019-09-20  Keith Rollin  <krollin@apple.com>
946
947         Remove some support for < iOS 13
948         https://bugs.webkit.org/show_bug.cgi?id=201973
949         <rdar://problem/55506966>
950
951         Reviewed by Alex Christensen.
952
953         Remove some support for iOS versions less than 13.0.
954
955         Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED
956         and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
957         values >= 130000. This means that expressions like
958         "__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and
959         "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True.
960
961         This removal is part of a series of patches effecting the removal of
962         dead code for old versions of iOS. This particular pass involves
963         changes in which Chris Dumez was involved. These changes are isolated
964         from other similar changes in order to facilitate the reviewing
965         process.
966
967         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
968
969 2019-09-19  Brent Fulgham  <bfulgham@apple.com>
970
971         [FTW] Enable WebKitTestRunner build
972         https://bugs.webkit.org/show_bug.cgi?id=201996
973
974         Reviewed by Fujii Hironori.
975
976         It's time to start getting the test system up and running for FTW.
977
978         This patch does the following:
979
980         1. Adds relevant CMake changes to get things building.
981         2. Adds a "--ftw" flag to the build scripts that will trigger a relevant build.
982         3. Updates 'webkitpy' to recognize the 'ftw' port.
983
984         Note: Pixel tests are not yet supported.
985
986         * PlatformFTW.cmake: Build the WK2 test runner.
987         * Scripts/build-webkit: Update to recognize the FTW port.
988         * Scripts/webkitdirs.pm: Ditto.
989         * Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Ditto.
990         * Scripts/webkitpy/common/config/ports.py: Ditto.
991         * Scripts/webkitpy/common/config/ports_unittest.py: Ditto.
992         * Scripts/webkitpy/common/version_name_map.py: Ditto.
993         * Scripts/webkitpy/port/factory.py: Ditto.
994         * Scripts/webkitpy/port/win.py: Ditto.
995         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
996         (WTR::InjectedBundlePage::dumpDOMAsWebArchive): Don't build or run this method
997         on Windows.
998         * WebKitTestRunner/PlatformFTW.cmake: Added.
999         * WebKitTestRunner/PlatformWebView.h:
1000         * WebKitTestRunner/win/PlatformWebViewWin.cpp:
1001         * WebKitTestRunner/win/TestInvocationDirect2D.cpp: Added.
1002         (WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Add stub implementation.
1003
1004 2019-09-19  Fujii Hironori  <Hironori.Fujii@sony.com>
1005
1006         [Win][MiniBrowser] Use _com_ptr_t methods instead of calling QueryInterface explictly
1007         https://bugs.webkit.org/show_bug.cgi?id=201976
1008
1009         Reviewed by Don Olmstead.
1010
1011         This change consists of three refactorings:
1012         1. Replaced explicit QueryInterface with _com_ptr_t methods
1013         2. Replaced typedef with _COM_SMARTPTR_TYPEDEF macro
1014         3. Replaced WebCore's COMPtr with _com_ptr_t because it is not a public WebKit API
1015
1016         * MiniBrowser/win/MiniBrowserWebHost.cpp:
1017         (MiniBrowserWebHost::didFirstLayoutInFrame): Deleted.
1018         * MiniBrowser/win/MiniBrowserWebHost.h:
1019         (MiniBrowserWebHost::didFirstLayoutInFrame):
1020         * MiniBrowser/win/PrintWebUIDelegate.cpp:
1021         (getHandleFromWebView):
1022         (PrintWebUIDelegate::webViewPrintingMarginRect):
1023         (PrintWebUIDelegate::runModal):
1024         (PrintWebUIDelegate::createModalDialog):
1025         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
1026         (WebKitLegacyBrowserWindow::init):
1027         (WebKitLegacyBrowserWindow::setToDefaultPreferences):
1028         (WebKitLegacyBrowserWindow::showLastVisitedSites):
1029         (WebKitLegacyBrowserWindow::reload):
1030         (WebKitLegacyBrowserWindow::resetZoom):
1031         (WebKitLegacyBrowserWindow::zoomIn):
1032         (WebKitLegacyBrowserWindow::zoomOut):
1033         (WebKitLegacyBrowserWindow::showLayerTree):
1034         (WebKitLegacyBrowserWindow::print):
1035         * MiniBrowser/win/WebKitLegacyBrowserWindow.h:
1036         (WebKitLegacyBrowserWindow::privatePreferences):
1037         * MiniBrowser/win/WinMain.cpp:
1038         (wWinMain):
1039         * MiniBrowser/win/stdafx.h:
1040
1041 2019-09-19  Joanmarie Diggs  <jdiggs@igalia.com>
1042
1043         [GTK] Dependency hunspell-en-gb cannot be found on Fedora 30
1044         https://bugs.webkit.org/show_bug.cgi?id=202009
1045
1046         Update package name to hunspell-en-GB.
1047
1048         Reviewed by Carlos Alberto Lopez Perez.
1049
1050         * gtk/install-dependencies:
1051
1052 2019-09-19  Jonathan Bedard  <jbedard@apple.com>
1053
1054         results.webkit.org: Collapse results with the same version name
1055         https://bugs.webkit.org/show_bug.cgi?id=201779
1056
1057         Rubber-stamped by Aakash Jain.
1058
1059         * resultsdbpy/resultsdbpy/view/static/js/configuration.js:
1060         (Configuration.prototype.const.ending.this.version_name.substring):
1061         (Configuration.prototype.toKey): Prefer version_name over version number in key.
1062         (Configuration.prototype.compare): version_name comparison should always override version comparison.
1063         (Configuration.prototype.compareSDKs): Make SDK regex global.
1064         (Configuration.prototype.toParams): Remove E tag on version_name.
1065         (Configuration): Append E tag on the version_name based on the SDK.
1066         * resultsdbpy/resultsdbpy/view/static/js/timeline.js:
1067         (TimelineFromEndpoint.prototype.toString): Print version number with SDK.
1068
1069 2019-09-19  Ryan Haddad  <ryanhaddad@apple.com>
1070
1071         REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
1072         https://bugs.webkit.org/show_bug.cgi?id=201902
1073
1074         Unreviewed test gardening.
1075
1076         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: Disable the test on iOS.
1077
1078 2019-09-19  Aakash Jain  <aakash_jain@apple.com>
1079
1080         [ews] Fix platform for JSC EWS
1081         https://bugs.webkit.org/show_bug.cgi?id=201997
1082
1083         Reviewed by Jonathan Bedard.
1084
1085         * BuildSlaveSupport/ews-build/config.json:
1086
1087 2019-09-19  Brent Fulgham  <bfulgham@apple.com>
1088
1089         Create InjectedBundle SPI to better support NSSecureCoding
1090         https://bugs.webkit.org/show_bug.cgi?id=201810
1091         <rdar://problem/55265713>
1092
1093         The encoding/decoding routines used by WebKit’s InjectedBundles are based on NSCoding.
1094         While we have changed WebKit internals to use NSSecureCoding, there are a number of
1095         injected bundles that need to serialize custom classes between the InjectedBundle and
1096         the relevant WebKit UIProcess.
1097
1098         We need to lock down this communications channel by enforcing NSSecureCoding.
1099
1100         This patch creates new SPI to allow the UIProcess to specify classes that it will accept
1101         in messages from the WebContet Process (and Injected Bundle).
1102
1103         It adds the following property to the WKProcessPoolConfiguration:
1104
1105             @property (nonatomic, copy) NSSet<Class> *customClassesForParameterCoder;
1106
1107         If no custom classes are specified, the standard serialization primitives are supported:
1108             NSArray, NSData, NSDate, NSDictionary, NSNull, NSNumber, NSSet, NSString,
1109             NSTimeZone, NSURL, and NSUUID.
1110
1111         Reviewed by Brady Eidson.
1112
1113         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1114         * TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm: Added.
1115         (-[BundleFormDelegateRemoteObject didGetFocus]):
1116         (-[FormInputDelegate _webView:decidePolicyForFocusedElement:]):
1117         (TEST):
1118         * TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegatePlugIn.mm: Added.
1119         (-[BundleFormDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
1120         (-[BundleFormDelegatePlugIn _webProcessPlugInBrowserContextController:willBeginInputSessionForElement:inFrame:userIsInteracting:]):
1121         (-[BundleFormDelegatePlugIn _webProcessPlugInBrowserContextController:didFocusTextField:inFrame:]):
1122         * TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegateProtocol.h: Copied from Tools/TestWebKitAPI/WKWebViewConfigurationExtras.h.
1123         * TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
1124         (TEST):
1125         * TestWebKitAPI/WKWebViewConfigurationExtras.h:
1126         * TestWebKitAPI/WKWebViewConfigurationExtras.mm:
1127         (+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:configureJSCForTesting:]):
1128         (+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:configureJSCForTesting:andCustomParameterClasses:]):
1129
1130 2019-09-18  Zhifei Fang  <zhifei_fang@apple.com>
1131
1132         [results.webkit.org] fix missing col classes
1133         https://bugs.webkit.org/show_bug.cgi?id=201949
1134
1135         Reviewed by Jonathan Bedard.
1136
1137         * resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
1138         (@media screen and (min-width: 768px)):
1139         (.row):
1140         (.col-1):
1141         (.col-2):
1142         (.col-3):
1143         (.col-4):
1144         (.col-5):
1145         (.col-6):
1146         (.col-7):
1147         (.col-8):
1148         (.col-9):
1149         (.col-10):
1150         (.col-11):
1151         (.col-12):
1152         (@media screen and (min-width: 600px)):
1153
1154 2019-09-18  Ryan Haddad  <ryanhaddad@apple.com>
1155
1156         Update flakiness dashboard configuration for iOS 13 queues
1157         https://bugs.webkit.org/show_bug.cgi?id=201711
1158
1159         Reviewed by Jonathan Bedard.
1160
1161         * TestResultServer/static-dashboards/builders.jsonp:
1162
1163 2019-09-18  Adrian Perez de Castro  <aperez@igalia.com>
1164
1165         [WPE][GTK] Update build environments to use libwpe+WPEBackend-fdo 1.4.0
1166         https://bugs.webkit.org/show_bug.cgi?id=201915
1167
1168         Reviewed by Michael Catanzaro.
1169
1170         * flatpak/org.webkit.WPEModules.yaml: Bump versions of libwpe and WPEBackend-fdo to 1.4.0
1171         * gtk/jhbuild.modules: Ditto.
1172         * wpe/jhbuild.modules: Ditto.
1173
1174 2019-09-17  Fujii Hironori  <Hironori.Fujii@sony.com>
1175
1176         [Win][MiniBrowser] Remove unused DOMDefaultImpl.cpp
1177         https://bugs.webkit.org/show_bug.cgi?id=201867
1178
1179         Reviewed by Darin Adler.
1180
1181         * MiniBrowser/win/CMakeLists.txt: Removed DOMDefaultImpl.cpp.
1182         * MiniBrowser/win/DOMDefaultImpl.cpp: Removed.
1183         * MiniBrowser/win/DOMDefaultImpl.h: Removed.
1184         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
1185
1186 2019-09-17  Dean Jackson  <dino@apple.com>
1187
1188         Remove the "Show Link Previews" and "Hide Link Previews" action menus in the preview platter
1189         https://bugs.webkit.org/show_bug.cgi?id=201864
1190         <rdar://55190038>
1191
1192         Reviewed by Simon Fraser.
1193
1194         Test for the suggested actions.
1195
1196         * TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
1197         (-[TestContextMenuSuggestedActionsUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
1198         (-[TestContextMenuSuggestedActionsUIDelegate webView:contextMenuWillPresentForElement:]):
1199         (TEST):
1200
1201 2019-09-17  Jonathan Bedard  <jbedard@apple.com>
1202
1203         results.webkit.org results bubbles' tooltips should include SDK information
1204         https://bugs.webkit.org/show_bug.cgi?id=201823
1205
1206         Rubber-stamped by Aakash Jain.
1207
1208         * resultsdbpy/resultsdbpy/view/static/js/configuration.js:
1209         (Configuration.prototype.compare): Like the Python instance of this class,
1210         support using null as a wildcard.
1211         (Configuration.prototype.compareSDKs): Ditto.
1212         * resultsdbpy/resultsdbpy/view/static/js/timeline.js:
1213         (TimelineFromEndpoint.prototype.render.onDotEnterFactory): Construct a configuration
1214         object from all bits of data used to construct a given bubble.
1215         (TimelineFromEndpoint.prototype.render):
1216
1217 2019-09-17  Keith Rollin  <krollin@apple.com>
1218
1219         Remove some support for < iOS 12
1220         https://bugs.webkit.org/show_bug.cgi?id=201851
1221         <rdar://problem/55422044>
1222
1223         Reviewed by Jiewen Tan and Alexey Proskuryakov.
1224
1225         Remove some support for iOS versions less than 12.0.
1226
1227         Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED
1228         and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
1229         values >= 120000. This means that expressions like
1230         "__IPHONE_OS_VERSION_MIN_REQUIRED < 101200" are always False and
1231         "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101200" are always True.
1232
1233         This removal is part of a series of patches effecting such removal.
1234
1235         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
1236         (WTR::installFakeHelvetica):
1237
1238 2019-09-17  David Kilzer  <ddkilzer@apple.com>
1239
1240         run-webkit-tests: Driver.do_post_tests_work() is never called when `stop_when_done` is true in Driver.run_test()
1241         <https://webkit.org/b/201873>
1242
1243         Reviewed by Jonathan Bedard.
1244
1245         * Scripts/webkitpy/port/driver.py:
1246         (Driver.run_test): Call self.do_post_tests_work() when a test
1247         shard has completed, but didn't crash or time out.
1248
1249 2019-09-17  Chris Dumez  <cdumez@apple.com>
1250
1251         REGRESSION (r249923): ASSERTION FAILED: sessionID == WebProcess::singleton().sessionID() in WebCore::SWClientConnection *WebKit::WebServiceWorkerProvider::existingServiceWorkerConnectionForSession(PAL::SessionID)
1252         https://bugs.webkit.org/show_bug.cgi?id=201859
1253         <rdar://problem/55426742>
1254
1255         Reviewed by Alex Christensen.
1256
1257         Update API test to use WKWebsiteDataStoreRef C API to do private browsing instead of using
1258         the legacy WKPreferencesSetPrivateBrowsingEnabled() C API.
1259
1260         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
1261         (TestWebKitAPI::TEST):
1262
1263 2019-09-17  Ryan Haddad  <ryanhaddad@apple.com>
1264
1265         Bring up queues for iOS 13
1266         https://bugs.webkit.org/show_bug.cgi?id=201710
1267
1268         Reviewed by Jonathan Bedard.
1269
1270         * BuildSlaveSupport/build.webkit.org-config/config.json: Move iOS 12 queues to iOS 13.
1271         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: Ditto.
1272         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1273         (WebKitBuildbot):
1274         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
1275         (table.queue-grid tr.platform.ios-simulator-12 img.logo): Deleted.
1276         (table.queue-grid tr.platform.ios-12 img.logo): Deleted.
1277         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Update unit tests.
1278         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
1279         (_should_file_trigger_build):
1280         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
1281         (ShouldBuildTest):
1282         (ShouldBuildTest.test_should_build):
1283         * BuildSlaveSupport/ews-build/config.json: Move iOS 12 queues to iOS 13.
1284
1285 2019-09-17  Truitt Savell  <tsavell@apple.com>
1286
1287         Unreviewed, rolling out r249950.
1288
1289         Broke the iOS build.
1290
1291         Reverted changeset:
1292
1293         "Remove the "Show Link Previews" and "Hide Link Previews"
1294         action menus in the preview platter"
1295         https://bugs.webkit.org/show_bug.cgi?id=201864
1296         https://trac.webkit.org/changeset/249950
1297
1298 2019-09-17  Dean Jackson  <dino@apple.com>
1299
1300         Remove the "Show Link Previews" and "Hide Link Previews" action menus in the preview platter
1301         https://bugs.webkit.org/show_bug.cgi?id=201864
1302         <rdar://55190038>
1303
1304         Reviewed by Simon Fraser.
1305
1306         Test for the suggested actions.
1307
1308         * TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
1309         (-[TestContextMenuSuggestedActionsUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
1310         (-[TestContextMenuSuggestedActionsUIDelegate webView:contextMenuWillPresentForElement:]):
1311         (TEST):
1312
1313 2019-09-16  Alex Christensen  <achristensen@webkit.org>
1314
1315         Remove "gopher" from list of special schemes in URLParser
1316         https://bugs.webkit.org/show_bug.cgi?id=201852
1317
1318         Reviewed by Simon Fraser.
1319
1320         * TestWebKitAPI/Tests/WTF/URLParser.cpp:
1321         (TestWebKitAPI::TEST_F):
1322         * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:
1323         (TestWebKitAPI::TEST_F):
1324         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
1325
1326 2019-09-16  Jonathan Bedard  <jbedard@apple.com>
1327
1328         results.webkit.org: Shard result archives
1329         https://bugs.webkit.org/show_bug.cgi?id=201734
1330
1331         Reviewed by Dewei Zhu.
1332
1333         Cassandra advertises being able to store up to 2 GB in a single blob-storage row.
1334         In practice, this usually doesn't work according to the Cassandra developers,
1335         large blobs should be broken up into shards of, at most, 10 MB.
1336
1337         * resultsdbpy/resultsdbpy/model/archive_context.py:
1338         (ArchiveContext):
1339         (ArchiveContext.ArchiveMetaDataByCommit): Point to the archive shards by hash.
1340         (ArchiveContext.ArchiveMetaDataByCommit.unpack):
1341         (ArchiveContext.ArchiveChunks): Store archive shards, indexed by hash.
1342         (ArchiveContext.__init__):
1343         (ArchiveContext.register): When saving archives, save a reference hash and then
1344         shard the actual archive data before saving.
1345         (ArchiveContext.find_archive): Search for archive by meta-data, then reconstruct
1346         the archive. Raise an exception if we determine that memory usage is a problem.
1347         (ArchiveContext.ArchivesByCommit): Deleted.
1348         (ArchiveContext.ArchivesByCommit.unpack): Deleted.
1349         * resultsdbpy/resultsdbpy/model/archive_context_unittest.py:
1350         (ArchiveContextTest.init_database): Allow configuration and archive to be specified.
1351         (ArchiveContextTest):
1352         (ArchiveContextTest.test_large_archive): Test archive sharding.
1353
1354 2019-09-16  Jiewen Tan  <jiewen_tan@apple.com>
1355
1356         [WebAuthn] Support more than two FIDO protocol versions
1357         https://bugs.webkit.org/show_bug.cgi?id=198408
1358         <rdar://problem/51292176>
1359
1360         Reviewed by Chris Dumez.
1361
1362         Adds a new test case that includes a FIDO_2_1_PRE version string.
1363
1364         * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
1365         (TestWebKitAPI::TEST):
1366         * TestWebKitAPI/Tests/WebCore/FidoTestData.h:
1367
1368 2019-09-16  Jonathan Bedard  <jbedard@apple.com>
1369
1370         results.webkit.org: Configurations should be branch specific
1371         https://bugs.webkit.org/show_bug.cgi?id=201561
1372
1373         Reviewed by Dewei Zhu.
1374
1375         Partition configurations by branch in both Redis and Cassandra.
1376
1377         * resultsdbpy/resultsdbpy/controller/upload_controller.py:
1378         (UploadController.suites): Allow the user to specify branches while listing suites.
1379         * resultsdbpy/resultsdbpy/model/archive_context.py:
1380         (ArchiveContext.register): Register each configuration with a branch.
1381         * resultsdbpy/resultsdbpy/model/configuration_context.py:
1382         (ConfigurationContext.ByPlatform): Index by branch.
1383         (ConfigurationContext.ByPlatformAndVersion): Ditto.
1384         (ConfigurationContext.ByArchitecture): Ditto.
1385         (ConfigurationContext.ByModel): Ditto.
1386         (ConfigurationContext.__init__): Populate Redis cache with branch.
1387         (ConfigurationContext._convert_to_redis_key): Accept branch in Redis key.
1388         (ConfigurationContext._register_in_redis): Register configuration with branch.
1389         (ConfigurationContext.register_configuration): Ditto.
1390         (ConfigurationContext.search_for_configuration): Search for configuration with branch.
1391         (ConfigurationContext.search_for_recent_configuration): Ditto.
1392         (ConfigurationContext.select_from_table_with_configurations): Ditto.
1393         * resultsdbpy/resultsdbpy/model/configuration_context_unittest.py:
1394         (ConfigurationContextTest.register_configurations): Register with branch.
1395         (ConfigurationContextTest.test_repopulate_recent): Construct ConfigurationContext with
1396         CommitContext object.
1397         * resultsdbpy/resultsdbpy/model/upload_context.py:
1398         (UploadContext.SuitesByConfiguration): Index by branch.
1399         (UploadContext.upload_test_results): Register each configuration with a branch.
1400         (UploadContext.find_suites): Pass branch to search for configurations.
1401         * resultsdbpy/resultsdbpy/view/static/js/drawer.js: Check for new configurations when the branch is changed.
1402         * resultsdbpy/resultsdbpy/view/templates/suite_results.html: Add branch to suites query.
1403
1404 2019-09-16  David Kilzer  <ddkilzer@apple.com>
1405
1406         check-webkit-style: Fix warning message for std::make_unique<typename[]>
1407         <https://webkit.org/b/201818>
1408
1409         Reviewed by Darin Adler.
1410
1411         * Scripts/webkitpy/style/checkers/cpp.py:
1412         (check_wtf_make_unique): Emit different error message when using
1413         std::make_unique<>() to create an array.  Personalize the error
1414         message by including the original type name, which also
1415         demonstrates that WTF::makeUniqueArray<>() does not need square
1416         brackets for its typename.
1417         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1418         (WebKitStyleTest.test_wtf_make_unique): Add test.
1419         (WebKitStyleTest.test_wtf_make_unique_array): Ditto.
1420
1421 2019-09-16  Andres Gonzalez  <andresg_22@apple.com>
1422
1423         Rename [WebAccessibilityObjectWrapper _accessibilityInsertText] to accessibilityInsertText to match accessibility client.
1424         https://bugs.webkit.org/show_bug.cgi?id=201820
1425
1426         Reviewed by Chris Fleizach.
1427
1428         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
1429         (AccessibilityUIElement::insertText):
1430         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
1431         (AccessibilityUIElement::insertText):
1432         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
1433         (WTR::AccessibilityUIElement::insertText):
1434         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
1435         (WTR::AccessibilityUIElement::insertText):
1436
1437 2019-09-16  David Kilzer  <ddkilzer@apple.com>
1438
1439         Fix leaks in DumpRenderTree and WebKitTestRunner
1440         <https://webkit.org/b/201814>
1441
1442         Reviewed by Darin Adler.
1443
1444         * DumpRenderTree/TestNetscapePlugIn/PluginObject.h:
1445         (createCoreAnimationLayer): Fix signature to return CFTypeRef.
1446         Add CF_RETURNS_RETAINED to document behavior.
1447         * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm:
1448         (createCoreAnimationLayer): Fix signature to return CFTypeRef.
1449
1450         * DumpRenderTree/mac/PixelDumpSupportMac.mm:
1451         (takeWindowSnapshot): Add CF_RETURNS_RETAINED to document
1452         behavior.
1453         (createBitmapContextFromWebView): Fix leak of CGImageRef when
1454         generating a replacement image.
1455
1456         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: Add @dynamic
1457         declaration for _stableStateOverride so compiler wouldn't try to
1458         create another instance variable for it.
1459
1460         * WebKitTestRunner/mac/EventSenderProxy.mm:
1461         (-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:stageTransition:phase:time:eventNumber:window:]):
1462         Release `cgEvent` to fix leak.
1463
1464 2019-09-16  Andres Gonzalez  <andresg_22@apple.com>
1465
1466         Expose misspelling ranges for editable content to accessibility clients.
1467         https://bugs.webkit.org/show_bug.cgi?id=201752
1468         <rdar://problem/49556828>
1469
1470         Reviewed by Chris Fleizach.
1471
1472         Test code needed for LayoutTests/accessibility/misspelling-range.html.
1473         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
1474         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
1475         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
1476         (WTR::AccessibilityUIElement::misspellingTextMarkerRange):
1477         (WTR::AccessibilityUIElement::indexForTextMarker):
1478         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
1479         (WTR::misspellingSearchParameterizedAttributeForCriteria):
1480         (WTR::AccessibilityUIElement::misspellingTextMarkerRange):
1481
1482 2019-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1483
1484         REGRESSION(r249142): [GTK] Epiphany delayed page loads continue indefinitely
1485         https://bugs.webkit.org/show_bug.cgi?id=201544
1486
1487         Reviewed by Michael Catanzaro.
1488
1489         Add new test cases.
1490
1491         * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
1492         (testWebViewActiveURI):
1493         (testWebViewIsLoading):
1494         * TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp:
1495         (loadChangedCallback):
1496         (LoadTrackingTest::loadAlternateHTML):
1497         (LoadTrackingTest::reset):
1498         * TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.h:
1499
1500 2019-09-15  David Kilzer  <ddkilzer@apple.com>
1501
1502         block-spammers should obtain credentials the same way as webkit-patch
1503         <https://webkit.org/b/201733>
1504
1505         Reviewed by Lucas Forschler.
1506
1507         * Scripts/block-spammers: Import Credentials from webkitpy.
1508         Remove unused imports.  Enable logging at info level to match
1509         webkit-patch.
1510         (get_bugzilla_token): Use Credentials module to get
1511         bugs.webkit.org credentials.
1512         * Scripts/webkitpy/common/net/credentials.py:
1513         (Credentials._run_security_tool): Change logging level from
1514         error to info since multiple attempts are made at reading the
1515         keychain.  Fix typos in comment.
1516         (Credentials._credentials_from_security_command): Extract common
1517         logic from Credentials._credentials_from_keychain into new
1518         method.
1519         (Credentials._credentials_from_keychain): Make fallback logic
1520         for checking for credentials in the keychain more consistent and
1521         easier to read.  Add error logging if no credentials are found.
1522
1523 2019-09-13  Youenn Fablet  <youenn@apple.com>
1524
1525         WPT importer should check META global tag in .any.js files to generate the valid .html stub files
1526         https://bugs.webkit.org/show_bug.cgi?id=201718
1527
1528         Reviewed by Chris Dumez.
1529
1530         Read meta tag information to select the environments where the any.js template tests will be run.
1531         Added support to run service worker tests from any.js template tests.
1532
1533         Covered by unit test.
1534         Since we import only a single repository nowadays, use a test config file with just one repository
1535         to simplify the new test.
1536
1537         * Scripts/webkitpy/w3c/test_importer.py:
1538         (TestImporter.__init__):
1539         (TestImporter.readEnvironmentsForTemplateTest):
1540         (TestImporter.write_html_files_for_templated_js_tests):
1541         * Scripts/webkitpy/w3c/test_importer_unittest.py:
1542         (TestImporterTest.test_import_dir_with_no_tests_and_no_hg):
1543         (TestImporterTest.test_import_dir_with_no_tests):
1544         (TestImporterTest.test_import_dir_with_empty_init_py):
1545         (TestImporterTest.test_harnesslinks_conversion):
1546         (TestImporterTest.test_submodules_generation):
1547         (test_checkout_directory):
1548         (test_clean_directory_option):
1549         (test_git_ignore_generation):
1550         (test_initpy_generation):
1551         (test_remove_obsolete_content):
1552         (test_manual_slow_test):
1553         (test_webkit_test_runner_options):
1554         (test_webkit_test_runner_import_reftests_with_absolute_paths_download):
1555         (test_webkit_test_runner_import_reftests_with_absolute_paths_from_source_dir):
1556         (test_template_test):
1557
1558 2019-09-13  Dean Jackson  <dino@apple.com>
1559
1560         Provide a prototype for AR QuickLook to trigger processing in the originating page
1561         https://bugs.webkit.org/show_bug.cgi?id=201371
1562         <rdar://54904781>
1563
1564         Disable the test for the moment.
1565
1566         * TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
1567         (TestWebKitAPI::TEST):
1568
1569 2019-09-11  Dean Jackson  <dino@apple.com>
1570
1571         Provide a prototype for AR QuickLook to trigger processing in the originating page
1572         https://bugs.webkit.org/show_bug.cgi?id=201371
1573         <rdar://54904781>
1574
1575         Reviewed by Simon Fraser.
1576
1577         * TestWebKitAPI/Tools/TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
1578         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1579         * TestWebKitAPI/Tests/WebKitCocoa/system-preview-trigger.html: Added.
1580
1581 2019-09-13  Youenn Fablet  <youenn@apple.com>
1582
1583         Partition processes running service workers by session ID
1584         https://bugs.webkit.org/show_bug.cgi?id=201643
1585
1586         Reviewed by Chris Dumez.
1587
1588         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1589
1590 2019-09-13  Nikolas Zimmermann  <zimmermann@kde.org>
1591
1592         Re-add myself to the list of committers
1593
1594         Unreviewed.
1595
1596         * Scripts/webkitpy/common/config/contributors.json:
1597
1598 2019-09-13  Alex Christensen  <achristensen@webkit.org>
1599
1600         [iOS] TestWebKitAPI.WebKit.TLSVersionWebSocket is a flaky failure
1601         https://bugs.webkit.org/show_bug.cgi?id=201745
1602
1603         Reviewed by Chris Dumez.
1604
1605         * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
1606         (TestWebKitAPI::TEST):
1607         The exact message isn't important.  The fact that the TLS handshake failed is, which is checked by the TCPServer.
1608
1609 2019-09-13  Patrick Griffis  <pgriffis@igalia.com>
1610
1611         [JHBuild] Fix building gst-plugins-good against glibc 2.30
1612         https://bugs.webkit.org/show_bug.cgi?id=201715
1613
1614         Reviewed by Xabier Rodriguez-Calvar.
1615
1616         * gstreamer/patches/gst-plugins-good-glibc-2.30-compat.patch: Added.
1617
1618 2019-09-12  Chris Dumez  <cdumez@apple.com>
1619
1620         [WKTR] Drop TestRunner.setPrivateBrowsingEnabled_DEPRECATED()
1621         https://bugs.webkit.org/show_bug.cgi?id=201546
1622
1623         Reviewed by Alex Christensen.
1624
1625         Drop TestRunner.setPrivateBrowsingEnabled_DEPRECATED() from WebKitTestRunner as it does not do
1626         the right thing for WebKit2 and tests have been rewritten to not use it.
1627
1628         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1629         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1630         (WTR::TestRunner::setPrivateBrowsingEnabled_DEPRECATED): Deleted.
1631         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1632
1633 2019-09-12  Brady Eidson  <beidson@apple.com>
1634
1635         PDF exporting on iOS should include URL rects.
1636         <rdar://problem/54900133> and https://bugs.webkit.org/show_bug.cgi?id=201693
1637
1638         Reviewed by Tim Horton.
1639
1640         * TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
1641         (TestWebKitAPI::TEST): Enable on iOS.
1642
1643 2019-09-12  Adrian Perez de Castro  <aperez@igalia.com>
1644
1645         [GTK][WPE] webkit_settings_set_user_agent() allows content forbidden in HTTP headers
1646         https://bugs.webkit.org/show_bug.cgi?id=201077
1647
1648         Reviewed by Carlos Garcia Campos.
1649
1650         * TestWebKitAPI/CMakeLists.txt: Add missing HTTPParsers.cpp to be built into TestWebCore.
1651         * TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp:
1652         (TestWebKitAPI::TEST): Add tests for WebCore::isValidUserAgentHeaderValue().
1653
1654 2019-09-12  Mark Lam  <mark.lam@apple.com>
1655
1656         Harden JSC against the abuse of runtime options.
1657         https://bugs.webkit.org/show_bug.cgi?id=201597
1658         <rdar://problem/55167068>
1659
1660         Reviewed by Filip Pizlo.
1661
1662         Linux parts contributed by Carlos Garcia Campos <cgarcia@igalia.com>.
1663         Windows parts contributed by Fujii Hironori <Hironori.Fujii@sony.com>.
1664
1665         Call JSC::Config::configureForTesting() in test harnesses or at the top of tests
1666         to disable the hardening on test runs.  Tests rely on setting options to enable
1667         test features.
1668
1669         * DumpRenderTree/mac/DumpRenderTree.mm:
1670         (dumpRenderTree):
1671         * DumpRenderTree/win/DumpRenderTree.cpp:
1672         (initialize):
1673         * TestWebKitAPI/PlatformUtilities.cpp:
1674         (TestWebKitAPI::Util::createContextWithInjectedBundle):
1675         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
1676         (main):
1677         * TestWebKitAPI/Tests/WebKitCocoa/ApplePay.mm:
1678         (TestWebKitAPI::TEST):
1679         (TestWebKitAPI::runActiveSessionTest):
1680         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDiagnosticLogging.mm:
1681         (TEST):
1682         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1683         (TEST):
1684         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
1685         (TestWebKitAPI::TEST):
1686         * TestWebKitAPI/WKWebViewConfigurationExtras.h:
1687         * TestWebKitAPI/WKWebViewConfigurationExtras.mm:
1688         (+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:]):
1689         (+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:configureJSCForTesting:]):
1690         * WebKitTestRunner/TestController.cpp:
1691         (WTR::TestController::generateContextConfiguration const):
1692
1693 2019-09-12  Keith Rollin  <krollin@apple.com>
1694
1695         Fix PDFKit references in TestWebKitAPI
1696         https://bugs.webkit.org/show_bug.cgi?id=201700
1697         <rdar://problem/55279539>
1698
1699         Reviewed by Youenn Fablet.
1700
1701         These references fail in watchOS and tvOS, so remove them on those
1702         platforms.
1703
1704         * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
1705         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1706         * TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
1707         * TestWebKitAPI/cocoa/TestPDFDocument.h:
1708         * TestWebKitAPI/cocoa/TestPDFDocument.mm:
1709         * TestWebKitAPI/config.h:
1710
1711 2019-09-11  Fujii Hironori  <Hironori.Fujii@sony.com>
1712
1713         [Win][MiniBrowser] Select all text in the URL bar by clicking it
1714         https://bugs.webkit.org/show_bug.cgi?id=201677
1715
1716         Reviewed by Don Olmstead.
1717
1718         * MiniBrowser/win/MainWindow.cpp:
1719         (EditProc): Post EM_SETSEL in WM_SETFOCUS to select all text.
1720
1721 2019-09-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1722
1723         [GTK][WPE] Stop using the session bus in the unit tests
1724         https://bugs.webkit.org/show_bug.cgi?id=201636
1725
1726         Reviewed by Žan Doberšek.
1727
1728         We are actually using GTestDBus, not the actual session bus of the user session, but it would still be better to
1729         use a private p2p DBus connection. This is also the way we encourage apps to implement the communication with
1730         the web process extension. This patch removes the WebKitTestBus class and starts a DBus server before every
1731         test. The server address is passed to the web extension as initialization parameter to connect directly to
1732         it. We keep a global list of connections to the server and a HashMap to get the current active connection for
1733         a WebKitWebView.
1734
1735         * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
1736         (beforeAll):
1737         (afterAll):
1738         * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
1739         (testProcessPerWebView):
1740         (beforeAll):
1741         (afterAll):
1742         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
1743         (testWebExtensionGetTitle):
1744         (testWebExtensionInputElementIsUserEdited):
1745         (testDocumentLoadedSignal):
1746         (testWebKitWebViewProcessCrashed):
1747         (testWebExtensionIsolatedWorld):
1748         (testInstallMissingPluginsPermissionRequest):
1749         (testWebExtensionFormControlsAssociated):
1750         (FormSubmissionTest::FormSubmissionTest):
1751         (beforeAll):
1752         (afterAll):
1753         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
1754         (DelayedSignal::DelayedSignal):
1755         (emitPageCreated):
1756         (pageCreatedCallback):
1757         (webkit_web_extension_initialize_with_user_data):
1758         * TestWebKitAPI/Tests/WebKitGtk/AccessibilityTestServer.cpp:
1759         * TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
1760         (AccessibilityTest::AccessibilityTest):
1761         (AccessibilityTest::ensureProxy):
1762         (beforeAll):
1763         (afterAll):
1764         * TestWebKitAPI/glib/CMakeLists.txt:
1765         * TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
1766         (dbusConnectionClosed):
1767         (dbusServerConnection):
1768         (startDBusServer):
1769         (stopDBusServer):
1770         (main):
1771         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
1772         (Test::initializeWebExtensions):
1773         * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp: Removed.
1774         * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.h: Removed.
1775         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1776         (WebViewTest::~WebViewTest):
1777         (WebViewTest::extensionProxy):
1778         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
1779
1780 2019-09-10  Dean Jackson  <dino@apple.com>
1781
1782         setup-git-clone is using http not https
1783         https://bugs.webkit.org/show_bug.cgi?id=201658
1784
1785         Reviewed by Sam Weinig.
1786
1787         * Scripts/webkitpy/tool/commands/setupgitclone.py:
1788         (SetupGitClone.execute):
1789
1790 2019-09-10  Matt Lewis  <jlewis3@apple.com>
1791
1792         run-webkit-test: Allow results to be uploaded without scm checkout
1793         https://bugs.webkit.org/show_bug.cgi?id=200787
1794
1795         Reviewed by Jonathan Bedard.
1796
1797         * Scripts/webkitpy/common/checkout/scm/detection.py:
1798         (SCMDetector.detect_scm_system): Added in detection of stub repository.
1799         * Scripts/webkitpy/common/checkout/scm/stub_repository.py: Added.
1800         (StubRepository):
1801         (StubRepository.__init__):
1802         (StubRepository._find_parent_path_matching_callback_condition): Checks up the path given to
1803         find the directory containing the checkout_information.json of the stub repository.
1804         (StubRepository.in_working_directory): Required functions to be implemented.
1805         (StubRepository.svn_revision): Required functions to be implemented.
1806         (StubRepository.native_revision): Required functions to be implemented.
1807         (StubRepository.native_branch): Required functions to be implemented.
1808         (StubRepository._decode_json): Decodes checkout_information.json.
1809         (StubRepository.find_checkout_root): Required functions to be implemented.
1810         * Scripts/webkitpy/common/checkout/scm/stub_repository_unittest.py: Added.
1811         (StubRepositoryTest): Unit test for stub_repository SCM.
1812         (StubRepositoryTest.mock_host_for_stub_repository):
1813         (StubRepositoryTest.test_in_working_directory):
1814         (StubRepositoryTest.test_native_revision):
1815         (StubRepositoryTest.test_native_branch):
1816         (StubRepositoryTest.test_svn_revision):
1817         (StubRepositoryTest.test_find_checkout_root):
1818         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
1819         (JSONResultsGenerator._get_svn_revision): Removed unnecessary scm initialization.
1820         * Scripts/webkitpy/port/base.py:
1821         (Port.commits_for_upload): Removed unnecessary scm initialization.
1822
1823 2019-09-10  Brady Eidson  <beidson@apple.com>
1824
1825         Add SPI to save a PDF from the contents of a WKWebView.
1826         <rdar://problem/48955900> and https://bugs.webkit.org/show_bug.cgi?id=195765
1827
1828         Reviewed by Tim Horton.
1829
1830         -Add an "Export to PDF..." menu option to MiniBrowser.
1831         -Add API tests for the API itself.
1832
1833         * MiniBrowser/MiniBrowser.entitlements:
1834
1835         * MiniBrowser/mac/BrowserWindowController.h:
1836         * MiniBrowser/mac/BrowserWindowController.m:
1837         (-[BrowserWindowController forceRepaint:]):
1838         (-[BrowserWindowController saveAsPDF:]):
1839
1840         * MiniBrowser/mac/MainMenu.xib:
1841
1842         * MiniBrowser/mac/WK1BrowserWindowController.m:
1843         (-[WK1BrowserWindowController validateMenuItem:]):
1844         * MiniBrowser/mac/WK2BrowserWindowController.m:
1845         (-[WK2BrowserWindowController validateMenuItem:]):
1846         (-[WK2BrowserWindowController saveAsPDF:]):
1847
1848         * TestWebKitAPI/Configurations/Base.xcconfig:
1849         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1850         * TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm: Added.
1851         (TestWebKitAPI::TEST):
1852         * TestWebKitAPI/cocoa/TestPDFDocument.h: Added.
1853         * TestWebKitAPI/cocoa/TestPDFDocument.mm: Added.
1854         (TestWebKitAPI::toCGRect):
1855         (TestWebKitAPI::toPlatformPoint):
1856         (TestWebKitAPI::TestPDFAnnotation::TestPDFAnnotation):
1857         (TestWebKitAPI::TestPDFAnnotation::isLink const):
1858         (TestWebKitAPI::TestPDFAnnotation::bounds const):
1859         (TestWebKitAPI::TestPDFAnnotation::linkURL const):
1860         (TestWebKitAPI::TestPDFPage::create):
1861         (TestWebKitAPI::TestPDFPage::TestPDFPage):
1862         (TestWebKitAPI::TestPDFPage::annotations):
1863         (TestWebKitAPI::TestPDFPage::characterCount const):
1864         (TestWebKitAPI::TestPDFPage::text const):
1865         (TestWebKitAPI::TestPDFPage::rectForCharacterAtIndex const):
1866         (TestWebKitAPI::TestPDFPage::characterIndexAtPoint const):
1867         (TestWebKitAPI::TestPDFPage::bounds const):
1868         (TestWebKitAPI::TestPDFPage::colorAtPoint const):
1869         (TestWebKitAPI::TestPDFDocument::createFromData):
1870         (TestWebKitAPI::TestPDFDocument::TestPDFDocument):
1871         (TestWebKitAPI::TestPDFDocument::pageCount const):
1872         (TestWebKitAPI::TestPDFDocument::page):
1873
1874 2019-09-10  Keith Rollin  <krollin@apple.com>
1875
1876         Remove SSL-based TLSDeprecation.mm contents
1877         https://bugs.webkit.org/show_bug.cgi?id=201657
1878         <rdar://problem/55237678>
1879
1880         Reviewed by Alex Christensen.
1881
1882         This file does not build on watchOS due to references to SSL
1883         facilities. Conditionalize out the contents on HAVE_SSL.
1884
1885         * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
1886
1887 2019-09-10  Michael Catanzaro  <mcatanzaro@igalia.com>
1888
1889         Unreviewed, remove myself from watchlists
1890
1891         * Scripts/webkitpy/common/config/watchlist:
1892
1893 2019-09-09  Alex Christensen  <achristensen@webkit.org>
1894
1895         Rebase API test after r249675
1896         https://bugs.webkit.org/show_bug.cgi?id=201596
1897
1898         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1899         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
1900         We removed the restriction on WebsitePolicies with non-default persistent sessions.
1901         We needed to change the expectations of the test that exercised that code path.
1902
1903 2019-09-09  Alex Christensen  <achristensen@webkit.org>
1904
1905         Fix iOS API tests after r249684
1906         https://bugs.webkit.org/show_bug.cgi?id=201573
1907
1908         * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
1909         (TestWebKitAPI::getWebSocketEventWebKitLegacy):
1910         (TestWebKitAPI::TEST):
1911         The web thread still exists :(
1912         That makes iOS immediate failure results more like WK2, which is fine.
1913         The point is that the connection fails somehow and the server sees a TLS failure, which the test verifies.
1914
1915 2019-09-09  Chris Dumez  <cdumez@apple.com>
1916
1917         REGRESSION: http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations.html is frequently timing out on iOS EWS bots
1918         https://bugs.webkit.org/show_bug.cgi?id=201550
1919
1920         Reviewed by Alex Christensen.
1921
1922         Update testRunner.statisticsNotifyObserver() to return a boolean indicating if it did
1923         anything or not.
1924
1925         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1926         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1927         (WTR::InjectedBundle::statisticsNotifyObserver):
1928         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1929         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1930         (WTR::TestRunner::statisticsNotifyObserver):
1931         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1932
1933 2019-09-09  Timothy Hatcher  <timothy@apple.com>
1934
1935         Tap and hold on Facebook sometimes creates a tall empty selection.
1936         https://bugs.webkit.org/show_bug.cgi?id=201618
1937         rdar://53630145
1938
1939         Reviewed by Megan Gardner.
1940
1941         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1942         * TestWebKitAPI/Tests/ios/SelectionByWord.mm: Added.
1943
1944 2019-09-09  Aakash Jain  <aakash_jain@apple.com>
1945
1946         [EWS] Watchlist doesn't work sometimes
1947         https://bugs.webkit.org/show_bug.cgi?id=201433
1948
1949         Reviewed by Michael Catanzaro.
1950
1951         * Scripts/webkitpy/common/config/watchlist: Updated the email addresses to the one associated with
1952         corresponding Bugzilla accounts.
1953
1954 2019-09-09  Alex Christensen  <achristensen@webkit.org>
1955
1956         Disable TLS 1.0 and 1.1 in WebSockets
1957         https://bugs.webkit.org/show_bug.cgi?id=201573
1958
1959         Reviewed by Youenn Fablet.
1960
1961         * TestWebKitAPI/SourcesCocoa.txt:
1962         * TestWebKitAPI/TCPServer.cpp:
1963         (sk_CRYPTO_BUFFER_num):
1964         (sk_CRYPTO_BUFFER_value):
1965         (TestWebKitAPI::deleter<CRYPTO_BUFFER>::operator()):
1966         (TestWebKitAPI::TCPServer::TCPServer):
1967         (TestWebKitAPI::TCPServer::listenForConnections):
1968         (TestWebKitAPI::deleter<X509>::operator()): Deleted.
1969         (TestWebKitAPI::deleter<uint8_t::operator()): Deleted.
1970         * TestWebKitAPI/TCPServer.h:
1971         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1972         * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: Added.
1973         (-[WebSocketDelegate waitForMessage]):
1974         (-[WebSocketDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1975         (TestWebKitAPI::TEST):
1976         * TestWebKitAPI/cocoa/TestNavigationDelegate.h:
1977         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
1978         (-[TestNavigationDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
1979         (-[TestNavigationDelegate waitForDidFailProvisionalNavigation]):
1980
1981 2019-09-09  Fujii Hironori  <Hironori.Fujii@sony.com>
1982
1983         [Win][MiniBrowser] WebKitLegacyBrowserWindow is leaked by circular references
1984         https://bugs.webkit.org/show_bug.cgi?id=201600
1985
1986         Reviewed by Brent Fulgham.
1987
1988         There were some circular references between
1989         WebKitLegacyBrowserWindow and its delegation classes. For
1990         example, WebKitLegacyBrowserWindow has a reference of
1991         WebDownloadDelegate, and WebDownloadDelegate shares the ref
1992         counter with WebKitLegacyBrowserWindow.
1993
1994         WebNotificationObserver was leaked because it wasn't unregistered
1995         from the default notification center by using
1996         IWebNotificationCenter::removeObserver.
1997
1998         If a new legacy window was created by mouse right click a link,
1999         WebView was released twice because
2000         PrintWebUIDelegate::createWebViewWithRequest didn't AddRef the
2001         WebView.
2002
2003         This change does:
2004         1. Make delegation classes have own ref-counter to avoid circular references
2005         2. Do removeObserver notification observers
2006         3. AddRef WebView in PrintWebUIDelegate::createWebViewWithRequest
2007
2008         * MiniBrowser/win/AccessibilityDelegate.cpp:
2009         (AccessibilityDelegate::AddRef):
2010         (AccessibilityDelegate::Release):
2011         * MiniBrowser/win/AccessibilityDelegate.h: Added m_refCount.
2012         * MiniBrowser/win/MiniBrowserWebHost.cpp:
2013         (MiniBrowserWebHost::QueryInterface):
2014         (MiniBrowserWebHost::AddRef):
2015         (MiniBrowserWebHost::Release):
2016         * MiniBrowser/win/MiniBrowserWebHost.h: Added m_refCount.
2017         * MiniBrowser/win/PrintWebUIDelegate.cpp:
2018         (PrintWebUIDelegate::createWebViewWithRequest): Do AddRef for the returned IWebView.
2019         (PrintWebUIDelegate::AddRef):
2020         (PrintWebUIDelegate::Release):
2021         * MiniBrowser/win/PrintWebUIDelegate.h: Added m_refCount.
2022         * MiniBrowser/win/ResourceLoadDelegate.cpp:
2023         (ResourceLoadDelegate::AddRef):
2024         (ResourceLoadDelegate::Release):
2025         * MiniBrowser/win/ResourceLoadDelegate.h: Added m_refCount.
2026         * MiniBrowser/win/WebDownloadDelegate.cpp:
2027         (WebDownloadDelegate::AddRef):
2028         (WebDownloadDelegate::Release):
2029         * MiniBrowser/win/WebDownloadDelegate.h: Added m_refCount.
2030         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
2031         (WebKitLegacyBrowserWindow::~WebKitLegacyBrowserWindow): Do removeObserver notification observers.
2032         (WebKitLegacyBrowserWindow::init):
2033         (WebKitLegacyBrowserWindow::setUIDelegate):
2034         (WebKitLegacyBrowserWindow::setAccessibilityDelegate):
2035         (WebKitLegacyBrowserWindow::setResourceLoadDelegate):
2036         (WebKitLegacyBrowserWindow::setDownloadDelegate):
2037         (WebKitLegacyBrowserWindow::AddRef): Deleted.
2038         (WebKitLegacyBrowserWindow::Release): Deleted.
2039         (WebKitLegacyBrowserWindow::setFrameLoadDelegate): Deleted.
2040         (WebKitLegacyBrowserWindow::setFrameLoadDelegatePrivate): Deleted.
2041         * MiniBrowser/win/WebKitLegacyBrowserWindow.h:
2042
2043 2019-09-09  Chris Dumez  <cdumez@apple.com>
2044
2045         Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/adClickAttribution/conversion-disabled-in-ephemeral-session.html
2046         https://bugs.webkit.org/show_bug.cgi?id=201596
2047
2048         Reviewed by Alex Christensen.
2049
2050         Add new testRunner.setShouldSwapToEphemeralSessionOnNextNavigation() / testRunner.setShouldSwapToDefaultSessionOnNextNavigation()
2051         test functions to support dynamic switching between ephemeral and default/persistent session in layout tests. The new methods
2052         do the right thing for WebKit2 and truly switch session, unlike setPrivateBrowsingEnabled_DEPRECATED() which was merely making
2053         the WebCore::Document think it changed session.
2054
2055         * DumpRenderTree/TestRunner.cpp:
2056         (setShouldSwapToEphemeralSessionOnNextNavigationCallback):
2057         (setShouldSwapToDefaultSessionOnNextNavigationCallback):
2058         (TestRunner::staticFunctions):
2059         (TestRunner::willNavigate):
2060         * DumpRenderTree/TestRunner.h:
2061         (TestRunner::setShouldSwapToEphemeralSessionOnNextNavigation):
2062         (TestRunner::setShouldSwapToDefaultSessionOnNextNavigation):
2063         * DumpRenderTree/mac/FrameLoadDelegate.mm:
2064         (-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]):
2065         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2066         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2067         (WTR::TestRunner::setShouldSwapToEphemeralSessionOnNextNavigation):
2068         (WTR::TestRunner::setShouldSwapToDefaultSessionOnNextNavigation):
2069         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2070         * WebKitTestRunner/TestController.cpp:
2071         (WTR::TestController::decidePolicyForNavigationAction):
2072         * WebKitTestRunner/TestController.h:
2073         (WTR::TestController::setShouldSwapToEphemeralSessionOnNextNavigation):
2074         (WTR::TestController::setShouldSwapToDefaultSessionOnNextNavigation):
2075         * WebKitTestRunner/TestInvocation.cpp:
2076         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2077
2078 2019-09-09  Aakash Jain  <aakash_jain@apple.com>
2079
2080         EWS testtube emoji doesn't exist on macOS Mojave
2081         https://bugs.webkit.org/show_bug.cgi?id=201532
2082
2083         Reviewed by Simon Fraser.
2084
2085         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2086         (StatusBubble): Change the emoji to microscope emoji.
2087
2088 2019-09-09  Aakash Jain  <aakash_jain@apple.com>
2089
2090         [EWS] API testers can go in an infinite RETRY loop when there is build failure in trunk
2091         https://bugs.webkit.org/show_bug.cgi?id=201607
2092
2093         Reviewed by Jonathan Bedard.
2094
2095         * BuildSlaveSupport/ews-build/steps.py:
2096         (AnalyzeAPITestsResults.analyzeResults): Do not RETRY when clean_tree_results are missing.
2097         (AnalyzeAPITestsResults.analyzeResults.getAPITestFailures): Gracefully handle None result.
2098
2099 2019-09-07  Keith Miller  <keith_miller@apple.com>
2100
2101         OSR entry into wasm misses some contexts
2102         https://bugs.webkit.org/show_bug.cgi?id=201569
2103
2104         Reviewed by Yusuke Suzuki.
2105
2106         Add new test harness mode for tests created from wast files.
2107
2108         * Scripts/run-jsc-stress-tests:
2109
2110 2019-09-09  Daniel Bates  <dabates@apple.com>
2111
2112         Remove all selection view animations before dumping results
2113         https://bugs.webkit.org/show_bug.cgi?id=199241
2114
2115         Reviewed by Wenson Hsieh.
2116
2117         On iOS the selection UI uses a few animations, including fading in the grabbers. We have many
2118         historical tests that were written for Mac and expect Mac's lack of animations that we run on
2119         iOS and are flaky. Let's try to remove all selection view animations before dumping results and
2120         see if this makes tests on iOS less flaky. A future enhancement to this is to expose a uiController
2121         API for a test to remove selection animations at any time during the run.
2122
2123         * WebKitTestRunner/ios/TestControllerIOS.mm:
2124         (WTR::TestController::notifyDone):
2125
2126 2019-09-09  Jonathan Bedard  <jbedard@apple.com>
2127
2128         run-webkit-tests: Report results archive to results.webkit.org
2129         https://bugs.webkit.org/show_bug.cgi?id=201321
2130
2131         Reviewed by Aakash Jain.
2132
2133         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2134         (Manager.run): After all tests are finish, upload the results archive for each
2135         configuration.
2136         * Scripts/webkitpy/results/upload.py:
2137         (Upload):
2138         (Upload.__init__): Automatically define timestamp.
2139         (Upload.upload_archive): Upload an archive associated with the test run.
2140         * Scripts/webkitpy/results/upload_unittest.py:
2141         (UploadTest.test_buildbot):
2142         (UploadTest):
2143         (UploadTest.test_archive_upload):
2144
2145 2019-09-09  Chris Dumez  <cdumez@apple.com>
2146
2147         Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/workers/service/basic-register.html
2148         https://bugs.webkit.org/show_bug.cgi?id=201590
2149
2150         Reviewed by Youenn Fablet.
2151
2152         Add a new API test to check that if the default session registers a service worker, the
2153         hasServiceWorkerRegistration flag is still false in an ephemeral session.
2154
2155         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2156
2157 2019-09-09  Jonathan Bedard  <jbedard@apple.com>
2158
2159         results.webkit.org: mobile-sidebar-control should override button
2160         https://bugs.webkit.org/show_bug.cgi?id=201566
2161
2162         Rubber-stamped by Aakash Jain.
2163
2164         * resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
2165         (@media screen and (min-width: 600px)):
2166         (.mobile-sidebar-control):
2167         (.mobile-sidebar-control.display):
2168
2169 2019-09-07  Chris Dumez  <cdumez@apple.com>
2170
2171         Rewrite http/tests/workers/service/serviceworker-private-browsing.https.html as an API test
2172         https://bugs.webkit.org/show_bug.cgi?id=201574
2173
2174         Reviewed by Alex Christensen.
2175
2176         Rewrite http/tests/workers/service/serviceworker-private-browsing.https.html as an API test so that
2177         we truly test private browsing. testRunner.setPrivateBrowsingEnabled_DEPRECATED() is a hack which
2178         does not work well for WK2.
2179
2180         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2181
2182 2019-09-07  Chris Dumez  <cdumez@apple.com>
2183
2184         Rewrite storage/domstorage/localstorage/private-browsing-affects-storage.html as an API test
2185         https://bugs.webkit.org/show_bug.cgi?id=201547
2186
2187         Reviewed by Alex Christensen.
2188
2189         Rewrite storage/domstorage/localstorage/private-browsing-affects-storage.html as an API test so
2190         it can use a true ephemeral session instead of the testRunner.setPrivateBrowsingEnabled_DEPRECATED()
2191         hack.
2192
2193         * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
2194         (-[LocalStorageNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
2195         (-[LocalStorageNavigationDelegate webView:didFinishNavigation:]):
2196         (TEST):
2197
2198 2019-09-07  Alex Christensen  <achristensen@webkit.org>
2199
2200         Remove WebsiteDataStore::legacyDefaultDataStoreConfiguration
2201         https://bugs.webkit.org/show_bug.cgi?id=200054
2202
2203         Reviewed by Carlos Garcia Campos.
2204
2205         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2206         This test relied on the default data store having been instantiated.
2207
2208 2019-09-07  Alex Christensen  <achristensen@webkit.org>
2209
2210         Remove calls to WKContextGetWebsiteDataStore missed in r249614
2211         https://bugs.webkit.org/show_bug.cgi?id=200050
2212
2213         * WebKitTestRunner/TestController.cpp:
2214         (WTR::TestController::resetPreferencesToConsistentValues):
2215         (WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
2216         * WebKitTestRunner/TestInvocation.cpp:
2217         (WTR::TestInvocation::invoke):
2218
2219 2019-09-07  Alex Christensen  <achristensen@webkit.org>
2220
2221         Remove invalid assertion added in r249614
2222         https://bugs.webkit.org/show_bug.cgi?id=200050
2223
2224         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2225         (WTR::TestController::cocoaResetStateToConsistentValues):
2226         Something is instantiating the default data store, which is no problem right now.
2227
2228 2019-09-07  Ryan Haddad  <ryanhaddad@apple.com>
2229
2230         Unreviewed, rolling out r249353.
2231
2232         The test for this change is a flaky failure.
2233
2234         Reverted changeset:
2235
2236         "Add support for postMessage buffering between the service
2237         worker and window"
2238         https://bugs.webkit.org/show_bug.cgi?id=201169
2239         https://trac.webkit.org/changeset/249353
2240
2241 2019-09-07  Alex Christensen  <achristensen@webkit.org>
2242
2243         Deprecate WKContextGetWebsiteDataStore
2244         https://bugs.webkit.org/show_bug.cgi?id=200050
2245
2246         Reviewed by Geoff Garen.
2247
2248         * MiniBrowser/win/WebKitBrowserWindow.cpp:
2249         (WebKitBrowserWindow::updateProxySettings):
2250         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2251         * WebKitTestRunner/TestController.cpp:
2252         (WTR::TestController::generateContextConfiguration const):
2253         (WTR::TestController::websiteDataStore):
2254         (WTR::TestController::generatePageConfiguration):
2255         (WTR::TestController::resetStateToConsistentValues):
2256         (WTR::TestController::platformAdjustContext):
2257         (WTR::TestController::clearServiceWorkerRegistrations):
2258         (WTR::TestController::clearDOMCache):
2259         (WTR::TestController::clearDOMCaches):
2260         (WTR::TestController::ClearIndexedDatabases):
2261         (WTR::TestController::hasDOMCache):
2262         (WTR::TestController::domCacheSize):
2263         (WTR::TestController::setStatisticsDebugMode):
2264         (WTR::TestController::setStatisticsPrevalentResourceForDebugMode):
2265         (WTR::TestController::setStatisticsLastSeen):
2266         (WTR::TestController::setStatisticsPrevalentResource):
2267         (WTR::TestController::setStatisticsVeryPrevalentResource):
2268         (WTR::TestController::dumpResourceLoadStatistics):
2269         (WTR::TestController::isStatisticsPrevalentResource):
2270         (WTR::TestController::isStatisticsVeryPrevalentResource):
2271         (WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
2272         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
2273         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
2274         (WTR::TestController::setStatisticsHasHadUserInteraction):
2275         (WTR::TestController::isStatisticsHasHadUserInteraction):
2276         (WTR::TestController::setStatisticsGrandfathered):
2277         (WTR::TestController::isStatisticsGrandfathered):
2278         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
2279         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
2280         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
2281         (WTR::TestController::setStatisticsSubresourceUniqueRedirectFrom):
2282         (WTR::TestController::setStatisticsTopFrameUniqueRedirectTo):
2283         (WTR::TestController::setStatisticsTopFrameUniqueRedirectFrom):
2284         (WTR::TestController::setStatisticsCrossSiteLoadWithLinkDecoration):
2285         (WTR::TestController::setStatisticsTimeToLiveUserInteraction):
2286         (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
2287         (WTR::TestController::statisticsUpdateCookieBlocking):
2288         (WTR::TestController::statisticsSubmitTelemetry):
2289         (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
2290         (WTR::TestController::setStatisticsIsRunningTest):
2291         (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
2292         (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
2293         (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
2294         (WTR::TestController::setStatisticsGrandfatheringTime):
2295         (WTR::TestController::setStatisticsMaxStatisticsEntries):
2296         (WTR::TestController::setStatisticsPruneEntriesDownTo):
2297         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
2298         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
2299         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
2300         (WTR::TestController::statisticsDeleteCookiesForHost):
2301         (WTR::TestController::isStatisticsHasLocalStorage):
2302         (WTR::TestController::setStatisticsCacheMaxAgeCap):
2303         (WTR::TestController::statisticsResetToConsistentState):
2304         (WTR::TestController::setWebAuthenticationMockConfiguration):
2305         (WTR::TestController::clearAdClickAttributionsThroughWebsiteDataRemoval):
2306         * WebKitTestRunner/TestController.h:
2307         * WebKitTestRunner/TestInvocation.cpp:
2308         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2309         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2310         (WTR::initializeWebViewConfiguration):
2311
2312 2019-09-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2313
2314         Incorrect selection rect revealed after pasting images in a contenteditable element
2315         https://bugs.webkit.org/show_bug.cgi?id=201549
2316         <rdar://problem/50956429>
2317
2318         Reviewed by Simon Fraser.
2319
2320         Add an API test to exercise the scenario where we scroll to reveal the selection after pasting an image that was
2321         directly written to the pasteboard.
2322
2323         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
2324
2325 2019-09-06  Matt Lewis  <jlewis3@apple.com>
2326
2327         Unreviewed, rolling out r249582.
2328
2329         This caused results.html fail to be created on internal
2330         testers.
2331
2332         Reverted changeset:
2333
2334         "run-webkit-test: Allow results to be uploaded without scm
2335         checkout"
2336         https://bugs.webkit.org/show_bug.cgi?id=200787
2337         https://trac.webkit.org/changeset/249582
2338
2339 2019-09-06  Aakash Jain  <aakash_jain@apple.com>
2340
2341         [ews-app] Status bubble should only display important messages in pop-over - part 2
2342         https://bugs.webkit.org/show_bug.cgi?id=201557
2343
2344         Reviewed by Jonathan Bedard.
2345
2346         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2347         (StatusBubble): Add few more strings to STEPS_TO_HIDE.
2348
2349 2019-09-06  Alex Christensen  <achristensen@webkit.org>
2350
2351         Deprecate all WKCookieManagerRef functions
2352         https://bugs.webkit.org/show_bug.cgi?id=201473
2353
2354         Reviewed by Chris Dumez.
2355
2356         Adopt replacement C API in WebKitTestRunner.
2357
2358         * TestWebKitAPI/CMakeLists.txt:
2359         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2360         * TestWebKitAPI/Tests/WebKit/CookieManager.cpp: Removed, because the functions it tests were removed.
2361         * WebKitTestRunner/TestController.cpp:
2362         (WTR::TestController::resetPreferencesToConsistentValues):
2363         (WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
2364         * WebKitTestRunner/TestInvocation.cpp:
2365         (WTR::TestInvocation::invoke):
2366         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2367         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2368         (WTR::initializeWebViewConfiguration):
2369
2370 2019-09-06  Tim Horton  <timothy_horton@apple.com>
2371
2372         Marking up a note on iOS results in a PDF with no contents
2373         https://bugs.webkit.org/show_bug.cgi?id=201530
2374         <rdar://problem/53686019>
2375
2376         Reviewed by Andy Estes.
2377
2378         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2379         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewPrintFormatter.mm:
2380         Add some tests for WKWebViewPrintFormatter; specifically that it is
2381         possible to _recalcPageCount twice in quick succession, and that
2382         we don't hang if we start painting the printed content immediately
2383         after a Web Content process crash.
2384
2385 2019-09-06  Matt Lewis  <jlewis3@apple.com>
2386
2387         run-webkit-test: Allow results to be uploaded without scm checkout
2388         https://bugs.webkit.org/show_bug.cgi?id=200787
2389
2390         Reviewed by Jonathan Bedard.
2391
2392         * Scripts/webkitpy/common/checkout/scm/detection.py:
2393         (SCMDetector.detect_scm_system): Added in detection of stub repository.
2394         * Scripts/webkitpy/common/checkout/scm/stub_repository.py: Added.
2395         (StubRepository):
2396         (StubRepository.__init__):
2397         (StubRepository._find_parent_path_matching_callback_condition): Checks up the path given to
2398         find the directory containing the checkout_information.json of the stub repository.
2399         (StubRepository.in_working_directory): Required functions to be implemented.
2400         (StubRepository.svn_revision): Required functions to be implemented.
2401         (StubRepository.native_revision): Required functions to be implemented.
2402         (StubRepository.native_branch): Required functions to be implemented.
2403         (StubRepository._decode_json): Decodes checkout_information.json.
2404         (StubRepository.find_checkout_root): Required functions to be implemented.
2405         * Scripts/webkitpy/common/checkout/scm/stub_repository_unittest.py: Added.
2406         (StubRepositoryTest): Unit test for stub_repository SCM.
2407         (StubRepositoryTest.mock_host_for_stub_repository):
2408         (StubRepositoryTest.test_in_working_directory):
2409         (StubRepositoryTest.test_native_revision):
2410         (StubRepositoryTest.test_native_branch):
2411         (StubRepositoryTest.test_svn_revision):
2412         (StubRepositoryTest.test_find_checkout_root):
2413         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
2414         (JSONResultsGenerator._get_svn_revision): Removed unnecessary scm initialization.
2415         * Scripts/webkitpy/port/base.py:
2416         (Port.commits_for_upload): Removed unnecessary scm initialization.
2417
2418 2019-09-06  Alex Christensen  <achristensen@webkit.org>
2419
2420         When disabling legacy private browsing for testing, change the SessionID back to what it was, not the defaultSessionID
2421         https://bugs.webkit.org/show_bug.cgi?id=201480
2422
2423         Reviewed by Youenn Fablet.
2424
2425         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2426         (WTR::InjectedBundle::beginTesting):
2427         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2428         (WTR::TestRunner::setPrivateBrowsingEnabled):
2429
2430 2019-09-06  Rob Buis  <rbuis@igalia.com>
2431
2432         Add runtime flag for lazy image loading
2433         https://bugs.webkit.org/show_bug.cgi?id=199794
2434
2435         Reviewed by Frédéric Wang.
2436
2437         Remove parts of r248409 that were meant for WK1 since
2438         lazy image loading is WK2 only.
2439
2440         * DumpRenderTree/TestOptions.cpp:
2441         (TestOptions::TestOptions):
2442         * DumpRenderTree/TestOptions.h:
2443         * DumpRenderTree/mac/DumpRenderTree.mm:
2444         (enableExperimentalFeatures):
2445         (setWebPreferencesForTestOptions):
2446         * DumpRenderTree/win/DumpRenderTree.cpp:
2447         (enableExperimentalFeatures):
2448
2449 2019-09-05  Chris Dumez  <cdumez@apple.com>
2450
2451         Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in imported/w3c/IndexedDB-private-browsing
2452         https://bugs.webkit.org/show_bug.cgi?id=201519
2453
2454         Reviewed by Alex Christensen.
2455
2456         Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in imported/w3c/IndexedDB-private-browsing
2457         as it does not truly enable private browsing for WebKit2. Instead, have WKTR / DRT set the
2458         TestOption::useEphemeralSession flag based on the test folder.
2459
2460         * DumpRenderTree/mac/DumpRenderTree.mm:
2461         (shouldUseEphemeralSession):
2462         (runTest):
2463         * WebKitTestRunner/TestOptions.cpp:
2464         (WTR::shouldUseEphemeralSession):
2465         (WTR::TestOptions::TestOptions):
2466
2467 2019-09-05  Fujii Hironori  <Hironori.Fujii@sony.com>
2468
2469         [Win] Support Per-Monitor (V2) DPI Awareness
2470         https://bugs.webkit.org/show_bug.cgi?id=201450
2471
2472         Reviewed by Don Olmstead.
2473
2474         * MiniBrowser/win/MainWindow.cpp:
2475         (MainWindow::WndProc): Set the window position suggested by WM_DPICHANGED.
2476         * MiniBrowser/win/WinMain.cpp:
2477         (wWinMain): Call SetProcessDpiAwarenessContext by using soft linking.
2478
2479 2019-09-05  Chris Dumez  <cdumez@apple.com>
2480
2481         REGRESSION: http/tests/adClickAttribution/second-attribution-converted-with-higher-priority.html and http/tests/adClickAttribution/second-attribution-converted-with-lower-priority.html are flaky timeouts
2482         https://bugs.webkit.org/show_bug.cgi?id=201440
2483         <rdar://problem/54998427>
2484
2485         Reviewed by Alex Christensen.
2486
2487         Since r249350, it is now possible for a WebContent process to have a suspended WebPage for the current web view.
2488         This was confusing InjectedBundle::page() in WebKitTestRunner which was assuming that the WebPage that was first
2489         created in the WebContent process is the one that is currently running the test and that we want to talk to.
2490         Update InjectedBundle::page() to ignore suspended WebPages in order to address the issue.
2491
2492         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2493         (WTR::InjectedBundle::page const):
2494
2495 2019-09-05  Jonathan Bedard  <jbedard@apple.com>
2496
2497         results.webkit.org: Assign notifyRerender before calling
2498         https://bugs.webkit.org/show_bug.cgi?id=201510
2499
2500         Reviewed by Aakash Jain.
2501
2502         Timelines should define notifyRerender to an empty function,
2503         rename notifiyRerender to notifyRerender.
2504
2505         * resultsdbpy/resultsdbpy/view/static/js/timeline.js:
2506         * resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
2507         * resultsdbpy/resultsdbpy/view/templates/search.html:
2508         * resultsdbpy/resultsdbpy/view/templates/suite_results.html:
2509
2510 2019-09-05  Jonathan Bedard  <jbedard@apple.com>
2511
2512         results.webkit.org: Fix prepending search result on empty list 
2513         https://bugs.webkit.org/show_bug.cgi?id=201512
2514
2515         Reviewed by Aakash Jain.
2516
2517         * resultsdbpy/resultsdbpy/view/templates/search.html:
2518
2519 2019-09-05  Jonathan Bedard  <jbedard@apple.com>
2520
2521         results.webkit.org: Retain certain parameters when following menu links
2522         https://bugs.webkit.org/show_bug.cgi?id=201463
2523
2524         Rubber-stamped by Aakash Jain.
2525
2526         * resultsdbpy/resultsdbpy/view/site_menu.py:
2527         (SiteMenu.add_endpoint): Allow added endpoints to define parameters to be retained.
2528         * resultsdbpy/resultsdbpy/view/templates/base.html: When clicking on a site-menu link,
2529         retain the specified parameters
2530         * resultsdbpy/resultsdbpy/view/view_routes.py:
2531         (ViewRoutes.__init__):
2532
2533 2019-09-05  Chris Dumez  <cdumez@apple.com>
2534
2535         [WK2] Add proper layout test support for ephemeral sessions
2536         https://bugs.webkit.org/show_bug.cgi?id=201475
2537
2538         Reviewed by Antti Koivisto.
2539
2540         Add proper layout test support for ephemeral sessions via:
2541         <!-- webkit-test-runner [ useEphemeralSession=true ] -->
2542
2543         This actually creates a new WebView using an ephemeral data store to load the test which
2544         is *true* private browsing.
2545
2546         testRunner.setPrivateBrowsingEnabled() merely overrides the Page's sessionID in the WebContent
2547         process, which is a hack and does not truly enable private browsing because the UIProcess and
2548         the NetworkProcess are not properly updated on WK2. This patch renames testRunner.setPrivateBrowsingEnabled()
2549         to testRunner.setPrivateBrowsingEnabled_DEPRECATED() to discourage its use since I am try to
2550         get rid of it.
2551
2552         Note that WK2 does not support using a WebContent process for different sessions / data stores.
2553         Each WebContent process has a single associated data store and testRunner.setPrivateBrowsingEnabled()
2554         is currently the only exception to that. This leads to additional complexity in our code base (e.g. in ITP),
2555         simply to support testRunner.setPrivateBrowsingEnabled().
2556
2557         * DumpRenderTree/TestOptions.cpp:
2558         (TestOptions::TestOptions):
2559         * DumpRenderTree/TestOptions.h:
2560         * DumpRenderTree/TestRunner.cpp:
2561         (TestRunner::staticFunctions):
2562         * DumpRenderTree/mac/DumpRenderTree.mm:
2563         (setWebPreferencesForTestOptions):
2564         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2565         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2566         (WTR::TestRunner::setPrivateBrowsingEnabled_DEPRECATED):
2567         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2568         * WebKitTestRunner/TestController.cpp:
2569         (WTR::TestController::generatePageConfiguration):
2570         (WTR::updateTestOptionsFromTestHeader):
2571         * WebKitTestRunner/TestOptions.h:
2572         (WTR::TestOptions::hasSameInitializationOptions const):
2573         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2574         (WTR::TestController::platformCreateWebView):
2575
2576 2019-09-05  Ryosuke Niwa  <rniwa@webkit.org>
2577
2578         REGRESSION (iOS 13): Bulleted list copied from Notes to Mail results in Times New Roman
2579         https://bugs.webkit.org/show_bug.cgi?id=201490
2580
2581         Reviewed by Daniel Bates.
2582
2583         Added a test.
2584
2585         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2586         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
2587         * TestWebKitAPI/Tests/WebKitCocoa/cocoa-writer-markup-with-lists.html: Added.
2588
2589 2019-09-05  Ryosuke Niwa  <rniwa@webkit.org>
2590
2591         Remove unused SPI that accesses MemoryCache directly
2592         https://bugs.webkit.org/show_bug.cgi?id=201468
2593
2594         Reviewed by Youenn Fablet.
2595
2596         Removed the API test.
2597
2598         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2599         * TestWebKitAPI/Tests/ios/MemoryCacheAddImageToCacheIOS.mm: Removed.
2600
2601 2019-09-04  Timothy Hatcher  <timothy@apple.com>
2602
2603         Mail appears to be double inverting code copied from Notes, Xcode, or Terminal.
2604         https://bugs.webkit.org/show_bug.cgi?id=201368
2605         rdar://problem/40529867
2606
2607         Reviewed by Ryosuke Niwa.
2608
2609         Added Tests: PasteHTML.TransformColorsOfDarkContent, PasteHTML.DoesNotTransformColorsOfLightContent,
2610             PasteRTFD.TransformColorsOfDarkContent, PasteRTFD.DoesNotTransformColorsOfLightContent
2611
2612         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2613         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
2614         (createWebViewWithCustomPasteboardDataSetting): Added argument to enable color filter.
2615         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
2616         (createWebViewWithCustomPasteboardDataEnabled): Added argument to enable color filter.
2617         * TestWebKitAPI/Tests/WebKitCocoa/rich-color-filtered.html: Added.
2618         * TestWebKitAPI/cocoa/TestWKWebView.h:
2619         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2620         (-[TestWKWebView forceDarkMode]):
2621
2622 2019-09-04  Wenson Hsieh  <wenson_hsieh@apple.com>
2623
2624         MobileSafari may crash when invoking the C++ lambda in -[WKContentView _shareForWebView:]
2625         https://bugs.webkit.org/show_bug.cgi?id=201479
2626         <rdar://problem/51511834>
2627
2628         Reviewed by Tim Horton.
2629
2630         Add a test to verify that the UI process doesn't crash when invoking `_share:` while there's no selection.
2631
2632         * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
2633         * TestWebKitAPI/ios/UIKitSPI.h:
2634
2635 2019-09-04  Wenson Hsieh  <wenson_hsieh@apple.com>
2636
2637         -[WKContentView selectedText] returns an empty string when selecting more than 200 characters
2638         https://bugs.webkit.org/show_bug.cgi?id=201471
2639         <rdar://problem/55039227>
2640
2641         Reviewed by Tim Horton.
2642
2643         Add an API test to ensure that -selectedText is non-empty in the case where more than 200 characters are
2644         selected.
2645
2646         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
2647         (TestWebKitAPI::TEST):
2648         * TestWebKitAPI/ios/UIKitSPI.h:
2649
2650 2019-09-04  Jonathan Bedard  <jbedard@apple.com>
2651
2652         results.webkit.org: Fix mobile vs desktop mode
2653         https://bugs.webkit.org/show_bug.cgi?id=201441
2654
2655         Rubber-stamped by Aakash Jain.
2656
2657         We should unconditionally use desktop mode if the device screen-width
2658         is large enough.
2659
2660         * resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
2661
2662 2019-09-04  Jonathan Bedard  <jbedard@apple.com>
2663
2664         run-api-tests: Add support for specifying additional environment variables
2665         https://bugs.webkit.org/show_bug.cgi?id=201311
2666         <rdar://problem/54852698>
2667
2668         Reviewed by Daniel Bates.
2669
2670         * Scripts/webkitpy/api_tests/run_api_tests.py:
2671         (parse_args): Add --additional-env-var flag.
2672         * Scripts/webkitpy/port/base.py:
2673         (Port._append_value_colon_separated): Use os.pathsep instead of ':'.
2674         (Port.environment_for_api_tests): Add the values from --additional-env-var to the
2675         environment.
2676
2677 2019-09-04  Aakash Jain  <aakash_jain@apple.com>
2678
2679         EWS bubbles should indicate builder vs tester
2680         https://bugs.webkit.org/show_bug.cgi?id=201253
2681
2682         Reviewed by Jonathan Bedard.
2683
2684         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2685         (StatusBubble._build_bubble): Add icons to the bubbles appropriately.
2686         (StatusBubble._is_tester_queue): Method to determine if the queue is tester queue.
2687         (StatusBubble._is_builder_queue): Method to determine if the queue is builder queue.
2688         (StatusBubble.get):
2689         * BuildSlaveSupport/ews-app/ews/common/buildbot.py:
2690         (Buildbot.fetch_config): Method to fetch the config from Buildbot server.
2691         (Buildbot.update_icons_for_queues_mapping): Method to update the icons for queues mapping.
2692         * BuildSlaveSupport/ews-app/ews/fetcher.py:
2693         (FetchLoop.run): Update the icons for queues mapping.
2694         * BuildSlaveSupport/ews-build/config.json: Add icon information for the queues.
2695         * BuildSlaveSupport/ews-build/loadConfig.py: Remove 'icon' key from builder before passing it to Buildbot.
2696         * BuildSlaveSupport/ews-build/loadConfig_unittest.py: .
2697         (test_builder_keys): Update unit-test accordingly. Also minor drive-by fix to improve failure string formatting.
2698
2699 2019-09-03  Yusuke Suzuki  <ysuzuki@apple.com>
2700
2701         [bmalloc] IsoTLSLayout and AllIsoHeaps registration is racy with derived class initialization with virtual functions
2702         https://bugs.webkit.org/show_bug.cgi?id=201448
2703
2704         Reviewed by Mark Lam.
2705
2706         * TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp:
2707         (TEST):
2708
2709 2019-09-03  Dean Jackson  <dino@apple.com>
2710
2711         Test for ContextMenus with images
2712         https://bugs.webkit.org/show_bug.cgi?id=201437
2713
2714         Reviewed by Wenson Hsieh.
2715
2716         Add a test for ContextMenus that trigger on images, and make
2717         sure that they ask for alternate URLs (added in r249171).
2718
2719         * TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
2720         (contextMenuWebViewDriver):
2721         (-[TestContextMenuImageUIDelegate _webView:contextMenuConfigurationForElement:completionHandler:]):
2722         (-[TestContextMenuImageUIDelegate _webView:alternateURLFromImage:userInfo:]):
2723         (-[TestContextMenuImageUIDelegate webView:contextMenuWillPresentForElement:]):
2724         (-[TestContextMenuImageUIDelegate webView:contextMenuForElement:willCommitWithAnimator:]):
2725         (-[TestContextMenuImageUIDelegate webView:contextMenuDidEndForElement:]):
2726         (TEST):
2727
2728 2019-09-03  Jonathan Bedard  <jbedard@apple.com>
2729
2730         results.webkit.org: Move legend into sidebar
2731         https://bugs.webkit.org/show_bug.cgi?id=201258
2732
2733         Rubber-stamped by Aakash Jain.
2734
2735         * resultsdbpy/resultsdbpy/view/static/js/timeline.js: 
2736         (Legend): Make the legend vertical instead of horizontal, add ToolTip to dots in the legend.
2737         * resultsdbpy/resultsdbpy/view/static/js/tooltip.css: Add left and right tooltip arrows.
2738         * resultsdbpy/resultsdbpy/view/static/js/tooltip.js:
2739         (isPointInElement): Make bound check include borders.
2740         (_ToolTip.toString): Add left/right cases.
2741         (_ToolTip.prototype.setByElement): Set the tooltip location given an element.
2742         * resultsdbpy/resultsdbpy/view/templates/search.html: Put the legend into the sidebar.
2743         * resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
2744
2745 2019-09-03  Jonathan Bedard  <jbedard@apple.com>
2746
2747         results.webkit.org: Increase default limit for LimitSlider
2748         https://bugs.webkit.org/show_bug.cgi?id=201424
2749
2750         Reviewed by Aakash Jain.
2751
2752         * resultsdbpy/resultsdbpy/view/static/js/drawer.js:
2753         (LimitSlider): Increase the default limit, make limit slider linear instead of logarithmic.
2754
2755 2019-09-03  Antoine Quint  <graouts@apple.com>
2756
2757         [iOS] Treat a two-finger single tap as if the user tapped with the Cmd key pressed
2758         https://bugs.webkit.org/show_bug.cgi?id=201420
2759         <rdar://problem/53207786>
2760
2761         Reviewed by Simon Fraser.
2762
2763         Add a new twoFingerSingleTapAtPoint() method to UIScriptController, which just calls into the existing (but unused)
2764         -[HIDEventGenerator twoFingerTap:completionBlock:].
2765
2766         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2767         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2768         (WTR::UIScriptController::twoFingerSingleTapAtPoint):
2769         * WebKitTestRunner/ios/UIScriptControllerIOS.h:
2770         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2771         (WTR::UIScriptControllerIOS::twoFingerSingleTapAtPoint):
2772
2773 2019-09-03  Zan Dobersek  <zdobersek@igalia.com>
2774
2775         [WPE] MiniBrowser should handle the WebKitWebView::create signal
2776         https://bugs.webkit.org/show_bug.cgi?id=201417
2777
2778         Reviewed by Carlos Garcia Campos.
2779
2780         WPE's MiniBrowser should connect to and handle the
2781         WebKitWebView::create signal, constructing a new bit related
2782         WebKitWebView object upon invocation.
2783
2784         * MiniBrowser/wpe/main.cpp:
2785         (webViewClose):
2786         (createWebView):
2787         (main):
2788
2789 2019-09-03  Zan Dobersek  <zdobersek@igalia.com>
2790
2791         [WPE] Make view backends multi-view-friendly
2792         https://bugs.webkit.org/show_bug.cgi?id=201415
2793
2794         Reviewed by Carlos Garcia Campos.
2795
2796         Have the Wayland EGL connection for WindowViewBackend instances managed
2797         through a per-process singleton, allowing multiple backend objects
2798         use it for different views. HeadlessViewBackend already does this, but
2799         the code there is refurbished into a singleton structure.
2800
2801         The ViewBackend classes are adjusted to work with the backend-specific
2802         EGLDisplay objects (as constructed through the backend-specific EGL
2803         connection approach).
2804
2805         * wpe/backends/HeadlessViewBackend.cpp:
2806         (WPEToolingBackends::HeadlessEGLConnection::singleton):
2807         (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
2808         (WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
2809         (WPEToolingBackends::HeadlessViewBackend::createSnapshot):
2810         (WPEToolingBackends::getEGLDisplay): Deleted.
2811         * wpe/backends/ViewBackend.cpp:
2812         (WPEToolingBackends::ViewBackend::initialize):
2813         (WPEToolingBackends::ViewBackend::deinitialize):
2814         (WPEToolingBackends::ViewBackend::~ViewBackend): Deleted.
2815         * wpe/backends/ViewBackend.h:
2816         * wpe/backends/WindowViewBackend.cpp:
2817         (WPEToolingBackends::WaylandEGLConnection::singleton):
2818         (WPEToolingBackends::WindowViewBackend::WindowViewBackend):
2819         (WPEToolingBackends::WindowViewBackend::~WindowViewBackend):
2820         (WPEToolingBackends::WindowViewBackend::displayBuffer):
2821
2822 2019-09-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2823
2824         [WPE][GTK] Deprecate nonfunctional process limit APIs
2825         https://bugs.webkit.org/show_bug.cgi?id=193749
2826
2827         Reviewed by Žan Doberšek.
2828
2829         * MiniBrowser/gtk/main.c:
2830         (main):
2831         * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
2832         (beforeAll):
2833         (testWebProcessLimit): Deleted.
2834
2835 2019-09-02  Zan Dobersek  <zdobersek@igalia.com>
2836
2837         [WPE] WindowBackend should do resizing properly
2838         https://bugs.webkit.org/show_bug.cgi?id=201386
2839
2840         Reviewed by Carlos Garcia Campos.
2841
2842         The WindowBackend implementation is resized via the XDG protocol. The
2843         initial size is stored for the object's lifetime and fallen back to when
2844         the XDG protocol reports (0,0) configuration size.
2845
2846         Upon each resize, we have to recreate the texture. We also have to size
2847         the GL viewport accordingly.
2848
2849         * wpe/backends/WindowViewBackend.cpp:
2850         (WPEToolingBackends::WindowViewBackend::WindowViewBackend):
2851         (WPEToolingBackends::WindowViewBackend::createViewTexture):
2852         (WPEToolingBackends::WindowViewBackend::resize):
2853         (WPEToolingBackends::WindowViewBackend::displayBuffer):
2854         * wpe/backends/WindowViewBackend.h:
2855
2856 2019-09-01  Fujii Hironori  <Hironori.Fujii@sony.com>
2857
2858         Unreviewed, rolling out r249366.
2859
2860         WinCairo WebKit2 crashes in some websites and the device scale
2861         factor is not correct in high DPI.
2862
2863         Reverted changeset:
2864
2865         "[WinCairo, FTW] Properly handle device scale factor"
2866         https://bugs.webkit.org/show_bug.cgi?id=201361
2867         https://trac.webkit.org/changeset/249366
2868
2869 2019-09-01  Wenson Hsieh  <wenson_hsieh@apple.com>
2870
2871         Long presses that interrupt accelerated scrolling dispatch clicks on apps linked against iOS 12 or earlier
2872         https://bugs.webkit.org/show_bug.cgi?id=201346
2873         <rdar://problem/54885784>
2874
2875         Reviewed by Dean Jackson.
2876
2877         Add a new test option to allow tests to disable link previews.
2878
2879         * WebKitTestRunner/TestController.cpp:
2880         (WTR::updateTestOptionsFromTestHeader):
2881         * WebKitTestRunner/TestOptions.h:
2882
2883         Drive-by fix: also check enableLazyImageLoading when determining whether two TestOptions are the same.
2884
2885         (WTR::TestOptions::hasSameInitializationOptions const):
2886         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2887         (WTR::TestController::platformCreateWebView):
2888
2889 2019-08-30  Brent Fulgham  <bfulgham@apple.com>
2890
2891         [WinCairo, FTW] Properly handle device scale factor
2892         https://bugs.webkit.org/show_bug.cgi?id=201361
2893
2894         Reviewed by Don Olmstead.
2895
2896         Reset zoom to 1.0; device scale is handled elsewhere.
2897
2898         * MiniBrowser/win/WebKitBrowserWindow.cpp:
2899         (WebKitBrowserWindow::resetZoom):
2900
2901 2019-08-30  Zhifei Fang  <zhifei_fang@apple.com>
2902
2903         [results.webkit.org Timeline] Add notify rerender API for timeline
2904         https://bugs.webkit.org/show_bug.cgi?id=201363
2905
2906         Reviewed by Jonathan Bedard.
2907
2908         * resultsdbpy/resultsdbpy/view/static/js/timeline.js: Export notifyRerender API to timeline class
2909         * resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
2910         (XScrollableCanvasProvider): Add an event stream to receive notification that it will need to render 
2911         (prototype.ExpandableSeriesComponent): Notify the rerender when expanded, because this may change the layout.
2912         (prototype.Timeline.CanvasContainer):
2913
2914 2019-08-30  Aakash Jain  <aakash_jain@apple.com>
2915
2916         [ews-build] 're-run-layout-tests' step on macOS-High-Sierra-Debug-WK1-Tests-EWS runs WK2 tests
2917         https://bugs.webkit.org/show_bug.cgi?id=201350
2918
2919         Reviewed by Jonathan Bedard.
2920
2921         * BuildSlaveSupport/ews-build/steps.py:
2922         (RunWebKit1Tests.start): Set build property to use dump-render-tree.
2923         (RunWebKitTests.start): Use dump-render-tree whenever the corresponding build property is set.
2924
2925 2019-08-30  Jonathan Bedard  <jbedard@apple.com>
2926
2927         results.webkit.org: Add endpoints to upload and download archives
2928         https://bugs.webkit.org/show_bug.cgi?id=201100
2929
2930         Reviewed by Aakash Jain.
2931
2932         Add the endpoint to upload and download a zip archive associated with a test run.
2933
2934         * resultsdbpy/resultsdbpy/controller/api_routes.py:
2935         (APIRoutes.__init__): Add archive endpoint.
2936         * resultsdbpy/resultsdbpy/controller/archive_controller.py: Added.
2937         (ArchiveController):
2938         (ArchiveController.__init__):
2939         (ArchiveController.endpoint):
2940         (ArchiveController.download):
2941         (ArchiveController.upload):
2942         * resultsdbpy/resultsdbpy/controller/archive_controller_unittest.py: Added.
2943         (ArchiveControllerUnittest):
2944         * resultsdbpy/resultsdbpy/model/configuration_context.py:
2945         (ClusteredByConfiguration.register_configuration): Make error message more clear.
2946
2947 2019-08-30  Simon Fraser  <simon.fraser@apple.com>
2948
2949         Add system tracing points for compositing updates, and touch-event dispatching
2950         https://bugs.webkit.org/show_bug.cgi?id=201327
2951
2952         Reviewed by Alex Christensen.
2953
2954         * Tracing/SystemTracePoints.plist:
2955
2956 2019-08-30  Keith Rollin  <krollin@apple.com>
2957
2958         Simplify PLATFORM expression
2959         https://bugs.webkit.org/show_bug.cgi?id=201286
2960         <rdar://problem/54822347>
2961
2962         Reviewed by Alexey Proskuryakov.
2963
2964         The preprocessor expression conditionalizing the inclusion of the body
2965         of ExitFullscreenOnEnterPiP.mm evolved into:
2966
2967             #if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))
2968
2969         Simplify this to just:
2970
2971             #if !PLATFORM(IOS_FAMILY_SIMULATOR)
2972
2973         * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
2974
2975 2019-08-30  Keith Rollin  <krollin@apple.com>
2976
2977         Remove AppKitCompatibilityDeclarations.h
2978         https://bugs.webkit.org/show_bug.cgi?id=201283
2979         <rdar://problem/54822042>
2980
2981         Reviewed by Alexey Proskuryakov.
2982
2983         The two copies of these files -- on in WTF, one in MiniBrowser -- are
2984         empty and can be removed.
2985
2986         * DumpRenderTree/mac/EventSendingController.mm:
2987         * DumpRenderTree/mac/TextInputControllerMac.m:
2988         * MiniBrowser/AppKitCompatibilityDeclarations.h: Removed.
2989         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
2990         * MiniBrowser/mac/SettingsController.m:
2991         * MiniBrowser/mac/WK1BrowserWindowController.m:
2992         * MiniBrowser/mac/WK2BrowserWindowController.m:
2993         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm:
2994         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
2995         * TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
2996         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
2997         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenLayoutConstraints.mm:
2998         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenTopContentInset.mm:
2999         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3000         * TestWebKitAPI/Tests/WebKitCocoa/ShouldOpenExternalURLsInNewWindowActions.mm:
3001         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3002         * TestWebKitAPI/Tests/WebKitCocoa/UserInitiatedActionInNavigationAction.mm:
3003         * TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:
3004         * TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm:
3005         * TestWebKitAPI/Tests/mac/ContextMenuDefaultItemsHaveTags.mm:
3006         * TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:
3007         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
3008         * TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:
3009         * TestWebKitAPI/cocoa/TestWKWebView.mm:
3010         * TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
3011         * TestWebKitAPI/mac/PlatformWebViewMac.mm:
3012         * WebKitTestRunner/mac/EventSenderProxy.mm:
3013         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
3014         * WebKitTestRunner/mac/TestControllerMac.mm:
3015
3016 2019-08-30  Adrian Perez de Castro  <aperez@igalia.com>
3017
3018         [WPE][GTK] New API to remove a filter from an user content manager given its identifier
3019         https://bugs.webkit.org/show_bug.cgi?id=200479
3020
3021         Reviewed by Carlos Garcia Campos.
3022
3023         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
3024         (testUserContentManagerContentFilter): Test also the new
3025         webkit_user_content_manager_remove_filter_by_id() public API function.
3026
3027 2019-08-30  Philippe Normand  <pnormand@igalia.com>
3028
3029         [WPE][Qt] loadingChanged signal parameter is unusable
3030         https://bugs.webkit.org/show_bug.cgi?id=201301
3031
3032         Reviewed by Carlos Garcia Campos.
3033
3034         * MiniBrowser/wpe/qt/main.qml: Add a basic loadingChange signal handler.
3035         * Scripts/webkitpy/style/checker.py: White-list WPEQtView.h for
3036         readablity/parameter_name code styl checker rule.
3037
3038 2019-08-29  Keith Rollin  <krollin@apple.com>
3039
3040         Update .xcconfig symbols to reflect the current set of past and future product versions.
3041         https://bugs.webkit.org/show_bug.cgi?id=200720
3042         <rdar://problem/54305032>
3043
3044         Reviewed by Alex Christensen.
3045
3046         Remove version symbols related to old OS's we no longer support,
3047         ensure that version symbols are defined for OS's we do support.
3048
3049         * ContentExtensionTester/Configurations/Base.xcconfig:
3050         * ContentExtensionTester/Configurations/DebugRelease.xcconfig:
3051         * DumpRenderTree/mac/Configurations/Base.xcconfig:
3052         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
3053         * ImageDiff/cg/Configurations/Base.xcconfig:
3054         * ImageDiff/cg/Configurations/DebugRelease.xcconfig:
3055         * MiniBrowser/Configurations/Base.xcconfig:
3056         * MiniBrowser/Configurations/DebugRelease.xcconfig:
3057         * TestWebKitAPI/Configurations/Base.xcconfig:
3058         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
3059         * WebEditingTester/Configurations/Base.xcconfig:
3060         * WebEditingTester/Configurations/DebugRelease.xcconfig:
3061         * WebKitTestRunner/Configurations/Base.xcconfig:
3062         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
3063         * lldb/lldbWebKitTester/Configurations/Base.xcconfig:
3064         * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
3065
3066 2019-08-29  Keith Rollin  <krollin@apple.com>
3067
3068         Remove empty FontCache.cpp file in TestWebKitAPI
3069         https://bugs.webkit.org/show_bug.cgi?id=201277
3070         <rdar://problem/54820726>
3071
3072         Reviewed by Alex Christensen.
3073
3074         Bug 200694 emptied out the contents of FontCache.cpp. This patch
3075         removes the file from the project.
3076
3077         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3078         * TestWebKitAPI/Tests/WebCore/FontCache.cpp: Removed.
3079
3080 2019-08-29  Aakash Jain  <aakash_jain@apple.com>
3081
3082         [ews-app] Status bubble should only display important messages in pop-over
3083         https://bugs.webkit.org/show_bug.cgi?id=201308
3084
3085         Reviewed by Jonathan Bedard.
3086
3087         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Added various build-steps which are of low interest
3088         to end-users in STEPS_TO_HIDE. If any of these steps fail, it will not be hidden.
3089
3090 2019-08-29  Keith Rollin  <krollin@apple.com>
3091
3092         Remove support for macOS < 10.13 (part 3)
3093         https://bugs.webkit.org/show_bug.cgi?id=201224
3094         <rdar://problem/54795934>
3095
3096         Reviewed by Darin Adler.
3097
3098         Remove symbols in WebKitTargetConditionals.xcconfig related to macOS
3099         10.13, including WK_MACOS_1013 and WK_MACOS_BEFORE_1013, and suffixes
3100         like _MACOS_SINCE_1013.
3101
3102         Also added some macOS target numbers.
3103
3104         * TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig:
3105
3106 2019-08-29  Jonathan Bedard  <jbedard@apple.com>
3107
3108         results.webkit.org: Remove border from tooltip
3109         https://bugs.webkit.org/show_bug.cgi?id=201239
3110
3111         Reviewed by Alex Christensen.
3112
3113         * resultsdbpy/resultsdbpy/view/static/css/tooltip.css:
3114         (.tooltip-content): Remove border.
3115
3116 2019-08-28  Fujii Hironori  <Hironori.Fujii@sony.com>
3117
3118         [Win] MiniBrowser crashes in WKURLCopyString if WKPageCopyActiveURL returns null
3119         https://bugs.webkit.org/show_bug.cgi?id=201215
3120
3121         Reviewed by Don Olmstead.
3122
3123         MiniBrowser crashed if it was going to go to a unreachable page
3124         because WKPageCopyActiveURL returned a nullptr.
3125
3126         * MiniBrowser/win/WebKitBrowserWindow.cpp:
3127         (createString): Added null checking of the argument.
3128
3129 2019-08-28  Tim Horton  <timothy_horton@apple.com>
3130
3131         Reloading a web view with a fixed-width viewport and variable content width restores the previous page scale, shouldn't
3132         https://bugs.webkit.org/show_bug.cgi?id=201256
3133         <rdar://problem/54809509>
3134
3135         Reviewed by Simon Fraser.
3136
3137         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3138         * TestWebKitAPI/Tests/WebKit/long-email-viewport.html: Added.
3139         * TestWebKitAPI/Tests/WebKitCocoa/ReloadWithDifferingInitialScale.mm: Added.
3140         (TestWebKitAPI::TEST):
3141         Add a test. I left many comments because I had a great deal of trouble
3142         writing this test and wanted to document my findings.
3143
3144 2019-08-28  Jonathan Bedard  <jbedard@apple.com>
3145
3146         results.webkit.org: Do not display branch selector if only one branches available
3147         https://bugs.webkit.org/show_bug.cgi?id=201244
3148
3149         Rubber-stamped by Aakash Jain.
3150
3151         * resultsdbpy/resultsdbpy/view/static/js/drawer.js: Hide the branch selector's
3152         container if there aren't multiple branches to choose from.
3153
3154 2019-08-28  Wenson Hsieh  <wenson_hsieh@apple.com>
3155
3156         WKAttachmentTests.DropFolderAsAttachmentAndMoveByDragging fails in some iOS simulator configurations
3157         https://bugs.webkit.org/show_bug.cgi?id=201241
3158         <rdar://problem/54317588>
3159
3160         Reviewed by Tim Horton.
3161
3162         For reasons that are still unknown, it's possible for iOS 13 simulators to get into a state where the IPC
3163         communication delay between the web and UI processes can become extraordinarily long. Under these circumstances,
3164         the drag and drop harness fails to simulate a drop, since it ends up firing all scheduled calls to
3165         -dropInteraction:sessionDidUpdate: before the first response from the web process arrives in the UI process, so
3166         it believes that the web view has rejected the drop from being handled.
3167
3168         Instead, make the drag and drop simulator robust by ensuring a presentation update between drop session updates,
3169         to make sure that the web process has had time to send a response after each update.
3170
3171         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
3172         (-[DragAndDropSimulator _advanceProgress]):
3173
3174 2019-08-28  Megan Gardner  <megan_gardner@apple.com>
3175
3176         Null check webFrame when creating a print preview to prevent a crash.
3177         https://bugs.webkit.org/show_bug.cgi?id=201237
3178         <rdar://problem/51618863>
3179
3180         Reviewed by Tim Horton.
3181
3182         Test to verify that if we don't have the WebPageProxy, we will not crash when making a print preview.
3183
3184         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3185         (TEST):
3186
3187 2019-08-28  Jonathan Bedard  <jbedard@apple.com>
3188
3189         results.webkit.org: Move drawer to the right, open by default
3190         https://bugs.webkit.org/show_bug.cgi?id=200977
3191
3192         Rubber-stamped by Aakash Jain.
3193
3194         The drawer was both unpopular and not discoverable. After feedback from bot watchers,
3195         moving the drawer to the right side of the screen, opening it by default and have it displace
3196         instead of hide the main content.
3197
3198         * resultsdbpy/resultsdbpy/view/commit_view_unittest.py:
3199         (CommitViewUnittest.test_drawer): Support new drawer style.
3200         (CommitViewUnittest.test_range_slider): Ditto.
3201         (CommitViewUnittest.test_one_line_switch): Ditto.
3202         (CommitViewUnittest.test_branch_selection): Ditto.
3203         * resultsdbpy/resultsdbpy/view/static/css/drawer.css: Removed.
3204         * resultsdbpy/resultsdbpy/view/static/js/drawer.js:
3205         (setEnableRecursive): Disable all elements underneath this one 
3206         (Drawer): Make drawer a sidebar.
3207         * resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
3208         (.header>.title, .topbar>.title): Overflow of titles should be hidden.
3209         (:root): Move boldInverseColor into webkit.css.
3210         (@media (prefers-color-scheme: dark)):
3211         (.sidebar): Sidebars on mobile should behave like drawers.
3212         (.sidebar.hidden): Add concept of hidden sidebar.
3213         (.mobile-sidebar-control): Add a control to collapse sidebar that only exists on mobile.
3214         (.mobile-sidebar-control.display):
3215         (.main.under-topbar-with-actions):
3216         (@media screen and (min-width: 600px) and (orientation: landscape)):
3217         (.sidebar.left.hidden):
3218         (.sidebar.right.hidden):
3219         (.main.right.hidden):
3220         (.main.left.hidden):
3221         (@media screen and (min-width: 768px) and (orientation: landscape)):
3222         (.sidebar.right):
3223         (a.disabled): Add ability to disable a link.
3224         (.desktop-control): Add a control which only exists on desktop.
3225         * resultsdbpy/resultsdbpy/view/templates/base.html: Add hamburger drawer-button for mobile.
3226         * resultsdbpy/resultsdbpy/view/templates/commits.html: Use main since Drawer is now a sidebar.
3227         * resultsdbpy/resultsdbpy/view/templates/documentation.html: Ditto.
3228         * resultsdbpy/resultsdbpy/view/templates/search.html: Ditto.
3229         * resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
3230         * resultsdbpy/resultsdbpy/view/view_routes_unittest.py:
3231         (WebSiteTestCase.toggle_drawer): Support new drawer style.
3232         (WebSiteTestCase.find_input_with_name): Ditto.
3233
3234 2019-08-28  Keith Rollin  <krollin@apple.com>
3235
3236         Remove support for macOS < 10.13 (part 2)
3237         https://bugs.webkit.org/show_bug.cgi?id=201197
3238         <rdar://problem/54759985>
3239
3240         Reviewed by Darin Adler.
3241
3242         Update conditionals that reference WK_MACOS_1013 and suffixes like
3243         _MACOS_SINCE_1013, assuming that we're always building on 10.13 or
3244         later and that these conditionals are always True or False.
3245
3246         See Bug 200694 for earlier changes in this area.
3247
3248         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3249
3250 2019-08-28  Alicia Boya García  <aboya@igalia.com>
3251
3252         [MSE][GStreamer] WebKitMediaSrc rework
3253         https://bugs.webkit.org/show_bug.cgi?id=199719
3254
3255         Reviewed by Xabier Rodriguez-Calvar.
3256
3257         Added WebKitMediaSourceGStreamer.cpp to the GStreamer-style coding
3258         whitelist.
3259
3260         * Scripts/webkitpy/style/checker.py:
3261
3262 2019-08-28  Alexey Proskuryakov  <ap@apple.com>
3263
3264         Updating inactive contributors in contributors.json.
3265
3266         * Scripts/webkitpy/common/config/contributors.json:
3267
3268 2019-08-28  Jonathan Bedard  <jbedard@apple.com>
3269
3270         results.webkit.org: Auto-expand single configurations
3271         https://bugs.webkit.org/show_bug.cgi?id=201218
3272
3273         Rubber-stamped by Aakash Jain.
3274
3275         * resultsdbpy/resultsdbpy/view/static/js/timeline.js:
3276         (TimelineFromEndpoint.toString): Automatically expand timeline when only one
3277         configuration has been specified.
3278         * resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
3279         (prototype.ExpandableSeriesComponent): Add options so that the caller can set whether a timeline
3280         is expanded or collapsed by default.
3281
3282 2019-08-28  Jonathan Bedard  <jbedard@apple.com>
3283
3284         results.webkit.org: Sanitize all commit arguments on upload
3285         https://bugs.webkit.org/show_bug.cgi?id=201189
3286         <rdar://problem/54564837>
3287
3288         Reviewed by Aakash Jain.
3289
3290         * resultsdbpy/resultsdbpy/controller/commit.py:
3291         (Commit.__init__): Only allow commits to be constructed with valid values.
3292         * resultsdbpy/resultsdbpy/controller/commit_controller.py:
3293         (CommitController.register): Strip potential API key.
3294         * resultsdbpy/resultsdbpy/controller/commit_unittest.py:
3295         (CommitUnittest.test_invalid): Test that commits which contain html inside the
3296         repository_id, branch or commit id are rejected.
3297
3298 2019-08-02  Claudio Saavedra  <csaavedra@igalia.com>
3299
3300         [GTK][WPE] Implement HSTS for the soup network backend
3301         https://bugs.webkit.org/show_bug.cgi?id=192074
3302
3303         Reviewed by Carlos Garcia Campos.
3304
3305         libsoup 2.67.1 introduced HSTS support via a SoupSessionFeature.
3306         Add support to the soup network backend by adding the feature to
3307         SoupNetworkSession and handling HSTS protocol upgrades, by
3308         propagating the scheme change further to clients. This patch adds
3309         the HSTS feature unconditionally, but it still possible to add
3310         a boolean property to the web context class if desired.
3311
3312         Additionally, add API to the WebKitWebsiteDataManager to specify
3313         the directory where the HSTS database is saved. If the directory
3314         is not set or if the data manager is ephemeral, use a
3315         non-persistent, memory only HSTS enforcer.
3316
3317         Implement as well the methods needed to clean-up and delete HSTS
3318         policies from the storage and expose the feature in GTK+
3319         MiniBrowser's about:data.
3320
3321         * MiniBrowser/gtk/main.c:
3322         (gotWebsiteDataCallback):
3323         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
3324         (serverCallback):
3325         (testWebsiteDataConfiguration):
3326         (testWebsiteDataEphemeral):
3327         (prepopulateHstsData):
3328         (testWebsiteDataHsts):
3329         (beforeAll):
3330         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
3331         (Test::Test):
3332         * gtk/jhbuild.modules: Bump libsoup to 2.67.91 for the new APIs
3333         * wpe/jhbuild.modules: Ditto
3334         * MiniBrowser/gtk/main.c:
3335         (gotWebsiteDataCallback):
3336
3337 2019-08-27  James Darpinian  <jdarpinian@google.com>
3338
3339         Fix applying diffs that only change file mode
3340         https://bugs.webkit.org/show_bug.cgi?id=201191
3341
3342         Reviewed by Daniel Bates.
3343
3344         * Scripts/svn-apply:
3345         (patch): Handle case of file mode change without content change
3346
3347 2019-08-27  Aakash Jain  <aakash_jain@apple.com>
3348
3349         [ews] Status bubble should be red for CANCELLED builds
3350         https://bugs.webkit.org/show_bug.cgi?id=201204
3351
3352         Reviewed by Jonathan Bedard.
3353
3354         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
3355         (StatusBubble._build_bubble):
3356
3357 2019-08-27  Zhifei Fang  <zhifei_fang@apple.com>
3358
3359         [results.webkit.org Webkit.css] Center the legend symbols
3360         https://bugs.webkit.org/show_bug.cgi?id=201187
3361
3362         Reviewed by Jonathan Bedard.
3363
3364         * resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
3365         (.lengend>.item .dot .text): center the dot symbol vertically
3366
3367 2019-08-27  Jonathan Bedard  <jbedard@apple.com>
3368
3369         run-webkit-tests: Use -noBulkSymbolication when calling spindump (Follow-up fix)
3370         https://bugs.webkit.org/show_bug.cgi?id=201000
3371         <rdar://problem/53778938>
3372
3373         Unreviewed follow-up fix.
3374
3375         * Scripts/webkitpy/port/darwin.py:
3376         (DarwinPort.sample_process): Run spindump without -noBulkSymbolication if previous
3377         spindump call failed.
3378         * Scripts/webkitpy/port/darwin_testcase.py:
3379         * Scripts/webkitpy/port/ios_device_unittest.py:
3380
3381 2019-08-27  Aakash Jain  <aakash_jain@apple.com>
3382
3383         [ews-build] Use update-webkit script in Apply-WatchList EWS
3384         https://bugs.webkit.org/show_bug.cgi?id=201179
3385
3386         Reviewed by Jonathan Bedard.
3387
3388         * BuildSlaveSupport/ews-build/factories.py:
3389         (WatchListFactory): Updated to use CheckOutSource step as well.
3390
3391 2019-08-27  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3392
3393         W3C test importer should be able to handle expected references with an absolute path.
3394         https://bugs.webkit.org/show_bug.cgi?id=200717
3395
3396         Reviewed by Youenn Fablet.
3397
3398         This patch implements the logic to resolve test references with absolute paths
3399         when importing w3c tests (like web-platform-tests).
3400         When an absolute path is found for a test reference, the parser now
3401         tries to find the right file by looking for a relative path inside
3402         the root directory of the source test repository.
3403         It works when the tool is run in download-mode as well as when the
3404         tool is run to import the tests from a local directory.
3405
3406         This fixes the import of test references for tests like
3407         web-platform-tests/css/css-images/multiple-position-color-stop-linear-2.html
3408
3409         * Scripts/webkitpy/w3c/test_importer.py:
3410         (TestImporter._source_root_directory_for_path):
3411         (TestImporter.find_importable_tests):
3412         * Scripts/webkitpy/w3c/test_importer_unittest.py:
3413         (TestImporterTest.import_directory):
3414         (test_webkit_test_runner_options):
3415         (test_webkit_test_runner_import_reftests_with_absolute_paths_download):
3416         (test_webkit_test_runner_import_reftests_with_absolute_paths_from_source_dir):
3417         * Scripts/webkitpy/w3c/test_parser.py:
3418         (TestParser.__init__):
3419         (TestParser.analyze_test):
3420
3421 2019-08-26  Wenson Hsieh  <wenson_hsieh@apple.com>
3422
3423         Remove UIHelper.activateElementAtHumanSpeed
3424         https://bugs.webkit.org/show_bug.cgi?id=201147
3425
3426         Reviewed by Tim Horton.
3427
3428         Add plumbing for a new script controller hook to wait for the double tap delay to pass. On non-iOS, this
3429         resolves immediately; on iOS, we inspect the content view for tap gestures that require more than one tap, and
3430         find the value of the maximum double tap delay. We then delay for this amount of time before resolving.
3431
3432         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3433         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3434         (WTR::UIScriptController::doAfterDoubleTapDelay):
3435         * WebKitTestRunner/ios/UIScriptControllerIOS.h:
3436         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3437         (WTR::UIScriptControllerIOS::doAfterDoubleTapDelay):
3438
3439 2019-08-26  Zhifei Fang  <zhifei_fang@apple.com>
3440
3441         [results.webkit.org Timline] Add symbols to the timeline dot
3442         https://bugs.webkit.org/show_bug.cgi?id=201105
3443
3444         Reviewed by Jonathan Bedard.
3445
3446         * resultsdbpy/resultsdbpy/view/static/js/timeline.js:
3447         * resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
3448         (Timeline.CanvasSeriesComponent): Modify the drawDot api to provide user ability to add symbol to the dots, it supports unicode symbol
3449         * resultsdbpy/resultsdbpy/view/templates/base.html: Add the encoding UTF-8 for the page, so that we can add unicode symbol to the dots
3450
3451 2019-08-26  Yusuke Suzuki  <ysuzuki@apple.com>
3452
3453         Unreviewed, remove useMaximalFlushInsertionPhase use
3454         https://bugs.webkit.org/show_bug.cgi?id=201036
3455
3456         * Scripts/run-jsc-stress-tests:
3457
3458 2019-08-26  David Kilzer  <ddkilzer@apple.com>
3459
3460         Don't compute upconverted characters twice in buildQuery() in DataDetection.mm
3461         <https://webkit.org/b/201144>
3462         <rdar://problem/54689399>
3463
3464         Reviewed by Brent Fulgham.
3465
3466         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add
3467         DataDetectorsTestIOS.mm to the project.
3468         * TestWebKitAPI/Tests/ios/DataDetectorsTestIOS.mm: Add a new
3469         test for Data Detectors for phone numbers.
3470
3471 2019-08-26  Wenson Hsieh  <wenson_hsieh@apple.com>
3472
3473         REGRESSION (iOS 13): Tests that simulate multiple back-to-back single taps fail or time out
3474         https://bugs.webkit.org/show_bug.cgi?id=201129
3475         <rdar://problem/51857277>
3476
3477         Reviewed by Tim Horton.
3478
3479         The tests in editing/pasteboard/ios were timing out on iOS 13 before this change. This is because they simulate
3480         back-to-back single taps; while this is recognized as two single taps on iOS 12 and prior, only the first single
3481         tap is recognized on iOS 13 (and the second is simply dropped on the floor). This occurs because the synthetic
3482         single tap gesture is reset slightly later on iOS 13 compared to iOS 12, so when the second tap is dispatched,
3483         the gesture recognizer is still in "ended" state after the first tap on iOS 13, which means the gesture isn't
3484         capable of recognizing further touches yet.
3485
3486         In UIKit, a gesture recognizer is only reset once its UIGestureEnvironment's containing dependency subgraph no
3487         longer contains gestures that are active. In iOS 12, the synthetic click gesture is a part of a dependency
3488         subgraph that contains only itself and the normal (blocking) double tap gesture which requires the click to fail
3489         before it can be recognized; immediately after simulating the tap, both these gestures are inactive, which
3490         allows both of them to be reset.
3491
3492         However, in iOS 13, the synthetic click gesture is part of a gesture dependency graph that contains the double
3493         tap for double click gesture, as well as the non-blocking double tap gesture, both of which are still active
3494         immediately after sending the first tap. This change in dependencies is caused by the introduction of
3495         UIUndoGestureInteraction's single and double three-finger tap gestures, which (in -[UIUndoGestureInteraction
3496         gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:]) explicitly add all other taps as failure
3497         requirements. This effectively links the synthetic single tap gesture to most of the other gestures in
3498         WKContentView's dependency graph by way of these tap gestures for the undo interaction.
3499
3500         All this means that there is now a short (~50 ms) delay after the synthetic single tap gestures is recognized,
3501         before it can be recognized again. To account for this new delay in our test infrastructure, simply wait for
3502         single tap gestures that have ended to reset before attempting to send subsequent single taps. We do this by
3503         introducing WebKit testing SPI to invoke a completion handler after resetting the synthetic click gesture (only
3504         if necessary - i.e., if the gesture is in ended state when we are about to begin simulating the tap). This
3505         allows calls to `UIScriptController::singleTapAtPoint` to be reliably recognized as single taps without
3506         requiring arbitrary 120 ms "human speed" delays.
3507
3508         This fixes a number of flaky or failing layout tests, including the tests in editing/pasteboard/ios.
3509
3510         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3511         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3512         (WTR::UIScriptController::doubleTapAtPoint):
3513
3514         Add a `delay` parameter to `doubleTapAtPoint`. A number of layout tests were actually simulating double click
3515         gestures by simulating two back-to-back single taps; this is done for the purposes of being able to add a "human
3516         speed" delay prior to the second single tap gesture. After the change to wait for the single tap gesture to
3517         reset before attempting to simulate the next tap, this strategy no longer works, since the second gesture is
3518         recognized only as a single tap instead of a double tap.
3519
3520         Instead, we add a delay parameter to `UIScriptController::doubleTapAtPoint`, which the "human speed" double tap
3521         gestures use instead to wait after simulating the first tap.
3522
3523         * WebKitTestRunner/ios/HIDEventGenerator.h:
3524         * WebKitTestRunner/ios/HIDEventGenerator.mm:
3525         (-[HIDEventGenerator _waitFor:]):
3526         (-[HIDEventGenerator sendTaps:location:withNumberOfTouches:delay:completionBlock:]):
3527
3528         Plumb the tap gesture delay through to this helper method.
3529
3530         (-[HIDEventGenerator tap:completionBlock:]):
3531         (-[HIDEventGenerator doubleTap:delay:completionBlock:]):
3532         (-[HIDEventGenerator twoFingerTap:completionBlock:]):
3533         (-[HIDEventGenerator sendTaps:location:withNumberOfTouches:completionBlock:]): Deleted.
3534         (-[HIDEventGenerator doubleTap:completionBlock:]): Deleted.
3535         * WebKitTestRunner/ios/UIScriptControllerIOS.h:
3536         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3537         (WTR::UIScriptControllerIOS::waitForSingleTapToReset const):
3538
3539         Add a new helper to wait for the content view's single tap gesture to reset if needed; call this before
3540         attempting to simulate single taps (either using a stylus, or with a regular touch).
3541
3542         (WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
3543         (WTR::UIScriptControllerIOS::doubleTapAtPoint):
3544         (WTR::UIScriptControllerIOS::stylusTapAtPointWithModifiers):
3545
3546 2019-08-26  Jonathan Bedard  <jbedard@apple.com>
3547
3548         results.webkit.org: Allow clicking on the tooltip arrow
3549         https://bugs.webkit.org/show_bug.cgi?id=201103
3550
3551         Rubber-stamped by Aakash Jain.