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

Timeline



Aug 3, 2013:

9:13 PM Changeset in webkit [153695] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Refine the unavailable plug-in indicator
https://bugs.webkit.org/show_bug.cgi?id=119400
<rdar://problem/14616012>

Reviewed by Oliver Hunt.

Add a border, flip the text and background colors, and make the indicator
much higher contrast, to be more visible on a variety of sites.
Also, refine the arrow to be less blocky and inlaid inside a circle.

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::replacementTextRoundedRectPressedColor):
(WebCore::replacementTextRoundedRectColor):
(WebCore::replacementTextColor):
(WebCore::unavailablePluginBorderColor):
(WebCore::drawReplacementArrow):
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
(WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):

  • rendering/RenderEmbeddedObject.h:
9:00 PM Changeset in webkit [153694] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

Unreviewed, build and style fix for r153693.

  • UIProcess/WebProcessProxy.cpp:
  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/WebPage/WebPage.cpp:
8:50 PM Changeset in webkit [153693] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

Remove SimplePDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=119437

Reviewed by Alexey Proskuryakov.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getPlugins):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
Don't add SimplePDFPlugin, nor try to instantiate it.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

Merge previously inherited behavior in from SimplePDFPlugin.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Plugins/PDF/SimplePDFPlugin.h: Removed.
  • WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Removed.

Remove SimplePDFPlugin.

5:31 PM Changeset in webkit [153692] by timothy_horton@apple.com
  • 15 edits in trunk/Source/WebKit2

Remove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the Mac port
https://bugs.webkit.org/show_bug.cgi?id=119411

Reviewed by Simon Fraser.

Mac is the only holdout that performs non-composited fades of page
overlays. We should adopt that mechanism (as a precursor to doing a
CA-accelerated fade) and remove the now-unnecessary property.

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:

(WKBundlePageOverlayFractionFadedIn):
Always return 1 (fully-faded-in) so that clients who attempt to use this
to bake the fade opacity into their painting will paint at full opacity,
allowing us to do the composited fade separately.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/DrawingAreaImpl.cpp:
  • WebProcess/WebPage/DrawingAreaImpl.h:
  • WebProcess/WebPage/LayerTreeHost.h:
  • WebProcess/WebPage/PageOverlay.cpp:

(WebKit::PageOverlay::PageOverlay):
(WebKit::PageOverlay::setPage):
(WebKit::PageOverlay::setNeedsDisplay):
(WebKit::PageOverlay::fadeAnimationTimerFired):

  • WebProcess/WebPage/PageOverlay.h:

Remove pageOverlayShouldApplyFadeWhenPainting and fractionFadedIn().

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::drawRect):
Draw the find overlay without taking the PageOverlay's fade into account.

  • WebProcess/WebPage/TapHighlightController.cpp:

(WebKit::TapHighlightController::drawRect):
Remove pageOverlayShouldApplyFadeWhenPainting. Since it's always
"false" for all ports now, take the second path here.

  • WebProcess/WebPage/mac/LayerTreeHostMac.h:
  • WebProcess/WebPage/mac/LayerTreeHostMac.mm:

(WebKit::LayerTreeHostMac::setPageOverlayOpacity):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayOpacity):
Implement setPageOverlayOpacity for DrawingAreaImpl
and TiledCoreAnimationDrawingArea.

5:12 PM Changeset in webkit [153691] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

hasIndexingHeader() ought really to be a property of an object and its structure, not just its structure
https://bugs.webkit.org/show_bug.cgi?id=119470

Reviewed by Oliver Hunt.

Structure can still tell you if the object "could" (in the conservative sense)
have an indexing header; that's used by the compiler.

Most of the time if you want to know if there's an indexing header, you ask the
JSObject.

In some cases, the JSObject wants to know if it would have an indexing header if
it had a different structure; then it uses Structure::hasIndexingHeader(JSCell*).

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryCachePutByID):
(JSC::DFG::tryBuildPutByIdList):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::create):
(JSC::Butterfly::growPropertyStorage):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):

  • runtime/JSObject.cpp:

(JSC::JSObject::copyButterfly):
(JSC::JSObject::visitButterfly):

  • runtime/JSObject.h:

(JSC::JSObject::hasIndexingHeader):
(JSC::JSObject::setButterfly):

  • runtime/Structure.h:

(JSC::Structure::couldHaveIndexingHeader):
(JSC::Structure::hasIndexingHeader):

10:49 AM Changeset in webkit [153690] by Simon Fraser
  • 2 edits in trunk/LayoutTests

webaudio/audiobuffersource-loop-points.html always times out
https://bugs.webkit.org/show_bug.cgi?id=119467

Skip this test.

  • platform/mac-wk2/TestExpectations:
8:56 AM BadContent edited by zandobersek@gmail.com
Add a spamming account to the blocked list. (diff)
6:43 AM Changeset in webkit [153689] by commit-queue@webkit.org
  • 6 edits
    4 adds in trunk

PreloadScanner preloads external CSS with non-matching media attribute
https://bugs.webkit.org/show_bug.cgi?id=106198

Patch by Yoav Weiss <yoav@yoav.ws> on 2013-08-03
Reviewed by Dean Jackson.

Source/WebCore:

Test: http/tests/loading/preload-css-test.html

  • html/parser/HTMLPreloadScanner.cpp:

