Timeline
Sep 15, 2016:
- 5:56 PM Changeset in webkit [206008] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: support drag and drop of CSS classes and ids onto DOM nodes
https://bugs.webkit.org/show_bug.cgi?id=16529
Patch by Devin Rousso <Devin Rousso> on 2016-09-15
Reviewed by Joseph Pecoraro.
- UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode.prototype.toggleClass.resolvedNode.inspectedPage_node_toggleClass):
(WebInspector.DOMNode.prototype.toggleClass.resolvedNode):
(WebInspector.DOMNode.prototype.toggleClass):
Moved from WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.
- UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)):
Added z-index to fix overlapping with selector origin.
- UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._classToggleButtonClicked):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputBlur):
Added a setting for auto-expanding the Classes toggle list based on the previous state.
Also renamed the existing _lastSelectedSectionSetting to _lastSelectedPanelSetting since the
setting doesn't have anything to do with the last selected section.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName):
(WebInspector.CSSStyleDetailsSidebarPanel.ToggledClassesDragType):
Added functionality to allow dragging of a className toggle's text (not the checkbox) by
using a custom type, preventing the value from being dropped anywhere except the DOM tree.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName.classNameToggleChanged):
Restructured to use arrow function to avoid function binding.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode.toggleClass): Deleted.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode): Deleted.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass): Deleted.
- UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._ondragover):
(WebInspector.DOMTreeOutline.prototype._ondrop.callback):
(WebInspector.DOMTreeOutline.prototype._ondrop):
Allow dragging when the dataTransfer object contains the type specified by
WebInspector.CSSStyleDetailsSidebarPanel.ToggledClassesDragType. The value for that type
will be added to the dropped element's classList.
- 5:33 PM Changeset in webkit [206007] by
-
- 12 edits2 adds in trunk/Source/WebCore
[CSS Parser] Get CSSParserFastPaths.cpp compiling
https://bugs.webkit.org/show_bug.cgi?id=162033
Reviewed by Dean Jackson.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
Add new StyleColor.h/.cpp files to the projecty
- css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::CSSFunctionValue):
(WebCore::CSSFunctionValue::customCSSText):
(WebCore::CSSFunctionValue::append):
(WebCore::CSSFunctionValue::buildParserValueSubstitutingVariables):
- css/CSSFunctionValue.h:
Tweak CSSFunctionValue so that the name can be represented as a keyword ID instead of a String. Eventually we also
want to make CSSFunctionValue subclass CSSValueList rather than referencing a separate CSSValueList as a member. For now
I left that alone though in order to not change too much in the old parser.
- css/CSSProperty.cpp:
(WebCore::CSSProperty::isDescriptorOnly):
Whether or not a property is only a descriptor, e.g., used in viewport and font face stuff.
- css/CSSProperty.h:
- css/CSSValueKeywords.in:
Added new keywords for functions that can be used as values. The new parser uses keywords to represent function names.
- css/StyleColor.cpp: Added.
(WebCore::StyleColor::colorFromKeyword):
(WebCore::StyleColor::isColorKeyword):
(WebCore::StyleColor::isSystemColor):
- css/StyleColor.h: Added.
(WebCore::StyleColor::StyleColor):
(WebCore::StyleColor::currentColor):
(WebCore::StyleColor::isCurrentColor):
(WebCore::StyleColor::getColor):
(WebCore::StyleColor::resolve):
(WebCore::operator==):
(WebCore::operator!=):
New color helper that contains code for checking and looking up colors. This code is similar to some code we already
had in the old CSSParser.cpp file, but this way it can be used outside the parser and/or in different files.
- css/parser/CSSParserFastPaths.cpp:
(WebCore::parseSimpleLengthValue):
(WebCore::isColorPropertyID):
(WebCore::parseColorIntOrPercentage):
(WebCore::fastParseColorInternal):
(WebCore::CSSParserFastPaths::parseColor):
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::isUniversalKeyword):
(WebCore::parseKeywordValue):
(WebCore::parseTransformTranslateArguments):
(WebCore::parseTransformNumberArguments):
(WebCore::parseSimpleTransformValue):
(WebCore::transformCanLikelyUseFastPath):
(WebCore::parseSimpleTransformList):
(WebCore::parseSimpleTransform):
(WebCore::CSSParserFastPaths::maybeParseValue):
- css/parser/CSSParserFastPaths.h:
Get everything compiling in this file. Key changes included reverting to our old unit names, making CSSFunctionValue compatible,
adding support for StyleColor, adding support for mode checking of keywords, and fixing up the memory management model so that
RefPtrs are used on returns from parsing functions.
- css/parser/CSSParserIdioms.cpp:
(WebCore::isValueAllowedInMode):
- css/parser/CSSParserIdioms.h:
New helper function for restricting keywords to certain modes only. The -webkit-text color quirk has been moved to this function.
- 5:27 PM Changeset in webkit [206006] by
-
- 23 edits in trunk/Source
WKWebView.hasOnlySecureContent always returns "YES" after going back to a CachedPage (even if it has http resources).
<rdar://problem/27681261> and https://bugs.webkit.org/show_bug.cgi?id=162043
Reviewed by Brent Fulgham.
Source/WebCore:
No new tests (Not possible with current testing infrastructure).
This adds the infrastructure for WebCore to track whether or not a CachedFrame had insecure content at the time
it was cached, and then to report that back to the client when a CachedPage is restored.
Since "has insecure content" is currently only tracked in the WK2 UI process, that is the only client of this code.
- history/CachedFrame.cpp:
(WebCore::CachedFrame::setHasInsecureContent):
- history/CachedFrame.h:
(WebCore::CachedFrame::hasInsecureContent):
- loader/EmptyClients.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::dispatchDidCommitLoad):
- loader/FrameLoader.h:
- loader/FrameLoaderClient.h:
- loader/FrameLoaderTypes.h:
Source/WebKit/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidCommitLoad):
Source/WebKit/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDidCommitLoad):
- WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKit2:
- Scripts/webkit/messages.py:
(headers_for_type): Add a custom header, and alphabetize existing ones.
- Shared/WebCoreArgumentCoders.h: Add EnumTraits for HasInsecureContent.
- UIProcess/PageLoadState.h:
(WebKit::PageLoadState::committedHasInsecureContent):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::hasInsecureContent):
(WebKit::WebPageProxy::didCommitLoadForFrame): If the WebProcess included an existing "HasInsecureContent" value, use it.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
(WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame): Save the "HasInsecureContent" value to the CachedFrame in
case we restore it in the future.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 5:20 PM Changeset in webkit [206005] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Use more global color variables in TreeOutline and DataGrid
https://bugs.webkit.org/show_bug.cgi?id=161940
<rdar://problem/28292555>
Reviewed by Brian Burg.
- UserInterface/Views/DataGrid.css:
(.data-grid tr.selected):
(.data-grid:matches(:focus, .force-focus) tr.selected):
Use global color vars.
- UserInterface/Views/TreeOutline.css:
(.tree-outline .item.selected):
Use global color vars.
(body.window-inactive .tree-outline .item.selected): Deleted.
Not needed. Unfocused color is the same when window is inactive.
- UserInterface/Views/Variables.css:
(:root):
Add --selected-background-color-unfocused.
- 4:42 PM Changeset in webkit [206004] by
-
- 2 edits in trunk/Source/WebKit/mac
This was supposed to be committed with the previous patch!
- Plugins/WebBasePluginPackage.mm:
(pathByResolvingSymlinksAndAliases): Deleted.
- 4:38 PM Changeset in webkit [206003] by
-
- 2 edits in trunk/Source/WebKit2
Actually assign the decoded enum value to the output value
https://bugs.webkit.org/show_bug.cgi?id=162042
Reviewed by Brady Eidson.
- Platform/IPC/Decoder.h:
- 4:34 PM Changeset in webkit [206002] by
-
- 2 edits in trunk/Source/WebKit/mac
Replace use of Carbon file system APIs in plug-in loading
https://bugs.webkit.org/show_bug.cgi?id=162040
rdar://problem/6017896
Reviewed by Sam Weinig.
- Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage initWithPath:]):
Use -[NSString stringByResolvingSymlinksInPath] directly here. We already check for duplicate bundle IDs, so there's no need to try
to resolve aliases as well (and the modern WebKit plug-in implementation doesn't do this).
- 4:13 PM Changeset in webkit [206001] by
-
- 14 edits in trunk
[media-source] web-platform-test/media-source/mediasource-remove.html test failing
https://bugs.webkit.org/show_bug.cgi?id=161950
Reviewed by Eric Carlson.
Source/WebCore:
Fixes test: web-platform-test/media-source/mediasource-remove.html
The mediasource-remove.html test was failing in a number of ways:
- Tests with invalid start or end times were not throwing the correct exception code, or not throwing exception codes at all
- Tests were showing an incorrect start buffered range at the beginning of each test.
- Tests which removed samples were not getting the expected buffered values at the end each test.
For the exception failures, update the implementation of abort() and remove() to throw
the correct exceptions at the correct times.
For the incorrect initial buffered range, update our buffered calculations to store
individual PlatformTimeRanges on each TrackBuffer, and coalesce them into a single
value when an append operation completes, a remove operation completes, or when the
MediaSource's ready state changes.
For the incorrect buffered ranges after removal, this is caused because the "samples"
that make up an audio track are actually a collection of a large number of individual
samples. So when we are asked to remove media data in a given range, break these audio
meta-samples into two pieces at the removal points. This allows the removal algorithm
to operate on a individual audio sample basis. (We should look into using this technique
when audio samples are evicted during an append operation.) This requires adding some
methods to MediaSample and it's concrete subclasses to "divide" a sample into two at
a given presentation time.
Fixing these behaviors, however, breaks the media-source-end-of-stream-buffered.html
test, which expects the buffered range for the entire element to expand to the maximum
buffered time of any of the element's MediaSource's active sourceBuffers. To fix this,
update the MediaSource's monitorSourceBuffer() implementation to match the current
specification. The new spec no longer queries the individual SourceBuffers, but rather
queries the already coalesced buffered ranges. So move the helper methods hasCurrentTime()
hasFutureTime(), and canPlayThrough() up into MediaSource from SourceBuffer. Also, update
seekToTime, since it has the same problem as monitorSourceBuffer().
However, this breaks the media-source-monitor-source-buffers.html test, which appends
10s of movie data instantaneously, then never appends again. The SourceBuffer's
monitorBufferingRate() method only re-evaluates the rate after data has been appended,
so the SourceBuffer thinks it's buffered data at a prodigious rate forever. Instead,
allow the SourceBuffer to continuously re-evalute it's buffering rate by modifying the
exponential moving average so that the co-efficient scales based on how frequently the
method is called. Call the method more often, and the moving average changes less quickly,
and it means that when media is stalled out at the end of a buffered range, the readyState
of a video element will eventually drop to HAVE_CURRENT_DATA when the average buffering
rate falls below the level where playback would continue uninterrupted.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::seekToTime):
(WebCore::MediaSource::currentTimeFudgeFactor):
(WebCore::MediaSource::hasBufferedTime):
(WebCore::MediaSource::hasCurrentTime):
(WebCore::MediaSource::hasFutureTime):
(WebCore::MediaSource::monitorSourceBuffers):
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::abort):
(WebCore::SourceBuffer::remove):
(WebCore::SourceBuffer::abortIfUpdating):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::updateBufferedFromTrackBuffers):
(WebCore::SourceBuffer::canPlayThroughRange):
(WebCore::SourceBuffer::monitorBufferingRate):
(WebCore::currentTimeFudgeFactor): Deleted.
(WebCore::SourceBuffer::hasCurrentTime): Deleted.
(WebCore::SourceBuffer::hasFutureTime): Deleted.
(WebCore::SourceBuffer::canPlayThrough): Deleted.
- platform/MediaSample.h:
- platform/cf/CoreMediaSoftLink.cpp:
- platform/cf/CoreMediaSoftLink.h:
- platform/graphics/avfoundation/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::isDivisable):
(WebCore::MediaSampleAVFObjC::divide):
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
LayoutTests:
- platform/mac/TestExpectations:
- 3:38 PM Changeset in webkit [206000] by
-
- 8 edits in trunk/Source/WebKit2
Add support for enum class parameters in the message generator
https://bugs.webkit.org/show_bug.cgi?id=162036
Reviewed by Brady Eidson.
Also, convert the WebPage::SetLayerHostingMode to take an actual enum class.
- Scripts/webkit/messages.py:
(function_parameter_type):
Change this to take the parameter kind as well, and use the raw type for enums.
(arguments_type):
(message_to_struct_declaration):
Pass the kind to function_parameter_type.
(forward_declaration):
(forward_declarations_for_namespace):
Forward declare enums with "enum class".
(headers_for_type):
Add WebKit::LayerHostingMode as a special case.
(generate_message_handler):
Pass the kind to function_parameter_type.
- Scripts/webkit/parser.py:
(parse_parameters_string):
Parse 'enum' as well.
- Shared/LayerTreeContext.h:
Add enum traits.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewDidEnterWindow):
(WebKit::WebPageProxy::layerHostingModeDidChange):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::setLayerHostingMode):
- WebProcess/WebPage/WebPage.h:
Change unsigned to LayerHostingMode.
- WebProcess/WebPage/WebPage.messages.in:
Change unsigned to LayerHostingMode.
- 3:13 PM Changeset in webkit [205999] by
-
- 5 edits2 adds in trunk
ASSERTION FAILED: willBeComposited == needsToBeComposited(layer) in WebCore::RenderLayerCompositor::computeCompositingRequirements
https://bugs.webkit.org/show_bug.cgi?id=151097
<rdar://problem/27711678>
Reviewed by Simon Fraser.
Source/WebCore:
This patch ensures that when will-change property triggers stacking context, we make the associated layer a non-normal flow layer.
(This is similar to what any other stacking context-triggering CSS property does.)
Test: compositing/assert-on-will-change-transform-with-composited-descendant.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
LayoutTests:
- compositing/assert-on-will-change-transform-with-composited-descendant-expected.txt: Added.
- compositing/assert-on-will-change-transform-with-composited-descendant.html: Added.
- 3:01 PM Changeset in webkit [205998] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION (r205462): Lot of leaks
https://bugs.webkit.org/show_bug.cgi?id=161946
Reviewed by Saam Barati.
We were forgetting to delete LargeAllocations on VM exit!
- heap/MarkedSpace.cpp:
(JSC::MarkedSpace::~MarkedSpace):
- 2:57 PM Changeset in webkit [205997] by
-
- 11 edits in trunk/Source/WebCore
Move RenderObject::shouldRespectImageOrientation to RenderElement.
https://bugs.webkit.org/show_bug.cgi?id=162028
Reviewed by Antti Koivisto.
Tighten the type for imageSizeForRenderer/canRender so that RenderObject::shouldRespectImageOrientation could
be moved to RenderElement.
No change in functionality.
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
- loader/cache/CachedImage.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::shouldRespectImageOrientation):
- rendering/RenderElement.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::shouldRespectImageOrientation): Deleted.
- rendering/RenderObject.h:
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::canRender):
- rendering/style/StyleCachedImage.h:
- rendering/style/StyleImage.h:
(WebCore::StyleImage::canRender):
- 2:25 PM Changeset in webkit [205996] by
-
- 2 edits in trunk/LayoutTests
Marking js/date-constructor.html as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=162032
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 1:43 PM Changeset in webkit [205995] by
-
- 2 edits in trunk/Source/WTF
TextBreakIterator: unconvolute character break cache
https://bugs.webkit.org/show_bug.cgi?id=162001
Reviewed by Michael Saboff.
Simplify the one-element cache.
Added here (fixed a bit after): https://bugs.webkit.org/attachment.cgi?id=144118&action=prettypatch
Updated to never use a lock, and always use weak cmpxchg here: https://bugs.webkit.org/attachment.cgi?id=261719&action=prettypatch
It's just trying to reduce the number of times it calls into ICU
to initialize a UBRK_CHARACTER. The implementation keeps a
one-element cache of the latest used one, which threads can
optimistically grab. Failure is fine (just create a new one), same
for failure to cache (just destroy it), but the logic is odd and
you technically need release / acquire semantics because the
UBRK_CHARACTER creation's store need to be visible on acquisition
(but realistically it was created and then used and *then* cached,
so it's probably been long ago enough that read reorders never
manifested).
Using exchange directly achieves this without the headache.
- wtf/text/TextBreakIterator.cpp:
(WTF::getNonSharedCharacterBreakIterator):
(WTF::cacheNonSharedCharacterBreakIterator):
(WTF::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator):
(WTF::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
(WTF::compareAndSwapNonSharedCharacterBreakIterator): Deleted.
- 1:41 PM Changeset in webkit [205994] by
-
- 8 copies1 add in releases/Apple/Safari Technology Preview 13
Added a tag for Safari Technology Preview release 13.
- 1:07 PM Changeset in webkit [205993] by
-
- 2 edits in trunk/LayoutTests
Skip two crashing media tests, remove flaky expectation for one that was wrongly blamed.
https://bugs.webkit.org/show_bug.cgi?id=161323
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 12:46 PM Changeset in webkit [205992] by
-
- 2 edits in trunk/Source/WebCore
Fix build.
- platform/spi/cocoa/PassKitSPI.h:
- 12:18 PM Changeset in webkit [205991] by
-
- 2 edits in trunk/Source/WebKit/mac
Need hasMarkedText on Mac
https://bugs.webkit.org/show_bug.cgi?id=162026
-and corresponding-
rdar://problem/28272353
Reviewed by Anders Carlsson.
- WebView/WebHTMLViewInternal.h:
- 11:48 AM Changeset in webkit [205990] by
-
- 2 edits in trunk/Source/WebCore
Use character class table in URLParser
https://bugs.webkit.org/show_bug.cgi?id=161997
Reviewed by Chris Dumez.
No change in behavior except a performance improvement.
Before this change, URLParser took 1.514x as long to run my URL Parsing benchmark as URL::parse
with a standard deviation of the ration of the runtimes of 0.063 after 8 runs with each parser.
After this change, URLParser took 1.328x as long with a standard deviation of 0.037.
This isn't the cleanest data, but it's enough to convince me that this is a significant improvement.
- platform/URLParser.cpp:
(WebCore::isC0Control):
(WebCore::isC0ControlOrSpace):
(WebCore::isTabOrNewline):
(WebCore::isInSimpleEncodeSet):
(WebCore::isInDefaultEncodeSet):
(WebCore::isInUserInfoEncodeSet):
(WebCore::isInvalidDomainCharacter):
(WebCore::isSlashQuestionOrHash):
(WebCore::shouldPercentEncodeQueryByte):
(WebCore::shouldCopyFileURL):
(WebCore::isSingleDotPathSegment):
(WebCore::URLParser::parse):
- 11:35 AM Changeset in webkit [205989] by
-
- 16 edits in trunk/Source
Pragma out undefined-var-template warnings in JSC for JSObjects that are templatized
https://bugs.webkit.org/show_bug.cgi?id=161985
Reviewed by Alex Christensen.
Source/JavaScriptCore:
I started a true fix for this in
https://bugs.webkit.org/show_bug.cgi?id=161979, however the fix
for this issue is not sustainable. Since the scope of this issue
is just limited to the static const ClassInfo member it is
simpler to just pragma out this warning. This works because
COMDAT will, AFAIK, pick the actual specialization. If, in the
future, we want to expose these classes to WebCore we will need to
do what we do for JSGenericTypedArrayViews and create a custom
info() function with a switch.
This patch also fixes a bunch of weak external symbols due to one of:
1) out of line template member definitions functions not being marked inline.
2) inline member functions definitions being marked as exported.
3) missing header file includes for forward function declarations.
- API/JSCallbackObject.h:
- b3/B3ValueInlines.h:
(JSC::B3::Value::as):
- runtime/HashMapImpl.cpp:
(JSC::getHashMapBucketKeyClassInfo):
(JSC::getHashMapBucketKeyValueClassInfo):
(JSC::getHashMapImplKeyClassInfo):
(JSC::getHashMapImplKeyValueClassInfo):
- runtime/HashMapImpl.h:
(JSC::HashMapBucket::info):
(JSC::HashMapImpl::info):
- runtime/JSCJSValue.h:
(JSC::toUInt32): Deleted.
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndexQuicklyToDouble):
- runtime/JSGenericTypedArrayViewConstructor.h:
- runtime/JSGenericTypedArrayViewPrototype.h:
- runtime/MathCommon.h:
(JSC::toUInt32):
- runtime/TypedArrayAdaptors.h:
- runtime/VM.h:
(JSC::VM::watchdog):
(JSC::VM::heapProfiler):
(JSC::VM::samplingProfiler):
Source/WebCore:
Delete unneeded using, which broke the build on newer versions of clang.
- bridge/objc/WebScriptObject.mm:
Source/WTF:
Fix WTF_EXPORT_PRIVATE for an inline member function. This would
generate a weak export.
- wtf/MetaAllocator.h:
(WTF::MetaAllocator::getLock):
- 11:20 AM Changeset in webkit [205988] by
-
- 4 edits in trunk
URLParser: Check for invalid characters in the host
https://bugs.webkit.org/show_bug.cgi?id=162023
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::failure):
(WebCore::URLParser::parseHost):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:16 AM Changeset in webkit [205987] by
-
- 2 edits in trunk/Source/WebCore
Remove some extra spaces.
- rendering/TextDecorationPainter.cpp:
(WebCore::collectStylesForRenderer):
- 11:12 AM Changeset in webkit [205986] by
-
- 3 edits in trunk/Source/WebCore
Use efficient iterators in URLParser
https://bugs.webkit.org/show_bug.cgi?id=162007
Reviewed by Tim Horton.
URLParser used to use StringView::CodePoints::Iterator, which needs to check if
the StringView is 8-bit or 16-bit every time it does anything.
I wrote a new CodePointIterator template which already knows whether it is iterating
8-bit or 16-bit characters, so it does not need to do the checks each time it gets a
code point or advances to the next code point.
No change in behavior except a performance increase.
Covered by existing tests.
- platform/URLParser.cpp:
(WebCore::CodePointIterator::CodePointIterator):
(WebCore::CodePointIterator::operator==):
(WebCore::CodePointIterator::operator!=):
(WebCore::CodePointIterator::operator=):
(WebCore::CodePointIterator::atEnd):
(WebCore::CodePointIterator<LChar>::operator):
(WebCore::CodePointIterator<UChar>::operator):
(WebCore::isWindowsDriveLetter):
(WebCore::shouldCopyFileURL):
(WebCore::isPercentEncodedDot):
(WebCore::isSingleDotPathSegment):
(WebCore::isDoubleDotPathSegment):
(WebCore::consumeSingleDotPathSegment):
(WebCore::consumeDoubleDotPathSegment):
(WebCore::URLParser::failure):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):
(WebCore::parseIPv4Number):
(WebCore::parseIPv4Host):
(WebCore::parseIPv6Host):
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHost):
- platform/URLParser.h:
- 11:11 AM Changeset in webkit [205985] by
-
- 7 edits in trunk/Source/WebCore
Move text decoration style computation from RenderObject to TextDecorationPainter
https://bugs.webkit.org/show_bug.cgi?id=162004
Reviewed by Zalan Bujtas.
It is mostly an implementation detail of TextDecorationPainter.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(AXAttributeStringSetStyle):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(AXAttributeStringSetStyle):
- rendering/RenderObject.cpp:
(WebCore::decorationColor): Deleted.
(WebCore::RenderObject::getTextDecorationColorsAndStyles): Deleted.
- rendering/RenderObject.h:
- rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::TextDecorationPainter):
(WebCore::TextDecorationPainter::paintTextDecoration):
(WebCore::decorationColor):
- rendering/TextDecorationPainter.h:
- 11:04 AM Changeset in webkit [205984] by
-
- 3 edits in trunk/Source/WebCore
[CSS Parser] Make stylesheets parse using the new parser if the setting is enabled
https://bugs.webkit.org/show_bug.cgi?id=162018
Reviewed by Zalan Bujtas.
- css/parser/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::CSSParser::parseSheet):
- css/parser/CSSParserMode.h:
- 10:58 AM Changeset in webkit [205983] by
-
- 4 edits in trunk/Source/WebKit2
dictionaryPopupInfoForRange() can change selection temporarily; updates should not
be sent to the UIProcess.
https://bugs.webkit.org/show_bug.cgi?id=162008
-and corresponding-
rdar://problem/28312297
Reviewed by Tim Horton.
This patch prevents the selection changes that occur while gathering
dictionaryPopupInfo from being propagated to the UIProcess.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChangeSelection):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
- 10:48 AM Changeset in webkit [205982] by
-
- 7 edits in trunk
[CMake] Refactor GENERATE_BINDINGS
https://bugs.webkit.org/show_bug.cgi?id=161854
Patch by Fujii Hironori <Fujii Hironori> on 2016-09-15
Reviewed by Gyuyoung Kim.
.:
- Source/cmake/WebKitMacros.cmake(GENERATE_BINDINGS): Use
CMakeParseArguments for argument parsing. Defined as a function
instread of a macro because function has its own variable scope.
Wrapped both preprocess-idls.pl and generate-bindings.pl scripts.
Downcased local variables COMMON_GENERATOR_DEPENDENCIES and
BINDING_GENERATOR. Generate idl_files.tmp. Removed arguments
_prefix and _extension because they are always JS and cpp now.
Source/WebCore:
- CMakeLists.txt: Changed the arguments of GENERATE_BINDINGS to
new style. Removed add_custom_command of preprocess-idls.pl which
is moved to GENERATE_BINDINGS. Moved IDL_ATTRIBUTES_FILE into
GENERATE_BINDINGS.
Tools:
- DumpRenderTree/CMakeLists.txt: Changed the arguments of
GENERATE_BINDINGS to new style.
- WebKitTestRunner/CMakeLists.txt: Ditto.
- 10:46 AM Changeset in webkit [205981] by
-
- 1 edit in trunk/Source/WebCore/ChangeLog
Add radar link
- 10:45 AM Changeset in webkit [205980] by
-
- 18 edits2 adds in trunk/Source/WebCore
Add CSS -webkit-appearance property for Apple Pay buttons
https://bugs.webkit.org/show_bug.cgi?id=161986
Reviewed by Dean Jackson.
Add a new -webkit-appearance property, "-apple-pay-button".
Also, add two properties, "-apple-pay-button-type" and "-apple-pay-button-style".
- WebCore.xcodeproj/project.pbxproj:
Add RenderThemeCocoa.h and RenderThemeCocoa.mm.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
Handle CSSPropertyApplePayButtonStyle and CSSPropertyApplePayButtonType.
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ApplePayButtonStyle):
(WebCore::CSSPrimitiveValue::operator ApplePayButtonType):
Add ApplePayButtonStyle and ApplePayButtonType conversion routines.
- css/CSSPropertyNames.in:
Add -apple-pay-button-style and -apple-pay-button-type.
- css/CSSValueKeywords.in:
Add CSS values.
- css/parser/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
Handle CSSPropertyApplePayButtonStyle and CSSPropertyApplePayButtonType.
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
Handle CSSPropertyApplePayButtonStyle and CSSPropertyApplePayButtonType.
(WebCore::isAppleLegacyCSSPropertyKeyword):
New function that returns whether the CSS property should be rewritten to -webkit-.
We want to rewrite -apple- but not -apple-pay-.
(WebCore::cssPropertyID):
Use the newly added isAppleLegacyCSSPropertyKeyword.
(WebCore::isAppleLegacyCSSValueKeyword):
Check for "-apple-pay-" in addition to "-apple-system-".
- platform/ThemeTypes.h:
Add ApplePayButtonPart.
- platform/spi/cocoa/PassKitSPI.h:
Add PKDrawApplePayButton declaration.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
Handle ApplePayButtonPart.
(WebCore::RenderTheme::paint):
Handle ApplePayButtonPart.
- rendering/RenderTheme.h:
(WebCore::RenderTheme::adjustApplePayButtonStyle):
(WebCore::RenderTheme::paintApplePayButton):
Add new functions.
- rendering/RenderThemeCocoa.h: Added.
- rendering/RenderThemeCocoa.mm: Added.
(WebCore::RenderThemeCocoa::adjustApplePayButtonStyle):
Adjust the minimum width and minimum height accordingly.
(WebCore::toPKPaymentButtonStyle):
(WebCore::toPKPaymentButtonType):
Helper functions that convert our WebCore types to PK types.
(WebCore::RenderThemeCocoa::paintApplePayButton):
Call PKDrawApplePayButton.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeMac.h:
Inherit from RenderThemeCocoa.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::applePayButtonStyle):
(WebCore::RenderStyle::applePayButtonType):
(WebCore::RenderStyle::setApplePayButtonStyle):
(WebCore::RenderStyle::setApplePayButtonType):
(WebCore::RenderStyle::initialApplePayButtonStyle):
(WebCore::RenderStyle::initialApplePayButtonType):
- rendering/style/RenderStyleConstants.h:
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
- rendering/style/StyleRareInheritedData.h:
Add new style members for the button style and button type properties.
- 10:17 AM Changeset in webkit [205979] by
-
- 4 edits in trunk/Source/JavaScriptCore
There is no good reason for WeakBlock to care about newly allocated objects
https://bugs.webkit.org/show_bug.cgi?id=162006
Reviewed by Geoffrey Garen.
WeakBlock scans itself in two modes:
visit: if a Weak in the block belongs to an unmarked object, ask the Weak to consider whether
it should do things.
reap: if a Weak in a block belongs to an unmarked object, delete the Weak.
Except that "unmarked" has a peculiar meaning: WeakBlock defines it as
!markedOrNewlyAllocated. So, a newly allocated object will never be consulted about anything.
That sounds scary until you realize that newlyAllocated must have been cleared before we even
got here.
So, we were paying the price of checking newlyAllocated for no reason. This switches the code
to using isMarked(). I don't know why the code previously checked newlyAllocated, but I do
trust my reasoning.
- heap/LargeAllocation.h:
(JSC::LargeAllocation::isMarkedDuringWeakVisiting):
(JSC::LargeAllocation::isMarkedOrNewlyAllocatedDuringWeakVisiting): Deleted.
- heap/MarkedBlock.h:
(JSC::MarkedBlock::isMarkedDuringWeakVisiting):
(JSC::MarkedBlock::isMarkedOrNewlyAllocatedDuringWeakVisiting): Deleted.
- heap/WeakBlock.cpp:
(JSC::WeakBlock::specializedVisit):
(JSC::WeakBlock::reap):
- 10:10 AM Changeset in webkit [205978] by
-
- 8 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=162019
- platform/gtk/TestExpectations:
- platform/gtk/fast/forms/menulist-clip-expected.png:
- platform/gtk/fast/forms/menulist-clip-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
- 10:07 AM Changeset in webkit [205977] by
-
- 14 edits4 adds in trunk
[css-grid] Implement fit-content track size
https://bugs.webkit.org/show_bug.cgi?id=161379
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
This implements the new <fit-content> track size which is defined as follows: "Represents
the formula min(max-content, max(auto, argument)), which is calculated similar to auto
(i.e. minmax(auto, max-content)), except that the track size is clamped at argument if it is
greater than the auto minimum."
From the parsing POV fit-content was implemented as a new type of function which only takes
one argument. That forced us to refactor some code because minmax() was the only allowed
function for <track-size>s so far.
The implementation key is a new attribute in GridTrack called growthLimitCap which is
precisely the single attribute of fit-content(). Some parts of the track sizing algorithm
were adapted to this change like for example the sorting of tracks by growth potential (we
need to consider the caps).
Tests: fast/css-grid-layout/fit-content-columns.html
fast/css-grid-layout/fit-content-rows.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::specifiedValueForGridTrackSize): Added support for fit-content sizes.
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::createGridTrackSize): Added support for fit-content sizes.
- css/parser/CSSParser.cpp:
(WebCore::isGridTrackFixedSized): Added support for fit-content sizes.
(WebCore::CSSParser::parseGridTrackSize): Added support for parsing fit-content() functions.
- css/parser/CSSPropertyParser.cpp: Added support for parsing fit-content() functions so
it'll be available once we switch to the new parser.
- rendering/RenderGrid.cpp:
(WebCore::GridTrack::baseSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::growthLimit): Ditto.
(WebCore::GridTrack::setGrowthLimit): Added an ASSERT to check that the growth limit is
never higher than the cap.
(WebCore::GridTrack::infiniteGrowthPotential):
(WebCore::GridTrack::plannedSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::tempSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::setTempSize): Added as we no longer return a reference in tempSize().
(WebCore::GridTrack::growTempSize): New utility function which increases the tempSize.
(WebCore::GridTrack::setInfinitelyGrowable):
(WebCore::GridTrack::setGrowthLimitCap): Added.
(WebCore::GridTrack::growthLimitCap): Ditto.
(WebCore::GridTrack::growthLimitIsInfinite): Made private.
(WebCore::RenderGrid::GridSizingData::freeSpace): Renamed from freeSpaceForDirection.
(WebCore::RenderGrid::GridSizingData::availableSpace): We now cache the available space as
it is used to compute relative (percentage) sizes.
(WebCore::RenderGrid::GridSizingData::setAvailableSpace): Ditto.
(WebCore::RenderGrid::GridSizingData::setFreeSpace): Renamed from setFreeSpaceForDirection.
(WebCore::RenderGrid::computeTrackSizesForDirection): Receives the available space instead
of the free space.
(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Properly initialize free and available
spaces.
(WebCore::RenderGrid::computeIntrinsicLogicalHeight): Ditto.
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks): Use available space to initialize the
track sizes. Also use sizingOperation to decide whether or not sizes are indefinite. Last
but not least, added support for fit-content tracks.
(WebCore::RenderGrid::computeUsedBreadthOfMinLength): Pass a GridTrackSize instead of a GridLength.
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength): Ditto.
(WebCore::RenderGrid::gridTrackSize): Added support for fit-content.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): Ditto.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems): Ditto.
(WebCore::trackSizeForTrackSizeComputationPhase):
(WebCore::sortByGridTrackGrowthPotential): Reworked the function so it properly sorts tracks
with growth limit caps to support fit-content().
(WebCore::clampGrowthShareIfNeeded): Clamps the given growthShare passed as argument to the
track growth limit cap.
(WebCore::RenderGrid::distributeSpaceToTracks): Use the new setTempSize() method. Also sort
the selected tracks to grow over growth limits in order to respect the track caps eventually
set by fit-content (otherwise those tracks could indefinitely grow over the specified value).
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth): Use the new defined functions.
(WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded): Use freeSpace().
(WebCore::RenderGrid::populateGridPositionsForDirection): Ditto.
(WebCore::GridTrack::infinitelyGrowable): Deleted.
(WebCore::RenderGrid::GridSizingData::freeSpaceForDirection): Deleted.
(WebCore::RenderGrid::GridSizingData::setFreeSpaceForDirection): Deleted.
(WebCore::RenderGrid::trackSizeForTrackSizeComputationPhase): Deleted.
- rendering/RenderGrid.h: Changed the signature of some methods. Moved
TrackSizeComputationPhase out of the RenderGrid class.
- rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::GridTrackSize): Added some extra documentation. Added a new
attribute to the constructor to support fit-content GridTrackSizes.
(WebCore::GridTrackSize::fitContentTrackBreadth): New method which returns the growth limit
cap set by fit-content().
(WebCore::GridTrackSize::minTrackBreadth):
(WebCore::GridTrackSize::isFitContent): Added.
(WebCore::GridTrackSize::length): Deleted.
(WebCore::GridTrackSize::isPercentage): Deleted.
LayoutTests:
New tests to verify that fit-content track sizes work as expected for columns and for
rows. Also added some more test cases to verify that we properly parse fit-content().
- fast/css-grid-layout/fit-content-columns-expected.html: Added.
- fast/css-grid-layout/fit-content-columns.html: Added.
- fast/css-grid-layout/fit-content-rows-expected.html: Added.
- fast/css-grid-layout/fit-content-rows.html: Added.
- fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
- fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-columns-rows-get-set.html:
- fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
- 9:59 AM Changeset in webkit [205976] by
-
- 2 edits in trunk/Tools
Disable failing API WebKit2.DataDetectionReferenceDate until it can be investigated.
https://bugs.webkit.org/show_bug.cgi?id=161967
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(TEST):
- 9:59 AM Changeset in webkit [205975] by
-
- 2 edits in trunk/LayoutTests
Marking transitions/3d/interrupted-transition.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=130972
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 9:51 AM Changeset in webkit [205974] by
-
- 12 edits4 deletes in trunk
Unreviewed, rolling out r205931.
https://bugs.webkit.org/show_bug.cgi?id=162021
Tests for this change fail on 32-bit JSC bots (Requested by
ryanhaddad on #webkit).
Reverted changeset:
"[JSC] Make the rounding-related nodes support any type"
https://bugs.webkit.org/show_bug.cgi?id=161895
http://trac.webkit.org/changeset/205931
- 9:39 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 9:32 AM Changeset in webkit [205973] by
-
- 2 edits in trunk/Source/WebCore
[css-grid] Fix a dangling reference
https://bugs.webkit.org/show_bug.cgi?id=161739
Reviewed by Alexey Proskuryakov.
The code was trying to get a reference to a private attribute of a temporary object returned
by gridTrackSize().
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::assumedRowsSizeForOrthogonalChild):
- 8:51 AM Changeset in webkit [205972] by
-
- 14 edits4 deletes in trunk
Unreviewed, rolling out r205966.
Triggered some assertions
Reverted changeset:
"[css-grid] Implement fit-content track size"
https://bugs.webkit.org/show_bug.cgi?id=161379
http://trac.webkit.org/changeset/205966
- 8:46 AM Changeset in webkit [205971] by
-
- 2 edits in trunk/Tools
[Win] run-api-tests is failing.
https://bugs.webkit.org/show_bug.cgi?id=162015
Reviewed by Brent Fulgham.
MSVC is not interpreting C++ string literals with unicode characters correctly when the source file
doesn't contain encoding information. Save the file with utf8 encoding with signature.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
- 8:42 AM Changeset in webkit [205970] by
-
- 5 edits in trunk
Cleanup RenderLayer::shouldBeNormalFlowOnly
https://bugs.webkit.org/show_bug.cgi?id=161981
Reviewed by Simon Fraser.
Source/WebCore:
This patch changes the logic of figuring about if a particular layer is normal flow only by simply checking
if the layer creates a stacking context. If it does, we assume that it can't be a normal flow layer anymore.
This patch slightly changes behaviour by making layers with isolation and reflection to be non normal flow layers anymore.
Covered by existing testcases.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
LayoutTests:
Rebaselining.
- fast/table/overflow-table-collapsed-borders-section-self-painting-layer-painting-expected.txt:
- 8:40 AM Changeset in webkit [205969] by
-
- 5 edits in trunk
test262: Should be a SyntaxError for duplicate parameter names in function with default parameters
https://bugs.webkit.org/show_bug.cgi?id=162013
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-15
Reviewed by Saam Barati.
JSTests:
- stress/es6-default-parameters.js:
- test262.yaml:
Source/JavaScriptCore:
https://tc39.github.io/ecma262/#sec-function-definitions-static-semantics-early-errors
It is a Syntax Error if IsSimpleParameterList of FormalParameterList is
false and BoundNames of FormalParameterList contains any duplicate elements.
Non-simple parameter lists include rest parameters, destructuring,
and default parameters.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFormalParameters):
Previously, we were not failing if there were default parameters
early in the parameter list that were not yet identified as duplicates
and simple parameters later were duplicates. Now, we fail if there
are default parameters anywhere in the parameter list with a duplicate.
- 8:30 AM Changeset in webkit [205968] by
-
- 3 edits in trunk/Tools
Move --no-sample-on-timeout to config.json for each bot
https://bugs.webkit.org/show_bug.cgi?id=161964
Reviewed by Daniel Bates.
Roll out changes from 205573 and move them into config.json. At this time, only macOS and iOS simulator sample a process on timeout, —no-sample-on-timeout is unneeded for GTK, EFL and Windows.
- BuildSlaveSupport/build.webkit.org-config/config.json: Each bot now independently defines if it will be running sample on timeout.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests.start): Rolled out changes from 205573.
- 4:18 AM Changeset in webkit [205967] by
-
- 8 edits in trunk
js/stringimpl-to-jsstring-on-large-strings tests consume huge memory
https://bugs.webkit.org/show_bug.cgi?id=159807
Reviewed by Saam Barati.
Tools:
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunRemoteJavaScriptCoreTests.start): JSCOnly bots are memory limited devices, tests should run with --memory-limited option.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests): Pass through --memory-limited option to run-jsc-stress-tests.
- Scripts/run-jsc-stress-tests: Typo fix.
LayoutTests:
- js/script-tests/stringimpl-to-jsstring-on-large-strings-1.js: Skipped on memory limited devices.
- js/script-tests/stringimpl-to-jsstring-on-large-strings-2.js: Skipped on memory limited devices.
- js/script-tests/stringimpl-to-jsstring-on-large-strings-3.js: Skipped on memory limited devices.
- 2:45 AM Changeset in webkit [205966] by
-
- 14 edits4 adds in trunk
[css-grid] Implement fit-content track size
https://bugs.webkit.org/show_bug.cgi?id=161379
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
This implements the new <fit-content> track size which is defined as follows: "Represents
the formula min(max-content, max(auto, argument)), which is calculated similar to auto
(i.e. minmax(auto, max-content)), except that the track size is clamped at argument if it is
greater than the auto minimum."
From the parsing POV fit-content was implemented as a new type of function which only takes
one argument. That forced us to refactor some code because minmax() was the only allowed
function for <track-size>s so far.
The implementation key is a new attribute in GridTrack called growthLimitCap which is
precisely the single attribute of fit-content(). Some parts of the track sizing algorithm
were adapted to this change like for example the sorting of tracks by growth potential (we
need to consider the caps).
Tests: fast/css-grid-layout/fit-content-columns.html
fast/css-grid-layout/fit-content-rows.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::specifiedValueForGridTrackSize): Added support for fit-content sizes.
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::createGridTrackSize): Added support for fit-content sizes.
- css/parser/CSSParser.cpp:
(WebCore::isGridTrackFixedSized): Added support for fit-content sizes.
(WebCore::CSSParser::parseGridTrackSize): Added support for parsing fit-content() functions.
- css/parser/CSSPropertyParser.cpp: Added support for parsing fit-content() functions so
it'll be available once we switch to the new parser.
- rendering/RenderGrid.cpp:
(WebCore::GridTrack::baseSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::growthLimit): Ditto.
(WebCore::GridTrack::setGrowthLimit): Added an ASSERT to check that the growth limit is
never higher than the cap.
(WebCore::GridTrack::infiniteGrowthPotential):
(WebCore::GridTrack::plannedSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::tempSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::setTempSize): Added as we no longer return a reference in tempSize().
(WebCore::GridTrack::growTempSize): New utility function which increases the tempSize.
(WebCore::GridTrack::setInfinitelyGrowable):
(WebCore::GridTrack::setGrowthLimitCap): Added.
(WebCore::GridTrack::growthLimitCap): Ditto.
(WebCore::GridTrack::growthLimitIsInfinite): Made private.
(WebCore::RenderGrid::GridSizingData::freeSpace): Renamed from freeSpaceForDirection.
(WebCore::RenderGrid::GridSizingData::availableSpace): We now cache the available space as
it is used to compute relative (percentage) sizes.
(WebCore::RenderGrid::GridSizingData::setAvailableSpace): Ditto.
(WebCore::RenderGrid::GridSizingData::setFreeSpace): Renamed from setFreeSpaceForDirection.
(WebCore::RenderGrid::computeTrackSizesForDirection): Receives the available space instead
of the free space.
(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Properly initialize free and available
spaces.
(WebCore::RenderGrid::computeIntrinsicLogicalHeight): Ditto.
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks): Use available space to initialize the
track sizes. Also use sizingOperation to decide whether or not sizes are indefinite. Last
but not least, added support for fit-content tracks.
(WebCore::RenderGrid::computeUsedBreadthOfMinLength): Pass a GridTrackSize instead of a GridLength.
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength): Ditto.
(WebCore::RenderGrid::gridTrackSize): Added support for fit-content.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): Ditto.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems): Ditto.
(WebCore::trackSizeForTrackSizeComputationPhase):
(WebCore::sortByGridTrackGrowthPotential): Reworked the function so it properly sorts tracks
with growth limit caps to support fit-content().
(WebCore::clampGrowthShareIfNeeded): Clamps the given growthShare passed as argument to the
track growth limit cap.
(WebCore::RenderGrid::distributeSpaceToTracks): Use the new setTempSize() method. Also sort
the selected tracks to grow over growth limits in order to respect the track caps eventually
set by fit-content (otherwise those tracks could indefinitely grow over the specified value).
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth): Use the new defined functions.
(WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded): Use freeSpace().
(WebCore::RenderGrid::populateGridPositionsForDirection): Ditto.
(WebCore::GridTrack::infinitelyGrowable): Deleted.
(WebCore::RenderGrid::GridSizingData::freeSpaceForDirection): Deleted.
(WebCore::RenderGrid::GridSizingData::setFreeSpaceForDirection): Deleted.
(WebCore::RenderGrid::trackSizeForTrackSizeComputationPhase): Deleted.
- rendering/RenderGrid.h: Changed the signature of some methods. Moved
TrackSizeComputationPhase out of the RenderGrid class.
- rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::GridTrackSize): Added some extra documentation. Added a new
attribute to the constructor to support fit-content GridTrackSizes.
(WebCore::GridTrackSize::fitContentTrackBreadth): New method which returns the growth limit
cap set by fit-content().
(WebCore::GridTrackSize::minTrackBreadth):
(WebCore::GridTrackSize::isFitContent): Added.
(WebCore::GridTrackSize::length): Deleted.
(WebCore::GridTrackSize::isPercentage): Deleted.
LayoutTests:
New tests to verify that fit-content track sizes work as expected for columns and for
rows. Also added some more test cases to verify that we properly parse fit-content().
- fast/css-grid-layout/fit-content-columns-expected.html: Added.
- fast/css-grid-layout/fit-content-columns.html: Added.
- fast/css-grid-layout/fit-content-rows-expected.html: Added.
- fast/css-grid-layout/fit-content-rows.html: Added.
- fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
- fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-columns-rows-get-set.html:
- fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
- 2:24 AM Changeset in webkit [205965] by
-
- 3 edits in trunk/Source/WebCore
Fix build warnings in the mediastream code
https://bugs.webkit.org/show_bug.cgi?id=161957
Patch by Alejandro G. Castro <alex@igalia.com> on 2016-09-15
Reviewed by Philippe Normand.
- platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaConstraint::create): Added assertion and mock return.
- platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp:
(WebCore::RealtimeMediaSourceSupportedConstraints::nameForConstraint):
Added assertion and mock return.
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsConstraint):
Added assertion and mock return.
- 2:15 AM Changeset in webkit [205964] by
-
- 3 edits in trunk/Source/WebCore
Rebase binding tests after r205953
https://bugs.webkit.org/show_bug.cgi?id=162012
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-15
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunctionTestWorkerPromise):
(WebCore::jsTestNodePrototypeFunctionTestWorkerPromisePromise):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunction):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionPromise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionPromise):
- 2:12 AM Changeset in webkit [205963] by
-
- 1 copy in releases/WebKitGTK/webkit-2.13.92
WebKitGTK+ 2.13.92
- 2:11 AM Changeset in webkit [205962] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.13.92 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.13.92.
- 1:47 AM Changeset in webkit [205961] by
-
- 6 edits in trunk
[WebRTC][OpenWebRTC] crash in maybeHandleChangeMutedState
https://bugs.webkit.org/show_bug.cgi?id=161619
Source/WebCore:
Added OpenWebRTC support to the RealtimeMediaSource mock class.
Patch by Alejandro G. Castro <alex@igalia.com> on 2016-09-15
Reviewed by Eric Carlson.
Fixed tests.
- platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h:
(WebCore::RealtimeMediaSourceOwr::RealtimeMediaSourceOwr): Allowed
inheritance of the class, required to use it when creating the
mock class. Added a new constructor to create the class with null
mediastream.
- platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::MockRealtimeMediaSource): Use
the new BaseRealtimeMediaSourceClass in the constructor.
- platform/mock/MockRealtimeMediaSource.h: Added a new
BaseRealtimeMediaSourceClass defined using the
RealtimeMediaSourceOwr class for OpenWebRTC platform.
LayoutTests:
Patch by Alejandro G. Castro <alex@igalia.com> on 2016-09-15
Reviewed by Eric Carlson.
- platform/gtk/TestExpectations: Modify the expectations, the
tests do not crash anymore.
- 1:42 AM Changeset in webkit [205960] by
-
- 5 edits in trunk
[css-grid] Fix intrinsic size computation with flexible sized tracks
https://bugs.webkit.org/show_bug.cgi?id=161903
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
This is fixing a regression added in r192154. When computing the min content size of a grid
container (min preferred logical width) we should not take into account the fr tracks. As
stated in the early versions of the spec that size is the sum of the tracks' base sizes
before running the maximize tracks step.
That regression was causing sizing issues in grids with fr tracks both when under
min|max-content constrains and also when used as grid items (in nested grids).
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
LayoutTests:
Added a couple of new test cases, grid with fr tracks inside a container with intrinsic
dimensions and and grid with fr tracks inside another grid with fr tracks.
- fast/css-grid-layout/flex-and-intrinsic-sizes-expected.txt:
- fast/css-grid-layout/flex-and-intrinsic-sizes.html:
- 1:11 AM Changeset in webkit [205959] by
-
- 26 edits4 adds in releases/WebKitGTK/webkit-2.14/Source
Merge r205909 - [GTK][Wayland] Implement clipboard support
https://bugs.webkit.org/show_bug.cgi?id=146574
Patch by Carlos Garnacho <carlosg@gnome.org> on 2016-09-14
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Implement PlatformPasteboard in the GTK+ platform, and move Pasteboard
to using PasteboardStrategy so clipboard management is left to the
UIProcess.
DataObjectGtk is still used in the Pasteboard GTK implementation, it's
now just never backed by a GtkClipboard, this object is instead
serialized through PasteboardStrategy, so the UIProcess side can mirror
the content in a GtkClipboard-backed DataObjectGtk, which is then
exposed to the windowing through PlatformPasteboard/PasteboardHelper.
When requesting clipboard content, it works similarly, the UIProcess
side first updates its DataObjectGtk, which is then mirrored by the
WebProcess through the PasteboardStrategy requests.
- PlatformGTK.cmake: Added PlatformPasteboardGtk.cpp
- editing/gtk/EditorGtk.cpp:
(WebCore::Editor::writeSelectionToPasteboard): Eliminate usage of
PasteboardWebContent callback argument. This is done differently as
we have to signal back the WebProcess.
- platform/Pasteboard.h: Cleaned up of direct GTK+ dependency.
- platform/PasteboardStrategy.h: Added plumbing towards the pasteboard
proxy.
- platform/PlatformPasteboard.h:
- platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::clearAllExceptFilenames): Clear the "smart
paste" flag if set, now that this is DataObjectGtk data.
- platform/gtk/DataObjectGtk.h:
(WebCore::DataObjectGtk::canSmartReplace):
(WebCore::DataObjectGtk::setCanSmartReplace): Added functions, in order
to flag whether a DataObjectGtk has the "smart paste" feature enabled
or not.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createForGlobalSelection):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::writeToClipboard):
(WebCore::Pasteboard::readFromClipboard):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::writePasteboard):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::hasData):
(WebCore::Pasteboard::types):
(WebCore::Pasteboard::readString):
(WebCore::Pasteboard::readFilenames): Made to use the
PasteboardStrategy instead of PasteboardHelper/GTK+ API.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::~PasteboardHelper):
(WebCore::ClipboardSetData::ClipboardSetData):
(WebCore::clearClipboardContentsCallback):
(WebCore::PasteboardHelper::writeClipboardContents): Remove the GClosure
to notify whether the global selection has been replaced. Use std:function
instead. Remove SmartPasteInclusion argument, now figured out through
DataObjectGtk canSmartPaste() member.
- platform/gtk/PasteboardHelper.h:
- platform/gtk/PlatformPasteboardGtk.cpp: Added.
(WebCore::PlatformPasteboard::PlatformPasteboard):
(WebCore::PlatformPasteboard::writeToClipboard):
(WebCore::PlatformPasteboard::readFromClipboard): Implemented
PlatformPasteboard using PasteboardHelper/GTK+ API.
Source/WebKit2:
Add the necessary plumbing for the GTK+ backend to use the
PlatformPasteboard in WebCore. All selection data is transmitted
at once through the serialization of PasteboardContentGtk/DataObjectGtk.
- PlatformGTK.cmake: Add PasteboardContentGtk.cpp and
WebPasteboardProxyGtk.cpp
- Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::encode):
(IPC::decode): Renamed from encodeDataObject/decodeDataObject
and made public.
(IPC::ArgumentCoder<DragData>::encode):
(IPC::ArgumentCoder<DragData>::decode): Update DataObjectGtk
encode/decode callers. Encode the extra canSmartReplace field.
- Shared/gtk/ArgumentCodersGtk.h: Expose encode/decode methods for
DataObjectGtk.
- Shared/gtk/PasteboardContent.cpp: Added. Wraps a DataObjectGtk
so it can be serialized on WebProcess/UIProcess messaging.
(WebKit::PasteboardContent::PasteboardContent):
(WebKit::PasteboardContent::encode):
(WebKit::PasteboardContent::decode): Methods to encode/decode a
PasteboardContent.
- Shared/gtk/PasteboardContent.h: Added.
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::collapseSelection): Added plumbing to allow
collapsing the global selection from the UI process side.
- UIProcess/WebFrameProxy.h:
- UIProcess/WebPasteboardProxy.h:
- UIProcess/WebPasteboardProxy.messages.in: Added plumbing for the
GTK+ pasteboard proxy functions.
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::editorStateChanged):
- UIProcess/gtk/WebPasteboardProxyGtk.cpp: Added.
(WebKit::WebPasteboardProxy::writeToClipboard):
(WebKit::WebPasteboardProxy::readFromClipboard): Implemented functions
hooking into the PlatformPasteboard. Per-selection (ie.
primary/clipboard) PlatformPasteboards are kept at this level, so those
are independently set and dealt with.
(WebKit::WebPasteboardProxy::setPrimarySelectionOwner):
(WebKit::WebPasteboardProxy::didDestroyFrame): Implemented functions
to manage the frame currently being currently interacted, so we can
signal back when the global selection has been replaced.
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::writeToClipboard):
(WebKit::WebPlatformStrategies::readFromClipboard): Added methods to
send the WebProcess->UIProcess messages.
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::updateGlobalSelection): Remove GClosure to
get notifications about changes in global selection ownership. This
is done through a WebPage message now, as the UI process manages the
clipboard.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::collapseSelectionInFrame): Added methods to send
the UIProcess->WebProcess notification that the global selection has
been replaced.
- 1:02 AM Changeset in webkit [205958] by
-
- 12 edits in releases/WebKitGTK/webkit-2.14/Source
Merge r205860 - [GTK] Get rid of DataObjectGtk::forClipboard and cleanup pasteboard code
https://bugs.webkit.org/show_bug.cgi?id=161907
Reviewed by Michael Catanzaro.
Source/WebCore:
We don't really need to keep a DataObjectGtk for every clipboard, we could simply pass the DataObjectGtk to read
and write methods of PasteboardHelper.
- editing/gtk/EditorGtk.cpp:
(WebCore::createFragmentFromPasteboardData): Update for DataObjectGtk API changes.
- platform/Pasteboard.h:
- platform/gtk/DataObjectGtk.cpp: Remove forClipboard() static method.
- platform/gtk/DataObjectGtk.h: Ditto.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::Pasteboard): Always create a new DataObjectGtk.
(WebCore::Pasteboard::dataObject): Return a const reference instead of a pointer.
(WebCore::Pasteboard::writePlainText): Pass the DataObjectGtk to PasteboardHelper.
(WebCore::Pasteboard::write): Ditto.
(WebCore::Pasteboard::writePasteboard): Ditto.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::read): Ditto.
(WebCore::Pasteboard::hasData): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::getClipboardContents): Update the given DataObjectGtk.
(WebCore::PasteboardHelper::fillSelectionData): Use a const reference to DataObjectGtk instead of a pointer.
(WebCore::PasteboardHelper::targetListForDataObject): Ditto.
(WebCore::PasteboardHelper::fillDataObjectFromDropData): Use a reference to DataObjectGtk instead of a pointer.
(WebCore::ClipboardSetData::ClipboardSetData): Helper struct to pass DataObjectGtk and callback to clipboard callbacks.
(WebCore::ClipboardSetData::~ClipboardSetData):
(WebCore::getClipboardContentsCallback): Get the DataObjectGtk from ClipboardSetData struct passed as user data.
(WebCore::clearClipboardContentsCallback): Get the DataObjectGtk and callback from ClipboardSetData struct
passed as user data.
(WebCore::PasteboardHelper::writeClipboardContents): Write the given DataObjectGtk.
- platform/gtk/PasteboardHelper.h:
Source/WebKit2:
Update to DataObjectGtk and PasteboardHelper API changes.
- UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::startDrag):
(WebKit::DragAndDropHandler::fillDragData):
(WebKit::DragAndDropHandler::dataObjectForDropData):
- WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::collapseSelection):
(WebKit::WebEditorClient::updateGlobalSelection): Remove wrong X11 guards, since that code is not X11 specific.
- 1:00 AM Changeset in webkit [205957] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205853 - [GTK] Scrollbar too large
https://bugs.webkit.org/show_bug.cgi?id=161735
Reviewed by Michael Catanzaro.
We were not calculating the total scrollbar size correctly when the theme defines a minimum width/height. In
that case we need to take the extra size into account (border, margin, padding), but not adding the minimum
size. We were also adjusting the thumb position when rendering in indicator mode, but we really need to adjust
the whole rectangle. This worked in Adwaita because it uses a transparent track when in indicator mode. We are
also now taking into account the text direction when doing this adjustment for the indicator mode.
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paint):
(WebCore::ScrollbarThemeGtk::scrollbarThickness):
- 12:59 AM Changeset in webkit [205956] by
-
- 5 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205852 - [GTK] Crash of WebProcess on the last WebView disconnect (take two)
https://bugs.webkit.org/show_bug.cgi?id=161842
Reviewed by Michael Catanzaro.
The problem is that when PlatformDisplayX11 is destroyed, the sharing GL context is deleted and its destructor
makes a downcast of PlatformDisplay to get the native X11 display. We could simply keep a pointer to the native
X11 display in GLContextGLX, got at construction time from the PlatformDisplay, and ensure the sharing GL
context is deleted before the native X11 display is closed.
- platform/graphics/PlatformDisplay.h: Make m_sharingGLContext protected.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::GLContextGLX): Initialize m_x11Display.
(WebCore::GLContextGLX::~GLContextGLX): Use m_x11Display and remove confusing comment about possible crash with
nviedia closed drivers.
(WebCore::GLContextGLX::defaultFrameBufferSize): Use m_x11Display.
(WebCore::GLContextGLX::makeContextCurrent): Ditto.
(WebCore::GLContextGLX::swapBuffers): Ditto.
(WebCore::GLContextGLX::swapInterval): Ditto.
(WebCore::GLContextGLX::cairoDevice): Ditto.
- platform/graphics/glx/GLContextGLX.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::~PlatformDisplayX11): Delete the sharing GL context before closing the display.
- 12:50 AM Changeset in webkit [205955] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14
Merge r205672 - [CMake] Build failure with GCC 6 (fatal error: stdlib.h: No such file or directory)
https://bugs.webkit.org/show_bug.cgi?id=161697
Reviewed by Michael Catanzaro.
Get the list of system includes from GCC and add it to the CMake
list of implicit includes. This way, CMake will filter any of this
directories from the list of includes when calling the compiler.
This avoids an issue with GCC 6 that causes build failures when
including the default include path as a system include (-isystem).
- Source/cmake/OptionsCommon.cmake:
- 12:40 AM Changeset in webkit [205954] by
-
- 5 edits in trunk
[css-grid] Too many gaps with trailing collapsing tracks
https://bugs.webkit.org/show_bug.cgi?id=161905
Reviewed by Darin Adler.
Source/WebCore:
The total number and size of gaps were incorrectly computed whenever there were trailing
collapsed tracks (with collapsed gaps). The problem was that we were trying to optimize too
much the amount of hash table queries required to know the gaps between two lines. We were
considering that a gap always exist between 2 consecutive tracks if the first one is not
empty. That's generally true (for both NOTEMPTY|NOTEMPTY and NOTEMPTY|EMPTY+|NOTEMPTY
sequences) but not for all the cases (NOTEMPTY|EMPTY+).
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::guttersSize):
LayoutTests:
Added new test cases to check that trailing collapsed tracks do not add gutters at the end.
- fast/css-grid-layout/grid-auto-fit-columns-expected.txt:
- fast/css-grid-layout/grid-auto-fit-columns.html:
- 12:21 AM Changeset in webkit [205953] by
-
- 11 edits in trunk
callPromiseFunction should be made usable for custom binding code
https://bugs.webkit.org/show_bug.cgi?id=161961
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-15
Reviewed by Darin Adler.
Source/WebCore:
Covered by updated test.
- bindings/js/JSDOMBinding.h:
(WebCore::castThisValue): Utility function to cast this value to a specific type.
- bindings/js/JSDOMPromise.h:
(WebCore::callPromiseFunction): Updated to take real promise function as a template parameter
for improved efficiency. Added workerMode template parameter.
(WebCore::bindingPromiseFunctionAdapter): Function signature adaptor.
- bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::JSMediaDevicesGetUserMediaPromiseFunction):
(WebCore::JSMediaDevices::getUserMedia): Making use of callPromiseFunction to properly handle exceptions.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Updated to use template parameter.
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunctionTestWorkerPromise):
(WebCore::jsTestNodePrototypeFunctionTestWorkerPromisePromise):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunction):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException):
- bindings/scripts/test/TestNode.idl: Adding Worker promise binding test.
LayoutTests:
- fast/mediastream/MediaDevices-getUserMedia-expected.txt:
- fast/mediastream/MediaDevices-getUserMedia.html: Updated to expect a rejected promise in lieu of an exception.
Sep 14, 2016:
- 11:57 PM Changeset in webkit [205952] by
-
- 14 edits3 adds in branches/safari-602-branch
Merge r205938. rdar://problem/28227805
- 11:57 PM Changeset in webkit [205951] by
-
- 5 edits in branches/safari-602-branch
Merge r205878. rdar://problem/28229827
- 11:57 PM Changeset in webkit [205950] by
-
- 11 edits1 copy3 adds in branches/safari-602-branch
Merge r205870. rdar://problem/28225774
- 11:56 PM Changeset in webkit [205949] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r205935. rdar://problem/26013388
- 11:56 PM Changeset in webkit [205948] by
-
- 6 edits in branches/safari-602-branch/Source/WebKit2
Merge r205934. rdar://problem/26013388
- 11:56 PM Changeset in webkit [205947] by
-
- 6 edits in branches/safari-602-branch/Source/WebKit2
Merge r205928. rdar://problem/26013388
- 9:54 PM Changeset in webkit [205946] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Call frame is sometimes not selected in Debugger sidebar on initial pause
https://bugs.webkit.org/show_bug.cgi?id=161835
<rdar://problem/28236680>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange):
If a tree other than the newly selected element's tree has the selection,
deselect it to prevent multiple tree selections.
(WebInspector.NavigationSidebarPanel.prototype.show): Deleted.
Not needed since the selected tree is no longer tracked. Incidentally,
SidebarPanel.show was only called by SearchSidebarPanel, which doesn't need
to manage selection across multiple tree outlines.
- 9:32 PM Changeset in webkit [205945] by
-
- 4 edits in trunk/LayoutTests
Unreviewed, update ios-simulator-wk1 test expectations after migrating to iOS 10
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 6:14 PM Changeset in webkit [205944] by
-
- 5 edits in trunk
ASSERT_NOT_REACHED when using spread inside an array literal with Function.prototype.apply
https://bugs.webkit.org/show_bug.cgi?id=162003
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Saam Barati.
JSTests:
- stress/spread-calling.js:
- test262.yaml:
Source/JavaScriptCore:
- bytecompiler/NodesCodegen.cpp:
(JSC::ArrayNode::isSimpleArray):
Don't treat an Array that has a spread expression inside it as simple.
This avoids a fast path for f.apply(x, simpleArray) that was not handling
spread expressions within arrays, and instead taking a path that can
handle the spreading.
- 6:08 PM Changeset in webkit [205943] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 5:33 PM Changeset in webkit [205942] by
-
- 14 edits in trunk/Source
Unreviewed, rolling out r205933 and r205936.
https://bugs.webkit.org/show_bug.cgi?id=162002
broke the build (Requested by keith_miller on #webkit).
Reverted changesets:
"Pragma out undefined-var-template warnings in JSC for
JSObjects that are templatized"
https://bugs.webkit.org/show_bug.cgi?id=161985
http://trac.webkit.org/changeset/205933
"Unreviewed, fix the Windows build."
http://trac.webkit.org/changeset/205936
- 5:19 PM Changeset in webkit [205941] by
-
- 21 edits4 adds2 deletes in trunk
WebCrypto algorithms should be exposed via KeyAlgorithm dictionary
https://bugs.webkit.org/show_bug.cgi?id=128748
<rdar://problem/27359438>
Reviewed by Brent Fulgham and Chris Dumez.
Source/WebCore:
Replace custom CryptoAlgorithmBuilder/buildAlgorithmDescription with KeyAlgorithm dictionary which is
defined by the spec: https://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary. Moreover, mark
CryptoKey.usages as CachedAttribute.
Tests: crypto/subtle/crypto-key-algorithm-gc.html
crypto/subtle/crypto-key-usages-gc.html
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
Remove CryptoAlgorithmDescriptionBuilder.cpp.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCryptoAlgorithmBuilder.cpp:
(WebCore::JSCryptoAlgorithmBuilder::add):
(WebCore::JSCryptoAlgorithmBuilder::createEmptyClone): Deleted.
- bindings/js/JSCryptoAlgorithmBuilder.h:
- bindings/js/JSCryptoKeyCustom.cpp:
(WebCore::JSCryptoKey::algorithm):
Get rid of dependency on CryptoAlgorithmDescriptionBuilder.
- crypto/CryptoAlgorithmDescriptionBuilder.cpp: Removed.
- crypto/CryptoAlgorithmDescriptionBuilder.h: Removed.
Replace it with KeyAlgorithm.
- crypto/CryptoKey.cpp:
(WebCore::CryptoKey::CryptoKey):
(WebCore::CryptoKey::buildAlgorithmDescription): Deleted.
- crypto/CryptoKey.h:
(WebCore::KeyAlgorithm::KeyAlgorithm):
(WebCore::KeyAlgorithm::~KeyAlgorithm):
(WebCore::CryptoKey::algorithmIdentifier):
- crypto/CryptoKey.idl:
Add KeyAlgorithm dictionary which is returned via CryptoKey.buildAlgorithm() method,
and rename m_algorithm to m_algorithmIdentifier to distingush it with newly
added KeyAlgorithm dictionary.
- crypto/gnutls/CryptoKeyRSAGnuTLS.cpp:
(WebCore::buildAlgorithm):
(WebCore::CryptoKeyRSA::buildAlgorithmDescription): Deleted.
- crypto/keys/CryptoKeyAES.cpp:
(WebCore::CryptoKeyAES::buildAlgorithm):
(WebCore::CryptoKeyAES::buildAlgorithmDescription): Deleted.
- crypto/keys/CryptoKeyAES.h:
(WebCore::AesKeyAlgorithm::AesKeyAlgorithm):
(WebCore::AesKeyAlgorithm::~AesKeyAlgorithm):
- crypto/keys/CryptoKeyHMAC.cpp:
(WebCore::CryptoKeyHMAC::buildAlgorithm):
(WebCore::CryptoKeyHMAC::buildAlgorithmDescription): Deleted.
- crypto/keys/CryptoKeyHMAC.h:
(WebCore::HmacKeyAlgorithm::HmacKeyAlgorithm):
(WebCore::HmacKeyAlgorithm::~HmacKeyAlgorithm):
- crypto/keys/CryptoKeyRSA.h:
(WebCore::RsaKeyAlgorithm::RsaKeyAlgorithm):
(WebCore::RsaKeyAlgorithm::~RsaKeyAlgorithm):
(WebCore::RsaHashedKeyAlgorithm::RsaHashedKeyAlgorithm):
(WebCore::RsaHashedKeyAlgorithm::~RsaHashedKeyAlgorithm):
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::buildAlgorithm):
(WebCore::CryptoKeyRSA::buildAlgorithmDescription): Deleted.
LayoutTests:
- crypto/subtle/crypto-key-algorithm-gc-expected.txt: Added.
- crypto/subtle/crypto-key-algorithm-gc.html: Added.
- crypto/subtle/crypto-key-usages-gc-expected.txt: Added.
- crypto/subtle/crypto-key-usages-gc.html: Added.
- crypto/subtle/hmac-generate-key-expected.txt:
- crypto/subtle/hmac-generate-key.html:
- 5:16 PM Changeset in webkit [205940] by
-
- 1 copy in tags/Safari-602.2.8
New tag.
- 5:03 PM Changeset in webkit [205939] by
-
- 10 edits in trunk
REGRESSION (r205670): ASSERTION FAILED: methodTable(vm)->toThis(this, exec, NotStrictMode) == this
https://bugs.webkit.org/show_bug.cgi?id=161982
Reviewed by Saam Barati.
Source/JavaScriptCore:
Update JSProxy::setPrototype() to return false unconditionally instead
of forwarding the call to its target. We used to forward to the target
and then the JSDOMWindow's SetPrototypeOf would return false.
However, the JSC tests use a different GlobalObject and forwarding
the setPrototypeOf() call to the GlobalObject lead to hitting an
assertion. This patch aligns the behavior of the GlobalObject used by
the JSC tests with JSDOMWindow.
- runtime/JSProxy.cpp:
(JSC::JSProxy::setPrototype):
Source/WebCore:
We no longer need a custom SetPrototypeOf anymore as JSProxy::setPrototypeOf()
no longer forwards the call to its target.
No new layout tests because the behavior only changes in the context of the JSC
tests (which were updated in this patch).
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setPrototype): Deleted.
- page/DOMWindow.idl:
LayoutTests:
Bring back JSC test coverage that got lost in r205670.
- js/object-literal-shorthand-construction-expected.txt:
- js/script-tests/object-literal-shorthand-construction.js:
- js/script-tests/sloppy-getter-setter-global-object.js:
- js/sloppy-getter-setter-global-object-expected.txt:
- 4:51 PM Changeset in webkit [205938] by
-
- 14 edits3 adds in trunk
Media controls behave strangely when changing media sources
https://bugs.webkit.org/show_bug.cgi?id=161914
<rdar://problem/28227805>
Reviewed by Tim Horton.
Source/WebCore:
Addresses media controls flickering while changing the source of a media element. To accomplish this, we make
the following changes to the media controls main content heuristic:
- Prevent elements that are not mostly within the mainframe rect (or elements with empty rects) from showing media controls. Many websites that rely on same document navigation will move videos offscreen when navigating to a section of their site that does not play media. Without this check, we would not know to hide a video element on certain popular websites that use this technique, since the video has been interacted with in the past.
- Rather than check whether a media element currently has video/audio sources, check whether it has ever had audio. Many websites will use the same media element across different videos and change only the source, and we should not prevent a media element from having media controls on grounds of having no audio or video in this case.
- Rather than add user gesture and playback behavior restrictions before dispatching an ended event, add only the gesture restriction immediately, and add the playback restriction after waiting for a grace period only if the user has not interacted with the video since ending, and the video is not currently playing or about to play. This gives the user a chance to interact with the controls when a video ends, but also allows the page to load or begin playing a new video with the same media element without thrashing media control state.
Adds 3 new API tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::mediaPlayerActiveSourceBuffersChanged):
(WebCore::HTMLMediaElement::seekWithTolerance):
(WebCore::HTMLMediaElement::beginScrubbing):
(WebCore::HTMLMediaElement::addBehaviorRestrictionsOnEndIfNecessary):
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
(WebCore::HTMLMediaElement::playbackControlsManagerBehaviorRestrictionsTimerFired):
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::hasEverHadAudio):
(WebCore::HTMLMediaElement::hasEverHadVideo):
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canShowControlsManager):
(WebCore::isElementRectMostlyInMainFrame):
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerActiveSourceBuffersChanged):
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::notifyActiveSourceBuffersChanged):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::notifyActiveSourceBuffersChanged):
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
(WebCore::MediaSourcePrivateAVFObjC::sourceBufferPrivateDidChangeActiveState):
Source/WebKit2:
Allows a web page to have an active video for a media control manager even if no audio or video is currently
being produced. This is because the media element may be in a state where it is changing its source and does not
currently have a video or audio track.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::hasActiveVideoForControlsManager):
Tools:
Adds three new unit tests verifying that media controls remain stable during common
srcchange scenarios. Also
tweaks an existing test to account for newendedbehavior.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(-[VideoControlsManagerTestWebView waitForMediaControlsToShow]):
(-[VideoControlsManagerTestWebView waitForMediaControlsToHide]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-click.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-end.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-offscreen.html: Added.
- 4:17 PM Changeset in webkit [205937] by
-
- 5 edits1 add in trunk
YARR doesn't check for invalid flags for literal regular expressions
https://bugs.webkit.org/show_bug.cgi?id=161995
Reviewed by Mark Lam.
JSTests:
New test.
- stress/regress-161995.js: Added.
(testStatic):
(catch):
Source/JavaScriptCore:
Added a new error and a check that the flags are valid when we create a
literal regular expression.
- runtime/RegExp.cpp:
(JSC::RegExp::finishCreation):
- yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPattern::errorMessage):
(JSC::Yarr::YarrPattern::compile):
- yarr/YarrPattern.h:
- 4:15 PM Changeset in webkit [205936] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix the Windows build.
- runtime/HashMapImpl.cpp:
- 4:11 PM Changeset in webkit [205935] by
-
- 2 edits in trunk/Source/WebKit2
Add needsPlainTextQuirk and send it to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=161996
-and corresponding-
rdar://problem/26013388
Rubber-stamped by Simon Fraser.
Quick clean-up.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::needsPlainTextQuirk):
- 4:00 PM Changeset in webkit [205934] by
-
- 6 edits in trunk/Source/WebKit2
Add needsPlainTextQuirk and send it to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=161996
-and corresponding-
rdar://problem/26013388
Reviewed by Anders Carlsson.
WebPageProxy should keep track of m_needsPlainTextQuirk.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setNeedsPlainTextQuirk):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::needsPlainTextQuirk):
(WebKit::WebPageProxy::needsHiddenContentEditableQuirk): Deleted.
- UIProcess/WebPageProxy.messages.in:
If m_needsPlainTextQuirk is true, set it back to false on page transition.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didStartPageTransition):
The sites that need this quirk.
(WebKit::needsPlainTextQuirk):
(WebKit::WebPage::didChangeSelection):
- WebProcess/WebPage/WebPage.h:
- 3:32 PM Changeset in webkit [205933] by
-
- 13 edits in trunk/Source
Pragma out undefined-var-template warnings in JSC for JSObjects that are templatized
https://bugs.webkit.org/show_bug.cgi?id=161985
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
I started a true fix for this in
https://bugs.webkit.org/show_bug.cgi?id=161979, however the fix
for this issue is not sustainable. Since the scope of this issue
is just limited to the static const ClassInfo member it is
simpler to just pragma out this warning. This works because
COMDAT will, AFAIK, pick the actual specialization. If, in the
future, we want to expose these classes to WebCore we will need to
do what we do for JSGenericTypedArrayViews and create a custom
info() function with a switch.
This patch also fixes a bunch of weak external symbols due to one of:
1) out of line template member definitions functions not being marked inline.
2) inline member functions definitions being marked as exported.
3) missing header file includes for forward function declarations.
- API/JSCallbackObject.h:
- b3/B3ValueInlines.h:
(JSC::B3::Value::as):
- runtime/HashMapImpl.h:
- runtime/JSCJSValue.h:
(JSC::toUInt32): Deleted.
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndexQuicklyToDouble):
- runtime/JSGenericTypedArrayViewConstructor.h:
- runtime/JSGenericTypedArrayViewPrototype.h:
- runtime/MathCommon.h:
(JSC::toUInt32):
- runtime/TypedArrayAdaptors.h:
- runtime/VM.h:
(JSC::VM::watchdog):
(JSC::VM::heapProfiler):
(JSC::VM::samplingProfiler):
Source/WTF:
Fix WTF_EXPORT_PRIVATE for an inline member function. This would
generate a weak export.
- wtf/MetaAllocator.h:
(WTF::MetaAllocator::getLock):
- 3:27 PM Changeset in webkit [205932] by
-
- 13 edits in trunk
test262: TypedArray constructors length should be 3 and configurable
https://bugs.webkit.org/show_bug.cgi?id=161955
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Mark Lam.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
https://tc39.github.io/ecma262/#sec-ecmascript-standard-built-in-objects
Unless otherwise specified, the length property of a built-in Function
object has the attributes:
{ Writable: false, Enumerable: false, Configurable: true }.
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::JSGenericTypedArrayViewConstructor<ViewClass>::finishCreation):
LayoutTests:
- js/script-tests/typedarray-constructors.js:
- js/typedarray-constructors-expected.txt:
- js/dom/constructor-length.html:
- platform/efl/js/dom/constructor-length-expected.txt:
- platform/gtk/js/dom/constructor-length-expected.txt:
- platform/ios-simulator/js/dom/constructor-length-expected.txt:
- platform/mac/js/dom/constructor-length-expected.txt:
- platform/win/js/dom/constructor-length-expected.txt:
- 2:24 PM Changeset in webkit [205931] by
-
- 12 edits4 adds in trunk
[JSC] Make the rounding-related nodes support any type
https://bugs.webkit.org/show_bug.cgi?id=161895
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-14
Reviewed by Geoffrey Garen.
JSTests:
- stress/arith-ceil-on-various-types.js: Added.
- stress/arith-floor-on-various-types.js: Added.
- stress/arith-round-on-various-types.js: Added.
- stress/arith-trunc-on-various-types.js: Added.
Source/JavaScriptCore:
This patch changes ArithRound, ArithFloor, ArithCeil and ArithTrunc
to support polymorphic input without exiting on entry.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
The 4 functions ignore any input past the first argument. It is okay
to use the nodes with the first argument and let the Phantoms keep
the remaining arguments live.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
Our fixup had the issue we have seen on previous nodes: unaryArithShouldSpeculateInt32()
prevents us from picking a good type if we do not see any double.
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
Prediction propagation of those nodes are fully determined
from their flags and results's prediction. They are moved
to the invariant processing.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithRounding):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithRound):
(JSC::FTL::DFG::LowerDFGToB3::compileArithFloor):
(JSC::FTL::DFG::LowerDFGToB3::compileArithCeil):
(JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc):
- 2:15 PM Changeset in webkit [205930] by
-
- 5 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: Call Stack tree in the Debugger sidebar should mark the active call frame
https://bugs.webkit.org/show_bug.cgi?id=161945
<rdar://problem/28293451>
Reviewed by Joseph Pecoraro.
Add an indicator for the active call frame tree element, patterned after
Xcode's call stack UI. The indicator should be positioned on the left,
with a fill color based on the tree element's selected/focused state.
- UserInterface/Images/ActiveCallFrame.svg: Added.
Image for "active call frame" tree element status.
- UserInterface/Main.html:
New file.
- UserInterface/Views/CallFrameTreeElement.css: Added.
(.tree-outline .item.call-frame .status):
(.tree-outline .item.call-frame .status > .status-image):
(.tree-outline .item.call-frame.selected .status > .status-image):
(.tree-outline:matches(:focus, .force-focus) .item.call-frame.selected .status > .status-image):
New tree element styles.
- UserInterface/Views/CallFrameTreeElement.js:
(WebInspector.CallFrameTreeElement):
(WebInspector.CallFrameTreeElement.prototype.get callFrame):
(WebInspector.CallFrameTreeElement.prototype.get isActiveCallFrame):
(WebInspector.CallFrameTreeElement.prototype.set isActiveCallFrame):
Add property for toggling active call frame indicator.
(WebInspector.CallFrameTreeElement.prototype.onattach):
(WebInspector.CallFrameTreeElement.prototype._updateStatus):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerCallFramesDidChange):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange):
- UserInterface/Views/Variables.css:
(:root):
New global for dark border color.
- 1:57 PM Changeset in webkit [205929] by
-
- 19 edits3 moves6 deletes in trunk/Source
[MediaStream] Minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=161976
Reviewed by Youenn Fablet and Dean Jackson.
Source/WebCore:
No new tests, no behavior change.
- CMakeLists.txt:
- DerivedSources.make:
- Modules/mediastream/CaptureDeviceInfo.h: Removed.
- Modules/mediastream/CaptureDeviceManager.cpp: Removed.
- Modules/mediastream/CaptureDeviceManager.h: Removed.
- Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::didCompletePermissionCheck):
(WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): Deleted.
(WebCore::MediaDevicesRequest::requestOrigin): Deleted.
- Modules/mediastream/MediaDevicesRequest.h:
- Modules/mediastream/MediaStreamTrackSourcesCallback.h: Removed.
- Modules/mediastream/MediaStreamTrackSourcesCallback.idl: Removed.
- Modules/mediastream/SourceInfo.cpp: Removed.
- Modules/mediastream/SourceInfo.h: Removed.
- Modules/mediastream/SourceInfo.idl: Removed.
- WebCore.xcodeproj/project.pbxproj:
- platform/mediastream/CaptureDevice.h: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h.
(WebCore::CaptureDevice::CaptureDevice):
(WebCore::CaptureDevice::persistentId):
(WebCore::CaptureDevice::label):
(WebCore::CaptureDevice::groupId):
(WebCore::CaptureDevice::kind):
(WebCore::CaptureSessionInfo::~CaptureSessionInfo): Deleted.
(WebCore::CaptureSessionInfo::supportsVideoSize): Deleted.
(WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions): Deleted.
- platform/mediastream/CaptureDeviceManager.cpp: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp.
(CaptureDeviceManager::getSourcesInfo):
- platform/mediastream/CaptureDeviceManager.h: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceManager.h.
(WebCore::CaptureSessionInfo::~CaptureSessionInfo):
(WebCore::CaptureSessionInfo::supportsVideoSize):
(WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions):
- platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Removed.
- platform/mediastream/RealtimeMediaSourceCenter.h:
- platform/mediastream/mac/AVCaptureDeviceManager.h:
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::getSourcesInfo):
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::getMediaStreamDevices):
(WebCore::RealtimeMediaSourceCenterMac::getMediaStreamTrackSources): Deleted.
(WebCore::RealtimeMediaSourceCenterMac::sourceWithUID): Deleted.
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
- platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
(WebCore::RealtimeMediaSourceCenterOwr::getMediaStreamDevices):
(WebCore::RealtimeMediaSourceCenterOwr::getMediaStreamTrackSources): Deleted.
(WebCore::RealtimeMediaSourceCenterOwr::sourceWithUID): Deleted.
- platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
- platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::audioDeviceInfo):
(WebCore::MockRealtimeMediaSource::videoDeviceInfo):
(WebCore::MockRealtimeMediaSource::trackSourceWithUID): Deleted.
- platform/mock/MockRealtimeMediaSource.h:
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::getMediaStreamDevices):
(WebCore::MockRealtimeMediaSourceCenter::getMediaStreamTrackSources): Deleted.
(WebCore::MockRealtimeMediaSourceCenter::sourceWithUID): Deleted.
- platform/mock/MockRealtimeMediaSourceCenter.h:
Source/WebKit2:
- UIProcess/UserMediaPermissionRequestProxy.cpp:
- 1:56 PM Changeset in webkit [205928] by
-
- 6 edits in trunk/Source/WebKit2
Add needsHiddenContentEditableQuirk and send it to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=161984
-and corresponding-
rdar://problem/26013388
Reviewed by Anders Carlsson.
Keep track of m_needsHiddenContentEditableQuirk in WebPageProxy.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setNeedsHiddenContentEditableQuirk):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::needsHiddenContentEditableQuirk):
(WebKit::WebPageProxy::hasHadSelectionChangesFromUserInteraction): Deleted.
- UIProcess/WebPageProxy.messages.in:
If m_needsHiddenContentEditableQuirk is true, set it back to false on page
transition.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didStartPageTransition):
Google Docs and iCloud Pages are the sites that need this quirk.
(WebKit::needsHiddenContentEditableQuirk):
(WebKit::WebPage::didChangeSelection):
- WebProcess/WebPage/WebPage.h:
- 1:51 PM Changeset in webkit [205927] by
-
- 9 edits in trunk/Source/WebCore
Move more code out from RenderObject
https://bugs.webkit.org/show_bug.cgi?id=161980
Reviewed by Zalan Bujtas.
Move some functions that are only needed for RenderElement there.
Move collapsing anonymous table rows to RenderTableRow.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::hasOutlineAnnotation):
(WebCore::RenderElement::hasSelfPaintingLayer):
(WebCore::RenderElement::checkForRepaintDuringLayout):
- rendering/RenderElement.h:
(WebCore::RenderElement::hasOutline):
(WebCore::RenderElement::hasHiddenBackface): Deleted.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootOrBodyStyleChanged):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
(WebCore::RenderObject::hasSelfPaintingLayer): Deleted.
(WebCore::RenderObject::checkForRepaintDuringLayout): Deleted.
(WebCore::RenderObject::hasOutlineAnnotation): Deleted.
(WebCore::RenderObject::hasEntirelyFixedBackground): Deleted.
(WebCore::collapseAnonymousTableRowsIfNeeded): Deleted.
- rendering/RenderObject.h:
(WebCore::RenderObject::hasLayer):
(WebCore::RenderObject::canBeSelectionLeaf):
(WebCore::RenderObject::hasOutline): Deleted.
(WebCore::RenderObject::hasSelectedChildren): Deleted.
- rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::destroyAndCollapseAnonymousSiblingRows):
- rendering/RenderTableRow.h:
- rendering/RenderView.cpp:
(WebCore::RenderView::rootBackgroundIsEntirelyFixed):
- 1:46 PM Changeset in webkit [205926] by
-
- 4 edits in trunk/Source/WebCore
Switch CSSParser to use CSSParserFastPaths::isKeywordPropertyID()
https://bugs.webkit.org/show_bug.cgi?id=161983
Reviewed by David Hyatt.
Towards switching to the new CSS parser keyword properties validation logic,
switch over the old CSS parser logic for determining a keyword property to
use the analogous logic in the new CSS parser.
A side benefit of this change is that it is a step towards unifying CSS- and
SVG CSS- keyword properties. The new CSS parser does not make a distinction
between these kinds of properties and will allow us to have a shared code path
for validating a keyword property.
No functionality was changed. So, no new tests.
- css/parser/CSSParser.cpp: Include header CSSParserFastPaths.h.
(WebCore::isValidKeywordPropertyAndValue): Validate SVG CSS keyword properties. This
logic was moved from CSSParser::parseSVGValue(). In subsequent patches we will switch
the old CSS parser from this function to CSSParserFastPaths::isValidKeywordPropertyAndValue().
(WebCore::parseKeywordValue): Modified to call CSSParserFastPaths::isKeywordPropertyID().
(WebCore::CSSParser::parseValue): Ditto.
(WebCore::isKeywordPropertyID): Deleted. Incorporated its functionality into
CSSParserFastPaths::isKeywordPropertyID().
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isKeywordPropertyID): Incorporates the functionality
of WebCore::isKeywordPropertyID().
- css/parser/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue): Move properties that can be processed as
keyword properties from here to WebCore::isValidKeywordPropertyAndValue().
- 1:41 PM Changeset in webkit [205925] by
-
- 5 edits in trunk/Source/JavaScriptCore
Remove Heap::setMarked()
Rubber stamped by Keith Miller.
Nobody uses this function.
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::setMarked): Deleted.
- heap/LargeAllocation.h:
(JSC::LargeAllocation::testAndSetMarked):
(JSC::LargeAllocation::setMarked): Deleted.
- heap/MarkedBlock.h:
- 1:12 PM Changeset in webkit [205924] by
-
- 3 edits in trunk/Source/WebCore
Rename parseColorParameters and clean up conditional
https://bugs.webkit.org/show_bug.cgi?id=161941
<rdar://problem/28292750>
Reviewed by Dan Bates.
In preparation for adding color() support, rename the existing
parseColorParameters to parseRGBParameters.
Also clean up the logic in the parseColorFromValue function.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseRGBParameters):
(WebCore::CSSParser::parseColorFromValue):
(WebCore::CSSParser::parseColorParameters): Deleted.
- css/parser/CSSParser.h:
- 12:56 PM Changeset in webkit [205923] by
-
- 4 edits in trunk
Add support hr.color IDL attribute
https://bugs.webkit.org/show_bug.cgi?id=161977
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/reflection-grouping-expected.txt:
Source/WebCore:
Add support hr.color IDL attribute as per:
Even though this is a legacy attribute, it is still part of the HTML specification
and it is still supported by Firefox and Chrome.
Also note that even though WebKit does not currently support the 'color' IDL
attribute on <hr>, it does support the 'color' content attribute on <hr>.
Therefore, we only need to reflect the 'color' content attribute.
No new tests, rebaselined existing test.
- html/HTMLHRElement.idl:
- 12:34 PM Changeset in webkit [205922] by
-
- 3 edits in trunk/Source/WebCore
URLParser: Add fast path for hosts containing no non-ASCII or percent characters
https://bugs.webkit.org/show_bug.cgi?id=161970
Reviewed by Daniel Bates.
Covered by existing tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::parseHost):
- platform/URLParser.h:
When parsing the host of a URL, if it contains non-ASCII characters or percent-encoded values,
we need to do additional encoding. Many URLs, including all already-parsed URLs, do not have
such characters in their host, and therefore do not need the additional encoding. Skipping
the additional encoding significantly speeds up my URL parsing benchmark.
- 11:51 AM Changeset in webkit [205921] by
-
- 2 edits in trunk/Source/WTF
Atomics on ARM don't require full-system fencing, and other minutiae
https://bugs.webkit.org/show_bug.cgi?id=161928
Reviewed by Geoffrey Garen.
Add cmpxchg versions with both success and failure memory
ordering. In some interesting cases we can craft code which needs
barriers which aren't as strong.
weakCompareAndSwap is super dubious, its 3 uses seem
questionable... but for now I'm just adding debug asserts.
Rename armv7_dmb* functions to arm_dmb* because they apply to v7
and v8 (or more precisely; to ARMv7's ARM and Thumb2, as well as
ARMv8's aarch32 A32/T32 and aarch64).
Use inner-shareability domain for ARM barriers instead of
full-system. This is what C++ uses.
The default case for barriers simply used a compiler barrier. This
is generally wrong, e.g. for MIPS.
- wtf/Atomics.h:
(WTF::Atomic::compareExchangeWeak): offer two-order version
(WTF::Atomic::compareExchangeStrong): offer two-order version
(WTF::weakCompareAndSwap): a few assertions
(WTF::arm_dmb): rename since it applies to ARMv7 and v8; make it innser-shareable
(WTF::arm_dmb_st): rename since it applies to ARMv7 and v8; make it innser-shareable
(WTF::loadLoadFence): incorrect generally
(WTF::loadStoreFence): incorrect generally
(WTF::storeLoadFence): incorrect generally
(WTF::storeStoreFence): incorrect generally
(WTF::memoryBarrierAfterLock): incorrect generally
(WTF::memoryBarrierBeforeUnlock): incorrect generally
(WTF::armV7_dmb): Deleted.
(WTF::armV7_dmb_st): Deleted.
- 11:46 AM Changeset in webkit [205920] by
-
- 2 edits in trunk/Source/WebCore
ShowRenderTree should take position offset into account when printing inflow positioned renderers.
https://bugs.webkit.org/show_bug.cgi?id=161978
Reviewed by Simon Fraser.
Adjust (x, y) with the inflow positioned renderer's offset.
Not testable.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::showRenderObject):
- 11:26 AM Changeset in webkit [205919] by
-
- 2 edits in branches/safari-602-branch/Source/JavaScriptCore
Merge r205882. rdar://problem/28233331
- 11:16 AM Changeset in webkit [205918] by
-
- 2 edits in trunk/Source/WebCore
URLParser: Add fast path for utf8 encoding queries
https://bugs.webkit.org/show_bug.cgi?id=161968
Reviewed by Daniel Bates.
No change in behavior. Covered by existing tests.
- platform/URLParser.cpp:
(WebCore::utf8PercentEncodeQuery):
(WebCore::URLParser::parse):
If the text encoding is UTF-8 (which is quite common), then we can encode the query
as we iterate its code points. This reduces memory allocation and significantly speeds
up my URL parsing benchmark.
- 10:55 AM Changeset in webkit [205917] by
-
- 4 edits in trunk/Source/JavaScriptCore
Use Options::validateExceptionChecks() instead of VM::m_verifyExceptionEvents.
https://bugs.webkit.org/show_bug.cgi?id=161975
Reviewed by Keith Miller.
This makes it less burdensome (no longer needs a rebuild to enable checks) to do
incremental work towards enabling checks all the time.
- runtime/Options.h:
- runtime/VM.cpp:
(JSC::VM::verifyExceptionCheckNeedIsSatisfied):
- runtime/VM.h:
- 10:48 AM Changeset in webkit [205916] by
-
- 5 edits in trunk
TaggedTemplateString function calls should emit tail position calls
https://bugs.webkit.org/show_bug.cgi?id=161948
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Yusuke Suzuki.
JSTests:
- stress/tail-call-recognize.js:
(runTests):
Ensure a tagged template string function call is tail call.
- test262.yaml:
These now pass.
Source/JavaScriptCore:
- bytecompiler/NodesCodegen.cpp:
(JSC::TaggedTemplateNode::emitBytecode):
The tagged template string function call can be a tail call:
https://tc39.github.io/ecma262/#sec-tagged-templates-runtime-semantics-evaluation
- 10:44 AM Changeset in webkit [205915] by
-
- 3 edits in trunk/Source/WebKit2
Long tap menu on an image link no longer includes "Save Image" button
https://bugs.webkit.org/show_bug.cgi?id=161761
<rdar://27202717>
Patch by Megan Gardner <Megan Gardner> on 2016-09-14
Reviewed by Beth Dakin.
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
Added share to image sheet as to not regress current functionality
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
Gather information for images as well as links, and they can be both
- 10:11 AM Changeset in webkit [205914] by
-
- 2 edits in trunk/Source/WTF
Alwasys inline atomic operations
https://bugs.webkit.org/show_bug.cgi?id=155371
Reviewed by Geoffrey Garen.
Fixes "build fails with memory model cannot be stronger than
success memory model for ‘atomic_compare_exchange’".
Pre-5 revisions of GCC at Os only generated an error message
related to invalid failure memory ordering. The reason is that
libstdc++ tries to be clever about enforcing the C++ standard's
clause [atomics.types.operations.req] ¶21 which states:
Requires: The failure argument shall not be
memory_order_releasenormemory_order_acq_rel. The failure
argument shall be no stronger than the success argument.
It fails at doing this because its inlining heuristics are
modified by Os, and they're not quite as dumb as O0 but not smart
enough to get to the good code at O1. Adding ALWAYS_INLINE fixes
the silliness at Os, leaves O1 great, and makes O0 slightly less
bad but still pretty bad.
The other good news is that I'm going to get this particular
problem fixed in the version of C++ which will come after C++17:
https://github.com/jfbastien/papers/blob/master/source/P0418r1.bs
While we're at it we should always inline all of these wrapped
functions because the generated code is horrendous if the memory
order isn't known at compile time.
- wtf/Atomics.h:
(WTF::Atomic::load):
(WTF::Atomic::store):
(WTF::Atomic::compareExchangeWeak):
(WTF::Atomic::compareExchangeStrong):
(WTF::Atomic::exchangeAndAdd):
(WTF::Atomic::exchange):
- 9:56 AM Changeset in webkit [205913] by
-
- 2 edits in trunk/Source/WebCore
Regression(r152725): generate-bindings.pl --write-dependencies does not work
https://bugs.webkit.org/show_bug.cgi?id=161897
Reviewed by Darin Adler.
r152725 inadvertently dropped the code generating the JS*.dep files when
--write-dependencies is passed to the bindings generator. As a result,
our dependency tracking was broken. This patch restores the code that
was dropped in r152725.
- bindings/scripts/CodeGeneratorJS.pm:
(new):
(GenerateHeader):
- 9:56 AM Changeset in webkit [205912] by
-
- 16 edits4 adds in trunk
input.type cannot be set to "file" after being set to another type
https://bugs.webkit.org/show_bug.cgi?id=161943
Reviewed by Daniel Bates.
LayoutTests/imported/w3c:
Rebaseline a couple of W3C tests now that more checks are passing.
- web-platform-tests/html/dom/reflection-forms-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
Source/WebCore:
input.type cannot be set to "file" after being set to another type.
This behavior does not match the HTML specification or the behavior
of Firefox and Chrome. This patch drops this restriction and aligns
our behavior with other browsers.
Test: fast/dom/HTMLInputElement/input-type-change-to-file.html
- html/FileInputType.cpp:
(WebCore::FileInputType::canChangeFromAnotherType): Deleted.
- html/FileInputType.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
- html/InputType.cpp:
(WebCore::InputType::canChangeFromAnotherType): Deleted.
- html/InputType.h:
LayoutTests:
- fast/dom/HTMLInputElement/input-type-change-to-file-expected.txt: Added.
- fast/dom/HTMLInputElement/input-type-change-to-file.html: Added.
- fast/dom/HTMLInputElement/input-type-file-security-expected.txt: Added
- fast/dom/HTMLInputElement/input-type-file-security.html: Added
Add layout test coverage. I have verified that these tests are passing in both
Firefox and Chrome.
- fast/forms/input-type-change3-expected.txt:
- fast/forms/input-type-change3.html:
- fast/forms/input-valueasnumber-unsupported-expected.txt:
- fast/forms/input-valueasnumber-unsupported.html:
Update existing tests to reflect behavior change.
- 9:55 AM Changeset in webkit [205911] by
-
- 1 edit5 adds in trunk/LayoutTests
Rebaseline tests added with r205905 for ios-simulator.
Unreviewed test gardening.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt: Added.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt: Added.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt: Added.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt: Added.
- 9:47 AM Changeset in webkit [205910] by
-
- 4 edits in trunk
test262: Array.prototype.slice should always set length
https://bugs.webkit.org/show_bug.cgi?id=161953
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Mark Lam.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSplice):
- 9:45 AM Changeset in webkit [205909] by
-
- 26 edits4 adds in trunk/Source
[GTK][Wayland] Implement clipboard support
https://bugs.webkit.org/show_bug.cgi?id=146574
Patch by Carlos Garnacho <carlosg@gnome.org> on 2016-09-14
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Implement PlatformPasteboard in the GTK+ platform, and move Pasteboard
to using PasteboardStrategy so clipboard management is left to the
UIProcess.
DataObjectGtk is still used in the Pasteboard GTK implementation, it's
now just never backed by a GtkClipboard, this object is instead
serialized through PasteboardStrategy, so the UIProcess side can mirror
the content in a GtkClipboard-backed DataObjectGtk, which is then
exposed to the windowing through PlatformPasteboard/PasteboardHelper.
When requesting clipboard content, it works similarly, the UIProcess
side first updates its DataObjectGtk, which is then mirrored by the
WebProcess through the PasteboardStrategy requests.
- PlatformGTK.cmake: Added PlatformPasteboardGtk.cpp
- editing/gtk/EditorGtk.cpp:
(WebCore::Editor::writeSelectionToPasteboard): Eliminate usage of
PasteboardWebContent callback argument. This is done differently as
we have to signal back the WebProcess.
- platform/Pasteboard.h: Cleaned up of direct GTK+ dependency.
- platform/PasteboardStrategy.h: Added plumbing towards the pasteboard
proxy.
- platform/PlatformPasteboard.h:
- platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::clearAllExceptFilenames): Clear the "smart
paste" flag if set, now that this is DataObjectGtk data.
- platform/gtk/DataObjectGtk.h:
(WebCore::DataObjectGtk::canSmartReplace):
(WebCore::DataObjectGtk::setCanSmartReplace): Added functions, in order
to flag whether a DataObjectGtk has the "smart paste" feature enabled
or not.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createForGlobalSelection):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::writeToClipboard):
(WebCore::Pasteboard::readFromClipboard):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::writePasteboard):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::hasData):
(WebCore::Pasteboard::types):
(WebCore::Pasteboard::readString):
(WebCore::Pasteboard::readFilenames): Made to use the
PasteboardStrategy instead of PasteboardHelper/GTK+ API.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::~PasteboardHelper):
(WebCore::ClipboardSetData::ClipboardSetData):
(WebCore::clearClipboardContentsCallback):
(WebCore::PasteboardHelper::writeClipboardContents): Remove the GClosure
to notify whether the global selection has been replaced. Use std:function
instead. Remove SmartPasteInclusion argument, now figured out through
DataObjectGtk canSmartPaste() member.
- platform/gtk/PasteboardHelper.h:
- platform/gtk/PlatformPasteboardGtk.cpp: Added.
(WebCore::PlatformPasteboard::PlatformPasteboard):
(WebCore::PlatformPasteboard::writeToClipboard):
(WebCore::PlatformPasteboard::readFromClipboard): Implemented
PlatformPasteboard using PasteboardHelper/GTK+ API.
Source/WebKit2:
Add the necessary plumbing for the GTK+ backend to use the
PlatformPasteboard in WebCore. All selection data is transmitted
at once through the serialization of PasteboardContentGtk/DataObjectGtk.
- PlatformGTK.cmake: Add PasteboardContentGtk.cpp and
WebPasteboardProxyGtk.cpp
- Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::encode):
(IPC::decode): Renamed from encodeDataObject/decodeDataObject
and made public.
(IPC::ArgumentCoder<DragData>::encode):
(IPC::ArgumentCoder<DragData>::decode): Update DataObjectGtk
encode/decode callers. Encode the extra canSmartReplace field.
- Shared/gtk/ArgumentCodersGtk.h: Expose encode/decode methods for
DataObjectGtk.
- Shared/gtk/PasteboardContent.cpp: Added. Wraps a DataObjectGtk
so it can be serialized on WebProcess/UIProcess messaging.
(WebKit::PasteboardContent::PasteboardContent):
(WebKit::PasteboardContent::encode):
(WebKit::PasteboardContent::decode): Methods to encode/decode a
PasteboardContent.
- Shared/gtk/PasteboardContent.h: Added.
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::collapseSelection): Added plumbing to allow
collapsing the global selection from the UI process side.
- UIProcess/WebFrameProxy.h:
- UIProcess/WebPasteboardProxy.h:
- UIProcess/WebPasteboardProxy.messages.in: Added plumbing for the
GTK+ pasteboard proxy functions.
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::editorStateChanged):
- UIProcess/gtk/WebPasteboardProxyGtk.cpp: Added.
(WebKit::WebPasteboardProxy::writeToClipboard):
(WebKit::WebPasteboardProxy::readFromClipboard): Implemented functions
hooking into the PlatformPasteboard. Per-selection (ie.
primary/clipboard) PlatformPasteboards are kept at this level, so those
are independently set and dealt with.
(WebKit::WebPasteboardProxy::setPrimarySelectionOwner):
(WebKit::WebPasteboardProxy::didDestroyFrame): Implemented functions
to manage the frame currently being currently interacted, so we can
signal back when the global selection has been replaced.
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::writeToClipboard):
(WebKit::WebPlatformStrategies::readFromClipboard): Added methods to
send the WebProcess->UIProcess messages.
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::updateGlobalSelection): Remove GClosure to
get notifications about changes in global selection ownership. This
is done through a WebPage message now, as the UI process manages the
clipboard.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::collapseSelectionInFrame): Added methods to send
the UIProcess->WebProcess notification that the global selection has
been replaced.
- 9:40 AM Changeset in webkit [205908] by
-
- 4 edits in trunk/LayoutTests
LayoutTest http/tests/security/cross-origin-cached-scripts-parallel.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=161912
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-14
Reviewed by Alexey Proskuryakov.
- TestExpectations: Removing flaky expectation.
- http/tests/security/cross-origin-cached-scripts-parallel-expected.txt:
- http/tests/security/cross-origin-cached-scripts-parallel.html: Increase timeout to ensure load is made in parallel.
Fixed flakiness by doing parallel loads in two shots of two, in lieu of 1 shot of 4.
- 9:23 AM Changeset in webkit [205907] by
-
- 3 edits in trunk/LayoutTests
Marking inspector/console/messagesCleared.html as flaky on mac-debug.
https://bugs.webkit.org/show_bug.cgi?id=152025
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 9:22 AM Changeset in webkit [205906] by
-
- 2 edits in trunk/LayoutTests
Marking fast/scrolling/arrow-key-scroll-in-rtl-document.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161549
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 8:54 AM Changeset in webkit [205905] by
-
- 18 edits10 adds2 deletes in trunk
[CSS Parser] Enable the new sizes parser by default
https://bugs.webkit.org/show_bug.cgi?id=161931
Reviewed by Zalan Bujtas.
Source/WebCore:
Added new tests in fast/dom/HTMLImageElement/sizes.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSGrammar.y.in:
Remove the old code that parsed source size lists.
- css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
- css/MediaQueryEvaluator.h:
Change to take a const Document&, since the Document is not modified.
- css/SourceSizeList.cpp: Removed.
- css/SourceSizeList.h: Removed.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseSizesAttribute): Deleted.
(WebCore::CSSParser::SourceSize::SourceSize): Deleted.
(WebCore::CSSParser::sourceSize): Deleted.
- css/parser/CSSParser.h:
Remove the old sizes processing code.
- css/parser/MediaQueryParser.cpp:
(WebCore::MediaQueryParser::skipUntilComma):
(WebCore::MediaQueryParser::parseInternal):
Fix a bug I introduced when modifying this code from Blink. The Nones should have been Nots.
- css/parser/SizesAttributeParser.cpp:
(WebCore::SizesAttributeParser::computeLength):
(WebCore::SizesAttributeParser::SizesAttributeParser):
(WebCore::SizesAttributeParser::calculateLengthInPixels):
(WebCore::SizesAttributeParser::mediaConditionMatches):
(WebCore::SizesAttributeParser::effectiveSizeDefaultValue):
- css/parser/SizesAttributeParser.h:
- css/parser/SizesCalcParser.cpp:
(WebCore::SizesCalcParser::SizesCalcParser):
(WebCore::SizesCalcParser::appendLength):
- css/parser/SizesCalcParser.h:
Make the sizes parsers take a Document, since having separate style and view arguments made
no sense, given that the style used is always the view's.
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
(WebCore::HTMLImageElement::selectImageSource):
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
Switch image elements and the preload scanner over to the new code.
LayoutTests:
- fast/dom/HTMLImageElement/resources/green-16x16.png: Added.
- fast/dom/HTMLImageElement/resources/green-1x1.png: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt:
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html:
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1.html: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2.html: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3.html: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4.html: Added.
- 8:16 AM Changeset in webkit [205904] by
-
- 2 edits in trunk/Tools
Fix mastercfg_unittest
https://bugs.webkit.org/show_bug.cgi?id=161816
Reviewed by Daniel Bates.
(RunWebKitTests.start):
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Fixed broken unit tests.