Timeline
Aug 13, 2018:
- 11:53 PM Changeset in webkit [234838] by
-
- 2 edits in trunk/Source/WebDriver
WebDriver: do not try to set the caret when focusing non text element in send keys command
https://bugs.webkit.org/show_bug.cgi?id=188515
Reviewed by Brian Burg.
It causes a type error exception.
- Session.cpp:
(WebDriver::Session::elementSendKeys):
- 11:51 PM Changeset in webkit [234837] by
-
- 2 edits in trunk/Source/WebDriver
WebDriver: include all capabilities in the new session response
https://bugs.webkit.org/show_bug.cgi?id=188511
Reviewed by Brian Burg.
As expected by the tests, using the default values when the capability is not provided by the user.
- WebDriverService.cpp:
(WebDriver::WebDriverService::createSession):
- 11:49 PM Changeset in webkit [234836] by
-
- 6 edits in trunk
WebDriver: several element_send_keys tests are failing since added
https://bugs.webkit.org/show_bug.cgi?id=181644
Reviewed by Michael Catanzaro.
This is because we are implementing an old version of the spec that received a "value" parameter to send keys
command, instead of the "text" one.
14.3 Element Send Keys
https://w3c.github.io/webdriver/#element-send-keys
- Session.cpp:
(WebDriver::Session::virtualKeyForKey): Receive a single character instead of a sequence.
(WebDriver::Session::elementSendKeys): It now receives a String and passes every character to virtualKeyForKey.
(WebDriver::Session::performActions): Pass first character of sequence to virtualKeyForKey.
- Session.h:
- WebDriverService.cpp:
(WebDriver::WebDriverService::elementSendKeys): Get text as a String, instead of value as an array.
- 10:55 PM Changeset in webkit [234835] by
-
- 2 edits in trunk/Source/WTF
Meaning of OptionSet::contains is unclear when used with OptionSet argument
https://bugs.webkit.org/show_bug.cgi?id=188501
<rdar://problem/43246242>
Reviewed by Simon Fraser.
MSVC is unable to compile contains using an initializer_list within a lambda.
- wtf/OptionSet.h:
(WTF::OptionSet::contains const):
- 6:47 PM Changeset in webkit [234834] by
-
- 6 edits in trunk/Source/WebCore
[LFC][Floating] Do not confuse clear with clearance.
https://bugs.webkit.org/show_bug.cgi?id=188541
Reviewed by Simon Fraser.
clear -> CSS property.
clearance -> the offset required to avoid floats when clear is present.
- layout/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::verticalPositionWithClearance const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::computeVerticalPositionForClear const):
(WebCore::Layout::BlockFormattingContext::computeVerticalPositionWithClearance const): Deleted.
- layout/blockformatting/BlockFormattingContext.h:
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::hasClear const):
(WebCore::Layout::Box::hasClearance const): Deleted.
- layout/layouttree/LayoutBox.h:
- 5:59 PM Changeset in webkit [234833] by
-
- 2 edits in trunk/PerformanceTests
Update MotionMark version number
https://bugs.webkit.org/show_bug.cgi?id=188535
<rdar://problem/43254078>
Reviewed by Said Abou-Hallawa.
- MotionMark/resources/strings.js: To 1.1.
- 5:58 PM Changeset in webkit [234832] by
-
- 3 edits2 adds in trunk/PerformanceTests
[MotionMark] Update Multiply test
https://bugs.webkit.org/show_bug.cgi?id=188532
<rdar://problem/43252151>
Reviewed by Said Abou-Hallawa.
Update Multiply test to have a larger upper limit of number of particles. Cycle through three
different ways of hiding an element. Add new Multiple suite that isolates those components for
debugging purposes.
- MotionMark/resources/debug-runner/tests.js:
- MotionMark/tests/dom/multiply.html: Added.
- MotionMark/tests/dom/resources/multiply.js: Added.
- MotionMark/tests/master/resources/multiply.js:
- 5:39 PM Changeset in webkit [234831] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Crash at -[UIViewController _presentViewController:withAnimationController:completion:]
https://bugs.webkit.org/show_bug.cgi?id=188537
<rdar://problem/41400259>
Patch by James Savage <James Savage> on 2018-08-13
Reviewed by Tim Horton.
- platform/ios/ValidationBubbleIOS.mm:
(WebCore::ValidationBubble::show): Avoid hitting a UIKit exception for
presenting an already presented view controller by turning the scenario
into an early return.
- 5:02 PM Changeset in webkit [234830] by
-
- 7 edits in tags/Safari-607.1.2.1/Source
Versioning.
- 5:00 PM Changeset in webkit [234829] by
-
- 1 copy in tags/Safari-607.1.2.1
New tag.
- 4:56 PM Changeset in webkit [234828] by
-
- 1 copy in tags/Safari-606.1.36.2.2
Tag Safari-606.1.36.2.2.
- 4:45 PM Changeset in webkit [234827] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
[WPT] Ensure templated tests do set a Content-Type: text/html HTTP header
https://bugs.webkit.org/show_bug.cgi?id=188523
Reviewed by Alexey Proskuryakov.
Importing change made in https://github.com/web-platform-tests/wpt/pull/12450
This helps running WPT tests in more platforms.
- web-platform-tests/tools/serve/serve.py:
(HtmlWrapperHandler):
- 4:37 PM Changeset in webkit [234826] by
-
- 1 copy in tags/Safari-606.1.36.1.5
Tag Safari-606.1.36.1.5.
- 4:36 PM Changeset in webkit [234825] by
-
- 9 edits in trunk/Source/WebCore
Make CSSSelectorList a little more sane
https://bugs.webkit.org/show_bug.cgi?id=188539
Reviewed by Simon Fraser.
This patch does four things:
- Use a UniqueArray<CSSSelector> instead of a raw pointer and manually calling destructors.
- Use move semantics a little bit better.
- Add a CSSSelectorList&& to the StyleRule and StyleRulePage because every time we create either
one of those objects we call a setter to give it a CSSSelectorList. That's what constructor arguments are for.
- Don't use CSSSelectorList.componentCount(), which iterates all components, to determine if it's empty.
Use first() instead.
- css/CSSPageRule.cpp:
(WebCore::CSSPageRule::setSelectorText):
- css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::CSSSelectorList):
(WebCore::CSSSelectorList::componentCount const):
(WebCore::CSSSelectorList::listSize const):
(WebCore::CSSSelectorList::operator=):
(WebCore::CSSSelectorList::deleteSelectors): Deleted.
- css/CSSSelectorList.h:
(WebCore::CSSSelectorList::CSSSelectorList):
(WebCore::CSSSelectorList::first const):
(WebCore::CSSSelectorList::indexOfNextSelectorAfter const):
(WebCore::CSSSelectorList::~CSSSelectorList): Deleted.
(WebCore::CSSSelectorList::adoptSelectorArray): Deleted.
(WebCore::CSSSelectorList::hasOneSelector const): Deleted.
- css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
- css/StyleRule.cpp:
(WebCore::StyleRule::StyleRule):
(WebCore::StyleRule::createForSplitting):
(WebCore::StyleRulePage::StyleRulePage):
- css/StyleRule.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumePageRule):
(WebCore::CSSParserImpl::consumeStyleRule):
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumePseudo):
- 4:15 PM Changeset in webkit [234824] by
-
- 2 edits in trunk/Tools
Allow the substring 'me' in contributor names and email addresses
https://bugs.webkit.org/show_bug.cgi?id=188538
Patch by Thomas Denney <tdenney@apple.com> on 2018-08-13
Reviewed by Tim Horton.
A test didn't permit the string "me" in email addresses or names of contributors.
- Scripts/webkitpy/common/config/committers_unittest.py:
(CommittersTest.test_contributors_by_fuzzy_match):
- 4:02 PM Changeset in webkit [234823] by
-
- 5 edits in trunk/PerformanceTests
[MotionMark] Update Leaves test
https://bugs.webkit.org/show_bug.cgi?id=188530
<rdar://problem/43251862>
Reviewed by Said Abou-Hallawa.
Update Leaves test to include opacity and scale. Add new Leaves suite that isolate those components
for debugging purposes.
- MotionMark/resources/debug-runner/tests.js:
- MotionMark/tests/dom/leaves.html:
- MotionMark/tests/dom/resources/leaves.js:
- MotionMark/tests/master/resources/leaves.js:
- 3:44 PM Changeset in webkit [234822] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Table should handle row selection instead of the table delegate
https://bugs.webkit.org/show_bug.cgi?id=188534
<rdar://problem/43253335>
Reviewed by Joseph Pecoraro.
Row selection should be implemented by Table, rather than its delegate.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype.tableShouldSelectRow):
(WI.NetworkTableContentView.prototype.tableCellMouseDown): Deleted.
Prevent selection unless the clicked cell belongs to the name column.
- UserInterface/Views/ResourceCookiesContentView.js:
(WI.ResourceCookiesContentView.prototype.tableShouldSelectRow):
Always prevent selection.
- UserInterface/Views/Table.js:
(WI.Table):
(WI.Table.prototype._handleMouseDown):
- 3:29 PM Changeset in webkit [234821] by
-
- 8 edits2 adds in trunk/LayoutTests
[macOS debug] LayoutTest inspector/worker/resources-in-worker.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=168091
Reviewed by Devin Rousso.
- inspector/worker/resources-in-worker-expected.txt:
- inspector/worker/resources-in-worker.html:
- inspector/worker/resources/resource-utilities.js:
- inspector/worker/resources/worker-resources.js:
Be a little more careful about proceeding with tests after starting the Worker.
Fix the resource load from the main target to actually load a real resource.
- inspector/dom-debugger/resources/dataXHR.json: Added.
- inspector/dom-debugger/xhr-breakpoints.html:
Load an actual resource.
- platform/gtk/TestExpectations:
- platform/mac/TestExpectations:
This test always passes for me in Release and Debug. Reset expectations.
- 3:17 PM Changeset in webkit [234820] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r234812.
https://bugs.webkit.org/show_bug.cgi?id=188536
broke the build (Requested by ThomasDenney on #webkit).
Reverted changeset:
"Added Thomas Denney to contributors.json."
https://bugs.webkit.org/show_bug.cgi?id=188525
https://trac.webkit.org/changeset/234812
- 3:16 PM Changeset in webkit [234819] by
-
- 2 edits in trunk/Tools
Avoid timeout resulted from calling waitUntilDone when test is not running
https://bugs.webkit.org/show_bug.cgi?id=188389
Reviewed by Chris Dumez.
If test is not running, we should not set the waitUntilDone flag, or it may cause subsequent tests timeout.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::waitUntilDone):
- 3:02 PM Changeset in webkit [234818] by
-
- 9 edits in trunk
[IntersectionObserver] Validate threshold values
https://bugs.webkit.org/show_bug.cgi?id=188475
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Update expectation for newly passing test case.
- web-platform-tests/intersection-observer/observer-exceptions-expected.txt:
- web-platform-tests/intersection-observer/observer-exceptions.html: Fix typo already fixed upstream.
Source/WebCore:
Throw an exception if any of an IntersectionObserver's thresholds are outside
the range [0, 1].
Tested by: imported/w3c/web-platform-tests/intersection-observer/observer-exceptions.html
intersection-observer/intersection-observer-interface.html
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::create):
(WebCore::IntersectionObserver::IntersectionObserver):
- page/IntersectionObserver.h:
LayoutTests:
Add test coverage for interesting floating point threshold values.
- intersection-observer/intersection-observer-interface-expected.txt:
- intersection-observer/intersection-observer-interface.html:
- 2:17 PM Changeset in webkit [234817] by
-
- 5 edits in trunk/Source/WebCore
Remove unused CSSSelector::parseNth
https://bugs.webkit.org/show_bug.cgi?id=188529
Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-13
Reviewed by Simon Fraser.
This was conceptually replaced by the call to setNth in CSSSelectorParser::consumePseudo.
- css/CSSSelector.cpp:
(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::setNth):
(WebCore::CSSSelector::nthA const):
(WebCore::CSSSelector::nthB const):
(WebCore::CSSSelector::parseNth const): Deleted.
(WebCore::CSSSelector::RareData::parseNth): Deleted.
- css/CSSSelector.h:
(WebCore::CSSSelector::CSSSelector):
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addNthChildType):
- 2:07 PM Changeset in webkit [234816] by
-
- 21 edits2 copies1 move4 adds1 delete in trunk
[WK2] [macOS] Implement a mechanism to test drag and drop
https://bugs.webkit.org/show_bug.cgi?id=181898
<rdar://problem/39181698>
Reviewed by Simon Fraser.
Source/WebKit:
Adds a new SPI method,
-_doAfterProcessingAllPendingMouseEvents:, to WKWebView. This invokes the given
callback after all queued mouse events have been handled by the web process. See Tools/ChangeLog for more
detail.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _doAfterProcessingAllPendingMouseEvents:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/API/wpe/PageClientImpl.h:
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::processDidExit):
Invoke any outstanding callbacks for processing pending mouse events when the web process is terminated.
(WebKit::WebViewImpl::doAfterProcessingAllPendingMouseEvents):
Either invoke the callback immediately if there are no mouse events to be processed, or insert the callback in
a queue that will be flushed once all mouse events have been handled.
(WebKit::WebViewImpl::didFinishProcessingAllPendingMouseEvents):
(WebKit::WebViewImpl::flushPendingMouseEventCallbacks):
- UIProcess/PageClient.h:
(WebKit::PageClient::pinnedStateWillChange):
(WebKit::PageClient::pinnedStateDidChange):
(WebKit::PageClient::videoControlsManagerDidChange):
Drive-by tweaks: remove unnecessary semicolons after empty implementation stubs.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveEvent):
Notify the page client when there are no remaining mouse events left in the queue.
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::didFinishProcessingAllPendingMouseEvents):
Add some plumbing through PageClient, so that WebPageProxy can tell WebViewImpl when it is finished processing
all mouse events.
- UIProcess/win/PageClientImpl.h:
Tools:
Implements the currently stubbed DragAndDropSimulator on macOS, and introduces a new API test for r227266. See
comments below for more detail.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm: Copied from Tools/TestWebKitAPI/mac/DragAndDropSimulatorMac.mm.
Introduce a file for cross-platform drag and drop tests, currently for iOS and macOS. Additionally add a test
for r227266, which was fixed earlier this year but could not be tested due to a lack of testing mechanism on
macOS in WebKit2.
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/full-page-dropzone.html: Added.
Minor tweaks to this test page to add "dragover" and "drop" event handlers.
- TestWebKitAPI/Tests/WebKitCocoa/image-in-link-and-input.html:
- TestWebKitAPI/Tests/WebKitCocoa/link-in-iframe-and-input.html: Added.
Add a new test page that includes a link embedded within an iframe below a plain text input.
- TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm: Added.
(TEST):
- TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm: Renamed from Tools/TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm.
Move only existing WebKit2 macOS drag and drop test (DragAndDropPasteboardTests.NumberOfValidItemsForDrop) out
of DragAndDropPasteboardTests.mm and into a new file, DragAndDropTestsMac.mm. Additionally, rename
DragAndDropPasteboardTests to LegacyDragAndDropTests, since it now only contains two legacy WebView tests for
drag and drop.
(+[FrameLoadCompletionListener listenerWithCompletionBlock:]):
(-[FrameLoadCompletionListener initWithCompletionBlock:]):
(-[FrameLoadCompletionListener webView:didFinishLoadForFrame:]):
(-[DragSource draggingSourceOperationMaskForLocal:]):
(-[DragInfo initWithImage:offset:pasteboard:source:destinationWindow:]):
(-[DragInfo lastMousePosition]):
(-[DragInfo setLastMousePosition:]):
(-[DragInfo draggingDestinationWindow]):
(-[DragInfo draggingSourceOperationMask]):
(-[DragInfo draggingLocation]):
(-[DragInfo draggedImageLocation]):
(-[DragInfo draggedImage]):
(-[DragInfo draggingPasteboard]):
(-[DragInfo draggingSource]):
(-[DragInfo draggingSequenceNumber]):
(-[DragInfo slideDraggedImageTo:]):
(-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):
(-[DragInfo draggingFormation]):
(-[DragInfo setDraggingFormation:]):
(-[DragInfo animatesToDestination]):
(-[DragInfo setAnimatesToDestination:]):
(-[DragInfo numberOfValidItemsForDrop]):
(-[DragInfo setNumberOfValidItemsForDrop:]):
(-[DragInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
(-[DragInfo springLoadingHighlight]):
(-[DragInfo resetSpringLoading]):
(TestWebKitAPI::getTestImage):
(TestWebKitAPI::webViewAfterPerformingDragOperation):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/full-page-dropzone.html: Removed.
- TestWebKitAPI/cocoa/DragAndDropSimulator.h:
Flesh out some of the DragAndDropSimulator API for macOS, exposing (among other things) the drag pasteboard,
the current NSDraggingInfo, the initial location of the drag image, and the drag image itself.
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
(-[TestWKWebView mouseUpAtPoint:]):
(-[TestWKWebView mouseMoveToPoint:withFlags:]):
(-[TestWKWebView sendClicksAtPoint:numberOfClicks:]):
(-[TestWKWebView mouseEnterAtPoint:]):
(-[TestWKWebView mouseExitAtPoint:]):
(-[TestWKWebView mouseDragToPoint:]):
(-[TestWKWebView _mouseEventWithType:atLocation:]):
(-[TestWKWebView _mouseEventWithType:atLocation:flags:timestamp:clickCount:]):
Add TestWKWebView helpers to send MouseMove, MouseEnter and MouseDrag NSEvents to the web view. Additionally,
rename parameter names to these helpers to make it more obvious that these locations are all in NSWindow
coordinates.
(-[TestWKWebView typeCharacter:]):
Drive-by style fix: put this opening brace on the beginning of the next line.
- TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator initWithWebViewFrame:]):
(-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
(-[DragAndDropSimulator webView]):
Small iOS DragAndDropSimulator adjustments for new DragAndDropSimulator interfaces.
- TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(-[DragAndDropTestWKWebView initWithFrame:configuration:simulator:]):
Introduce a WKWebView subclass for testing drag and drop that overrides
-dragImage:at:offset:…, and instead
allows DragAndDropSimulator to take over the drag.
(-[DragAndDropTestWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]):
Override this entry point into drag and drop code, and instead call out to the DragAndDropSimulator to
coordinate the drag.
(-[DragAndDropTestWKWebView waitForPendingMouseEvents]):
Helper method to wait for the web process to finish handling all in-flight mouse events.
(defaultExternalDragImage):
Set this image as the default drag image when simulating an incoming drag session from outside of the web view.
(-[DragAndDropSimulator initWithWebViewFrame:]):
(-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
(-[DragAndDropSimulator flipAboutXAxisInHostWindow:]):
Helper method to flip a given point about the X axis of the window.
(-[DragAndDropSimulator locationInViewForCurrentProgress]):
Map a progress value (between 0 and 1) to a drag location.
(-[DragAndDropSimulator initialProgressForMouseDrag]):
Determines the initial progress value when initiation a drag in web content. This is the initial progress
required to ensure that the first mouse drag event exceeds the drag distance hysteresis and causes any drag
(if applicable) to begin.
(-[DragAndDropSimulator runFrom:to:]):
(-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
Helper to coordinate drag updates in both the cases where we're simulating a drag session entering from outside
of the web view, and in the case where we've initiated a drag from the web view itself.
(-[DragAndDropSimulator webView]):
(-[DragAndDropSimulator setExternalDragPasteboard:]):
(-[DragAndDropSimulator externalDragPasteboard]):
Just like its iOS counterpart (setExternalItemProviders:), setting an external drag pasteboard on macOS puts the
DragAndDropSimulator in a mode that simulates a drag coming in from outside the web view, using the given
pasteboard.
(-[DragAndDropSimulator setExternalDragImage:]):
(-[DragAndDropSimulator externalDragImage]):
May be optionally set when specifying an external drag pasteboard to specify the drag image used. If no external
drag image is specified, falls back to the default image returned bydefaultExternalDragImage().
(-[DragAndDropSimulator draggingInfo]):
(-[DragAndDropSimulator willEndDraggingHandler]):
(-[DragAndDropSimulator setWillEndDraggingHandler:]):
Hook to allow tests to run logic right before performing the drop (if the current drag operation is not none) or
ending the drag session without performing a drag operation.
(-[DragAndDropSimulator initWithWebView:]): Deleted.
(-[DragAndDropSimulator dealloc]): Deleted.
(-[DragAndDropSimulator phase]): Deleted.
- TestWebKitAPI/mac/TestDraggingInfo.h: Copied from Tools/TestWebKitAPI/mac/DragAndDropSimulatorMac.mm.
- TestWebKitAPI/mac/TestDraggingInfo.mm: Added.
Mock object conforming to NSDraggingInfo that is passed to WKWebView when invoking -draggingUpdated:,
-draggingEntered: and -draggingExited:.
(-[TestDraggingInfo draggingPasteboard]):
(-[TestDraggingInfo setDraggingPasteboard:]):
(-[TestDraggingInfo draggingSource]):
(-[TestDraggingInfo setDraggingSource:]):
(-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
(-[TestDraggingInfo draggingDestinationWindow]):
(-[TestDraggingInfo draggedImage]):
(-[TestDraggingInfo setDraggedImage:]):
(-[TestDraggingInfo slideDraggedImageTo:]):
(-[TestDraggingInfo namesOfPromisedFilesDroppedAtDestination:]):
(-[TestDraggingInfo resetSpringLoading]):
Empty method stubs, to be implemented in the future as needed.
- 1:18 PM Changeset in webkit [234815] by
-
- 4 edits in trunk/Source/WebCore
Remove unused code in CSSParserSelector/CSSSelector
https://bugs.webkit.org/show_bug.cgi?id=188528
Reviewed by Simon Fraser.
- css/CSSSelector.cpp:
- css/CSSSelector.h:
(WebCore::CSSSelector::serializingValue const):
(WebCore::CSSSelector::setAttributeValueMatchingIsCaseInsensitive): Deleted.
- css/parser/CSSParserSelector.h:
(WebCore::CSSParserSelector::setAttributeValueMatchingIsCaseInsensitive): Deleted.
- 1:17 PM Changeset in webkit [234814] by
-
- 8 edits in trunk/Source/WebCore
Modernize CSSSelectorList a little
https://bugs.webkit.org/show_bug.cgi?id=188527
Reviewed by Simon Fraser.
No change in behavior. Just use make_unique and move semantics a little more.
- css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::CSSSelectorList):
(WebCore::CSSSelectorList::adoptSelectorVector): Deleted.
- css/CSSSelectorList.h:
- css/StyleRule.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::parsePageSelector):
- css/parser/CSSParserSelector.cpp:
(WebCore::CSSParserSelector::adoptSelectorVector):
- css/parser/CSSParserSelector.h:
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumeComplexSelectorList):
(WebCore::CSSSelectorParser::consumeCompoundSelectorList):
(WebCore::CSSSelectorParser::consumePseudo):
- 1:01 PM Changeset in webkit [234813] by
-
- 2 edits in trunk/Source/WebKit
Fix linux build after r234811
https://bugs.webkit.org/show_bug.cgi?id=188501
- UIProcess/API/glib/WebKitWebsiteData.cpp:
(recordContainsSupportedDataTypes):
- 12:52 PM Changeset in webkit [234812] by
-
- 2 edits in trunk/Tools
Added Thomas Denney to contributors.json.
https://bugs.webkit.org/show_bug.cgi?id=188525
Patch by Thomas Denney <tdenney@apple.com> on 2018-08-13
Reviewed by Myles C. Maxfield.
- Scripts/webkitpy/common/config/contributors.json:
- 12:16 PM Changeset in webkit [234811] by
-
- 10 edits in trunk
Meaning of OptionSet::contains is unclear when used with OptionSet argument
https://bugs.webkit.org/show_bug.cgi?id=188501
Reviewed by Anders Carlsson.
Source/WebCore:
- dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::possiblyHasMarkers):
- dom/DocumentMarkerController.h:
(WebCore::DocumentMarkerController::hasMarkers const):
- platform/FileSystem.h:
(WebCore::FileSystem::openAndLockFile):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::selectionColor const):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintForegroundForFragments):
Source/WTF:
The existing behavior is "contains any" but it is not very clear from the name.
- wtf/OptionSet.h:
(WTF::OptionSet::contains const):
This is now for testing a single option only.
(WTF::OptionSet::containsAny const):
(WTF::OptionSet::containsAll const):
Add separate functions for OptionSet argument.
Tools:
- TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST):
- 11:42 AM Changeset in webkit [234810] by
-
- 23 edits5 deletes in trunk
Unreviewed, rolling out r234747.
https://bugs.webkit.org/show_bug.cgi?id=188524
plugin processes crash on launch (Requested by smfr on
#webkit).
Reverted changeset:
"We should cache the compiled sandbox profile in a data vault"
https://bugs.webkit.org/show_bug.cgi?id=184991
https://trac.webkit.org/changeset/234747
- 11:33 AM Changeset in webkit [234809] by
-
- 6 edits1 add in trunk
[iOS] Dragging a non-editable text selection into a plain text input inserts HTML markup
https://bugs.webkit.org/show_bug.cgi?id=188485
<rdar://problem/43168784>
Reviewed by Tim Horton.
Source/WebCore:
Before r223678, -typeIdentifiersToLoadForRegisteredTypeIdentifiers:, which is responsible for determining which
type identifiers to load upon performing a drop, returned the following when dropping a rich text selection onto
a textarea:
"public.plain-text",
"public.html"
After r223678, we now propagate a custom pasteboard data type when dragging, and the same list now looks like:
"com.apple.WebKit.custom-pasteboard-data",
"public.html",
"public.plain-text"
Subsequently, logic in
-_preLoadedDataConformingToType:…(responsible for mapping a requested type identifier
to data that has been loaded from an item provider) iterates through the aforementioned list of type identifiers
and selects the data of the first type identifier in the list that conforms to the requested type identifier.
However, this list of type identifiers is currently the result of-[NSSet allObjects], which means that the
type identifiers in the list are in no particular order!
As such, this particular use case only worked by accident prior to r223678, and after that change, this latent
bug was surfaced. The patch here makes two adjustments to pasteboard handling on iOS to fix the bug.
Test: DragAndDropTests.NonEditableTextSelectionToTextarea
- platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::read):
When reading plain text from the pasteboard, give "public.plain-text" priority over "public.text". This ensures
that we don't end up reading markup as "plain text" when there's already more relevant plain text data present
in the pasteboard.
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard typeIdentifiersToLoadForRegisteredTypeIdentifiers:]):
Refactor existing logic to enforce a consistent ordering of type identifiers to load. First, we use
NSMutableOrderedSet instead of just an NSMutableSet to store type identifiers we've added. Secondly, move all
logic to insert type identifiers into this set to the end of the method, where we iterate over all of the type
identifiers in order and add each type identifier to the set if needed. This ensures that the order of resulting
types is from highest to lowest fidelity.
(-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout:]):
(-[WebItemProviderPasteboard typeIdentifiersToLoadForRegisteredTypeIdentfiers:]): Deleted.
Fix a typo in the method name.
Tools:
Add a new API test to verify that dropping selected non-editable rich text into a textarea inserts text as
expected, rather than markup.
It's somewhat interesting to note that this particular use case isn't exercised by any existing tests; the
closest test is DragAndDropTests.ContentEditableToTextarea, which drags a rich text selection from a
contenteditable element to a text area. However, due to logic inDragController::concludeEditDragthat handles
drag and drop across editable content differently than drag and drop from non-editable to editable content, the
bug that is fixed here doesn't surface in that existing test.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/selected-text-and-textarea.html: Added.
- TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
- 11:19 AM Changeset in webkit [234808] by
-
- 78 edits in trunk
Use a 1-byte enum class for TextDirection
https://bugs.webkit.org/show_bug.cgi?id=188350
Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-13
Reviewed by Simon Fraser.
Source/WebCore:
- Modules/notifications/Notification.h:
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextDirection const):
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchAllRules):
- dom/Document.cpp:
(WebCore::Document::updateTitleFromTitleElement):
(WebCore::Document::setTitle):
- dom/Position.cpp:
(WebCore::Position::primaryDirection const):
- dom/Range.cpp:
(WebCore::Range::collectSelectionRectsWithoutUnionInteriorLines const):
- editing/Editing.cpp:
(WebCore::directionOfEnclosingBlock):
- editing/Editor.cpp:
(WebCore::Editor::baseWritingDirectionForSelectionStart const):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::willBeModified):
(WebCore::FrameSelection::modifyExtendingRight):
(WebCore::FrameSelection::modifyExtendingForward):
(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyExtendingLeft):
(WebCore::FrameSelection::modifyExtendingBackward):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::textSelectionIntent):
(WebCore::FrameSelection::modify):
- editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::leftVisuallyDistinctCandidate const):
(WebCore::VisiblePosition::rightVisuallyDistinctCandidate const):
- editing/VisibleUnits.cpp:
(WebCore::visualWordPosition):
(WebCore::leftWordPosition):
(WebCore::rightWordPosition):
(WebCore::leftBoundaryOfLine):
(WebCore::rightBoundaryOfLine):
- html/HTMLElement.cpp:
(WebCore::HTMLElement::directionalityIfhasDirAutoAttribute const):
(WebCore::HTMLElement::directionality const):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::directionForFormData const):
(WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):
- html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::computedTextWithDirection):
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::toTextDirection const):
(WebCore::CanvasRenderingContext2D::direction const):
(WebCore::CanvasRenderingContext2D::textOffset):
- html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderContainer::layout):
- html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::resolveCustomStyle):
- page/Chrome.cpp:
(WebCore::Chrome::setToolTip):
- page/FrameView.cpp:
(WebCore::paginationModeForRenderStyle):
- page/Settings.yaml:
- platform/RectEdges.h:
(WebCore::RectEdges::start):
(WebCore::RectEdges::end):
(WebCore::RectEdges::start const):
(WebCore::RectEdges::end const):
(WebCore::RectEdges::setStart):
(WebCore::RectEdges::setEnd):
- platform/UserInterfaceLayoutDirection.h:
- platform/graphics/ComplexTextController.cpp:
(WebCore::ComplexTextController::computeExpansionOpportunity):
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::expansionOpportunityCountInternal):
(WebCore::FontCascade::leadingExpansionOpportunity):
(WebCore::FontCascade::trailingExpansionOpportunity):
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawBidiText):
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::rtl const):
(WebCore::TextRun::ltr const):
(WebCore::TextRun::setDirection):
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::WidthIterator):
- platform/ios/SelectionRect.cpp:
(WebCore::SelectionRect::SelectionRect):
- platform/text/BidiResolver.h:
(WebCore::BidiStatus::BidiStatus):
- platform/text/StringWithDirection.h:
- platform/text/WritingMode.h:
(WebCore::isLeftToRightDirection):
(WebCore::isVerticalWritingMode):
(WebCore::isFlippedWritingMode):
(WebCore::mapLogicalSideToPhysicalSide):
- rendering/HitTestResult.cpp:
(WebCore::HitTestResult::spellingToolTip const):
(WebCore::HitTestResult::title const):
(WebCore::HitTestResult::innerTextIfTruncated const):
- rendering/InlineBox.h:
(WebCore::InlineBox::direction const):
(WebCore::InlineBox::isLeftToRightDirection const):
- rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintFillLayer):
- rendering/InlineIterator.h:
(WebCore::embedCharFromDirection):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
(WebCore::mirrorRTLSegment):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
- rendering/RenderBlockLineLayout.cpp:
(WebCore::determineDirectionality):
(WebCore::RenderBlockFlow::textAlignmentForLine const):
(WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
(WebCore::RenderBlockFlow::handleTrailingSpaces):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
- rendering/RenderBox.cpp:
(WebCore::computeInlineStaticDistance):
(WebCore::RenderBox::computePositionedLogicalWidthUsing const):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced const):
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
- rendering/RenderFragmentedFlow.cpp:
(WebCore::RenderFragmentedFlow::updateLogicalWidth):
(WebCore::RenderFragmentedFlow::updateFragmentsFragmentedFlowPortionRect):
- rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::shouldPlaceBlockDirectionScrollbarOnLeft const):
- rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::direction const):
- rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
(RenderMenuList::clientPaddingLeft const):
(RenderMenuList::clientPaddingRight const):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::popupInternalPaddingBox const):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
(WebCore::RenderThemeMac::popupInternalPaddingBox const):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::mirrorIfNeeded const):
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::layoutBlock):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::isLeftToRightDirection const):
(WebCore::RenderStyle::initialDirection):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::systemLayoutDirection):
(WebCore::InternalSettings::setSystemLayoutDirection):
- testing/Internals.h:
Source/WebKit:
- Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::WebPopupItem):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView webSelectionRectsForSelectionRects:]):
- UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::populate):
(WebKit::WebPopupMenuProxyMac::showPopupMenu):
- WebProcess/WebCoreSupport/WebPopupMenu.cpp:
(WebKit::WebPopupMenu::show):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getAssistedNodeInformation):
Source/WebKitLegacy/ios:
- WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame selectionRectsForCoreRange:]):
- WebCoreSupport/WebVisiblePosition.mm:
(-[WebVisiblePosition textDirection]):
(-[WebVisiblePosition directionIsDownstream:]):
- WebView/WebPDFViewIOS.mm:
(-[WebPDFView _checkPDFTitle]):
Source/WebKitLegacy/mac:
- WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::populate):
(PopupMenuMac::show):
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
- WebView/WebFrame.mm:
(-[WebFrame _dispatchDidReceiveTitle:]):
Tools:
- TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/StringWithDirection.cpp:
(WebCore::operator<<):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
(TEST_F):
- 11:06 AM Changeset in webkit [234807] by
-
- 2 edits in branches/safari-606.1.36.1-branch/Source/WebCore
Cherry-pick r234766. rdar://problem/43240328
CrashTracer: com.apple.WebKit.Storage at WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose
https://bugs.webkit.org/show_bug.cgi?id=188461
<rdar://problem/33555052>
Reviewed by Chris Dumez.
When we try to schedule shutdown for database, we should cancel the timer so no
scheduleShutdownForClose will be running after this.
- Modules/indexeddb/server/UniqueIDBDatabase.cpp: (WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:06 AM Changeset in webkit [234806] by
-
- 4 edits in branches/safari-606.1.36.1-branch/Source
Cherry-pick r234778. rdar://problem/43240324
[macOS] Multiple third party apps crash due to the thread safety check in TimerBase::setNextFireTime
https://bugs.webkit.org/show_bug.cgi?id=188480
Reviewed by Simon Fraser.
Source/WebCore:
Suppress the release assert in WebKit1 on macOS (isInWebProcess is always true in non-Cocoa platforms).
In the future, we should consider throwing Objective-C exceptions when third party apps call WebKit1
or WebKit2 APIs in non-main threads.
- platform/Timer.cpp: (WebCore::shouldSuppressThreadSafetyCheck): Extracted out of ~TimerBase and setNextFireTime. (WebCore::TimerBase::~TimerBase): (WebCore::TimerBase::setNextFireTime):
Source/WTF:
Added the SDK version for macOS Mojave.
- wtf/spi/darwin/dyldSPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234778 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:46 AM Changeset in webkit [234805] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, silence "enumeral and non-enumeral type in conditional expression" warning
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchActivityStateChange):
- 9:46 AM Changeset in webkit [234804] by
-
- 50 edits98 adds in trunk/LayoutTests
[iOS] Rebaseline and re-enable svg tests
https://bugs.webkit.org/show_bug.cgi?id=180459
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
[ truncated ]
- 9:39 AM Changeset in webkit [234803] by
-
- 3 edits2 adds in trunk
Followup (r234683): Element::getAttribute() should return the first non-null attribute value
https://bugs.webkit.org/show_bug.cgi?id=188419
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-08-13
Reviewed by Darin Adler.
Source/WebCore:
Element::getAttribute() should return the first non-null attribute value
since an empty string is a legitimate attribute value.
Test: svg/custom/href-svg-namespace-empty.html
- dom/Element.h:
(WebCore::Element::getAttribute const):
LayoutTests:
- svg/custom/href-svg-namespace-empty-expected.txt: Added.
- svg/custom/href-svg-namespace-empty.html: Added.
- 9:21 AM Changeset in webkit [234802] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, since -Wsign-compare warnings in URL.cpp
This regressed in r233798 when m_schemeEnd changed to a bitfield. The code looks safe to
me, so just silence the warnings with casts.
- platform/URL.cpp:
(WebCore::URL::setHost):
(WebCore::URL::setHostAndPort):
(WebCore::URL::setUser):
(WebCore::URL::setPass):
- 8:29 AM Changeset in webkit [234801] by
-
- 16 edits in trunk/Source
Use OptionSet more in editing code
https://bugs.webkit.org/show_bug.cgi?id=188500
Reviewed by Wenson Hsieh.
Typesafe flags.
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs):
- editing/Editor.cpp:
(WebCore::TemporarySelectionChange::TemporarySelectionChange):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::selectComposition):
(WebCore::Editor::changeSelectionAfterCommand):
(WebCore::Editor::respondToChangedSelection):
- editing/Editor.h:
(WebCore::TemporarySelectionChange::TemporarySelectionChange):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveWithoutValidationTo):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::setSelectedRange):
- editing/FrameSelection.h:
(WebCore::FrameSelection::defaultSetSelectionOptions):
- editing/MoveSelectionCommand.cpp:
(WebCore::MoveSelectionCommand::doApply):
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
- editing/ReplaceSelectionCommand.h:
(WebCore::ReplaceSelectionCommand::create):
- editing/SetSelectionCommand.cpp:
(WebCore::SetSelectionCommand::SetSelectionCommand):
- editing/SetSelectionCommand.h:
(WebCore::SetSelectionCommand::create):
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
- page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
- page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithRange):
- 7:48 AM Changeset in webkit [234800] by
-
- 12 edits2 adds in trunk
[LFC][Floating] Add basic clearance support
https://bugs.webkit.org/show_bug.cgi?id=188492
Reviewed by Antti Koivisto.
Source/WebCore:
Adjust final position of a block level box with clearance when float is present.
Test: fast/block/block-only/floating-left-and-right-with-clearance.html
- layout/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::verticalPositionWithClearance const):
(WebCore::Layout::FloatingContext::alignWithContainingBlock const):
(WebCore::Layout::FloatingContext::toContainingBlock const):
(WebCore::Layout::FloatingContext::computePosition const): Deleted.
- layout/FloatingContext.h:
- layout/FloatingState.cpp:
(WebCore::Layout::FloatingState::bottom const):
- layout/FloatingState.h:
(WebCore::Layout::FloatingState::leftBottom const):
(WebCore::Layout::FloatingState::rightBottom const):
(WebCore::Layout::FloatingState::bottom const):
- layout/Verification.cpp:
(WebCore::Layout::LayoutContext::verifyAndOutputMismatchingLayoutTree const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::computeFloatingPosition const):
(WebCore::Layout::BlockFormattingContext::computeVerticalPositionWithClearance const):
- layout/blockformatting/BlockFormattingContext.h:
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::hasClearance const):
- layout/layouttree/LayoutBox.h:
Tools:
- LayoutReloaded/misc/LFC-passing-tests.txt:
LayoutTests:
- fast/block/block-only/floating-left-and-right-with-clearance-expected.txt: Added.
- fast/block/block-only/floating-left-and-right-with-clearance.html: Added.
- 6:31 AM Changeset in webkit [234799] by
-
- 5 edits in trunk
Expose CloseEvent and CustomEvent to workers
https://bugs.webkit.org/show_bug.cgi?id=188493
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:
Source/WebCore:
This patch exposes CloseEvent and CustomEvent to workers.
It is OK since they do not depend on things in the main thread.
For example, we cannot expose FormData right now since it depends
on Page.
We do not expose PromiseRejectionEvent in this patch since it will
be done in [1].
[1]: https://bugs.webkit.org/show_bug.cgi?id=188265
- Modules/websockets/CloseEvent.idl:
- dom/CustomEvent.idl:
- 6:18 AM Changeset in webkit [234798] by
-
- 12 edits40 adds in trunk
[css-logical] Implement flow-relative margin, padding, border and sizing properties
https://bugs.webkit.org/show_bug.cgi?id=188386
Patch by Oriol Brufau <Oriol Brufau> on 2018-08-13
Reviewed by Manuel Rego Casasnovas.
These properties provide the author with the ability to control margins
through logical, rather than physical, direction and dimension mappings.
Only longhand properties and border shorthands for specific sides are
implemented as part of this patch.
The existing prefixed properties become aliases of the new ones.
LayoutTests/imported/w3c:
The new tests are imported from the WPT test suite for CSS Logical
Properties and Values spec.
The tests still have some failures because sideways writing modes have
not been implemented yet.
- resources/import-expectations.json:
- web-platform-tests/css/css-logical/META.yml: Added.
- web-platform-tests/css/css-logical/animation-001-expected.txt: Added.
- web-platform-tests/css/css-logical/animation-001.html: Added.
- web-platform-tests/css/css-logical/animation-002-expected.txt: Added.
- web-platform-tests/css/css-logical/animation-002.html: Added.
- web-platform-tests/css/css-logical/animation-003.tentative-expected.txt: Added.
- web-platform-tests/css/css-logical/animation-003.tentative.html: Added.
- web-platform-tests/css/css-logical/cascading-001-expected.html: Added.
- web-platform-tests/css/css-logical/cascading-001.html: Added.
- web-platform-tests/css/css-logical/logical-box-border-color-expected.txt: Added.
- web-platform-tests/css/css-logical/logical-box-border-color.html: Added.
- web-platform-tests/css/css-logical/logical-box-border-shorthands-expected.txt: Added.
- web-platform-tests/css/css-logical/logical-box-border-shorthands.html: Added.
- web-platform-tests/css/css-logical/logical-box-border-style-expected.txt: Added.
- web-platform-tests/css/css-logical/logical-box-border-style.html: Added.
- web-platform-tests/css/css-logical/logical-box-border-width-expected.txt: Added.
- web-platform-tests/css/css-logical/logical-box-border-width.html: Added.
- web-platform-tests/css/css-logical/logical-box-inset-expected.txt: Added.
- web-platform-tests/css/css-logical/logical-box-inset.html: Added.
- web-platform-tests/css/css-logical/logical-box-margin-expected.txt: Added.
- web-platform-tests/css/css-logical/logical-box-margin.html: Added.
- web-platform-tests/css/css-logical/logical-box-padding-expected.txt: Added.
- web-platform-tests/css/css-logical/logical-box-padding.html: Added.
- web-platform-tests/css/css-logical/logical-box-size-expected.txt: Added.
- web-platform-tests/css/css-logical/logical-box-size.html: Added.
- web-platform-tests/css/css-logical/logicalprops-block-size-expected.txt: Added.
- web-platform-tests/css/css-logical/logicalprops-block-size-vlr-expected.txt: Added.
- web-platform-tests/css/css-logical/logicalprops-block-size-vlr.html: Added.
- web-platform-tests/css/css-logical/logicalprops-block-size.html: Added.
- web-platform-tests/css/css-logical/logicalprops-inline-size-expected.txt: Added.
- web-platform-tests/css/css-logical/logicalprops-inline-size-vlr-expected.txt: Added.
- web-platform-tests/css/css-logical/logicalprops-inline-size-vlr.html: Added.
- web-platform-tests/css/css-logical/logicalprops-inline-size.html: Added.
- web-platform-tests/css/css-logical/logicalprops-quirklength-expected.txt: Added.
- web-platform-tests/css/css-logical/logicalprops-quirklength.html: Added.
- web-platform-tests/css/css-logical/resources/test-box-properties.js: Added.
(testCSSValues):
(testComputedValues):
(makeDeclaration):
- web-platform-tests/css/css-logical/resources/w3c-import.log: Added.
- web-platform-tests/css/css-logical/w3c-import.log: Added.
Source/WebCore:
The change in WebCore::isLayoutDependent fixes an existing issue that
made getComputedStyle provide an old value for -webkit-logical-height
and -webkit-logical-height (see https://crbug.com/849855).
Tests: imported/w3c/web-platform-tests/css/css-logical/animation-001.html
imported/w3c/web-platform-tests/css/css-logical/animation-002.html
imported/w3c/web-platform-tests/css/css-logical/animation-003.tentative.html
imported/w3c/web-platform-tests/css/css-logical/cascading-001.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-border-color.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-border-shorthands.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-border-style.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-border-width.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-inset.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-margin.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-padding.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-size.html
imported/w3c/web-platform-tests/css/css-logical/logicalprops-block-size-vlr.html
imported/w3c/web-platform-tests/css/css-logical/logicalprops-block-size.html
imported/w3c/web-platform-tests/css/css-logical/logicalprops-inline-size-vlr.html
imported/w3c/web-platform-tests/css/css-logical/logicalprops-inline-size.html
imported/w3c/web-platform-tests/css/css-logical/logicalprops-quirklength.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
- css/CSSProperties.json:
- css/CSSProperty.cpp:
(WebCore::CSSProperty::resolveDirectionAwareProperty):
(WebCore::CSSProperty::isDirectionAwareProperty):
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const):
- css/parser/CSSParserFastPaths.cpp:
(WebCore::isSimpleLengthPropertyID):
(WebCore::isColorPropertyID):
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
- css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::parseShorthand):
- html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::collectStyleForPresentationAttribute):
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeCollapsedStartBorder const):
(WebCore::RenderTableCell::computeCollapsedEndBorder const):
(WebCore::RenderTableCell::computeCollapsedBeforeBorder const):
(WebCore::RenderTableCell::computeCollapsedAfterBorder const):
- 4:32 AM Changeset in webkit [234797] by
-
- 2 edits41 adds in trunk/LayoutTests
Unreviewed WPE gardening. Cleaned up test expectations for tests under
fast/dom/, unskipping all tests and then adding the failure or timeout
test expectations as appropriate. Missing port-specific baselines are
also included.
- platform/wpe/TestExpectations:
- platform/wpe/fast/dom/: Necessary test expectations added.
- 2:50 AM Changeset in webkit [234796] by
-
- 2 edits in trunk/LayoutTests
Unreviewed WPE gardening.
Removed an unnecessary block of skipped tests that cover WebCrypto API
support for 521-bit EC keys. All these tests pass.
Removed unnecessary pass directives for imported WPT tests. Moved
related flaky or skipped tests into appropriate sections.
Also adjusted a few other expectations, moving them into the appropriate
section or just removing them for being outdated or duplicates.
- platform/wpe/TestExpectations:
- 1:45 AM Changeset in webkit [234795] by
-
- 2 edits in trunk/LayoutTests
Unreviewed WPE gardening. Adopt test expectation sections similar to the
GTK+ TestExpectations file. Sort some test expectations accordingly,
while the rest of the expectations will follow later.
- platform/wpe/TestExpectations:
- 12:15 AM Changeset in webkit [234794] by
-
- 1 copy in releases/WebKitGTK/webkit-2.20.5
WebKitGTK+ 2.20.5
- 12:15 AM Changeset in webkit [234793] by
-
- 4 edits in releases/WebKitGTK/webkit-2.20
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.20.5 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.20.5.
Aug 12, 2018:
- 11:47 PM Changeset in webkit [234792] by
-
- 2 edits in trunk/Source/WebDriver
WebDriver: do not handle prompts that appear while running scripts
https://bugs.webkit.org/show_bug.cgi?id=188468
Reviewed by Žan Doberšek.
This changed in the spec, we should just finish the script without handling the alert at all.
https://github.com/w3c/webdriver/commit/afb578090bc95718debeab6a6821da8d12b952c8
"If at any point during the algorithm a user prompt appears, abort all subsequent substeps of this algorithm,
and return success with data null."
https://w3c.github.io/webdriver/#dfn-execute-a-function-body
- Session.cpp:
(WebDriver::Session::executeScript):
- 11:33 PM Changeset in webkit [234791] by
-
- 8 edits in trunk/Source/WebCore
CrashTracer: com.apple.WebKit.Storage at WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient(WebCore::IDBServer::UniqueIDBDatabaseConnection&)
https://bugs.webkit.org/show_bug.cgi?id=188474
Reviewed by Chris Dumez.
UniqueIDBDatabaseConnection is refcounted by UniqueIDBDatabaseTransaction and it refcounts
UniqueIDBDatabaseTransaction. This cycle could make UniqueIDBDatabaseConnection outlives
UniqueIDBDatabase, so its reference to UniqueIDBDatabase may be stale. Calling a function
on a stale object is probably the reason of recent various storage process crashes in
indexedDB.
This patch makes m_database a WeakPtr and adds assertions that could help us debug the
crashes.
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::~UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::abortTransactionWithoutCallback):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::confirmDidCloseFromServer):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didFireVersionChangeEvent):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didFinishHandlingVersionChange):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::createVersionChangeTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::establishTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didAbortTransaction):
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::database):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::~UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::abort):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::commit):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::openCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::objectStoreIdentifiers):
- Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::openDatabaseSuccess):
(WebCore::IDBResultData::openDatabaseUpgradeNeeded):
- 7:48 PM Changeset in webkit [234790] by
-
- 6 edits in trunk
Unreviewed GTK test gardening
WebDriverTests:
- TestExpectations.json:
LayoutTests:
- platform/gtk/TestExpectations:
- platform/gtk/fast/forms/color/input-appearance-color-expected.png:
- platform/gtk/fast/forms/color/input-appearance-color-expected.txt:
- 5:02 PM Changeset in webkit [234789] by
-
- 11 edits1 copy in trunk
Break reference cycle in ErrorEvent by using JSValueInWrappedObject
https://bugs.webkit.org/show_bug.cgi?id=188491
Reviewed by Darin Adler.
Source/WebCore:
ErrorEvent should not use Strong<Unkonwn> to hold error JSValue. This patch integrates
JSValueInWrappedObject into ErrorEvent.
- Modules/webvr/VRDisplayEvent.h:
Fix unified build errors due to added JSErrorEventCustom.cpp. It changes the files grouped in unified build.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSErrorEventCustom.cpp: Copied from Source/WebCore/Modules/webvr/VRDisplayEvent.h.
(WebCore::JSErrorEvent::visitAdditionalChildren):
Add custom mark function for JSValueInWrappedObject.
- bindings/js/JSEventListener.h:
- bindings/js/WindowProxy.cpp:
Fix unified build errors due to added JSErrorEventCustom.cpp. It changes the files grouped in unified build.
- dom/ErrorEvent.cpp:
(WebCore::ErrorEvent::ErrorEvent):
(WebCore::ErrorEvent::error):
(WebCore::ErrorEvent::trySerializeError):
Align the implementation to PushStateEvent::trySerializeState.
- dom/ErrorEvent.h:
- dom/ErrorEvent.idl:
LayoutTests:
- fast/dom/reference-cycle-leaks-expected.txt:
- 1:19 PM Changeset in webkit [234788] by
-
- 28 edits in trunk
[macOS] Color wells should appear pressed when presenting a color picker
https://bugs.webkit.org/show_bug.cgi?id=188477
Reviewed by Tim Horton.
Source/WebCore:
Currently, when clicking on a color well, the color well loses its pressed
appearance once the mouse is lifted. Because of this behavior, the color well
does not appear to be active when the color picker is displayed.
Added the color-well -webkit-appearance value to control the drawing of the color
well separate from other buttons. Also added a new ControlState, named
PresentingState. A control can be in this state whenever it is presenting some
attached view. In the case of the color well this is the color picker. The
Information as to whether a form control is in the presenting state comes from
isPresentingAttachedView() in HTMLInputElement.
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- css/CSSProperties.json:
- css/CSSValueKeywords.in:
- css/html.css:
(input[type="color"]::-webkit-color-swatch):
- html/ColorInputType.cpp:
(WebCore::ColorInputType::isPresentingAttachedView const):
(WebCore::ColorInputType::elementDidBlur):
(WebCore::ColorInputType::didEndChooser):
- html/ColorInputType.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isPresentingAttachedView const):
- html/HTMLInputElement.h:
- html/InputType.cpp:
(WebCore::InputType::isPresentingAttachedView const):
- html/InputType.h:
- platform/ControlStates.h:
- platform/ThemeTypes.h:
- platform/mac/ThemeMac.mm:
(WebCore::updateStates):
(WebCore::setUpButtonCell):
(WebCore::paintColorWell):
(WebCore::ThemeMac::minimumControlSize const):
(WebCore::ThemeMac::controlBorder const):
(WebCore::ThemeMac::paint):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::isControlStyled const):
(WebCore::RenderTheme::extractControlStatesForRenderer const):
(WebCore::RenderTheme::isPresenting const):
- rendering/RenderTheme.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::adjustRepaintRect):
Source/WebInspectorUI:
Add keyword completion for 'color-well'.
- UserInterface/External/CodeMirror/css.js:
- UserInterface/Models/CSSKeywordCompletions.js:
Source/WebKit:
In order for the color well to accurately reflect the state of the picker, it is
necessary to ensure that the picker is destroyed at the appropriate time.
Added windowWillClose and didClosePopover delegate methods to destroy the picker
it has been closed. Also added a call to WebColorPicker::endPicker in
WebColorPickerMac's implementation of endPicker to ensure that the object is
destroyed. Removed redundant calls to endPicker in the WebPageProxy.
The hitTest method was overridden in WKPopoverColorWell to ensure that AppKit's
view does not block our drawn color well from receiving click events.
- UIProcess/WebColorPicker.cpp:
(WebKit::WebColorPicker::endPicker):
- UIProcess/WebColorPicker.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::endColorPicker):
(WebKit::WebPageProxy::didEndColorPicker):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::closeOverlayedViews):
- UIProcess/mac/WebColorPickerMac.mm:
(WebKit::WebColorPickerMac::~WebColorPickerMac):
(WebKit::WebColorPickerMac::endPicker):
(-[WKPopoverColorWell popoverDidClose:]):
(-[WKPopoverColorWell hitTest:]):
(-[WKColorPopoverMac setAndShowPicker:withColor:suggestions:]):
(-[WKColorPopoverMac invalidate]):
(-[WKColorPopoverMac windowWillClose:]):
(-[WKColorPopoverMac didClosePopover]):
LayoutTests:
Rebaseline tests to match new color-well appearance.
- platform/mac/fast/forms/color/input-appearance-color-expected.png:
- platform/mac/fast/forms/color/input-appearance-color-expected.txt:
- 9:36 AM Changeset in webkit [234787] by
-
- 2 edits in trunk/Source/JavaScriptCore
Disable JIT on IA-32 without SSE2
https://bugs.webkit.org/show_bug.cgi?id=188476
Patch by Karo Gyoker <karogyoker2+webkit@gmail.com> on 2018-08-12
Reviewed by Michael Catanzaro.
Including missing header (MacroAssembler.h) in case of other
operating systems than Windows too.
- runtime/Options.cpp:
- 8:46 AM Changeset in webkit [234786] by
-
- 5 edits2 adds in trunk
[LFC] Float prev/next sibling should prevent top/bottom margin collapsing with parent.
https://bugs.webkit.org/show_bug.cgi?id=188487
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/block/block-only/floating-and-next-previous-inflow-with-margin.html
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::isMarginTopCollapsedWithParent):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::isMarginBottomCollapsedWithParent):
Tools:
- LayoutReloaded/misc/LFC-passing-tests.txt:
LayoutTests:
- fast/block/block-only/floating-and-next-previous-inflow-with-margin-expected.txt: Added.
- fast/block/block-only/floating-and-next-previous-inflow-with-margin.html: Added.