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

Timeline



Aug 21, 2013:

10:02 PM Changeset in webkit [154437] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Update Mac test expectations.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
9:40 PM Changeset in webkit [154436] by commit-queue@webkit.org
  • 24 edits in trunk

Unreviewed, rolling out r154416.
http://trac.webkit.org/changeset/154416
https://bugs.webkit.org/show_bug.cgi?id=120147

Broke Windows builds (Requested by rniwa on #webkit).

Source/JavaScriptCore:

Source/WebCore:

  • WebCore.vcxproj/WebCoreGenerated.make:
  • WebCore.vcxproj/WebCoreGeneratedWinCairo.make:
  • WebCore.vcxproj/WebCoreGeneratedWinCairoCommon.props:
  • WebCore.vcxproj/build-generated-files.sh:
  • WebCore.vcxproj/copyForwardingHeaders.cmd:
  • WebCore.vcxproj/copyWebCoreResourceFiles.cmd:

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKitPostBuild.cmd:
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorBuildCmd.cmd:
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPostBuild.cmd:
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd:

Source/WTF:

  • WTF.vcxproj/WTFGenerated.make:
  • WTF.vcxproj/build-generated-files.sh:

WebKitLibraries:

  • win/tools/vsprops/common.props:
7:06 PM Changeset in webkit [154435] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Unreviewed build fix after r154430.

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::hasFilters): Added CSS_FILTERS guard.

6:04 PM Changeset in webkit [154434] by barraclough@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Clarify var/const/function declaration
https://bugs.webkit.org/show_bug.cgi?id=120144

Reviewed by Sam Weinig.

Add methods to JSGlobalObject to declare vars, consts, and functions.

  • runtime/Executable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties):

  • runtime/Executable.h:
    • Moved declaration code to JSGlobalObject
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::addGlobalVar):

  • internal implementation of addVar, addConst, addFunction
  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::addVar):
(JSC::JSGlobalObject::addConst):
(JSC::JSGlobalObject::addFunction):

  • Added methods to declare vars, consts, and functions
6:00 PM Changeset in webkit [154433] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Another null-deref under WebDragClient::startDrag
https://bugs.webkit.org/show_bug.cgi?id=120145
<rdar://problem/14650652>

Reviewed by Simon Fraser.

convertImageToBitmap can legitimately return null, so don't dereference it.

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::WebDragClient::startDrag):

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

Versioning

5:48 PM Changeset in webkit [154431] by Lucas Forschler
  • 1 copy in tags/Safari-537.61

New Tag.

5:15 PM Changeset in webkit [154430] by Simon Fraser
  • 5 edits
    2 adds in trunk

Setting -webkit-filter: in :active selector causes failure to redraw
https://bugs.webkit.org/show_bug.cgi?id=120135

Source/WebCore:

Reviewed by Jer Noble.

When removing a filter on an inline child of a compositing layer,
the inline loses its RenderLayer and compositing layer, but we fail to
repaint the compositing layer that the inline is now painting into.

This worked correctly for opacity, because opacity toggles cause
layouts (which then paint the correct layer), so do the same for filters.

Test: css3/filters/remove-filter-repaint.html

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout): Return true if we toggled
between having filters and not. Drive-by cleanup, making use of new convenience
function for hasOpacity().

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::hasFilters): Returns true if we have any
filters.

  • rendering/style/StyleRareNonInheritedData.h:

(WebCore::StyleRareNonInheritedData::hasOpacity): Convenience function that
returns true if opacity is < 1.

LayoutTests:

Reviewed by Jer Noble.

Ref test for removing a filter on an inline.

  • css3/filters/remove-filter-repaint-expected.html: Added.
  • css3/filters/remove-filter-repaint.html: Added.
4:34 PM Changeset in webkit [154429] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=119900
Exception in global setter doesn't unwind correctly

Patch by Yi Shen <max.hong.shen@gmail.com> on 2013-08-21
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Call VM_THROW_EXCEPTION_AT_END in op_put_to_scope if the setter throws exception.

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

LayoutTests:

Add test for calling global setter which throws exception.

  • fast/js/script-tests/throw-exception-in-global-setter.js: Added.

(g):

  • fast/js/throw-exception-in-global-setter-expected.txt: Added.
  • fast/js/throw-exception-in-global-setter.html: Added.
4:27 PM Changeset in webkit [154428] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

<https://webkit.org/b/120140> Clients expect didFirstLayout-related calls to
happen before didLayout

Reviewed by Anders Carlsson.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidLayout):

4:18 PM Changeset in webkit [154427] by Brent Fulgham
  • 3 edits in trunk/Source/WebInspectorUI

[Windows] Clean up project file after %PlatformArchitecture% change landed.

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove hard-coded settings covered

by our configuration files.

  • WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Use the %PlatformArchitecture%

macro to support 32- and 64-bit builds.

4:10 PM Changeset in webkit [154426] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Rename/refactor setButterfly/setStructure
https://bugs.webkit.org/show_bug.cgi?id=120138

Reviewed by Geoffrey Garen.

setButterfly becomes setStructureAndButterfly.

Also removed the Butterfly* argument from setStructure and just implicitly
used m_butterfly internally since that's what every single client of setStructure
was doing already.

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/JSObject.cpp:

(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::createInitialUndecided):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToContiguous):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::genericConvertDoubleToContiguous):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::setPrototype):
(JSC::JSObject::putDirectAccessor):
(JSC::JSObject::seal):
(JSC::JSObject::freeze):
(JSC::JSObject::preventExtensions):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::removeDirect):

  • runtime/JSObject.h:

(JSC::JSObject::setStructureAndButterfly):
(JSC::JSObject::setStructure):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::setStructureAndReallocateStorageIfNecessary):
(JSC::JSObject::putDirectWithoutTransition):

  • runtime/Structure.cpp:

(JSC::Structure::flattenDictionaryStructure):

4:03 PM Changeset in webkit [154425] by ap@apple.com
  • 7 edits in trunk/LayoutTests

http/tests/cookies/simple-cookies-expired.html sometimes fails on Lion Intel Release (Tests)
https://bugs.webkit.org/show_bug.cgi?id=73694

http/tests/cookies/simple-cookies-max-age.html sometimes fails on Lion Intel Release (Tests)
https://bugs.webkit.org/show_bug.cgi?id=73695

http/tests/cookies/single-quoted-value.html intermittently fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=105603

Reviewed by Dan Bernstein.

Woark around a CFNetwork issue by using Max-Age=-1 instead of Max-Age=0. Since it's
WebKit that we are testing and not the lower level networking, this does not change
test coverage.

  • http/tests/cookies/resources/clearCookies.cgi:
  • http/tests/cookies/resources/cookies-test-pre.js:
  • http/tests/cookies/simple-cookies-max-age.html:
  • http/tests/websocket/tests/hybi/httponly-cookie.pl:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
3:45 PM Changeset in webkit [154424] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] Reenable some tests that pass now.

  • platform/win/TestExpectations: Renable some tests
3:34 PM Changeset in webkit [154423] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=120127
Remove JSObject::propertyIsEnumerable

Unreviewed typo fix

  • runtime/JSObject.h:
    • fix typo
3:32 PM Changeset in webkit [154422] by barraclough@apple.com
  • 33 edits in trunk/Source

https://bugs.webkit.org/show_bug.cgi?id=120139
PropertyDescriptor argument to define methods should be const

Rubber stamped by Sam Weinig.

This should never be modified, and this way we can use rvalues.

Source/JavaScriptCore:

  • debugger/DebuggerActivation.cpp:

(JSC::DebuggerActivation::defineOwnProperty):

  • debugger/DebuggerActivation.h:
  • runtime/Arguments.cpp:

(JSC::Arguments::defineOwnProperty):

  • runtime/Arguments.h:
  • runtime/ClassInfo.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::defineOwnProperty):

  • runtime/JSArray.h:
  • runtime/JSArrayBuffer.cpp:

(JSC::JSArrayBuffer::defineOwnProperty):

  • runtime/JSArrayBuffer.h:
  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::defineOwnProperty):

  • runtime/JSArrayBufferView.h:
  • runtime/JSCell.cpp:

(JSC::JSCell::defineOwnProperty):

  • runtime/JSCell.h:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::defineOwnProperty):

  • runtime/JSFunction.h:
  • runtime/JSGenericTypedArrayView.h:
  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::::defineOwnProperty):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::defineOwnProperty):

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

(JSC::JSObject::putIndexedDescriptor):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::putDescriptor):
(JSC::JSObject::defineOwnNonIndexProperty):
(JSC::JSObject::defineOwnProperty):

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

(JSC::JSProxy::defineOwnProperty):

  • runtime/JSProxy.h:
  • runtime/RegExpMatchesArray.h:

(JSC::RegExpMatchesArray::defineOwnProperty):

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::defineOwnProperty):

  • runtime/RegExpObject.h:
  • runtime/StringObject.cpp:

(JSC::StringObject::defineOwnProperty):

  • runtime/StringObject.h:
    • make PropertyDescriptor const

Source/WebCore:

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::defineOwnProperty):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::defineOwnProperty):
(WebCore::JSLocationPrototype::defineOwnProperty):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • make PropertyDescriptor const
3:18 PM Changeset in webkit [154421] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit/win

<https://webkit.org/b/120125> [Windows] Correct Tooltip Text

Reviewed by Anders Carlsson.

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::runOpenPanel): Make sure valid strings are passed to the File Open
API call.

  • WebView.cpp:

(WebView::setToolTip): Correct tooltip text (avoid passing address to temporary
return value.)

2:43 PM Changeset in webkit [154420] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Remove a deleted test from the global TestExpectations

It was freaking lint-test-expectations out.

2:40 PM Changeset in webkit [154419] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

REGRESSION: Crash under JITCompiler::link while loading Gmail
https://bugs.webkit.org/show_bug.cgi?id=119872

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Apparently, unsigned + signed = unsigned. Work around it with a cast.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

LayoutTests:

Reviewed by Mark Hahnenberg.

  • fast/js/dfg-switch-imm-negative-expected.txt: Added.
  • fast/js/dfg-switch-imm-negative.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-switch-imm-negative.js: Added.

(foo):

2:36 PM Changeset in webkit [154418] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/120123> [BlackBerry] Incorrect origin of indexOfTile in LayerTiler can cause unnecessary texture jobs and waste memory

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-08-21
Reviewed by Yong Li.
Internally reviewed by Arvid Nilsson.

JIRA 481356
The origin of indexOfTile(origin) is incorrect in these two places. For
example, if the maxXMaxYCorner of the rect is (768, 768), there can be
three other redundant indexOfTile (0, 1), (1, 0), (1, 1) which can cause
unnecessary texture jobs and waste memory.
The origin should be the top left of the bottom right pixel of a rect.

  • platform/graphics/blackberry/LayerTiler.cpp:

(WebCore::LayerTiler::updateTextureContentsIfNeeded):
(WebCore::LayerTiler::processTextureJob):

2:32 PM Changeset in webkit [154417] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/116901> ASSERTION FAILED: !m_visibleDescendantStatusDirty on twitter

Reviewed by Beth Dakin.

In order to make decisions about compositing, the m_hasVisibleDescendant bit on RenderLayers
needs to be up-to-date when RenderLayerCompositor::computeCompositingRequirements is recursing
over the RenderLayer tree.

However, was possible for computeCompositingRequirements() to hit a layer whose m_visibleDescendantStatusDirty
bit was set; we only clear this bit from collectLayers() (when updating z-order lists), and from styleChanged()
which requires that style changed on the layer itself.

Fix by always calling updateDescendantDependentFlags() from computeCompositingRequirements().

Wasn't able to easily get a reduced testcase.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

2:24 PM Changeset in webkit [154416] by achristensen@apple.com
  • 24 edits in trunk

<https://webkit.org/b/120137> Separating Win32 and Win64 builds.

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

Pass PlatformArchitecture as a command line parameter to bash scripts.

Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).

Source/WebCore:

  • WebCore.vcxproj/WebCoreGenerated.make:
  • WebCore.vcxproj/WebCoreGeneratedWinCairo.make:

Pass PlatformArchitecture as a command line parameter to bash scripts
and use PlatformArchitecture to determine which directory to delete
while cleaning (obj32 or obj64).

  • WebCore.vcxproj/WebCoreGeneratedWinCairoCommon.props:

Export PlatformArchitecture to be used by make and cmd scripts.

  • WebCore.vcxproj/build-generated-files.sh:

Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).

  • WebCore.vcxproj/copyForwardingHeaders.cmd:
  • WebCore.vcxproj/copyWebCoreResourceFiles.cmd:

Use PlatformArchitecture to determine which directory to copy to (obj32 or obj64).

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKitPostBuild.cmd:
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorBuildCmd.cmd:
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPostBuild.cmd:
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd:

Use PlatformArchitecture to determine correct object directory (obj32 or obj64).

Source/WTF:

  • WTF.vcxproj/WTFGenerated.make:

Pass PlatformArchitecture as a command line parameter to bash scripts.

  • WTF.vcxproj/build-generated-files.sh:

Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).

WebKitLibraries:

  • win/tools/vsprops/common.props:

Export PlatformArchitecture to be used by make and cmd scripts.
Use PlatformArchitecture to determine correct build directory
(lib32/bin32/obj32 or lib64/bin64/obj64).

2:08 PM Changeset in webkit [154415] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

revalidateTiles and ensureTilesForRect can share a lot of code
https://bugs.webkit.org/show_bug.cgi?id=119282

Missed the review comments, whoops.

  • platform/graphics/ca/mac/TileController.h:
  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::prepopulateRect):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::ensureTilesForRect):