Remove m_linkMediaAttributeIsScreen
Remove MediaQueryEvaluator calls
Add m_mediaAttribute that gets the value of the "media" attribute
Pass m_mediaAttribute to PreloadRequest
(WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner):
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
(WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
(WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):

  • html/parser/HTMLResourcePreloader.cpp:

Add MediaQueryEvaluator calls to see if "media" matches
Perform preload only to resource with a matching media (if media exists)
(WebCore::PreloadRequest::isSafeToSendToAnotherThread):
(WebCore::mediaAttributeMatches):
(WebCore::HTMLResourcePreloader::preload):

  • html/parser/HTMLResourcePreloader.h:

Add a constructor with a mediaAttribute value
Add m_mediaAttribute & its getter.
(WebCore::PreloadRequest::create):
(WebCore::PreloadRequest::media):
(WebCore::PreloadRequest::PreloadRequest):

LayoutTests:

  • http/tests/loading/preload-css-test-expected.txt: Added.
  • http/tests/loading/preload-css-test.html: Added.
  • http/tests/loading/resources/big_mq.css: Added.
  • http/tests/loading/resources/small_mq.css: Added.
  • http/tests/local/link-stylesheet-load-order-preload-expected.txt:
3:15 AM Changeset in webkit [153688] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

RenderBoxModelObject::firstLetterRemainingText should be a RenderTextFragment*.
<http://webkit.org/b/119181>

Reviewed by Sam Weinig.

De-generalize this code a bit since we know that the firstLetterRemainingText() is always
going to be a RenderTextFragment.

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::firstLetterRemainingText):
(WebCore::RenderBoxModelObject::setFirstLetterRemainingText):

Make these two deal in RenderTextFragment*.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateFirstLetterStyle):

Tighten up some pointer types so we don't have to cast as much.

Aug 2, 2013:

10:11 PM Changeset in webkit [153687] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Introduce toSVGMaskElement(), and use it
https://bugs.webkit.org/show_bug.cgi?id=119443

Reviewed by Andreas Kling.

As a step to change static_cast with toSVGXXX, static_cast<SVGMaskElement*> can
be changed with toSVGMaskElement().

Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=155432

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):

  • rendering/svg/RenderSVGResourceMasker.h:
  • svg/SVGMaskElement.h:

(WebCore::toSVGMaskElement):

8:33 PM Changeset in webkit [153686] by benjamin@webkit.org
  • 3 edits in trunk/Source/WTF

Remove a bunch of redundant checks for empty string in StringImpl
https://bugs.webkit.org/show_bug.cgi?id=118768

Reviewed by Ryosuke Niwa.

The first thing done by createUninitialized() is check if the length passed
is zero. Internally, there are many cases for which we know the check will never succeed.

Clang is usually really smart for those kind of things, but there are a few cases where
the condition to avoid returning empty() is not simply a check for the length.
This patch adds an internal initializer to deal with that.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::createUninitializedInternal):
(WTF::StringImpl::createUninitializedInternalNonEmpty):
(WTF::StringImpl::createInternal): Create internal has a special case for null pointer
for the characters. The test also check length, the second check for length cannot fail.
(WTF::StringImpl::create8BitIfPossible): ditto.
(WTF::StringImpl::lower): 3 of the calls cannot be reached for empty length. On an empty length,
the test for (noUpper && !(ored & ~0x7F)) would have caused the function to return "this".

For the last createUninitialized(), there is no guarantee the realLength is not zero.

(WTF::StringImpl::replace): The first thing we do in replace(UChar,UChar) is check if there is anything
to replace. The check for length will never succeed as there must be a character to replace at that point.

  • wtf/text/StringImpl.h:
8:09 PM Changeset in webkit [153685] by benjamin@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r153005): Crash in SpaceSplitString::spaceSplitStringContainsValue on Facebook
https://bugs.webkit.org/show_bug.cgi?id=119384

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-08-02
Reviewed by Alexey Proskuryakov.

Source/WebCore:

When removing the "rel" attribute from HTMLAnchorElement, we parse the attribute for no value.
Following r153005, we no longer checked for null String, which caused a crash in that case.

Creating a SpaceSplitString from a null string causes the SpaceSplitString to be null. In that case
SpaceSplitString::contains() would always return false.
This patch modify SpaceSplitString::spaceSplitStringContainsValue() to follow the exact same
behavior.

Test: fast/dom/HTMLAnchorElement/remove-rel-attribute.html

  • dom/SpaceSplitString.cpp:

(WebCore::SpaceSplitString::spaceSplitStringContainsValue):

LayoutTests:

  • fast/dom/HTMLAnchorElement/remove-rel-attribute.html: Added.
  • fast/dom/HTMLAnchorElement/remove-rel-attribute-expected.txt: Added.
5:54 PM Changeset in webkit [153684] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-537-branch

Merged r153681. <rdar://problem/14638695>

5:51 PM Changeset in webkit [153683] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r153672. <rdar://problem/14631785>

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

Merged r153632. <rdar://problem/14628760>

5:06 PM Changeset in webkit [153681] by dino@apple.com
  • 5 edits
    2 adds in trunk

Force elements with perspective or preserve-3d to disallow direct composited backgrounds
https://bugs.webkit.org/show_bug.cgi?id=119462
<rdar://problem/14607548>

Reviewed by Simon Fraser.

Source/WebCore:

Bug 119461 (http://wkb.ug/119461) describes how a directly composited
background color can intersect with its children. It's not clear exactly
what the best way to fix that is, but for the moment we should disallow
any element that has perspective or a preserve-3d transform style from
getting a directly composited background.

Test: compositing/background-color/no-composited-background-color-when-perspective.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::hasPerspectiveOrPreserves3D): New static helper.
(WebCore::supportsDirectBoxDecorationsComposition): Return false if the above function is true.

LayoutTests:

  • compositing/background-color/no-composited-background-color-when-perspective-expected.html: Added.
  • compositing/background-color/no-composited-background-color-when-perspective.html: Added.
  • compositing/geometry/preserve-3d-switching-expected.txt: Rebaselined.
  • compositing/overflow-trumps-transform-style-expected.txt: Rebaselined.
5:05 PM Changeset in webkit [153680] by oliver@apple.com
  • 4 edits in trunk/Source/WebCore

Update binding test results

5:04 PM Changeset in webkit [153679] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Give the error object's stack property accessor attributes.
https://bugs.webkit.org/show_bug.cgi?id=119404

