Timeline
Jun 12, 2018:
- 11:24 PM Changeset in webkit [232788] by
-
- 3 edits in trunk/Source/JavaScriptCore
Remove JSVirtualMachine shrinkFootprint when clients move to shrinkFootprintWhenIdle
https://bugs.webkit.org/show_bug.cgi?id=186071
Reviewed by Mark Lam.
- API/JSVirtualMachine.mm:
(-[JSVirtualMachine shrinkFootprint]): Deleted.
- API/JSVirtualMachinePrivate.h:
- 7:59 PM Changeset in webkit [232787] by
-
- 3 edits2 adds in trunk
Complex text handling should opt out of bounded text layout.
https://bugs.webkit.org/show_bug.cgi?id=186571
<rdar://problem/41060908>
Reviewed by Tim Horton.
Source/WebCore:
Test: fast/text/complex-long-text-crash.html
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
LayoutTests:
- fast/text/complex-long-text-crash-expected.txt: Added.
- fast/text/complex-long-text-crash.html: Added.
- 6:55 PM Changeset in webkit [232786] by
-
- 5 edits in trunk/Tools
webkitpy: Implement coredumpctl support on linux
https://bugs.webkit.org/show_bug.cgi?id=184039
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-06-12
Reviewed by Daniel Bates.
And start using an Executive to run subprocesses
in GDBCrashLogGenerator.
Unit tests adapted to the new API and still passing.
- Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator):
(GDBCrashLogGenerator._get_trace_from_systemd):
(GDBCrashLogGenerator.generate_crash_log):
- 6:09 PM Changeset in webkit [232785] by
-
- 7 edits in branches/safari-606.1.20.40-branch/Source
Versioning.
- 5:37 PM Changeset in webkit [232784] by
-
- 3 edits2 deletes in trunk
Unreviewed, rolling out r232774.
Breaks internal builds.
Reverted changeset:
"Complex text handling should opt out of bounded text layout."
https://bugs.webkit.org/show_bug.cgi?id=186571
https://trac.webkit.org/changeset/232774
- 5:27 PM Changeset in webkit [232783] by
-
- 3 edits10271 adds in trunk/LayoutTests
Import the 2.0.0 version of Khronos WebGL conformance suite
https://bugs.webkit.org/show_bug.cgi?id=181293
<rdar://problem/40654103>
Patch by Justin Fan <Justin Fan> on 2018-06-07
Reviewed by Dean Jackson.
Original description and patch by Zan Dobersek <zdobersek@igalia.com>.
Retrying patch with up-to-date revision of conformance suite:
"Import the 2.0.0 version of the WebGL conformance suite that's
maintained under the Khronos organization on GitHub:
https://github.com/KhronosGroup/WebGL.git
The following revision of this repository has been used for importing:
8ea92581353d18f50d25159489897ae634eb23b1
For importing purposes, the generate-webgl-tests.py script is modified
to import tests at version 2.0.0 or below. 2.0 is now used as the
default version for importing purposes. Additionally, the
GreaterThanOrEqualToVersion function is fixed to correctly compare 2.x
versions against 1.x.
The following generate-webgl-tests.py invocation was used:
$ python generate-webgl-tests.py -e -w ~/WebGL/conformance-suites/2.0.0
The 2.0.0 version of the conformance suite is composed of three parts:
- tests under conformance/ cover WebGL1 functionality,
- tests under conformance2/ cover WebGL2 functionality,
- tests under deqp/ are a port of the dEQP suite.
webkit-webgl-test-harness.js file is added under webgl/2.0.0/resources/
to properly integrate the imported tests with the WebKit testing
facilities.
The complete suite is for now skipped on all platforms. WebGL1 tests
should be passing in majority, with failures in that part of the suite
mirroring the ones experienced in the current 1.0.2 and 1.0.3 suites.
The WebGL2 support is still incomplete, and the conformance2/ pass rate
will reflect that. dEQP in majority utilizes WebGL2, so the pass rate
is similarly poor.
List of imported conformance suite files is omitted for brevity."
- TestExpectations: Skip the WebGL 1 (conformance) and WebGL 2 (conformance2) tests
- webgl/2.0.0/conformance: Added.
- webgl/2.0.0/conformance2: Added.
- webgl/2.0.0/deqp: Added.
- webgl/2.0.0/resources: Added.
- webgl/2.0.0/resources/webkit-webgl-test-harness.js:
(window.layoutTestController.window.console.log):
(window.layoutTestController.window.console.error):
(log):
(window.webglTestHarness.reportResults):
(window.webglTestHarness.notifyFinished):
- webgl/generate-webgl-tests.py:
(GreaterThanOrEqualToVersion):
- webgl/resources/js-test-pre.js:
(window.console.log):
(window.console.error):
(initNonKhronosFramework):
(this.initTestingHarness):
(nonKhronosFrameworkNotifyDone):
(reportTestResultsToHarness):
(notifyFinishedToHarness):
(_logToConsole):
(enableJSTestPreVerboseLogging):
(description):
(_addSpan):
(debug):
(escapeHTML):
(testPassed):
(testFailed):
(areArraysEqual):
(isMinusZero):
(isResultCorrect):
(stringify):
(evalAndLog):
(shouldBe):
(shouldNotBe):
(shouldBeTrue):
(shouldBeFalse):
(shouldBeNaN):
(shouldBeNull):
(shouldBeEqualToString):
(shouldEvaluateTo):
(shouldBeNonZero):
(shouldBeNonNull):
(shouldBeUndefined):
(shouldBeDefined):
(shouldBeGreaterThanOrEqual):
(expectTrue):
(shouldThrow):
(assertMsg):
(gc.gcRec):
(gc):
(finishTest):
- webgl/resources/webgl-test-harness.js:
(log):
(try.request.onreadystatechange):
(loadTextFileAsynchronous):
(getMajorVersion):
(getURLWithOptions):
(greaterThanOrEqualToVersion):
(copyObject):
(toCamelCase):
(getFileListImpl):
(getFileList):
(FilterURL):
(TestFile):
(Test):
(TestHarness):
(TestHarness.prototype.addFiles_):
(TestHarness.prototype.runTests):
(TestHarness.prototype.setTimeout):
(TestHarness.prototype.clearTimeout):
(TestHarness.prototype.startNextTest):
(TestHarness.prototype.startTest):
(TestHarness.prototype.getTest):
(TestHarness.prototype.reportResults):
(TestHarness.prototype.dequeTest):
(TestHarness.prototype.notifyFinished):
(TestHarness.prototype.timeout):
(TestHarness.prototype.setTimeoutDelay):
(WebGLTestHarnessModule):
- 5:08 PM Changeset in webkit [232782] by
-
- 1 copy in tags/Safari-606.1.20.40.1
Tag Safari-606.1.20.40.1.
- 4:30 PM Changeset in webkit [232781] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, rebaseline RSA-PSS tests for High Sierra.
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Add missing whitespace.
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Ditto.
- 3:28 PM Changeset in webkit [232780] by
-
- 2 edits in trunk/LayoutTests
Unreviewed followup for r232736
https://bugs.webkit.org/show_bug.cgi?id=185698
Consider the case when the SVG animation starts before requestAnimationFrame()
is called. Store the value of animItem and compare it later with the value
of animItem after detaching it from the animated animList.
- svg/dom/animated-tearoff-list-remove-target.html:
- 3:10 PM Changeset in webkit [232779] by
-
- 3 edits2 adds in branches/safari-606.1.20.40-branch
Cherry-pick r232774. rdar://problem/40801429
Complex text handling should opt out of bounded text layout.
https://bugs.webkit.org/show_bug.cgi?id=186571
<rdar://problem/40801429>
Reviewed by Tim Horton.
Source/WebCore:
Test: fast/text/complex-long-text-crash.html
- platform/graphics/mac/ComplexTextControllerCoreText.mm: (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
LayoutTests:
- fast/text/complex-long-text-crash-expected.txt: Added.
- fast/text/complex-long-text-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232774 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:50 PM Changeset in webkit [232778] by
-
- 2 edits in trunk/Source/WebCore
iOS WK1: Occasional crash in FrameView::setScrollPosition
https://bugs.webkit.org/show_bug.cgi?id=186575
Reviewed by David Kilzer.
The bug was caused by ScrollView::platformSetScrollPosition releasing the web thread lock
and DumpRenderTree requesting a new page load thereby destroying FrameView.
Fixed the crash by keeping FrameView alive while scrollToFocusedElementTimerFired is getting called.
No new tests since the bug is caught by existing layout tests under guard malloc.
- page/FrameView.cpp:
(WebCore::FrameView::scrollToFocusedElementTimerFired):
- 2:45 PM Changeset in webkit [232777] by
-
- 2 edits in trunk/LayoutTests
Mark inspector/console/webcore-logging.html as flaky on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=186425
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:37 PM Changeset in webkit [232776] by
-
- 2 edits in trunk/LayoutTests
Mark media/video-buffering-allowed.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=186574
Unreviewed test gardening.
- 2:37 PM Changeset in webkit [232775] by
-
- 2 edits in trunk/Tools
test262/Runner.pm: fix one test (can't find jsc)
https://bugs.webkit.org/show_bug.cgi?id=186573
Patch by Valerie R Young <valerie@bocoup.com> on 2018-06-12
Reviewed by Michael Saboff.
- Scripts/webkitperl/test262_unittest/test262-runner-tests.pl:
fix subtest to use mock JSC
- 2:14 PM Changeset in webkit [232774] by
-
- 3 edits2 adds in trunk
Complex text handling should opt out of bounded text layout.
https://bugs.webkit.org/show_bug.cgi?id=186571
<rdar://problem/40801429>
Reviewed by Tim Horton.
Source/WebCore:
Test: fast/text/complex-long-text-crash.html
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
LayoutTests:
- fast/text/complex-long-text-crash-expected.txt: Added.
- fast/text/complex-long-text-crash.html: Added.
- 2:09 PM Changeset in webkit [232773] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix the Windows build after r232757
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren):
- 1:50 PM Changeset in webkit [232772] by
-
- 1 edit4 adds in trunk/LayoutTests
Rebaseline WebCrypto API tests for High Sierra after r232641.
https://bugs.webkit.org/show_bug.cgi?id=186565
Unreviewed test gardening.
Patch by David Fenton <david_fenton@apple.com> on 2018-06-12
- platform/mac-sierra/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Added.
- platform/mac-sierra/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Added.
- 1:15 PM Changeset in webkit [232771] by
-
- 2 edits in trunk/Source/WebKit
Turn CSS Spring Animations and Link Preload off by default for production builds.
https://bugs.webkit.org/show_bug.cgi?id=186548
<rdar://problem/41023774>
Reviewed by Eric Carlson.
- Shared/WebPreferences.yaml: Switch these features from 'on' to
DEFAULT_EXPERIMENTAL_FEATURES_ENABLED.
- 1:07 PM Changeset in webkit [232770] by
-
- 12 edits4 adds2 deletes in trunk
[WebKit on watchOS] Upstream watchOS source additions to OpenSource (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=186442
<rdar://problem/40879364>
Reviewed by Tim Horton.
Source/WebKit:
Upstream most of the work around form controls on watchOS. Also, rename WKFormControlListViewController.* to
its intended name, WKQuickboardListViewController.*.
- UIProcess/ios/WKContentViewInteraction.mm:
- UIProcess/ios/forms/WKDatePickerViewController.h:
- UIProcess/ios/forms/WKDatePickerViewController.mm:
(datePickerSetButtonHeight):
(datePickerVerticalMargin):
(-[WKDatePickerWheelLabel initWithFrame:]):
(-[WKDatePickerWheelLabel lastSelectedDate]):
(-[WKDatePickerWheelLabel setLastSelectedDate:]):
(-[WKDatePickerWheelLabel needsUpdateForIndex:selectedDate:]):
(-[WKDatePickerWheel initWithStyle:]):
(-[WKDatePickerWheel initWithController:style:]):
(-[WKDatePickerWheel gestureRecognized:]):
(-[WKDatePickerWheel setDrawsFocusOutline:]):
(-[WKDatePickerWheel drawsFocusOutline]):
(-[WKDatePickerWheel gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKDatePickerViewController initWithDelegate:]):
(-[WKDatePickerViewController viewDidLoad]):
(-[WKDatePickerViewController prefersStatusBarHidden]):
(-[WKDatePickerViewController viewWillAppear:]):
(-[WKDatePickerViewController viewDidAppear:]):
(-[WKDatePickerViewController viewDidDisappear:]):
(-[WKDatePickerViewController _handleStatusBarNavigation]):
(-[WKDatePickerViewController viewWillLayoutSubviews]):
(-[WKDatePickerViewController becomeFirstResponder]):
(-[WKDatePickerViewController defaultMinimumDate]):
(-[WKDatePickerViewController defaultMaximumDate]):
(-[WKDatePickerViewController _valueForInput]):
(-[WKDatePickerViewController _dateFromInitialText]):
(-[WKDatePickerViewController _setButtonPressed]):
(-[WKDatePickerViewController _updateSelectedPickerViewIndices]):
(-[WKDatePickerViewController _configurePickerView:]):
(-[WKDatePickerViewController setMinimumDate:]):
(-[WKDatePickerViewController minimumDate]):
(-[WKDatePickerViewController setMaximumDate:]):
(-[WKDatePickerViewController maximumDate]):
(-[WKDatePickerViewController setDate:]):
(-[WKDatePickerViewController setDateFromComponents:]):
(-[WKDatePickerViewController setDay:month:year:era:]):
(-[WKDatePickerViewController date]):
(-[WKDatePickerViewController _dateComponentForDay:month:year:era:]):
(-[WKDatePickerViewController _adjustDateToValidDateIfNecessary]):
(-[WKDatePickerViewController _createAndConfigureGranularityLabelWithText:]):
(-[WKDatePickerViewController _canonicalizeAndUpdateSelectedDate]):
(-[WKDatePickerViewController numberOfItemsInPickerView:]):
(-[WKDatePickerViewController pickerView:viewForItemAtIndex:]):
(-[WKDatePickerViewController didBeginInteractingWithDatePicker:]):
(-[WKDatePickerViewController pickerView:didSelectItemAtIndex:]):
(-[WKDatePickerViewController pickerViewWillBeginSelection:]):
(-[WKDatePickerViewController pickerViewDidEndSelection:]):
(-[WKDatePickerViewController _dayFromIndex:]):
(-[WKDatePickerViewController _eraAndYearFromIndex:]):
(-[WKDatePickerViewController _monthFromIndex:]):
(-[WKDatePickerViewController _indexFromDay:]):
(-[WKDatePickerViewController _indexFromYear:era:]):
(-[WKDatePickerViewController _indexFromMonth:]):
- UIProcess/ios/forms/WKFormControlListViewController.h: Removed.
- UIProcess/ios/forms/WKFormControlListViewController.mm: Removed.
- UIProcess/ios/forms/WKNumberPadViewController.h:
- UIProcess/ios/forms/WKNumberPadViewController.mm:
(inputLabelFontSize):
(-[WKNumberPadViewController initWithDelegate:initialText:inputMode:]):
(-[WKNumberPadViewController dealloc]):
(-[WKNumberPadViewController viewDidLoad]):
(-[WKNumberPadViewController viewWillDisappear:]):
(-[WKNumberPadViewController viewWillLayoutSubviews]):
(-[WKNumberPadViewController _reloadHeaderViewFromInputText]):
(-[WKNumberPadViewController didSelectKey:]):
(-[WKNumberPadViewController _handleKeyPress:]):
(-[WKNumberPadViewController _cancelInput]):
(-[WKNumberPadViewController _deleteLastInputCharacter]):
(-[WKNumberPadViewController _deleteButtonPressed]):
(-[WKNumberPadViewController _cancelDeletionTimers]):
(-[WKNumberPadViewController _startDeletionTimer]):
(-[WKNumberPadViewController _deletionTimerFired]):
(-[WKNumberPadViewController addContentViewAnimations:]):
- UIProcess/ios/forms/WKQuickboardListViewController.h: Added.
- UIProcess/ios/forms/WKQuickboardListViewController.mm: Added.
(-[WKQuickboardListItemCell topToLabelBaselineSpecValue]):
(-[WKQuickboardListItemCell baselineToBottomSpecValue]):
(-[WKQuickboardListViewController initWithDelegate:]):
(-[WKQuickboardListViewController updateContextViewIfNeeded]):
(-[WKQuickboardListViewController prefersStatusBarHidden]):
(-[WKQuickboardListViewController viewDidLoad]):
(-[WKQuickboardListViewController viewWillAppear:]):
(-[WKQuickboardListViewController viewDidDisappear:]):
(-[WKQuickboardListViewController _handleStatusBarNavigation]):
(-[WKQuickboardListViewController reloadContextView]):
(-[WKQuickboardListViewController actionController]):
(-[WKQuickboardListViewController languageControllerDidChangePrimaryLanguage:]):
(-[WKQuickboardListViewController headerContentViewHeight]):
(-[WKQuickboardListViewController headerContentView]):
(configureStatusBarForController):
- UIProcess/ios/forms/WKSelectMenuListViewController.h:
- UIProcess/ios/forms/WKSelectMenuListViewController.mm:
(-[WKSelectMenuItemCell initWithStyle:reuseIdentifier:]):
(-[WKSelectMenuItemCell imageView]):
(-[WKSelectMenuListViewController initWithDelegate:]):
(-[WKSelectMenuListViewController viewDidLoad]):
(-[WKSelectMenuListViewController acceptButtonTappedWithCompletion:]):
(-[WKSelectMenuListViewController shouldShowTrayView]):
(-[WKSelectMenuListViewController didSelectListItem:]):
(-[WKSelectMenuListViewController numberOfListItems]):
(-[WKSelectMenuListViewController heightForListItem:width:]):
(-[WKSelectMenuListViewController cellForListItem:]):
(-[WKSelectMenuListViewController selectItemAtIndex:]):
- UIProcess/ios/forms/WKTimePickerViewController.h:
- UIProcess/ios/forms/WKTimePickerViewController.mm:
(-[WKTimePickerViewController initWithDelegate:]):
(-[WKTimePickerViewController dateFormatter]):
(-[WKTimePickerViewController timeValueForFormControls]):
(-[WKTimePickerViewController dateComponentsFromInitialValue]):
(-[WKTimePickerViewController viewDidAppear:]):
(-[WKTimePickerViewController viewDidLoad]):
(-[WKTimePickerViewController becomeFirstResponder]):
(-[WKTimePickerViewController setHour:minute:]):
(-[WKTimePickerViewController leftButtonWOTAction]):
(-[WKTimePickerViewController rightButtonWOTAction]):
- WebKit.xcodeproj/project.pbxproj:
LayoutTests:
Upstream a couple of internal test expectations on watchOS.
- fast/viewport/extrazoom/viewport-adaptations-after-navigation-expected.txt: Added.
- fast/viewport/extrazoom/viewport-disable-extra-zoom-adaptations-expected.txt: Added.
- 12:28 PM Changeset in webkit [232769] by
-
- 4 edits in branches/safari-606.1.20.40-branch
Cherry-pick r232580. rdar://problem/38881568
Don't start service worker fetch when there is substitute data
https://bugs.webkit.org/show_bug.cgi?id=186349
<rdar://problem/38881568>
Reviewed by Youenn Fablet.
Loading content via WKWebView.loadData may also end up starting a main resource service worker fetch.
This breaks DocumentWriter assumptions.
- loader/DocumentLoader.cpp: (WebCore::DocumentLoader::tryLoadingRequestFromApplicationCache): (WebCore::DocumentLoader::tryLoadingSubstituteData):
Factor substitute resource loading out from tryLoadingRequestFromApplicationCache.
(WebCore::DocumentLoader::startLoadingMainResource):
If we have substitute data already (typically from WKWebView.loadData), allow service worker registration
but load the main resource using the substitute data.
(WebCore::DocumentLoader::handleSubstituteDataLoadSoon): Deleted.
Merge to tryLoadingSubstituteData.
- loader/DocumentLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:28 PM Changeset in webkit [232768] by
-
- 2 edits in trunk/Source/WebKit
Make Modern EME An Experimental Feature Again
https://bugs.webkit.org/show_bug.cgi?id=186569
<rdar://problem/41054402>
Reviewed by Eric Carlson.
- Shared/WebPreferences.yaml:
- 11:54 AM Changeset in webkit [232767] by
-
- 2 edits in trunk/Source/WebKit
[watchOS] Enable NetworkActivityTracker
https://bugs.webkit.org/show_bug.cgi?id=186568
<rdar://problem/41050624>
Reviewed by Tim Horton.
- NetworkProcess/NetworkActivityTracker.h:
- 11:53 AM Changeset in webkit [232766] by
-
- 2 edits in trunk/Tools
Add a API test for r232601
https://bugs.webkit.org/show_bug.cgi?id=186417
Reviewed by Wenson Hsieh.
- TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
(immediateSubviewOfClass):
(TEST):
Ensure that we put the view hierarchy back together (move WKContentView
out of the animated resize view) and unhide WKContentView after a
resize-with-hidden-content.
- 11:40 AM Changeset in webkit [232765] by
-
- 7 edits in branches/safari-606.1.20.40-branch/Source
Versioning.
- 11:38 AM Changeset in webkit [232764] by
-
- 7 edits in branches/safari-606.1.20.30-branch/Source
Versioning.
- 11:35 AM Changeset in webkit [232763] by
-
- 7 edits in branches/safari-606.1.20.20-branch/Source
Versioning.
- 11:06 AM Changeset in webkit [232762] by
-
- 1 copy in branches/safari-606.1.20.40-branch
New branch.
- 11:06 AM Changeset in webkit [232761] by
-
- 1 copy in branches/safari-606.1.20.30-branch
New branch.
- 11:06 AM Changeset in webkit [232760] by
-
- 1 copy in branches/safari-606.1.20.20-branch
New branch.
- 10:53 AM Changeset in webkit [232759] by
-
- 9 edits in trunk/Source/WebKit
Add performance logging for slow cache retrieves
https://bugs.webkit.org/show_bug.cgi?id=186520
<rdar://problem/41002070>
Reviewed by Chris Dumez.
We sometimes see slow cache retrieves in logs. Add some more logging to better analyze these cases.
This patch adds timings to all cache storage retrieve operations and passes them up to the client.
We then log the timings on NetworkResourceLoader levels if needed. Items logged include
- total retrieve time
- dispatch delay and number of resources dispatched before this one
- record I/O time
- blob I/O time
- whether cache shrink was in progress
- whether cache synchronization was in progress
- cancellation
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::logSlowCacheRetrieveIfNeeded):
Log if the retrieve took more than 1s.
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::readRecord):
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::retrieve):
(WebKit::NetworkCache::Cache::completeRetrieve):
(WebKit::NetworkCache::Cache::retrieveData):
- NetworkProcess/cache/NetworkCache.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry):
SpeculativeLoadManager does not records specific timings yet but at least we do log when they occur.
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::ReadOperation::cancel):
(WebKit::NetworkCache::Storage::ReadOperation::finish):
Record timing info in ReadOperations.
(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::retrieveFromMemory):
(WebKit::NetworkCache::Storage::retrieve):
- NetworkProcess/cache/NetworkCacheStorage.h:
- 10:31 AM Changeset in webkit [232758] by
-
- 4 edits in branches/safari-606.1.20-branch
Cherry-pick r232580. rdar://problem/38881568
Don't start service worker fetch when there is substitute data
https://bugs.webkit.org/show_bug.cgi?id=186349
<rdar://problem/38881568>
Reviewed by Youenn Fablet.
Loading content via WKWebView.loadData may also end up starting a main resource service worker fetch.
This breaks DocumentWriter assumptions.
- loader/DocumentLoader.cpp: (WebCore::DocumentLoader::tryLoadingRequestFromApplicationCache): (WebCore::DocumentLoader::tryLoadingSubstituteData):
Factor substitute resource loading out from tryLoadingRequestFromApplicationCache.
(WebCore::DocumentLoader::startLoadingMainResource):
If we have substitute data already (typically from WKWebView.loadData), allow service worker registration
but load the main resource using the substitute data.
(WebCore::DocumentLoader::handleSubstituteDataLoadSoon): Deleted.
Merge to tryLoadingSubstituteData.
- loader/DocumentLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:25 AM Changeset in webkit [232757] by
-
- 3 edits2 adds in trunk
REGRESSION(r228724): Occasional crash when executing ReplaceSelectionCommand at the end of the document
https://bugs.webkit.org/show_bug.cgi?id=186555
<rdar://problem/39703004>
Reviewed by Ryosuke Niwa.
Source/WebCore:
r228724 removed a null check for m_lastNodeInserted in InsertedNodes::pastLastLeaf(). This null check was
guarding against the case where m_firstNodeInserted might exist, but m_lastNodeInserted is null, which may
happen when inserting content at the end of the document, since InsertedNodes::willRemoveNodePreservingChildren
may cause m_lastNodeInserted to be null. This is because the removed node may be at the very end of the document
_and also_ not have any children, which means that bothnode->lastChild()
as well as
NodeTraversal::nextSkippingChildren(*node)
will be null.
After getting into this state, we subsequently crash when attempting to compute InsertedNodes::pastLastLeaf().
To fix this, avoid accidentally clearing out m_lastNodeInserted; if the last inserted node has neither a child
nor a next node, seek backwards to the previous node in the DOM instead, and clamp to the first inserted node,
such that the last inserted node's document position is at or after the first inserted node's position.
Test: editing/execCommand/insert-apple-style-span-at-document-end.html
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren):
LayoutTests:
Add a new layout test demonstrating the crash. The test passes if the right text is inserted into the DOM, and
we don't hit a crash.
- editing/execCommand/insert-apple-style-span-at-document-end-expected.txt: Added.
- editing/execCommand/insert-apple-style-span-at-document-end.html: Added.
- 10:22 AM Changeset in webkit [232756] by
-
- 1 edit16 adds in trunk/Tools
test262/Runner.pm: add unit tests
https://bugs.webkit.org/show_bug.cgi?id=185783
Patch by Valerie R Young <valerie@bocoup.com> on 2018-06-12
Reviewed by Michael Saboff.
- Scripts/webkitperl/test262_unittest/README: Added.
- Scripts/webkitperl/test262_unittest/fixtures/expectations-compare.yaml: Added.
- Scripts/webkitperl/test262_unittest/fixtures/expectations.yaml: Added.
- Scripts/webkitperl/test262_unittest/fixtures/mock-jsc-fail-new-error.pl: Added.
- Scripts/webkitperl/test262_unittest/fixtures/mock-jsc-fail.pl: Added.
- Scripts/webkitperl/test262_unittest/fixtures/mock-jsc-pass.pl: Added.
- Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-failing-with-new-error.js: Added.
- Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-failing.js: Added.
- Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-passing.js: Added.
(f):
- Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-pass-now-failing.js: Added.
- Scripts/webkitperl/test262_unittest/fixtures/test/fail.js: Added.
- Scripts/webkitperl/test262_unittest/fixtures/test/pass.js: Added.
(f):
- Scripts/webkitperl/test262_unittest/test262-runner-tests.pl: Added.
- 10:16 AM Changeset in webkit [232755] by
-
- 2 edits in trunk/Tools
test262/Runner.pm: minor updates
https://bugs.webkit.org/show_bug.cgi?id=186399
- If harness files cannot be found in a CLI supplied
test262 path, then default to webkit's test262 harness files.
- Lazily create the test262-results directory (only right before
writing to it)
- If an expectation file is supplied via the CLI, save to the
supplied location instead of the default webkit location
(JSTest/test262/expectation.yaml).
Patch by Valerie R Young <valerie@bocoup.com> on 2018-06-12
Reviewed by Michael Saboff.
- Scripts/test262/Runner.pm:
(processCLI):
(main):
(compileTest):
(processResult):
(getHarness):
(summarizeResults):
- 8:28 AM Changeset in webkit [232754] by
-
- 6 edits in trunk
Hash deviceId and groupId of MediaTrackCapabilities.
https://bugs.webkit.org/show_bug.cgi?id=186471
Patch by Jianjun Zhu <jianjun.zhu@intel.com> on 2018-06-12
Reviewed by Eric Carlson.
This change makes the identifier for the source of the MediaStreamTrack
has the same value returned by enumerateDevices(). It also prevents real
device ID being leaked.
Source/WebCore:
(WebCore::MediaStreamTrack::getCapabilities const):
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/MediaStreamTrack.idl:
LayoutTests:
- fast/mediastream/MediaStreamTrack-getCapabilities.html:
- 8:20 AM Changeset in webkit [232753] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed WPE build fix after r232749.
- platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
- 7:42 AM Changeset in webkit [232752] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Add vertical margin computation for inflow non-replaced box and for the (10.6.6) complicated cases.
https://bugs.webkit.org/show_bug.cgi?id=186469
Reviewed by Antti Koivisto.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
- 7:23 AM Changeset in webkit [232751] by
-
- 2 edits in trunk/LayoutTests
A few layout tests are failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=186562
Unreviewed test gardening.
- platform/win/TestExpectations:
- 5:09 AM Changeset in webkit [232750] by
-
- 2 edits in trunk/JSTests
Update test262 for Array#sort
https://bugs.webkit.org/show_bug.cgi?id=186458
- test262/expectations.yaml:
- 5:07 AM Changeset in webkit [232749] by
-
- 6 edits1 delete in trunk
[GStreamer] Bump required version to 1.8.3
https://bugs.webkit.org/show_bug.cgi?id=186558
Reviewed by Xabier Rodriguez-Calvar.
.:
- Source/cmake/GStreamerChecks.cmake: Bump to 1.8.3 which is the
version shipped in the current Ubuntu LTS we support (16.04).
Source/WebCore:
- platform/GStreamer.cmake: Remove useless file.
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcChangeState): Remove useless version check.
- platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp:
Removed. createDecryptor() is dead code since the decryptors moved
to the MSE playback pipeline.
- platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
(WebCore::GStreamerEMEUtilities::keySystemToUuid):
- 4:40 AM Changeset in webkit [232748] by
-
- 8 edits1 add in trunk/Tools
[JSCOnly] Add a MIPS32el JSCOnly EWS
https://bugs.webkit.org/show_bug.cgi?id=186523
Reviewed by Michael Catanzaro.
Add a new jsc-mips-ews queue that will execute build-jsc for the jsc-only (Linux) port.
The worker(s) on this queue should be pre-configured to cross-build JSC for MIPS32el.
- QueueStatusServer/config/queues.py:
- QueueStatusServer/model/queues.py:
(Queue.display_name):
- Scripts/webkitpy/common/config/ews.json:
- Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.port):
(WpePort.run_webkit_tests_command):
(JscOnlyPort):
(JscOnlyPort.build_jsc_command):
- Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest.test_wincairo_port):
(DeprecatedPortTest):
(DeprecatedPortTest.test_jsconly_port):
- Scripts/webkitpy/port/factory.py:
(PortFactory):
- Scripts/webkitpy/port/jsc_only.py: Added. Add a basic port definition. Required by the EWS tooling.
(JscOnlyPort):
(JscOnlyPort.init):
- Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(test_ews_name):
- 2:43 AM Changeset in webkit [232747] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] flush video sample upon DRAIN query
https://bugs.webkit.org/show_bug.cgi?id=186481
Patch by Philippe Normand <philn@igalia.com> on 2018-06-11
Reviewed by Xabier Rodriguez-Calvar.
Use the appsink sink pad pad probe for both event and drain query
management. This patch is partially based on
https://github.com/WebPlatformForEmbedded/WPEWebKit/commit/d3a336523d123119fe1dd53da5d9006c92cf078c
by Enrique Ocaña González <eocanha@igalia.com>.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamerBase::createGLAppSink):
- 12:55 AM Changeset in webkit [232746] by
-
- 7 edits7 adds in trunk
Add run-web-platform-tests script
https://bugs.webkit.org/show_bug.cgi?id=183356
Reviewed by Carlos Alberto Lopez Perez.
.:
Store port-specific test expectations and test manifest files for the
web-platform-tests test runs under the top-level WebPlatformTests
directory.
TestExpectations.json file lists all the failing or disabled tests
or subtests that are to be expected in the test run. This information is
parsed in the run-web-platform-tests script and used to build
test-specific metadata files (ending with .ini) inside a temporary
directory that is then used during the test run. JSON format is used to
follow the WebDriver test suite in how it manages expectations, and to
avoid having to manually manage .ini files for every deviant test case.
TestManifest.ini file is used to fine-tune which tests are to be enabled
by default. For the GTK+ port, we currently disable all tests by default
but then specifically enable tests under the 2dcontext and WebCryptoAPI
directories. This will allow for gradual enabling of further tests.
- WebPlatformTests/gtk/TestExpectations.json: Added.
- WebPlatformTests/gtk/TestManifest.ini: Added.
Tools:
Add the run-web-platform-tests script that allows running WebKit builds
against the external web-platform-tests project.
The script sets up all the port-specific information, including the
display driver. If no web-platform-tests repository location is
specified, the TestDownloader utility is used to clone the repository,
and path to that clone is leveraged instead.
Port-specific TestManifest.ini and TestExpectations.json file paths are
then constructed, bailing if any of the files is missing. The JSON file
is then used to construct the metadata file tree, creating an .ini file
for each test that is disabled, has a certain expectation, or has
subtests that themselves have certain expectations. This metadata tree
is built under the build directory, and is purged and reconstructed for
each separate run.
Lastly, the WPT python module is imported from the web-platform-tests
source location, and wpt.main() is invoked along with all the necessary
arguments that set up a web-platform-tests suite run using the WebKit
product.
- Scripts/run-web-platform-tests: Added.
- Scripts/webkitpy/common/config/ports_mock.py:
(MockPort.run_bindings_tests_command):
(MockPort):
(MockPort.wpt_metadata_directory):
(MockPort.wpt_manifest_file):
- Scripts/webkitpy/port/base.py:
(Port.wpt_metadata_directory):
(Port):
(Port.wpt_manifest_file):
- Scripts/webkitpy/w3c/common.py:
(is_file_exportable):
(WPTPaths):
(WPTPaths.checkout_directory):
(WPTPaths.wpt_checkout_path):
- Scripts/webkitpy/w3c/test_downloader.py:
(TestDownloader.clone_tests):
(TestDownloader):
(TestDownloader.download_tests):
- Scripts/webkitpy/w3c/test_exporter.py:
(WebPlatformTestExporter.init):
- Scripts/webkitpy/w3c/wpt_runner.py: Added.
(main):
(parse_args):
(create_webdriver):
(spawn_wpt):
(WPTRunner):
(WPTRunner.init):
(WPTRunner._prepare_wpt_checkout):
(WPTRunner._generate_metadata_directory):
(WPTRunner.run):
- Scripts/webkitpy/w3c/wpt_runner_unittest.py: Added.
(WPTRunnerTest):
(WPTRunnerTest.MockTestDownloader):
(WPTRunnerTest.MockTestDownloader.default_options):
(WPTRunnerTest.MockTestDownloader.init):
(WPTRunnerTest.MockTestDownloader.clone_tests):
(WPTRunnerTest.MockWebDriver):
(WPTRunnerTest.MockWebDriver.create):
(WPTRunnerTest.MockWebDriver.binary_path):
(WPTRunnerTest.MockWebDriver.browser_path):
(WPTRunnerTest.MockWebDriver.browser_args):
(WPTRunnerTest.MockSpawnWPT):
(WPTRunnerTest.MockSpawnWPT.init):
(WPTRunnerTest.MockSpawnWPT.call):
(WPTRunnerTest.TestInstance):
(WPTRunnerTest.TestInstance.init):
(WPTRunnerTest.TestInstance.prepare_mock_files_for_run):
(WPTRunnerTest.test_prepare_wpt_checkout):
(WPTRunnerTest.test_prepare_wpt_checkout_specified_path):
(WPTRunnerTest.test_generate_metadata_directory):
(WPTRunnerTest.test_run):
(WPTRunnerTest.test_run_with_specified_options):
(WPTRunnerTest.test_run_with_args):
- 12:00 AM Changeset in webkit [232745] by
-
- 1 copy in releases/WebKitGTK/webkit-2.21.4
WebKitGTK+ 2.21.4
Jun 11, 2018:
- 11:58 PM Changeset in webkit [232744] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.21.4 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.21.4.
- 10:40 PM Changeset in webkit [232743] by
-
- 4 edits in trunk/Source/WebCore
[LFC] Replace HorizontalGeometry::width and margin with WidthAndMargin (Vertical too)
https://bugs.webkit.org/show_bug.cgi?id=186556
Reviewed by Sam Weinig.
HorizontalGeometry::width and margin -> WidthAndMargin
VerticalGeometry::height and margin -> HeightAndMargin
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedHorizontalMarginValue):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedVerticalMarginValue):
- 10:05 PM Changeset in webkit [232742] by
-
- 4 edits in trunk/Source/JavaScriptCore
Reduce graph size by replacing terminal nodes in blocks that have a ForceOSRExit with Unreachable
https://bugs.webkit.org/show_bug.cgi?id=181409
<rdar://problem/36383749>
Reviewed by Keith Miller.
This patch is me redoing r226655. This is a patch I wrote when
profiling Speedometer. Fil rolled this change out in r230928. He
showed this slowed down a sunspider tests by ~2x. This sunspider
regression revealed a real performance bug in the original change:
we would kill blocks that reached OSR entry targets, sometimes leading
us to not do OSR entry into the DFG, since we could end up deleting
entire loops from the CFG. The reason for this is that code that has run
~once and that reaches loops often has ForceOSRExits inside of it. The
solution to this is to not perform this optimization on blocks that can
reach OSR entry targets.
The reason I'm redoing this patch is that it turns out Fil rolling
out the change was a Speedometer 2 regression.
This is a modified version of the original ChangeLog I wrote in r226655:
When I was looking at profiler data for Speedometer, I noticed that one of
the hottest functions in Speedometer is around 1100 bytecode operations long.
Only about 100 of those bytecode ops ever execute. However, we ended up
spending a lot of time compiling basic blocks that never executed. We often
plant ForceOSRExit nodes when we parse bytecodes that have a null value profile.
This is the case when such a node never executes.
This patch makes it so that anytime a block has a ForceOSRExit, and that block
can not reach an OSR entry target, we replace its terminal node with an Unreachable
node, and remove all nodes after the ForceOSRExit. This cuts down the graph
size since it removes control flow edges from the CFG. This allows us to get
rid of huge chunks of the CFG in certain programs. When doing this transformation,
we also insert Flushes/PhantomLocals to ensure we can recover values that are bytecode
live-in to the ForceOSRExit.
Using ForceOSRExit as the signal for this is a bit of a hack. It definitely
does not get rid of all the CFG that it could. If we decide it's worth
it, we could use additional inputs into this mechanism. For example, we could
profile if a basic block ever executes inside the LLInt/Baseline, and
remove parts of the CFG based on that.
When running Speedometer with the concurrent JIT turned off, this patch
improves DFG/FTL compile times by around 5%.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addToGraph):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::parse):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::blocksInPostOrder):
- 10:05 PM Changeset in webkit [232741] by
-
- 8 edits in trunk/Source
The NaturalLoops algorithm only works when the list of blocks in a loop is de-duplicated
https://bugs.webkit.org/show_bug.cgi?id=184829
Reviewed by Michael Saboff.
Source/JavaScriptCore:
This patch codifies that a BasicBlock's list of predecessors is de-duplicated.
In B3/Air, this just meant writing a validation rule. In DFG, this meant
ensuring this property when building up the predecessors list, and also adding
a validation rule. The NaturalLoops algorithm relies on this property.
- b3/B3Validate.cpp:
- b3/air/AirValidate.cpp:
- b3/testb3.cpp:
(JSC::B3::testLoopWithMultipleHeaderEdges):
(JSC::B3::run):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::handleSuccessor):
- dfg/DFGValidate.cpp:
Source/WTF:
This patch switches NaturalLoops to walking over a block's predecessors
instead of successors when building the initial list of loops and their
headers. The algorithm broke down when we had a footer block with multiple
control flow edges pointing to the same header. This made the loop data
structure contain multiple entries for the same basic block. The algorithm
breaks down when we end up in this state, since it means our way of detecting
what loop is more inner is broken, since that check uses a loop's size.
- wtf/NaturalLoops.h:
(WTF::NaturalLoop::addBlock):
(WTF::NaturalLoops::NaturalLoops):
- 8:27 PM Changeset in webkit [232740] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Extend test group rule to support 'userInitiated' field.
https://bugs.webkit.org/show_bug.cgi?id=186544
Reviewed by Ryosuke Niwa.
Added support for rule specifying whether or not test group is user initiated.
- tools/js/analysis-results-notifier.js: Rule now support 'userInitiated' field.
(AnalysisResultsNotifier.prototype.async.sendNotificationsForTestGroups):
(AnalysisResultsNotifier.prototype._applyRules):
(AnalysisResultsNotifier._matchesRule):
- unit-tests/analysis-results-notifier-tests.js: Added unit tests for this change.
- 7:37 PM Changeset in webkit [232739] by
-
- 23 edits in trunk
Improve error messages in case FetchEvent.respondWith has a rejected promise
https://bugs.webkit.org/show_bug.cgi?id=186368
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/service-worker/fetch-event-network-error.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-event-redirect.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-event-respond-with-argument.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-frame-resource.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-mixed-content-to-inscope.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-mixed-content-to-outscope.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-request-css-images.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt:
- web-platform-tests/service-workers/service-worker/invalid-header.https-expected.txt:
- web-platform-tests/service-workers/service-worker/update-recovery.https-expected.txt:
Source/WebCore:
Covered by rebased tests.
Introduce a new error domain for service worker ResourceError.
Used this domain to log in the console any such error.
Update FetchEvent implementation to get meaningful error messages for respondWith error cases.
In particular, convert the rejected promise JS value as a string to populate the error message.
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didFail):
- platform/network/ResourceErrorBase.cpp:
- platform/network/ResourceErrorBase.h:
- testing/ServiceWorkerInternals.cpp:
(WebCore::ServiceWorkerInternals::waitForFetchEventToFinish):
- workers/service/FetchEvent.cpp:
(WebCore::FetchEvent::~FetchEvent):
(WebCore::FetchEvent::createResponseError):
(WebCore::FetchEvent::onResponse):
(WebCore::FetchEvent::respondWithError):
(WebCore::FetchEvent::processResponse):
(WebCore::FetchEvent::promiseIsSettled):
- workers/service/FetchEvent.h:
- workers/service/context/ServiceWorkerFetch.cpp:
(WebCore::ServiceWorkerFetch::processResponse):
(WebCore::ServiceWorkerFetch::dispatchFetchEvent):
Source/WebKit:
Log in JS console in case of failures.
Rely on ThreadableLoader to log which client actually failed.
- WebProcess/Storage/ServiceWorkerClientFetch.cpp:
(WebKit::ServiceWorkerClientFetch::didFail):
LayoutTests:
- TestExpectations:
- http/tests/workers/service/basic-fetch.https-expected.txt:
- 6:46 PM Changeset in webkit [232738] by
-
- 5 edits in trunk/Source/JavaScriptCore
Loading cnn.com in MiniBrowser hits Structure::dump() under DFG::AdaptiveInferredPropertyValueWatchpoint::handleFire which churns 65KB of memory
https://bugs.webkit.org/show_bug.cgi?id=186467
Reviewed by Simon Fraser.
This patch adds a LazyFireDetail that wraps ScopedLambda so that
we don't actually malloc any strings for firing unless those
Strings are actually going to be printed.
- bytecode/Watchpoint.h:
(JSC::LazyFireDetail::LazyFireDetail):
- dfg/DFGAdaptiveInferredPropertyValueWatchpoint.cpp:
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::handleFire):
- dfg/DFGAdaptiveStructureWatchpoint.cpp:
(JSC::DFG::AdaptiveStructureWatchpoint::fireInternal):
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototypeAdaptiveInferredPropertyWatchpoint::handleFire):
- 6:27 PM Changeset in webkit [232737] by
-
- 11 edits2 adds in trunk
http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html times out with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=186546
Reviewed by Brady Eidson.
Source/WebCore:
Add a hasOpenedFrames flag to NavigationAction, which we'll use in the UIProcess when deciding
to process swap on navigation or not.
Test: http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
- loader/NavigationAction.h:
(WebCore::NavigationAction::hasOpenedFrames const):
(WebCore::NavigationAction::setHasOpenedFrames):
Source/WebKit:
Disable process swap on navigation in frames that have opened other frames via
window.open(). These new windows may have a WindowProxy to their opener, and it
would therefore be unsafe to process swap at this point.
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode const):
(WebKit::NavigationActionData::decode):
- Shared/NavigationActionData.h:
- UIProcess/API/APINavigation.h:
(API::Navigation::setHasOpenedFrames):
(API::Navigation::hasOpenedFrames const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
LayoutTests:
Add layout test coverage.
- http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson-expected.txt: Added.
- http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: Added.
- 5:11 PM Changeset in webkit [232736] by
-
- 2 edits in trunk/LayoutTests
Layout Test svg/dom/animated-tearoff-list-remove-target.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=185698
<rdar://problem/40341200>
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-06-11
Reviewed by Daniel Bates.
The test is flaky because we get the animVal.getItem(0) of the 'x' attribute
from the target element without initializing this attribute with a base value.
The test assumes the animator would set the animVal of the 'x' attribute
from the 'from' attribute of the <animate> element before animVal.getItem(0)
is executed. But this may not always happen. Therefore the test will get
the 'IndexSizeError' exception and it will time out.
The fix is:
-- Initialize the attribute of the target element by a base value.
-- Use requestAnimationFrame() instead of using setTimeout() to make the
test deterministic.
-- Allow the animation to advance one more step after kicking off the GC
to ensure the variable 'animItem' is detached from animVal.getItem(0).
- svg/dom/animated-tearoff-list-remove-target.html:
- 4:14 PM Changeset in webkit [232735] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening; add a late endTest(), in case none of the other events fire in time.
- media/track/track-delete-during-setup.html:
- 3:52 PM Changeset in webkit [232734] by
-
- 5 edits in trunk/Source
Add logging around internalError(const URL&)
https://bugs.webkit.org/show_bug.cgi?id=186369
<rdar://problem/40872046>
Reviewed by Brent Fulgham.
There are times when we receive bug reports where the user says that
they are simply shown a page saying an internal error occurred. To
help understand the circumstances of that error, add some logging to
internalError() in WebErrors.cpp. This logging logs at the Error level
that internalError() was called and then logs a backtrace.
Source/WebKit:
- Shared/WebErrors.cpp:
(WebKit::internalError):
Source/WTF:
- wtf/Assertions.cpp:
- wtf/Assertions.h:
- 3:15 PM Changeset in webkit [232733] by
-
- 13 edits in trunk
Add support for webkit-test-runner jscOptions in DumpRenderTree and WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=186451
<rdar://problem/40875792>
Reviewed by Tim Horton.
Source/JavaScriptCore:
Enhance setOptions() to be able to take a comma separated options string in
addition to white space separated options strings.
- runtime/Options.cpp:
(JSC::isSeparator):
(JSC::Options::setOptions):
Tools:
This jscOptions option can be used by a layout test to specify some JSC runtime
options needed by the test e.g. by adding something like this to the top of the
html file after the DOCTYPE tag:
<!-- webkit-test-runner [ jscOptions=--useIntlPluralRules=true ] -->
If more than one option is needed, the options can be specified as a comma
separated string e.g.
<!-- webkit-test-runner [ jscOptions=--useIntlPluralRules=true,--useZombieMode=true ] -->
This only works with JSC options that can be changed at runtime. Not all JSC
options can be changed this way as some options are only checked and set once at
VM / process initialization time: changing this type of options may have no
effect. It's the test writer's responsibility to determine which options are
appropriate for with this webkit-test-runner jscOptions option.
This implementation is a workaround until we can change the run-webkit-tests
scripts to parse the option and apply it to a new launch of DRT or WKTR:
https://bugs.webkit.org/show_bug.cgi?id=186452
- DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
(TestOptions::webViewIsCompatibleWithOptions const):
- DumpRenderTree/TestOptions.h:
- DumpRenderTree/mac/DumpRenderTree.mm:
(setJSCOptions):
(resetWebViewToConsistentStateBeforeTesting):
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
LayoutTests:
- js/intl-numberformat-format-to-parts.html:
- js/intl-pluralrules.html:
- js/script-tests/intl-numberformat-format-to-parts.js:
- 2:29 PM Changeset in webkit [232732] by
-
- 4 edits in trunk/Tools
Add a command line default to force WebKitTestRunner to turn on process swap on navigation.
https://bugs.webkit.org/show_bug.cgi?id=186534
Reviewed by Chris Dumez.
Right now Process Swap On Navigation is enabled on a per-test basis.
The future is to enable it by default.
Adding a 'defaults write' helps us get to that future.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::testOptionsForTest const):
(WTR::TestController::platformAddTestOptions const):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformAddTestOptions const):
- 2:06 PM Changeset in webkit [232731] by
-
- 6 edits in trunk/Source
Link drag image is inconsistently unreadable in dark mode
https://bugs.webkit.org/show_bug.cgi?id=186472
Reviewed by Timothy Hatcher.
Source/WebCore:
- platform/mac/DragImageMac.mm:
(WebCore::createDragImageForLink):
Use LocalDefaultSystemAppearance so that NSColors used inside
createDragImageForLink are interpreted correctly. This function
always follows the system appearance regardless of what the preference
is set to, because it's generating UI that isn't part of the page.
Use controlBackgroundColor to get a consistently contrasting background
for the link drag image.
Source/WebKit:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::useDefaultAppearance):
Make defaultAppearance accurate even if useSystemAppearance is false.
Some parts of WebKit (like the link drag image, but also context menus)
want to be able to follow the system appearance regardless of whether
the view or content has opted in.
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _defaultAppearance]):
Make defaultAppearance accurate even if useSystemAppearance is false.
Some parts of WebKit (like the link drag image, but also context menus)
want to be able to follow the system appearance regardless of whether
the view or content has opted in.
- 1:52 PM Changeset in webkit [232730] by
-
- 23 edits1 move2 adds in trunk
http/tests/security/cors-post-redirect-307.html fails with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=186441
Reviewed by Brady Eidson.
Source/WebCore:
When we are continuing a load in a new process, we currently bypass the navigation policy
check. We now also bypass the adding of headers such as the Origin one since the request
was already processed in the previous process. This is important because in the case of
a cross-origin redirect, the previous process has removed the Origin header from the
request and we do not want the new process to add it again.
Test: http/tests/security/cors-post-redirect-307-pson.html
- WebCore.xcodeproj/project.pbxproj:
- history/BackForwardController.cpp:
(WebCore::BackForwardController::goBackOrForward):
(WebCore::BackForwardController::goBack):
(WebCore::BackForwardController::goForward):
- loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::setShouldTreatAsContinuingLoad):
(WebCore::FrameLoadRequest::shouldTreatAsContinuingLoad const):
(WebCore::FrameLoadRequest::setShouldCheckNavigationPolicy): Deleted.
(WebCore::FrameLoadRequest::shouldCheckNavigationPolicy const): Deleted.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::addHTTPOriginIfNeeded):
(WebCore::FrameLoader::loadDifferentDocumentItem):
(WebCore::FrameLoader::loadItem):
(WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):
- loader/FrameLoader.h:
- loader/HistoryController.cpp:
(WebCore::HistoryController::goToItem):
(WebCore::HistoryController::setDefersLoading):
(WebCore::HistoryController::recursiveGoToItem):
- loader/HistoryController.h:
- loader/ShouldTreatAsContinuingLoad.h: Renamed from Source/WebCore/loader/NavigationPolicyCheck.h.
- page/Page.cpp:
(WebCore::Page::goToItem):
- page/Page.h:
Source/WebKit:
Rename existing flag to something a bit more generic, now that it is used for
more things than bypassing the navigation policy check.
- Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
- Shared/LoadParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcessForReload):
(WebKit::WebPageProxy::reattachToWebProcessWithItem):
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadRequestWithNavigation):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::goToBackForwardItem):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
Rename existing flag to something a bit more generic, now that it is used for
more things than bypassing the navigation policy check.
- WebView/WebView.mm:
(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView goToBackForwardItem:]):
Source/WebKitLegacy/win:
Rename existing flag to something a bit more generic, now that it is used for
more things than bypassing the navigation policy check.
- WebView.cpp:
(WebView::goToBackForwardItem):
(WebView::loadBackForwardListFromOtherView):
LayoutTests:
Add layout test coverage.
- http/tests/security/cors-post-redirect-307-pson-expected.txt: Added.
- http/tests/security/cors-post-redirect-307-pson.html: Added.
- 1:28 PM Changeset in webkit [232729] by
-
- 5 edits in trunk
Allow enabling PSON in layout tests without window.open support
https://bugs.webkit.org/show_bug.cgi?id=186537
Reviewed by Geoffrey Garen.
Tools:
Allow enabling PSON in layout tests without window.open support since window.open support
is far from being ready and we plan to enable PSON in layout tests soon.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
LayoutTests:
Update layout test which requires window.open support in addition to PSON.
- http/tests/navigation/process-swap-window-open.html:
- 1:18 PM Changeset in webkit [232728] by
-
- 6 edits in trunk
Accept request header values should be more tightly checked after r232572 in case of CORS load
https://bugs.webkit.org/show_bug.cgi?id=186533
<rdar://problem/40933880>
Reviewed by Darin Adler.
Source/WebCore:
Covered by updated test.
- platform/network/HTTPParsers.cpp:
(WebCore::isValidAcceptHeaderValue): Checking that Accept header value conforms with RFC7370.
If not, this will trigger preflighting for CORS cross origin loads.
Current checks for Accept-Language and Content-Language are sufficient to ensure values conform with RFC7370.
LayoutTests:
Added test to check Accept header value preflight.
Updated test to check that a preflight really happens if expected.
- http/tests/xmlhttprequest/cors-non-standard-safelisted-headers-should-trigger-preflight-expected.txt:
- http/tests/xmlhttprequest/cors-non-standard-safelisted-headers-should-trigger-preflight.html:
- http/tests/xmlhttprequest/resources/cors-preflight-safelisted-headers-responder.php:
- 12:55 PM Changeset in webkit [232727] by
-
- 2 edits in trunk/Tools
Followup to [Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
https://bugs.webkit.org/show_bug.cgi?id=186436
Patch by Darin Adler
Reviewed by Brady Eidson.
- TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm:
(TestWebKitAPI::TEST):
- 12:35 PM Changeset in webkit [232726] by
-
- 2 edits in trunk/LayoutTests
Fix spelling.
- http/tests/cache/disk-cache/disk-cache-media-small.html:
- 12:23 PM Changeset in webkit [232725] by
-
- 2 edits in trunk/Tools
Gardening: skip BigInt tests on iOS until the feature is stable.
<rdar://problem/40331121>
Not reviewed.
- Scripts/run-jsc-stress-tests:
- 12:07 PM Changeset in webkit [232724] by
-
- 4 edits in trunk/LayoutTests
http/tests/navigation/https-in-page-cache.html fails with process swapping on.
https://bugs.webkit.org/show_bug.cgi?id=186532
Reviewed by Geoffrey Garen.
- http/tests/navigation/resources/https-in-page-cache-1.php:
- http/tests/navigation/resources/https-in-page-cache-2.php:
- http/tests/navigation/resources/https-in-page-cache-3.html:
- 11:59 AM Changeset in webkit [232723] by
-
- 8 edits1 copy1 add in trunk/Tools
[Win][MiniBrowser] Add WebKitBrowserWindow class for modern WebKit API
https://bugs.webkit.org/show_bug.cgi?id=186478
Reviewed by Alex Christensen.
Added "New WebKit Window" and "New WebKitLegacy Window" menu
items. Disabled the menu item "New WebKit Window" if
!ENABLE(WEBKIT).
- MiniBrowser/win/CMakeLists.txt: Added WebKitBrowserWindow.cpp
source file and ENABLE_WEBKIT macro if ENABLE_WEBKIT.
- MiniBrowser/win/MainWindow.cpp:
(MainWindow::MainWindow):
(MainWindow::create):
(MainWindow::init):
(MainWindow::WndProc):
- MiniBrowser/win/MainWindow.h:
- MiniBrowser/win/MiniBrowserLib.rc:
- MiniBrowser/win/MiniBrowserLibResource.h:
- MiniBrowser/win/PrintWebUIDelegate.cpp:
(PrintWebUIDelegate::createWebViewWithRequest):
- MiniBrowser/win/WebKitBrowserWindow.cpp: Added.
(createString):
(toUtf8):
(createWKString):
(createWKURL):
(WebKitBrowserWindow::create):
(WebKitBrowserWindow::WebKitBrowserWindow):
(WebKitBrowserWindow::init):
(WebKitBrowserWindow::hwnd):
(WebKitBrowserWindow::loadURL):
(WebKitBrowserWindow::loadHTMLString):
(WebKitBrowserWindow::navigateForwardOrBackward):
(WebKitBrowserWindow::navigateToHistory):
(WebKitBrowserWindow::setPreference):
(WebKitBrowserWindow::print):
(WebKitBrowserWindow::launchInspector):
(WebKitBrowserWindow::setUserAgent):
(WebKitBrowserWindow::userAgent):
(WebKitBrowserWindow::showLayerTree):
(WebKitBrowserWindow::updateStatistics):
(WebKitBrowserWindow::resetZoom):
(WebKitBrowserWindow::zoomIn):
(WebKitBrowserWindow::zoomOut):
(toWebKitBrowserWindow):
(WebKitBrowserWindow::didReceiveTitleForFrame):
(WebKitBrowserWindow::didCommitLoadForFrame):
- MiniBrowser/win/WebKitBrowserWindow.h:
- MiniBrowser/win/WinMain.cpp:
(wWinMain):
- 11:11 AM Changeset in webkit [232722] by
-
- 2 edits in trunk/Source/WebKit
AX: [iOS] accessibility sometimes doesn't know process suspension is canceled
https://bugs.webkit.org/show_bug.cgi?id=186450
Reviewed by Chris Fleizach.
There's some early return condition in WebProcess::cancelPrepareToSuspend() which
could lead to accessibility failing to post process status notificaiton. Fixed it
by moving the accessibility notification before the early return condition.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::cancelPrepareToSuspend):
- 10:24 AM Changeset in webkit [232721] by
-
- 2 edits in trunk/Tools
Add missing whitespace to run-jsc command
https://bugs.webkit.org/show_bug.cgi?id=186528
Reviewed by Mark Lam.
- Scripts/run-jsc:
- 9:58 AM Changeset in webkit [232720] by
-
- 2 edits in trunk/Source/WebCore
Crash under com.apple.WebKit.Networking at WebCore: WebCore::NetworkStorageSession::hasStorageAccess const
https://bugs.webkit.org/show_bug.cgi?id=186433
<rdar://problem/40750907>
Reviewed by Geoffrey Garen.
Do some hardening in NetworkStorageSession::hasStorageAccess() to make sure
we do not try and do a HashMap lookup with a null firstPartyDomain, as this
would crash.
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::hasStorageAccess const):
- 9:39 AM Changeset in webkit [232719] by
-
- 9 edits in trunk
JavaScriptCore: Disable 32-bit JIT on Windows
https://bugs.webkit.org/show_bug.cgi?id=185989
Reviewed by Mark Lam.
.:
- Source/cmake/OptionsWin.cmake:
Source/JavaScriptCore:
Fixed the CLOOP so it can work when COMPUTED_GOTOs are not supported.
- llint/LLIntData.h:
(JSC::LLInt::getCodePtr): Used a reinterpret_cast since Opcode could be an int.
- llint/LowLevelInterpreter.cpp: Changed the definition of OFFLINE_ASM_GLOBAL_LABEL to not
have a case label because these aren't opcodes.
- runtime/Options.cpp: Made assembler related Windows conditional code also conditional
on the JIT being enabled.
(JSC::recomputeDependentOptions):
Source/WTF:
Fixed the CLOOP so it can work when COMPUTED_GOTOs are not supported.
- wtf/Platform.h:
- 9:32 AM Changeset in webkit [232718] by
-
- 2 edits in trunk/Source/JavaScriptCore
Test js/regexp-zero-length-alternatives.html fails when RegExpJIT is disabled
https://bugs.webkit.org/show_bug.cgi?id=186477
Reviewed by Filip Pizlo.
Fixed bug where we were using the wrong frame size for TypeParenthesesSubpatternTerminalBegin
YARR interpreter nodes. This caused us to overwrite other frame information.
Added frame offset debugging code to YARR interpreter.
- yarr/YarrInterpreter.cpp:
(JSC::Yarr::ByteCompiler::emitDisjunction):
(JSC::Yarr::ByteCompiler::dumpDisjunction):
- 8:44 AM Changeset in webkit [232717] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (Mojave): LayoutTest http/tests/cache/disk-cache/disk-cache-media-small.html is failing
https://bugs.webkit.org/show_bug.cgi?id=186482
<rdar://problem/40924056>
Reviewed by Zalan Bujtas.
The test was sensitive to which exact ranges the system media framework would request.
- http/tests/cache/disk-cache/disk-cache-media-small-expected.txt:
- http/tests/cache/disk-cache/disk-cache-media-small.html:
Don't print out the ranges, just check they are all coming from the right source.
- 8:33 AM Changeset in webkit [232716] by
-
- 4 edits in trunk/Source/WebCore
[LFC] Remove redundant position functions for out-of-flow elements
https://bugs.webkit.org/show_bug.cgi?id=186525
Reviewed by Antti Koivisto.
Position is computed as part of the Horizontal/Vertical geometry computation.
(see outOfFlow(Non)ReplacedHorizontalGeometry/outOfFlow(Non)ReplacedVerticalGeometry functions)
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowPosition const): Deleted.
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::outOfFlowNonReplacedPosition): Deleted.
(WebCore::Layout::outOfFlowReplacedPosition): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowPosition): Deleted.
- 8:22 AM Changeset in webkit [232715] by
-
- 2 edits in trunk/Source/WebCore
[LFC] Merge top, bottom, height and vertical margin computation for out-of-flow replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186524
Reviewed by Antti Koivisto.
Implement https://www.w3.org/TR/CSS22/visudet.html#abs-replaced-height
(10.6.5 Absolutely positioned, replaced elements)
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
- 7:48 AM Changeset in webkit [232714] by
-
- 2 edits in trunk/Source/WebCore
[LFC] Merge left, right, width and horizontal margin computation for out-of-flow replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186475
Reviewed by Antti Koivisto.
Implement https://www.w3.org/TR/CSS22/visudet.html#abs-replaced-width
(10.3.8 Absolutely positioned, replaced elements)
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidthAndMargin const): Deleted.
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::computedValueIfNotAuto):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowWidthAndMargin): Deleted.
- 7:41 AM Changeset in webkit [232713] by
-
- 2 edits in trunk/LayoutTests
Some CSS animations tests are failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=186522
Unreviewed test gardening.
- platform/win/TestExpectations:
- 7:37 AM Changeset in webkit [232712] by
-
- 4 edits in trunk/Source/WebCore
[LFC] Merge left, right, width and horizontal margin computation for out-of-flow non-replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186474
Reviewed by Antti Koivisto.
Implement https://www.w3.org/TR/CSS22/visudet.html#abs-non-replaced-width
(10.3.7 Absolutely positioned, non-replaced elements)
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidthAndMargin const): Deleted.
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowWidthAndMargin): Deleted.
- 7:27 AM Changeset in webkit [232711] by
-
- 3 edits1 add in trunk
[webkitpy] PHP7.2 support on Debian platforms
https://bugs.webkit.org/show_bug.cgi?id=186521
Reviewed by Michael Catanzaro.
Tools:
- Scripts/webkitpy/port/base.py:
(Port._debian_php_version): Refactor and add PHP 7.2 version support.
LayoutTests:
- http/conf/debian-httpd-2.4-php7.2.conf: Added.
- 7:27 AM Changeset in webkit [232710] by
-
- 4 edits in trunk/Source/WebCore
[LFC] Merge top, bottom, height and vertical margin computation for out-of-flow non-replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186476
Reviewed by Antti Koivisto.
Implement https://www.w3.org/TR/CSS22/visudet.html#abs-non-replaced-height
(10.6.4 Absolutely positioned, non-replaced elements)
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const): Deleted.
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::computedValueIfNotAuto):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHeightAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHeightAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHeightAndMargin): Deleted.
- 5:14 AM Changeset in webkit [232709] by
-
- 1 copy in releases/WebKitGTK/webkit-2.20.3
WebKitGTK+ 2.20.3
- 5:13 AM Changeset in webkit [232708] by
-
- 4 edits in releases/WebKitGTK/webkit-2.20
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.20.3 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.20.3.
- 4:31 AM Changeset in webkit [232707] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/JavaScriptCore
Merge r230379 - Unreviewed, follow-up patch for DFG 32bit
https://bugs.webkit.org/show_bug.cgi?id=183970
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
- 4:31 AM Changeset in webkit [232706] by
-
- 60 edits4 adds in releases/WebKitGTK/webkit-2.20
Merge r230376 - [JSC] Introduce op_get_by_id_direct
https://bugs.webkit.org/show_bug.cgi?id=183970
Reviewed by Filip Pizlo.
JSTests:
- stress/generator-prototype-copy.js: Added.
(gen):
(catch):
Adopted JF's tests.
- stress/generator-type-check.js: Added.
(shouldThrow):
(foo2):
(i.shouldThrow):
- stress/get-by-id-direct-getter.js: Added.
(shouldBe):
(shouldThrow):
(obj.get hello):
(builtin.createBuiltin):
(obj2.get length):
- stress/get-by-id-direct.js: Added.
(shouldBe):
(shouldThrow):
(builtin.createBuiltin):
- test262.yaml:
We fixed long-standing spec compatibility issue.
As a result, this patch makes several test262 tests passed!
Source/JavaScriptCore:
This patch introduces op_get_by_id_direct bytecode. This is super similar to op_get_by_id.
But it just performs GetOwnProperty operation instead of Get. We support this
in all the tiers, so using this opcode does not lead to inefficiency.
Main purpose of this op_get_by_id_direct is using it for private properties. We are using
properties indexed with private symbols to implement ECMAScript internal fields. Before this
patch, we just use get and put operations. However, it is not the correct semantics: accessing
to the internal fields should not traverse prototype chain, which is specified in the spec.
We use op_get_by_id_direct to access to properties which are used internal fields, so that
prototype chains are not traversed.
To emit op_get_by_id_direct, we introduce a new bytecode intrinsic @getByIdDirectPrivate().
When you write@getByIdDirectPrivate(object, "name")
, the bytecode generator emits the
bytecodeop_get_by_id_direct, object, @name
.
- builtins/ArrayIteratorPrototype.js:
(next):
(globalPrivate.arrayIteratorValueNext):
(globalPrivate.arrayIteratorKeyNext):
(globalPrivate.arrayIteratorKeyValueNext):
- builtins/AsyncFromSyncIteratorPrototype.js:
- builtins/AsyncFunctionPrototype.js:
(globalPrivate.asyncFunctionResume):
- builtins/AsyncGeneratorPrototype.js:
(globalPrivate.asyncGeneratorQueueIsEmpty):
(globalPrivate.asyncGeneratorQueueEnqueue):
(globalPrivate.asyncGeneratorQueueDequeue):
(globalPrivate.asyncGeneratorDequeue):
(globalPrivate.isExecutionState):
(globalPrivate.isSuspendYieldState):
(globalPrivate.asyncGeneratorReject):
(globalPrivate.asyncGeneratorResolve):
(globalPrivate.doAsyncGeneratorBodyCall):
(globalPrivate.asyncGeneratorEnqueue):
- builtins/GeneratorPrototype.js:
(globalPrivate.generatorResume):
(next):
(return):
(throw):
- builtins/MapIteratorPrototype.js:
(next):
- builtins/PromiseOperations.js:
(globalPrivate.isPromise):
(globalPrivate.rejectPromise):
(globalPrivate.fulfillPromise):
- builtins/PromisePrototype.js:
(then):
- builtins/SetIteratorPrototype.js:
(next):
- builtins/StringIteratorPrototype.js:
(next):
- builtins/TypedArrayConstructor.js:
(of):
(from):
- bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::dumpBytecode):
- bytecode/BytecodeIntrinsicRegistry.h:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::finalizeLLIntInlineCaches):
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeFor):
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::reset):
- bytecode/StructureStubInfo.h:
(JSC::appropriateOptimizingGetByIdFunction):
(JSC::appropriateGenericGetByIdFunction):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitDirectGetById):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_getByIdDirect):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_getByIdDirectPrivate):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToMultiGetByOffset):
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasHeapPrediction):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetById):
(JSC::DFG::SpeculativeJIT::compileGetByIdFlush):
(JSC::DFG::SpeculativeJIT::compileTryGetById): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileGetById):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis):
(JSC::FTL::DFG::LowerDFGToB3::getById):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_id_direct):
(JSC::JIT::emitSlow_op_get_by_id_direct):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_id_direct):
(JSC::JIT::emitSlow_op_get_by_id_direct):
- jit/Repatch.cpp:
(JSC::appropriateOptimizingGetByIdFunction):
(JSC::appropriateGetByIdFunction):
(JSC::tryCacheGetByID):
(JSC::repatchGetByID):
(JSC::appropriateGenericGetByIdFunction): Deleted.
- jit/Repatch.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LLIntSlowPaths.h:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::getOwnPropertySlot const):
- runtime/JSObject.h:
- runtime/JSObjectInlines.h:
(JSC::JSObject::getOwnPropertySlotInline):
- 3:29 AM Changeset in webkit [232705] by
-
- 4 edits3 adds in releases/WebKitGTK/webkit-2.20
Merge r229987 - DFG should know that CreateThis can be effectful
https://bugs.webkit.org/show_bug.cgi?id=184013
Reviewed by Saam Barati.
JSTests:
- stress/create-this-property-change.js: Added.
(Foo):
(RealBar):
(get if):
- stress/create-this-structure-change-without-cse.js: Added.
(Foo):
(RealBar):
(get if):
- stress/create-this-structure-change.js: Added.
(Foo):
(RealBar):
(get if):
Source/JavaScriptCore:
As shown in the tests added in JSTests, CreateThis can be effectful if the constructor this
is a proxy.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- 3:29 AM Changeset in webkit [232704] by
-
- 5 edits1 add in releases/WebKitGTK/webkit-2.20
Merge r230119 - WebAssembly compilation from DataView
- 3:28 AM Changeset in webkit [232703] by
-
- 4 edits3 adds in releases/WebKitGTK/webkit-2.20
Merge r230052 - WebSocket cookie incorrectly stored
https://bugs.webkit.org/show_bug.cgi?id=184100
<rdar://problem/37928715>
Reviewed by Brent Fulgham.
Source/WebCore:
A cookie received in a WebSocket response should be stored with respect to the
origin of the WebSocket server in order for it to be sent in a subsequent request.
Also removed a FIXME about implementing support for the long since
deprecated Set-Cookie2 header.
Test: http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior.html
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::processBuffer):
- Modules/websockets/WebSocketHandshake.h:
LayoutTests:
- http/tests/websocket/tests/hybi/cookie_wsh.py: Added. Downloaded from
<https://github.com/w3c/pywebsocket/blob/b2e1d11086fdf00b33a0d30c504f227e7d4fa86b/src/example/cookie_wsh.py>.
(_add_set_cookie):
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
- http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior-expected.txt: Added.
- http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior.html: Added.
- 3:28 AM Changeset in webkit [232702] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/WebCore
Merge r230016 - Attempt to fix media control layout tests after <https://trac.webkit.org/changeset/230006/>
(https://bugs.webkit.org/show_bug.cgi?id=179983)
Exempt elements in user agent shadow DOM from having to perform a potentially CORS-
enabled fetch for a mask image to try to fix the following tests from timing out:
media/modern-media-controls/media-controller/media-controller-inline-to-fullscreen-to-inline.html
media/modern-media-controls/media-controller/media-controller-inline-to-fullscreen-to-pip-to-inline.html
- style/StylePendingResources.cpp:
(WebCore::Style::loadPendingImage):
- 3:28 AM Changeset in webkit [232701] by
-
- 5 edits4 adds in releases/WebKitGTK/webkit-2.20
Merge r230006 - CSS mask images should be retrieved using potentially CORS-enabled fetch
https://bugs.webkit.org/show_bug.cgi?id=179983
<rdar://problem/35678149>
Reviewed by Brent Fulgham.
Source/WebCore:
As per <https://drafts.fxtf.org/css-masking-1/#priv-sec> (Editor’s Draft, 23 December 2017)
we should fetch CSS mask images using a potentially CORS-enabled fetch.
Both cross-origin CSS shape-outside images and CSS mask images may be sensitive to timing
attacks that can be used to reveal their pixel data when retrieved without regard to CORS.
For the same reason that we fetch CSS shape-outside images using a potentially CORS-enabled
fetch we should fetch CSS mask the same way. This also makes the behavior of WebKit more
closely align with the behavior in the spec.
Test: http/tests/security/css-mask-image.html
- page/Settings.yaml: Add a setting for toggle "Anonymous" mode fetching of mask images (defaults: true).
We need this setting to avoid breaking the developer convenience feature that some modern media controls
layout tests employ to load assets from the filesystem as opposed to using the hardcoded data URLs baked
into the WebKit binary.
- style/StylePendingResources.cpp: Substitute LoadPolicy::NoCORS and LoadPolicy::Anonymous for
LoadPolicy::Normal and LoadPolicy::ShapeOutside, respectively, to match the terminology used
in the HTML, CSS Shapes Module Level 1, and CSS Masking Module Level 1 specs.
(WebCore::Style::loadPendingImage): Ditto.
(WebCore::Style::loadPendingResources): Use load policy LoadPolicy::Anonymous when fetching
a mask image or shape-outside image.
LayoutTests:
Add a test to ensure we do not fetch a cross-origin CSS mask image that does
not allow CORS access.
- http/tests/security/css-mask-image-expected.html: Added.
- http/tests/security/css-mask-image.html: Added.
- http/tests/security/resources/black-square.png: Added.
- http/tests/security/resources/fail-mask.png: Added.
- media/modern-media-controls/resources/media-controls-loader.js: Disable "Anonymous" mode
fetching of mask images to allow modern media controls to load mask assets from the filesystem.
- 3:28 AM Changeset in webkit [232700] by
-
- 7 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r229830 - Disconnect the SVGPathSegList items from their SVGPathElement before rebuilding a new list
https://bugs.webkit.org/show_bug.cgi?id=183723
<rdar://problem/38517871>
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-03-21
Reviewed by Daniel Bates.
Source/WebCore:
When setting the "d" attribute directly on a path, we rebuild the list
of path segments held for creating the property tear off. The old path
segments need to get disconnected from the path element. We already do
that when a path segment is replaced or removed.
Test: svg/dom/reuse-pathseg-after-changing-d.html
- svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged):
- svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::clear): SVGPathSegListValues::clearContextAndRoles()
will now be called from SVGPathSegListValues::clear() via SVGListProperty::clearValues().
(WebCore::SVGPathSegList::replaceItem):
(WebCore::SVGPathSegList::removeItem):
(WebCore::SVGPathSegList::clearContextAndRoles): Deleted.
- svg/SVGPathSegList.h: SVGPathSegListValues::clearContextAndRoles() will
now be called from SVGPathSegListValues::clear() via SVGListProperty::initializeValues().
- svg/SVGPathSegListValues.cpp:
(WebCore::SVGPathSegListValues::clearItemContextAndRole):
(WebCore::SVGPathSegListValues::clearContextAndRoles):
- svg/SVGPathSegListValues.h:
(WebCore::SVGPathSegListValues::operator=):
(WebCore::SVGPathSegListValues::clear):
LayoutTests:
- svg/dom/reuse-pathseg-after-changing-d-expected.txt: Added.
- svg/dom/reuse-pathseg-after-changing-d.html: Added.
- 3:13 AM Changeset in webkit [232699] by
-
- 4 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-transitions/test_setting-effect.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183850
Unreviewed.
This test is now passing.
LayoutTests/imported/mozilla:
- css-transitions/test_setting-effect-expected.txt:
LayoutTests:
- 3:10 AM Changeset in webkit [232698] by
-
- 2 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-animations/test_setting-effect.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183849
Unreviewed.
This test is now passing.
- 3:04 AM Changeset in webkit [232697] by
-
- 2 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-animations/test_cssanimation-animationname.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183838
Unreviewed.
This test is now passing.
- 2:58 AM Changeset in webkit [232696] by
-
- 2 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-transitions/test_csstransition-transitionproperty.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183835
Unreviewed.
This test is now passing.
- 2:56 AM Changeset in webkit [232695] by
-
- 4 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-transitions/test_animation-starttime.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183833
Unreviewed.
This test is now passing.
LayoutTests/imported/mozilla:
- css-transitions/test_animation-starttime-expected.txt:
LayoutTests:
- 2:53 AM Changeset in webkit [232694] by
-
- 3 edits in releases/WebKitGTK/webkit-2.20/Source/WebKit
Merge r232151 - Unreviewed. Fix GTK+ input method unit tests after r232049.
Unit tests don't use a WebPageProxy.
- UIProcess/gtk/InputMethodFilter.cpp:
(WebKit::InputMethodFilter::isViewFocused const):
(WebKit::InputMethodFilter::setEnabled):
- UIProcess/gtk/InputMethodFilter.h:
- 2:53 AM Changeset in webkit [232693] by
-
- 3 edits in releases/WebKitGTK/webkit-2.20/Source/WebKit
Merge r232049 - [GTK][Wayland] UI process crash when closing the window
https://bugs.webkit.org/show_bug.cgi?id=185818
Reviewed by Michael Catanzaro.
This happens when a page containing a text field is loaded but the focus remains in the url bar when the window
is closed. This is because we are sending a notify-in to the IM context, but the focus is still in the URL
bar. That confuses the wayland input method manager that tries to free the text of the web view IM context that has
already been deleted.
- UIProcess/gtk/InputMethodFilter.cpp:
(WebKit::InputMethodFilter::setEnabled): Only send notify-in if the view is actually focused.
- 2:53 AM Changeset in webkit [232692] by
-
- 6 edits in releases/WebKitGTK/webkit-2.20/Source
Merge r232111 - [GTK] WebDriver: implement AutomationSessionClient::didDisconnectFromRemote
https://bugs.webkit.org/show_bug.cgi?id=185866
Reviewed by Brian Burg.
Source/WebDriver:
Close the dbus connection when receiving an empty target list.
- glib/SessionHostGlib.cpp:
(WebDriver::SessionHost::setTargetList):
Source/WebKit:
To handle the case of the session being closed by the browser, for example in case of a network process
crash. This is currently causing WebDriver tests to timeout in the bot.
- UIProcess/API/glib/WebKitAutomationSession.cpp: Add an implementation of didDisconnectFromRemote() to notify
the WebContext that the session will be closed.
- UIProcess/API/glib/WebKitWebContext.cpp: Remove the automation session when closed.
- UIProcess/API/glib/WebKitWebContextPrivate.h:
- 2:53 AM Changeset in webkit [232691] by
-
- 3 edits in releases/WebKitGTK/webkit-2.20/Source/WebCore
Merge r232066 - [GTK] WebDriver: Network process crash when running imported/w3c/webdriver/tests/delete_cookie/delete.py::test_unknown_cookie
https://bugs.webkit.org/show_bug.cgi?id=185867
Reviewed by Michael Catanzaro.
We need to null check the value returned by URL::createSoupURI() before passing it to soup.
- platform/network/soup/CookieJarSoup.cpp:
(WebCore::setCookiesFromDOM):
(WebCore::cookiesForSession):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::getCookies):
- 2:53 AM Changeset in webkit [232690] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Tools
Merge r232009 - [GTK] MiniBrowser crashes when loading twice quickly
https://bugs.webkit.org/show_bug.cgi?id=185763
Reviewed by Michael Catanzaro.
This is very difficult to reproduce manually, but it happens when running WebDriver tests where loads are very
fast and multiple loads are done quickly. The problem is that we use an idle to reset the progress bar, but we
don't reset it when a new load starts. We always reset the last idle on destroy, but if there's another one
leaked, it will crash when scheduled if the window has already been destroyed.
- MiniBrowser/gtk/BrowserWindow.c:
(webViewLoadProgressChanged): Stop any pending reset task when progress != 1.
- 2:53 AM Changeset in webkit [232689] by
-
- 4 edits4 adds in releases/WebKitGTK/webkit-2.20
Merge r232584 - Handle Storage Access API calls in the absence of an attached frame
https://bugs.webkit.org/show_bug.cgi?id=186373
<rdar://problem/40028265>
Reviewed by Daniel Bates.
Source/WebCore:
Tests: http/tests/storageAccess/has-storage-access-crash.html
http/tests/storageAccess/request-storage-access-crash.html
The new frame-specific storage access checks were done without confirming a
frame was present, although the frame state was validated in other parts of
the same method.
This patch checks for a non-null frame before making frame-specific calls.
- dom/Document.cpp:
(WebCore::Document::hasStorageAccess):
(WebCore::Document::requestStorageAccess):
LayoutTests:
- http/tests/storageAccess/has-storage-access-crash-expected.txt: Added.
- http/tests/storageAccess/has-storage-access-crash.html: Added.
- http/tests/storageAccess/request-storage-access-crash-expected.txt: Added.
- http/tests/storageAccess/request-storage-access-crash.html: Added.
- platform/mac-wk2/TestExpectations: Add the two new tests for HighSierra+
- 2:41 AM Changeset in webkit [232688] by
-
- 2 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-animations/test_animation-reverse.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183832
Unreviewed.
This test is now passing.
- 2:37 AM Changeset in webkit [232687] by
-
- 2 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-transitions/test_animation-pausing.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183829
Unreviewed.
This test is now passing.
- 2:34 AM Changeset in webkit [232686] by
-
- 2 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-transitions/test_animation-finished.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183827
Unreviewed.
This test is now passing.
- 2:32 AM Changeset in webkit [232685] by
-
- 4 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-transitions/test_animation-currenttime.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183825
Unreviewed.
This test is now passing.
LayoutTests/imported/mozilla:
- css-transitions/test_animation-currenttime-expected.txt:
LayoutTests:
- 2:29 AM Changeset in webkit [232684] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/WebKit
Unreviewed. Remove PRIVATE keyword added in r232676.
- CMakeLists.txt:
- 2:29 AM Changeset in webkit [232683] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r232663 - REGRESSION (r230480): Cannot adjust photo position on LinkedIn's profile page
https://bugs.webkit.org/show_bug.cgi?id=186464
<rdar://problem/40369448>
Reviewed by Simon Fraser.
Source/WebCore:
The optimization logic for skipping image layout when we only need overflow computation should check if the image actually needs
simplified layout only. The needsSimplifiedNormalFlowLayout() flag means that the overflow information needs to be updated but
it does not mean that overflow is the only property that we need to recompute.
Test: fast/images/positioned-image-when-transform-is-present.html
- rendering/RenderImage.cpp:
(WebCore::RenderImage::layout):
- rendering/RenderObject.h:
(WebCore::RenderObject::needsSimplifiedNormalFlowLayoutOnly const):
LayoutTests:
- fast/images/positioned-image-when-transform-is-present-expected.html: Added.
- fast/images/positioned-image-when-transform-is-present.html: Added.
- 2:28 AM Changeset in webkit [232682] by
-
- 2 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-animations/test_animation-id.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183824
Unreviewed.
This test has been passing reliably on the bots.
- 2:26 AM Changeset in webkit [232681] by
-
- 4 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-transitions/test_animation-computed-timing.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183823
Unreviewed.
This test is now passing.
LayoutTests/imported/mozilla:
- css-transitions/test_animation-computed-timing-expected.txt:
LayoutTests:
- 2:22 AM Changeset in webkit [232680] by
-
- 2 edits in trunk/LayoutTests
[Web Animations] Make imported/mozilla/css-animations/test_animation-finished.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183822
Unreviewed.
This test has been passing reliably on the bots.
- 2:20 AM WebKitGTK/2.20.x edited by
- (diff)
- 2:19 AM Changeset in webkit [232679] by
-
- 4 edits in releases/WebKitGTK/webkit-2.20
Merge r232667 - [WPE][GTK] paypal.com requires user agent quirk
https://bugs.webkit.org/show_bug.cgi?id=186466
Reviewed by Carlos Garcia Campos.
Source/WebCore:
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresMacintoshPlatform):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 2:19 AM Changeset in webkit [232678] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/WebCore
Merge r232618 - [GTK][WPE] Wrong result when calling ImageBufferCairo's getImageData()
https://bugs.webkit.org/show_bug.cgi?id=186384
Reviewed by Michael Catanzaro.
Fix calculations so the result is the expected one.
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::getImageData):
- 2:19 AM Changeset in webkit [232677] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/WebKit
Merge r232397 - [GTK] Crash in WebKitFaviconDatabase when pageURL is unset
https://bugs.webkit.org/show_bug.cgi?id=186164
Reviewed by Carlos Garcia Campos.
PageURL can legitimately be null here if JavaScript does something silly with window.open.
- UIProcess/API/glib/WebKitFaviconDatabase.cpp:
(webkitFaviconDatabaseSetIconURLForPageURL):
(webkitFaviconDatabaseSetIconForPageURL):
- 2:03 AM Changeset in webkit [232676] by
-
- 6 edits in releases/WebKitGTK/webkit-2.20
Merge r232067 - [CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64-bit atomic operations
https://bugs.webkit.org/show_bug.cgi?id=182622
<rdar://problem/40292317>
Reviewed by Michael Catanzaro.
.:
- Source/cmake/WebKitCompilerFlags.cmake:
Move the test to detect whether we need to link against libatomic
to a common CMake file so it can be used from both JavaScriptCore
and WebKit.
Source/JavaScriptCore:
We were linking JavaScriptCore against libatomic in MIPS because
in that architecture atomic_fetch_add_8() is not a compiler
intrinsic and is provided by that library instead. However other
architectures (e.g armel) are in the same situation, so we need a
generic test.
That test already exists in WebKit/CMakeLists.txt, so we just have
to move it to a common file (WebKitCompilerFlags.cmake) and use
its result (ATOMIC_INT64_REQUIRES_LIBATOMIC) here.
- CMakeLists.txt:
Source/WebKit:
Move the test to determine whether we need to link against
libatomic to the common file WebKitCompilerFlags.cmake so it can
also be used for JavaScriptCore.
- CMakeLists.txt:
- 2:03 AM Changeset in webkit [232675] by
-
- 9 edits in releases/WebKitGTK/webkit-2.20
Merge r232062 - Unreviewed, rolling out r231843.
Broke cross build
Reverted changeset:
"[CMake] Properly detect compiler flags, needed libs, and
fallbacks for usage of 64-bit atomic operations"
https://bugs.webkit.org/show_bug.cgi?id=182622
https://trac.webkit.org/changeset/231843
- 2:03 AM Changeset in webkit [232674] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/bmalloc
Merge r232059 - Define GIGACAGE_ALLOCATION_CAN_FAIL on Linux
https://bugs.webkit.org/show_bug.cgi?id=183329
Reviewed by Michael Catanzaro.
We specify
GIGACAGE_ALLOCATION_CAN_FAIL 1
in Linux since
Linux can fail tommap
ifvm.overcommit_memory = 2
.
Users can enable Gigacage if users enable overcommit_memory.
- bmalloc/Gigacage.h:
- 2:03 AM Changeset in webkit [232673] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20
Merge r231631 - [GTK] gtk-doc installation subdir duplicated
https://bugs.webkit.org/show_bug.cgi?id=185468
Patch by Jan Alexander Steffens <jan.steffens@gmail.com> on 2018-05-09
Reviewed by Carlos Garcia Campos.
The GTK docs are installed into a duplicated subdir,
e.g. /usr/share/doc/gtk-doc/html/webkit2gtk-4.0/webkit2gtk-4.0.
- Source/PlatformGTK.cmake:
- 1:13 AM Changeset in webkit [232672] by
-
- 5 edits in trunk/Tools
Unreviewed. Fix WPE API and layout tests after r232670.
Now that dyz is not installed, there's not -default.so symlink for the WPE backend, so we need to use
WPE_BACKEND_LIBRARY environment variable to ensure tests are run with fdo backend.
- Scripts/run-wpe-tests:
(WPETestRunner.init):
(WPETestRunner):
(WPETestRunner.setup_testing_environment):
- Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
- glib/api_test_runner.py:
(TestRunner.setup_testing_environment):
(TestRunner.run_tests):
(TestRunner._setup_testing_environment): Deleted.
- 12:26 AM Changeset in webkit [232671] by
-
- 23 edits in trunk
[GTK][WPE] Add API run run javascript from a WebKitWebView in an isolated world
https://bugs.webkit.org/show_bug.cgi?id=186192
Reviewed by Michael Catanzaro.
Source/WebCore:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeScriptInWorld): Add ExceptionDetails parameter.
- bindings/js/ScriptController.h:
Source/WebKit:
Add webkit_web_view_run_javascript_in_world() that receives a world name. Also add
webkit_script_world_new_with_name() to create an isolated world with a name and webkit_script_world_get_name()
to get the name of a WebKitScriptWorld.
- UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_run_javascript):
(webkit_web_view_run_javascript_finish):
(webkit_web_view_run_javascript_in_world):
(webkit_web_view_run_javascript_in_world_finish):
- UIProcess/API/gtk/WebKitWebView.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
- UIProcess/API/wpe/WebKitWebView.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runJavaScriptInMainFrameScriptWorld): Send RunJavaScriptInMainFrameScriptWorld message to
the WebProcess.
- UIProcess/WebPageProxy.h:
- WebProcess/InjectedBundle/API/glib/WebKitScriptWorld.cpp:
(webkitScriptWorldCreate):
(webkit_script_world_new_with_name):
(webkit_script_world_get_name):
- WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h:
- WebProcess/InjectedBundle/API/wpe/WebKitScriptWorld.h:
- WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
(WebKit::InjectedBundleScriptWorld::find): Find an InjectedBundleScriptWorld by its name.
- WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInMainFrameScriptWorld): Find the InjectedBundleScriptWorld for the given name
and run the script in its js context.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Add RunJavaScriptInMainFrameScriptWorld message.
Tools:
Add tests cases for the new API.
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewRunJavaScript):
- TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(methodCallCallback):
(webkit_web_extension_initialize_with_user_data):
- TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(runJavaScriptInWorldReadyCallback):
(WebViewTest::runJavaScriptFromGResourceAndWaitUntilFinished):
(WebViewTest::runJavaScriptInWorldAndWaitUntilFinished):
- TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
Jun 10, 2018:
- 11:43 PM Changeset in webkit [232670] by
-
- 20 edits2 copies10 adds1 delete in trunk
[WPE] Add a MiniBrowser and use it to run WebDriver tests
https://bugs.webkit.org/show_bug.cgi?id=186345
Reviewed by Žan Doberšek.
.:
Add an option to enable building the MiniBrowser.
- Source/cmake/FindWaylandProtocols.cmake: Added.
- Source/cmake/OptionsWPE.cmake:
Source/WebDriver:
Use MiniBrowser instead of dyz as the default WebDriver browser for WPE.
- wpe/WebDriverServiceWPE.cpp:
(WebDriver::WebDriverService::platformParseCapabilities const):
Tools:
Most of the code is based on dyz and gtk MiniBrowser. This patch adds a new internal library WPEToolingBackends,
including the headless view backend and a new window backend to be used by the MiniBrowser. MiniBrowser can also
run in headless mode, by using the headless backend instead of the window one, which will allow us to run the
WebDriver tests in the bots.
- CMakeLists.txt:
- MiniBrowser/wpe/CMakeLists.txt: Added.
- MiniBrowser/wpe/main.cpp: Added.
(automationStartedCallback):
(createViewBackend):
(main):
- Scripts/run-minibrowser: Remove WPE specific code.
- Scripts/run-webdriver-tests: Add headless display-server option.
- Scripts/webkitdirs.pm:
(launcherName): Remove WPE specific code.
- Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
(WebDriverWPE.browser_name): Return MiniBrowser.
(WebDriverWPE.browser_path): Return the path to the MiniBrowser in build dir.
(WebDriverWPE.browser_args): Add --headless when running in headless mode.
(WebDriverWPE.capabilities): Use the full browser path.
- Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
(WebDriverTestRunnerSelenium.collect_tests): Fix early return value.
- TestWebKitAPI/PlatformWPE.cmake: Use WPEToolingBackends instead of HeadlessViewBackend.
- TestWebKitAPI/PlatformWebView.h: Ditto.
- TestWebKitAPI/glib/PlatformWPE.cmake: Ditto
- TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::createWebViewBackend): Ditto.
- TestWebKitAPI/wpe/PlatformWebViewWPE.cpp:
(TestWebKitAPI::PlatformWebView::initialize): Ditto.
- WebKitTestRunner/PlatformWPE.cmake: Ditto.
- WebKitTestRunner/PlatformWebView.h: Ditto.
- WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::PlatformWebView): Ditto.
- wpe/HeadlessViewBackend/CMakeLists.txt: Removed.
- wpe/backends/CMakeLists.txt: Added.
- wpe/backends/HeadlessViewBackend.cpp: Renamed from Tools/wpe/HeadlessViewBackend/HeadlessViewBackend.cpp.
(WPEToolingBackends::getEGLDisplay):
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::createSnapshot):
(WPEToolingBackends::HeadlessViewBackend::performUpdate):
(WPEToolingBackends::HeadlessViewBackend::displayBuffer):
- wpe/backends/HeadlessViewBackend.h: Renamed from Tools/wpe/HeadlessViewBackend/HeadlessViewBackend.h.
- wpe/backends/ViewBackend.cpp: Added.
(WPEToolingBackends::ViewBackend::ViewBackend):
(WPEToolingBackends::ViewBackend::~ViewBackend):
(WPEToolingBackends::ViewBackend::initialize):
(WPEToolingBackends::ViewBackend::setInputClient):
(WPEToolingBackends::ViewBackend::backend const):
(WPEToolingBackends::ViewBackend::dispatchInputPointerEvent):
(WPEToolingBackends::ViewBackend::dispatchInputAxisEvent):
(WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent):
- wpe/backends/ViewBackend.h: Added.
- wpe/backends/WindowViewBackend.cpp: Added.
(WPEToolingBackends::WindowViewBackend::WindowViewBackend):
(WPEToolingBackends::WindowViewBackend::~WindowViewBackend):
(WPEToolingBackends::WindowViewBackend::displayBuffer):
(WPEToolingBackends::WindowViewBackend::handleKeyEvent):
- wpe/backends/WindowViewBackend.h: Added.
- wpe/jhbuild.modules: Remove dyz and add wayland-protocols.
- 7:44 PM Changeset in webkit [232669] by
-
- 17 edits2 moves in trunk/Tools
[Win][MiniBrowser] MiniBrowser class should be renamed to WebKitLegacyBrowserWindow
https://bugs.webkit.org/show_bug.cgi?id=186427
Reviewed by Ryosuke Niwa.
- MiniBrowser/win/AccessibilityDelegate.cpp:
- MiniBrowser/win/AccessibilityDelegate.h:
(AccessibilityDelegate::AccessibilityDelegate):
- MiniBrowser/win/CMakeLists.txt: Removed MiniBrowser.cpp. Added WebKitLegacyBrowserWindow.cpp.
- MiniBrowser/win/Common.h:
- MiniBrowser/win/MainWindow.cpp:
(MainWindow::init):
- MiniBrowser/win/MainWindow.h:
- MiniBrowser/win/MiniBrowserWebHost.cpp:
- MiniBrowser/win/MiniBrowserWebHost.h:
(MiniBrowserWebHost::MiniBrowserWebHost):
- MiniBrowser/win/PageLoadTestClient.cpp:
(PageLoadTestClient::PageLoadTestClient):
- MiniBrowser/win/PageLoadTestClient.h:
- MiniBrowser/win/PrintWebUIDelegate.cpp:
(PrintWebUIDelegate::createWebViewWithRequest):
- MiniBrowser/win/PrintWebUIDelegate.h:
(PrintWebUIDelegate::PrintWebUIDelegate):
- MiniBrowser/win/ResourceLoadDelegate.cpp:
- MiniBrowser/win/ResourceLoadDelegate.h:
(ResourceLoadDelegate::ResourceLoadDelegate):
- MiniBrowser/win/WebKitLegacyBrowserWindow.cpp: Renamed from Tools/MiniBrowser/win/MiniBrowser.cpp.
- MiniBrowser/win/WebKitLegacyBrowserWindow.h: Renamed from Tools/MiniBrowser/win/MiniBrowser.h.
- MiniBrowser/win/WebDownloadDelegate.cpp:
(WebDownloadDelegate::WebDownloadDelegate):
- MiniBrowser/win/WebDownloadDelegate.h:
- 3:39 PM Changeset in webkit [232668] by
-
- 12 edits in trunk
Reload the Web view in case of crash if the client does not implement webViewWebContentProcessDidTerminate delegate
https://bugs.webkit.org/show_bug.cgi?id=186468
Reviewed by Geoffrey Garen.
Source/WebKit:
We now attempt to reload the Web view if the web content process crashes and the client
does not implement the webViewWebContentProcessDidTerminate delegate (or any of the similar
delegates in our SPI).
- UIProcess/API/APILoaderClient.h:
(API::LoaderClient::processDidCrash):
- UIProcess/API/APINavigationClient.h:
(API::NavigationClient::processDidTerminate):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
(WKPageSetPageNavigationClient):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/glib/WebKitNavigationClient.cpp:
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::processDidTerminate):
- UIProcess/WebPageProxy.cpp:
(WebKit::m_resetRecentCrashCountTimer):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::shouldReloadAfterProcessTermination):
(WebKit::WebPageProxy::dispatchProcessDidTerminate):
(WebKit::WebPageProxy::tryReloadAfterProcessTermination):
(WebKit::WebPageProxy::resetRecentCrashCountSoon):
(WebKit::WebPageProxy::resetRecentCrashCount):
(WebKit::m_configurationPreferenceValues): Deleted.
- UIProcess/WebPageProxy.h:
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(-[BasicNavigationDelegateWithoutCrashHandler webView:didStartProvisionalNavigation:]):
(-[BasicNavigationDelegateWithoutCrashHandler webView:didFinishNavigation:]):
(TEST):
- 9:12 AM WebKitGTK/2.20.x edited by
- (diff)
- 2:23 AM Changeset in webkit [232667] by
-
- 4 edits in trunk
[WPE][GTK] paypal.com requires user agent quirk
https://bugs.webkit.org/show_bug.cgi?id=186466
Reviewed by Carlos Garcia Campos.
Source/WebCore:
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresMacintoshPlatform):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 12:36 AM Changeset in webkit [232666] by
-
- 6 edits1 delete in trunk
[JSC] Array.prototype.sort should rejects null comparator
https://bugs.webkit.org/show_bug.cgi?id=186458
Reviewed by Keith Miller.
JSTests:
- ChakraCore/test/Array/array_sort.baseline-jsc:
- stress/array-sort-bad-comparator.js:
(test):
- stress/sort-null-comparator.js: Removed.
- test262/expectations.yaml:
Source/JavaScriptCore:
This relaxed behavior is once introduced in r216169 to fix some pages by aligning
the behavior to Chrome and Firefox.
However, now Chrome, Firefox and Edge reject a null comparator. So only JavaScriptCore
accepts it. This patch reverts r216169 to align JSC to the other engines and fix
the spec issue.
- builtins/ArrayPrototype.js:
(sort):
Jun 9, 2018:
- 10:18 PM Changeset in webkit [232665] by
-
- 64 edits in trunk
[Xcode] Clean up and modernize some build setting definitions
https://bugs.webkit.org/show_bug.cgi?id=186463
Reviewed by Sam Weinig.
Source/bmalloc:
- Configurations/Base.xcconfig: Removed definition for macOS 10.11.
- Configurations/DebugRelease.xcconfig: Ditto.
Source/JavaScriptCore:
- Configurations/Base.xcconfig: Removed definition for macOS 10.11. Simplified the definition of WK_PRIVATE_FRAMEWORK_STUBS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
- Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
- Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
- Configurations/Version.xcconfig: Removed definition for macOS 10.11.
- Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
Source/ThirdParty/ANGLE:
- Configurations/Base.xcconfig: Removed definition for macOS 10.11.
- Configurations/DebugRelease.xcconfig: Ditto.
Source/ThirdParty/libwebrtc:
- Configurations/Base.xcconfig: Removed definition for macOS 10.11.
- Configurations/DebugRelease.xcconfig: Ditto.
- Configurations/Version.xcconfig: Removed definitions for macOS 10.10 and 10.11, and added definitions for later versions.
- Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
- Configurations/opus.xcconfig: Simplified the definition of SSE4_FLAG now that macOS 10.12 is the earliest supported version.
Source/WebCore:
- Configurations/Base.xcconfig: Removed definition for macOS 10.11.
- Configurations/DebugRelease.xcconfig: Ditto.
- Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
- Configurations/Version.xcconfig: Removed definition for macOS 10.11.
- Configurations/WebCore.xcconfig: Simplified the definition of WK_PRIVATE_FRAMEWORKS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
- Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
Source/WebCore/PAL:
- Configurations/Base.xcconfig: Removed definition for macOS 10.11.
- Configurations/DebugRelease.xcconfig: Ditto.
- Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
- Configurations/PAL.xcconfig: Removed WK_PRIVATE_FRAMEWORKS_DIR, because the private framework stubs aren’t used when linking PAL.
- Configurations/Version.xcconfig: Removed definition for macOS 10.11.
- Configurations/WebKitTargetConditionals.xcconfig: Ditto.
Source/WebInspectorUI:
- Configurations/Base.xcconfig: Removed definition for macOS 10.11.
- Configurations/DebugRelease.xcconfig: Ditto.
- Configurations/Version.xcconfig: Ditto.
Source/WebKit:
- Configurations/Base.xcconfig: Removed definition for macOS 10.11.
- Configurations/BaseTarget.xcconfig: Simplified the definition of WK_PRIVATE_FRAMEWORKS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
- Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
- Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
- Configurations/Version.xcconfig: Removed definition for macOS 10.11.
- Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
Source/WebKitLegacy/mac:
- Configurations/Base.xcconfig: Removed definition for macOS 10.11.
- Configurations/DebugRelease.xcconfig: Ditto.
- Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
- Configurations/Version.xcconfig: Removed definition for macOS 10.11.
- Configurations/WebKitLegacy.xcconfig: Simplified the definition of WK_PRIVATE_FRAMEWORKS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
- Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
Source/WTF:
- Configurations/Base.xcconfig: Removed definition for macOS 10.11.
- Configurations/DebugRelease.xcconfig: Ditto.
Tools:
- DumpRenderTree/mac/Configurations/Base.xcconfig: Removed definition for macOS 10.11. Simplified the definition of WK_PRIVATE_FRAMEWORK_STUBS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
- MiniBrowser/Configurations/Base.xcconfig: Ditto.
- MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
- TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
- TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
- TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
- WebKitTestRunner/Configurations/Base.xcconfig: Ditto. Also simplified the definition of WK_PRIVATE_FRAMEWORK_STUBS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions
- WebKitTestRunner/Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
- 6:33 PM Changeset in webkit [232664] by
-
- 14 edits in trunk
Added missing file references to the Configuration group.
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj:
Source/ThirdParty/libwebrtc:
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- 6:26 PM Changeset in webkit [232663] by
-
- 4 edits2 adds in trunk
REGRESSION (r230480): Cannot adjust photo position on LinkedIn's profile page
https://bugs.webkit.org/show_bug.cgi?id=186464
<rdar://problem/40369448>
Reviewed by Simon Fraser.
Source/WebCore:
The optimization logic for skipping image layout when we only need overflow computation should check if the image actually needs
simplified layout only. The needsSimplifiedNormalFlowLayout() flag means that the overflow information needs to be updated but
it does not mean that overflow is the only property that we need to recompute.
Test: fast/images/positioned-image-when-transform-is-present.html
- rendering/RenderImage.cpp:
(WebCore::RenderImage::layout):
- rendering/RenderObject.h:
(WebCore::RenderObject::needsSimplifiedNormalFlowLayoutOnly const):
LayoutTests:
- fast/images/positioned-image-when-transform-is-present-expected.html: Added.
- fast/images/positioned-image-when-transform-is-present.html: Added.
- 1:15 PM Changeset in webkit [232662] by
-
- 7 edits in trunk
REGRESSION(macOS Mojave): move-by-word-visually-multi-line.html fails
https://bugs.webkit.org/show_bug.cgi?id=186454
Reviewed by Darin Adler.
Source/WebCore:
Like r232635, this patch fixes a selection test failure caused by the change in ICU's behavior in macOS Mojave,
which caused isWordTextBreak to return true in more cases.
In this particular failing test case, previousTextOrLineBreakBox and nextTextOrLineBreakBox were failing to find
an inline text box when it found an inline box for a BR, which was mentioned by an existing FIXME comment.
Consequently, visualWordPosition were erroneously detecting the end of a word followed by a blank line created by
a BR as a valid word boundary to move when the Windows editing behavior is enacted.
Addressed the FIXME comment by finding the next inline text box skipping all inline boxes for BRs. Renamed
misleadingly named previousBoxInDifferentBlock and nextBoxInDifferentBlock to previousBoxInDifferentLine and
nextBoxInDifferentLine respectively, and set them to true as they're really indicating whether line boxes
belong to a distinct line or not; whether an inline box belong to two (render) blocks or not is irrelevant.
Finally, this patch fixes a bug in visualWordPosition that it was failing to skip blank lines when a word break is
found as we traversed past a line break. In those cases, we must skip all line breaks before stopping.
Tests: editing/selection/move-by-word-visually-mac.html
editing/selection/move-by-word-visually-multi-line.htm
- editing/VisibleUnits.cpp:
(WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox):
(WebCore::CachedLogicallyOrderedLeafBoxes::nextTextOrLineBreakBox):
(WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves const):
(WebCore::logicallyPreviousBox):
(WebCore::logicallyNextBox):
(WebCore::wordBreakIteratorForMinOffsetBoundary):
(WebCore::wordBreakIteratorForMaxOffsetBoundary):
(WebCore::visualWordPosition):
LayoutTests:
Added a multi-line test case which causes a failure under Mac editing behavior. The test case is symmetric to ml_1.
- editing/selection/move-by-word-visually-mac-expected.txt:
- editing/selection/move-by-word-visually-mac.html:
- editing/selection/move-by-word-visually-multi-line-expected.txt:
- editing/selection/move-by-word-visually-multi-line.html:
- 12:35 PM Changeset in webkit [232661] by
-
- 3 edits in trunk/Source/WebCore
[LFC] MarginCollapse functions should be able to resolve non-fixed margin values
https://bugs.webkit.org/show_bug.cgi?id=186461
Reviewed by Antti Koivisto.
We need the containing block's computed width to resolve vertical and horizontal margins.
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginTopFromFirstChild):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::nonCollapsedMarginTop):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::computedNonCollapsedMarginTop):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::computedNonCollapsedMarginBottom):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginTop):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBottom):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginBottomFromLastChild):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::nonCollapsedMarginBottom):
(WebCore::Layout::collapsedMarginTopFromFirstChild): Deleted.
(WebCore::Layout::nonCollapsedMarginTop): Deleted.
- 9:27 AM Changeset in webkit [232660] by
-
- 26 edits2 moves in trunk
[Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
https://bugs.webkit.org/show_bug.cgi?id=186436
Reviewed by Anders Carlsson.
Source/JavaScriptCore:
- heap/Heap.cpp: Include FoundationSPI.h rather than directly including
objc-internal.h and explicitly declaring the alternative.
Source/WebCore:
- bridge/objc/objc_class.mm: Use import instead of include.
- bridge/objc/objc_instance.h: Replaced _pool member to hold an object with
m_autoreleasePool member to hold a token from objc_autoreleasePoolPush. Also
initialize all data members here in the class definition.
- bridge/objc/objc_instance.mm:
(ObjcInstance::ObjcInstance): Moved most initialization to class definition.
(ObjcInstance::virtualBegin): Use objc_autoreleasePoolPush instead of
NSAutoreleasePool class.
(ObjcInstance::virtualEnd): Use objc_autoreleasePoolPop.
- bridge/objc/objc_runtime.mm: Use import instead of include.
- bridge/objc/objc_utility.mm: Ditto.
- platform/audio/mac/AudioBusMac.mm:
(WebCore::AudioBus::loadPlatformResource): Use @autoreleasepool.
- platform/ios/wak/WebCoreThread.mm: Re-sorted includes. Removed declaration of
autorelease pool SPI and use FoundationSPI.h instead.
- platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformLazyInit): Use @autoreleasepool.
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj: Removed FoundationSPI.h.
- pal/PlatformMac.cmake: Ditto.
- pal/spi/cocoa/FoundationSPI.h: Moved into WTF project.
Source/WebKitLegacy/mac:
- Carbon/CarbonUtils.m: Updated include location of FoundationSPI.h.
(getNSAutoreleasePoolCount): Use objc_autoreleasePoolPush/Pop.
(WebInitForCarbon): Use objc_autoreleasePoolPush/Pop instead of NSAutoreleasePool object.
(PoolCleaner): Ditto.
- History/WebHistory.mm:
(-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
Use @autoreleasepool instead of NSAutoreleasePool object. No need to do the "drain pool only
every 50 times"; the -[WebHistory loadFromURL] family of methods were once used by Safari, and
now hardly used if at all.
- WebView/WebView.mm:
(-[WebView rectsForTextMatches]): Ditto.
Source/WTF:
- WTF.xcodeproj/project.pbxproj: Added FoundationSPI.h.
- wtf/AutodrainedPool.h: Streamlined header a bit, added some comments.
- wtf/PlatformMac.cmake: Added FoundationSPI.h.
- wtf/cocoa/AutodrainedPool.cpp: Moved here from AutodrainedPoolMac.mm.
(WTF::AutodrainedPool::AutodrainedPool): Use objc_autoreleasePoolPush/Pop instead of
the NSAutoreleasePool class.
(WTF::AutodrainedPool::~AutodrainedPool): Ditto.
- wtf/spi/cocoa/FoundationSPI.h: Moved from Source/WebCore/PAL/pal/spi/cocoa/FoundationSPI.h. Changed both include and declarations so it's the objc_autoreleasePoolPush/Pop instead of the higher level NS functions that call them.
Tools:
- TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsTest.mm:
(TestWebKitAPI::WebKit2CustomProtocolsTest_ProcessPoolDestroyedDuringLoading):
Use @autoreleasepool.
- TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:
(TestWebKitAPI::buildAndPerformTest): Ditto.
- TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm:
(TestWebKitAPI::WebKitLegacy_StopLoadingFromDidFinishLoading): Ditto.
Jun 8, 2018:
- 8:12 PM Changeset in webkit [232659] by
-
- 17 edits in trunk
[WebKit on watchOS] Upstream watchOS source additions to OpenSource (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=186442
<rdar://problem/40879364>
Reviewed by Tim Horton.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
No change in behavior.
- Configurations/FeatureDefines.xcconfig:
- page/DisabledAdaptations.cpp:
(WebCore::extraZoomModeAdaptationName):
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView dismissQuickboardViewControllerAndRevealFocusedFormOverlayIfNecessary:]):
(-[WKContentView quickboard:textEntered:]):
(-[WKContentView quickboardInputCancelled:]):
(-[WKContentView viewController:inputContextViewHeightForSize:]):
(-[WKContentView allowsLanguageSelectionMenuForListViewController:]):
(-[WKContentView inputContextViewForViewController:]):
(-[WKContentView inputLabelTextForViewController:]):
(-[WKContentView initialValueForViewController:]):
(-[WKContentView shouldDisplayInputContextViewForListViewController:]):
(-[WKContentView numericInputModeForListViewController:]):
(-[WKContentView textContentTypeForListViewController:]):
(-[WKContentView textSuggestionsForListViewController:]):
(-[WKContentView listViewController:didSelectTextSuggestion:]):
(-[WKContentView allowsDictationInputForListViewController:]):
- UIProcess/ios/WKScrollView.mm:
(-[WKScrollView initWithFrame:]):
(-[WKScrollView addGestureRecognizer:]):
(-[WKScrollView _configureDigitalCrownScrolling]):
(-[WKScrollView _puic_contentOffsetForCrownInputSequencerOffset:]):
- UIProcess/ios/forms/WKFocusedFormControlView.h:
- UIProcess/ios/forms/WKFocusedFormControlView.mm:
(pathWithRoundedRectInFrame):
(-[WKFocusedFormControlView initWithFrame:delegate:]):
(-[WKFocusedFormControlView handleWheelEvent:]):
(-[WKFocusedFormControlView show:]):
(-[WKFocusedFormControlView hide:]):
(-[WKFocusedFormControlView delegate]):
(-[WKFocusedFormControlView setDelegate:]):
(-[WKFocusedFormControlView dimmingMaskLayer]):
(-[WKFocusedFormControlView handleTap]):
(-[WKFocusedFormControlView _wheelChangedWithEvent:]):
(-[WKFocusedFormControlView didDismiss]):
(-[WKFocusedFormControlView didSubmit]):
(-[WKFocusedFormControlView layoutSubviews]):
(-[WKFocusedFormControlView setHighlightedFrame:]):
(-[WKFocusedFormControlView computeDimmingViewCutoutPath]):
(-[WKFocusedFormControlView disengageFocusedFormControlNavigation]):
(-[WKFocusedFormControlView engageFocusedFormControlNavigation]):
(-[WKFocusedFormControlView reloadData:]):
(-[WKFocusedFormControlView setMaskLayerPosition:animated:]):
(-[WKFocusedFormControlView setHighlightedFrame:animated:]):
(-[WKFocusedFormControlView submitActionName]):
(submitActionNameFontAttributes):
(-[WKFocusedFormControlView setSubmitActionName:]):
(-[WKFocusedFormControlView scrollViewForCrownInputSequencer]):
(-[WKFocusedFormControlView updateViewForCurrentCrownInputSequencerState]):
(-[WKFocusedFormControlView scrollOffsetForCrownInputOffset:]):
(-[WKFocusedFormControlView _crownInputSequencerTimerFired]):
(-[WKFocusedFormControlView cancelPendingCrownInputSequencerUpdate]):
(-[WKFocusedFormControlView scheduleCrownInputSequencerUpdate]):
(-[WKFocusedFormControlView crownInputSequencerOffsetDidChange:]):
(-[WKFocusedFormControlView crownInputSequencerDidBecomeIdle:willDecelerate:]):
(-[WKFocusedFormControlView crownInputSequencerIdleDidChange:]):
(-[WKFocusedFormControlView suggestions]):
(-[WKFocusedFormControlView setSuggestions:]):
(-[WKFocusedFormControlView handleWebViewCredentialsSaveForWebsiteURL:user:password:passwordIsAutoGenerated:]):
(-[WKFocusedFormControlView selectionWillChange:]):
(-[WKFocusedFormControlView selectionDidChange:]):
(-[WKFocusedFormControlView textWillChange:]):
(-[WKFocusedFormControlView textDidChange:]):
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 5:57 PM Changeset in webkit [232658] by
-
- 3 edits in trunk/Source/JavaScriptCore
jumpTrueOrFalse only takes the fast path for boolean false on 64bit LLInt
https://bugs.webkit.org/show_bug.cgi?id=186446
<rdar://problem/40949995>
Patch by Tadeu Zagallo <Tadeu Zagallo> on 2018-06-08
Reviewed by Mark Lam.
On 64bit LLInt, jumpTrueOrFalse did a mask check to take the fast path for
boolean literals, but it would only work for false. Change it so that it
takes the fast path for true, false, null and undefined.
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter64.asm:
- 5:17 PM Changeset in webkit [232657] by
-
- 7 edits in branches/safari-606.1.20-branch/Source
Versioning.
- 5:16 PM Changeset in webkit [232656] by
-
- 1 copy in tags/Safari-606.1.20.2
Tag Safari-606.1.20.2.
- 5:13 PM Changeset in webkit [232655] by
-
- 2 edits in branches/safari-606.1.20-branch/Source/WebCore
Cherry-pick r232649. rdar://problem/40880602
'setRenderPipelineState:' is unavailable: not available on iOS
https://bugs.webkit.org/show_bug.cgi?id=186449
<rdar://problem/40880602>
Reviewed by Simon Fraser.
Be more explicit about the protocol type to avoid
the compiler getting confused by a similar signature.
- platform/graphics/cocoa/GPURenderCommandEncoderMetal.mm: (WebCore::GPURenderCommandEncoder::setRenderPipelineState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:03 PM Changeset in webkit [232654] by
-
- 7 edits in branches/safari-605-branch/Source
Versioning.
- 4:53 PM Changeset in webkit [232653] by
-
- 3 edits2 moves in trunk/PerformanceTests
[MotionMark] Rename Suits test files
https://bugs.webkit.org/show_bug.cgi?id=186447
Reviewed by Said Abou-Hallawa.
- MotionMark/resources/runner/tests.js:
- MotionMark/tests/master/resources/suits.js: Renamed from PerformanceTests/MotionMark/tests/master/resources/svg-particles.js.
- MotionMark/tests/master/suits.html: Renamed from PerformanceTests/MotionMark/tests/master/svg-particles.html.
- MotionMark/tests/svg/suits.html:
- 4:50 PM Changeset in webkit [232652] by
-
- 5 edits in trunk/Source
Only display refresh monitors having requested display refresh callback should get notified on screen updates.
https://bugs.webkit.org/show_bug.cgi?id=186397
<rdar://problem/40897835>
Reviewed by Brent Fulgham.
Since all display refresh monitors in the WebContent process share a single UI process display link,
we should make sure that only the monitors having requested callback are getting notified on screen
updates. I have not been able to reproduce a case where a monitor is being notified without having
requested updates, but we should safeguard the code for future code changes.
Source/WebCore:
No new tests, since this is a safeguarding measure.
- platform/graphics/DisplayRefreshMonitor.h:
(WebCore::DisplayRefreshMonitor::hasRequestedRefreshCallback const):
- platform/graphics/DisplayRefreshMonitorManager.cpp:
(WebCore::DisplayRefreshMonitorManager::displayWasUpdated):
Source/WebKit:
- WebProcess/WebPage/mac/DrawingAreaMac.cpp:
- 4:48 PM Changeset in webkit [232651] by
-
- 1 copy in tags/Safari-605.3.7
Tag Safari-605.3.7.
- 4:30 PM Changeset in webkit [232650] by
-
- 5 edits2 adds in trunk
REGRESSION: Cannot listen to audio on Google Translate with side switch set to "vibrate"
https://bugs.webkit.org/show_bug.cgi?id=186415
<rdar://problem/40584651>
Reviewed by Eric Carlson.
Source/WebCore:
Test: platform/mac/media/audio-session-category-audio-autoplay.html
Make sure that the PlatformMediaSession's state has already been set when calling updateSessionStates().
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::setState):
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
(WebCore::PlatformMediaSessionManager::sessionStateChanged):
LayoutTests:
- platform/mac/media/audio-session-category-audio-autoplay-expected.txt: Added.
- platform/mac/media/audio-session-category-audio-autoplay.html: Added.
- 4:26 PM Changeset in webkit [232649] by
-
- 2 edits in trunk/Source/WebCore
'setRenderPipelineState:' is unavailable: not available on iOS
https://bugs.webkit.org/show_bug.cgi?id=186449
<rdar://problem/40880602>
Reviewed by Simon Fraser.
Be more explicit about the protocol type to avoid
the compiler getting confused by a similar signature.
- platform/graphics/cocoa/GPURenderCommandEncoderMetal.mm:
(WebCore::GPURenderCommandEncoder::setRenderPipelineState):
- 4:18 PM Changeset in webkit [232648] by
-
- 7 edits in branches/safari-606.1.20-branch/Source
Versioning.
- 4:18 PM Changeset in webkit [232647] by
-
- 2 edits in trunk/Source/WebCore
Fix iOS build.
- platform/ios/QuickLookSoftLink.mm: Removed QLPreviousScheme, which I said I did in the
change log but looks like it didn't happen.
- 4:17 PM Changeset in webkit [232646] by
-
- 1 copy in tags/Safari-606.1.20.1
Tag Safari-606.1.20.1.
- 4:12 PM Changeset in webkit [232645] by
-
- 3 edits3 adds in trunk/PerformanceTests
Add sub-tests based on Suits
https://bugs.webkit.org/show_bug.cgi?id=186260
Reviewed by Said Abou-Hallawa.
Add a new developer Suits suite with sub-tests that isolate parts of each particle.
The sub-tests are:
- Particles using only clip paths
- Particles using only shapes
- Particles that have no gradients
- Particles that have no rotation
- Particles that do not move around at all (but all of the physics calculations are still performed)
- MotionMark/resources/debug-runner/tests.js:
- MotionMark/tests/master/resources/svg-particles.js: Rename the stage, particle, and
benchmark to "Suits" from "SVG". Change SuitsParticle so that we guarantee 50% clip and
shape paths rather than relying on random chance. Wrap a check around creation of the
gradient element, and use a simple fill color when we aren't using a gradient.
- MotionMark/tests/svg/suits.html: Added.
- MotionMark/tests/svg/suits.js: Added.
Look for the query string and set the particle based on what is selected.
- 3:30 PM Changeset in webkit [232644] by
-
- 4 edits in trunk/Source/ThirdParty/libwebrtc
[Cocoa] Minor ARC tidying of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186396
Reviewed by Dan Bernstein.
- Configurations/Base.xcconfig: Set CLANG_ENABLE_OBJC_ARC here as we will eventually be
doing in all the various Base.xcconfig files as we make progress on conversion.
- Configurations/libwebrtc.xcconfig: Removed override of CLANG_ENABLE_OBJC_ARC here and
also removed five other redundant settings that match Base.xcconfig.
- libwebrtc.xcodeproj/project.pbxproj: Removed explicit -fobjc-arc that was set on
one particular source file, since that's already the default for the project.
- 3:29 PM Changeset in webkit [232643] by
-
- 12 edits in trunk/Source/WebCore
[Cocoa] Make more of our soft linking ARC-compatible
https://bugs.webkit.org/show_bug.cgi?id=186437
Reviewed by Daniel Bates.
Source/WebCore:
- editing/cocoa/DataDetection.mm:
(WebCore::removeResultLinksFromAnchor): Fix comment referring to unused constant DDURLScheme.
- platform/cocoa/DataDetectorsCoreSoftLink.h: Removed unused DDURLScheme.
- platform/cocoa/DataDetectorsCoreSoftLink.mm: Ditto.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
Use SOFT_LINK_CONSTANT_MAY_FAIL for NSString constants instead of using
SOFT_LINK_POINTER_OPTIONAL. Required moving iOS-specific items inside the
#if PLATFORM(IOS) section.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Use the
canLoad functions instead of checking for null to handle possibly-missing string constants.
(WebCore::metadataType): Ditto.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Removed unused
AVMediaTypeVideo, AVMediaTypeAudio, and AVMediaTypeText soft linking.
- platform/ios/QuickLook.mm:
(WebCore::isQuickLookPreviewURL): Removed unneeded assertion.
- platform/ios/QuickLookSoftLink.h: Removed unneeded QLPreviousScheme, which was used only
for an assertion, one we can do without.
- platform/ios/QuickLookSoftLink.mm: Ditto.
- platform/mediastream/mac/AVVideoCaptureSource.mm: Removed unused soft linking of
AVCaptureVideoPreviewLayer class and AVCaptureSessionPresetLow string constant. Use
SOFT_LINK_CONSTANT_MAY_FAIL for NSString constants instead of using
SOFT_LINK_POINTER_OPTIONAL.
(WebCore::AVVideoCaptureSource::initializeCapabilities): Use the canLoad functions
instead of checking for null to handle possibly-missing string constants.
(WebCore::sizeForPreset): Ditto.
(WebCore::AVVideoCaptureSource::bestSessionPresetForVideoDimensions const): Ditto.
Source/WebCore/PAL:
- pal/spi/cocoa/DataDetectorsCoreSPI.h: Removed unused DDURLScheme.
- 3:11 PM Changeset in webkit [232642] by
-
- 4 edits in trunk/Source/WebCore/PAL
[Mojave] Enable build
https://bugs.webkit.org/show_bug.cgi?id=186401
<rdar://problem/39759031>
Reviewed by Dan Bernstein.
- pal/spi/cg/CoreGraphicsSPI.h: Declare CGSShutdownServerConnections().
- pal/spi/cocoa/QuartzCoreSPI.h: Declare [CAContext setAllowsCGSConnections] in Mojave + builds.
- pal/spi/mac/DataDetectorsSPI.h: Declare DDResultGetCFTypeID in Mojave+ builds.
- 2:26 PM Changeset in webkit [232641] by
-
- 42 edits38 copies27 moves91 adds89 deletes in trunk/LayoutTests
Sync web-platform-tests repo to 197cdad
https://bugs.webkit.org/show_bug.cgi?id=186267
Patch by Brendan McLoughlin <brendan@bocoup.com> on 2018-06-08
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- resources/resource-files.json:
- web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html:
- web-platform-tests/2dcontext/imagebitmap/w3c-import.log:
- web-platform-tests/FileAPI/BlobURL/support/file_test2.txt: Added.
- web-platform-tests/FileAPI/BlobURL/support/w3c-import.log:
- web-platform-tests/FileAPI/FileReader/support/file_test1.txt: Added.
- web-platform-tests/FileAPI/FileReader/workers-expected.txt: Added.
- web-platform-tests/FileAPI/FileReader/workers.html: Added.
- web-platform-tests/FileAPI/blob/Blob-constructor-endings-expected.txt: Added.
- web-platform-tests/FileAPI/blob/Blob-constructor-endings.html: Added.
- web-platform-tests/FileAPI/blob/w3c-import.log:
- web-platform-tests/FileAPI/file/File-constructor-endings-expected.txt: Added.
- web-platform-tests/FileAPI/file/File-constructor-endings.html: Added.
- web-platform-tests/FileAPI/file/send-file-form-expected.txt: Added.
- web-platform-tests/FileAPI/file/send-file-form-iso-2022-jp.tentative-expected.txt: Added.
- web-platform-tests/FileAPI/file/send-file-form-iso-2022-jp.tentative.html: Added.
- web-platform-tests/FileAPI/file/send-file-form-utf-8-expected.txt: Added.
- web-platform-tests/FileAPI/file/send-file-form-utf-8.html: Added.
- web-platform-tests/FileAPI/file/send-file-form-windows-1252.tentative-expected.txt: Added.
- web-platform-tests/FileAPI/file/send-file-form-windows-1252.tentative.html: Added.
- web-platform-tests/FileAPI/file/send-file-form-x-user-defined.tentative-expected.txt: Added.
- web-platform-tests/FileAPI/file/send-file-form-x-user-defined.tentative.html: Added.
- web-platform-tests/FileAPI/file/send-file-form.html: Added.
- web-platform-tests/FileAPI/historical.https-expected.txt:
- web-platform-tests/FileAPI/historical.https.html:
- web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads-expected.txt:
- web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html:
- web-platform-tests/FileAPI/reading-data-section/filereader_readAsBinaryString-expected.txt: Added.
- web-platform-tests/FileAPI/reading-data-section/filereader_readAsBinaryString.html: Added.
- web-platform-tests/FileAPI/reading-data-section/w3c-import.log:
- web-platform-tests/FileAPI/support/send-file-form-helper.js: Added.
(const.formPostFileUploadTest):
- web-platform-tests/FileAPI/support/w3c-import.log:
- web-platform-tests/FileAPI/unicode-expected.txt: Added.
- web-platform-tests/FileAPI/unicode.html: Added.
- web-platform-tests/FileAPI/url/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/FileAPI/BlobURL/support/w3c-import.log.
- web-platform-tests/FileAPI/url/url-in-tags-revoke.window.js: Added.
(async_test.t.frame.onload.t.step_func_done):
(async_test.t.frame.onload.t.step_func):
(async_test.t.add_completion_callback):
(async_test.t.win.onload.t.step_func_done):
(receive_message_on_channel):
(async_test.t.const.blob.new.Blob.window_contents_for_channel):
(async_test.t.e.onload.t.step_func_done):
- web-platform-tests/FileAPI/url/url-in-tags.window.js:
(async_test.t.frame.contentWindow.onscroll.t.step_func_done):
- web-platform-tests/FileAPI/url/url-reload.window.js: Added.
(blob_url_reload_test):
- web-platform-tests/FileAPI/url/w3c-import.log:
- web-platform-tests/FileAPI/w3c-import.log:
- web-platform-tests/IndexedDB/bigint_value-expected.txt: Added.
- web-platform-tests/IndexedDB/bigint_value.htm: Added.
- web-platform-tests/IndexedDB/historical-expected.txt:
- web-platform-tests/IndexedDB/historical.html:
- web-platform-tests/IndexedDB/idbcursor-iterating-update-expected.txt: Added.
- web-platform-tests/IndexedDB/idbcursor-iterating-update.htm: Added.
- web-platform-tests/IndexedDB/interleaved-cursors-common.js: Added.
(objectKey):
(objectValue):
(writeCursorObjects):
(interleaveCursors):
- web-platform-tests/IndexedDB/interleaved-cursors-large-expected.txt: Added.
- web-platform-tests/IndexedDB/interleaved-cursors-large.html: Added.
- web-platform-tests/IndexedDB/interleaved-cursors-small-expected.txt: Added.
- web-platform-tests/IndexedDB/interleaved-cursors-small.html: Added.
- web-platform-tests/IndexedDB/keypath-special-identifiers-expected.txt:
- web-platform-tests/IndexedDB/keypath-special-identifiers.htm:
- web-platform-tests/IndexedDB/keypath.htm:
- web-platform-tests/IndexedDB/support.js:
(add_completion_callback):
(indexeddb_test):
- web-platform-tests/IndexedDB/w3c-import.log:
- web-platform-tests/IndexedDB/wasm-module-value-expected.txt: Added.
- web-platform-tests/IndexedDB/wasm-module-value.html: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker-expected.txt:
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker-expected.txt:
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker-expected.txt:
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker-expected.txt:
- web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes.js:
(run_test):
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.worker-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.worker-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.worker-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.worker-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.worker-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.worker-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.worker-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.worker-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.js: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.worker-expected.txt: Added.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https.html: Removed.
- web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log:
- web-platform-tests/WebIDL/ecmascript-binding/default-iterator-object-expected.txt: Added.
- web-platform-tests/WebIDL/ecmascript-binding/default-iterator-object.html: Added.
- web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object-expected.txt: Added.
- web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html: Added.
- web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any-expected.txt: Added.
- web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.js: Added.
(test):
(test.regExp.Symbol.iterator):
(promise_test.async):
- web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.worker-expected.txt: Added.
- web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
- web-platform-tests/WebIDL/ecmascript-binding/w3c-import.log:
- web-platform-tests/background-fetch/interfaces.html:
- web-platform-tests/background-fetch/interfaces.worker.js:
(promise_test.async):
(promise_test): Deleted.
- web-platform-tests/beacon/OWNERS: Added.
- web-platform-tests/beacon/beacon-common.sub.js:
- web-platform-tests/beacon/beacon-cors.sub.window.js:
(runTests.self.buildId):
(runTests.self.buildBaseUrl):
(runTests.self.buildTargetUrl):
(runTests):
- web-platform-tests/beacon/beacon-error.window.js:
(promise_test.async):
- web-platform-tests/beacon/beacon-navigate-expected.txt:
- web-platform-tests/beacon/headers/header-content-type.html:
- web-platform-tests/beacon/resources/beacon.py:
(main):
- web-platform-tests/beacon/w3c-import.log:
LayoutTests:
- TestExpectations:
- platform/ios/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-large-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-small-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker-expected.txt: Removed.
- platform/mac/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt:
- 2:08 PM Changeset in webkit [232640] by
-
- 19 edits5 adds in trunk/Source
[Datalist] Allow TextFieldInputType to show and hide suggestions
https://bugs.webkit.org/show_bug.cgi?id=186151
Patch by Aditya Keerthi <Aditya Keerthi> on 2018-06-08
Reviewed by Tim Horton.
Source/WebCore:
TextFieldInputTypes with a list attribute should be able to display suggestions as the user
interacts with the input field. In order to display suggestions for an input field with a list
attribute, we need provide certain information - including the items to suggest and the location
to present the suggestions. TextFieldInputType can now provide this information by conforming to
the DataListSuggestionsClient interface.
In this initial patch, the suggestions can be shown in two ways. The first is by clicking on the
input field. The other is by typing text in the field. In a later patch, we will add a third way
to display suggestions, using a button. These ways to activate the suggestions are enumerated in
DataListSuggestionInformation.
We hide the suggestions if there are no more to show, or if the input has blurred.
Tests to be added once work has been done in the UIProcess.
- WebCore.xcodeproj/project.pbxproj:
- html/DataListSuggestionInformation.h: Added. Contains the information necessary to display suggestions.
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::~TextFieldInputType):
(WebCore::TextFieldInputType::handleClickEvent): Show suggestions when the element is clicked.
(WebCore::TextFieldInputType::handleKeydownEvent): Allow users to interact with the suggestions using the keyboard.
(WebCore::TextFieldInputType::elementDidBlur): Hide the suggestions.
(WebCore::TextFieldInputType::shouldRespectListAttribute):
(WebCore::TextFieldInputType::didSetValueByUserEdit): Update the suggestions if the text has changed.
(WebCore::TextFieldInputType::elementRectRelativeToRootView const): Provide the location where the suggestions should be shown.
(WebCore::TextFieldInputType::suggestions const): Provide the list of suggestions.
(WebCore::TextFieldInputType::didSelectDataListOption): Update the text once an suggestion has been selected.
(WebCore::TextFieldInputType::didCloseSuggestions):
(WebCore::TextFieldInputType::displaySuggestions):
(WebCore::TextFieldInputType::closeSuggestions):
- html/TextFieldInputType.h:
- loader/EmptyClients.cpp:
(WebCore::EmptyChromeClient::createDataListSuggestionPicker):
- loader/EmptyClients.h:
- page/Chrome.cpp:
(WebCore::Chrome::createDataListSuggestionPicker):
- page/Chrome.h:
- page/ChromeClient.h:
- platform/DataListSuggestionPicker.h: Added.
(WebCore::DataListSuggestionPicker::close):
(WebCore::DataListSuggestionPicker::handleKeydownWithIdentifier):
(WebCore::DataListSuggestionPicker::displayWithActivationType):
- platform/DataListSuggestionsClient.h: Added.
Source/WebKit:
Added WebDataListSuggestionPicker to send messages to the UIProcess in order to update the suggestions view.
This object is also responsible for forwarding messages from WebKit into the DataListSuggestionsClient, which
is the TextFieldInputType in this case. The client needs to know when the suggestions are hidden or if an
suggestion has been selected.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createDataListSuggestionPicker): Responsible for creating WebDataListSuggestionPicker to send/receive messages.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebDataListSuggestionPicker.cpp: Added. Responsible for sending messages to UIProcess and updating the DataListSuggestionsClient.
(WebKit::WebDataListSuggestionPicker::WebDataListSuggestionPicker):
(WebKit::WebDataListSuggestionPicker::~WebDataListSuggestionPicker):
(WebKit::WebDataListSuggestionPicker::handleKeydownWithIdentifier):
(WebKit::WebDataListSuggestionPicker::didSelectOption):
(WebKit::WebDataListSuggestionPicker::didCloseSuggestions):
(WebKit::WebDataListSuggestionPicker::close):
(WebKit::WebDataListSuggestionPicker::displayWithActivationType):
- WebProcess/WebCoreSupport/WebDataListSuggestionPicker.h: Added.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setActiveDataListSuggestionPicker):
(WebKit::WebPage::didSelectDataListOption): Called by UIProcess when option selected.
(WebKit::WebPage::didCloseSuggestions): Called by UIProcess if the suggestions view is closed.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createDataListSuggestionPicker):
- 2:06 PM Changeset in webkit [232639] by
-
- 3 edits in trunk/Source/WebKit
[Win] Fix initial value of HANDLE to INVALID_HANDLE_VALUE
https://bugs.webkit.org/show_bug.cgi?id=186405
The handle was not initialized at all. Initialized with INVALID_HANDLE_VALUE.
Reviewed by Per Arne Vollan.
- Platform/IPC/Attachment.h:
- Platform/IPC/win/AttachmentWin.cpp:
(IPC::Attachment::decode):
- 1:59 PM Changeset in webkit [232638] by
-
- 3 edits in trunk/LayoutTests
http/tests/navigation/https-no-store-subframe-in-page-cache.html fails with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=186440
Reviewed by Geoffrey Garen.
Override the PageCache setting *after* the cross-origin navigation. It was previously
overriden before the navigation and thus would not persist with process swap on navigation
enabled.
- http/tests/navigation/https-no-store-subframe-in-page-cache.html:
- http/tests/navigation/resources/https-no-store-subframe-in-page-cache.html:
- 1:59 PM Changeset in webkit [232637] by
-
- 3 edits in trunk/LayoutTests
http/tests/cache/partitioned-cache.html fails with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=186438
Reviewed by Geoffrey Garen.
http/tests/cache/partitioned-cache.html was overriding a setting then navigating
cross-origin, expecting the setting override to persist. However, with process
swap on navigation enabled, the setting does not persist. To address the issue,
we override the setting again in the document we navigate to.
- http/tests/cache/partitioned-cache-expected.txt:
- http/tests/cache/resources/partitioned-cache-loader.html:
- 1:46 PM Changeset in webkit [232636] by
-
- 9 edits in trunk/Source
[Cocoa] Web Automation: include browser name and version in listing for automation targets
https://bugs.webkit.org/show_bug.cgi?id=186204
<rdar://problem/36950423>
Reviewed by Darin Adler.
Source/JavaScriptCore:
Ask the client what the reported browser name and version should be, then
send this as part of the listing for an automation target.
- inspector/remote/RemoteInspectorConstants.h:
- inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::listingForAutomationTarget const):
Source/WebKit:
Add a new delegate method that allows the client to set the name and version
of the browser as returned in the 'browserName' and 'browserVersion' capabilities.
If the delegate methods are not implemented, try to get this information from
the main bundle.
In the RWI protocol, these fields are added to automation target listings.
- UIProcess/API/Cocoa/_WKAutomationDelegate.h:
- UIProcess/Cocoa/AutomationClient.h:
- UIProcess/Cocoa/AutomationClient.mm:
(WebKit::AutomationClient::AutomationClient):
(WebKit::AutomationClient::browserName const):
(WebKit::AutomationClient::browserVersion const):
Source/WTF:
- wtf/spi/cf/CFBundleSPI.h: Add needed infoDictionary key values.
- 1:36 PM Changeset in webkit [232635] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(macOS Mojave): move-by-word-visually-inline-block-positioned-element.html fails
https://bugs.webkit.org/show_bug.cgi?id=186424
Reviewed by Wenson Hsieh.
The test failure is ultimately caused by the change in ICU's behavior. With the CPU in the latest macOS Mojave,
ubrk_getRuleStatus returns 200 / UBRK_WORD_LETTER at the end of a buffer given to UBreakIterator. This caused
isWordTextBreak to return true instead of false in isLogicalStartOfWord at the end of the buffer.
This ICU behavior shouldn't have caused a problem in theory. However, WebKit had a bug in visualWordPosition which
caused UBreakIterator to not include the succeeding word when traversing words to the left (backwards in LTR text)
at the beginning of the last block element with exactly one line box after an non-statically positioned element.
In this case, visualWordPosition invokes wordBreakIteratorForMaxOffsetBoundary (because adjacentCharacterPosition
is now at the end of the last word in the non-statically positioned element) to setup UBreakIterator. Because
there are no line boxes left in the current line (in the last block element with exactly one line box),
logicallyNextBox enters the while loop and invoke nextRootInlineBoxCandidatePosition to find the next root line box.
However, the visible position given to this function is at the beginning of the first word in the block element.
As a result, nextRootInlineBoxCandidatePosition skips over this entire line and finds no line box after the one
we had in the non-statically positioned element.
Let us consider the following concrete example in which a position: static div is followed by another div, and each
div contains text nodes "hello" and "world" respectively:
- div position: static (1)
- "hello"
- div (2)
- "world"
Suppose we're at the offset 0 of "world", and trying to move to the left. In this case, adjacentCharacterPosition is
at offset 5 of "world". The next line box should be that of "world". However, because we invoke logicallyNextBox via
wordBreakIteratorForMaxOffsetBoundary with the visible position at offset 0 of "world", it skips this line and return
nullptr.
This patch addresses this test failure by fixing visualWordPosition by passing adjacentCharacterPosition (at offset 5
of "hello") as the visible position to find the next text box so that nextRootInlineBoxCandidatePosition invoked in
logicallyNextBox would not skip the line ("world") from which we started the traversal to find the next line box.
Tests: editing/selection/move-by-word-visually-inline-block-positioned-element.html
- editing/VisibleUnits.cpp:
(WebCore::visualWordPosition):
- 11:45 AM Changeset in webkit [232634] by
-
- 9 edits in trunk/Source/WebKit
Run display links in the UI process when ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING) is true.
https://bugs.webkit.org/show_bug.cgi?id=186379
Reviewed by Brent Fulgham.
Replace MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 with ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING).
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchActivityStateChange):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/mac/DisplayLink.cpp:
- UIProcess/mac/DisplayLink.h:
- UIProcess/mac/WebPageProxyMac.mm:
- WebProcess/WebPage/DrawingArea.cpp:
- WebProcess/WebPage/mac/DrawingAreaMac.cpp:
- 11:37 AM Changeset in webkit [232633] by
-
- 2 edits in trunk/Tools
[GTK] Update to libva-2.1.0 in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=186434
Reviewed by Philippe Normand.
- gstreamer/jhbuild.modules:
- 11:30 AM Changeset in webkit [232632] by
-
- 3 edits in trunk/Source/WebKit
Send display link IPC message from display link thread.
https://bugs.webkit.org/show_bug.cgi?id=186429
Reviewed by Geoffrey Garen.
When the display link callback is firing on the display link thread in the UI process,
we schedule a function to be called on the main thread to send the IPC message to the
WebContent process. Since Connection::send is thread-safe, we can just send the message
from the display link thread, instead. This should be a small performance improvement.
- UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::DisplayLink):
(WebKit::DisplayLink::displayLinkCallback):
- UIProcess/mac/DisplayLink.h:
- 11:29 AM Changeset in webkit [232631] by
-
- 13 edits in branches/safari-606.1.20-branch
Cherry-pick r232585. rdar://problem/39117121
Remove unused debug mode conditions
https://bugs.webkit.org/show_bug.cgi?id=186358
<rdar://problem/39117121>
Reviewed by Zalan Bujtas.
Source/WebKit:
Remove some unused code paths related to ResourceLoadStatistics debug mode.
- UIProcess/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::logUserInteraction): (WebKit::WebResourceLoadStatisticsStore::shouldPartitionCookies const):
LayoutTests:
Rebase test expectations after behavior change.
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-expected.txt:
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html:
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt:
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
- http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt:
- http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:
- http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt:
- http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html:
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction-expected.txt
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:29 AM Changeset in webkit [232630] by
-
- 2 edits in branches/safari-606.1.20-branch/Source/WebKit
Cherry-pick r232564. rdar://problem/39791647
Crash in lambda function WTF::Function<void ()>::CallableWrapper<WebKit::DisplayLink::displayLinkCallback
https://bugs.webkit.org/show_bug.cgi?id=186370
<rdar://problem/39791647>
Reviewed by Brent Fulgham.
When the display link is firing, the callback function is called on the display link thread, where a lambda function
is created to be executed on the main thread. The WebPageProxy object is captured as a RefPtr in the lambda. This
might crash when executing on the main thread, since the WebPageProxy object is possibly deleted then. Capturing
the WebPageProxy will not prevent the object from being deleted if the destruction of the WebPageProxy object already
has started on the main thread when the object is captured, which sometimes is the case. Instead, we can create a
weak pointer to the object, which will work as intended, even if the WebPageProxy object is in the process of being
deleted. This also matches the display link implementation used when the WebContent process has access to the
WindowServer. This is not a frequent crash. I have not been able to reproduce it.
- UIProcess/mac/DisplayLink.cpp: (WebKit::DisplayLink::displayLinkCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:23 AM Changeset in webkit [232629] by
-
- 3 edits in trunk/Websites/perf.webkit.org
CommitSet range bisector should use commits occur in commit sets which specify the range as valid commits for commits without ordering.
https://bugs.webkit.org/show_bug.cgi?id=186062
Reviewed by Ryosuke Niwa.
For commits without ordering, we should use the commits occurs in the commit sets which specify the range as valid commits.
Commit sets in range should only contain those valid commits for corresponding repositories.
- public/v3/commit-set-range-bisector.js: Updated logic to add check on commits without ordering.
(CommitSetRangeBisector.async.commitSetClosestToMiddleOfAllCommits):
- unit-tests/commit-set-range-bisector-tests.js: Added a unit test for this case.
- 11:20 AM Changeset in webkit [232628] by
-
- 6 edits3 adds in trunk/Source/WebCore
REGRESSION (r230930): Link drag image is very blurry
https://bugs.webkit.org/show_bug.cgi?id=186435
<rdar://problem/40797202>
Reviewed by Tim Horton.
Source/WebCore:
Tell NSImage the proper display scale factor it needs when performing a 'lockFocus' by passing
the correct scaling transform as an NSImageHintCTM.
I reviewed the other drag operations (selection, image, and attachment) and confirmed through
manual testing that these operations already properly scale the images. It appears that links
were the only place where we relied on NSImage to determine and use the relevant device scale
factor.
- SourcesCocoa.txt: Add new WebKitNSImageExtras.mm file.
- WebCore.xcodeproj/project.pbxproj: Update for new files.
- platform/graphics/mac/WebKitNSImageExtras.h: Added.
- platform/graphics/mac/WebKitNSImageExtras.mm: Added.
(-[NSImage _web_lockFocusWithTransform:]): Helper method that takes a device scale factor, creates the
relevant scaling NSAffineTransform and passes it to the internal NSImage 'lockFocusWithRect' as the
NSImageHintCTM hint.
- platform/mac/DragImageMac.mm:
(WebCore::createDragImageForLink): Use the new helper function.
Source/WebCore/PAL:
Add the necessary NSImage SPI to our SPI headers.
- PAL.xcodeproj/project.pbxproj:
- pal/spi/mac/NSImageSPI.h: Added.
- 10:30 AM Changeset in webkit [232627] by
-
- 7 edits in trunk/Source
Versioning.
- 10:23 AM Changeset in webkit [232626] by
-
- 3 edits in trunk/Source/bmalloc
[Cocoa] Turn on ARC for the single Objective-C++ source file in bmalloc
https://bugs.webkit.org/show_bug.cgi?id=186398
Reviewed by Saam Barati.
- Configurations/Base.xcconfig: Turn on ARC.
- bmalloc/ProcessCheck.mm:
(bmalloc::gigacageEnabledForProcess): Removed the globals from this function,
since it's only called once. If it was called more than once, we could optimize
that with a single boolean global rather than two strings and two booleans.
- 10:17 AM Changeset in webkit [232625] by
-
- 2 edits in branches/safari-606.1.20-branch/Source/WebKit
Cherry-pick r232601. rdar://problem/40907111
REGRESSION (r232544): Pages are blank after homing out and then resuming on iPad
https://bugs.webkit.org/show_bug.cgi?id=186408
<rdar://problem/40907111>
Reviewed by Wenson Hsieh.
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _resizeWhileHidingContentWithUpdates:]): Clients who use _resizeWhileHidingContentWithUpdates don't call _endAnimatedResize; the former API is a one-shot. We can't wait for _endAnimatedResize to complete the animation (and don't need to, since the content is hidden), but instead should just finish it when the commit with the resized tiles arrives.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:16 AM Changeset in webkit [232624] by
-
- 17 edits1 add in branches/safari-606.1.20-branch/Source/WebKit
Cherry-pick r232556. rdar://problem/38477288
Cherry-pick r232544. rdar://problem/38477288
Move animated resize into the layer tree transaction, and make it asynchronous
https://bugs.webkit.org/show_bug.cgi?id=186130
<rdar://problem/38477288>
Reviewed by Simon Fraser.
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h: (WebKit::RemoteLayerTreeTransaction::setScrollPosition): (WebKit::RemoteLayerTreeTransaction::dynamicViewportSizeUpdateID const): (WebKit::RemoteLayerTreeTransaction::setDynamicViewportSizeUpdateID):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm: (WebKit::RemoteLayerTreeTransaction::encode const): (WebKit::RemoteLayerTreeTransaction::decode):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::willCommitLayerTree): Add scrollPosition to the transaction on all platforms, not just Mac. Add the optional dynamicViewportSizeUpdateID to the transaction, representing the most recent dynamicViewportSizeUpdate that commit contains, if any.
- Shared/ios/DynamicViewportSizeUpdate.h: Added a typedef for DynamicViewportSizeUpdateID, and move the mode enum here.
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::dynamicViewportUpdateChangedTarget): Deleted.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetState):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::dynamicViewportSizeUpdate): (WebKit::WebPageProxy::didCommitLayerTree): (WebKit::WebPageProxy::synchronizeDynamicViewportUpdate): Deleted. (WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::dynamicViewportSizeUpdate): (WebKit::WebPage::synchronizeDynamicViewportUpdate): Deleted. Remove dynamicViewportUpdateChangedTarget and synchronizeDynamicViewportUpdate. Move dynamicViewportSizeUpdateID maintenance into WKWebView.
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _processDidExit]): Remove _resizeAnimationTransformTransactionID. We now instead pack the resize ID inside the transaction, instead of separately sending back a transaction ID to wait for.
(-[WKWebView _didCommitLayerTreeDuringAnimatedResize:]):
(-[WKWebView _didCommitLayerTree:]):
Added, factored out of _didCommitLayerTree:.
If the transaction includes the result of the most recently-sent resize,
store the requisite adjustments required to counter the new scale and
scroll offset, update the resizeAnimationView, and, if endAnimatedResize
has already been called, call _didCompleteAnimatedResize to tear down
the animation view and put things back together.
Add some code so that if a commit arrives before the resize, we update
the scale of the resize animation view to keep the width fitting.
(activeMaximumUnobscuredSize):
(activeOrientation):
Move these because the code that depends on them moved.
(-[WKWebView _didCompleteAnimatedResize]):
Broken out of _endAnimatedResize. This can now be called from
either endAnimatedResize or _didCommitLayerTreeDuringAnimatedResize,
depending on which is called first.
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
Don't create a new resize view if we still have one. Otherwise, we'll
get the view ordering all wrong when making the second one. This
didn't previously cause trouble, because we don't have a lot of
WKScrollView subviews, but it totally could.
Adopt _initialContentOffsetForScrollView just to make this code more clear.
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:nextValidLayerTreeTransactionID:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
git-svn-id: https://svn.webkit.org/repository/webkit/tags/Safari-606.1.20@232556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:16 AM Changeset in webkit [232623] by
-
- 2 edits in branches/safari-606.1.20-branch/Source/WebKit
Cherry-pick r232606. rdar://problem/40226192
Match HI spec for thumbnail view sizing and location
https://bugs.webkit.org/show_bug.cgi?id=186412
<rdar://problem/40226192>
Reviewed by Tim Horton.
Use the computed obscured inset to position the QuickLook
view inside the WKSystemPreviewView.
- UIProcess/ios/WKSystemPreviewView.mm: (-[WKSystemPreviewView web_setContentProviderData:suggestedFilename:]): (-[WKSystemPreviewView _layoutThumbnailView]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:14 AM Changeset in webkit [232622] by
-
- 7 edits in branches/safari-606.1.20-branch/Source
Versioning.
- 9:51 AM Changeset in webkit [232621] by
-
- 1 copy in branches/safari-606.1.20-branch
New branch.
- 9:35 AM Changeset in webkit [232620] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Add vertical margin computation for inline, block-level, inline-block and floating replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186432
Reviewed by Antti Koivisto.
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin): Use the computed non-auto values when margin is not auto.
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedHorizontalMarginValue):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedVerticalMarginValue):
- 8:27 AM WebKitGTK/2.20.x edited by
- (diff)
- 1:47 AM Changeset in webkit [232619] by
-
- 11 edits3 adds in trunk
[WTF] Add WorkerPool
https://bugs.webkit.org/show_bug.cgi?id=174569
Reviewed by Carlos Garcia Campos.
Source/WebCore:
We start using WorkerPool for NicosiaPaintingEngineThreaded instead of glib thread pool.
This makes NicosiaPaintingEngineThreaded platform-independent and usable for WinCairo.
- platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp:
(Nicosia::PaintingEngineThreaded::PaintingEngineThreaded):
(Nicosia::PaintingEngineThreaded::~PaintingEngineThreaded):
(Nicosia::PaintingEngineThreaded::paint):
(Nicosia::s_threadFunc): Deleted.
- platform/graphics/nicosia/NicosiaPaintingEngineThreaded.h:
Source/WTF:
This patch adds WorkerPool, which is a thread pool that consists of AutomaticThread.
Since it is based on AutomaticThread, this WorkerPool can taketimeout
: oncetimeout
passes without any tasks, threads in WorkerPool will be destroyed.
We add shouldSleep handler to AutomaticThread to make destruction of threads in WorkerPool moderate.
Without this, all threads are destroyed at once aftertimeout
passes.
- WTF.xcodeproj/project.pbxproj:
- wtf/AutomaticThread.cpp:
(WTF::AutomaticThread::AutomaticThread):
(WTF::AutomaticThread::start):
- wtf/AutomaticThread.h:
- wtf/CMakeLists.txt:
- wtf/WorkerPool.cpp: Added.
(WTF::WorkerPool::WorkerPool):
(WTF::WorkerPool::~WorkerPool):
(WTF::WorkerPool::shouldSleep):
(WTF::WorkerPool::postTask):
- wtf/WorkerPool.h: Added.
(WTF::WorkerPool::create):
Tools:
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/WorkerPool.cpp: Added.
(TestWebKitAPI::TEST):
- 12:59 AM Changeset in webkit [232618] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Wrong result when calling ImageBufferCairo's getImageData()
https://bugs.webkit.org/show_bug.cgi?id=186384
Reviewed by Michael Catanzaro.
Fix calculations so the result is the expected one.
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::getImageData):