2:07 PM Changeset in webkit [154414] by akling@apple.com
  • 11 edits in trunk/Source/WebCore

<https://webkit.org/b/120115> SVG elements always have custom style resolve callbacks.

Reviewed by Antti Koivisto.

Simplify SVGElement construction by making them opt in to custom style resolve callbacks
by default, and removing the ability to pass a custom ConstructionType to some subclass
constructors.

  • dom/Node.h:

Add HasCustomStyleResolveCallbacksFlag to the CreateSVGElement mask.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::SVGElement):

  • svg/SVGElement.h:
  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::SVGGElement):

  • svg/SVGGElement.h:
  • svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::SVGGraphicsElement):

  • svg/SVGGraphicsElement.h:
  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::SVGImageElement):

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::SVGStyledElement):

  • svg/SVGStyledElement.h:

Remove calls to setHasCustomStyleResolveCallbacks() in SVGElement and subclasses.
Also remove unnecessary ConstructionType argument from subclasses since nobody
overrides it and everyone just uses CreateSVGElement.

2:04 PM Changeset in webkit [154413] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

revalidateTiles and ensureTilesForRect can share a lot of code
https://bugs.webkit.org/show_bug.cgi?id=119282

Reviewed by Simon Fraser.

No new tests, just a refactoring.

The bodies of ensureTilesForRect and revalidateTiles are nearly equivalent.

  • platform/graphics/ca/mac/TileController.h:

Add an enum, NewTileType, to note whether the tiles created by ensureTilesForRect will
be primary coverage tiles or secondary out-of-view tiles.

  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::prepopulateRect):
Move the code to see if we already have the requisite tiles in the
primary coverage rect, as well as our call to updateTileCoverageMap,
out into prepopulateRect, to generalize ensureTilesForRect.

(WebCore::TileController::revalidateTiles):
Make use of ensureTilesForRect. The platformCALayerDidCreateTiles call will happen there, now.

(WebCore::TileController::ensureTilesForRect):
Make ensureTilesForRect return the rect that it created tiles for, and only put
tiles in a cohort if we're creating secondary tiles.

2:03 PM Changeset in webkit [154412] by timothy_horton@apple.com
  • 5 edits in trunk

isReplacementObscured is wrong when the indicator is clipped by an iframe
https://bugs.webkit.org/show_bug.cgi?id=120031
<rdar://problem/14606819>

Reviewed by Simon Fraser.

Hit-test for plugin obscurity in the root document. To do this, we also need
to convert the indicator rectangle into root view coordinates before
hit testing its edges.

This resolves the case where an iframe which clips its content was reporting
the indicator as not obscured, despite the fact that it was obscured from the
point of view of the user.

Updated test plugins/unavailable-plugin-indicator-obscurity.html

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::isReplacementObscured):

Update the unavailable plugin indicator test to also ensure that plugins are
correctly known to be obscured when contained within and clipped by an <iframe>.

  • plugins/unavailable-plugin-indicator-obscurity-expected.txt:
  • plugins/unavailable-plugin-indicator-obscurity.html:
2:00 PM Changeset in webkit [154411] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

<https://webkit.org/b/120134> [Tools] lldb_webkit.py helpers is incorrectly printing 8bit Strings

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-08-21
Reviewed by Benjamin Poulain.

WTFString moved the is8bit bit by one in r152201.

  • lldb/lldb_webkit.py:

(WTFStringImplProvider.is_8bit):

1:58 PM Changeset in webkit [154410] by ap@apple.com
  • 2 edits in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=111650
REGRESSION (r143931): set-cookie-on-redirect.html still breaking subsequent tests

Reviewed by Brady Eidson.

Work around <rdar://problem/10080130> by making the cookie persistent, session
cookies are deleted in a way that confuses some code paths in CFNetwork.

I'll unskip tests later, with another cookie reliability fix.

  • http/tests/cookies/resources/set-cookie-on-redirect.php:
1:54 PM Changeset in webkit [154409] by akling@apple.com
  • 12 edits in trunk/Source

<https://webkit.org/b/120132> Frame::navigationScheduler() should return a reference.

Reviewed by Anders Carlzon.

Frame::m_navigationScheduler is an inline member, not a pointer.

1:53 PM Changeset in webkit [154408] by fpizlo@apple.com
  • 13 edits
    9 adds in trunk

Assertion failure in JSC::SlotVisitor::copyLater when marking JSDataView
https://bugs.webkit.org/show_bug.cgi?id=120099

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

JSDataView should not store the ArrayBuffer* in the butterfly indexing header, since
JSDataView may have ordinary JS indexed properties.

  • runtime/ClassInfo.h:
  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::finishCreation):

  • runtime/JSArrayBufferView.h:

(JSC::hasArrayBuffer):

  • runtime/JSArrayBufferViewInlines.h:

(JSC::JSArrayBufferView::buffer):
(JSC::JSArrayBufferView::neuter):
(JSC::JSArrayBufferView::byteOffset):

  • runtime/JSCell.cpp:

(JSC::JSCell::slowDownAndWasteMemory):

  • runtime/JSCell.h:
  • runtime/JSDataView.cpp:

(JSC::JSDataView::JSDataView):
(JSC::JSDataView::create):
(JSC::JSDataView::slowDownAndWasteMemory):

  • runtime/JSDataView.h:

(JSC::JSDataView::buffer):

  • runtime/JSGenericTypedArrayView.h:
  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::::visitChildren):
(JSC::::slowDownAndWasteMemory):

LayoutTests:

Reviewed by Mark Hahnenberg.

  • fast/js/regress/ArrayBuffer-DataView-alloc-large-long-lived-expected.txt: Added.
  • fast/js/regress/ArrayBuffer-DataView-alloc-large-long-lived.html: Added.
  • fast/js/regress/ArrayBuffer-DataView-alloc-long-lived-expected.txt: Added.
  • fast/js/regress/ArrayBuffer-DataView-alloc-long-lived.html: Added.
  • fast/js/regress/DataView-custom-properties-expected.txt: Added.
  • fast/js/regress/DataView-custom-properties.html: Added.
  • fast/js/regress/script-tests/ArrayBuffer-DataView-alloc-large-long-lived.js: Added.
  • fast/js/regress/script-tests/ArrayBuffer-DataView-alloc-long-lived.js: Added.
  • fast/js/regress/script-tests/DataView-custom-properties.js: Added.
  • platform/mac/TestExpectations:
1:31 PM Changeset in webkit [154407] by mhahnenberg@apple.com
  • 3 edits
    3 adds in trunk

Remove incorrect ASSERT from CopyVisitor::visitItem

Rubber stamped by Filip Pizlo.

Source/JavaScriptCore:

  • heap/CopyVisitorInlines.h:

(JSC::CopyVisitor::visitItem):

LayoutTests:

Added a new test that triggered the old ASSERT. It's a useful test to have because we create
TypedArrays with custom properties.

  • fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt: Added.
  • fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html: Added.
  • fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js: Added.
1:30 PM Changeset in webkit [154406] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Revert http://trac.webkit.org/changeset/154022, as it failed to update
a variety of scripts that depended on the old format.

See https://bugs.webkit.org/show_bug.cgi?id=120131 for one such example.

  • Scripts/prepare-ChangeLog:

(main):
(generateNewChangeLogs):

12:51 PM Changeset in webkit [154405] by barraclough@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=120127
Remove JSObject::propertyIsEnumerable

Reviewed by Sam Weinig.

This method is just a wart - it contains unnecessary const-casting, function call overhead, and LOC.

  • runtime/JSObject.cpp:
  • runtime/JSObject.h:
    • remove propertyIsEnumerable
  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncPropertyIsEnumerable):

  • Move implementation here using getOwnPropertyDescriptor directly.
12:50 PM Changeset in webkit [154404] by timothy_horton@apple.com
  • 6 edits
    2 deletes in trunk

REGRESSION(r154399): broke Mac ML debug WK1 tests > 50 crashes (Requested by thorton on #webkit).
https://bugs.webkit.org/show_bug.cgi?id=120129

Rolling out http://trac.webkit.org/changeset/154399.

  • rendering/RenderBlock.cpp:
  • rendering/RenderBlock.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

  • rendering/RenderBox.h:
  • fast/block/margin-collapse/self-collapsing-block-with-float-descendant-expected.html: Removed.
  • fast/block/margin-collapse/self-collapsing-block-with-float-descendant.html: Removed.
12:43 PM Changeset in webkit [154403] by fpizlo@apple.com
  • 31 edits
    9 adds in trunk

DFG should inline new typedArray()
https://bugs.webkit.org/show_bug.cgi?id=120022

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

Adds inlining of typed array allocations in the DFG. Any operation of the
form:

new foo(blah)


or:

foo(blah)


where 'foo' is a typed array constructor and 'blah' is exactly one argument,
is turned into the NewTypedArray intrinsic. Later, of child1 (i.e. 'blah')
is predicted integer, we generate inline code for an allocation. Otherwise
it turns into a call to an operation that behaves like the constructor would
if it was passed one argument (i.e. it may wrap a buffer or it may create a
copy or another array, or it may allocate an array of that length).

  • bytecode/SpeculatedType.cpp:

(JSC::speculationFromTypedArrayType):
(JSC::speculationFromClassInfo):

  • bytecode/SpeculatedType.h:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):

  • dfg/DFGCCallHelpers.h:

(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::putStructureStoreElimination):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasTypedArrayType):
(JSC::DFG::Node::typedArrayType):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:

(JSC::DFG::newTypedArrayWithSize):
(JSC::DFG::newTypedArrayWithOneArgument):

  • dfg/DFGOperations.h:

(JSC::DFG::operationNewTypedArrayWithSizeForType):
(JSC::DFG::operationNewTypedArrayWithOneArgumentForType):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNewTypedArray):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_new_object):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_new_object):

  • runtime/JSArray.h:

(JSC::JSArray::allocationSize):

  • runtime/JSArrayBufferView.h:

(JSC::JSArrayBufferView::allocationSize):

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayView):

  • runtime/JSObject.h:

(JSC::JSFinalObject::allocationSize):

  • runtime/TypedArrayType.cpp:

(JSC::constructorClassInfoForType):

  • runtime/TypedArrayType.h:

(JSC::indexToTypedArrayType):

LayoutTests:

Reviewed by Oliver Hunt.

  • fast/js/regress/Float64Array-alloc-long-lived-expected.txt: Added.
  • fast/js/regress/Float64Array-alloc-long-lived.html: Added.
  • fast/js/regress/Int16Array-alloc-long-lived-expected.txt: Added.
  • fast/js/regress/Int16Array-alloc-long-lived.html: Added.
  • fast/js/regress/Int8Array-alloc-long-lived-expected.txt: Added.
  • fast/js/regress/Int8Array-alloc-long-lived.html: Added.
  • fast/js/regress/script-tests/Float64Array-alloc-long-lived.js: Added.
  • fast/js/regress/script-tests/Int16Array-alloc-long-lived.js: Added.
  • fast/js/regress/script-tests/Int32Array-alloc-long-lived.js:
  • fast/js/regress/script-tests/Int8Array-alloc-long-lived.js: Added.
12:02 PM Changeset in webkit [154402] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

<https://webkit.org/b/120099> Assertion failure in JSC::SlotVisitor::copyLater when marking DataView

Mark fast/canvas/webgl/array-message-passing.html as crashing on debug, for now.

  • platform/mac/TestExpectations:
11:49 AM Changeset in webkit [154401] by akling@apple.com
  • 18 edits in trunk/Source

<https://webkit.org/b/120118> Frame::animation() should return a reference.

Reviewed by Anders Carlsson.

Frame::m_animationController is never null.
Also changed RenderObject::animation() to return a reference since it's just a wrapper
around RenderObject::frame()->animation() with no null checking of frame().

11:04 AM Changeset in webkit [154400] by Simon Fraser
  • 9 edits
    2 adds in trunk

Allow opacity to apply to custom scrollbars
https://bugs.webkit.org/show_bug.cgi?id=120104

Source/WebCore:

Reviewed by David Hyatt.

Opacity was ignored custom scrollbar pseudoelements because custom scrollbar
renderers never create layers, and opacity is normally handled by the RenderLayer code.

Fix by having RenderScrollbarTheme and RenderScrollbarPart do the transparency
layers necessary for opacity. RenderScrollbarPart handles opacity for individual
parts.

Because ScrollbarThemeComposite::paint() renders the parts on after another (with
no nesting), opacity handling for the entire scrollbar needs special-casing.
This is done by willPaintScrollbar()/didPaintScrollbar() on the theme.
RenderScrollbarTheme consults the opacity the scrollbar (which we get from
the ScrollbarBGPart renderer) to decide whether to set up a transparency layer.

Test: scrollbars/scrollbar-parts-opacity.html

  • platform/ScrollbarThemeComposite.cpp:

(WebCore::ScrollbarThemeComposite::paint):

  • platform/ScrollbarThemeComposite.h:

(WebCore::ScrollbarThemeComposite::willPaintScrollbar):
(WebCore::ScrollbarThemeComposite::didPaintScrollbar):

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::opacity):

  • rendering/RenderScrollbar.h:
  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::paintIntoRect):

  • rendering/RenderScrollbarTheme.cpp:

(WebCore::RenderScrollbarTheme::willPaintScrollbar):
(WebCore::RenderScrollbarTheme::didPaintScrollbar):

  • rendering/RenderScrollbarTheme.h:

LayoutTests:

Reviewed by David Hyatt.

Ref test for custom scrollbars with opacity on the bar itself,
and on the thumb.

  • scrollbars/scrollbar-parts-opacity-expected.html: Added.
  • scrollbars/scrollbar-parts-opacity.html: Added.
11:03 AM Changeset in webkit [154399] by robert@webkit.org
  • 6 edits
    2 adds in trunk

REGRESSION(r127163): Respect clearance set on ancestors when placing floats
https://bugs.webkit.org/show_bug.cgi?id=119979

Reviewed by David Hyatt.

Source/WebCore:

If a float has a self-collapsing ancestor with clearance then it needs to respect
that clearance when placing itself on the line.

Test: fast/block/margin-collapse/self-collapsing-block-with-float-descendant.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::marginOffsetForSelfCollapsingBlock):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

  • rendering/RenderBox.h:

(WebCore::RenderBox::previousInFlowSiblingBox):

LayoutTests:

  • fast/block/margin-collapse/self-collapsing-block-with-float-descendant-expected.html: Added.
  • fast/block/margin-collapse/self-collapsing-block-with-float-descendant.html: Added.
10:36 AM Changeset in webkit [154398] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows] Unreviewed gardening: WebInspector should always be enabled for WinLauncher.

  • WinLauncher/WinLauncher.cpp:

(setToDefaultPreferences): Activate Developer Extras on Release (as well as Debug) builds.

10:33 AM Changeset in webkit [154397] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r154378. <rdar://problem/14765691>

10:25 AM Changeset in webkit [154396] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r145458?): WebProcess doesn't respect UI process localization
https://bugs.webkit.org/show_bug.cgi?id=120096

Reviewed by Darin Adler.

We used to get into a situation where CFBundle thought that we had no good localization,
and used one passed as default. This is never the case with mixed localizations,
so default is just ignored now.

I think that the previous behavior was a bit of a hack. As WebProcess is not localized,
it's more honest to say that we want mixed localizations, and force the language
to match UI process localization.

  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: (WebKit::ChildProcessMain): Don't set default localization, it's not taken into consideration unless all other attempts to compute bundle localization fail.
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess): Pass UI process localization as -AppleLanguages argument, so that Core Foundation uses that instead of actual user languages. We want to match UI process localization.
10:19 AM Changeset in webkit [154395] by Brent Fulgham
  • 5 edits
    5 adds in trunk/Source

../WebInspectorUI: <http://webkit.org/b/120098> [Windows] Enable the New Web Inspector

Reviewed by Brian Weinstein.

Add a new project to copy files to the appropriate spots in the
Windows port.

  • WebInspectorUI.vcxproj: Added.
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Added.
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Added.
  • WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Added.
  • WebInspectorUI.vcxproj/WebInspectorUIPreBuild.cmd: Added.

../WebKit: <https://webkit.org/b/120098> [Windows] Enable the new Web Inspector

Reviewed by Brian Weinstein.

  • WebKit.vcxproj/WebKit.sln: Add reference to the new WebInspectorUI

project so that it will be included in new distributions.

../WebKit/win: <https://webkit.org/b/120098> [Windows] Enable the New Web Inspector

Reviewed by Brian Weinstein.

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorClient::openInspectorFrontend): Use the new inspector
if present in the WebKit distribution.
(WebInspectorFrontendClient::localizedStringsURL): Use the new
Web Inspector's localized strings (if present).

10:16 AM Changeset in webkit [154394] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] Unreviewed gardening. One more CSS_IMAGE_SET test can be activated.

  • platform/win/TestExpectations: We can reactivate cssom/cssvalue-comparison.html
10:15 AM Changeset in webkit [154393] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

<https://webkit.org/b/120116> [GTK] Fix a typo in ActivateFontsGtk.cpp

Reviewed by Andreas Kling.

  • WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:

(WTR::initializeFontConfigSetting): Fix a typo - inititialize -> initialize.
(WTR::activateFonts): Ditto.

9:58 AM Changeset in webkit [154392] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

<https://webkit.org/b/120113> Enable CSS_IMAGE_SET

Reviewed by Anders Carlsson.

  • platform/win/TestExpectations: Turn on two CSS_IMAGE_SET-based tests that

now pass on Windows.

9:56 AM Changeset in webkit [154391] by Brent Fulgham
  • 5 edits in trunk/Source/WebCore

<https://webkit.org/b/120113> [Windows] Enable CSS_IMAGE_SET

Reviewed by Anders Carlsson.

We can now activate:
fast/css/image-set-parsing.html
fast/css/image-set-parsing-invalid.html

  • WebCore.vcxproj/WebCore.vcxproj: Add missing image set implementation files.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • css/CSSAllInOne.cpp: Add missing CSSImageSetValue.cpp
  • rendering/style/StyleAllInOne.cpp: Add missing StyeCachedImageSet.cpp
9:54 AM Changeset in webkit [154390] by Brent Fulgham
  • 3 edits in trunk/WebKitLibraries

<https://webkit.org/b/120113> [Windows] Enable CSS_IMAGE_SET

Reviewed by Anders Carlsson.

  • win/tools/vsprops/FeatureDefines.props: Enable CSS_IMAGE_SET feature.
  • win/tools/vsprops/FeatureDefinesCairo.props: Ditto.
9:45 AM Changeset in webkit [154389] by robert@webkit.org
  • 3 edits in trunk/Source/WebCore

In RenderTableCell::paintCollapsedBorders() check surrounding cells using physical rather than logical direction
https://bugs.webkit.org/show_bug.cgi?id=120074

Reviewed by David Hyatt.

No new tests, covered by existing tests.

The functions cellAbove(), cellBelow() etc. check the logical rather than the physical direction but they're being
used to decide the painting of the physical borders of the cell. As we paint all four sides of every cell, and
the borders of adjoining cells twice over, this has no impact on painting currently but making the check consistent
in its treatment of physical and logical direction will help with webkit.org/b/119759 and make the code less confusing
to the next guy.

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::cellAtLeft):
(WebCore::RenderTableCell::cellAtRight):
(WebCore::RenderTableCell::cellAtTop):
(WebCore::RenderTableCell::cellAtBottom):
(WebCore::RenderTableCell::paintCollapsedBorders):

  • rendering/RenderTableCell.h:
9:32 AM Changeset in webkit [154388] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/120106> Fix V_DFGOperation_EJPP signature in DFG.

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

  • dfg/DFGOperations.h:
9:11 AM Changeset in webkit [154387] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Tools

[GTK] Suppress irrelevant or known leaks for Valgrind
https://bugs.webkit.org/show_bug.cgi?id=119448

Patch by Brian Holt <brian.holt@samsung.com> on 2013-08-21
Reviewed by Martin Robinson.

Add a suppressions file to suppress known leaks for Valgrind.
Valgrind also takes longer when using suppressions and
times out unless the driver timeout is increased.

  • Scripts/valgrind/suppressions.txt: Added.
  • Scripts/webkitpy/port/gtk.py:

(GtkPort.driver_stop_timeout):
(GtkPort.setup_environ_for_server):

9:00 AM Changeset in webkit [154386] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/120109> [curl] only include WebCoreBundleWin on Windows

Patch by Róbert Sipka <sipka@inf.u-szeged.hu> on 2013-08-21
Reviewed by Brent Fulgham.

The WebCoreBundleWin is a windows specific file, it is only needed on Windows.

  • platform/network/curl/ResourceHandleManager.cpp:
7:23 AM Changeset in webkit [154385] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Qt] Remove unused code path in PluginView
https://bugs.webkit.org/show_bug.cgi?id=113173

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-08-21
Reviewed by Anders Carlsson.

m_platformLayer in PluginView has been removed in r121710, but there are
still some leftover code path related to m_platformLayer. This patch
removes unused code path.

No new tests, removing unused code paths.

  • plugins/PluginView.h:

(PluginView):

  • plugins/qt/PluginViewQt.cpp:

(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paint):

6:43 AM Changeset in webkit [154384] by allan.jensen@digia.com
  • 7 edits
    3 adds in trunk

Font’s fast code path doesn’t handle partial runs correctly when kerning or ligatures are enabled
https://bugs.webkit.org/show_bug.cgi?id=100050

Reviewed by Antti Koivisto.

Source/WebCore:

Always let WidthIterator iterate over an entire TextRun to avoid problems
with pixel rounding or shaping on partial runs.

This fix is necessary for Qt because the complex font-path can not disable
shaping, leading to the complex path painting slighly different from the
fast path, which messes up selection painting.

No change in functionality, no new tests.

  • platform/graphics/Font.cpp:

(WebCore::Font::drawText):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::selectionRectForText):
(WebCore::Font::offsetForPosition):

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::getGlyphsAndAdvancesForSimpleText):
(WebCore::Font::selectionRectForSimpleText):
(WebCore::Font::offsetForPositionForSimpleText):

  • platform/graphics/GlyphBuffer.h:

(WebCore::GlyphBuffer::add):
(GlyphBuffer):

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advanceInternal):

  • platform/graphics/WidthIterator.h:

(WidthIterator): Removed now unused advanceOneCharacter method.

LayoutTests:

  • fast/text/resources/PTS55F-webfont.ttf: Added.
  • fast/text/partial-textruns-expected.html: Added.
  • fast/text/partial-textruns.html: Added.
5:53 AM Changeset in webkit [154383] by tonikitoo@webkit.org
  • 4 edits
    2 adds in trunk

Harden RenderBox::canBeScrolledAndHasScrollableArea logic https://bugs.webkit.org/show_bug.cgi?id=104373

Reviewed by Simon Fraser.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Source/WebCore:

Previously if a say div has a overflown content on 'y' but is
styled as "overflow-x: auto; overflow-y: hidden", RenderBox::canBeProgramaticallyScrolled
would still return true. It interfers, among other things, with the way
autoscroll works.

Patch fixes it by adding two helper methods to RenderBox class in order to verify a box'
scrollability in a given axis (x or y); They are used when checking if a given box is in
fact programatically scrollable.

Test: fast/events/autoscroll-overflow-hidden-longhands.html

WebKit autoscroll behavior now matches Firefox and Opera12 (pre-blink)
in that sense.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::canBeProgramaticallyScrolled):

  • rendering/RenderBox.h:

(WebCore::RenderBox::hasScrollableOverflowX):
(WebCore::RenderBox::hasScrollableOverflowY):

LayoutTests:

Patch adds a test to ensure autoscrolling only happens on a given
axis if it is scrollable in that direction, according to its style.

  • fast/events/autoscroll-overflow-hidden-longhands-expected.txt: Added.
  • fast/events/autoscroll-overflow-hidden-longhands.html: Added.
5:52 AM Changeset in webkit [154382] by tonikitoo@webkit.org
  • 3 edits
    2 adds in trunk

Text dragging can scroll overflow:hidden boxes https://bugs.webkit.org/show_bug.cgi?id=119760

Reviewed by Darin Adler.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Source/WebCore:

Consider the case of the following HTML:
<div style="overflow:hidden; width: 100px; height: 100px" >

<input id="input" type="text" size=10 value="any text here!"/>
<button style="position:relative; top: 100px; left: 100px"/>

</div>

If ones starts a text selection by dragging the mouse from within the input
field, and continues to drag beyong the outer div boundary, the latter will
be scrolled no matter its overflow:hidden style.
That happens because when the autoscroll has started, it gets propagated up
to the current layer's parent layer, instead of the to current layer's enclosing
scrollable layer.

Patch fixes the issue by hardening the way scrolling is
propagated upwards when autoscroll is being performed.

RenderLayer::enclosingScrollableLayer method also got rewritten
in terms of RenderLayer tree traversing, instead of RenderObject tree.
The rewrite adds support for cross frame upwards traversal.

Test: fast/events/autoscroll-upwards-propagation.html

  • rendering/RenderLayer.cpp:

(WebCore::parentLayerCrossFrame):
(WebCore::RenderLayer::enclosingScrollableLayer):
(WebCore::RenderLayer::scrollRectToVisible):

LayoutTests:

  • fast/events/autoscroll-upwards-propagation-expected.txt: Added.
  • fast/events/autoscroll-upwards-propagation.html: Added.
2:24 AM Changeset in webkit [154381] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WTF

Disable maybe-uninitialized warning in GCC 4.8
https://bugs.webkit.org/show_bug.cgi?id=119835

Reviewed by Anders Carlsson.

Disable the maybe-uninitialized warning.

  • wtf/Compiler.h:
12:03 AM Changeset in webkit [154380] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit/gtk

<https://webkit.org/b/119836> [GTK] ChromeClient::paint is susceptible to system time changes

Reviewed by Martin Robinson.

Instead of using WTF::currentTime() as the value of the last display occurrence,
WTF::monotonicallyIncreasingTime() should be used. The latter is not affected by
the changes is the system's time, which can cause a halt in the display updating.

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::paint):

Aug 20, 2013:

11:06 PM Changeset in webkit [154379] by barraclough@apple.com
  • 4 edits in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=120086
REGRESSION (r154300): http/tests/security/cross-frame-access-getOwnPropertyDescriptor is failing or crashing on the bots

Reviewed by Geoff Garen.

Previously we allowed cross-frame access to these properties, but hid the descriptors.
Now we allow access, but make them read-only, non-configurable.

  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
  • platform/mac/TestExpectations:
    • Update test/results/expectations.
9:01 PM Changeset in webkit [154378] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/120101> [Mac] Suspended HTMLMediaElements can still hold power assertion after playback stops.

Reviewed by Eric Carlson.

Call updateDisplaySleep() when we clear our MediaPlayer, as doing so may kill any in-flight
rateChanged() notifications.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::stop):

4:52 PM Changeset in webkit [154377] by fpizlo@apple.com
  • 3 edits in trunk/LayoutTests

fast/js/regress/emscripten-cube2hash is failing on all the Mac bots
https://bugs.webkit.org/show_bug.cgi?id=120083

Unreviewed.