Source/JavaScriptCore:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-02
Reviewed by Geoffrey Garen.

Changed the attributes of error object's stack property to allow developers to write
and delete the stack property. This will match the functionality of Chrome. Firefox
allows developers to write the error's stack, but not delete it.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::addStackTraceIfNecessary):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::finishCreation):

LayoutTests:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-02
Reviewed by Geoffrey Garen.

  • fast/dom/DOMException/stack-trace-expected.txt:

New tests to show that the error object's stack property is writable and deleteable.

  • fast/js/error-object-write-and-detele-for-stack-property-expected.txt: Added.
  • fast/js/error-object-write-and-detele-for-stack-property.html: Added.
5:01 PM Changeset in webkit [153678] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skip failing canvas blending tests on AppleWin port.
https://bugs.webkit.org/show_bug.cgi?id=119463.

  • platform/win/TestExpectations:
4:40 PM Changeset in webkit [153677] by barraclough@apple.com
  • 12 edits in trunk/Source

Remove no-arguments constructor to PropertySlot
https://bugs.webkit.org/show_bug.cgi?id=119460

Reviewed by Geoff Garen.

This constructor was unsafe if getValue is subsequently called,
and the property is a getter. Simplest to just remove it.

Source/WebCore:

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
(WebCore::DialogHandler::returnValue):

  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::getOwnPropertyDescriptorDelegate):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::getOwnPropertyDescriptorDelegate):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):

  • bindings/js/JSStorageCustom.cpp:

(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::putDelegate):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertyDescriptorBody):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::getOwnPropertyDescriptor):

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::getOwnPropertyDescriptor):

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::getOwnPropertyDescriptor):

4:23 PM Changeset in webkit [153676] by mark.lam@apple.com
  • 2 edits in trunk/Source/WTF

Gardening: Touched a line in Platform.h to get all bots to do a clean build.

Not reviewed.

  • wtf/Platform.h:
4:09 PM Changeset in webkit [153675] by Lucas Forschler
  • 1 edit in branches/safari-537-branch/Source/JavaScriptCore/dfg/DFGAbstractState.cpp

Apply patch from <rdar://problem/14580940>.

3:38 PM Changeset in webkit [153674] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Incorrect type speculation reported by ToPrimitive
https://bugs.webkit.org/show_bug.cgi?id=119458

Reviewed by Mark Hahnenberg.

Make sure that we report the correct type possibilities for the output
from ToPrimitive

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

3:30 PM Changeset in webkit [153673] by barraclough@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

Remove no-arguments constructor to PropertySlot
https://bugs.webkit.org/show_bug.cgi?id=119460

Reviewed by Geoff Garen.

This constructor was unsafe if getValue is subsequently called,
and the property is a getter. Simplest to just remove it.

  • runtime/Arguments.cpp:

(JSC::Arguments::defineOwnProperty):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::getOwnPropertyDescriptor):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::getOwnPropertyDescriptor):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::defineOwnProperty):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::hasOwnPropertyForWrite):

  • runtime/JSNameScope.cpp:

(JSC::JSNameScope::put):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):

  • runtime/JSObject.cpp:

(JSC::JSObject::hasProperty):
(JSC::JSObject::hasOwnProperty):
(JSC::JSObject::reifyStaticFunctionsForDelete):

  • runtime/Lookup.h:

(JSC::getStaticPropertyDescriptor):
(JSC::getStaticFunctionDescriptor):
(JSC::getStaticValueDescriptor):

  • runtime/ObjectConstructor.cpp:

(JSC::defineProperties):

  • runtime/PropertySlot.h:
3:11 PM Changeset in webkit [153672] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Removing a <link> element with an empty stylesheet shouldn't trigger style recalc.
<http://webkit.org/b/119442>
<rdar://problem/14631785>

Reviewed by Antti Koivisto.

Let Document decide whether or not to do a style recalc after a <link> element is removed.
This avoids unnecessary work when removing a <link> that refers to an empty style sheet.

Some Facebook pages have a <link rel="stylesheet" href="data:text/css;base64,"> that gets
removed during the initial page load, causing style recalc.

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::removedFrom):

Use DeferRecalcStyleIfNeeded. Since the style sheet is being removed, it will either
cause a recalc (because it's no longer in the set of active sheets) or do nothing.

2:50 PM Changeset in webkit [153671] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG validation can cause assertion failures due to dumping
https://bugs.webkit.org/show_bug.cgi?id=119456

Reviewed by Geoffrey Garen.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::hasHash):
(JSC::CodeBlock::isSafeToComputeHash):
(JSC::CodeBlock::hash):
(JSC::CodeBlock::dumpAssumingJITType):

  • bytecode/CodeBlock.h:
2:35 PM Changeset in webkit [153670] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Forms: color] WebColorPickerMac deconstructor shouldn't assert a variable
<rdar://problem/14627633> and https://bugs.webkit.org/show_bug.cgi?id=119419

Patch by Ruth Fong <ruth_fong@apple.com> on 2013-08-02
Reviewed by Tim Horton.

  • UIProcess/mac/WebColorPickerMac.mm:

(WebKit::WebColorPickerMac::~WebColorPickerMac): If the m_colorPickerUI variable

is not null, then properly destroy it first before destroying WebColorPickerMac object.

2:32 PM Changeset in webkit [153669] by commit-queue@webkit.org
  • 7 edits in trunk

Have vm's exceptionStack match java's vm's exceptionStack.
https://bugs.webkit.org/show_bug.cgi?id=119362

Source/JavaScriptCore:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-02
Reviewed by Geoffrey Garen.

The error object's stack is only updated if it does not exist yet. This matches
the functionality of other browsers, and Java VMs.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::addStackTraceIfNecessary):
(JSC::Interpreter::throwException):

  • runtime/VM.cpp:

