Timeline
Oct 10, 2015:
- 11:16 PM Changeset in webkit [190844] by
-
- 10 edits in trunk/Source/WebCore
Use references and more const in SVGPathUtilities
https://bugs.webkit.org/show_bug.cgi?id=150007
Reviewed by Zalan Bujtas.
SVGPathUtilities had lots of pointers whose non-nullness was asserted,
little const, and was very trigger-happy with stack allocations. Clean
that all up.
- svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::constructFromString):
(WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedPathAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
- svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::begin):
(WebCore::SVGPathByteStream::end):
(WebCore::SVGPathByteStream::append):
- svg/SVGPathByteStreamSource.cpp:
(WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
- svg/SVGPathByteStreamSource.h:
- svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::getTotalLength):
(WebCore::SVGPathElement::getPointAtLength):
(WebCore::SVGPathElement::getPathSegAtLength):
(WebCore::SVGPathElement::parseAttribute):
(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::pathByteStream):
(WebCore::SVGPathElement::lookupOrCreateDWrapper):
(WebCore::SVGPathElement::pathSegListChanged):
(WebCore::SVGPathElement::SVGPathElement): Deleted.
- svg/SVGPathElement.h:
- svg/SVGPathUtilities.cpp:
(WebCore::globalSVGPathBuilder):
(WebCore::globalSVGPathSegListBuilder):
(WebCore::globalSVGPathByteStreamBuilder):
(WebCore::globalSVGPathStringBuilder):
(WebCore::globalSVGPathTraversalStateBuilder):
(WebCore::globalSVGPathParser):
(WebCore::globalSVGPathBlender):
(WebCore::buildPathFromString):
(WebCore::buildSVGPathByteStreamFromSVGPathSegList):
(WebCore::appendSVGPathByteStreamFromSVGPathSeg):
(WebCore::buildPathFromByteStream):
(WebCore::buildSVGPathSegListFromByteStream):
(WebCore::buildStringFromByteStream):
(WebCore::buildStringFromSVGPathSegList):
(WebCore::buildSVGPathByteStreamFromString):
(WebCore::buildAnimatedSVGPathByteStream):
(WebCore::addToSVGPathByteStream):
(WebCore::getSVGPathSegAtLengthFromSVGPathByteStream):
(WebCore::getTotalLengthOfSVGPathByteStream):
(WebCore::getPointAtLengthOfSVGPathByteStream):
(WebCore::buildStringFromPath):
- svg/SVGPathUtilities.h:
- svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
- 2:14 PM Changeset in webkit [190843] by
-
- 3 edits in trunk/Source/JavaScriptCore
Reduce pointless malloc traffic in CodeBlock construction.
<https://webkit.org/b/149999>
Reviewed by Antti Koivisto.
Create the RefCountedArray<Instruction> for CodeBlock's m_instructions directly
instead of first creating a Vector<Instruction> and then creating a RefCountedArray
from that. None of the Vector functionality is needed here anyway.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler):
- bytecode/CodeBlock.h:
- 2:13 PM Changeset in webkit [190842] by
-
- 3 edits in trunk/Source/WebCore
Reduce pointless malloc traffic in ElementRuleCollector.
<https://webkit.org/b/150003>
Reviewed by Antti Koivisto.
Don't use a unique_ptr for the m_matchedRules vector in ElementRuleCollector.
This is one of our heaviest sources of transient allocations, with ~88000
malloc/free pairs on loading theverge.com.
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::addMatchedRule):
(WebCore::ElementRuleCollector::clearMatchedRules):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
(WebCore::ElementRuleCollector::sortMatchedRules):
(WebCore::ElementRuleCollector::hasAnyMatchingRules):
- css/ElementRuleCollector.h:
(WebCore::ElementRuleCollector::hasMatchedRules):
- 1:05 PM Changeset in webkit [190841] by
-
- 66 edits in trunk
[iOS] Remove unnecessary iOS version checks
https://bugs.webkit.org/show_bug.cgi?id=150002
Reviewed by Alexey Proskuryakov.
Source/JavaScriptCore:
- llvm/library/LLVMExports.cpp:
(initializeAndGetJSCLLVMAPI):
Source/WebCore:
- loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureCustomFontData):
- loader/cocoa/DiskCacheMonitorCocoa.h:
(WebCore::DiskCacheMonitor::monitorFileBackingStoreCreation):
- page/mac/SettingsMac.mm:
(WebCore::sansSerifTraditionalHanFontFamily):
(WebCore::sansSerifSimplifiedHanFontFamily):
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::appendOpenTypeFeature):
- platform/graphics/ios/FontCacheIOS.mm:
(WebCore::getSystemFontFallbackForCharacters):
(WebCore::platformLookupFallbackFont):
- platform/ios/PlatformSpeechSynthesizerIOS.mm:
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
- platform/ios/WebCoreSystemInterfaceIOS.h:
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
- platform/ios/wak/WAKWindow.mm:
(+[WAKWindow hasLandscapeOrientation]):
(-[WAKWindow hostLayer]):
- platform/network/cf/CookieJarCFNet.cpp:
(WebCore::copyCookiesForURLWithFirstPartyURL):
(WebCore::createCookies):
- platform/network/mac/CertificateInfoMac.mm:
(WebCore::CertificateInfo::containsNonRootSHA1SignedCertificate):
- platform/spi/cf/CFNetworkSPI.h:
- platform/spi/cocoa/AVKitSPI.h:
- platform/spi/cocoa/CoreTextSPI.h:
- platform/spi/cocoa/NEFilterSourceSPI.h:
- platform/spi/cocoa/QuartzCoreSPI.h:
- platform/spi/cocoa/SecuritySPI.h:
- platform/spi/ios/LaunchServicesSPI.h:
- platform/spi/mac/AVFoundationSPI.h:
- platform/text/TextBreakIterator.cpp:
- platform/text/TextFlags.h:
- platform/text/ios/LocalizedDateCache.mm:
(WebCore::LocalizedDateCache::calculateMaximumWidth):
- platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::LocaleMac):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::cachedSystemFontDescription):
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
- svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::appendKERNTable):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):
Source/WebKit/mac:
- Plugins/WebPluginController.h:
- Plugins/WebPluginController.mm:
(-[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(+[WebPluginController addPlugInView:]):
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): Deleted.
- WebCoreSupport/WebFrameLoaderClient.mm:
(pluginView):
- WebView/WebPreferences.mm:
(-[WebPreferences isDNSPrefetchingEnabled]):
(-[WebPreferences setWebInspectorServerEnabled:]): Deleted.
(-[WebPreferences _setAllowCompositingLayerVisualDegradation:]): Deleted.
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(shouldAllowPictureInPictureMediaPlayback):
Source/WebKit2:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::AccessibilityProcessSuspendedNotification):
- Platform/spi/ios/SafariServicesSPI.h:
- Platform/spi/ios/UIKitSPI.h:
- Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
- Shared/Network/NetworkProcessCreationParameters.h:
- Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):
- Shared/Plugins/PluginProcessCreationParameters.h:
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::NativeWebTouchEvent::extractWebTouchPoint):
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
- Shared/ios/WebPlatformTouchPointIOS.cpp:
(WebKit::WebPlatformTouchPoint::encode):
(WebKit::WebPlatformTouchPoint::decode):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]):
(shouldAllowPictureInPictureMediaPlayback):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformInitializePluginProcess):
- UIProcess/ios/ViewGestureControllerIOS.mm:
(-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView _ensureFormAccessoryView]):
(-[WKContentView webSelectionAssistant]):
(-[WKContentView selectionInteractionAssistant]):
- UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::create):
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(photoLibraryIcon):
(cameraIcon):
(fallbackIconForFile):
(iconForImageFile):
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Source/WTF:
- wtf/Platform.h:
Tools:
- WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator _createIOHIDEventType:]):
(-[HIDEventGenerator _sendHIDEvent:]):
(-[HIDEventGenerator _sendMarkerHIDEventWithCompletionBlock:]):
- WebKitTestRunner/ios/UIKitSPI.h:
- 11:16 AM Changeset in webkit [190840] by
-
- 27 edits in trunk
Rewrite HTMLDetailsElement using HTMLSlotElement
https://bugs.webkit.org/show_bug.cgi?id=149698
Reviewed by Andreas Kling.
Source/WebCore:
Use the modern Shadow DOM to implement <details> element. After this the legacy InsertionPoint and
related code can be removed.
Based on a patch by Ryosuke.
- dom/Element.cpp:
(WebCore::Element::childrenChanged):
- dom/EventDispatcher.cpp:
(WebCore::EventPath::EventPath):
- dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):
(WebCore::ShadowRoot::removeAllEventListeners):
(WebCore::ShadowRoot::findAssignedSlot):
(WebCore::ShadowRoot::addSlotElementByName):
(WebCore::ShadowRoot::removeSlotElementByName):
(WebCore::ShadowRoot::invalidateSlotAssignments):
(WebCore::ShadowRoot::invalidateDefaultSlotAssignments):
(WebCore::ShadowRoot::assignedNodesForSlot):
- dom/ShadowRoot.h:
(WebCore::ShadowRoot::create):
(WebCore::ShadowRoot::distributor):
(WebCore::ShadowRoot::isOrphan):
- dom/SlotAssignment.cpp:
(WebCore::slotNameFromAttributeValue):
Rename for clarity.
(WebCore::slotNameFromSlotAttribute):
SlotAssignment can now be specialized by providing function that maps from node to slot name.
This is the default function that gets the name from the slot attribute.
(WebCore::SlotAssignment::SlotAssignment):
(WebCore::SlotAssignment::findAssignedSlot):
Use the name mapping function.
Ensure that the slots are assigned.
(WebCore::SlotAssignment::addSlotElementByName):
(WebCore::SlotAssignment::removeSlotElementByName):
(WebCore::SlotAssignment::assignedNodesForSlot):
(WebCore::SlotAssignment::invalidate):
(WebCore::SlotAssignment::invalidateDefaultSlot):
(WebCore::SlotAssignment::resolveAllSlotElements):
(WebCore::SlotAssignment::assignSlots):
Use the name mapping function.
(WebCore::SlotAssignment::assignToSlot):
Factor into function.
(WebCore::treatNullAsEmpty): Deleted.
- dom/SlotAssignment.h:
(WebCore::SlotAssignment::~SlotAssignment):
(WebCore::SlotAssignment::defaultSlotName):
Add static getter for emptyAtom for clarity.
(WebCore::SlotAssignment::SlotAssignment): Deleted.
- html/HTMLDetailsElement.cpp:
(WebCore::summarySlotName):
(WebCore::slotNameFunction):
Slot name function for <details>. It assigns the first <summary> child to the summary slot and others
to the default content slot if the element is open.
(WebCore::HTMLDetailsElement::create):
(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
(WebCore::HTMLDetailsElement::isActiveSummary):
(WebCore::HTMLDetailsElement::parseAttribute):
(WebCore::HTMLDetailsElement::toggleOpen):
(WebCore::summaryQuerySelector): Deleted.
(WebCore::DetailsContentElement::create): Deleted.
(WebCore::DetailsSummaryElement::create): Deleted.
(WebCore::HTMLDetailsElement::findMainSummary): Deleted.
(WebCore::HTMLDetailsElement::childShouldCreateRenderer): Deleted.
- html/HTMLDetailsElement.h:
- html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::create):
(WebCore::HTMLSummaryElement::createElementRenderer):
(WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
(WebCore::HTMLSummaryElement::detailsElement):
(WebCore::HTMLSummaryElement::isActiveSummary):
(WebCore::isClickableControl):
(WebCore::HTMLSummaryElement::supportsFocus):
(WebCore::HTMLSummaryElement::defaultEventHandler):
(WebCore::HTMLSummaryElement::willRespondToMouseClickEvents):
(WebCore::SummaryContentElement::create): Deleted.
(WebCore::HTMLSummaryElement::childShouldCreateRenderer): Deleted.
(WebCore::HTMLSummaryElement::isMainSummary): Deleted.
- html/HTMLSummaryElement.h:
- html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::rendererIsNeeded):
- style/RenderTreePosition.cpp:
(WebCore::RenderTreePosition::computeNextSibling):
Skip the verification assert for shadow host children. Getting this right requires
better shadow-aware traversal code.
- style/StyleResolveTree.cpp:
(WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
(WebCore::Style::attachChildren):
(WebCore::Style::attachShadowRoot):
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
(WebCore::Style::attachSlotAssignees):
(WebCore::Style::attachRenderTree):
(WebCore::Style::detachChildren):
(WebCore::Style::detachShadowRoot):
(WebCore::Style::detachSlotAssignees):
(WebCore::Style::detachRenderTree):
(WebCore::Style::resolveChildren):
(WebCore::Style::resolveSlotAssignees):
(WebCore::Style::resolveTree):
(WebCore::Style::attachDistributedChildren): Deleted.
(WebCore::Style::detachDistributedChildren): Deleted.
Remove InsertionPoint related code paths.
LayoutTests:
- TestExpectations:
- platform/mac/fast/html/details-add-child-2-expected.txt:
- platform/mac/fast/html/details-open2-expected.txt:
- platform/mac/fast/html/details-remove-summary-1-and-click-expected.txt:
- platform/mac/fast/html/details-remove-summary-4-and-click-expected.txt:
- 8:50 AM Changeset in webkit [190839] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve error messages for internal Inspector code
https://bugs.webkit.org/show_bug.cgi?id=149995
Don't log "error.stack" since the error view already includes a nicely formatted stacktrace.
Reviewed by Timothy Hatcher.
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype._dispatchResponseToCallback):
(InspectorBackendClass.prototype._dispatchEvent):
- 8:27 AM Changeset in webkit [190838] by
-
- 4 edits in trunk
SerializedScriptValue should use a compact encoding for 8-bit strings.
<https://webkit.org/b/149934>
Reviewed by Antti Koivisto.
Source/WebCore:
We were encoding known 8-bit strings in a 16-bit format when serializing script values.
Extend the format to support 8-bit strings. The 8-bittiness is encoded in the highest bit
of the string length. This is possible while supporting all older formats due to string
lengths >= 0x7FFFFFFF being disallowed.
This patch knocks ~1 MB off of theverge.com, where some ad or tracker or whatever likes to
do a ton of postMessage() business.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CurrentVersion): Bump the serialization format version. Also updated the grammar
comment to describe the new format. Artistic license applied in description of bitfield.
(WebCore::writeLittleEndianUInt16): Deleted.
(WebCore::CloneSerializer::serialize):
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::deserializeString):
(WebCore::CloneDeserializer::readString):
(WebCore::CloneDeserializer::readStringData): Support 8-bit strings. I kept the string
length limit at UINT_MAX/sizeof(UChar) since the highest bit of the length is no longer
available. Besides, it seems flimsy to support longer strings if they happen to have all
8-bit characters.
LayoutTests:
Update a test to reflect changes to the serialization format.
- fast/storage/serialized-script-value.html:
- 1:40 AM Changeset in webkit [190837] by
-
- 31 edits in trunk/Source
[iOS] Remove project support for iOS 8
https://bugs.webkit.org/show_bug.cgi?id=149993
Reviewed by Alexey Proskuryakov.
Source/bmalloc:
- Configurations/Base.xcconfig:
- Configurations/bmalloc.xcconfig:
- Configurations/mbmalloc.xcconfig:
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
- Configurations/JSC.xcconfig:
- Configurations/JavaScriptCore.xcconfig:
- Configurations/LLVMForJSC.xcconfig:
- Configurations/ToolExecutable.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/ANGLE.xcconfig:
- Configurations/Base.xcconfig:
Source/WebCore:
- Configurations/WebCore.xcconfig:
- Configurations/WebCoreTestSupport.xcconfig:
Source/WebKit/mac:
- Configurations/WebKitLegacy.xcconfig:
Source/WebKit2:
- Configurations/Base.xcconfig:
- Configurations/BaseLegacyProcess.xcconfig:
- Configurations/BaseXPCService.xcconfig:
- Configurations/PluginProcessShim.xcconfig:
- Configurations/SecItemShim.xcconfig:
- Configurations/WebKit.xcconfig:
- Configurations/WebKit2.xcconfig:
- Configurations/WebProcessShim.xcconfig:
Source/WTF:
- Configurations/Base.xcconfig:
- Configurations/WTF.xcconfig:
- Configurations/mbmalloc.xcconfig:
Oct 9, 2015:
- 8:52 PM Changeset in webkit [190836] by
-
- 9 edits1 copy in trunk
Unreviewed, rolling out r190689
https://bugs.webkit.org/show_bug.cgi?id=149992
Fixed in other repository.
Reverted changesets:
"Unreviewed, rolling out r190572, r190593, r190594, and r190639."
https://bugs.webkit.org/show_bug.cgi?id=149897
- 7:53 PM Changeset in webkit [190835] by
-
- 2 edits in trunk/Source/WebCore
Check if start and end positions are still valid after updating them through VisibleSelection.
https://bugs.webkit.org/show_bug.cgi?id=149982
Reviewed by Ryosuke Niwa.
This patch is required to be able to clean up anonymous tables structure.
In certain edge cases, start/end positions could become nullptr after various text splitting
operations.
Covered by editing/execCommand/crash-137961.html
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::applyInlineStyle):
- 7:20 PM Changeset in webkit [190834] by
-
- 23 edits in trunk/Source/WebCore
Rename RenderObject::isRoot() to isDocumentElementRenderer()
https://bugs.webkit.org/show_bug.cgi?id=149976
Reviewed by Zalan Bujtas.
RenderObject::isRoot() was confusingly named, because it returns true for
the document element's renderer, not for the actual root (the RenderView).
In this way it mismatched RenderLayer::isRootLayer(), which returned true
for the RenderView's layer.
Rename it to the more accurate isDocumentElementRenderer().
- dom/Node.cpp:
(WebCore::Node::renderRect):
- page/ios/FrameIOS.mm:
(WebCore::Frame::renderRectForPoint):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::selectionGaps):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::requiresColumns):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateFromStyle):
(WebCore::RenderBox::paintBackground):
(WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
(WebCore::RenderBox::repaintLayerRectsForImage):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::createsNewFormattingContext):
(WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock):
- rendering/RenderBox.h:
(WebCore::RenderBox::stretchesToViewport):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
- rendering/RenderBoxModelObject.h:
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::rendererForRootBackground):
(WebCore::shouldRepaintForImageAnimation):
- rendering/RenderElement.h:
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
- rendering/RenderLayer.cpp:
(WebCore::shouldSuppressPaintingLayer):
(WebCore::paintForFixedRootBackground):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderLayer.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::rendererBackgroundColor):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
- rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleDidChange):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintSlowRepaintObject):
(WebCore::RenderObject::offsetParent):
- rendering/RenderObject.h:
(WebCore::RenderObject::isDocumentElementRenderer):
(WebCore::RenderObject::isRoot): Deleted.
- rendering/RenderTable.cpp:
(WebCore::RenderTable::paint):
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::shouldApplyViewportClip):
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::isOverflowHidden):
- 6:08 PM Changeset in webkit [190833] by
-
- 22 edits2 adds in trunk
AX: ARIA 1.1 implement aria-colcount, aria-colindex, aria-colspan, aria-rowcount, aria-rowindex and aria-rowspan
https://bugs.webkit.org/show_bug.cgi?id=148967
Reviewed by Chris Fleizach.
Source/WebCore:
Added support for ARIA 1.1 table/grid related attributes. Created new attributes for mac, so
VoiceOver can pick up the information and speak accordingly.
Test: accessibility/mac/aria-table-attributes.html
- accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::AccessibilityARIAGridCell):
(WebCore::AccessibilityARIAGridCell::rowIndexRange):
(WebCore::AccessibilityARIAGridCell::columnIndexRange):
(WebCore::AccessibilityARIAGridCell::parentRowGroup):
- accessibility/AccessibilityARIAGridCell.h:
- accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::title):
(WebCore::AccessibilityTable::ariaColumnCount):
(WebCore::AccessibilityTable::ariaRowCount):
- accessibility/AccessibilityTable.h:
- accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::AccessibilityTableCell):
(WebCore::AccessibilityTableCell::titleUIElement):
(WebCore::AccessibilityTableCell::ariaColumnIndex):
(WebCore::AccessibilityTableCell::ariaRowIndex):
(WebCore::AccessibilityTableCell::ariaColumnSpan):
(WebCore::AccessibilityTableCell::ariaRowSpan):
- accessibility/AccessibilityTableCell.h:
(WebCore::AccessibilityTableCell::setARIAColIndexFromRow):
- accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::headerObject):
(WebCore::AccessibilityTableRow::addChildren):
(WebCore::AccessibilityTableRow::ariaColumnIndex):
(WebCore::AccessibilityTableRow::ariaRowIndex):
- accessibility/AccessibilityTableRow.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- html/HTMLAttributeNames.in:
LayoutTests:
- accessibility/mac/aria-columnrowheaders-expected.txt:
- accessibility/mac/aria-table-attributes-expected.txt: Added.
- accessibility/mac/aria-table-attributes.html: Added.
- platform/mac/accessibility/table-attributes-expected.txt:
- platform/mac/accessibility/table-cell-spans-expected.txt:
- platform/mac/accessibility/table-cells-expected.txt:
- platform/mac/accessibility/table-detection-expected.txt:
- platform/mac/accessibility/table-sections-expected.txt:
- platform/mac/accessibility/table-with-rules-expected.txt:
- 4:30 PM Changeset in webkit [190832] by
-
- 6 edits in trunk/Source/WebKit2
Rubber-stamped by Anders Carlsson.
Remove unnecessary includes.
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- WebProcess/Plugins/Plugin.h:
- WebProcess/Plugins/PluginProxy.h:
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
- 4:19 PM Changeset in webkit [190831] by
-
- 2 edits in trunk/Source/JavaScriptCore
Modernize and cleanup an NSNumber constant
https://bugs.webkit.org/show_bug.cgi?id=149962
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-09
Reviewed by Andreas Kling.
- API/JSVirtualMachine.mm:
(-[JSVirtualMachine addExternalRememberedObject:]):
- 4:19 PM Changeset in webkit [190830] by
-
- 3 edits2 deletes in trunk/Source/WebKit2
Build fix.
- CMakeLists.txt:
- Shared/API/APIHitTestResult.cpp: Removed.
- Shared/API/APIHitTestResult.h: Removed.
- WebKit2.xcodeproj/project.pbxproj:
- 4:17 PM Changeset in webkit [190829] by
-
- 3 edits in trunk/Source/JavaScriptCore
No need to keep setting needsVisit flag in SmallStrings
https://bugs.webkit.org/show_bug.cgi?id=149961
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-09
Reviewed by Andreas Kling.
SmallStrings are all initialized at once privately before the VM
enables Garbage Collection. There is no need to keep updating
this flag, as it couldn't have changed.
- runtime/SmallStrings.cpp:
(JSC::SmallStrings::createEmptyString):
(JSC::SmallStrings::createSingleCharacterString):
(JSC::SmallStrings::initialize):
- runtime/SmallStrings.h:
- 4:15 PM Changeset in webkit [190828] by
-
- 2 edits2 copies in trunk/Source/WebKit2
Build fix.
- UIProcess/API/APIHitTestResult.cpp: Copied from Shared/API/APIHitTestResult.cpp.
- UIProcess/API/APIHitTestResult.h: Copied from Shared/API/APIHitTestResult.h.
- UIProcess/mac/PageClientImpl.mm:
- 4:10 PM Changeset in webkit [190827] by
-
- 57 edits in trunk/Source/JavaScriptCore
2015-10-09 Geoffrey Garen <ggaren@apple.com>
Unreviewed, rolling back in r190694
https://bugs.webkit.org/show_bug.cgi?id=149727
This time for double sure?
The cause of the crash was an incorrect write barrier.
OSR exit was barriering the baseline codeblock for the top of the stack
twice, missing the baseline codeblock for the bottom of the stack.
Restored changesets:
"CodeBlock should be a GC object"
https://bugs.webkit.org/show_bug.cgi?id=149727
http://trac.webkit.org/changeset/r190694
- 3:48 PM Changeset in webkit [190826] by
-
- 2 edits in trunk/Source/WebCore
Remove hack that allowed plug-ins to always take over certain image formats
https://bugs.webkit.org/show_bug.cgi?id=149972
Reviewed by Tim Horton.
This hack was added 8 years ago to allow a certain plug-in to show multi-page TIFF images on uspto.gov.
We now support said TIFFs natively, and the plug-in has been discontinued so it's safe to get rid of this.
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::shouldUsePlugin): Deleted.
- 3:27 PM Changeset in webkit [190825] by
-
- 1 copy in tags/Safari-601.1.46.41
New tag.
- 3:26 PM Changeset in webkit [190824] by
-
- 1 copy in tags/Safari-601.3.3
New tag.
- 3:24 PM Changeset in webkit [190823] by
-
- 41 edits3 moves5 adds in trunk/Source/WebKit2
WKWebView needs SPI to customize immediate actions
https://bugs.webkit.org/show_bug.cgi?id=149939
-and corresponding-
rdar://problem/20016849
Reviewed by Anders Carlsson.
This patch breaks WebHitTestResult into two files. WebHiTestResultData
continues to live in the WebKit namespace and contains the old
WebHitTestResult::Data struct. The rest of WebHitTestResult is now
API::HitTestResult. The patch also adds _WKHitTestResult as Obj-C API to wrap
API::HitTestResult.
Attempt to keep other ports happy with new files.
- CMakeLists.txt:
WebKit::WebHitTestResult no longer contains the Data struct and is now called
API::HitTestResult.
- Shared/API/APIHitTestResult.cpp: Copied from Shared/WebHitTestResult.cpp.
(API::HitTestResult::create):
(WebKit::WebHitTestResult::create): Deleted.
(WebKit::WebHitTestResult::Data::Data): Deleted.
(WebKit::WebHitTestResult::Data::~Data): Deleted.
(WebKit::WebHitTestResult::Data::encode): Deleted.
(WebKit::WebHitTestResult::Data::decode): Deleted.
(WebKit::WebHitTestResult::Data::platformEncode): Deleted.
(WebKit::WebHitTestResult::Data::platformDecode): Deleted.
(WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates): Deleted.
- Shared/API/APIHitTestResult.h: Copied from Shared/WebHitTestResult.h.
(API::HitTestResult::absoluteImageURL):
(API::HitTestResult::absolutePDFURL):
(API::HitTestResult::absoluteLinkURL):
(API::HitTestResult::absoluteMediaURL):
(API::HitTestResult::linkLabel):
(API::HitTestResult::linkTitle):
(API::HitTestResult::lookupText):
(API::HitTestResult::isContentEditable):
(API::HitTestResult::isDownloadableMedia):
(API::HitTestResult::HitTestResult):
(WebKit::WebHitTestResult::absoluteImageURL): Deleted.
(WebKit::WebHitTestResult::absolutePDFURL): Deleted.
(WebKit::WebHitTestResult::absoluteLinkURL): Deleted.
(WebKit::WebHitTestResult::absoluteMediaURL): Deleted.
(WebKit::WebHitTestResult::linkLabel): Deleted.
(WebKit::WebHitTestResult::linkTitle): Deleted.
(WebKit::WebHitTestResult::lookupText): Deleted.
(WebKit::WebHitTestResult::isContentEditable): Deleted.
(WebKit::WebHitTestResult::isDownloadableMedia): Deleted.
(WebKit::WebHitTestResult::WebHitTestResult): Deleted.
This is a new obj-c object that we can use for the modern immediate action
API.
- Shared/API/Cocoa/_WKHitTestResult.h: Added.
- Shared/API/Cocoa/_WKHitTestResult.mm: Added.
(-[_WKHitTestResult dealloc]):
(-[_WKHitTestResult absoluteImageURL]):
(-[_WKHitTestResult absolutePDFURL]):
(-[_WKHitTestResult absoluteLinkURL]):
(-[_WKHitTestResult absoluteMediaURL]):
(-[_WKHitTestResult linkLabel]):
(-[_WKHitTestResult linkTitle]):
(-[_WKHitTestResult lookupText]):
(-[_WKHitTestResult isContentEditable]):
(-[_WKHitTestResult elementBoundingBox]):
(-[_WKHitTestResult copyWithZone:]):
(-[_WKHitTestResult _apiObject]):
_WKHitTestResult wraps API::HitTestResult.
- Shared/API/Cocoa/_WKHitTestResultInternal.h: Added.
(API::wrapper):
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
Since we want to use the same enum name for the new enum, use a #define instead of a typedef in the old C SPI. This should keep old clients working in the meantime.
- Shared/API/c/WKImmediateActionTypes.h:
WebHitTestResult::Data is now WebHitTestResultData.
- Shared/ContextMenuContextData.h:
(WebKit::ContextMenuContextData::webHitTestResultData):
(WebKit::ContextMenuContextData::selectedText):
Remove WebHitTestResult, and add WebHitTestResultData for the Data struct.
- Shared/WebHitTestResult.cpp: Removed.
- Shared/WebHitTestResult.h: Removed.
- Shared/WebHitTestResultData.cpp: Added.
(WebKit::WebHitTestResultData::WebHitTestResultData):
(WebKit::WebHitTestResultData::~WebHitTestResultData):
(WebKit::WebHitTestResultData::encode):
(WebKit::WebHitTestResultData::decode):
(WebKit::WebHitTestResultData::platformEncode):
(WebKit::WebHitTestResultData::platformDecode):
(WebKit::WebHitTestResultData::elementBoundingBoxInWindowCoordinates):
- Shared/WebHitTestResultData.h: Added.
- Shared/mac/WebHitTestResult.mm: Removed.
- Shared/mac/WebHitTestResultData.mm: Copied from Shared/mac/WebHitTestResult.mm.
(WebKit::WebHitTestResultData::platformEncode):
(WebKit::WebHitTestResultData::platformDecode):
(WebKit::WebHitTestResult::Data::platformEncode): Deleted.
(WebKit::WebHitTestResult::Data::platformDecode): Deleted.
WebHitTestResult::Data is now WebHitTestResultData.
- UIProcess/API/APIContextMenuClient.h:
(API::ContextMenuClient::~ContextMenuClient):
(API::ContextMenuClient::getContextMenuFromProposedMenu):
(API::ContextMenuClient::customContextMenuItemSelected):
(API::ContextMenuClient::contextMenuDismissed):
(API::ContextMenuClient::showContextMenu):
WebHitTestResult is now WebHitTestResult
- UIProcess/API/APIUIClient.h:
(API::UIClient::runJavaScriptPrompt):
(API::UIClient::setStatusText):
(API::UIClient::mouseDidMoveOverElement):
(API::UIClient::unavailablePluginButtonClicked):
(API::UIClient::pinnedStateDidChange):
(API::UIClient::didBeginTrackingPotentialLongMousePress):
(API::UIClient::didRecognizeLongMousePress):
(API::UIClient::didCancelTrackingPotentialLongMousePress):
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKHitTestResult.cpp:
(WKHitTestResultGetTypeID):
(WKHitTestResultCopyAbsoluteImageURL):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageContextMenuClient):
(WKPageSetPageUIClient):
New WKWebView SPI _immediateActionAnimationControllerForHitTestResult
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Attempts to keep other ports happy with the re-name.
- UIProcess/API/efl/WebAccessibility.cpp:
- UIProcess/API/gtk/WebKitContextMenuClient.cpp:
- UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkit_hit_test_result_class_init):
(webkitHitTestResultCreate):
(stringIsEqualToCString):
(webkitHitTestResultCompare):
- UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
- UIProcess/API/gtk/WebKitUIClient.cpp:
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewMakePermissionRequest):
(webkitWebViewMouseTargetChanged):
(contextMenuDismissed):
(webkitWebViewPopulateContextMenu):
- UIProcess/API/gtk/WebKitWebViewPrivate.h:
Re-name, and just use uint32_t for the old SPI.
- UIProcess/API/mac/WKView.mm:
(-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
(-[WKView _setDidMoveSwipeSnapshotCallback:]):
(-[WKView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
- UIProcess/API/mac/WKViewInternal.h:
PageClient will figure out whether to call into WKWebView or WKView for this
SPI.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::immediateActionAnimationControllerForHitTestResult):
- UIProcess/WebPageProxy.h:
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult):
WebKit::WebHitTestResult::Data is now WebKit::WebHitTestResultData.
- UIProcess/WebPageProxy.messages.in:
WKImmediateActionController calls through to WebPageProxy which calls to
PageClient, which figures out which API to call. Also cache the type as a
uint32_t
- UIProcess/mac/WKImmediateActionController.h:
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _updateImmediateActionItem]):
WebHitTestResult::Data is now WebHitTestResultData.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::platformInitializeShareMenuItem):
New files!
- WebKit2.xcodeproj/project.pbxproj:
Deal with the #define situation for the enum.
- WebKit2Prefix.h:
New names for things. WebHitTestResult::Data -> WebHitTestResultData
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::pointInLayoutSpaceForPointInWindowSpace):
(WebKit::PDFPlugin::lookupTextAtLocation):
- WebProcess/Plugins/Plugin.h:
- WebProcess/Plugins/PluginProxy.h:
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::mouseDidMoveOverElement):
(WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation):
- 3:06 PM Changeset in webkit [190822] by
-
- 7 edits1 delete in trunk/Source/JavaScriptCore
Remove unused RecursiveAllocationScope
https://bugs.webkit.org/show_bug.cgi?id=149967
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-09
Reviewed by Csaba Osztrogonác.
RecursiveAllocationScope has been unused since r163691.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/Heap.cpp:
- heap/Heap.h:
- heap/RecursiveAllocationScope.h: Removed.
- runtime/VM.h:
- 3:01 PM Changeset in webkit [190821] by
-
- 3 edits in trunk/Tools
Teach webkitperl how to figure out IOS versions from the SDK
https://bugs.webkit.org/show_bug.cgi?id=149963
Reviewed by Daniel Bates.
It should be easier to check the major and minor version of IOS SDKs.
- Scripts/copy-webkitlibraries-to-product-directory: use iosVersion().
- Scripts/webkitdirs.pm:
(splitVersionString): Added.
(determineOSXVersion): Use splitVersionString.
(determineIOSVersion): Added. Look at the SDK version and make a tuple.
(iosVersion): Added.
- 2:50 PM Changeset in webkit [190820] by
-
- 3 edits2 adds in trunk
Garbage texture data with composited table row
https://bugs.webkit.org/show_bug.cgi?id=148984
Reviewed by Zalan Bujtas.
Source/WebCore:
Don't pretend to know if the layer for a table header, section or cell is
opaque, since table painting is special.
Test: compositing/contents-opaque/table-parts.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
LayoutTests:
- compositing/contents-opaque/table-parts-expected.txt: Added.
- compositing/contents-opaque/table-parts.html: Added.
- 2:34 PM Changeset in webkit [190819] by
-
- 3 edits in trunk/Tools
[iOS WK2] Fix some leaks in TestRunnerWKWebView and UIScriptContext
https://bugs.webkit.org/show_bug.cgi?id=149960
Reviewed by Tim Horton.
Use adoptWK(), and null out some members (file is not using ARC).
- WebKitTestRunner/UIScriptContext/UIScriptContext.cpp:
(UIScriptContext::uiScriptComplete):
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dealloc]):
- 2:07 PM Changeset in webkit [190818] by
-
- 7 edits2 adds in trunk
Garbage pixels on enphaseenergy.com site
https://bugs.webkit.org/show_bug.cgi?id=149915
rdar://problem/22976184
Reviewed by Darin Adler.
Source/WebCore:
When the <html> gets a composited RenderLayer, and we ask whether its background
is opaque, return false, since the document element's background propagates
to the root, and is painted by the RenderView.
Also improve the compositing logging to indicate when fore- and background layers
are present.
Test: compositing/contents-opaque/negative-z-before-html.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
LayoutTests:
New ref test. Also update the expected result for another test that uses negative
z-index children.
- compositing/contents-opaque/body-background-painted-expected.txt:
- compositing/contents-opaque/negative-z-before-html-expected.html: Added.
- compositing/contents-opaque/negative-z-before-html.html: Added.
- platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
- 2:00 PM Changeset in webkit [190817] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Perf dashboard erroneously shows an old OS build in A/B testing range
https://bugs.webkit.org/show_bug.cgi?id=149942
Reviewed by Darin Adler.
Ordering OS builds lexicologically turned out be a bad idea since 15A25 falls between 15A242 and 15A251.
Use a fake/synthetic timestamp to force the commonly understood total order instead.
Refactored pull-os-versions.py to share the server config JSON with other scripts. Also made the script
support pulling multiple sources; e.g. both OS X and iOS.
Also removed superfluous feature to submit results in chunks. The perf dashboard can handle thousands of
revisions being submitted at once just fine.
- public/api/commits.php:
(main): A partial revert of r185574 since we no longer need to order builds lexicologically.
- tools/pull-os-versions.py:
(main): Takes --os-config-json, --server-config-json, and --seconds-to-sleep as arguments instead of
a single --config argument to share the server config JSON with other scripts.
(OSBuildFetcher): Extracted out of main. This class is instantiated for each OS kind (e.g. OS X).
(OSBuildFetcher.init): Added.
(OSBuildFetcher._fetch_available_builds): Extracted out of main. Fetches available builds from a website
or custom commands.
(OSBuildFetcher.fetch_and_report_new_builds): Extracted out of main. Submits the fetched builds after
filtering out the ones we've already reported.
(OSBuildFetcher._assign_fake_timestamps): Creates a fake timestamp to establish a total order amongst each
OS X / iOS style build number such as 12A3456b.
- 12:59 PM Changeset in webkit [190816] by
-
- 8 edits14 adds in trunk
Dynamic background color changes do not update until a layout is forced
https://bugs.webkit.org/show_bug.cgi?id=131623
Source/WebCore:
Compute correct repaint rect for decorated RenderSVGRoots.
The current implementation of clippedOverflowRectForRepaint() uses the
generic repaint-rect calculations in SVGRenderSupport. Those in turn make
use of repaintRectInLocalCoordinates(), which for RenderSVGRoot is the
union of the painted children (w/ some expansion). If there're no children,
or they do not fill the entire content box, then a repaint would not
repaint the correct parts.
Fix by calculating the union of the border-box and the SVG content
when the SVG root is decorated (has background/border/etc.)
Adapted from a Chromium patch by fs@opera.com
https://src.chromium.org/viewvc/blink?revision=170890&view=revision
Patch by Antoine Quint <Antoine Quint> on 2015-10-09
Reviewed by Darin Adler.
Tests: svg/repaint/add-background-property-on-root.html
svg/repaint/add-border-property-on-root.html
svg/repaint/add-outline-property-on-root.html
svg/repaint/change-background-color.html
svg/repaint/remove-background-property-on-root.html
svg/repaint/remove-border-property-on-root.html
svg/repaint/remove-outline-property-on-root.html
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::styleDidChange):
(WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
LayoutTests:
Add some new tests checking that dynamically updating the "background",
"border" and "outline" CSS properties repaint correctly and rebase a few
existing tests that yield the same rendered results but slightly different
DRT output.
Patch by Antoine Quint <Antoine Quint> on 2015-10-09
Reviewed by Darin Adler.
- platform/mac/fast/repaint/moving-shadow-on-container-expected.txt:
- platform/mac/svg/custom/simple-text-double-shadow-expected.txt:
- svg/css/composite-shadow-example-expected.txt:
- svg/css/composite-shadow-with-opacity-expected.txt:
- svg/repaint/add-background-property-on-root-expected.html: Added.
- svg/repaint/add-background-property-on-root.html: Added.
- svg/repaint/add-border-property-on-root-expected.html: Added.
- svg/repaint/add-border-property-on-root.html: Added.
- svg/repaint/add-outline-property-on-root-expected.html: Added.
- svg/repaint/add-outline-property-on-root.html: Added.
- svg/repaint/change-background-color-expected.html: Added.
- svg/repaint/change-background-color.html: Added.
- svg/repaint/remove-background-property-on-root-expected.html: Added.
- svg/repaint/remove-background-property-on-root.html: Added.
- svg/repaint/remove-border-property-on-root-expected.html: Added.
- svg/repaint/remove-border-property-on-root.html: Added.
- svg/repaint/remove-outline-property-on-root-expected.html: Added.
- svg/repaint/remove-outline-property-on-root.html: Added.
- svg/repaint/repaint-webkit-svg-shadow-expected.txt:
- 12:58 PM Changeset in webkit [190815] by
-
- 18 edits in branches/safari-601.1.46-branch
Roll out r190434. rdar://problem/22865007
- 12:56 PM Changeset in webkit [190814] by
-
- 3 edits in branches/safari-601.1.46-branch/LayoutTests
Roll out r190438. rdar://problem/22865007
- 12:55 PM Changeset in webkit [190813] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebCore
Roll out r190447. rdar://problem/22865007
- 12:53 PM Changeset in webkit [190812] by
-
- 19 edits in branches/safari-601.1.46-branch
Roll out r190604. rdar://problem/22993012
- 11:41 AM Changeset in webkit [190811] by
-
- 2 edits in branches/safari-601-branch/Source/WebCore
Merged r189168.
- 11:36 AM Changeset in webkit [190810] by
-
- 2 edits in trunk/Source/WebCore
[iOS WK2] Fix assertion in ViewportConfiguration::setDefaultConfiguration seen in testing
https://bugs.webkit.org/show_bug.cgi?id=149959
Reviewed by Tim Horton.
When loading tests which set a flexible viewport, ViewportConfiguration::setDefaultConfiguration()
is called first with testingParameters() and then with webpageParameters(). This
would trigger the assertion that m_defaultConfiguration.initialScaleIsSet but
the new initial scale is zero.
The assertion seems wrong anyway; it's consulting m_defaultConfiguration.initialScaleIsSet
but defaultConfiguration.initialScale, so fix it to test defaultConfiguration.initialScaleIsSet.
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::setDefaultConfiguration):
- 10:54 AM Changeset in webkit [190809] by
-
- 57 edits in trunk/Source/JavaScriptCore
2015-10-09 Geoffrey Garen <ggaren@apple.com>
Unreviewed, rolling out r190694
https://bugs.webkit.org/show_bug.cgi?id=148560
Crashes seen on PLT bots and facebook.com.
Reverted changesets:
"CodeBlock should be a GC object"
https://bugs.webkit.org/show_bug.cgi?id=149727
http://trac.webkit.org/changeset/190694
- 10:53 AM Changeset in webkit [190808] by
-
- 1 edit3 adds in trunk/LayoutTests
Add some missing iOS results.
- fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-expected.txt: Added.
- platform/ios-simulator/compositing/transitions/scale-transition-no-start-expected.txt: Added.
- platform/ios-simulator/compositing/transitions/singular-scale-transition-expected.txt: Added.
- 10:31 AM Changeset in webkit [190807] by
-
- 1 edit in branches/safari-601-branch/LayoutTests/http/tests/cache/disk-cache/disk-cache-last-modified-expected.txt
Rebaseline after r190494.
- 10:30 AM Changeset in webkit [190806] by
-
- 3 edits in trunk/Source/WebKit2
Remove two unused WKFrame functions
https://bugs.webkit.org/show_bug.cgi?id=149958
Reviewed by Dan Bernstein.
- UIProcess/API/C/WKFrame.cpp:
(WKFrameCopyChildFrames): Deleted.
(WKFrameGetParentFrame): Deleted.
- UIProcess/API/C/WKFrame.h:
- 10:20 AM Changeset in webkit [190805] by
-
- 2 edits in trunk/Tools
Remove ENABLE_SUID_SANDBOX_LINUX cruft
https://bugs.webkit.org/show_bug.cgi?id=149954
Reviewed by Darin Adler.
- Scripts/webkitperl/FeatureList.pm:
- 10:08 AM Changeset in webkit [190804] by
-
- 2 edits in trunk/Source/WebCore
Fix the !ENABLE(STREAM_API) build after r190794
https://bugs.webkit.org/show_bug.cgi?id=149955
Reviewed by Darin Adler.
- bindings/js/WebCoreJSBuiltinInternals.h:
(WebCore::JSBuiltinInternalFunctions::visit):
(WebCore::JSBuiltinInternalFunctions::init):
- 10:04 AM Changeset in webkit [190803] by
-
- 11 edits in trunk/Source/WebCore
Fix the binding generator after r190785
https://bugs.webkit.org/show_bug.cgi?id=149956
Reviewed by Darin Adler.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructorConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::getConstructData):
- 9:52 AM Changeset in webkit [190802] by
-
- 4 edits in trunk/LayoutTests
Unreviewed, more Mac test gardening after r190629.
These more accurate expectations are based on several days
of builds with the newly-imported Blink tests.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 9:31 AM WebKitIDL edited by
- (diff)
- 8:55 AM Changeset in webkit [190801] by
-
- 2 edits in trunk/Tools
Make iOS builders generate debug information in a separate dSYM file
https://bugs.webkit.org/show_bug.cgi?id=149696
Reviewed by Darin Adler.
Similar to the Mac builders, the iOS builders should write debug information
into a separate dSYM file instead of including such information in the binary
itself (default Xcode behavior)
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CompileWebKit.start):
- 8:18 AM Changeset in webkit [190800] by
-
- 5 edits2 adds in trunk
Backgrounds bleed out of natively rendered text fields
https://bugs.webkit.org/show_bug.cgi?id=149843
<rdar://problem/22896977>
Reviewed by Darin Adler.
Source/WebCore:
When natively rendering a text field with a background on Mac, the background bleeds out
of the text field's border when the graphics context is scaled (as a result of a retina
display or zoom/scale effects). This is because when we render the text field in bezeled
style within a certain frame, AppKit adds 1 device pixel insets on all sides of the frame,
which renders a text field that is slightly smaller than the frame. To adjust for this, we
inflate the paint rect.
Test: fast/forms/hidpi-textfield-background-bleeding.html
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintTextField):
LayoutTests:
Add a layout test to check that the background of a natively rendered text field
cell does not bleed.
- TestExpectations:
- fast/forms/hidpi-textfield-background-bleeding-expected.html: Added.
- fast/forms/hidpi-textfield-background-bleeding.html: Added.
- 7:22 AM Changeset in webkit [190799] by
-
- 19 edits in branches/safari-601.1.46-branch
Merge r190604. rdar://problem/22993012
- 7:22 AM Changeset in webkit [190798] by
-
- 3 edits3 adds in branches/safari-601.1.46-branch
Merge r190602. rdar://problem/22995810
- 7:22 AM Changeset in webkit [190797] by
-
- 7 edits in branches/safari-601.1.46-branch/Source/WebKit2
Merge r190568. rdar://problem/22974825
- 7:22 AM Changeset in webkit [190796] by
-
- 4 edits in branches/safari-601.1.46-branch/Source/WebKit2
Merge r190512. rdar://problem/22974818
- 7:21 AM Changeset in webkit [190795] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebCore
Merge r190447. rdar://problem/22865007
- 7:21 AM Changeset in webkit [190794] by
-
- 19 edits2 adds in trunk/Source
Source/JavaScriptCore:
Automate WebCore JS builtins generation and build system
https://bugs.webkit.org/show_bug.cgi?id=149751
Reviewed by Darin Adler.
- generate-js-builtins: updating the part related to WebCore JS binding.
Source/WebCore:
Refactor WebCore JS builtins to prepare for automatic generation
https://bugs.webkit.org/show_bug.cgi?id=149751
Reviewed by Darin Adler.
Adding annotations to JS files to know whether they should be under a compilation flag and
whether they are JS internals or JS tied to WebIDL.
If a file is said as JS internals, all function names should be exported automatically.
Added WebCoreJSBuiltins.h to simplify handling of builtins in JSVMClientData.
Added WebCoreJSInternals.h to simplify handling of builtin private function in JSDOMWindowBase.
Renamed WebCoreJSClientData to JSVMClientData.
Covered by existing tests.
- CMakeLists.txt:
- Modules/streams/ByteLengthQueuingStrategy.js:
- Modules/streams/CountQueuingStrategy.js:
- Modules/streams/ReadableStream.js:
- Modules/streams/ReadableStreamController.js:
- Modules/streams/ReadableStreamInternals.js:
- Modules/streams/ReadableStreamReader.js:
- WebCore.order:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
(WebCore::normalWorld):
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::finishCreation):
(WebCore::JSDOMWindowBase::visitChildren):
(WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
(WebCore::JSDOMWindowBase::destroy): Deleted.
- bindings/js/JSDOMWindowBase.h:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::getAllWorlds):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::transferArrayBuffers):
- bindings/js/WebCoreJSBuiltinInternals.h: Added.
(WebCore::JSBuiltinInternalFunctions::JSBuiltinInternalFunctions):
(WebCore::JSBuiltinInternalFunctions::readableStreamInternals):
(WebCore::JSBuiltinInternalFunctions::visit):
(WebCore::JSBuiltinInternalFunctions::init):
- bindings/js/WebCoreJSBuiltins.cpp:
- bindings/js/WebCoreJSBuiltins.h: Added.
(WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
(WebCore::JSBuiltinFunctions::byteLengthQueuingStrategyBuiltins):
(WebCore::JSBuiltinFunctions::countQueuingStrategyBuiltins):
(WebCore::JSBuiltinFunctions::readableStreamBuiltins):
(WebCore::JSBuiltinFunctions::readableStreamControllerBuiltins):
(WebCore::JSBuiltinFunctions::readableStreamInternalsBuiltins):
(WebCore::JSBuiltinFunctions::readableStreamReaderBuiltins):
- bindings/js/WebCoreJSClientData.h:
(WebCore::JSVMClientData::JSVMClientData):
(WebCore::JSVMClientData::~JSVMClientData):
(WebCore::JSVMClientData::builtinFunctions):
(WebCore::initNormalWorldClientData):
(WebCore::JSVMClientData::normalWorld): Deleted.
(WebCore::JSVMClientData::getAllWorlds): Deleted.
- 7:21 AM Changeset in webkit [190793] by
-
- 3 edits in branches/safari-601.1.46-branch/LayoutTests
Merge r190438. rdar://problem/22865007
- 7:21 AM Changeset in webkit [190792] by
-
- 18 edits in branches/safari-601.1.46-branch
Merge r190434. rdar://problem/22865007
- 7:21 AM Changeset in webkit [190791] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebCore
Merge r189979. rdar://problem/23033080
- 7:21 AM Changeset in webkit [190790] by
-
- 12 edits in branches/safari-601.1.46-branch/Source
Merge r189834. rdar://problem/22807373
- 7:21 AM Changeset in webkit [190789] by
-
- 3 edits1 add in branches/safari-601.1.46-branch/Source/WTF
Merge r189633. rdar://problem/22824424
- 7:21 AM Changeset in webkit [190788] by
-
- 3 edits in branches/safari-601.1.46-branch/Source/JavaScriptCore
Merge r189460. rdar://problem/22823239
- 7:21 AM Changeset in webkit [190787] by
-
- 15 edits2 adds in branches/safari-601.1.46-branch/Source/JavaScriptCore
Merge r189454. rdar://problem/22823239
- 7:21 AM Changeset in webkit [190786] by
-
- 9 edits3 adds in branches/safari-601.1.46-branch
Merge r189421. rdar://problem/22823243
- 6:44 AM Changeset in webkit [190785] by
-
- 11 edits in trunk/Source/WebCore
Rationalize JSXXConstructor class definition
https://bugs.webkit.org/show_bug.cgi?id=149923
Reviewed by Darin Adler.
Declaration of JSXXConstructor::construct and JSXXConstructor::getConstructData
as long as JSXX is constructable from JavaScript.
Previously, JSXXConstructor::construct was not generated in case of CustomConstructor.
It is now generated and directly calls the custom constructor function.
getConstructData was declared conditionally with #if in case of ConstructorConditional.
The #if are now within getConstructData body.
Covered by binding tests.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDeclaration):
(GenerateOverloadedConstructorDefinition):
(GenerateConstructorDefinition):
(GenerateConstructorHelperMethods):
(GenerateConstructorDefinitions):.
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::construct):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::getConstructData):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):.
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::construct):
(WebCore::JSTestEventConstructorConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::JSTestInterfaceConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructorConstructor::construct):
(WebCore::JSTestJSBuiltinConstructorConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
(WebCore::JSTestNamedConstructorNamedConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::construct):
(WebCore::JSTestNodeConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
(WebCore::JSTestObjConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
(WebCore::JSTestOverloadedConstructorsConstructor::construct):
(WebCore::JSTestOverloadedConstructorsConstructor::getConstructData):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::JSTestTypedefsConstructor::getConstructData):
- 5:56 AM Changeset in webkit [190784] by
-
- 3 edits in trunk/Source/WebCore
[css-grid] Include freeSpace in GridSizingData struct
https://bugs.webkit.org/show_bug.cgi?id=149876
Reviewed by Darin Adler.
During the layout process we keep the free space for rows and
columns in two variables that are passed to a few methods
along with the GridSizingData struct. Those two variables
should clearly be part of GridSizingData as they're temporary
values used just for the sake of the layout.
No new tests required as this is just a refactoring.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::GridSizingData::GridSizingData):
(WebCore::RenderGrid::GridSizingData::freeSpaceForDirection):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::populateGridPositions):
(WebCore::contentDistributionOffset):
(WebCore::RenderGrid::computeContentPositionAndDistributionOffset):
- rendering/RenderGrid.h:
- 5:47 AM Changeset in webkit [190783] by
-
- 3 edits in trunk/Source/WebCore
[css-grid] Remove unneeded calls to compute(Content)LogicalWidth(Height)
https://bugs.webkit.org/show_bug.cgi?id=149926
Reviewed by Darin Adler.
In order to resolve a Length to a LayoutUnit we need to
provide a maximum value so that i.e. percentages are correctly
computed. That maximum value was computeLogicalWidth() for
columns and computeContentLogicalHeight() for rows. We were
calling it for every single track with a definite size instead
of computing it once and reusing it multiple times.
This brings some nice performance improvements:
- 2.9% in /Layout/fixed-grid-lots-of-data
- 2.95% in /Layout/fixed-grid-lots-of-stretched-data
No new tests required as there is no change in functionality.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::computeUsedBreadthOfMinLength):
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
- rendering/RenderGrid.h:
- 2:07 AM Changeset in webkit [190782] by
-
- 2 edits in trunk/Tools
Fix webkitpy tests after r190779
https://bugs.webkit.org/show_bug.cgi?id=149949
Reviewed by Ryosuke Niwa.
- Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults.format):
(BenchmarkResults._format_values):
- 1:18 AM Changeset in webkit [190781] by
-
- 4 edits in trunk
[CMake] Remove ENABLE_SUBPIXEL_LAYOUT macro
https://bugs.webkit.org/show_bug.cgi?id=149947
Reviewed by Csaba Osztrogonác.
ENABLE(SUBPIXEL_LAYOUT) was removed though, it is still alive in .cmake.
Removed it.
- Source/cmake/OptionsMac.cmake:
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake: