⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jul 27, 2013:

11:48 PM Changeset in webkit [153409] by ryuan.choi@samsung.com
  • 6 edits in trunk

[EFL] Bump required version of EFL to 1.7
https://bugs.webkit.org/show_bug.cgi?id=119144

Reviewed by Christophe Dumez.

.:

We have supported 1.6 for Tizen build since r137203.
But Tizen now supports 1.7+ after Tizen released 2.0.

  • Source/cmake/OptionsEfl.cmake:

Bumped EFL to 1.7 and removed promotion.

Source/WebCore:

  • platform/efl/FileSystemEfl.cpp: Removed workaround code which was fixed at Eina 1.7

(WebCore::listDirectory):

Tools:

  • MiniBrowser/efl/CMakeLists.txt: Bumped EFL to 1.7
10:14 PM Changeset in webkit [153408] by commit-queue@webkit.org
  • 19 edits in trunk/Source

Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
https://bugs.webkit.org/show_bug.cgi?id=119186

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-07-27
Reviewed by Anders Carlsson.

Source/WebCore:

Remove GraphicsLayer::create(GraphicsLayerClient*) function since it's
been deprecated by r130072.

  • WebCore.exp.in:
  • WebCore.order:
  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
  • platform/graphics/ca/GraphicsLayerCA.cpp:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

Source/WebKit/blackberry:

Replace GraphicsLayer::create calls and add a new function WebPagePrivate::graphicsLayerFactory().

  • Api/WebOverlay.cpp:

(BlackBerry::WebKit::WebOverlayPrivateWebKitThread::WebOverlayPrivateWebKitThread):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::graphicsLayerFactory):
(BlackBerry::WebKit::WebPagePrivate::overlayLayer):

  • Api/WebPage_p.h:
  • WebKitSupport/FrameLayers.cpp:

(BlackBerry::WebKit::FrameLayers::addLayer):

  • WebKitSupport/SelectionOverlay.cpp:

(BlackBerry::WebKit::SelectionOverlay::draw):

Source/WebKit/efl:

  • WebCoreSupport/AcceleratedCompositingContextEfl.cpp:

(WebCore::AcceleratedCompositingContext::attachRootGraphicsLayer):

Source/WebKit/qt:

  • WebCoreSupport/TextureMapperLayerClientQt.cpp:

(TextureMapperLayerClientQt::setRootGraphicsLayer):

Source/WebKit2:

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::getOrCreateLayer):

5:05 PM Changeset in webkit [153407] by ap@apple.com
  • 5 edits in trunk/Source/WebCore

HTMLParserScheduler gets into an inconsistent state when suspended for reasons
other than WillDeferLoading
https://bugs.webkit.org/show_bug.cgi?id=119172

Reviewed by Sam Weinig.

When loading is not deferred, even a suspended parser will be processing new data
from network, potentially starting its next chunk timer.

Limit suspending to when we can actually enforce it.

Here is what happens for each ReasonForSuspension:

  • JavaScriptDebuggerPaused: continuing to parse is probably wrong, but in practice,

this is unlikely to happen while debugging, and wasn't properly prevented before
this patch anyway.

  • WillDeferLoading: No change in behavior.
  • DocumentWillBecomeInactive: This is about page cache, and documents are only allowed

to be cached when fully loaded.

  • PageWillBeSuspended: This appears to be part of Frame::suspendActiveDOMObjectsAndAnimations()

implementation, I'm guessing that it is appropriate to continue loading.

  • dom/Document.cpp:

(WebCore::Document::suspendScheduledTasks):
(WebCore::Document::resumeScheduledTasks):
Only suspend/resume parsing when loading is deferred. This is not expressed directly,
but it's important to do this to avoid executing JS behind alerts and other modal dialogs.

  • html/parser/HTMLParserScheduler.h: Added m_suspended member variable for assertions.
  • html/parser/HTMLParserScheduler.cpp:

(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
(WebCore::HTMLParserScheduler::scheduleForResume):
(WebCore::HTMLParserScheduler::suspend):
(WebCore::HTMLParserScheduler::resume):
Update m_suspended and assert as appropriate. No behavior changes for release mode.

  • page/Frame.cpp: (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):

Added a FIXME.

5:04 PM Changeset in webkit [153406] by ap@apple.com
  • 6 edits in trunk/Source/WebCore

Make SuspendableTimer safer
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.

4:53 PM Changeset in webkit [153405] by bshafiei@apple.com
  • 2 edits in branches/safari-537-branch/Source/ThirdParty

Merged r153403.

4:44 PM Changeset in webkit [153404] by Chris Fleizach
  • 8 edits in trunk/Source/WebKit2

AX: VoiceOver not working with data detection page overlays
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:]):

4:20 PM Changeset in webkit [153403] by mrowe@apple.com
  • 2 edits in trunk/Source/ThirdParty

Fix builds against an SDK.

  • gtest/xcode/Config/FrameworkTarget.xcconfig: Ensure that gtest.framework is installed

in a location compatible with the SDK generation process.

4:14 PM Changeset in webkit [153402] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

If entering fullscreen for a window fails, don't leave things in a bad state
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:]):

3:23 PM Changeset in webkit [153401] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Add assertions for CSSPrimitiveValue's m_value.valueID accessor
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.