(JSC::VM::clearExceptionStack):

  • runtime/VM.h:

(JSC::VM::lastExceptionStack):

LayoutTests:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-02
Reviewed by Geoffrey Garen.

All modifications to the tests below are column number changes. If the thrown
object was created by the user the column number references the error object,
otherwise it references the the throw.

  • fast/events/window-onerror5-expected.txt:
  • fast/js/line-column-numbers-expected.txt:
  • fast/js/stack-trace-expected.txt:
  • http/tests/workers/worker-importScriptsOnError-expected.txt:
2:30 PM Changeset in webkit [153668] by Patrick Gansterer
  • 3 edits in trunk/Source/WebCore

Remove WebCore folder from include statements
https://bugs.webkit.org/show_bug.cgi?id=119438

Reviewed by Darin Adler.

This aligns the style of the changed files with the other WebCore code.

  • platform/network/curl/CurlDownload.cpp:
  • platform/network/curl/CurlDownload.h:
2:27 PM Changeset in webkit [153667] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Forms: color] The positioning of the popover color well is inverted
<rdar://problem/14635621> and https://bugs.webkit.org/show_bug.cgi?id=119455

Patch by Ruth Fong <ruth_fong@apple.com> on 2013-08-02
Reviewed by Tim Horton.

This patch converts the coordinates of the <input type='color'> element to
the window's base coordinate system.

  • UIProcess/mac/WebColorPickerMac.mm:

(-[WKColorPopoverMac initWithFrame:inView:]):

2:07 PM Changeset in webkit [153666] by Simon Fraser
  • 2 edits in trunk/LayoutTests

webaudio/javascriptaudionode-downmix8-2channel-input.html sometimes asserts
https://bugs.webkit.org/show_bug.cgi?id=119459

  • platform/mac-wk2/TestExpectations:
1:28 PM Changeset in webkit [153665] by Lucas Forschler
  • 6 edits in branches/safari-537-branch/Source/WebCore

Merged r153641. <rdar://problem/14629045>

1:10 PM Changeset in webkit [153664] by achristensen@apple.com
  • 10 edits
    2 adds in trunk/Source/ThirdParty/ANGLE

Soft link ANGLE on Windows.
https://bugs.webkit.org/show_bug.cgi?id=119452

Reviewed by Dean Jackson.

  • ANGLE.vcxproj/libEGL.vcxproj:
  • ANGLE.vcxproj/libEGL.vcxproj.filters:
  • ANGLE.vcxproj/libGLESv2.vcxproj:
  • ANGLE.vcxproj/libGLESv2.vcxproj.filters:

Added soft linking headers.

  • ANGLE.vcxproj/libEGLCommon.props:
  • ANGLE.vcxproj/libGLESv2Common.props:
  • ANGLE.vcxproj/translatorCommon.props:

Added ANGLE_WEBKIT_WIN macro definition for egl.h and gl2.h.

  • include/EGL/egl.h:
  • include/GLES2/gl2.h:

Conditionally include soft linking headers based on ANGLE_WEBKIT_WIN macro.

  • include/EGL/eglsoftlinking.h: Added.
  • include/GLES2/gl2softlinking.h: Added.
12:56 PM Changeset in webkit [153663] by Lucas Forschler
  • 5 edits
    4 copies in branches/safari-537-branch

Merged r153649. <rdar://problem/14601124>

12:51 PM Changeset in webkit [153662] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WTF

Merged r153635. <rdar://problem/14528244>

12:34 PM Changeset in webkit [153661] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

FormAssociatedElement shouldn't create out-of-tree FormAttributeTargetObserver
https://bugs.webkit.org/show_bug.cgi?id=119309

Reviewed by Kent Tamura.

Merge https://chromium.googlesource.com/chromium/blink/+/6fbdcbf311de539107bc28711b3f7a527176e97b.

I'm not merging the test since the attached test case only works when the shadow DOM API is enabled.

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::formAttributeChanged):
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):

11:52 AM Changeset in webkit [153660] by Christophe Dumez
  • 9 edits in trunk

compareDocumentPosition() should report PRECEDING or FOLLOWING information even if nodes are disconnected
https://bugs.webkit.org/show_bug.cgi?id=119316

Reviewed by Ryosuke Niwa.

Source/WebCore:

As per the latest specification, compareDocumentPosition() should report PRECEDING or FOLLOWING
information even if nodes are disconnected:

This behavior is consistent with both IE10, Firefox 22 and since recently Blink.

No new tests, covered by existing tests.

  • dom/Node.cpp:

(WebCore::compareDetachedElementsPosition):
(WebCore::Node::compareDocumentPosition):

LayoutTests:

Update fast/dom/compare-document-position-disconnected-nodes.html to check that compareDocumentPosition()
now returns one of the following values for disconnected nodes:

  • DOCUMENT_POSITION_DISCONNECTED | DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | DOCUMENT_POSITION_PRECEDING
  • DOCUMENT_POSITION_DISCONNECTED | DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | DOCUMENT_POSITION_FOLLOWING

Several dom/xhtml/level3 are skipped and marked as WonfFix because they are outdated and no longer match
the DOM4 specification. They expect compareDocumentPosition() not to return PRECEDING / FOLLOWING
information for disconnected nodes.

  • TestExpectations:
  • dom/xhtml/level3/core/nodecomparedocumentposition38-expected.txt:
  • fast/dom/compare-document-position-disconnected-nodes-expected.txt:
  • fast/dom/compare-document-position-disconnected-nodes.html:
  • fast/dom/shadow/compare-document-position-expected.txt:
  • fast/dom/shadow/compare-document-position.html:
11:45 AM Changeset in webkit [153659] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(FTL): Fix mips implementation of ctiVMThrowTrampolineSlowpath.
https://bugs.webkit.org/show_bug.cgi?id=119447

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-02
Reviewed by Geoffrey Garen.