Fixed the test to work in web mode and removed the failure expectation.

  • fast/js/regress/script-tests/emscripten-cube2hash.js:

(else.Module.string_appeared_here):

  • platform/mac/TestExpectations:
4:50 PM Changeset in webkit [154376] by fpizlo@apple.com
  • 2 edits
    3 adds in trunk/LayoutTests

Add emscripten memops benchmark.

Rubber stamped by Oliver Hunt.

  • TestExpectations:
  • fast/js/regress/emscripten-memops-expected.txt: Added.
  • fast/js/regress/emscripten-memops.html: Added.
  • fast/js/regress/script-tests/emscripten-memops.js: Added.

(.Module.string_appeared_here):
(else.Module.string_appeared_here):
(else.else.Module.string_appeared_here):
(else.else):
(globalEval):
(Runtime.stackSave):
(Runtime.stackRestore):
(Runtime.forceAlign):
(Runtime.isNumberType):
(Runtime.isPointerType):
(Runtime.isStructType):
(or64):
(and64):
(xor64):
(getNativeTypeSize):
(getNativeFieldSize):
(dedup):
(.set var):
(getAlignSize):
(calculateStructAlignment):
(.else.alignment):
(generateStructInfo):
(dynCall):
(addFunction):
(removeFunction):
(warnOnce):
(.Runtime.funcWrappers.func):
(getFuncWrapper):
(UTF8Processor.this.processCChar):
(UTF8Processor.this.processJSString):
(UTF8Processor):
(stackAlloc):
(staticAlloc):
(dynamicAlloc):
(alignMemory):
(makeBigInt):
(assert):
(ccall):
(getCFunc):
(.toC):
(.fromC):
(ccallFunc):
(setValue):
(getValue):
(.set else):
(.set return):
(allocate):
(Pointer_stringify):
(alignMemoryPage):
(enlargeMemory):
(callRuntimeCallbacks):
(preRun):
(ensureInitRuntime):
(preMain):
(exitRuntime):
(postRun):
(addOnPreRun):
(addOnInit):
(addOnPreMain):
(addOnExit):
(addOnPostRun):
(intArrayFromString):
(intArrayToString):
(writeStringToMemory):
(writeArrayToMemory):
(unSign):
(reSign):
(Math.string_appeared_here):
(addRunDependency):
(removeRunDependency):
(loadMemoryInitializer.applyData):
(loadMemoryInitializer.set addOnPreRun):
(ATINIT.push):
(STATIC_BASE):
(copyTempDouble):
(_setErrNo):
(PATH.splitPath):
(PATH.normalizeArray):
(PATH.normalize.join):
(PATH.normalize):
(PATH.dirname):
(PATH.basename):
(PATH.join):
(PATH.trim):
(PATH.relative):
(TTY.register):
(TTY.stream_ops.open):
(TTY.stream_ops.close):
(TTY.stream_ops.read):
(TTY.stream_ops.write):
(TTY.default_tty_ops.get_char):
(TTY.default_tty_ops.put_char):
(TTY.default_tty1_ops.put_char):
(MEMFS.mount):
(MEMFS.create_node):
(MEMFS.node_ops.getattr):
(MEMFS.node_ops.setattr):
(MEMFS.node_ops.lookup):
(MEMFS.node_ops.mknod):
(MEMFS.node_ops.rename):
(MEMFS.node_ops.unlink):
(MEMFS.node_ops.rmdir):
(MEMFS.node_ops.readdir):
(MEMFS.node_ops.symlink):
(MEMFS.node_ops.readlink):
(MEMFS.stream_ops.set else):
(MEMFS.stream_ops.read):
(MEMFS.stream_ops.write):
(MEMFS.stream_ops.llseek):
(MEMFS.stream_ops.allocate):
(MEMFS.stream_ops.set return):
(MEMFS.stream_ops.mmap):
(_fflush):
(FS.ErrnoError):
(FS.handleFSError):
(FS.hashName):
(FS.hashAddNode):
(FS.hashRemoveNode):
(FS.lookupNode):
(FS.):
(FS.destroyNode):
(FS.isRoot):
(FS.isMountpoint):
(FS.isFile):
(FS.isDir):
(FS.isLink):
(FS.isChrdev):
(FS.isBlkdev):
(FS.isFIFO):
(FS.cwd):
(FS.var):
(FS.lookupPath):
(FS.getPath):
(FS.modeStringToFlags):
(FS.flagsToPermissionString):
(FS.nodePermissions):
(FS.mayLookup):
(FS.mayMknod):
(FS.mayCreate):
(FS.mayDelete):
(FS.mayOpen):
(FS.chrdev_stream_ops.open):
(FS.chrdev_stream_ops.llseek):
(FS.major):
(FS.minor):
(FS.makedev):
(FS.registerDevice):
(FS.getDevice):
(FS.nextfd):
(FS.getStream):
(FS.closeStream):
(FS.getMode):
(FS.joinPath):
(FS.absolutePath):
(FS.standardizePath):
(FS.findObject):
(FS.analyzePath):
(FS.createFolder):
(FS.createPath):
(FS.createFile):
(FS.createDataFile):
(FS.createDevice):
(FS.createLink):
(FS.forceLoadFile):
(FS.LazyUint8Array):
(FS.LazyUint8Array.prototype.get if):
(FS.LazyUint8Array.prototype):
(FS.LazyUint8Array.prototype.setDataGetter):
(FS.LazyUint8Array.prototype.cacheLength.doXHR):
(FS.LazyUint8Array.prototype.cacheLength):
(FS.get Object):
(FS.get var):
(FS.keys.forEach):
(FS.processData.finish):
(FS.processData):
(FS.else):
(FS.createPreloadedFile):
(FS.createDefaultDirectories):
(FS.createDefaultDevices.):
(FS.createDefaultDevices):
(FS.createStandardStreams):
(FS.staticInit):
(FS.init):
(FS.quit):
(FS.mount):
(FS.lookup):
(FS.mknod):
(FS.create):
(FS.mkdir):
(FS.mkdev):
(FS.symlink):
(FS.rename):
(FS.rmdir):
(FS.readdir):
(FS.unlink):
(FS.readlink):
(FS.stat):
(FS.lstat):
(FS.chmod):
(FS.lchmod):
(FS.fchmod):
(FS.chown):
(FS.lchown):
(FS.fchown):
(FS.truncate):
(FS.ftruncate):
(FS.utime):
(FS.open):
(FS.close):
(FS.llseek):
(FS.read):
(FS.write):
(FS.allocate):
(FS.mmap):
(_send):
(_pwrite):
(_write):
(_fwrite):
(
reallyNegative):
(.getNextArg):
(.switch.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.break):
(.switch.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.break):
(_fprintf):
(_printf):
(_abort):
(_errno_location):
(_sbrk.Runtime.dynamicAlloc):
(_sbrk):
(_sysconf):
(_time):
(Browser.mainLoop.pause):
(Browser.mainLoop.resume):
(Browser.mainLoop.updateStatus):
(Browser.init.imagePlugin.string_appeared_here):
(Browser.init.img.onload):
(Browser.init.img.onerror):
(Browser.init.audioPlugin.string_appeared_here):
(Browser.init.finish):
(Browser.init.fail):
(Browser.init.audio.onerror.encode64):
(Browser.init.audio.onerror):
(Browser.init.audio):
(Browser.init.else):
(Browser.init.pointerLockChange):
(Browser.init.canvas):
(Browser.init):
(Browser.destroyContext):
(Browser.fullScreenChange):
(Browser.requestFullScreen):
(Browser.requestAnimationFrame):
(Browser.safeRequestAnimationFrame):
(Browser.safeSetTimeout):
(Browser.safeSetInterval):
(Browser.getMimetype):
(Browser.getUserMedia):
(Browser.getMovementX):
(Browser.getMovementY):
(Browser.calculateMouseEvent):
(Browser.xhr.onload):
(Browser.xhrLoad):
(Browser.updateResizeListeners):
(Browser.setCanvasSize):
(Browser.setFullScreenCanvasSize):
(Browser.setWindowedCanvasSize):
(
ATINIT.unshift):
(
ATMAIN.push):
(
ATEXIT.push):
(Module.string_appeared_here):
(invoke_ii):
(invoke_v):
(invoke_iii):
(invoke_vi):
(asmPrintInt):
(asmPrintFloat):
(asm):
(Runtime.stackAlloc):
(ExitStatus):
(Module.string_appeared_here.Module.callMain.callMain.pad):
(Module.string_appeared_here.Module.callMain):
(run.doRun):
(run.else):
(run):
(exit):
(abort):

4:49 PM Changeset in webkit [154375] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source/WebCore

<https://webkit.org/b/92330> [CSS] Pass an image orientation data to drawImage()

Reviewed by Beth Dakin.

In support of ongoing css3-images image-orientation implementation. This patch passes
an imageOrientationDescription object to drawImage() function as a argument. The drawImage()
can know information of image orientation by the argument.

Spec: http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::drawImageToContext):

  • platform/graphics/ImageOrientation.h: Add setter functions.

(WebCore::ImageOrientationDescription::setRespectImageOrientation):
(WebCore::ImageOrientationDescription::setImageOrientationEnum):

  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::BitmapTextureImageBuffer::updateContents):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintNinePieceImage):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

4:47 PM Changeset in webkit [154374] by Seokju Kwon
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Rebaseline after r154372.

  • platform/qt-mac/TestExpectations: fast/css/giant-stylesheet-crash.html was removed.
4:46 PM Changeset in webkit [154373] by barraclough@apple.com
  • 111 edits in trunk/Source

https://bugs.webkit.org/show_bug.cgi?id=120093
Remove getOwnPropertyDescriptor trap

Reviewed by Geoff Garen.

All implementations of this method are now called via the method table, and equivalent in behaviour.
Remove all duplicate implementations (and the method table trap), and add a single member function implementation on JSObject.

Source/JavaScriptCore:

  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h:
  • debugger/DebuggerActivation.cpp:
  • debugger/DebuggerActivation.h:
  • runtime/Arguments.cpp:
  • runtime/Arguments.h:
  • runtime/ArrayConstructor.cpp:
  • runtime/ArrayConstructor.h:
  • runtime/ArrayPrototype.cpp:
  • runtime/ArrayPrototype.h:
  • runtime/BooleanPrototype.cpp:
  • runtime/BooleanPrototype.h:
    • remove getOwnPropertyDescriptor
  • runtime/ClassInfo.h:
    • remove getOwnPropertyDescriptor from MethodTable
  • runtime/DateConstructor.cpp:
  • runtime/DateConstructor.h:
  • runtime/DatePrototype.cpp:
  • runtime/DatePrototype.h:
  • runtime/ErrorPrototype.cpp:
  • runtime/ErrorPrototype.h:
  • runtime/JSActivation.cpp:
  • runtime/JSActivation.h:
  • runtime/JSArray.cpp:
  • runtime/JSArray.h:
  • runtime/JSArrayBuffer.cpp:
  • runtime/JSArrayBuffer.h:
  • runtime/JSArrayBufferView.cpp:
  • runtime/JSArrayBufferView.h:
  • runtime/JSCell.cpp:
  • runtime/JSCell.h:
  • runtime/JSDataView.cpp:
  • runtime/JSDataView.h:
  • runtime/JSDataViewPrototype.cpp:
  • runtime/JSDataViewPrototype.h:
  • runtime/JSFunction.cpp:
  • runtime/JSFunction.h:
  • runtime/JSGenericTypedArrayView.h:
  • runtime/JSGenericTypedArrayViewInlines.h:
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h:
  • runtime/JSNotAnObject.cpp:
  • runtime/JSNotAnObject.h:
  • runtime/JSONObject.cpp:
  • runtime/JSONObject.h:
    • remove getOwnPropertyDescriptor
  • runtime/JSObject.cpp:

(JSC::JSObject::propertyIsEnumerable):

  • switch to call new getOwnPropertyDescriptor member function

(JSC::JSObject::getOwnPropertyDescriptor):

  • new, based on imlementation from GET_OWN_PROPERTY_DESCRIPTOR_IMPL

(JSC::JSObject::defineOwnNonIndexProperty):

  • switch to call new getOwnPropertyDescriptor member function
  • runtime/JSObject.h:
  • runtime/JSProxy.cpp:
  • runtime/JSProxy.h:
  • runtime/NamePrototype.cpp:
  • runtime/NamePrototype.h:
  • runtime/NumberConstructor.cpp:
  • runtime/NumberConstructor.h:
  • runtime/NumberPrototype.cpp:
  • runtime/NumberPrototype.h:
    • remove getOwnPropertyDescriptor
  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):

  • switch to call new getOwnPropertyDescriptor member function
  • runtime/ObjectConstructor.h:
    • remove getOwnPropertyDescriptor
  • runtime/PropertyDescriptor.h:
    • remove GET_OWN_PROPERTY_DESCRIPTOR_IMPL
  • runtime/RegExpConstructor.cpp:
  • runtime/RegExpConstructor.h:
  • runtime/RegExpMatchesArray.cpp:
  • runtime/RegExpMatchesArray.h:
  • runtime/RegExpObject.cpp:
  • runtime/RegExpObject.h:
  • runtime/RegExpPrototype.cpp:
  • runtime/RegExpPrototype.h:
  • runtime/StringConstructor.cpp:
  • runtime/StringConstructor.h:
  • runtime/StringObject.cpp:
  • runtime/StringObject.h:
    • remove getOwnPropertyDescriptor

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/JSDOMWindowCustom.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorDeclaration):
(GenerateConstructorHelperMethods):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestNode.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bridge/jsc/BridgeJSC.h:

(JSC::Bindings::Instance::getOwnPropertySlot):

  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_runtime.mm:
  • bridge/runtime_array.cpp:
  • bridge/runtime_array.h:
  • bridge/runtime_method.cpp:
  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:
  • bridge/runtime_object.h:
    • remove getOwnPropertyDescriptor

Source/WebKit2:

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:
  • WebProcess/Plugins/Netscape/JSNPObject.h:
    • remove getOwnPropertyDescriptor
3:55 PM Changeset in webkit [154372] by rniwa@webkit.org
  • 1 edit
    2 deletes in trunk/LayoutTests

<https://webkit.org/b/120095> Delete fast/css/giant-stylesheet-crash.html since it flakily timeout or crash

Reviewed by Antti Koivisto.

Deleted the test. This test was added in r82054 but it has been crashing since r154242.

Since our expected behavior is to crash at the moment, this test's description doesn't even match
the expected behavior anymore. Furthermore, it intermittently times out due to DRT taking too long to
allocate memory before it can crash.

  • fast/css/giant-stylesheet-crash-expected.txt: Removed.
  • fast/css/giant-stylesheet-crash.html: Removed.
3:52 PM Changeset in webkit [154371] by Antti Koivisto
  • 63 edits in trunk/Source/WebCore

<https://webkit.org/b/120071> Replace NodeRenderingContext with Node* as childShouldCreateRenderer() argument

Reviewed by Darin Adler.

This simplifies the code. NodeRenderingContext was basically only used for getting the Node.

  • dom/ContainerNode.h:

(WebCore::ContainerNode::childShouldCreateRenderer):

  • dom/Element.cpp:

(WebCore::Element::childShouldCreateRenderer):

  • dom/Element.h:
  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::shouldCreateRenderer):

  • dom/NodeRenderingContext.h:


Move isOnEncapsulationBoundary() to InsertionPoint.h and call it hasShadowRootOrActiveInsertionPointParent().
Move isOnUpperEncapsulationBoundary() to ShadowRoot.h and call it hasShadowRootParent().

  • dom/ShadowRoot.h:

(WebCore::hasShadowRootParent):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::childShouldCreateRenderer):

  • html/HTMLDetailsElement.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::validationMessageShadowTreeContains):

  • html/HTMLFormControlElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::childShouldCreateRenderer):

  • html/HTMLMediaElement.h:
  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::childShouldCreateRenderer):

  • html/HTMLMeterElement.h:
  • html/HTMLOptGroupElement.h:

(WebCore::isHTMLOptGroupElement):

  • html/HTMLOptionElement.h:

(WebCore::isHTMLOptionElement):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::childShouldCreateRenderer):

  • html/HTMLProgressElement.h:
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::childShouldCreateRenderer):

  • html/HTMLSelectElement.h:
  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::childShouldCreateRenderer):

  • html/HTMLSummaryElement.h:
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::childShouldCreateRenderer):
(WebCore::enclosingTextFormControl):

  • html/HTMLTextFormControlElement.h:
  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::shadowTreeContains):

  • html/ValidationMessage.h:
  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::rendererIsNeeded):

  • html/shadow/InsertionPoint.h:

(WebCore::isActiveInsertionPoint):

Remove isShadowBoundary() as it was equivalent to isActive().
Remove isLowerEncapsulationBoundary() as it was equivalent to isActiveInsertionPoint().

(WebCore::hasShadowRootOrActiveInsertionPointParent):

Moved and renamed from NodeRenderingContext::isOnEncapsulationBoundary().

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::childShouldCreateRenderer):

  • svg/SVGAElement.h:
  • svg/SVGAltGlyphElement.cpp:

(WebCore::SVGAltGlyphElement::childShouldCreateRenderer):

  • svg/SVGAltGlyphElement.h:
  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::childShouldCreateRenderer):

  • svg/SVGDocument.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::childShouldCreateRenderer):

  • svg/SVGElement.h:
  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::childShouldCreateRenderer):

  • svg/SVGFilterElement.h:
  • svg/SVGFilterPrimitiveStandardAttributes.h:
  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::childShouldCreateRenderer):

  • svg/SVGForeignObjectElement.h:
  • svg/SVGSVGElement.h:

(WebCore::toSVGSVGElement):

  • svg/SVGSwitchElement.cpp:

(WebCore::SVGSwitchElement::childShouldCreateRenderer):

  • svg/SVGSwitchElement.h:
  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::childShouldCreateRenderer):

  • svg/SVGTRefElement.h:
  • svg/SVGTSpanElement.cpp:

(WebCore::SVGTSpanElement::childShouldCreateRenderer):

  • svg/SVGTSpanElement.h:
  • svg/SVGTextElement.cpp:

(WebCore::SVGTextElement::childShouldCreateRenderer):

  • svg/SVGTextElement.h:
  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::childShouldCreateRenderer):

  • svg/SVGTextPathElement.h:
3:43 PM Changeset in webkit [154370] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/120050> Don't bother using a Vector for the ouput of querySelector, just return the first element found

Reviewed by Ryosuke Niwa.

Simplify the case of querySelector. Instead of using the same output type as querySelectorAll,
simply use a trait to define what to do in the loop.

  • dom/SelectorQuery.cpp:

(WebCore::AllElementExtractorSelectorQueryTrait::appendOutputForElement):
(WebCore::SelectorDataList::queryAll):
(WebCore::SingleElementExtractorSelectorQueryTrait::appendOutputForElement):
(WebCore::SelectorDataList::queryFirst):
(WebCore::SelectorDataList::executeFastPathForIdSelector):
(WebCore::elementsForLocalName):
(WebCore::anyElement):
(WebCore::SelectorDataList::executeSingleTagNameSelectorData):
(WebCore::SelectorDataList::executeSingleClassNameSelectorData):
(WebCore::SelectorDataList::executeSingleSelectorData):
(WebCore::SelectorDataList::executeSingleMultiSelectorData):
(WebCore::SelectorDataList::execute):

  • dom/SelectorQuery.h:
3:37 PM Changeset in webkit [154369] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source/WebKit2

Merged r154302. <rdar://problem/14736960>

3:32 PM Changeset in webkit [154368] by achristensen@apple.com
  • 2 edits in trunk/Tools

[Windows] Linking fix for Win64.

Rubberstamped by Brent Fulgham.

  • win/DLLLauncher/DLLLauncherMain.cpp:

(wWinMain): Corrected 64-bit linker symbol for dllLauncherEntryPoint.

3:25 PM Changeset in webkit [154367] by Brent Fulgham
  • 2 edits in trunk/Tools

<https://webkit.org/b/120090> Report better error messages from WinLauncher/DRT

Reviewed by Tim Horton.

  • win/DLLLauncher/DLLLauncherMain.cpp:

(getLastErrorString): New method to convert GetLastError to text.
(wWinMain): Use new error formatter to provide useful diagnostic text to user.

3:17 PM Changeset in webkit [154366] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/120079> Flattening a dictionary can cause CopiedSpace corruption

Reviewed by Oliver Hunt.

When we flatten an object in dictionary mode, we compact its properties. If the object
had out-of-line storage in the form of a Butterfly prior to this compaction, and after
compaction its properties fit inline, the object's Structure "forgets" that the object
has a non-zero Butterfly pointer. During GC, we check the Butterfly and reportLiveBytes
with bytes = 0, which causes all sorts of badness in CopiedSpace.

Instead, after we flatten a dictionary, if properties fit inline we should clear the
Butterfly pointer so that the GC doesn't get confused later.

This patch does this clearing, and it also adds JSObject::checkStructure, which overrides
JSCell::checkStructure to add an ASSERT that makes sure that the Structure being assigned
agrees with the whether or not the object has a Butterfly. Also added an ASSERT to check
that the number of bytes reported to SlotVisitor::copyLater is non-zero.

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::copyLater):

  • runtime/JSObject.cpp:

(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToContiguous):
(JSC::JSObject::genericConvertDoubleToContiguous):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::setPrototype):
(JSC::JSObject::putDirectAccessor):
(JSC::JSObject::seal):
(JSC::JSObject::freeze):
(JSC::JSObject::preventExtensions):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::removeDirect):

  • runtime/JSObject.h:

(JSC::JSObject::setButterfly):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::setStructure):
(JSC::JSObject::setStructureAndReallocateStorageIfNecessary):

  • runtime/Structure.cpp:

(JSC::Structure::flattenDictionaryStructure):

3:16 PM Changeset in webkit [154365] by Antti Koivisto
  • 53 edits in trunk/Source/WebCore

Rollout the previous patch for landing with the correct ChangeLog.

3:12 PM Changeset in webkit [154364] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebCore

013-08-20 Jacky Jiang <zhajiang@blackberry.com>

<https://webkit.org/b/120082> [BlackBerry] Remove unused previousTextureRect in LayerTiler

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-08-20
Reviewed by Rob Buis.
Internally reviewed by Mike Lattanzio and Jakob Petsovits.

  • platform/graphics/blackberry/LayerTiler.cpp:

(WebCore::LayerTiler::updateTextureContentsIfNeeded):

3:08 PM Changeset in webkit [154363] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

[Windows] Unreviewed build fix for Win64 after r154118.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
3:03 PM Changeset in webkit [154362] by achristensen@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Compile fix for Win64 after r154156.

Rubber stamped by Oliver Hunt.

  • jit/JITStubsMSVC64.asm:

Renamed ctiVMThrowTrampolineSlowpath to ctiVMHandleException and
cti_vm_throw_slowpath to cti_vm_handle_exception.

2:58 PM Changeset in webkit [154361] by Antti Koivisto
  • 53 edits in trunk/Source/WebCore

<https://webkit.org/b/120078> Replace NodeRenderingContext with RenderStyle& as shouldCreateRenderer() argument

Reviewed by Darin Adler.

This simplifies the code. NodeRenderingContext was only used for getting the RenderStyle.

  • dom/Element.cpp:

(WebCore::Element::rendererIsNeeded):

  • dom/Element.h:
  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::elementInsideRegionNeedsRenderer):
(WebCore::NodeRenderingContext::createRendererForElementIfNeeded):

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::rendererIsNeeded):

  • dom/PseudoElement.h:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::rendererIsNeeded):

  • html/HTMLAppletElement.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::rendererIsNeeded):

  • html/HTMLElement.h:
  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::rendererIsNeeded):

  • html/HTMLEmbedElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::rendererIsNeeded):

  • html/HTMLFormElement.h:
  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::rendererIsNeeded):

  • html/HTMLFrameElement.h:
  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::rendererIsNeeded):

  • html/HTMLFrameSetElement.h:
  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::rendererIsNeeded):

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

(WebCore::HTMLInputElement::rendererIsNeeded):

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

(WebCore::HTMLMediaElement::rendererIsNeeded):

  • html/HTMLMediaElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::rendererIsNeeded):

  • html/HTMLObjectElement.h:
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::rendererIsNeeded):

  • html/HTMLVideoElement.h:
  • html/shadow/DetailsMarkerControl.cpp:

(WebCore::DetailsMarkerControl::rendererIsNeeded):

  • html/shadow/DetailsMarkerControl.h:
  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::rendererIsNeeded):

  • html/shadow/InsertionPoint.h:
  • html/shadow/MeterShadowElement.cpp:

(WebCore::MeterShadowElement::rendererIsNeeded):
(WebCore::MeterInnerElement::rendererIsNeeded):

  • html/shadow/MeterShadowElement.h:
  • html/shadow/ProgressShadowElement.cpp:

(WebCore::ProgressShadowElement::rendererIsNeeded):
(WebCore::ProgressInnerElement::rendererIsNeeded):

  • html/shadow/ProgressShadowElement.h:
  • svg/SVGDescElement.h:
  • svg/SVGElement.h:

(WebCore::SVGElement::rendererIsNeeded):

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):

  • svg/SVGFilterPrimitiveStandardAttributes.h:
  • svg/SVGFontElement.h:
  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::rendererIsNeeded):

  • svg/SVGForeignObjectElement.h:
  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::rendererIsNeeded):

  • svg/SVGGElement.h:
  • svg/SVGGlyphElement.h:
  • svg/SVGGlyphRefElement.h:
  • svg/SVGHKernElement.h:
  • svg/SVGMarkerElement.h:
  • svg/SVGMissingGlyphElement.h:
  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::rendererIsNeeded):

  • svg/SVGSVGElement.h:
  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::rendererIsNeeded):

  • svg/SVGStopElement.h:
  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::rendererIsNeeded):

  • svg/SVGStyledElement.h:
  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::rendererIsNeeded):

  • svg/SVGTRefElement.h:
  • svg/SVGTSpanElement.cpp:

(WebCore::SVGTSpanElement::rendererIsNeeded):

  • svg/SVGTSpanElement.h:
  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::rendererIsNeeded):

  • svg/SVGTextPathElement.h:
  • svg/SVGTitleElement.h:
  • svg/SVGVKernElement.h:
  • svg/SVGViewElement.h:
2:52 PM Changeset in webkit [154360] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/120088> Define Clipboard::hasData() only when building with drag support

Reviewed by Darin Adler.

Clipboard::hasData() is specific to drag-and-drop support. We should only define it when
such support is enabled.

  • dom/Clipboard.cpp: Move hasData() to DRAG_SUPPORT section of the file.
  • dom/Clipboard.h: Ditto.
2:44 PM Changeset in webkit [154359] by dbates@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

<https://webkit.org/b/120032> Add DRT test to ensure that AccessibilityObject::stringValue()
of <input type="file"> is meaningful

Following <http://trac.webkit.org/changeset/154332>, add GTK-specific expected results for test
LayoutTests/accessibility/file-upload-button-stringvalue.html.

  • platform/gtk-wk2/accessibility/file-upload-button-stringvalue-expected.txt: Added; expected failure