2:40 PM Changeset in webkit [153400] by akling@apple.com
  • 2 edits in trunk/Source/WTF

REGRESSION(r153380): Can't open messages on Gmail
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:
1:49 PM Changeset in webkit [153399] by weinig@apple.com
  • 4 edits
    2 adds in trunk

Stop pretending to support <string> for text-align.
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.

Jul 26, 2013:

9:48 PM Changeset in webkit [153398] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebCore

Introduce toSVGRectElement(), use it
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):

6:17 PM Changeset in webkit [153397] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

With frame flattening on, too many resize events fired if document is resized in onresize handler.
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):

5:57 PM Changeset in webkit [153396] by dino@apple.com
  • 10 edits
    2 adds in trunk

Allow new transitions to run even when controller is suspended
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).

5:24 PM Changeset in webkit [153395] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebKit/mac

Merged r153379. <rdar://problem/14554723>

5:22 PM Changeset in webkit [153394] by Lucas Forschler
  • 16 edits in branches/safari-537-branch/Source

Merged r153378. <rdar://problem/14549021>

4:54 PM Changeset in webkit [153393] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r153349. <rdar://problem/14545393>

4:51 PM Changeset in webkit [153392] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-537-branch

Merged r153366. <rdar://problem/14556358>

4:48 PM Changeset in webkit [153391] by Lucas Forschler
  • 5 edits
    1 copy in branches/safari-537-branch

Merged r153344. <rdar://problem/13439291>

4:46 PM Changeset in webkit [153390] by Lucas Forschler
  • 5 edits
    1 copy in branches/safari-537-branch

Merged r153107. <rdar://problem/14494064>

4:43 PM Changeset in webkit [153389] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r153102. <rdar://problem/14433205>

4:41 PM Changeset in webkit [153388] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152905. <rdar://problem/14489987>

4:19 PM Changeset in webkit [153387] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

ASSERT failure in wtf/CheckedBoolean.h line 43 on Windows
https://bugs.webkit.org/show_bug.cgi?id=119170

Reviewed by Michael Saboff.

Added a copy constructor to CheckedBoolean.

  • wtf/CheckedBoolean.h:

(CheckedBoolean::CheckedBoolean):

4:00 PM Changeset in webkit [153386] by commit-queue@webkit.org
  • 3 edits
    6 adds
    2 deletes in trunk/LayoutTests

[CSS Shapes] New positioning model: support for polygon shape-outside
https://bugs.webkit.org/show_bug.cgi?id=118085

Patch by Bem Jones-Bey <Bem Jones-Bey> 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.
3:54 PM Changeset in webkit [153385] by achristensen@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Added module definition file for building libEGL.
https://bugs.webkit.org/show_bug.cgi?id=119162

Reviewed by Brent Fulgham.

  • ANGLE.vcxproj/libEGLCommon.props: Added reference to libEGL.def.
2:57 PM Changeset in webkit [153384] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Windows] Unreviewed build fix.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::createMetadataKeyNames): Do not include Media Selection
synbols when building without Media Selection API.

2:21 PM Changeset in webkit [153383] by oliver@apple.com
  • 6 edits in trunk

REGRESSION(FTL?): Crashes in plugin tests
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:
2:17 PM Changeset in webkit [153382] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Windows] Unreviewed build fix.

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.

2:12 PM Changeset in webkit [153381] by fpizlo@apple.com
  • 6 edits
    6 adds in trunk

REGRESSION: Crash when opening a message on Gmail
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):

1:41 PM Changeset in webkit [153380] by akling@apple.com
  • 102 edits in trunk

Apply FINAL to the RenderObject hierarchy.
<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.
1:39 PM Changeset in webkit [153379] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Add another method that we need to set aside subviews for
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:]):

1:09 PM Changeset in webkit [153378] by timothy_horton@apple.com
  • 16 edits in trunk/Source

Add a mode where autosizing fixes the FrameView height to at least the WKView height
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.

12:19 PM Changeset in webkit [153377] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Windows] Remove workarounds now that rdar://problem/14390466 is fixed.
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.

12:06 PM Changeset in webkit [153376] by fpizlo@apple.com
  • 4 edits in trunk/Tools

WKTR should know about the JSC extensions to testRunner
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:
11:17 AM Changeset in webkit [153375] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[mips] Fix LLINT build for mips backend
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:
11:07 AM Changeset in webkit [153374] by mhahnenberg@apple.com
  • 4 edits
    3 adds in trunk

Setting a large numeric property on an object causes it to allocate a huge backing store
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.
9:22 AM Changeset in webkit [153373] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Windows] Unreviewed gardening.

  • WebCore.vcxproj/WebCore.vcxproj: Add missing header file to ease code viewing.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
8:19 AM Changeset in webkit [153372] by anilsson@rim.com
  • 2 edits in trunk/Source/WebCore

[BlackBerry] LayerTiler fails to render layer after waking up
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):

7:41 AM Changeset in webkit [153371] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(FTL): Fix lots of crashes in sh4 baseline JIT.
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.

3:33 AM Changeset in webkit [153370] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(FTL): Crash in sh4 baseline JIT.
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:
1:34 AM Changeset in webkit [153369] by zandobersek@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed.

  • Target.pri: Adding missing DFG files to the Qt build.
Note: See TracTimeline for information about the timeline view.