Fix .cpload, update call frame and do not restore registers from JIT stack frame in
mips implementation of ctiVMThrowTrampolineSlowpath. This change is similar to
r153583 (sh4) and r153648 (ARM).

  • jit/JITStubsMIPS.h:
11:42 AM Changeset in webkit [153658] by commit-queue@webkit.org
  • 1 edit
    45 adds in trunk/LayoutTests

Implement canvas blending test that should validate the following scenarios:
Validate that all blending operators work as expected for the following layer combinations:

https://bugs.webkit.org/show_bug.cgi?id=119082

Patch by Mihai Tica <mitica@adobe.com> on 2013-08-02
Reviewed by Dirk Schulze.

  • fast/canvas/canvas-blending-clipping-expected.txt: Added.
  • fast/canvas/canvas-blending-clipping.html: Added.
  • fast/canvas/canvas-blending-color-over-color-expected.txt: Added.
  • fast/canvas/canvas-blending-color-over-color.html: Added.
  • fast/canvas/canvas-blending-color-over-gradient-expected.txt: Added.
  • fast/canvas/canvas-blending-color-over-gradient.html: Added.
  • fast/canvas/canvas-blending-color-over-image-expected.txt: Added.
  • fast/canvas/canvas-blending-color-over-image.html: Added.
  • fast/canvas/canvas-blending-color-over-pattern-expected.txt: Added.
  • fast/canvas/canvas-blending-color-over-pattern.html: Added.
  • fast/canvas/canvas-blending-fill-style-expected.txt: Added.
  • fast/canvas/canvas-blending-fill-style.html: Added.
  • fast/canvas/canvas-blending-global-alpha-expected.txt: Added.
  • fast/canvas/canvas-blending-global-alpha.html: Added.
  • fast/canvas/canvas-blending-gradient-over-color-expected.txt: Added.
  • fast/canvas/canvas-blending-gradient-over-color.html: Added.
  • fast/canvas/canvas-blending-gradient-over-gradient-expected.txt: Added.
  • fast/canvas/canvas-blending-gradient-over-gradient.html: Added.
  • fast/canvas/canvas-blending-gradient-over-image-expected.txt: Added.
  • fast/canvas/canvas-blending-gradient-over-image.html: Added.
  • fast/canvas/canvas-blending-gradient-over-pattern-expected.txt: Added.
  • fast/canvas/canvas-blending-gradient-over-pattern.html: Added.
  • fast/canvas/canvas-blending-helpers.js: Added.

(separateBlendFunctions.normal):
(separateBlendFunctions.multiply):
(separateBlendFunctions.screen):
(separateBlendFunctions.overlay):
(separateBlendFunctions.darken):
(separateBlendFunctions.lighten):
(separateBlendFunctions.colorDodge):
(separateBlendFunctions.colorBurn):
(separateBlendFunctions.hardLight):
(separateBlendFunctions.softLight):
(separateBlendFunctions.difference):
(separateBlendFunctions.exclusion):
(applyBlendMode):
(luminosity):
(clipColor):
(setLuminosity):
(saturation):
(setSaturation):
(nonSeparateBlendFunctions.hue):
(nonSeparateBlendFunctions.saturation):
(nonSeparateBlendFunctions.color):
(nonSeparateBlendFunctions.luminosity):
(drawColorInContext):
(drawBackdropColorInContext):
(drawSourceColorInContext):
(fillPathWithColorInContext):
(fillPathWithBackdropInContext):
(fillPathWithSourceInContext):
(applyTransformsToContext):
(drawBackdropColorWithShadowInContext):
(drawSourceColorRectOverShadow):
(.backdropImage.onload):
(drawColorImageInContext):
(drawBackdropColorImageInContext):
(drawSourceColorImageInContext):
(drawColorPatternInContext):
(drawBackdropColorPatternInContext):
(drawSourceColorPatternInContext):
(drawGradientInContext):
(drawBackdropColorGradientInContext):
(drawSourceColorGradientInContext):
(blendColors):
(separateBlendColors):
(nonSeparateBlendColors):

  • fast/canvas/canvas-blending-image-over-color-expected.txt: Added.
  • fast/canvas/canvas-blending-image-over-color.html: Added.
  • fast/canvas/canvas-blending-image-over-gradient-expected.txt: Added.
  • fast/canvas/canvas-blending-image-over-gradient.html: Added.
  • fast/canvas/canvas-blending-image-over-image-expected.txt: Added.
  • fast/canvas/canvas-blending-image-over-image.html: Added.
  • fast/canvas/canvas-blending-image-over-pattern-expected.txt: Added.
  • fast/canvas/canvas-blending-image-over-pattern.html: Added.
  • fast/canvas/canvas-blending-pattern-over-color-expected.txt: Added.
  • fast/canvas/canvas-blending-pattern-over-color.html: Added.
  • fast/canvas/canvas-blending-pattern-over-gradient-expected.txt: Added.
  • fast/canvas/canvas-blending-pattern-over-gradient.html: Added.
  • fast/canvas/canvas-blending-pattern-over-image-expected.txt: Added.
  • fast/canvas/canvas-blending-pattern-over-image.html: Added.
  • fast/canvas/canvas-blending-pattern-over-pattern-expected.txt: Added.
  • fast/canvas/canvas-blending-pattern-over-pattern.html: Added.
  • fast/canvas/canvas-blending-shadow-expected.txt: Added.
  • fast/canvas/canvas-blending-shadow.html: Added.
  • fast/canvas/canvas-blending-text-expected.txt: Added.
  • fast/canvas/canvas-blending-text.html: Added.
  • fast/canvas/canvas-blending-transforms-expected.txt: Added.
  • fast/canvas/canvas-blending-transforms.html: Added.
11:27 AM Changeset in webkit [153657] by fpizlo@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

hasIndexingHeader should be a property of the Structure, not just the IndexingType
https://bugs.webkit.org/show_bug.cgi?id=119422