results until we fix <https://webkit.org/b/64285>.

  • platform/gtk/accessibility/file-upload-button-stringvalue-expected.txt: Added.
2:22 PM Changeset in webkit [154358] by Antti Koivisto
  • 67 edits in trunk/Source/WebCore

<https://webkit.org/b/120078> Replace NodeRenderingContext with RenderStyle& as shouldCreateRenderer() argument

Reviewed by Darin Adler.

This simplifies the code. NodeRenderingContext was only used for getting the RenderStyle.

  • dom/Element.cpp:

(WebCore::Element::rendererIsNeeded):

  • dom/Element.h:
  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::elementInsideRegionNeedsRenderer):
(WebCore::NodeRenderingContext::createRendererForElementIfNeeded):

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::rendererIsNeeded):

  • dom/PseudoElement.h:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::rendererIsNeeded):

  • html/HTMLAppletElement.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::rendererIsNeeded):

  • html/HTMLElement.h:
  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::rendererIsNeeded):

  • html/HTMLEmbedElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::rendererIsNeeded):

  • html/HTMLFormElement.h:
  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::rendererIsNeeded):

  • html/HTMLFrameElement.h:
  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::rendererIsNeeded):

  • html/HTMLFrameSetElement.h:
  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::rendererIsNeeded):

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

(WebCore::HTMLInputElement::rendererIsNeeded):

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

(WebCore::HTMLMediaElement::rendererIsNeeded):

  • html/HTMLMediaElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::rendererIsNeeded):

  • html/HTMLObjectElement.h:
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::rendererIsNeeded):

  • html/HTMLVideoElement.h:
  • html/shadow/DetailsMarkerControl.cpp:

(WebCore::DetailsMarkerControl::rendererIsNeeded):

  • html/shadow/DetailsMarkerControl.h:
  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::rendererIsNeeded):

  • html/shadow/InsertionPoint.h:
  • html/shadow/MeterShadowElement.cpp:

(WebCore::MeterShadowElement::rendererIsNeeded):
(WebCore::MeterInnerElement::rendererIsNeeded):

  • html/shadow/MeterShadowElement.h:
  • html/shadow/ProgressShadowElement.cpp:

(WebCore::ProgressShadowElement::rendererIsNeeded):
(WebCore::ProgressInnerElement::rendererIsNeeded):

  • html/shadow/ProgressShadowElement.h:
  • svg/SVGDescElement.h:
  • svg/SVGElement.h:

(WebCore::SVGElement::rendererIsNeeded):

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):

  • svg/SVGFilterPrimitiveStandardAttributes.h:
  • svg/SVGFontElement.h:
  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::rendererIsNeeded):

  • svg/SVGForeignObjectElement.h:
  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::rendererIsNeeded):

  • svg/SVGGElement.h:
  • svg/SVGGlyphElement.h:
  • svg/SVGGlyphRefElement.h:
  • svg/SVGHKernElement.h:
  • svg/SVGMarkerElement.h:
  • svg/SVGMissingGlyphElement.h:
  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::rendererIsNeeded):

  • svg/SVGSVGElement.h:
  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::rendererIsNeeded):

  • svg/SVGStopElement.h:
  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::rendererIsNeeded):

  • svg/SVGStyledElement.h:
  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::rendererIsNeeded):

  • svg/SVGTRefElement.h:
  • svg/SVGTSpanElement.cpp:

(WebCore::SVGTSpanElement::rendererIsNeeded):

  • svg/SVGTSpanElement.h:
  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::rendererIsNeeded):

  • svg/SVGTextPathElement.h:
  • svg/SVGTitleElement.h:
  • svg/SVGVKernElement.h:
  • svg/SVGViewElement.h:
2:09 PM Changeset in webkit [154357] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Failing test expectations for two tests

One recently regressed:
webkit.org/b/120086 http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html

One was recently added in a failing state:
webkit.org/b/120083 fast/js/regress/emscripten-cube2hash.html

  • platform/mac/TestExpectations:
2:03 PM Changeset in webkit [154356] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

<https://webkit.org/b/120087> Lion: fast/forms/submit-to-url-fragment.html intermittently crashes

Add the test expectation.

  • platform/mac/TestExpectations:
1:56 PM Changeset in webkit [154355] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Mac Lion rebaseline after r154072.

Also add an intermittent test failure expectation to http/tests/inspector/resource-tree/resource-tree-document-url.html

  • platform/mac/TestExpectations:
  • platform/mac-lion/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
1:45 PM Changeset in webkit [154354] by achristensen@apple.com
  • 9 edits in trunk/Source

<https://webkit.org/b/120076> More work towards a Win64 build

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

Use PlatformArchitecture macro instead of bin32, lib32, and obj32.

Source/WebKit:

  • WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd:

Use PlatformArchitecture macro instead of bin32, lib32, and obj32.

1:23 PM Changeset in webkit [154353] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/105988> [Mac] Some inspector tests intermittently assert in InspectorOverlay::paint
<rdar://problem/12958038>

Reviewed by Joseph Pecoraro.

Update the inspector overlay's layout before painting, if it is stale.

No new tests; fixes an intermittent assertion failure in some existing tests.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::paint):

12:41 PM Changeset in webkit [154352] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Mark fast/css/giant-stylesheet-crash.html as slow after r154246
since allocating 2GB of RAM takes a long time sometimes.

12:39 PM Changeset in webkit [154351] by mhahnenberg@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/119919> Concurrent JIT crashes in various fast/js/dfg-* tests while the main thread is setting innerHTML

Reviewed by Geoffrey Garen.

More fixes for WriteBarrier deferral during concurrent JIT-ing. This patch makes the use of DesiredWriteBarriers class and the
initializeLazyWriteBarrierFor* wrapper functions more sane.

Refactored DesiredWriteBarrier to require an owner, a type, a CodeBlock, and an index. The type indicates how to use the CodeBlock
and index when triggering the WriteBarrier at the end of compilation.

The client code of initializeLazy* is now responsible for creating the WriteBarrier that will be initialized as well as passing
in the relevant index to be used at the end of compilation. Things were kind of muddled before in that one function did a
little extra work that really shouldn't have been its responsibility.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addConstant):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGDesiredWriteBarriers.cpp:

(JSC::DFG::DesiredWriteBarrier::DesiredWriteBarrier):
(JSC::DFG::DesiredWriteBarrier::trigger):

  • dfg/DFGDesiredWriteBarriers.h:

(JSC::DFG::DesiredWriteBarriers::add):
(JSC::DFG::initializeLazyWriteBarrierForInlineCallFrameExecutable):
(JSC::DFG::initializeLazyWriteBarrierForInlineCallFrameCallee):
(JSC::DFG::initializeLazyWriteBarrierForConstant):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::truncateConstantToInt32):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::constantRegisterForConstant):

12:33 PM Changeset in webkit [154350] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix after <http://trac.webkit.org/changeset/154260> (https://webkit.org/b/119949);
declare Clipboard::hasData() when building with and without drag support

  • dom/Clipboard.h:
12:21 PM Changeset in webkit [154349] by hmuller@adobe.com
  • 4 edits
    7 adds in trunk

<https://webkit.org/b/119849> [CSS Shapes] Complete RasterShape::firstIncludedIntervalLogicalTop()

Reviewed by Alexandru Chiculita.

Source/WebCore:

Completed the implementation of RasterShape::firstIncludedIntervalLogicalTop(). The
method now computes first logical top location where a line segment can be laid
out within a RasterShape, i.e. a shape derived from an image valued URL resource.

A detailed description of the algorithm can be found in
http://hansmuller-webkit.blogspot.com/2013/08/first-fit-location-for-image-shapes.html.

The new tests exposed a bug in the existing getIncludedIntervals() method. A shape
with a vertical gap that spans the entire line now causes the method to short circuit
and return an empty interval list.

Tests: fast/shapes/shape-inside/shape-inside-image-003.html

fast/shapes/shape-inside/shape-inside-image-004.html
fast/shapes/shape-inside/shape-inside-image-005.html

  • rendering/shapes/RasterShape.cpp:

(WebCore::RasterShapeIntervals::firstIncludedIntervalY):
(WebCore::RasterShapeIntervals::getIncludedIntervals):
(WebCore::RasterShape::firstIncludedIntervalLogicalTop):

  • rendering/shapes/RasterShape.h:

LayoutTests:

Verify that the first fit algorithm works correctly for complex image shapes.
For this set of tests the image is specified with an SVG file.

  • fast/shapes/resources/svg-shape-001.svg: Added.
  • fast/shapes/shape-inside/shape-inside-image-003-expected.html: Added.
  • fast/shapes/shape-inside/shape-inside-image-003.html: Added.
  • fast/shapes/shape-inside/shape-inside-image-004-expected.html: Added.
  • fast/shapes/shape-inside/shape-inside-image-004.html: Added.
  • fast/shapes/shape-inside/shape-inside-image-005-expected.html: Added.
  • fast/shapes/shape-inside/shape-inside-image-005.html: Added.
11:59 AM Changeset in webkit [154348] by psolanki@apple.com
  • 31 edits in trunk/Source

<https://webkit.org/b/120029> Document::markers() should return a reference

Reviewed by Andreas Kling.

Document::m_markers is never NULL so return a reference from Document::markers(). Also mark
m_markers as const and initialize it in member initialization.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:

(WebCore::Document::markers):

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::isSpellingMarkerAllowed):
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
(WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
(WebCore::AlternativeTextController::handleAlternativeTextUIResult):
(WebCore::AlternativeTextController::respondToChangedSelection):
(WebCore::AlternativeTextController::respondToAppliedEditing):
(WebCore::AlternativeTextController::respondToUnappliedEditing):
(WebCore::AlternativeTextController::markReversed):
(WebCore::AlternativeTextController::markCorrection):
(WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
(WebCore::AlternativeTextController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
(WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
(WebCore::AlternativeTextController::applyDictationAlternative):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):

  • editing/DictationCommand.cpp:

(WebCore::DictationMarkerSupplier::addMarkersToTextNode):

  • editing/Editor.cpp:

(WebCore::Editor::ignoreSpelling):
(WebCore::Editor::learnSpelling):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::clearMisspellingsAndBadGrammar):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::updateMarkersForWordsAffectedByEditing):
(WebCore::Editor::countMatchesForText):
(WebCore::Editor::setMarkedTextMatchesAreHighlighted):
(WebCore::Editor::respondToChangedSelection):
(WebCore::Editor::selectionStartHasMarkerFor):

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::didCheckSucceed):

  • editing/SplitTextNodeCommand.cpp:

(WebCore::SplitTextNodeCommand::doApply):
(WebCore::SplitTextNodeCommand::doUnapply):

  • editing/TextCheckingHelper.cpp:

(WebCore::TextCheckingHelper::findFirstMisspelling):
(WebCore::TextCheckingHelper::findFirstGrammarDetail):

  • page/FrameView.cpp:

(WebCore::FrameView::getTickmarks):
(WebCore::FrameView::paintContents):

  • page/Page.cpp:

(WebCore::Page::unmarkAllTextMatches):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::spellingToolTip):
(WebCore::HitTestResult::replacedString):
(WebCore::HitTestResult::dictationAlternatives):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDocumentMarkers):

  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):

  • testing/Internals.cpp:

(WebCore::Internals::markerCountForNode):
(WebCore::Internals::markerAt):
(WebCore::Internals::addTextMatchMarker):

Source/WebKit/blackberry:

  • WebKitSupport/InPageSearchManager.cpp:

(BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
(BlackBerry::WebKit::InPageSearchManager::setActiveMatchAndMarker):
(BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
(BlackBerry::WebKit::InputHandler::addAttributedTextMarker):
(BlackBerry::WebKit::InputHandler::removeAttributedTextMarker):

Source/WebKit/efl:

  • ewk/ewk_frame.cpp:

(ewk_frame_text_matches_unmark_all):
(ewk_frame_text_matches_nth_pos_get):

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _unmarkAllBadGrammar]):
(-[WebFrame _unmarkAllMisspellings]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView unmarkAllTextMatches]):
(-[WebHTMLView rectsForTextMatches]):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::unmarkAllMisspellings):
(WebFrame::unmarkAllBadGrammar):

  • WebView.cpp:

(WebView::rectsForTextMatches):

Source/WebKit2:

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::rectsForTextMatches):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::unmarkAllMisspellings):
(WebKit::WebPage::unmarkAllBadGrammar):

11:50 AM Changeset in webkit [154347] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/119875> localeToScriptCodeForFontSelection should use hash tables with larger default capacity

Reviewed by Darin Adler.

The two static hash tables used in this file have 106 and 198 entries. Set a minimumTableSize for
these hash tables so we don't have to expand them during initialization.

No new tests because no functional changes.

  • platform/text/LocaleToScriptMappingDefault.cpp:

(WebCore::scriptNameToCode):
(WebCore::localeToScriptCodeForFontSelection):

11:47 AM Changeset in webkit [154346] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=120075
REGRESSION (r128400): BBC4 website not displaying pictures

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

  • runtime/RegExpMatchesArray.h:

(JSC::RegExpMatchesArray::createStructure): Changed the array IndexingType to be ArrayWithSlowPutArrayStorage
so that the match results will be reified before any other modification to the results array.

LayoutTests:

Added regression tests for fix.

  • fast/js/regress/regexp-match-reify-before-putbyval-expected.txt: Added.
  • fast/js/regress/regexp-match-reify-before-putbyval.html: Added.
  • fast/js/regress/script-tests/regexp-match-reify-before-putbyval.js: Added.
11:24 AM Changeset in webkit [154345] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/120068> Media controls can be attached lazily

Reviewed by Jer Noble.

