1. 29 Sep, 2013 10 commits
    • akling@apple.com's avatar
      Pass VM instead of JSGlobalObject to function constructors. · 59875529
      akling@apple.com authored
      <https://webkit.org/b/122082>
      
      Reviewed by Darin Adler.
      
      Functions don't need anything from the global object during their
      construction and only use it to get to the VM. Reduce loads by
      simply passing the VM around instead.
      
      This patch is mostly mechanical, I just changed the signature of
      InternalFunction and worked my way from there until it built.
      
      JSC release binary size -= 4840 bytes.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59875529
    • darin@apple.com's avatar
      Try to fix Windows build. · 6d7750ca
      darin@apple.com authored
              * bindings/js/WebCoreTypedArrayController.cpp: Windows has a symbol named Handle, so we need
              to call JSC::Handle out by name. To fix that, I removed "using namespace JSC" entirely. And
              just for fun, sort of "rewrote" this file.
              (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController): Removed unneeded explicit
              initialization of m_owner.
              (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController): Fixed formatting.
              (WebCore::WebCoreTypedArrayController::toJS): Added lots of explicit JSC and got rid of local.
              (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots): Cut
              down on locals, used auto& for type, and called it "wrapper" since that's what JSArrayBuffer is.
              (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize): More of the same.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d7750ca
    • darin@apple.com's avatar
      Use RenderElement instead of RenderObject in many places · 8cdf7124
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122078
      
      Reviewed by Andreas Kling.
      
      Source/ThirdParty/ANGLE:
      
      * ANGLE.xcodeproj/project.pbxproj: Let Xcode do its thing to this file.
      
      Source/WebCore:
      
      * WebCore.exp.in: Updated for name changes.
      
      * dom/ContainerNode.h: Moved renderer() here from Element.
      * dom/Element.h: Moved renderer() from here to ContainerNode.
      * render/RenderElement.h: Moved renderer() from Element to ContainerNode.
      
      * accessibility/AccessibilityImageMapLink.cpp:
      (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
      (WebCore::AccessibilityImageMapLink::detachFromParent):
      (WebCore::AccessibilityImageMapLink::elementPath):
      (WebCore::AccessibilityImageMapLink::elementRect):
      * accessibility/AccessibilityImageMapLink.h:
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
      * bindings/objc/DOM.mm:
      (-[DOMElement image]):
      (-[DOMElement _font]):
      (-[DOMElement _imageTIFFRepresentation]):
      * css/CSSCanvasValue.cpp:
      (WebCore::CSSCanvasValue::canvasChanged):
      (WebCore::CSSCanvasValue::canvasResized):
      (WebCore::CSSCanvasValue::canvasDestroyed):
      (WebCore::CSSCanvasValue::fixedSize):
      (WebCore::CSSCanvasValue::image):
      * css/CSSCanvasValue.h:
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::computeRenderStyleForProperty):
      * css/CSSCrossfadeValue.cpp:
      (WebCore::subimageKnownToBeOpaque):
      (WebCore::CSSCrossfadeValue::fixedSize):
      (WebCore::CSSCrossfadeValue::knownToBeOpaque):
      (WebCore::CSSCrossfadeValue::image):
      (WebCore::CSSCrossfadeValue::crossfadeChanged):
      * css/CSSCrossfadeValue.h:
      * css/CSSFilterImageValue.cpp:
      (WebCore::CSSFilterImageValue::fixedSize):
      (WebCore::CSSFilterImageValue::knownToBeOpaque):
      (WebCore::CSSFilterImageValue::image):
      (WebCore::CSSFilterImageValue::filterImageChanged):
      * css/CSSFilterImageValue.h:
      * css/CSSFontSelector.cpp:
      * css/CSSGradientValue.cpp:
      (WebCore::CSSGradientValue::image):
      (WebCore::CSSGradientValue::addStops):
      (WebCore::CSSGradientValue::knownToBeOpaque):
      (WebCore::CSSLinearGradientValue::createGradient):
      (WebCore::CSSRadialGradientValue::createGradient):
      * css/CSSGradientValue.h:
      (WebCore::CSSGradientValue::fixedSize):
      * css/CSSImageGeneratorValue.cpp:
      (WebCore::CSSImageGeneratorValue::addClient):
      (WebCore::CSSImageGeneratorValue::removeClient):
      (WebCore::CSSImageGeneratorValue::image):
      (WebCore::CSSImageGeneratorValue::fixedSize):
      (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
      * css/CSSImageGeneratorValue.h:
      (WebCore::CSSImageGeneratorValue::clients):
      * css/CSSImageValue.cpp:
      (WebCore::CSSImageValue::knownToBeOpaque):
      * css/CSSImageValue.h:
      * css/DeprecatedStyleBuilder.cpp:
      * dom/DocumentMarkerController.cpp:
      (WebCore::DocumentMarkerController::removeMarkersFromList):
      (WebCore::DocumentMarkerController::repaintMarkers):
      * dom/Element.cpp:
      (WebCore::localZoomForRenderer):
      (WebCore::adjustForLocalZoom):
      (WebCore::Element::offsetParent):
      (WebCore::Element::updateExistingPseudoElement):
      * dom/ElementRareData.h:
      (WebCore::ElementRareData::create):
      (WebCore::ElementRareData::ElementRareData):
      * dom/Node.cpp:
      (WebCore::Node::ensureRareData):
      * editing/DeleteButtonController.cpp:
      (WebCore::isDeletableElement):
      * editing/Editor.cpp:
      (WebCore::Editor::hasBidiSelection):
      (WebCore::Editor::baseWritingDirectionForSelectionStart):
      * editing/EditorCommand.cpp:
      (WebCore::verticalScrollDistance):
      * editing/htmlediting.cpp:
      (WebCore::directionOfEnclosingBlock):
      * editing/ios/EditorIOS.mm:
      (WebCore::Editor::fontForSelection):
      (WebCore::getImage):
      * editing/mac/EditorMac.mm:
      (WebCore::Editor::fontForSelection):
      (WebCore::getImage):
      * editing/markup.cpp:
      * html/HTMLAreaElement.cpp:
      (WebCore::HTMLAreaElement::computePath):
      (WebCore::HTMLAreaElement::computeRect):
      (WebCore::HTMLAreaElement::setFocus):
      * html/HTMLAreaElement.h:
      * html/HTMLCanvasElement.cpp:
      (WebCore::HTMLCanvasElement::reset):
      * html/HTMLElement.cpp:
      (WebCore::HTMLElement::setInnerText):
      * html/HTMLFormControlElement.cpp:
      (WebCore::updateFromElementCallback):
      * html/HTMLFormElement.cpp:
      (WebCore::HTMLFormElement::rendererIsNeeded):
      * html/HTMLFrameOwnerElement.h:
      * html/HTMLImageElement.cpp:
      (WebCore::HTMLImageElement::x):
      (WebCore::HTMLImageElement::y):
      (WebCore::HTMLImageElement::willRespondToMouseClickEvents):
      * html/HTMLMapElement.cpp:
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::defaultEventHandler):
      * html/HTMLMeterElement.cpp:
      (WebCore::HTMLMeterElement::renderMeter):
      * html/HTMLOptionElement.cpp:
      (WebCore::HTMLOptionElement::didRecalcStyle):
      * html/HTMLPlugInElement.cpp:
      (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents):
      (WebCore::HTMLPlugInElement::defaultEventHandler):
      (WebCore::HTMLPlugInElement::isKeyboardFocusable):
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::defaultEventHandler):
      * html/HTMLProgressElement.cpp:
      (WebCore::HTMLProgressElement::renderProgress):
      * html/HTMLSelectElement.cpp:
      (WebCore::HTMLSelectElement::scrollToSelection):
      (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
      (WebCore::HTMLSelectElement::selectOption):
      * html/HTMLTableCellElement.cpp:
      (WebCore::HTMLTableCellElement::cellAbove):
      * html/HTMLTextFormControlElement.cpp:
      (WebCore::hasVisibleTextArea):
      (WebCore::HTMLTextFormControlElement::setSelectionRange):
      * html/InputType.h:
      * html/parser/HTMLResourcePreloader.cpp:
      * html/shadow/MediaControlElementTypes.cpp:
      (WebCore::MediaControlElement::setDisplayType):
      * html/shadow/MediaControlElements.cpp:
      (WebCore::MediaControlPanelElement::startDrag):
      (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
      * html/shadow/MeterShadowElement.cpp:
      (WebCore::MeterShadowElement::rendererIsNeeded):
      (WebCore::MeterInnerElement::rendererIsNeeded):
      * inspector/InspectorOverlay.cpp:
      * inspector/InspectorTimelineAgent.cpp:
      * inspector/InspectorTimelineAgent.h:
      * loader/ImageLoader.cpp:
      (WebCore::ImageLoader::renderImageResource):
      * loader/cache/CachedImage.cpp:
      (WebCore::CachedImage::currentFrameKnownToBeOpaque):
      * loader/cache/CachedImage.h:
      * mathml/MathMLElement.cpp:
      * page/ContextMenuController.cpp:
      * page/DragController.cpp:
      (WebCore::DragController::draggableElement):
      * page/EventHandler.cpp:
      (WebCore::EventHandler::EventHandler):
      (WebCore::EventHandler::clear):
      (WebCore::EventHandler::startPanScrolling):
      (WebCore::EventHandler::autoscrollRenderer):
      (WebCore::EventHandler::scrollOverflow):
      (WebCore::EventHandler::logicalScrollOverflow):
      (WebCore::EventHandler::subframeForTargetNode):
      (WebCore::EventHandler::selectCursor):
      (WebCore::layerForNode):
      (WebCore::EventHandler::handleWheelEvent):
      (WebCore::EventHandler::clearGestureScrollNodes):
      * page/EventHandler.h:
      * page/FocusController.cpp:
      * page/Frame.cpp:
      (WebCore::Frame::ownerRenderer):
      (WebCore::Frame::visiblePositionForPoint):
      (WebCore::Frame::nodeImage):
      * page/FrameView.cpp:
      (WebCore::FrameView::applyOverflowToViewport):
      (WebCore::FrameView::applyPaginationToViewport):
      (WebCore::FrameView::calculateScrollbarModesForLayout):
      (WebCore::FrameView::isEnclosedInCompositingLayer):
      (WebCore::FrameView::embeddedContentBox):
      (WebCore::FrameView::addSlowRepaintObject):
      (WebCore::FrameView::removeSlowRepaintObject):
      (WebCore::FrameView::addViewportConstrainedObject):
      (WebCore::FrameView::removeViewportConstrainedObject):
      (WebCore::FrameView::scrollContentsFastPath):
      (WebCore::FrameView::repaintSlowRepaintObjects):
      (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
      (WebCore::FrameView::updateOverflowStatus):
      (WebCore::FrameView::updateScrollCorner):
      (WebCore::FrameView::paintContents):
      (WebCore::FrameView::convertFromRenderer):
      (WebCore::FrameView::convertToRenderer):
      * page/FrameView.h:
      * page/PageSerializer.cpp:
      (WebCore::PageSerializer::addImageToResources):
      * page/PageSerializer.h:
      * page/animation/AnimationBase.cpp:
      (WebCore::AnimationBase::AnimationBase):
      (WebCore::AnimationBase::updateStateMachine):
      * page/animation/AnimationBase.h:
      (WebCore::AnimationBase::renderer):
      * page/animation/AnimationController.cpp:
      (WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
      (WebCore::AnimationControllerPrivate::clear):
      (WebCore::AnimationControllerPrivate::updateAnimations):
      (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
      (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
      (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
      (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
      (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
      (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
      (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
      (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
      (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
      (WebCore::AnimationController::cancelAnimations):
      (WebCore::AnimationController::updateAnimations):
      (WebCore::AnimationController::getAnimatedStyleForRenderer):
      (WebCore::AnimationController::notifyAnimationStarted):
      (WebCore::AnimationController::pauseAnimationAtTime):
      (WebCore::AnimationController::pauseTransitionAtTime):
      (WebCore::AnimationController::isRunningAnimationOnRenderer):
      (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
      * page/animation/AnimationController.h:
      * page/animation/AnimationControllerPrivate.h:
      * page/animation/CSSPropertyAnimation.cpp:
      (WebCore::crossfadeBlend):
      * page/animation/CompositeAnimation.cpp:
      (WebCore::CompositeAnimation::updateTransitions):
      (WebCore::CompositeAnimation::updateKeyframeAnimations):
      (WebCore::CompositeAnimation::animate):
      * page/animation/CompositeAnimation.h:
      * page/animation/ImplicitAnimation.cpp:
      (WebCore::ImplicitAnimation::ImplicitAnimation):
      (WebCore::ImplicitAnimation::animate):
      (WebCore::ImplicitAnimation::pauseAnimation):
      (WebCore::ImplicitAnimation::sendTransitionEvent):
      * page/animation/ImplicitAnimation.h:
      (WebCore::ImplicitAnimation::create):
      * page/animation/KeyframeAnimation.cpp:
      (WebCore::KeyframeAnimation::KeyframeAnimation):
      (WebCore::KeyframeAnimation::animate):
      (WebCore::KeyframeAnimation::pauseAnimation):
      (WebCore::KeyframeAnimation::endAnimation):
      (WebCore::KeyframeAnimation::sendAnimationEvent):
      * page/animation/KeyframeAnimation.h:
      * page/mac/EventHandlerMac.mm:
      (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
      (WebCore::EventHandler::passSubframeEventToSubframe):
      * page/mac/FrameSnapshottingMac.mm:
      (WebCore::snapshotDragImage):
      * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
      (WebCore::MediaPlayerPrivateQTKit::paint):
      * rendering/CounterNode.cpp:
      (WebCore::CounterNode::CounterNode):
      (WebCore::CounterNode::create):
      * rendering/CounterNode.h:
      (WebCore::CounterNode::owner):
      * rendering/FilterEffectRenderer.cpp:
      (WebCore::FilterEffectRenderer::buildReferenceFilter):
      (WebCore::FilterEffectRenderer::build):
      * rendering/FilterEffectRenderer.h:
      * rendering/HitTestResult.cpp:
      (WebCore::HitTestResult::spellingToolTip):
      (WebCore::HitTestResult::title):
      (WebCore::HitTestResult::innerTextIfTruncated):
      (WebCore::HitTestResult::image):
      * rendering/LayoutRepainter.cpp:
      (WebCore::LayoutRepainter::LayoutRepainter):
      * rendering/LayoutRepainter.h:
      * rendering/LayoutState.h:
      (WebCore::LayoutState::LayoutState):
      * rendering/LineWidth.h:
      * rendering/LogicalSelectionOffsetCaches.h:
      (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject):
      (WebCore::isNonRenderBlockInline):
      (WebCore::containingBlockForFixedPosition):
      (WebCore::containingBlockForAbsolutePosition):
      (WebCore::containingBlockForObjectInFlow):
      (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
      * rendering/PaintInfo.h:
      (WebCore::PaintInfo::PaintInfo):
      (WebCore::PaintInfo::updateSubtreePaintRootForChildren):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::paintFillLayers):
      (WebCore::RenderBox::paintFillLayer):
      * rendering/RenderBox.h:
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::paintFillLayerExtended):
      (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
      * rendering/RenderBoxModelObject.h:
      * rendering/RenderCounter.cpp:
      (WebCore::nextInPreOrder):
      (WebCore::planCounter):
      (WebCore::makeCounterNode):
      (WebCore::RenderCounter::originalText):
      * rendering/RenderElement.cpp:
      (WebCore::RenderElement::~RenderElement):
      (WebCore::RenderElement::insertChildInternal):
      (WebCore::RenderElement::removeChildInternal):
      (WebCore::RenderElement::willBeDestroyed):
      (WebCore::RenderElement::rendererForRootBackground):
      * rendering/RenderImageResource.cpp:
      (WebCore::RenderImageResource::initialize):
      * rendering/RenderImageResource.h:
      * rendering/RenderImageResourceStyleImage.cpp:
      (WebCore::RenderImageResourceStyleImage::initialize):
      * rendering/RenderImageResourceStyleImage.h:
      (WebCore::RenderImageResourceStyleImage::create):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
      (WebCore::RenderLayerCompositor::requiresCompositingLayer):
      (WebCore::RenderLayerCompositor::canBeComposited):
      (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
      (WebCore::RenderLayerCompositor::reasonsForCompositing):
      (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
      (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
      (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
      (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
      (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
      (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
      (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
      (WebCore::RenderLayerCompositor::requiresCompositingForFilters):
      (WebCore::RenderLayerCompositor::requiresCompositingForBlending):
      (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
      (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
      * rendering/RenderLayerCompositor.h:
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::containingBlock):
      (WebCore::mustRepaintFillLayers):
      (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered):
      (WebCore::RenderObject::willBeDestroyed):
      * rendering/RenderScrollbarPart.cpp:
      (WebCore::RenderScrollbarPart::rendererOwningScrollbar):
      * rendering/RenderScrollbarPart.h:
      * rendering/RenderTableCell.cpp:
      (WebCore::RenderTableCell::paintBackgroundsBehindCell):
      * rendering/RenderTableCell.h:
      * rendering/RenderView.cpp:
      (WebCore::RenderView::RenderView):
      * rendering/style/FillLayer.cpp:
      (WebCore::FillLayer::hasOpaqueImage):
      * rendering/style/FillLayer.h:
      * rendering/style/KeyframeList.h:
      (WebCore::KeyframeList::KeyframeList):
      * rendering/style/StyleCachedImage.cpp:
      (WebCore::StyleCachedImage::imageSize):
      (WebCore::StyleCachedImage::computeIntrinsicDimensions):
      (WebCore::StyleCachedImage::setContainerSizeForRenderer):
      (WebCore::StyleCachedImage::addClient):
      (WebCore::StyleCachedImage::removeClient):
      (WebCore::StyleCachedImage::image):
      (WebCore::StyleCachedImage::knownToBeOpaque):
      * rendering/style/StyleCachedImage.h:
      * rendering/style/StyleCachedImageSet.cpp:
      (WebCore::StyleCachedImageSet::imageSize):
      (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
      (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
      (WebCore::StyleCachedImageSet::addClient):
      (WebCore::StyleCachedImageSet::removeClient):
      (WebCore::StyleCachedImageSet::image):
      (WebCore::StyleCachedImageSet::knownToBeOpaque):
      * rendering/style/StyleCachedImageSet.h:
      * rendering/style/StyleGeneratedImage.cpp:
      (WebCore::StyleGeneratedImage::imageSize):
      (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
      (WebCore::StyleGeneratedImage::addClient):
      (WebCore::StyleGeneratedImage::removeClient):
      (WebCore::StyleGeneratedImage::image):
      (WebCore::StyleGeneratedImage::knownToBeOpaque):
      * rendering/style/StyleGeneratedImage.h:
      * rendering/style/StyleImage.h:
      (WebCore::StyleImage::imagesEquivalent):
      * rendering/style/StylePendingImage.h:
      (WebCore::StylePendingImage::cssImageValue):
      (WebCore::StylePendingImage::cssImageGeneratorValue):
      (WebCore::StylePendingImage::cssCursorImageValue):
      (WebCore::StylePendingImage::cssImageSetValue):
      (WebCore::StylePendingImage::computeIntrinsicDimensions):
      * testing/Internals.cpp:
      (WebCore::Internals::boundingBox):
      (WebCore::Internals::isSelectPopupVisible):
      (WebCore::Internals::isPluginUnavailabilityIndicatorObscured):
      Use RenderElement instead of RenderObject where it was easy to do so.
      For local variables holding the return value of renderer() functions,
      use auto instead, so the most-specific possible type will be used,
      without having to figure out what that is in each case. Also use some
      more OVERRIDE and FINAL and use nullptr instead of 0. And replace some
      cryptic short local variable names with words.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8cdf7124
    • akling@apple.com's avatar
      Pass VM instead of JSGlobalObject to ArrayPrototype constructor. · 1a4cbada
      akling@apple.com authored
      <https://webkit.org/b/122079>
      
      Reviewed by Geoffrey Garen.
      
      ArrayPrototype doesn't need the global object for anything during
      construction, so reduce the amount of loads by just passing the VM.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a4cbada
    • akling@apple.com's avatar
      Pass VM instead of ExecState to simple builtin constructors. · b34659a8
      akling@apple.com authored
      <https://webkit.org/b/122077>
      
      Reviewed by Sam Weinig.
      
      None of the simple builtins need the ExecState for anything during
      their construction, so reduce the amount of loads by just passing
      the VM around instead.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b34659a8
    • pdr@google.com's avatar
      Repaint borders and outlines on pseudo content changes · ffe769be
      pdr@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122070
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      This patch fixes a regression from wkrev.com/150259 where pseudo content with
      borders or outlines would fail to repaint if the color property changed.
      The root bug is that border-color and outline-color properties use 'color' if
      no explicit border-color or outline-color are given, and changing color should
      repaint borders and outlines even if the text content is empty.
      
      Relevant spec sections:
      border: http://www.w3.org/TR/CSS1/#border-color
      outline: http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color
      
      This patch also renames StyleDifferenceRepaintIfText to
      StyleDifferenceRepaintIfTextOrBorderOrOutline and updates the relevant functions.
      
      Test: fast/repaint/hover-pseudo-borders.html
      
      * rendering/RenderElement.cpp:
      (WebCore::RenderElement::hasImmediateNonWhitespaceTextChildOrBorderOrOutline):
      
          This function has been renamed to reflect that it returns true for borders
          or outlines as well.
      
      (WebCore::RenderElement::shouldRepaintForStyleDifference):
      * rendering/RenderElement.h:
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
      (WebCore::RenderStyle::diff):
      * rendering/style/RenderStyle.h:
      * rendering/style/RenderStyleConstants.h:
      * rendering/svg/SVGResourcesCache.cpp:
      (WebCore::SVGResourcesCache::clientStyleChanged):
          These have also been renamed to reflect the new borders and outlines check.
      
      LayoutTests:
      
      * fast/repaint/hover-pseudo-borders.html: Added.
      * platform/mac/fast/repaint/hover-pseudo-borders-expected.png: Added.
      * platform/mac/fast/repaint/hover-pseudo-borders-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffe769be
    • antti@apple.com's avatar
      Tighten typing in inline rendering · 3ab7ef3a
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122076
      
      Reviewed by Andreas Kling.
              
      More RenderElement, const, &, etc.
      
      * dom/Position.cpp:
      (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
      * rendering/InlineFlowBox.cpp:
      (WebCore::isLastChildForRenderer):
      (WebCore::isAncestorAndWithinBlock):
      (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
      (WebCore::InlineFlowBox::nodeAtPoint):
      * rendering/InlineIterator.h:
      (WebCore::InlineIterator::InlineIterator):
      (WebCore::InlineIterator::root):
      (WebCore::isEmptyInline):
      (WebCore::bidiNextShared):
      (WebCore::bidiNextSkippingEmptyInlines):
      (WebCore::bidiNextIncludingEmptyInlines):
      (WebCore::bidiFirstSkippingEmptyInlines):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::inlineLogicalWidth):
      (WebCore::alwaysRequiresLineBox):
      (WebCore::requiresLineBox):
      (WebCore::canBreakAtThisPosition):
      (WebCore::LineBreaker::nextSegmentBreak):
      * rendering/shapes/ShapeInsideInfo.h:
      (WebCore::LineSegmentIterator::LineSegmentIterator):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ab7ef3a
    • commit-queue@webkit.org's avatar
      Refactor code for finding x86 scratch register. · f73a79e3
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122072
      
      Patch by Nadav Rotem <nrotem@apple.com> on 2013-09-29
      Reviewed by Geoffrey Garen.
      
      * assembler/MacroAssemblerX86Common.h:
      (JSC::MacroAssemblerX86Common::getUnusedRegister):
      (JSC::MacroAssemblerX86Common::store8):
      (JSC::MacroAssemblerX86Common::store16):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f73a79e3
    • zandobersek@gmail.com's avatar
      Unreviewed GTK gardening. Skip the IndexedDB tests for now as the feature is going · f6e218be
      zandobersek@gmail.com authored
      through substantial changes that don't ensure constant proper functionality.
      
      * platform/gtk-wk2/TestExpectations:
      * platform/gtk/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f6e218be
    • weinig@apple.com's avatar
      Merge ScriptControllerBase into ScriptController · 4dd19042
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122071
      
      Reviewed by Antti Koivisto.
      
      There is no need for ScriptControllerBase. Remove it.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/ScriptControllerBase.cpp: Removed.
      * bindings/ScriptControllerBase.h: Removed.
      * bindings/js/ScriptController.cpp:
      (WebCore::ScriptController::canExecuteScripts):
      (WebCore::ScriptController::executeScript):
      (WebCore::ScriptController::executeIfJavaScriptURL):
      * bindings/js/ScriptController.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4dd19042
  2. 28 Sep, 2013 19 commits
    • zandobersek@gmail.com's avatar
      Unreviewed build fix after r156613 for ports enabling CSS3_TEXT. · 81787310
      zandobersek@gmail.com authored
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::requiresIndent): Use the RenderStyle reference.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81787310
    • antti@apple.com's avatar
      Switch inline boxes to use const RenderStyle& · 78e56776
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122068
      
      Reviewed by Sam Weinig.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78e56776
    • antti@apple.com's avatar
      Add first()/last() to ElementIteratorAdapters · 1cff4b46
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122067
      
      Reviewed by Darin Adler.
      
      Add a convenient way for getting the first and last element if it exists.
              
      Use it in some places.
      
      * accessibility/AccessibilityNodeObject.cpp:
      (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
      * css/CSSFontFaceSource.cpp:
      (WebCore::CSSFontFaceSource::getFontData):
      * dom/Document.cpp:
      (WebCore::Document::childrenChanged):
      (WebCore::Document::removeTitle):
      * dom/ElementChildIterator.h:
      (WebCore::::first):
      (WebCore::::last):
      * dom/ElementDescendantIterator.h:
      (WebCore::::first):
      (WebCore::::last):
      * html/HTMLFieldSetElement.cpp:
      (WebCore::HTMLFieldSetElement::legend):
      * html/HTMLLegendElement.cpp:
      (WebCore::HTMLLegendElement::associatedControl):
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::finishParsingChildren):
      (WebCore::HTMLMediaElement::selectMediaResource):
      * svg/SVGElement.cpp:
      (WebCore::SVGElement::title):
      * svg/SVGFontFaceElement.cpp:
      (WebCore::SVGFontFaceElement::rebuildFontFace):
      * svg/graphics/SVGImage.cpp:
      (WebCore::SVGImage::hasSingleSecurityOrigin):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1cff4b46
    • mrowe@apple.com's avatar
      Fix some failures with newer versions of clang. · a75e9229
      mrowe@apple.com authored
      Some CoreGraphics headers generate warnings under newer versions of clang. Since they're system headers the warnings would
      usually be suppressed, but we're adding the frameworks to the non-system framework search path so they're no longer treated
      as system headers. We address this by removing the system paths from FRAMEWORK_SEARCH_PATHS and using the -iframework compiler
      flag in OTHER_CFLAGS to add the paths to the system framework search path. We have to set OTHER_CFLAGS at the target level
      in order for it to coexist with the ASAN-related OTHER_CFLAGS that's set in DebugRelease.xcconfig.
      
      Reviewed by Dan Bernstein.
      
      Source/WebCore:
      
      * Configurations/WebCore.xcconfig:
      
      Source/WebKit/mac:
      
      * Configurations/DebugRelease.xcconfig:
      * Configurations/WebKit.xcconfig:
      
      Source/WebKit2:
      
      * Configurations/BaseTarget.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      
      Tools:
      
      * DumpRenderTree/mac/Configurations/Base.xcconfig:
      * DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: A new .xcconfig file that's included by all target-specific .xcconfig files.
      * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
      * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
      * DumpRenderTree/mac/Configurations/ImageDiff.xcconfig:
      * DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig:
      * WebKitTestRunner/Configurations/Base.xcconfig:
      * WebKitTestRunner/Configurations/BaseTarget.xcconfig: A new .xcconfig file that's included by all target-specific .xcconfig files.
      * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
      * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
      * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a75e9229
    • mrowe@apple.com's avatar
      Take Xcode's advice and enable some extra warnings. · c11deac3
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      Source/JavaScriptCore:
      
      * Configurations/Base.xcconfig:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      
      Source/WebCore:
      
      * Configurations/Base.xcconfig:
      * WebCore.xcodeproj/project.pbxproj:
      * dom/NamedNodeMap.cpp:
      (WebCore::NamedNodeMap::removeNamedItemNS): Use the correct constant.
      
      Source/WebKit:
      
      * WebKit.xcodeproj/project.pbxproj:
      
      Source/WebKit/mac:
      
      * Configurations/Base.xcconfig:
      
      Source/WebKit2:
      
      * Configurations/Base.xcconfig:
      * WebKit2.xcodeproj/project.pbxproj:
      
      Source/WTF:
      
      * Configurations/Base.xcconfig:
      * WTF.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c11deac3
    • weinig@apple.com's avatar
      CTTE: VisitedLinkState should hold a Document& · 9ec60814
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122066
      
      Reviewed by Antti Koivisto.
      
      The Document can never be null, so use a reference.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ec60814
    • antti@apple.com's avatar
      Clean up code for getting first line style · b0608f67
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122037
      
      Reviewed by Andreas Kling.
      
      We have confusing RenderObject::style(bool firstLine). Get rid of it in favour of 
      just using RenderObject::firstLineStyle() where appropriate.
              
      Also switch to RenderStyle references in many places and move first line style caching
      code down to RenderElement.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b0608f67
    • darin@apple.com's avatar
      Add Frame::mainFrame and Frame::isMainFrame · 0e83ab12
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122064
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      * WebCore.exp.in: Removed exports of FrameView::isMainFrameView and
      Page::frameIsMainFrame. Since the new isMainFrame function is inline, it
      does not need to be exported.
      
      * history/PageCache.cpp:
      (WebCore::PageCache::markPagesForFullStyleRecalc):
      (WebCore::PageCache::markPagesForDeviceScaleChanged):
      These two were the only functions I found that really wanted the equivalent
      of Page::frameIsMainFrame, so wrote it out here instead of using a function
      call.
      
      * inspector/InspectorAgent.cpp: Removed the unused isMainResourceLoader function.
      * inspector/InspectorAgent.h: Removed declarations of a few nonexistent or
      unused private member functions. Also removed the InjectedScriptForOriginMap
      typedef: It's mor readable to use the type directly
      
      * loader/FrameLoader.h: Removed isLoadingMainFrame. It's not better than
      calling frame().isMainFrame() directly.
      
      * page/Frame.cpp:
      (WebCore::Frame::Frame): Initialize m_mainFrame and call selfOnlyRef, keeping
      the MainFrame alive as long as any of its subframes is alive.
      (WebCore::Frame::~Frame): Call selfOnlyDeref.
      (WebCore::Frame::createView): Use isMainFrame.
      (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
      
      * page/Frame.h: Added Frame::mainFrame, Frame::isMainFrame, and Frame::m_mainFrame.
      
      * page/FrameView.h: Removed the isMainFrameView function. It's not better than
      calling frame().isMainFrame() directly.
      
      * page/MainFrame.cpp:
      (WebCore::MainFrame::MainFrame): Initialize m_selfOnlyRefCount to 0.
      (WebCore::MainFrame::selfOnlyRef): Added.
      (WebCore::MainFrame::selfOnlyDeref): Added.
      (WebCore::MainFrame::dropChildren): Added. Called when the self-only reference
      count reaches 0 to avoid a reference cycle with subframes.
      
      * page/MainFrame.h: Added new data members as mentioned above. Also, the
      definition of the Frame::isMainFrame inline function goes here, since it can't
      compile without the MainFrame class definition. This means that callers of
      isMainFrame need to include MainFrame.h, which seems reasonable and is easy
      to do.
      
      * page/Page.cpp:
      * page/Page.h: Added assertion to Page::mainFrame since it returns a reference.
      Removed Page::frameIsMainFrame since it's not better than calling isMainFrame
      on the frame.
      
      * dom/Document.cpp:
      (WebCore::Document::setVisualUpdatesAllowed):
      (WebCore::Document::didBecomeCurrentDocumentInFrame):
      (WebCore::Document::updateViewportArguments):
      (WebCore::Document::setInPageCache):
      (WebCore::Document::ensurePlugInsInjectedScript):
      * history/CachedFrame.cpp:
      (WebCore::CachedFrame::CachedFrame):
      * history/CachedPage.cpp:
      (WebCore::CachedPage::restore):
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
      * html/ImageDocument.cpp:
      (WebCore::ImageDocument::shouldShrinkToFit):
      * inspector/InspectorController.cpp:
      (WebCore::InspectorController::didClearWindowObjectInWorld):
      * inspector/InspectorInstrumentation.cpp:
      (WebCore::InspectorInstrumentation::didCommitLoadImpl):
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
      (WebCore::InspectorPageAgent::frameNavigated):
      * loader/DocumentLoader.cpp:
      (WebCore::DocumentLoader::willSendRequest):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::transitionToCommitted):
      (WebCore::FrameLoader::prepareForCachedPageRestore):
      (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
      (WebCore::FrameLoader::didLayout):
      (WebCore::FrameLoader::checkLoadComplete):
      (WebCore::FrameLoader::addExtraFieldsToRequest):
      (WebCore::FrameLoader::loadResourceSynchronously):
      (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
      (WebCore::FrameLoader::dispatchDidCommitLoad):
      (WebCore::FrameLoader::loadProgressingStatusChanged):
      * loader/HistoryController.cpp:
      (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
      (WebCore::HistoryController::restoreScrollPositionAndViewState):
      (WebCore::HistoryController::updateForCommit):
      (WebCore::HistoryController::updateForSameDocumentNavigation):
      (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
      (WebCore::HistoryController::pushState):
      * loader/icon/IconController.cpp:
      (WebCore::IconController::startLoader):
      * page/AutoscrollController.cpp:
      (WebCore::AutoscrollController::stopAutoscrollTimer):
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::populate):
      * page/DOMWindow.cpp:
      (WebCore::allowsBeforeUnloadListeners):
      (WebCore::DOMWindow::focus):
      (WebCore::DOMWindow::blur):
      (WebCore::DOMWindow::close):
      (WebCore::DOMWindow::allowedToChangeWindowGeometry):
      * page/EventHandler.cpp:
      (WebCore::EventHandler::hitTestResultAtPoint):
      (WebCore::EventHandler::selectCursor):
      (WebCore::EventHandler::handleMousePressEvent):
      (WebCore::EventHandler::keyEvent):
      * page/FrameTree.cpp:
      (WebCore::FrameTree::find):
      (WebCore::FrameTree::traverseNextWithWrap):
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::setFrameRect):
      (WebCore::FrameView::createScrollbar):
      (WebCore::FrameView::applyOverflowToViewport):
      (WebCore::FrameView::setHeaderHeight):
      (WebCore::FrameView::setFooterHeight):
      (WebCore::FrameView::minimumScrollPosition):
      (WebCore::FrameView::maximumScrollPosition):
      (WebCore::FrameView::shouldUpdateFixedElementsAfterScrolling):
      (WebCore::FrameView::beginDeferredRepaints):
      (WebCore::FrameView::endDeferredRepaints):
      (WebCore::FrameView::performPostLayoutTasks):
      (WebCore::FrameView::sendResizeEventIfNeeded):
      (WebCore::FrameView::pagination):
      (WebCore::FrameView::visibleContentScaleFactor):
      (WebCore::FrameView::setVisibleScrollerThumbRect):
      (WebCore::FrameView::scrollbarStyleChanged):
      (WebCore::FrameView::paintScrollCorner):
      (WebCore::FrameView::paintScrollbar):
      (WebCore::FrameView::paintOverhangAreas):
      * page/scrolling/ScrollingCoordinator.cpp:
      (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::RenderLayerBacking):
      Use the new functions where possible instead of Page::frameIsMainFrame,
      Page::mainFrame, FrameLoader::isLoadingMainFrame, and FrameView::isMainFrameView.
      
      Source/WebKit/blackberry:
      
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
      Call isMainFrame.
      
      Source/WebKit/efl:
      
      * WebCoreSupport/FrameLoaderClientEfl.cpp:
      (WebCore::FrameLoaderClientEfl::dispatchWillSendRequest):
      (WebCore::FrameLoaderClientEfl::assignIdentifierToInitialRequest):
      (WebCore::FrameLoaderClientEfl::updateGlobalHistory):
      Call isMainFrame.
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/FrameLoaderClientGtk.cpp:
      (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
      Call isMainFrame.
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::canHandleRequest):
      (WebFrameLoaderClient::transitionToCommittedForNewPage):
      * WebView/WebFrameView.mm:
      (-[WebFrameView _install]):
      Call isMainFrame.
      
      Source/WebKit2:
      
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrameView):
      Call isMainFrame.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e83ab12
    • commit-queue@webkit.org's avatar
      filter: drop-shadow doesnot support viewport units · 786d0398
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122053
      
      Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-09-28
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      drop-shadow properties were not applied incase its values
      were given in vh, vw, vmax, vmin units.
      
      Tests: fast/css/drop-shadow-viewport-height.html
             fast/css/drop-shadow-viewport-vmax.html
             fast/css/drop-shadow-viewport-vmin.html
             fast/css/drop-shadow-viewport-width.html
      
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::createFilterOperations):
      Calculating the drop-shadow values which has been specified in viewport
      units.The vh/vw units are calcultated as percent of viewport height and
      viewport width respectively. 1vmax: 1vw or 1vh, whatever is largest.
      1vmin: 1vw or 1vh, whatever is smallest.
      
      LayoutTests:
      
      * fast/css/drop-shadow-viewport-height-expected-mismatch.html: Added.
      * fast/css/drop-shadow-viewport-height.html: Added.
      * fast/css/drop-shadow-viewport-vmax-expected-mismatch.html: Added.
      * fast/css/drop-shadow-viewport-vmax.html: Added.
      * fast/css/drop-shadow-viewport-vmin-expected-mismatch.html: Added.
      * fast/css/drop-shadow-viewport-vmin.html: Added.
      * fast/css/drop-shadow-viewport-width-expected-mismatch.html: Added.
      * fast/css/drop-shadow-viewport-width.html: Added.
      Added new tests for verifying that drop-shadow properties are applied
      when its values are viewport units.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      786d0398
    • commit-queue@webkit.org's avatar
      REGRESSION (r154614): Setting the document scroll position isn't symmetric;... · 2c0b0d6b
      commit-queue@webkit.org authored
      REGRESSION (r154614): Setting the document scroll position isn't symmetric; can successfully set document.body.scrollTop, but can only read from document.documentElement.scrollTop
      https://bugs.webkit.org/show_bug.cgi?id=121876
      
      Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-09-28
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Non-Quirks mode should set/get scrolltop/scrollleft through
      document.documentElement.scrollTop/document.documentElement.scrollLeft
      Quirks mode should set/get scrolltop/scrollleft through
      document.body.scrollTop/document.body.scrollLeft.
      
      Tests: fast/dom/Element/body-scrollLeft-Quirks.html
             fast/dom/Element/body-scrollLeft.html
             fast/dom/Element/body-scrollTop-Quirks.html
             fast/dom/Element/body-scrollTop.html
             fast/dom/Element/documentElement-scrollLeft-Quirks.html
             fast/dom/Element/documentElement-scrollLeft.html
             fast/dom/Element/documentElement-scrollTop-Quirks.html
             fast/dom/Element/documentElement-scrollTop.html
      
      * dom/Element.cpp:
      (WebCore::Element::setScrollLeft):
      (WebCore::Element::setScrollTop):
      * html/HTMLBodyElement.cpp:
      (WebCore::HTMLBodyElement::setScrollLeft):
      (WebCore::HTMLBodyElement::setScrollTop):
      Need to set the scrollTop and scrollLeft after checking if document
      is in quirks or non-quirks mode. Incase it is body.scrollLeft/
      body.scrollTop set only if document is in quirks mode. If document is
      non-quirks mode set documentElement.scrollLeft/documentElement.scrollTop.
      
      LayoutTests:
      
      * fast/dom/Element/body-scrollLeft-Quirks-expected.txt: Added.
      * fast/dom/Element/body-scrollLeft-Quirks.html: Added.
      * fast/dom/Element/body-scrollLeft-expected.txt: Added.
      * fast/dom/Element/body-scrollLeft.html: Added.
      * fast/dom/Element/body-scrollTop-Quirks-expected.txt: Added.
      * fast/dom/Element/body-scrollTop-Quirks.html: Added.
      * fast/dom/Element/body-scrollTop-expected.txt: Added.
      * fast/dom/Element/body-scrollTop.html: Added.
      * fast/dom/Element/documentElement-scrollLeft-Quirks-expected.txt: Added.
      * fast/dom/Element/documentElement-scrollLeft-Quirks.html: Added.
      * fast/dom/Element/documentElement-scrollLeft-expected.txt: Added.
      * fast/dom/Element/documentElement-scrollLeft.html: Added.
      * fast/dom/Element/documentElement-scrollTop-Quirks-expected.txt: Added.
      * fast/dom/Element/documentElement-scrollTop-Quirks.html: Added.
      * fast/dom/Element/documentElement-scrollTop-expected.txt: Added.
      * fast/dom/Element/documentElement-scrollTop.html: Added.
      Added test cases for verifying that Non-Quirks mode should set
      scrolltop/scrollleft through document.documentElement.scrollTop/
      document.documentElement.scrollLeft and Quirks mode should set/get
      scrolltop/scrollleft through document.body.scrollTop/document.body.scrollLeft.
      
      * fast/multicol/scrolling-overflow.html:
      Rebaselining existing tests as per the new behavior. To set
      document.body.scrollLeft document to be in Quirks mode.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c0b0d6b
    • andersca@apple.com's avatar
      Message sending functions should only accept rvalues · d87d9354
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122041
      
      Reviewed by Andreas Kling.
      
      In order to safely encode move-only types, make all send variants accept rvalues only, except
      for the "send to all processes" ones. For them, copy the message before sending. This ensures that trying
      to send a move-only type in a message will fail to compile.
      
      * NetworkProcess/NetworkResourceLoader.h:
      (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
      * Platform/CoreIPC/Connection.h:
      (CoreIPC::Connection::send):
      (CoreIPC::Connection::sendSync):
      * Platform/CoreIPC/MessageSender.h:
      (CoreIPC::MessageSender::sendSync):
      * Shared/ChildProcessProxy.h:
      (WebKit::ChildProcessProxy::send):
      (WebKit::ChildProcessProxy::sendSync):
      * UIProcess/WebContext.h:
      (WebKit::WebContext::sendToNetworkingProcess):
      (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary):
      (WebKit::WebContext::sendToAllProcesses):
      (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
      (WebKit::WebContext::sendToOneProcess):
      * UIProcess/WebPageGroup.h:
      (WebKit::WebPageGroup::sendToAllProcessesInGroup):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d87d9354
    • philn@webkit.org's avatar
      Unreviewed GTK build fix after r156560. · a8d0b378
      philn@webkit.org authored
      Source/WebKit/gtk:
      
      * WebCoreSupport/AcceleratedCompositingContext.h:
      
      Source/WebKit2:
      
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
      (WebKit::LayerTreeHostGtk::paintContents):
      (WebKit::LayerTreeHostGtk::createPageOverlayLayer):
      (WebKit::LayerTreeHostGtk::destroyPageOverlayLayer):
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8d0b378
    • akling@apple.com's avatar
      Pass VM instead of ExecState to JSFunction constructors. · 20d6f9c1
      akling@apple.com authored
      <https://webkit.org/b/122014>
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      JSFunction doesn't need the ExecState for anything during its
      construction, so reduce the amount of loads by just passing the
      VM around instead.
      
      Factored out putDirectNonIndexAccessor() from the existing
      putDirectAccessor() to avoid snowballing the patch (and because
      it's kinda neat to avoid the extra branch.)
      
      JSC release binary size -= 9680 bytes.
      
      Source/WebCore:
      
      Updated for new JSFunction::create() signature.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20d6f9c1
    • gyuyoung.kim@samsung.com's avatar
      Generate toCSSFooValue() for CSSImageValue · d0c71466
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122051
      
      Reviewed by Andreas Kling.
      
      Clean up static_cast<CSSImageValue*> type casts. It will help to
      detect bad cast as well as improve code readability.
      
      Removed unnecessary local variables as well.
      
      No new tests, no behavior changes.
      
      * css/CSSCrossfadeValue.cpp:
      (WebCore::subimageKnownToBeOpaque):
      * css/CSSCursorImageValue.cpp:
      (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
      (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
      (WebCore::CSSCursorImageValue::cachedImage):
      (WebCore::CSSCursorImageValue::isSVGCursor):
      * css/CSSImageGeneratorValue.cpp:
      (WebCore::CSSImageGeneratorValue::subimageIsPending):
      (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
      * css/CSSImageSetValue.cpp:
      (WebCore::CSSImageSetValue::fillImageSet):
      * css/CSSImageValue.h:
      * css/CSSValue.cpp:
      (WebCore::CSSValue::destroy):
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::applyProperty):
      (WebCore::StyleResolver::styleImage):
      * page/PageSerializer.cpp:
      (WebCore::PageSerializer::retrieveResourcesForProperties):
      * rendering/style/StylePendingImage.h:
      (WebCore::StylePendingImage::data):
      (WebCore::StylePendingImage::cssImageValue):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0c71466
    • mrowe@apple.com's avatar
      WebCore fails to build with newer versions of clang. · 00e249e3
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      * Modules/indexeddb/IDBIndex.cpp: Remove an unused constant.
      * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
      * Modules/webaudio/AudioContext.cpp: Ditto.
      * Modules/webaudio/ScriptProcessorNode.cpp: Ditto.
      * Modules/webdatabase/SQLResultSet.cpp: Ditto.
      * Modules/webdatabase/SQLTransactionBackend.cpp: Ditto.
      * Modules/websockets/WebSocketHandshake.cpp: Ditto.
      * bindings/objc/DOM.mm: Disable a warning about overriding a protocol method in a cateogry around the one
      place we do it. I don't understand why this generates a warning, nor can I see a different approach that
      would not result in the warning being emitted.
      * css/CSSGrammar.y.in: #if a function that's only used inside an #if.
      * html/track/TextTrackCue.cpp: Remove an unused constant.
      * loader/TextResourceDecoder.cpp: Remove two unused functions.
      * page/ContentSecurityPolicy.cpp: Add #if's around constants and functions that are only used when CSP_NEXT is enabled.
      (WebCore::CSPDirectiveList::checkSourceAndReportViolation): Reorder the ifs slightly to make the #if'ing easier.
      * page/ContentSecurityPolicy.h: Add #if's around functions that are only used when CSP_NEXT is enabled.
      * page/DOMSecurityPolicy.cpp: Ditto.
      * page/DOMSecurityPolicy.h: Ditto.
      * page/animation/CSSPropertyAnimation.cpp: Remove an unused function.
      * platform/mac/DisplaySleepDisabler.cpp: Add an #if around a constant that's only used on iOS.
      * platform/mac/WebCoreFullScreenWarningView.mm: Remove three unused constants.
      * rendering/RenderLayer.cpp: Remove two unused constants.
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::compositingLogEnabled): Move the #if around the function definition.
      * svg/SVGAnimatedAngle.cpp: Remove an unused function.
      * svg/SVGUseElement.cpp: #if a function that's only used inside an ASSERT.
      * xml/XPathStep.cpp: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      00e249e3
    • mrowe@apple.com's avatar
      WebKit fails to build with newer versions of clang. · 71c9e4d0
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      * Carbon/HIWebView.mm: Remove an unused function.
      * History/BinaryPropertyList.cpp: #if a constant that's only used in 64-bit.
      * Misc/WebIconDatabase.mm: Remove two unused constants.
      * Plugins/WebBaseNetscapePluginView.mm: Remove an unused constant.
      * WebCoreSupport/WebEditorClient.mm: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71c9e4d0
    • mrowe@apple.com's avatar
      WebKit2 fails to build with newer versions of clang. · f81ab24c
      mrowe@apple.com authored
      Reviewed by Anders Carlsson.
      
      * Shared/VisitedLinkTable.cpp: #if a function that's only used inside an ASSERT.
      * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Remove an unused constant.
      * UIProcess/mac/WKFullScreenWindowController.mm: Ditto.
      * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Ditto.
      * WebProcess/WebPage/FindController.cpp: Ditto.
      * WebProcess/WebPage/WebBackForwardListProxy.cpp: Remove two unused constants.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f81ab24c
    • mrowe@apple.com's avatar
      JavaScriptCore fails to build with newer versions of clang. · aae57e37
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      * interpreter/Interpreter.cpp: Remove an unused function.
      * parser/SourceProvider.cpp: Ditto.
      * runtime/GCActivityCallback.cpp: #if a constant that's only used on non-CF platforms.
      * runtime/JSCJSValue.cpp: Remove an unused constant.
      * runtime/JSString.cpp: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aae57e37
    • mrowe@apple.com's avatar
      <rdar://problem/15079224> WTF fails to build with newer versions of clang. · 1524ed50
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      * wtf/DateMath.cpp: Remove some unused constants.
      * wtf/FastMalloc.cpp: #if some constants and functions that are unused in some configurations.
      Remove a function that's unused on all platforms.
      * wtf/TCSystemAlloc.cpp: Remove some unused constants.
      (TCMalloc_SystemRelease): Remove an if whose body is never executed.
      * wtf/dtoa.cpp: #if things such that storeInc is only defined when USE_LONG_LONG is undefined.
      Remove an unused constant.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1524ed50
  3. 27 Sep, 2013 11 commits
    • ap@apple.com's avatar
      Restore accidentally removed ChangeLog lines. · 14deeab8
      ap@apple.com authored
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14deeab8
    • fpizlo@apple.com's avatar
      Get rid of SetMyScope/SetCallee; use normal variables for the scope and callee... · 48cdafdc
      fpizlo@apple.com authored
      Get rid of SetMyScope/SetCallee; use normal variables for the scope and callee of inlined call frames of closures
      https://bugs.webkit.org/show_bug.cgi?id=122047
      
      Reviewed by Oliver Hunt.
              
      Currently we have the DFG reserve space for inline call frames at exactly the same stack
      offsets that you would have gotten if the baseline interpreter/JIT had made the calls.
      We need to get rid of that. One of the weirder parts of this is that we have special DFG
      operations for accessing these inlined call frame headers. It's really hard for any
      analysis of DFG IR to see what the liveness of any of those frame header "variables" is;
      the liveness behaves like flushed arguments (it's all live until end of the inlinee) but
      we don't have anything like a Flush node for those special variables.
              
      This patch gets rid of the special operations for accessing inline call frame headers.
      GetMyScope and GetCallee still remain, and are only for accessing the machine call
      frame's scope/callee entries. The inline call frame's scope/callee now behave like
      normal variables, and have Flush behavior just like inline arguments.
      
      * dfg/DFGAbstractInterpreterInlines.h:
      (JSC::DFG::::executeEffects):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::getDirect):
      (JSC::DFG::ByteCodeParser::get):
      (JSC::DFG::ByteCodeParser::setDirect):
      (JSC::DFG::ByteCodeParser::set):
      (JSC::DFG::ByteCodeParser::setLocal):
      (JSC::DFG::ByteCodeParser::setArgument):
      (JSC::DFG::ByteCodeParser::flush):
      (JSC::DFG::ByteCodeParser::InlineStackEntry::remapOperand):
      (JSC::DFG::ByteCodeParser::handleInlining):
      (JSC::DFG::ByteCodeParser::getScope):
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::getCalleeLoadElimination):
      (JSC::DFG::CSEPhase::getMyScopeLoadElimination):
      (JSC::DFG::CSEPhase::performNodeCSE):
      * dfg/DFGClobberize.h:
      (JSC::DFG::clobberize):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      * dfg/DFGNodeType.h:
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate):
      * dfg/DFGSafeToExecute.h:
      (JSC::DFG::safeToExecute):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48cdafdc
    • bjonesbe@adobe.com's avatar
      [CSS Shapes] New positioning model: Positive margins · 28bb0b6e
      bjonesbe@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118089
      
      Reviewed by Alexandru Chiculita.
      
      The remaining tests for shape-outside with positive margins. These
      have all been imported from the CSSWG's repo.
      
      * csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005-expected.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006-expected.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007-expected.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008-expected.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009-expected.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28bb0b6e
    • ap@apple.com's avatar
      Layout Test media/media-controller-playback.html is flaky · 105e399e
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122042
      
      * platform/mac/TestExpectations: Marked as such.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      105e399e
    • lforschler@apple.com's avatar
      Versioning. · 648f3a69
      lforschler@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      648f3a69
    • beidson@apple.com's avatar
      IndexedDB IDL Refactoring. · 77a081cf
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121996
      
      Reviewed by Alexey Proskuryakov.
      
      This includes:
      1 - Leveraging EventTarget.idl inheritance
      2 - Removing comments
      3 - Reordering to match the spec's IDLs
      4 - Removing nonstandard, WebKit-specific methods
      5 - Updating interfaces to match the spec (versions are only uint64_t's now...)
      6 - Updating implementation code as needed (versions are only uint64_t's now...)
      
      IDL changes:
      * Modules/indexeddb/IDBCursor.idl:
      * Modules/indexeddb/IDBDatabase.idl:
      * Modules/indexeddb/IDBFactory.idl:
      * Modules/indexeddb/IDBIndex.idl:
      * Modules/indexeddb/IDBKeyRange.idl:
      * Modules/indexeddb/IDBObjectStore.idl:
      * Modules/indexeddb/IDBRequest.idl:
      * Modules/indexeddb/IDBTransaction.idl:
      * Modules/indexeddb/IDBVersionChangeEvent.idl:
      
      * Modules/indexeddb/IndexedDB.h: Add new enum to represent version nullness.
      
      Adapt to new IDLs, and also refactor representation of initial, null versioning:
      * Modules/indexeddb/IDBCallbacks.h:
      (WebCore::IDBCallbacks::onBlocked):
      (WebCore::IDBCallbacks::onUpgradeNeeded):
      
      * Modules/indexeddb/IDBDatabase.cpp:
      (WebCore::IDBDatabase::version):
      (WebCore::IDBDatabase::onVersionChange):
      * Modules/indexeddb/IDBDatabase.h:
      
      * Modules/indexeddb/IDBDatabaseCallbacks.h:
      * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
      (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
      * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
      
      * Modules/indexeddb/IDBFactory.cpp:
      (WebCore::IDBFactory::open):
      (WebCore::IDBFactory::openInternal):
      (WebCore::IDBFactory::deleteDatabase):
      * Modules/indexeddb/IDBFactory.h:
      
      * Modules/indexeddb/IDBMetadata.h:
      (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
      
      * Modules/indexeddb/IDBOpenDBRequest.cpp:
      (WebCore::IDBOpenDBRequest::create):
      (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
      (WebCore::IDBOpenDBRequest::onBlocked):
      (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
      * Modules/indexeddb/IDBOpenDBRequest.h:
      
      * Modules/indexeddb/IDBRequest.cpp:
      * Modules/indexeddb/IDBRequest.h:
      
      * Modules/indexeddb/IDBTransaction.cpp:
      * Modules/indexeddb/IDBTransaction.h:
      
      * Modules/indexeddb/IDBVersionChangeEvent.cpp:
      (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
      * Modules/indexeddb/IDBVersionChangeEvent.h:
      (WebCore::IDBVersionChangeEvent::create):
      (WebCore::IDBVersionChangeEvent::oldVersion):
      (WebCore::IDBVersionChangeEvent::newVersion):
      
      Keep leveldb building with minimal adaptations to the new IDLs,
      but note that the LevelDB implementation is now incompatible with the spec:
      * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
      (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
      (WebCore::objectStoreCursorOptions):
      (WebCore::indexCursorOptions):
      
      * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
      (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
      (WebCore::IDBDatabaseBackendLevelDB::openInternal):
      (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::perform):
      (WebCore::IDBDatabaseBackendLevelDB::processPendingCalls):
      (WebCore::IDBDatabaseBackendLevelDB::openConnection):
      (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
      (WebCore::IDBDatabaseBackendLevelDB::deleteDatabase):
      (WebCore::IDBDatabaseBackendLevelDB::deleteDatabaseFinal):
      (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::perform):
      
      * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
      (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
      
      * inspector/InspectorIndexedDBAgent.cpp: Update for metadata change.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77a081cf
    • ossy@webkit.org's avatar
      CookieStorageShim should be PLATFORM(MAC) guarded · 4e3438e4
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121423
      
      Reviewed by Darin Adler.
      
      Original patch by Kwang Yul Seo <skyul@company100.com>.
      
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::initializeWebProcess):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e3438e4
    • enrica@apple.com's avatar
      Upstream changes to Pasteboard implementation for iOS. · 38848efa
      enrica@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121818
      
      Reviewed by Benjamin Poulain.
      
      Source/WebCore: 
      
      * WebCore.exp.in:
      * editing/Editor.cpp:
      (WebCore::Editor::dispatchCPPEvent):
      * editing/ios/EditorIOS.mm:
      (WebCore::Editor::WebContentReader::addFragment):
      (WebCore::Editor::WebContentReader::readWebArchive):
      (WebCore::Editor::WebContentReader::readFilenames):
      (WebCore::Editor::WebContentReader::readHTML):
      (WebCore::Editor::WebContentReader::readRTFD):
      (WebCore::Editor::WebContentReader::readRTF):
      (WebCore::uniqueURLWithRelativePart):
      (WebCore::Editor::WebContentReader::readImage):
      (WebCore::Editor::WebContentReader::readURL):
      (WebCore::Editor::WebContentReader::readPlainText):
      (WebCore::Editor::webContentFromPasteboard):
      (WebCore::Editor::pasteWithPasteboard):
      (WebCore::Editor::createFragmentAndAddResources):
      (WebCore::Editor::createFragmentForImageResourceAndAddResource):
      * platform/Pasteboard.h:
      * platform/PasteboardStrategy.h:
      * platform/PlatformPasteboard.h:
      * platform/ios/PasteboardIOS.mm:
      (WebCore::PasteboardWebContent::PasteboardWebContent):
      (WebCore::PasteboardWebContent::~PasteboardWebContent):
      (WebCore::PasteboardImage::PasteboardImage):
      (WebCore::PasteboardImage::~PasteboardImage):
      (WebCore::Pasteboard::Pasteboard):
      (WebCore::Pasteboard::clear):
      (WebCore::Pasteboard::readString):
      (WebCore::Pasteboard::writeString):
      (WebCore::Pasteboard::types):
      * platform/ios/PlatformPasteboardIOS.mm:
      (WebCore::PlatformPasteboard::changeCount):
      (WebCore::PlatformPasteboard::write):
      (WebCore::PlatformPasteboard::count):
      (WebCore::PlatformPasteboard::readBuffer):
      (WebCore::PlatformPasteboard::readString):
      (WebCore::PlatformPasteboard::readURL):
      * platform/mac/PasteboardMac.mm:
      (WebCore::PasteboardWebContent::PasteboardWebContent):
      (WebCore::PasteboardWebContent::~PasteboardWebContent):
      (WebCore::PasteboardImage::PasteboardImage):
      (WebCore::PasteboardImage::~PasteboardImage):
      * platform/mac/PlatformPasteboardMac.mm:
      
      Source/WebKit/mac: 
      
      * WebCoreSupport/WebPlatformStrategies.h:
      * WebCoreSupport/WebPlatformStrategies.mm:
      (WebPlatformStrategies::writeToPasteboard):
      (WebPlatformStrategies::getPasteboardItemsCount):
      (WebPlatformStrategies::readBufferFromPasteboard):
      (WebPlatformStrategies::readURLFromPasteboard):
      (WebPlatformStrategies::readStringFromPasteboard):
      (WebPlatformStrategies::changeCount):
      
      Source/WebKit2: 
      
      * Shared/WebCoreArgumentCoders.cpp:
      (CoreIPC::decodeSharedBuffer):
      * Shared/WebCoreArgumentCoders.h:
      * UIProcess/WebContext.h:
      * UIProcess/WebContext.messages.in:
      * UIProcess/mac/WebContextMac.mm:
      (WebKit::WebContext::writeWebContentToPasteboard):
      (WebKit::WebContext::writeImageToPasteboard):
      (WebKit::WebContext::writeStringToPasteboard):
      (WebKit::WebContext::readStringFromPasteboard):
      (WebKit::WebContext::readURLFromPasteboard):
      (WebKit::WebContext::readBufferFromPasteboard):
      (WebKit::WebContext::getPasteboardItemsCount):
      * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
      (WebKit::WebPlatformStrategies::writeToPasteboard):
      (WebKit::WebPlatformStrategies::getPasteboardItemsCount):
      (WebKit::WebPlatformStrategies::readBufferFromPasteboard):
      (WebKit::WebPlatformStrategies::readURLFromPasteboard):
      (WebKit::WebPlatformStrategies::readStringFromPasteboard):
      (WebKit::WebPlatformStrategies::changeCount):
      * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      38848efa
    • roger_fong@apple.com's avatar
      [Windows] Unreviewed build fix following r156560. · 19e5534f
      roger_fong@apple.com authored
      * WebView.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19e5534f
    • hmuller@adobe.com's avatar
      Crash on shape-outside when using calc() · df9b2640
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121020
      
      Reviewed by Dirk Schulze.
      
      Source/WebCore:
      
      This change prevents a crash caused by specifying a CSS Shape geometry
      Length attribute with a calc() expression. It adds support for converting
      Lengths to CSSPrimitive Values, in large part by migrating Blink changes
      made to the calc classes since the split. Doing so required a few supporting
      changes in some related classes, notably CSSPrimitiveValue.
      
      Tests: fast/shapes/shape-inside/shape-inside-calc-crash.html
             css3/calc/simplification.html
      
      * css/BasicShapeFunctions.cpp:
      (WebCore::convertToCSSPrimitiveValue): Effectively use the new CSSPrimtiveValue(length,style) constructor to convert Lengths to CSSValues.
      (WebCore::valueForBasicShape): Use the convertToCSSPrimitiveValue() function.
      (WebCore::convertToLength): Added the CalculatedConversion convertToLength() flag to enable support for calc() valued Length Shape attributes.
      * css/BasicShapeFunctions.h:
      * css/CSSCalculationValue.cpp:
      (WebCore::hasDoubleValue):
      (WebCore::buildCssText):
      (WebCore::CSSCalcValue::clampToPermittedRange):
      (WebCore::CSSCalcValue::doubleValue):
      (WebCore::CSSCalcExpressionNode::~CSSCalcExpressionNode):
      (WebCore::CSSCalcPrimitiveValue::create):
      (WebCore::CSSCalcPrimitiveValue::toCalcValue):
      (WebCore::CSSCalcPrimitiveValue::doubleValue):
      (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
      (WebCore::CSSCalcPrimitiveValue::primitiveType):
      (WebCore::CSSCalcPrimitiveValue::CSSCalcPrimitiveValue):
      (WebCore::determineCategory):
      (WebCore::isIntegerResult):
      (WebCore::CSSCalcBinaryOperation::create):
      (WebCore::CSSCalcBinaryOperation::createSimplified):
      (WebCore::CSSCalcBinaryOperation::doubleValue):
      (WebCore::CSSCalcBinaryOperation::buildCssText):
      (WebCore::CSSCalcBinaryOperation::primitiveType):
      (WebCore::CSSCalcBinaryOperation::CSSCalcBinaryOperation):
      (WebCore::CSSCalcBinaryOperation::getNumberSide):
      (WebCore::CSSCalcBinaryOperation::evaluate):
      (WebCore::CSSCalcBinaryOperation::evaluateOperator):
      (WebCore::CSSCalcExpressionNodeParser::parseValue):
      (WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
      (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
      (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
      (WebCore::CSSCalcValue::createExpressionNode):
      (WebCore::CSSCalcValue::create):
      * css/CSSCalculationValue.h:
      (WebCore::CSSCalcExpressionNode::category):
      (WebCore::CSSCalcValue::create):
      (WebCore::CSSCalcValue::isInt):
      (WebCore::CSSCalcValue::permittedValueRange):
      (WebCore::CSSCalcValue::expressionNode):
      (WebCore::CSSCalcValue::CSSCalcValue):
      (WebCore::toCSSCalcValue):
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::ComputedStyleExtractor::propertyValue): Pass the style along to the new valueForBasicShape() function.
      * css/CSSPrimitiveValue.cpp:
      (WebCore::CSSPrimitiveValue::unitCategory): Made this function public so that CSSCalculationValue could use it.
      (WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor): Ditto.
      (WebCore::CSSPrimitiveValue::primitiveType): Cleared trailing whitespace.
      (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Construct a CSSPrimitiveValue from a Length and a RenderStyle*.
      (WebCore::CSSPrimitiveValue::init): The common part of the two Length CSSPrimitiveValue constructors.
      (WebCore::CSSPrimitiveValue::computeLengthDouble): Moved the case labels to the left per check-webkit-style.
      (WebCore::CSSPrimitiveValue::getStringValue): Ditto.
      (WebCore::CSSPrimitiveValue::getDoubleValue): Removed trailing whitespace.
      * css/CSSPrimitiveValue.h:
      (WebCore::CSSPrimitiveValue::create): Construct a CSSPrimitiveValue from a Length and a RenderStyle*.
      (WebCore::toCSSPrimitiveValue): Check the CSSValue*'s validity with ASSERT_WITH_SECURITY_IMPLICATION before casting to CSSPrimitiveValue*.
      * css/CSSValuePool.h:
      (WebCore::CSSValuePool::createValue): A new overload that delegates to the new CSSPrimitiveValue(length,style) constructor.
      * platform/CalculationValue.h:
      (WebCore::CalculationValue::operator==):
      (WebCore::CalculationValue::isNonNegative):
      (WebCore::CalculationValue::expression):
      (WebCore::CalcExpressionNumber::value):
      (WebCore::toCalcExpressionNumber):
      (WebCore::CalcExpressionLength::CalcExpressionLength):
      (WebCore::CalcExpressionLength::length):
      (WebCore::toCalcExpressionLength):
      (WebCore::CalcExpressionBinaryOperation::leftSide):
      (WebCore::CalcExpressionBinaryOperation::rightSide):
      (WebCore::CalcExpressionBinaryOperation::getOperator):
      (WebCore::toCalcExpressionBinaryOperation):
      (WebCore::CalcExpressionBlendLength::CalcExpressionBlendLength):
      (WebCore::CalcExpressionBlendLength::from):
      (WebCore::CalcExpressionBlendLength::to):
      (WebCore::CalcExpressionBlendLength::progress):
      (WebCore::toCalcExpressionBlendLength):
      
      LayoutTests:
      
      Specifying a CSS Shape geometry Length attribute with a calc() expression
      or looking up the value with getComputedStyle(), caused crashes.
      
      * fast/shapes/shape-inside/shape-inside-calc-crash-expected.txt: Added.
      * fast/shapes/shape-inside/shape-inside-calc-crash.html: Added.
      * css3/calc/simplification-expected.txt: Added
      * css3/calc/simplification.html: Added
      * LayoutTests/css3/calc/cssom-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df9b2640
    • ap@apple.com's avatar
      Layout Test animations/combo-transform-translate+scale.html is flaky · e7bd69fa
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122040
      
      * platform/mac/TestExpectations: Marking as such.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7bd69fa