Reviewed by Oliver Hunt.

This simplifies some code and also allows Structure to claim that an object
has an indexing header even if it doesn't have indexed properties.

I also changed some calls to use hasIndexedProperties() since in some cases,
that's what we actually meant. Currently the two are synonyms.

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryCachePutByID):
(JSC::DFG::tryBuildPutByIdList):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::create):
(JSC::Butterfly::growPropertyStorage):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):

  • runtime/IndexingType.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::copyButterfly):
(JSC::JSObject::visitButterfly):
(JSC::JSObject::setPrototype):

  • runtime/JSObject.h:

(JSC::JSObject::setButterfly):

  • runtime/JSPropertyNameIterator.cpp:

(JSC::JSPropertyNameIterator::create):

  • runtime/Structure.h:

(JSC::Structure::hasIndexingHeader):

11:16 AM Changeset in webkit [153656] by Lucas Forschler
  • 5 edits in tags/Safari-537.54.1/Source

Versioning.

11:03 AM Changeset in webkit [153655] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Revert r153632, since it caused fast/forms/change-form-element-document-crash.html
to assert.

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::formAttributeChanged):
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):

10:50 AM Changeset in webkit [153654] by Lucas Forschler
  • 1 copy in tags/Safari-537.54.1

New Tag.

9:40 AM Changeset in webkit [153653] by mark.lam@apple.com
  • 2 edits in branches/safari-537-branch/LayoutTests

Bot greening: changed test to not use test functions not yet available in this branch.

Not reviewed.

  • fast/js/script-tests/dfg-make-rope-side-effects.js:

(f):

9:02 AM Changeset in webkit [153652] by mario@webkit.org
  • 4 edits in trunk/Source

Implement atk_text_get_text_*_offset for WORD
https://bugs.webkit.org/show_bug.cgi?id=114871

Reviewed by Martin Robinson.

Source/WebCore:

Re-implement this functions without using GailTextUtil nor Pango.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(textForObject): Made the parameter a const, to avoid warnings.
(getSelectionOffsetsForObject): Add special cases for END boundaries.
(emptyTextSelectionAtOffset): Convenience function to be used in
early returns from functions returning both text and offsets.
(webkitAccessibleTextGetChar): Use emptyTextSelectionAtOffset(),
and remove checks that are now done outside of this function, in
webkitAccessibleTextGetTextForOffset().
(nextWordStartPosition): Helper function to reliably find the
start of the next word as and user would do it by navigating with
Ctrl and the arrows (considering spaces and punctuation).
(previousWordEndPosition): Similar to nextWordStartPosition, but
written to help find the end of the previous one.
(wordAtPositionForAtkBoundary): Helper function to find the word
at a given position considering values of AtkTextBoundary.
(numberOfReplacedElementsBeforeOffset): Helper function to help
figure out how many embedded objects we have exposed for an
AtkText object, used to adjust offsets coming from outside.
(webkitAccessibleTextGetWordForBoundary): New function,
implementing atk_text_get_text_*_offset for WORD.
(webkitAccessibleTextGetTextForOffset): Replace usage of Gail for
WORD boundaries with webkitAccessibleTextGetWordForBoundary().
Also, moved the initialization of the start and end offsets to the
bottom, into the gail/pango section, since those values will be
from now on initialized in getSelectionOffsetsForObject().
(webkitAccessibleTextGetSelection): Removed the initialization of
the start and end offsets, since those values will be from now on
initialized in getSelectionOffsetsForObject().

Source/WebKit/gtk:

Updated current unit tests and add a new one specific for embedded
objects, to ensure we are covering even more cases than before.

  • tests/testatk.c:

(testWebkitAtkGetTextAtOffsetWithEmbeddedObjects): New.
(main): Added new test to the test suite.

8:52 AM Changeset in webkit [153651] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] REGRESSION after r153432: some accessibility tests crash.
https://bugs.webkit.org/show_bug.cgi?id=119333

Patch by Mario Sanchez Prada <mario.prada@samsung.com> on 2013-08-02
Reviewed by Gustavo Noronha Silva.

Add missing null-check to avoid dereferencing a non-existent parent.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::attributesOfElement): Ditto.

8:40 AM Changeset in webkit [153650] by zarvai@inf.u-szeged.hu
  • 3 edits in trunk/Source/WebCore

Buildfix for !ENABLE(SVG) platforms after r153581.
https://bugs.webkit.org/show_bug.cgi?id=119444

Reviewed by Andreas Kling.

Adding missing guards.

  • css/StylePropertyShorthand.cpp:

(WebCore::matchingShorthandsForLonghand):

  • css/StylePropertyShorthand.h:
8:18 AM Changeset in webkit [153649] by beidson@apple.com
  • 5 edits
    2 copies
    2 adds in trunk

REGRESSION (r130783): Scrolling is broken going back to a cached page from a page that still has outstanding subresources.
<rdar://problem/14601124> and https://bugs.webkit.org/show_bug.cgi?id=119416

Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::stopLoading): Always explicitly cancel the Document parser when stopLoading is called.

LayoutTests:

  • http/tests/loading/resources/page-with-slow-loading-subresource.html: Added.
  • http/tests/loading/resources/slowimage.php: Added.
  • http/tests/loading/unfinished-load-back-to-cached-page-callbacks-expected.txt:
  • http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html:
  • http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks-expected.txt: Copied from LayoutTests/http/tests/loading/unfinished-load-back-to-cached-page-callbacks-expected.txt.
  • http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: Copied from LayoutTests/http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html.
7:59 AM Changeset in webkit [153648] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION: ARM still crashes after change set r153612.
https://bugs.webkit.org/show_bug.cgi?id=119433

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-02
Reviewed by Michael Saboff.