Merge https://chromium.googlesource.com/chromium/blink/+/28a995486a675992f2e72f81bfabdfff05688a31.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::createMediaControls): Add AttachLazily to appendChild().

11:22 AM Changeset in webkit [154344] by fpizlo@apple.com
  • 4 edits
    8 adds in trunk

Incorrect behavior on emscripten-compiled cube2hash
https://bugs.webkit.org/show_bug.cgi?id=120033

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

If PutClosureVar is may-aliased to another PutClosureVar or GetClosureVar
then we should bail attempts to CSE.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::scopedVarLoadElimination):
(JSC::DFG::CSEPhase::scopedVarStoreElimination):

LayoutTests:

Reviewed by Mark Hahnenberg.

Add the test that actually failed as a JSRegress test. We should track its
performance anyway.

Add a regression test for the actual failure.

Add .html and -expected.txt files for a JSRegress test that is already in
the repo.

  • fast/js/dfg-get-closure-var-put-closure-var-interference.html: Added.
  • fast/js/dfg-get-closure-var-put-closure-var-interference-expected.txt: Added.
  • fast/js/regress/array-nonarray-polymorhpic-access-expected.txt: Added.
  • fast/js/regress/array-nonarray-polymorhpic-access.html: Added.
  • fast/js/regress/emscripten-cube2hash-expected.txt: Added.
  • fast/js/regress/emscripten-cube2hash.html: Added.
  • fast/js/regress/script-tests/emscripten-cube2hash.js: Added.

(.Module.string_appeared_here):
(else.Module.string_appeared_here):
(else.else.Module.string_appeared_here):
(else.else):
(globalEval):
(Runtime.stackSave):
(Runtime.stackRestore):
(Runtime.forceAlign):
(Runtime.isNumberType):
(Runtime.isPointerType):
(Runtime.isStructType):
(or64):
(and64):
(xor64):
(getNativeTypeSize):
(getNativeFieldSize):
(dedup):
(.set var):
(getAlignSize):
(calculateStructAlignment):
(.else.alignment):
(generateStructInfo):
(dynCall):
(addFunction):
(removeFunction):
(warnOnce):
(.Runtime.funcWrappers.func):
(getFuncWrapper):
(UTF8Processor.this.processCChar):
(UTF8Processor.this.processJSString):
(UTF8Processor):
(stackAlloc):
(staticAlloc):
(dynamicAlloc):
(alignMemory):
(makeBigInt):
(assert):
(ccall):
(getCFunc):
(.toC):
(.fromC):
(ccallFunc):
(setValue):
(getValue):
(.set else):
(.set return):
(allocate):
(Pointer_stringify):
(alignMemoryPage):
(enlargeMemory):
(callRuntimeCallbacks):
(preRun):
(ensureInitRuntime):
(preMain):
(exitRuntime):
(postRun):
(addOnPreRun):
(addOnInit):
(addOnPreMain):
(addOnExit):
(addOnPostRun):
(intArrayFromString):
(intArrayToString):
(writeStringToMemory):
(writeArrayToMemory):
(unSign):
(reSign):
(Math.string_appeared_here):
(addRunDependency):
(removeRunDependency):
(loadMemoryInitializer.applyData):
(loadMemoryInitializer.set addOnPreRun):
(ATINIT.push):
(STATIC_BASE):
(copyTempDouble):
(_setErrNo):
(PATH.splitPath):
(PATH.normalizeArray):
(PATH.normalize.join):
(PATH.normalize):
(PATH.dirname):
(PATH.basename):
(PATH.join):
(PATH.trim):
(PATH.relative):
(TTY.register):
(TTY.stream_ops.open):
(TTY.stream_ops.close):
(TTY.stream_ops.read):
(TTY.stream_ops.write):
(TTY.default_tty_ops.get_char):
(TTY.default_tty_ops.put_char):
(TTY.default_tty1_ops.put_char):
(MEMFS.mount):
(MEMFS.create_node):
(MEMFS.node_ops.getattr):
(MEMFS.node_ops.setattr):
(MEMFS.node_ops.lookup):
(MEMFS.node_ops.mknod):
(MEMFS.node_ops.rename):
(MEMFS.node_ops.unlink):
(MEMFS.node_ops.rmdir):
(MEMFS.node_ops.readdir):
(MEMFS.node_ops.symlink):
(MEMFS.node_ops.readlink):
(MEMFS.stream_ops.set else):
(MEMFS.stream_ops.read):
(MEMFS.stream_ops.write):
(MEMFS.stream_ops.llseek):
(MEMFS.stream_ops.allocate):
(MEMFS.stream_ops.set return):
(MEMFS.stream_ops.mmap):
(_fflush):
(FS.ErrnoError):
(FS.handleFSError):
(FS.hashName):
(FS.hashAddNode):
(FS.hashRemoveNode):
(FS.lookupNode):
(FS.):
(FS.destroyNode):
(FS.isRoot):
(FS.isMountpoint):
(FS.isFile):
(FS.isDir):
(FS.isLink):
(FS.isChrdev):
(FS.isBlkdev):
(FS.isFIFO):
(FS.cwd):
(FS.var):
(FS.lookupPath):
(FS.getPath):
(FS.modeStringToFlags):
(FS.flagsToPermissionString):
(FS.nodePermissions):
(FS.mayLookup):
(FS.mayMknod):
(FS.mayCreate):
(FS.mayDelete):
(FS.mayOpen):
(FS.chrdev_stream_ops.open):
(FS.chrdev_stream_ops.llseek):
(FS.major):
(FS.minor):
(FS.makedev):
(FS.registerDevice):
(FS.getDevice):
(FS.nextfd):
(FS.getStream):
(FS.closeStream):
(FS.getMode):
(FS.joinPath):
(FS.absolutePath):
(FS.standardizePath):
(FS.findObject):
(FS.analyzePath):
(FS.createFolder):
(FS.createPath):
(FS.createFile):
(FS.createDataFile):
(FS.createDevice):
(FS.createLink):
(FS.forceLoadFile):
(FS.LazyUint8Array):
(FS.LazyUint8Array.prototype.get if):
(FS.LazyUint8Array.prototype):
(FS.LazyUint8Array.prototype.setDataGetter):
(FS.LazyUint8Array.prototype.cacheLength.doXHR):
(FS.LazyUint8Array.prototype.cacheLength):
(FS.get Object):
(FS.get var):
(FS.keys.forEach):
(FS.processData.finish):
(FS.processData):
(FS.else):
(FS.createPreloadedFile):
(FS.createDefaultDirectories):
(FS.createDefaultDevices.):
(FS.createDefaultDevices):
(FS.createStandardStreams):
(FS.staticInit):
(FS.init):
(FS.quit):
(FS.mount):
(FS.lookup):
(FS.mknod):
(FS.create):
(FS.mkdir):
(FS.mkdev):
(FS.symlink):
(FS.rename):
(FS.rmdir):
(FS.readdir):
(FS.unlink):
(FS.readlink):
(FS.stat):
(FS.lstat):
(FS.chmod):
(FS.lchmod):
(FS.fchmod):
(FS.chown):
(FS.lchown):
(FS.fchown):
(FS.truncate):
(FS.ftruncate):
(FS.utime):
(FS.open):
(FS.close):
(FS.llseek):
(FS.read):
(FS.write):
(FS.allocate):
(FS.mmap):
(_send):
(_pwrite):
(_write):
(_fwrite):
(
reallyNegative):
(.getNextArg):
(.switch.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.break):
(.switch.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.break):
(_fprintf):
(_printf):
(_fputs):
(_fputc):
(_puts):
(_abort):
(_errno_location):
(_sbrk.Runtime.dynamicAlloc):
(_sbrk):
(_sysconf):
(_time):
(Browser.mainLoop.pause):
(Browser.mainLoop.resume):
(Browser.mainLoop.updateStatus):
(Browser.init.imagePlugin.string_appeared_here):
(Browser.init.img.onload):
(Browser.init.img.onerror):
(Browser.init.audioPlugin.string_appeared_here):
(Browser.init.finish):
(Browser.init.fail):
(Browser.init.audio.onerror.encode64):
(Browser.init.audio.onerror):
(Browser.init.audio):
(Browser.init.else):
(Browser.init.pointerLockChange):
(Browser.init.canvas):
(Browser.init):
(Browser.destroyContext):
(Browser.fullScreenChange):
(Browser.requestFullScreen):
(Browser.requestAnimationFrame):
(Browser.safeRequestAnimationFrame):
(Browser.safeSetTimeout):
(Browser.safeSetInterval):
(Browser.getMimetype):
(Browser.getUserMedia):
(Browser.getMovementX):
(Browser.getMovementY):
(Browser.calculateMouseEvent):
(Browser.xhr.onload):
(Browser.xhrLoad):
(Browser.updateResizeListeners):
(Browser.setCanvasSize):
(Browser.setFullScreenCanvasSize):
(Browser.setWindowedCanvasSize):
(
ATINIT.unshift):
(
ATMAIN.push):
(
ATEXIT.push):
(Module.string_appeared_here):
(invoke_ii):
(invoke_v):
(invoke_iii):
(invoke_vi):
(asmPrintInt):
(asmPrintFloat):
(asm):
(Runtime.stackAlloc):
(i64Math):
(i64Math.):
(Module.string_appeared_here.Module.callMain.callMain.pad):
(Module.string_appeared_here.Module.callMain):
(run.doRun):
(run.else):
(run):
(exit):
(abort):

  • fast/js/script-tests/dfg-get-closure-var-put-closure-var-interference.js: Added.

(foo):
(thingy.return.bar):
(thingy.return.baz):
(thingy):
(runIt):

11:13 AM Changeset in webkit [154343] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/120072> Use nullAtom instead of defining static local in
Accessibility{Object, RenderObject}::actionVerb()

Reviewed by Chris Fleizach.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::actionVerb):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::actionVerb):

11:12 AM Changeset in webkit [154342] by Lucas Forschler
  • 5 edits in branches/safari-537.60-branch/Source

Versioning.

10:45 AM Changeset in webkit [154341] by Lucas Forschler
  • 1 copy in branches/safari-537.60-branch

New Branch.

10:40 AM Changeset in webkit [154340] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=120073
Remove use of GOPD from JSFunction::defineProperty

Reviewed by Oliver Hunt.

Call getOwnPropertySlot to check for existing properties instead.

  • runtime/JSFunction.cpp:

(JSC::JSFunction::defineOwnProperty):

  • getOwnPropertyDescriptor -> getOwnPropertySlot
10:31 AM Changeset in webkit [154339] by dbates@webkit.org
  • 8 edits in trunk/Source/WebCore

<https://webkit.org/b/119914> [iOS] Upstream changes to WebCore/accessibility

Reviewed by Darin Adler and Chris Fleizach.

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::press):
(WebCore::AccessibilityMenuList::isCollapsed):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::headingElementForNode):
(WebCore::AccessibilityObject::actionVerb):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
(WebCore::AccessibilityRenderObject::actionVerb):

  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):

  • accessibility/AccessibilityTableHeaderContainer.cpp:

(WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
10:17 AM Changeset in webkit [154338] by Bruno de Oliveira Abinader
  • 8 edits
    4 adds in trunk

[css3-text] Implement CSS3 text-decoration shorthand
https://bugs.webkit.org/show_bug.cgi?id=92000

Implements the text-decoration shorthand (with -webkit- prefix), as specified by the CSS3 Text Decoration specification:
http://dev.w3.org/csswg/css-text-decor-3/#text-decoration-property

Backported from Blink:
https://src.chromium.org/viewvc/blink?revision=156266&view=revision

10:12 AM Changeset in webkit [154337] by barraclough@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=120067
Remove getPropertyDescriptor

Reviewed by Oliver Hunt.

This is used by lookupGetter/lookupSetter - this can easily bee replaced by getPropertySlot.
Since we'll be getting the GetterSetter from the slot in the setter case, rename isGetter() to isAccessor().

  • runtime/JSObject.cpp:
  • runtime/JSObject.h:
    • remove getPropertyDescriptor
  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):

  • replace call to getPropertyDescriptor with getPropertySlot
  • runtime/PropertyDescriptor.h:
  • runtime/PropertySlot.h:

(JSC::PropertySlot::isAccessor):
(JSC::PropertySlot::isCacheableGetter):
(JSC::PropertySlot::getterSetter):

  • rename isGetter() to isAccessor()
10:09 AM Changeset in webkit [154336] by barraclough@apple.com
  • 5 edits in trunk/Source

https://bugs.webkit.org/show_bug.cgi?id=120054
Remove some dead code following getOwnPropertyDescriptor cleanup

Reviewed by Oliver Hunt.

../JavaScriptCore:

  • runtime/Lookup.h:

(JSC::getStaticFunctionSlot):

  • remove getStaticPropertyDescriptor, getStaticFunctionDescriptor, getStaticValueDescriptor.

../WebCore:

  • bindings/js/JSPluginElementFunctions.cpp:
  • bindings/js/JSPluginElementFunctions.h:
    • remove runtimeObjectCustomGetOwnPropertyDescriptor, pluginElementCustomGetOwnPropertyDescriptor
10:08 AM Changeset in webkit [154335] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=120053
Remove custom getOwnPropertyDescriptor for JSNPObject

Reviewed by Oliver Hunt.

Think this is the last one!

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:
    • Remove custom getOwnPropertyDescriptor implementation.
10:07 AM Changeset in webkit [154334] by barraclough@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=120052
Remove custom getOwnPropertyDescriptor for JSProxy

Reviewed by Geoff Garen.

