1. 27 Jul, 2013 7 commits
    • ap@apple.com's avatar
      Make SuspendableTimer safer · a2e319e6
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119127
      
      Reviewed by Sam Weinig.
      
      SuspendableTimer now enforces that it stays suspended until resumed (or until stopped
      and started again). To ensure this, TimerBase is now a private base class, and parts of
      its interface that clients use are reimplemented with suspend/resume in mind.
      
      Derived classes are still allowed to override TimerBase virtual functions (notably
      fired() and alignedFireTime()).
      
      * dom/DocumentEventQueue.cpp:
      (WebCore::DocumentEventQueueTimer): Removed an extraneous WTF_MAKE_NONCOPYABLE,
      TimerBase has it already.
      (WebCore::DocumentEventQueueTimer::create): Use our normal create() pattern.
      (WebCore::DocumentEventQueue::DocumentEventQueue): Made the constructor private, accordingly.
      (WebCore::DocumentEventQueue::cancelEvent): Use SuspendableTimer::cancel(), which
      is a new name to disambiguate TimerBase::stop() and ActiveDOMObject::stop().
      (WebCore::DocumentEventQueue::close): Ditto.
      
      * page/DOMTimer.cpp:
      (WebCore::DOMTimer::fired): Now that SuspendableTimer knows whether it's currently
      suspended, assert that it's not.
      (WebCore::DOMTimer::didStop): Separated ActiveDOMObject::stop() implementation from
      additional cleanup, allowing for better SuspendableTimer encapsulation.
      
      * page/DOMTimer.h: Added FINAL and OVVERIDE specifiers as appropriate.
      
      * page/SuspendableTimer.h: Added FINAL (and OVERRIDE) qualifiers to ActiveDOMObject
      methods. A derived class that wants to override current behavior is most likely not
      a timer, and thus shouldn't be a derived class.
      (WebCore::SuspendableTimer::isActive): SuspendableTimer with a next fire time is
      active even if suspended, we shouldn't overwrite its saved data thinking that it's
      inactive.
      (WebCore::SuspendableTimer::isSuspended): Exposed to clients (m_suspended is no
      longer debug only).
      
      * page/SuspendableTimer.cpp:
      (WebCore::SuspendableTimer::SuspendableTimer): Updated for new variable names.
      (WebCore::SuspendableTimer::stop): This is ActiveDOMObject::stop(), which is called
      before final destruction. We don't track this state directly, but can approximate
      with setting m_suspended, so even if someone tries to start the timer afterwards,
      it won't fire.
      (WebCore::SuspendableTimer::suspend): Updated for new names.
      (WebCore::SuspendableTimer::resume): Ditto.
      (WebCore::SuspendableTimer::didStop): No-op default implementation for client hook.
      (WebCore::SuspendableTimer::cancel): Equivalent of TimerBase::stop(), which also
      works when suspended.
      (WebCore::SuspendableTimer::startRepeating): Replacement for TimerBase function with
      the same name, which works correctly when suspended. We don't want to actually start
      the timer in this case.
      (WebCore::SuspendableTimer::startOneShot): Ditto.
      (WebCore::SuspendableTimer::repeatInterval): Ditto.
      (WebCore::SuspendableTimer::augmentFireInterval): Ditto.
      (WebCore::SuspendableTimer::augmentRepeatInterval): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a2e319e6
    • cfleizach@apple.com's avatar
      AX: VoiceOver not working with data detection page overlays · 636fb120
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118680
      
      Reviewed by Sam Weinig.
      
      Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay.
      This requires two methods in a new callback struct. One to copy the attribute names, and the other to
      copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method
      with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the
      overlay at this time as there are no clients with such a need.
      
      * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
      (PageOverlayClientImpl::setAccessibilityClient):
      (PageOverlayClientImpl::PageOverlayClientImpl):
      (PageOverlayClientImpl::copyAccessibilityAttributeValue):
      (PageOverlayClientImpl::copyAccessibilityAttributeNames):
      (WKBundlePageOverlaySetAccessibilityClient):
      * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
      * WebProcess/WebPage/PageOverlay.cpp:
      (WebKit::PageOverlay::copyAccessibilityAttributeValue):
      (WebKit::PageOverlay::copyAccessibilityAttributeNames):
      * WebProcess/WebPage/PageOverlay.h:
      (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
      (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
      (WebKit::PageOverlay::client):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue):
      (WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames):
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
      (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
      (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
      (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      636fb120
    • mrowe@apple.com's avatar
      Fix builds against an SDK. · 7c80acae
      mrowe@apple.com authored
      * gtest/xcode/Config/FrameworkTarget.xcconfig: Ensure that gtest.framework is installed
      in a location compatible with the SDK generation process.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c80acae
    • simon.fraser@apple.com's avatar
      If entering fullscreen for a window fails, don't leave things in a bad state · 7b9a8328
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119179
      <rdar://problem/14517068>
      
      Reviewed by Sam Weinig.
      
      On Lion, attempting to take a video fullscreen when the Safari window is already
      fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen:
      
      When this happens we have to undo the work done when entering fullscreen, to
      avoid leaving things in a bad state.
      
      * UIProcess/mac/WKFullScreenWindowController.mm:
      (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153402 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b9a8328
    • weinig@apple.com's avatar
      Add assertions for CSSPrimitiveValue's m_value.valueID accessor · e3d20bcb
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119180
      
      Reviewed by Andreas Kling.
      
      * css/CSSPrimitiveValueMappings.h:
      (WebCore::CSSPrimitiveValue::operator CSSReflectionDirection):
      (WebCore::CSSPrimitiveValue::operator ColumnSpan):
      (WebCore::CSSPrimitiveValue::operator PrintColorAdjust):
      (WebCore::CSSPrimitiveValue::operator EBorderStyle):
      (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
      (WebCore::CSSPrimitiveValue::operator CompositeOperator):
      (WebCore::CSSPrimitiveValue::operator ControlPart):
      (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
      (WebCore::CSSPrimitiveValue::operator EFillAttachment):
      (WebCore::CSSPrimitiveValue::operator EFillBox):
      (WebCore::CSSPrimitiveValue::operator EFillRepeat):
      (WebCore::CSSPrimitiveValue::operator EBoxPack):
      (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
      (WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
      (WebCore::CSSPrimitiveValue::operator BackgroundEdgeOrigin):
      (WebCore::CSSPrimitiveValue::operator EBoxSizing):
      (WebCore::CSSPrimitiveValue::operator EBoxDirection):
      (WebCore::CSSPrimitiveValue::operator EBoxLines):
      (WebCore::CSSPrimitiveValue::operator EBoxOrient):
      (WebCore::CSSPrimitiveValue::operator ECaptionSide):
      (WebCore::CSSPrimitiveValue::operator EClear):
      (WebCore::CSSPrimitiveValue::operator ECursor):
      (WebCore::CSSPrimitiveValue::operator CursorVisibility):
      (WebCore::CSSPrimitiveValue::operator EDisplay):
      (WebCore::CSSPrimitiveValue::operator EEmptyCell):
      (WebCore::CSSPrimitiveValue::operator EAlignItems):
      (WebCore::CSSPrimitiveValue::operator EJustifyContent):
      (WebCore::CSSPrimitiveValue::operator EFlexDirection):
      (WebCore::CSSPrimitiveValue::operator EAlignContent):
      (WebCore::CSSPrimitiveValue::operator EFlexWrap):
      (WebCore::CSSPrimitiveValue::operator EFloat):
      (WebCore::CSSPrimitiveValue::operator LineBreak):
      (WebCore::CSSPrimitiveValue::operator EListStylePosition):
      (WebCore::CSSPrimitiveValue::operator EListStyleType):
      (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
      (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
      (WebCore::CSSPrimitiveValue::operator RegionFragment):
      (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
      (WebCore::CSSPrimitiveValue::operator ENBSPMode):
      (WebCore::CSSPrimitiveValue::operator EOverflow):
      (WebCore::CSSPrimitiveValue::operator EPageBreak):
      (WebCore::CSSPrimitiveValue::operator EPosition):
      (WebCore::CSSPrimitiveValue::operator EResize):
      (WebCore::CSSPrimitiveValue::operator ETableLayout):
      (WebCore::CSSPrimitiveValue::operator ETextAlign):
      (WebCore::CSSPrimitiveValue::operator TextAlignLast):
      (WebCore::CSSPrimitiveValue::operator TextJustify):
      (WebCore::CSSPrimitiveValue::operator TextDecoration):
      (WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
      (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
      (WebCore::CSSPrimitiveValue::operator ETextSecurity):
      (WebCore::CSSPrimitiveValue::operator ETextTransform):
      (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
      (WebCore::CSSPrimitiveValue::operator EUserDrag):
      (WebCore::CSSPrimitiveValue::operator EUserModify):
      (WebCore::CSSPrimitiveValue::operator EUserSelect):
      (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
      (WebCore::CSSPrimitiveValue::operator EVisibility):
      (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
      (WebCore::CSSPrimitiveValue::operator EWordBreak):
      (WebCore::CSSPrimitiveValue::operator EOverflowWrap):
      (WebCore::CSSPrimitiveValue::operator TextDirection):
      (WebCore::CSSPrimitiveValue::operator WritingMode):
      (WebCore::CSSPrimitiveValue::operator TextCombine):
      (WebCore::CSSPrimitiveValue::operator RubyPosition):
      (WebCore::CSSPrimitiveValue::operator TextEmphasisPosition):
      (WebCore::CSSPrimitiveValue::operator TextOverflow):
      (WebCore::CSSPrimitiveValue::operator TextEmphasisFill):
      (WebCore::CSSPrimitiveValue::operator TextEmphasisMark):
      (WebCore::CSSPrimitiveValue::operator TextOrientation):
      (WebCore::CSSPrimitiveValue::operator EPointerEvents):
      (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning):
      (WebCore::CSSPrimitiveValue::operator FontSmoothingMode):
      (WebCore::CSSPrimitiveValue::operator FontWeight):
      (WebCore::CSSPrimitiveValue::operator FontItalic):
      (WebCore::CSSPrimitiveValue::operator FontSmallCaps):
      (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
      (WebCore::CSSPrimitiveValue::operator ColorSpace):
      (WebCore::CSSPrimitiveValue::operator Hyphens):
      (WebCore::CSSPrimitiveValue::operator LineSnap):
      (WebCore::CSSPrimitiveValue::operator LineAlign):
      (WebCore::CSSPrimitiveValue::operator Order):
      (WebCore::CSSPrimitiveValue::operator ESpeak):
      (WebCore::CSSPrimitiveValue::operator BlendMode):
      (WebCore::CSSPrimitiveValue::operator LineCap):
      (WebCore::CSSPrimitiveValue::operator LineJoin):
      (WebCore::CSSPrimitiveValue::operator WindRule):
      (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
      (WebCore::CSSPrimitiveValue::operator EBorderCollapse):
      (WebCore::CSSPrimitiveValue::operator EBorderFit):
      (WebCore::CSSPrimitiveValue::operator EImageRendering):
      (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
      (WebCore::CSSPrimitiveValue::operator ColumnAxis):
      (WebCore::CSSPrimitiveValue::operator ColumnProgression):
      (WebCore::CSSPrimitiveValue::operator WrapFlow):
      (WebCore::CSSPrimitiveValue::operator WrapThrough):
      (WebCore::CSSPrimitiveValue::operator GridAutoFlow):
      (WebCore::CSSPrimitiveValue::operator EBufferedRendering):
      (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
      (WebCore::CSSPrimitiveValue::operator EColorRendering):
      (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
      (WebCore::CSSPrimitiveValue::operator EShapeRendering):
      (WebCore::CSSPrimitiveValue::operator ETextAnchor):
      (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
      (WebCore::CSSPrimitiveValue::operator EVectorEffect):
      (WebCore::CSSPrimitiveValue::operator EMaskType):
      Assert that the CSSPrimitiveValue is holding a CSSValueID before accessing it.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3d20bcb
    • akling@apple.com's avatar
      REGRESSION(r153380): Can't open messages on Gmail · 95b3a7b4
      akling@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119165
      
      Patch by Ryosuke Niwa <rniwa@webkit.org> on 2013-07-27
      Reviewed by Andreas Kling.
      
      This bug was caused by r153380. The bug doesn't reproduce as long as WebKit is built by clang 4.2 and later
      or final is disabled (it could be clang 4.1 and later but we don't have information about that).
      
      Fix the bug by disabling final on earlier versions of clang. Unfortunately we can only check versions of
      Apple clang since __clang_major__ and __clang_minor__ are vendor dependent.
      
      * wtf/Compiler.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95b3a7b4
    • weinig@apple.com's avatar
      Stop pretending to support <string> for text-align. · 82b4bfd6
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119107
      
      Reviewed by Andreas Kling.
      
      Source/WebCore: 
      
      Test: fast/css/text-align-string-crash.html
      
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseValue):
      Stop pretending to support <string> for text-align.
      
      * css/DeprecatedStyleBuilder.cpp:
      (WebCore::ApplyPropertyTextAlign::applyValue):
      ASSERT that only value IDs get passed.
      
      LayoutTests: 
      
      * fast/css/text-align-string-crash-expected.txt: Added.
      * fast/css/text-align-string-crash.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82b4bfd6
  2. 26 Jul, 2013 22 commits
    • gyuyoung.kim@samsung.com's avatar
      Introduce toSVGRectElement(), use it · 89e807c7
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119126
      
      Reviewed by Andreas Kling.
      
      As a step to change static_cast with toSVGXXX, static_cast<SVGRectElement*> can
      be changed with toSVGRectElement().
      
      No new tests, no behavior change.
      
      * rendering/svg/RenderSVGRect.cpp:
      (WebCore::RenderSVGRect::updateShapeFromElement):
      * rendering/svg/SVGPathData.cpp:
      (WebCore::updatePathFromRectElement):
      * rendering/svg/SVGRenderTreeAsText.cpp:
      (WebCore::operator<<):
      * svg/SVGRectElement.h:
      (WebCore::toSVGRectElement):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      89e807c7
    • commit-queue@webkit.org's avatar
      With frame flattening on, too many resize events fired if document is resized in onresize handler. · 937da75e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119075
      
      Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-07-26
      Reviewed by Simon Fraser.
      
      With http://trac.webkit.org/changeset/149287, WebCore also sends resize event in FrameView::setFrameRect.  When
      flattening an iframe, setFrameRect could be called multiple times from RenderFrameBase::layoutWithFlattening and
      we could get multiple resize events.  This patch adds a flag in FrameView to disallow sending resize events if
      we are inside layoutWithFlattening.  The resize event will be sent in performPostLayoutTasks after the iframe
      is done laying out.
      
      Manually tested by verifying the rendering slowness in www.hi-pda.com is fixed when frame flattening is enabled.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::setFrameRect):
      * page/FrameView.h:
      (WebCore::FrameView::setResizeEventAllowed):
      (WebCore::FrameView::resizeEventAllowed):
      * rendering/RenderFrameBase.cpp:
      (WebCore::RenderFrameBase::layoutWithFlattening):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      937da75e
    • dino@apple.com's avatar
      Allow new transitions to run even when controller is suspended · d336f0bb
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119171
      <rdar://problem/14511404>
      
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      Expose a new property on AnimationController that allows newly created
      animations to run even if the controller says it is suspended. See WebKit
      ChangeLog for more details.
      
      Test: transitions/created-while-suspended.html
      
      * WebCore.exp.in: Export the new methods so WebView can use them.
      * page/animation/AnimationController.cpp:
      (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialize new flag to false.
      (WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): Check new flag is not true.
      (WebCore::AnimationControllerPrivate::setAllowsNewAnimationsWhileSuspended): Expose setter.
      (WebCore::AnimationController::allowsNewAnimationsWhileSuspended): "Public" getter.
      (WebCore::AnimationController::setAllowsNewAnimationsWhileSuspended): "Public" setter.
      * page/animation/AnimationController.h:
      * page/animation/AnimationControllerPrivate.h:
      (WebCore::AnimationControllerPrivate::allowsNewAnimationsWhileSuspended):
      * page/animation/CompositeAnimation.cpp:
      (WebCore::CompositeAnimation::CompositeAnimation): Only suspend if new flag is false. Everything else
      relies on the m_suspended flag, so the real code change is this one line.
      
      Source/WebKit/mac:
      
      Expose a new SPI on WebView that triggers the (buggy) old behaviour
      for animations, such that any newly created animations will start even
      when the document is supposedly suspended. It turns out that client content was
      unknowingly relying on this behaviour - e.g. suspending a view, loading a
      bunch of new content, bringing the view on screen and then unsuspending. In this
      situation, we were not running CSS transitions, because the page was suspended.
      However, JS was still triggering them, and content was expecting a transitionEnd event.
      
      * WebView/WebView.mm:
      (-[WebView allowsNewCSSAnimationsWhileSuspended]): Calls into AnimationController.
      (-[WebView setAllowsNewCSSAnimationsWhileSuspended:]): Ditto.
      * WebView/WebViewPrivate.h: New methods listed above.
      
      LayoutTests:
      
      This is actually a test to make sure this fix didn't break anything. There is no
      way to trigger the new behaviour from the test system (or from Safari).
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d336f0bb
    • msaboff@apple.com's avatar
      ASSERT failure in wtf/CheckedBoolean.h line 43 on Windows · af6ecffe
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119170
      
      Reviewed by Michael Saboff.
      
      Added a copy constructor to CheckedBoolean.
      
      * wtf/CheckedBoolean.h:
      (CheckedBoolean::CheckedBoolean):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af6ecffe
    • commit-queue@webkit.org's avatar
      [CSS Shapes] New positioning model: support for polygon shape-outside · 4fbe4b77
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=118085
      
      Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-07-26
      Reviewed by Dirk Schulze.
      
      Update polygon tests to work for new positioning model and migrate
      them to be W3C spec tests. Thus, they have been imported from the
      CSSWG repository now.
      
      * TestExpectations: Remove skip for replaced test.
      * csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html: Added.
      * csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html: Added.
      * csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html: Added.
      * csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html: Added.
      * csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html: Added.
      * csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html: Added.
      * csswg/submitted/shapes/shape-outside/w3c-import.log:
      * fast/shapes/shape-outside-floats/shape-outside-floats-simple-polygon-expected.html: Removed.
      * fast/shapes/shape-outside-floats/shape-outside-floats-simple-polygon.html: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4fbe4b77
    • achristensen@apple.com's avatar
      Added module definition file for building libEGL. · 2d578020
      achristensen@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119162
      
      Reviewed by Brent Fulgham.
      
      * ANGLE.vcxproj/libEGLCommon.props: Added reference to libEGL.def.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d578020
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed build fix. · 1d2204aa
      bfulgham@apple.com authored
      * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
      (WebCore::createMetadataKeyNames): Do not include Media Selection
      synbols when building without Media Selection API.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153384 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1d2204aa
    • oliver@apple.com's avatar
      REGRESSION(FTL?): Crashes in plugin tests · c2d859d3
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119141
      
      Reviewed by Michael Saboff.
      
      Source/JavaScriptCore:
      
      Re-export getStackTrace
      
      * interpreter/Interpreter.h:
      
      Source/WebCore:
      
      Getting the correct semantics to appease the inspector is fairly
      awful with the iterator system.  For the time being lets just revert
      to requesting a full stack trace as we did in the past.
      
      * bindings/js/ScriptCallStackFactory.cpp:
      (WebCore::createScriptCallStack):
      
      LayoutTests:
      
      Bring back plugin tests
      
      * platform/mac/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2d859d3
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed build fix. · 905acb62
      bfulgham@apple.com authored
      Correct build when targeting a release that does not have the AVCF
      Legible Output infrastructure.
      
      * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Exclude
      a soft-link target when the API doesn't exist.
      * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
      Correct include options for non-Legible Output supporting environments.
      (WebCore::MediaPlayerPrivateAVFoundationCF::processLegacyClosedCaptionsTracks):
      Prevent build failure when building with legacy caption support.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      905acb62
    • fpizlo@apple.com's avatar
      REGRESSION: Crash when opening a message on Gmail · b61a0434
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119105
      
      Source/JavaScriptCore: 
      
      Reviewed by Oliver Hunt and Mark Hahnenberg.
              
      - GetById patching in the DFG needs to be more disciplined about how it derives the
        slow path.
              
      - Fix some dumping code thread safety issues.
      
      * bytecode/CallLinkStatus.cpp:
      (JSC::CallLinkStatus::dump):
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode):
      * dfg/DFGRepatch.cpp:
      (JSC::DFG::getPolymorphicStructureList):
      (JSC::DFG::tryBuildGetByIDList):
      
      LayoutTests: 
      
      Reviewed by Oliver Hunt and Mark Hahnenberg.
      
      * fast/js/dfg-get-by-id-unset-then-proto-less-warmup.html: Added.
      * fast/js/dfg-get-by-id-unset-then-proto-more-warmup.html: Added.
      * fast/js/dfg-get-by-id-unset-then-proto.html: Added.
      * fast/js/jsc-test-list
      * fast/js/script-tests/dfg-get-by-id-unset-then-proto-less-warmup.js: Added.
      (foo):
      (Blah):
      * fast/js/script-tests/dfg-get-by-id-unset-then-proto-more-warmup.js: Added.
      (foo):
      (Blah):
      * fast/js/script-tests/dfg-get-by-id-unset-then-proto.js: Added.
      (foo):
      (Blah):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b61a0434
    • akling@apple.com's avatar
      Apply FINAL to the RenderObject hierarchy. · 8149707b
      akling@apple.com authored
      <http://webkit.org/b/115977>
      
      Mostly from Blink r148795 by <cevans@chromium.org>
      <http://src.chromium.org/viewvc/blink?view=revision&revision=148795>
      
      * rendering/: Beat things with the FINAL stick.
      * WebCore.exp.in: Export a now-needed symbol.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8149707b
    • andersca@apple.com's avatar
      Add another method that we need to set aside subviews for · 47b3599b
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119157
      <rdar://problem/14554723>
      
      Reviewed by Beth Dakin.
      
      * WebView/WebHTMLView.mm:
      (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
      (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      47b3599b
    • timothy_horton@apple.com's avatar
      Add a mode where autosizing fixes the FrameView height to at least the WKView height · 1ef7daad
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119104
      <rdar://problem/14549021>
      
      Reviewed by Anders Carlsson.
      
      * WebCore.exp.in: Export FrameView::setAutoSizeFixedMinimumHeight.
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      Initialize m_autoSizeFixedMinimumHeight to 0.
      
      (WebCore::FrameView::autoSizeIfEnabled):
      Increase the FrameView height to m_autoSizeFixedMinimumHeight if necessary,
      and do another layout. Store the computed intrinsic content size.
      
      (WebCore::FrameView::setAutoSizeFixedMinimumHeight): Added.
      
      * page/FrameView.h:
      (WebCore::FrameView::autoSizingIntrinsicContentSize): Added.
      
      * Shared/WebPageCreationParameters.cpp:
      (WebKit::WebPageCreationParameters::encode):
      (WebKit::WebPageCreationParameters::decode):
      * Shared/WebPageCreationParameters.h:
      Add autoSizingShouldExpandToViewHeight parameter.
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView minimumWidthForAutoLayout]):
      (-[WKView setMinimumWidthForAutoLayout:]):
      Un-deprecate these as they're still useful if not sending a height.
      
      (-[WKView shouldExpandToViewHeightForAutoLayout]):
      (-[WKView setShouldExpandToViewHeightForAutoLayout:]):
      * UIProcess/API/mac/WKViewPrivate.h:
      New property, forward to WebPageProxy.
      
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::creationParameters):
      (WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight):
      New property, forward to WebPage.
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
      If enabled, update the FrameView's autoSizeFixedMinimumHeight.
      
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::WebPage):
      (WebKit::WebPage::setAutoSizingShouldExpandToViewHeight):
      * WebProcess/WebPage/WebPage.h:
      (WebKit::WebPage::autoSizingShouldExpandToViewHeight):
      New property; if enabled, set FrameView's autoSizeFixedMinimumHeight,
      otherwise reset it to 0.
      
      * WebProcess/WebPage/WebPage.messages.in:
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
      (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
      Retrieve intrinsic content size explicitly from the FrameView, as
      it may not have used it as its final contentsSize if
      autoSizeFixedMinimumHeight is set.
      
      Set the WebPage's size in case the load is committed so that the
      WebFrameLoaderClient doesn't reset us to the wrong size.
      
      Update autoSizeFixedMinimumHeight if enabled when the view size changes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ef7daad
    • bfulgham@apple.com's avatar
      [Windows] Remove workarounds now that rdar://problem/14390466 is fixed. · 75dac531
      bfulgham@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119150
      
      Reviewed by Anders Carlsson.
      
      * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
      (WebCore::AVFWrapper::createPlayer): Remove workaround to add legible output
      after player is created.
      (WebCore::AVFWrapper::createPlayerItem): Remove workaround to delay adding
      legible output until player is created.
      (WebCore::AVFWrapper::platformLayer): Get rid of unused temporary.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      75dac531
    • fpizlo@apple.com's avatar
      WKTR should know about the JSC extensions to testRunner · 93c2bbe0
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119154
      
      Reviewed by Mark Hahnenberg and Geoffrey Garen.
              
      This makes some fast/js tests pass.
      
      * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
      * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
      (WTR::TestRunner::numberOfDFGCompiles):
      (WTR::TestRunner::neverInlineFunction):
      * WebKitTestRunner/InjectedBundle/TestRunner.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153376 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93c2bbe0
    • commit-queue@webkit.org's avatar
      [mips] Fix LLINT build for mips backend · 7c3f72ae
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119152
      
      Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-07-26
      Reviewed by Oliver Hunt.
      
      * offlineasm/mips.rb:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153375 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c3f72ae
    • mhahnenberg@apple.com's avatar
      Setting a large numeric property on an object causes it to allocate a huge backing store · 7260bbd2
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118914
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore: 
      
      There are two distinct actions that we're trying to optimize for:
      
      new Array(100000);
      
      and:
      
      a = [];
      a[100000] = 42;
              
      In the first case, the programmer has indicated that they expect this Array to be very big, 
      so they should get a contiguous array up until some threshold, above which we perform density 
      calculations to see if it is indeed dense enough to warrant being contiguous.
              
      In the second case, the programmer hasn't indicated anything about the size of the Array, so 
      we should be more conservative and assume it should be sparse until we've proven otherwise.
              
      Currently both of those cases are handled by MIN_SPARSE_ARRAY_INDEX. We should distinguish 
      between them for the purposes of not over-allocating large backing stores like we see on 
      http://www.peekanalytics.com/burgerjoints/
              
      The way that we'll do this is to keep the MIN_SPARSE_ARRAY_INDEX for the first case, and 
      introduce a new heuristic for the second case. If we are putting to an index above a certain 
      threshold (say, 1000) and it is beyond the length of the array, then we will use a sparse 
      map instead. So for example, in the second case above the empty array has a blank indexing 
      type and a length of 0. We put-by-val to an index > 1000 and > a.length, so we'll use a sparse map.
      
      This fix is ~800x speedup on the accompanying regression test :-o
      
      * runtime/ArrayConventions.h:
      (JSC::indexIsSufficientlyBeyondLengthForSparseMap):
      * runtime/JSObject.cpp:
      (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
      (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
      (JSC::JSObject::putByIndexBeyondVectorLength):
      (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
      
      LayoutTests: 
      
      Added new regression test for put-by-val-ing to a blank indexing type with a large index.
      This fix is ~800x speedup on this regression test :-o
      
      * fast/js/regress/put-by-val-large-index-blank-indexing-type.html: Added.
      * fast/js/regress/script-tests/put-by-val-large-index-blank-indexing-type.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7260bbd2
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed gardening. · a4f78dd2
      bfulgham@apple.com authored
      * WebCore.vcxproj/WebCore.vcxproj: Add missing header file to ease code viewing.
      * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4f78dd2
    • anilsson@rim.com's avatar
      [BlackBerry] LayerTiler fails to render layer after waking up · ffd5cda4
      anilsson@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119146
      
      Reviewed by George Staikos.
      
      When the application is backgrounded, all tiles are freed up to
      release memory back to the system. We also mark the contents as dirty
      in LayerTiler::deleteTextures() so tiles will be repopulated when
      waking up again.
      
      The problem was caused by an optimization to avoid re-rendering tiles
      repeatedly until the UI thread catches up with the fact that we have
      indeed rendered those tiles (which will happen when the UI thread next
      composites a frame).
      
      When contents are dirty, we're not supposed to perform this
      optimization (i.e. we're not supposed to skip rendering) because the
      appearance of the layer has changed, so we do need to render those
      tiles. Unfortunately, the code that was supposed to forget the list of
      tiles rendered was in a conditional, "if (frontVisibility)", which
      happened to be false sometimes when the app woke up again. So we ended
      up perpetually skipping those render jobs, and the UI thread kept
      yelling at us to render them.
      
      Fixed by unconditionally dropping the list of tiles rendered when
      contents are dirty.
      
      This can't be detected without pixel tests, which BB DRT currently
      doesn't support.
      
      JIRA 452460
      
      * platform/graphics/blackberry/LayerTiler.cpp:
      (WebCore::LayerVisibility::clearTilesRendered):
      (WebCore::LayerTiler::updateTextureContentsIfNeeded):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153372 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffd5cda4
    • commit-queue@webkit.org's avatar
      REGRESSION(FTL): Fix lots of crashes in sh4 baseline JIT. · 29421632
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119148
      
      Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-07-26
      Reviewed by Csaba Osztrogonác.
      
      * jit/JSInterfaceJIT.h: "secondArgumentRegister" is wrong for sh4.
      * llint/LowLevelInterpreter32_64.asm: "move t0, a0" is missing
      in nativeCallTrampoline for sh4. Reuse MIPS implementation to avoid
      code duplication.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153371 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29421632
    • commit-queue@webkit.org's avatar
      REGRESSION(FTL): Crash in sh4 baseline JIT. · 48cc2011
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119138
      
      Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-07-26
      Reviewed by Csaba Osztrogonác.
      
      This crash is due to incomplete report of r150146 and r148474.
      
      * jit/JITStubsSH4.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48cc2011
    • zandobersek@gmail.com's avatar
      Unreviewed. · 30b622dd
      zandobersek@gmail.com authored
      * Target.pri: Adding missing DFG files to the Qt build.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30b622dd
  3. 25 Jul, 2013 11 commits