Update call frame and do not restore registers from JIT stack frame in ARM and ARMv7
implementations of ctiVMThrowTrampolineSlowpath. This change is similar to r153583
for sh4 architecture.

  • jit/JITStubsARM.h:
  • jit/JITStubsARMv7.h:
7:58 AM Changeset in webkit [153647] by Antoine Quint
  • 36 edits
    4 adds in trunk

<input type="search"> doesn't correctly handle the "size" attribute
https://bugs.webkit.org/show_bug.cgi?id=119174

Source/WebCore:

We weren't taking into account the decorations for search fields (results and close buttons)
when computing the preferred logical width for these fields based on the "size" attribute
and as a result we would not guarantee that we could show the number of characters set by
the "size" attribute.

To make the process of reporting extra width due to decorations cleaner, we add a new decorationWidth()
method for InputType subclasses to override and called through HTMLInputElement::decorationWidth()
and have NumberInputType and SearchInputType return custom decoration widths.

Reviewed by Darin Adler.

Test: fast/forms/search/search-size-with-decorations.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::decorationWidth):

  • html/HTMLInputElement.h:
  • html/InputType.cpp:

(WebCore::InputType::decorationWidth):

  • html/InputType.h:

Expose a new method to get the width for the input's decoration through the InputType.

  • html/NumberInputType.cpp:

(WebCore::NumberInputType::decorationWidth):

  • html/NumberInputType.h:

Override InputType::decorationWidth() to return the decoration width for a number input
using the same code previously used in RenderTextControlSingleLine::preferredContentLogicalWidth().

  • html/SearchInputType.cpp:

(WebCore::SearchInputType::sizeShouldIncludeDecoration):
Override InputType::sizeShouldIncludeDecoration() to return true since search fields
have custom decoration adding to the size of the field.

(WebCore::SearchInputType::decorationWidth):
Return the combined size of the results and cancel buttons, as available.

  • html/SearchInputType.h:
  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
Remove the code specific to NumberInputType (which was moved to InputType::decorationWidth())
and replace it with a call to HTMLInputElement::decorationWidth() since this method will now
return the extra decoration width for an input element should it have any.

LayoutTests:

New test fast/forms/search/search-size-with-decorations.html that checks the different
decorations for search fields and the resulting sizes.

Also rebaselining the following tests since the rendering of search fields changed:

fast/forms/search-cancel-button-style-sharing.html
fast/forms/search-display-none-cancel-button.html
fast/forms/searchfield-heights.html
fast/forms/control-restrict-line-height.html
fast/forms/placeholder-pseudo-style.html
fast/forms/search-rtl.html
fast/css/text-overflow-input.html
fast/forms/placeholder-position.html
fast/repaint/search-field-cancel.html
fast/forms/input-appearance-height.html
fast/forms/search-vertical-alignment.html
fast/forms/box-shadow-override.html
fast/forms/search/search-size-with-decorations.html
fast/css/input-search-padding.html
fast/forms/search-styled.html

Reviewed by Darin Adler.

  • fast/forms/placeholder-position-expected.txt:
  • fast/forms/search/search-size-with-decorations-expected.txt: Added.
  • fast/forms/search/search-size-with-decorations.html: Added.
  • fast/repaint/search-field-cancel-expected.txt:
  • platform/mac/fast/css/input-search-padding-expected.txt:
  • platform/mac/fast/css/text-overflow-input-expected.png:
  • platform/mac/fast/css/text-overflow-input-expected.txt:
  • platform/mac/fast/forms/box-shadow-override-expected.png:
  • platform/mac/fast/forms/box-shadow-override-expected.txt:
  • platform/mac/fast/forms/control-restrict-line-height-expected.png:
  • platform/mac/fast/forms/control-restrict-line-height-expected.txt:
  • platform/mac/fast/forms/input-appearance-height-expected.png:
  • platform/mac/fast/forms/input-appearance-height-expected.txt:
  • platform/mac/fast/forms/placeholder-position-expected.png:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.png:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/forms/search-cancel-button-style-sharing-expected.png:
  • platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
  • platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/mac/fast/forms/search-rtl-expected.png:
  • platform/mac/fast/forms/search-rtl-expected.txt:
  • platform/mac/fast/forms/search-styled-expected.txt:
  • platform/mac/fast/forms/search-vertical-alignment-expected.png:
  • platform/mac/fast/forms/search-vertical-alignment-expected.txt:
  • platform/mac/fast/forms/search/search-size-with-decorations-expected.png: Added.
  • platform/mac/fast/forms/searchfield-heights-expected.png:
  • platform/mac/fast/forms/searchfield-heights-expected.txt:
  • platform/mac/fast/repaint/search-field-cancel-expected.png:
7:46 AM Changeset in webkit [153646] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

REGRESSION(r153612): It made jsc and layout tests crash
https://bugs.webkit.org/show_bug.cgi?id=119440

Reviewed by Csaba Osztrogonác.

Made the changes if changeset r153612 only apply to 32 bit builds.

  • jit/JITExceptions.cpp:
  • jit/JITExceptions.h:
  • jit/JITStubs.cpp:

(JSC::cti_vm_throw_slowpath):

  • jit/JITStubs.h:
5:19 AM Changeset in webkit [153645] by Patrick Gansterer
  • 3 edits in trunk/Source/WebCore

[WIN] Fix build without precompiled header.

  • accessibility/win/AccessibilityObjectWrapperWin.h: Added missing include.
  • rendering/RenderThemeWin.cpp: Ditto.
4:37 AM Changeset in webkit [153644] by Patrick Gansterer
  • 2 edits in trunk/Source/JavaScriptCore

Add JSCTestRunnerUtils to the list of forwarding headers to fix build.

  • CMakeLists.txt:
3:49 AM Changeset in webkit [153643] by bw80.lee@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove redundant call of argsList->current() from loops in CSSParser.
https://bugs.webkit.org/show_bug.cgi?id=119432

Reviewed by Christophe Dumez.