GET_OWN_PROPERTY_DESCRIPTOR_IMPL runs afoul with JSProxy due to the workaround for JSDOMWindow's broken behavior.
Because the window object incorrectly searches the prototype chain in getOwnPropertySlot we check that the base
object matches, but in the case of JSProxy we can end up comparing the window object to the window shell & falsely
assuming this is a prototype property. Add toThis conversion to correctly identify proxied own access. I've kept
the original slotBase check as a fast case, and also so that direct access on JSDOMWindow still works.

  • runtime/JSProxy.cpp:
    • Remove custom getOwnPropertyDescriptor implementation.
  • runtime/PropertyDescriptor.h:
    • Modify own property access check to perform toThis conversion.
10:00 AM Changeset in webkit [154333] by achristensen@apple.com
  • 29 edits in trunk/Source

Use PlatformArchitecture to distinguish between 32-bit and 64-bit builds on Windows.
https://bugs.webkit.org/show_bug.cgi?id=119512

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

Replaced obj32, bin32, and lib32 with macros for 64-bit build.

Source/ThirdParty:

  • gtest/msvc/gtest-md.vcxproj:

Replaced obj32, bin32, and lib32 with macros for 64-bit build.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/WebCoreCommon.props:
  • WebCore.vcxproj/WebCoreGeneratedCommon.props:
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj:
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters:

Replaced obj32, bin32, and lib32 with macros for 64-bit build.

Source/WebKit:

  • WebKit.vcxproj/Interfaces/InterfacesCommon.props:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
  • WebKit.vcxproj/WebKit/WebKitCommon.props:
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj:
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj.filters:
  • WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj:
  • WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj.filters:
  • WebKit.vcxproj/WebKitGUID/WebKitGUIDCommon.props:

Replaced obj32, bin32, and lib32 with macros for 64-bit build.

Source/WTF:

  • WTF.vcxproj/WTFGeneratedCommon.props:

Replaced obj32, bin32, and lib32 with macros for 64-bit build.

9:50 AM Changeset in webkit [154332] by dbates@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

<https://webkit.org/b/120032> Add DRT test to ensure that AccessibilityObject::stringValue()
of <input type="file"> is meaningful

Reviewed by Chris Fleizach.

Adds a DRT test to ensure that AccessibilityObject::stringValue() returns a meaningful string
for a single file- and multiple files-file upload control.

  • accessibility/file-upload-button-stringvalue.html: Added.
  • platform/mac-wk2/accessibility/file-upload-button-stringvalue-expected.txt: Added.
  • platform/mac/accessibility/file-upload-button-stringvalue-expected.txt: Added.
9:42 AM Changeset in webkit [154331] by jberlin@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove a string no longer used after r154251.

Rubber-stamped by Brady Eidson.

  • English.lproj/Localizable.strings:
9:12 AM Changeset in webkit [154330] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Avoid an assertion from calling releaseBufferDrawable(nullptr)
https://bugs.webkit.org/show_bug.cgi?id=119862
JIRA 470760

Patch by Jakob Petsovits <jpetsovits@blackberry.com> on 2013-08-20
Reviewed by Antonio Gomes.

destroyBuffer() finds a null pointer valid but
releaseBufferDrawable() does not. Fix by adding a
null pointer check.

No new tests, caught by existing layout test runs.

  • platform/graphics/blackberry/ImageBufferBlackBerry.cpp:

(WebCore::ImageBuffer::~ImageBuffer):

8:57 AM Changeset in webkit [154329] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

<https://webkit.org/b/119487> [Gtk] Cancel authentication on load failed

Patch by Anton Obzhirov <Anton Obzhirov> on 2013-08-20
Reviewed by Martin Robinson.

Added callback to handle load-failed event in default authentication dialog.
Authentication request gets cancelled and the dialog widget gets destroyed.

  • UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:

(pageLoadFailed):
(webkitAuthenticationDialogInitialize):
(webkitAuthenticationDialogDispose):
(webkit_authentication_dialog_class_init):
(webkitAuthenticationDialogNew):

  • UIProcess/API/gtk/WebKitAuthenticationDialog.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewAuthenticate):

8:52 AM Changeset in webkit [154328] by kov@webkit.org
  • 5 edits in trunk

<https://webkit.org/b/120048> [GTK] Add stubs for APIs that went missing in the DOM bindings

Reviewed by Martin Robinson.

Source/WebCore:

No new tests, these are just stubs for the DOM bindings API.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_bar_info_get_property):
(webkit_dom_bar_info_class_init):
(webkit_dom_bar_info_init):
(webkit_dom_bar_info_get_visible):
(webkit_dom_console_get_memory):
(webkit_dom_css_style_declaration_get_property_css_value):
(webkit_dom_document_get_webkit_hidden):
(webkit_dom_document_get_webkit_visibility_state):
(webkit_dom_html_document_open):
(webkit_dom_html_element_set_item_id):
(webkit_dom_html_element_get_item_id):
(webkit_dom_html_element_get_item_ref):
(webkit_dom_html_element_get_item_prop):
(webkit_dom_html_element_set_item_scope):
(webkit_dom_html_element_get_item_scope):
(webkit_dom_html_element_get_item_type):
(webkit_dom_html_properties_collection_get_property):
(webkit_dom_html_properties_collection_class_init):
(webkit_dom_html_properties_collection_init):
(webkit_dom_html_properties_collection_item):
(webkit_dom_html_properties_collection_named_item):
(webkit_dom_html_properties_collection_get_length):
(webkit_dom_html_properties_collection_get_names):
(webkit_dom_node_get_attributes):
(webkit_dom_node_has_attributes):
(webkit_dom_memory_info_get_property):
(webkit_dom_memory_info_class_init):
(webkit_dom_memory_info_init):
(webkit_dom_memory_info_get_total_js_heap_size):
(webkit_dom_memory_info_get_used_js_heap_size):
(webkit_dom_memory_info_get_js_heap_size_limit):
(webkit_dom_micro_data_item_value_class_init):
(webkit_dom_micro_data_item_value_init):
(webkit_dom_performance_get_memory):
(webkit_dom_property_node_list_get_property):
(webkit_dom_property_node_list_class_init):
(webkit_dom_property_node_list_init):
(webkit_dom_property_node_list_item):
(webkit_dom_property_node_list_get_length):

  • bindings/gobject/WebKitDOMCustom.h:

Tools:

  • Scripts/webkitpy/style/checker.py: add the bindings custom implementation files to be exempt

from naming/enum_casing rules, since it needs to provide GObject-style APIs.

8:27 AM Changeset in webkit [154327] by Antti Koivisto
  • 14 edits in trunk/Source/WebCore

<https://webkit.org/b/120017> Remove NodeRenderingTraversal::ParentDetails

Reviewed by Andreas Kling.

Remove this oddly factored type that is used to optionally collect some data during ComposedShadowTreeWalker parent traversal.

Also removed support for reset-style-inheritance attribute in InsertionPoint. We don't use or expose it.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleForElement):

  • css/StyleResolver.h:

(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::State::elementLinkState):

Remove m_distributedToInsertionPoint State field. We never hit the cases where it was used.

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
(WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
(WebCore::ComposedShadowTreeWalker::traverseParent):

Return null instead of setting childWasOutOfComposition to details object. That's what would happen anyway in the caller.

(WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
(WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):

  • dom/ComposedShadowTreeWalker.h:
  • dom/Node.cpp:

(WebCore::Node::insertionParentForBinding):

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::isOnEncapsulationBoundary):

Make this look up InsertionPoint directly intead of relying it being populated in m_parentDetails. The function is used only in
a few non-performance critical places.

(WebCore::NodeRenderingContext::resetStyleInheritance):

Return parent ShadowRoots resetStyleInheritance() flag instead of using m_parentDetails.

  • dom/NodeRenderingContext.h:
  • dom/NodeRenderingTraversal.cpp:

(WebCore::NodeRenderingTraversal::parentSlow):

  • dom/NodeRenderingTraversal.h:

(WebCore::NodeRenderingTraversal::parent):

Remove ParentDetails.

  • html/HTMLAttributeNames.in:
  • html/shadow/InsertionPoint.cpp:


Remove unused resetStyleInheritance attribute.

(WebCore::InsertionPoint::removedFrom):
(WebCore::findInsertionPointOf):

Renamed for clarity.

  • html/shadow/InsertionPoint.h:
  • testing/Internals.cpp:

(WebCore::Internals::includerFor):

8:25 AM Changeset in webkit [154326] by Antti Koivisto
  • 8 edits in trunk

<https://webkit.org/b/120025> REGRESSION (r154254): fast/frames/frameset-frameborder-inheritance.html failing on Apple MountainLion Debug WK1 (Tests)

Reviewed by Anders Carlsson.

Source/WebCore:

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::isFrameSet):

  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::didAttachRenderers):

Make helper public in HTMLFrameSetElement.

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::findContaining):

Static function for finding containing frameset, if any.

(WebCore::HTMLFrameSetElement::willAttachRenderers):

This broke in refactoring. We should exit the loop when the first containing frameset is found. Fix by refactoring more.

  • html/HTMLFrameSetElement.h:

(WebCore::isHTMLFrameSetElement):
(WebCore::toHTMLFrameSetElement):

Add casting functions.

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::frameSet):

LayoutTests:

  • platform/mac/TestExpectations: Unskip.
7:29 AM WebKitGTK/StartHacking edited by simon.pena@samsung.com
Update the link to build Epiphany with upstream WebKit (diff)
7:17 AM Changeset in webkit [154325] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

<https://webkit.org/b/120056> [GTK][ARM] enable DFG_JIT

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2013-08-20
Reviewed by Martin Robinson.

Enable DFG_JIT in GTK+ platform for ARM/Thumb architecture

  • wtf/Platform.h:
6:38 AM Changeset in webkit [154324] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/120062> Missing ensureSpace call in sh4 baseline JIT.

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-20
Reviewed by Allan Sandfeld Jensen.

branchPtrWithPatch() of baseline JIT must ensure that space is available for its
instructions and two constants now DFG is enabled for sh4 architecture.
These missing ensureSpace calls lead to random crashes.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::branchPtrWithPatch):

5:47 AM Changeset in webkit [154323] by Antti Koivisto
  • 4 edits in trunk

<https://webkit.org/b/120023> REGRESSION(r154257): svg/custom/bug78807.svg and svg/custom/use-invalid-style.svg failing

Source/WebCore:

Reviewed by Andreas Kling.

  • xml/XMLErrors.cpp:

(WebCore::XMLErrors::insertErrorMessageBlock): "reattach" had accidentally turned into "detach" in refactoring.

LayoutTests:

Reviewed by by Andreas Kling.

4:00 AM Changeset in webkit [154322] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

<https://webkit.org/b/120009> [GTK] Stop button should be added to MiniBrowser

Patch by Anton Obzhirov <Anton Obzhirov> on 2013-08-20
Reviewed by Martin Robinson.

Added stop button in MiniBrowser

  • MiniBrowser/gtk/BrowserWindow.c:

(reloadOrStopCallback): Callback to handle stop or reload button click.
(webViewLoadProgressChanged): Update reload or stop button icon.
(browser_window_init): Save button pointer for further icon updates.

3:44 AM Changeset in webkit [154321] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Doesn't build without Plugin-process
https://bugs.webkit.org/show_bug.cgi?id=120060

Reviewed by Jocelyn Turcotte.

Disable netscape plugin api in WebKit2 when the plugin architecture is unsupported for WebKit2.

  • Target.pri:
3:13 AM Changeset in webkit [154320] by Antti Koivisto
  • 3 edits
    2 adds in trunk

<https://webkit.org/b/119969> REGRESSION (r154232): Crash on the japantimes.co.jp

Source/WebCore:

Reviewed by Andreas Kling.

PseudoElement no longer has parent and calling Element::insertedInto for them crashes as it tries to access it.

Normally there are no pseudo elements when Element::insertedInto() is invoked as they get detached and attached
along with rendering. However in this case the page inserts a <style> that uses ::before along with an element
that it applies to. Stylesheet insertion triggers synchronous style recalc that attaches rendering to all newly
insered elements. Later Element::insertedInto gets called for the element that has pseudo element and we crash.

Test: fast/css-generated-content/insert-stylesheet-and-pseudo-crash.html

  • dom/Element.cpp:

(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):

Remove calls to insertedInto/removedFrom for pseudo elements. They are not considered to be in document.
When they are added normally during render tree attach these calls don't happen either.

LayoutTests:

Reviewed by Andreas Kling.

  • fast/css-generated-content/insert-stylesheet-and-pseudo-crash-expected.txt: Added.
  • fast/css-generated-content/insert-stylesheet-and-pseudo-crash.html: Added.
2:00 AM Changeset in webkit [154319] by simon.pena@samsung.com
  • 2 edits in trunk

Added missing Reviewed By line.

1:50 AM Changeset in webkit [154318] by simon.pena@samsung.com
  • 5 edits in trunk

<https://webkit.org/b/117584> [GTK][WK1] http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html is failing

Update DumpRenderTree to handle the WEBKIT_LOAD_FAILED status,
printing didFailLoadWithError.

Tools:

Behave like other ports, and handle WEBKIT_LOAD_FAILED status in
DumpRenderTree, printing didFailLoadWithError.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(webFrameLoadStatusNotified):

LayoutTests:

Adding that print makes
http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html
and
http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html,
although it requires to modify the expected results for
http/tests/loading/pdf-commit-load-callbacks.html.

  • platform/gtk-wk1/TestExpectations: Unskip

http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html
and
http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html

  • platform/gtk/http/tests/loading/pdf-commit-load-callbacks-expected.txt:

Update the expected results.

12:27 AM Changeset in webkit [154317] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Windows build fix after r154314.

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::platformAddPathForRoundedRect):

Note: See TracTimeline for information about the timeline view.