while loops in CSSParser call argList->current() function at the start
of each iteration, but this is redundant because argsList->next() at
the end of the iteration calls the argList->current() and returns the
result.

Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=155402

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseMixFunction):
(WebCore::CSSParser::parseCustomFilterFunctionWithInlineSyntax):

2:22 AM Changeset in webkit [153642] by akling@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Correct bugzilla link in my last commit.

2:15 AM Changeset in webkit [153641] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Removing an empty style sheet shouldn't trigger style recalc.
<http://webkit.org/b/119248>
<rdar://problem/14629045>

Reviewed by Antti Koivisto.

Teach DocumentStyleSheetCollection to filter out empty style sheets when deciding whether
or not to trigger a style recalc. We can then be clever when an empty style sheet is removed
from the document, and avoid causing extra work.

Some pages use this pattern:

(1) Create a <style> element.
(2) Add it to the document's <head> element.
(3) Insert some CSS as a text child of the <style> element.

Since the <style> element is already inside the document at (3), we had to treat this as an
old style sheet being removed, even though it was just an empty sheet of nothing.

With this patch, Document gains enough smarts to know that removing/adding an empty sheet
won't affect layout/rendering in any meaningful way, thus a style recalc can be avoided.

  • dom/Document.h:
  • dom/Document.cpp:

(WebCore::Document::styleResolverChanged):

Add a DeferRecalcStyleIfNeeded mode to styleResolverChanged().

  • css/CSSStyleSheet.h:
  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::clearOwnerNode):

Use DeferRecalcStyleIfNeeded when saying bye from a CSSStyleSheet and let Document decide
if removing the sheet should trigger style recalc instead of always assuming it should.

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::filterEnabledNonemptyCSSStyleSheets):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):

Exclude empty sheets from the activeAuthorStyleSheets() collection. They are still
visible through CSSOM's document.styleSheets.

1:58 AM Changeset in webkit [153640] by Alan Bujtas
  • 5 edits
    3 adds in trunk

Frame flattening: Change the logic on whether resize event needs to be dispatched.
https://bugs.webkit.org/show_bug.cgi?id=119394

Reviewed by Simon Fraser.

http://trac.webkit.org/changeset/149287 changed the logic so that resize events are
sent out from FrameView::setFrameRect() too. Checking whether frame flattening is
enabled is sufficient enough to ensure that no extra resize events are dispatched.

Source/WebCore:

Test: fast/frames/flattening/iframe-flattening-resize-event-count.html

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::frameFlatteningEnabled):
(WebCore::FrameView::supportsFrameFlattening):
(WebCore::FrameView::avoidScrollbarCreation):
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::layout):
(WebCore::FrameView::isInChildFrameWithFrameFlattening):

  • page/FrameView.h:
  • rendering/RenderFrameBase.cpp:

(WebCore::RenderFrameBase::layoutWithFlattening):

LayoutTests:

  • fast/frames/flattening/iframe-flattening-resize-event-count-expected.txt: Added.
  • fast/frames/flattening/iframe-flattening-resize-event-count.html: Added.
  • fast/frames/flattening/resources/iframe-to-resize.html: Added.
1:32 AM Changeset in webkit [153639] by Patrick Gansterer
  • 2 edits in trunk/Tools

Add --rmdir option to git svn dcommit
https://bugs.webkit.org/show_bug.cgi?id=119398

Reviewed by Ryosuke Niwa.

Add this option tells git-svn to remove empty directories
from the svn tree so they do not leave over there.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.push_local_commits_to_server):

1:20 AM Changeset in webkit [153638] by mikhail.pozdnyakov@intel.com
  • 2 edits in trunk/Source/WTF

Check WTF::Vector size with '0' inline capacity
https://bugs.webkit.org/show_bug.cgi?id=119397

Reviewed by Andreas Kling.

Putting in place the compile assertion that had been removed with r153514.

  • wtf/SizeLimits.cpp:
12:51 AM Changeset in webkit [153637] by mrowe@apple.com
  • 2 edits in trunk/Source/WTF

<http://webkit.org/b/119169> RetainPtr should support ARC for Objective-C objects.

While RetainPtr is not necessary under ARC, having it available makes it easier to transition
existing code from manual retain / release to ARC.

Under ARC, the object member of RetainPtr is treated as a strong reference by the compiler.
This means that merely assigning to the member variable is sufficient to retain the object,
and clearing the member variable is sufficient to release it. We still need to explicitly
CFRetain / CFRelease CoreFoundation types so the explicit calls to these functions are
moved in to helper functions and overloading is used to have the Objective-C object versions
of them be no-ops under ARC.

Reviewed by Anders Carlsson.

  • wtf/RetainPtr.h:

(WTF::retain): Continue to always CFRetain / CFRelease CoreFoundation objects. Only CFRetain / CFRelease
Objective-C objects when using manual retain / release.
(WTF::release): Ditto.
(WTF::adoptNSReference): Adopting references will be handled automatically by the compiler
when possible under ARC by eliminating redundant retain / release pairs.
(WTF::RetainPtr::ImplicitConversionToBoolIsNotAllowed): A new method that exists only to be used by the
conversion to the unspecified bool type.
(WTF::RetainPtr::operator UnspecifiedBoolType): Switch to using a pointer to a member function as the
unspecified bool type to avoid warnings from the compiler when casting Objective-C object types under ARC.

(WTF::RetainPtr::RetainPtr): Switch to our retain / release helper functions.
(WTF::RetainPtr::~RetainPtr): Ditto.
(WTF::::RetainPtr): Ditto.
(WTF::::clear): Ditto.
(WTF::=): Ditto.
(WTF::adoptCF): Annotate the argument with CF_RELEASES_ARGUMENT on both the declaration and the definition.
(WTF::adoptNS): Ditto for NS_RELEASES_ARGUMENT.

Note: See TracTimeline for information about the timeline view.