WebKit-https.git
6 years agoAdd the failing test expectation to webaudio/codec-tests/mp3/128kbps-44khz.html on...
rniwa@webkit.org [Thu, 22 Aug 2013 13:55:50 +0000 (13:55 +0000)]
Add the failing test expectation to webaudio/codec-tests/mp3/128kbps-44khz.html on Lion Release WK2.
The failure is tracked by the bug 120161.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt] DRT bug revealed/caused by r154300
allan.jensen@digia.com [Thu, 22 Aug 2013 12:46:16 +0000 (12:46 +0000)]
[Qt] DRT bug revealed/caused by r154300
https://bugs.webkit.org/show_bug.cgi?id=120151

Reviewed by Simon Hausmann.

Since QtInstance had an implementation of getOwnPropertySlot and not getOwnPropertyDescriptor,
the behavior of getOwnPropertyDescriptor changed when it got implemented using getOwnPropertySlot
in r154300.

DRT relied on getOwnPropertyDescriptor returning undefined for JS set properties to distinguish
between native Qt methods and JSC bound methods. This patch changes the check to see if the
property is writable since the Qt methods are ReadOnly.

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(DumpRenderTree::initJSObjects):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154444 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIntroduce a SVGUnknownElement class for unknown SVG elements
ch.dumez@sisa.samsung.com [Thu, 22 Aug 2013 12:38:19 +0000 (12:38 +0000)]
Introduce a SVGUnknownElement class for unknown SVG elements
https://bugs.webkit.org/show_bug.cgi?id=120155

Reviewed by Andreas Kling.

Introduce a SVGUnknownElement class and have it override rendererIsNeeded() to return false.
We now use SVGUnknownElement type (instead of SVGElement) for unknown SVG elements:
- Unknown Elements in SVG namespace
- Registered custom tag elements in SVG namespace:
  http://www.w3.org/TR/2013/WD-custom-elements-20130514/#registering-custom-elements

As a consequence, SVGElement::rendererIsNeeded() is not longer required to return false and
it will be able to behave as SVGStyledElement::rendererIsNeeded() once we merge
SVGStyledElement into SVGElement.

This is a pre-requirement to merging SVGStyledElement into SVGElement.

No new tests, no behavior change.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::createElementInternal):
* dom/make_names.pl:
(defaultParametersHash):
(printJSElementIncludes):
(printWrapperFunctions):
(printWrapperFactoryCppFile):
* svg/SVGElement.cpp:
* svg/SVGElement.h:
* svg/SVGUnknownElement.h: Added.
(WebCore::SVGUnknownElement::create):
(WebCore::SVGUnknownElement::SVGUnknownElement):
* svg/svgtags.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix P_DFGOperation_EJS call for MIPS and ARM EABI.
commit-queue@webkit.org [Thu, 22 Aug 2013 12:37:59 +0000 (12:37 +0000)]
Fix P_DFGOperation_EJS call for MIPS and ARM EABI.
https://bugs.webkit.org/show_bug.cgi?id=120107

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-22
Reviewed by Yong Li.

EncodedJSValue parameters must be aligned to even registers for MIPS and ARM EABI.

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154442 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION: Assertion failure !collection->hasExactlyOneItem() in WebCore::namedItemG...
rwlbuis@webkit.org [Thu, 22 Aug 2013 11:50:44 +0000 (11:50 +0000)]
REGRESSION: Assertion failure !collection->hasExactlyOneItem() in WebCore::namedItemGetter
https://bugs.webkit.org/show_bug.cgi?id=118056

Reviewed by Ryosuke Niwa.

Source/WebCore:

The assert is hit in Debug mode because the DocumentOrderedMap in HTMLDocument::m_windowNamedItem
includes matched SVG elements, but the WindowNameCollection used to collect the elements does not.
This means the HTMLCollection stripped of SVG elements could end up hitting the empty or single item
assertion, which the testcase verifies.
To fix this change WindowNameCollection to include both SVG and HTML elements so it matches DocumentOrderedMap.

Tests: svg/custom/document-all-includes-svg.html
       svg/custom/window-named-item-lookup.html

* html/HTMLCollection.cpp:
(WebCore::isMatchingElement):
(WebCore::HTMLCollection::updateNameCache):

LayoutTests:

Add test to verify that SVG and HTML elements with id's are both found when using document.all or named properties.

* svg/custom/document-all-includes-svg-expected.txt: Added.
* svg/custom/document-all-includes-svg.html: Added.
* svg/custom/window-named-item-lookup-expected.txt: Added.
* svg/custom/window-named-item-lookup.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIntroduce toSVGRadialGradientElement(), and use it
gyuyoung.kim@samsung.com [Thu, 22 Aug 2013 11:43:25 +0000 (11:43 +0000)]
Introduce toSVGRadialGradientElement(), and use it
https://bugs.webkit.org/show_bug.cgi?id=120153

Reviewed by Andreas Kling.

As a step to clean-up static_cast<SVGXXX>, toSVGRadialGradientElement() is added to clean-up
static_cast<SVGRadialGradientElement*>.

* rendering/svg/RenderSVGResourceRadialGradient.cpp:
(WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGRadialGradientElement.h:
(WebCore::toSVGRadialGradientElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154440 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoASSERTION FAILED: extractedStyle in WebCore::ApplyStyleCommand::removeInlineStyleFrom...
reni@webkit.org [Thu, 22 Aug 2013 10:14:02 +0000 (10:14 +0000)]
ASSERTION FAILED: extractedStyle in WebCore::ApplyStyleCommand::removeInlineStyleFromElement
https://bugs.webkit.org/show_bug.cgi?id=119672

Reviewed by Darin Adler.

Source/WebCore:

The last extractedStyle parameter of removeInlineStyleFromElement() is not mandatory and it's set
to default 0. This way we have to check its existence before the usage.

Test: editing/execCommand/extracted_style_assert.html

* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement):

LayoutTests:

Test with NULL extractedStyle.

* editing/execCommand/extracted_style_assert-expected.txt: Added.
* editing/execCommand/extracted_style_assert.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154439 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Grid Layout] Refactor testing code
sergio@webkit.org [Thu, 22 Aug 2013 09:28:18 +0000 (09:28 +0000)]
[CSS Grid Layout] Refactor testing code
https://bugs.webkit.org/show_bug.cgi?id=119552

Reviewed by Darin Adler.

Based on Blink r148922 & r149060 by <jchaffraix@chromium.org>

The old testing code was a huge copy&paste of big testing code
blocks. Refactor it in some new utility functions so that we could
reduce the size of the layout test file and ease the maintenance.

* fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
* fast/css-grid-layout/grid-item-column-row-get-set.html:
* fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
* fast/css-grid-layout/grid-item-end-after-get-set.html:
* fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
* fast/css-grid-layout/grid-item-start-before-get-set.html:
* fast/css-grid-layout/resources/grid-item-column-row-parsing-utils.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154438 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate Mac test expectations.
rniwa@webkit.org [Thu, 22 Aug 2013 05:02:45 +0000 (05:02 +0000)]
Update Mac test expectations.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r154416.
commit-queue@webkit.org [Thu, 22 Aug 2013 04:40:14 +0000 (04:40 +0000)]
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:

* JavaScriptCore.vcxproj/JavaScriptCoreGenerated.make:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.make:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.make:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/build-LLIntDesiredOffsets.sh:
* JavaScriptCore.vcxproj/build-generated-files.sh:

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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154436 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Unreviewed build fix after r154430.
ryuan.choi@samsung.com [Thu, 22 Aug 2013 02:06:37 +0000 (02:06 +0000)]
[EFL] Unreviewed build fix after r154430.

* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::hasFilters): Added CSS_FILTERS guard.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoClarify var/const/function declaration
barraclough@apple.com [Thu, 22 Aug 2013 01:04:37 +0000 (01:04 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAnother null-deref under WebDragClient::startDrag
timothy_horton@apple.com [Thu, 22 Aug 2013 01:00:06 +0000 (01:00 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSetting -webkit-filter: in :active selector causes failure to redraw
simon.fraser@apple.com [Thu, 22 Aug 2013 00:15:08 +0000 (00:15 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154430 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=119900
commit-queue@webkit.org [Wed, 21 Aug 2013 23:34:39 +0000 (23:34 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154429 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120140> Clients expect didFirstLayout-related calls to
bdakin@apple.com [Wed, 21 Aug 2013 23:27:23 +0000 (23:27 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154428 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Clean up project file after %PlatformArchitecture% change landed.
bfulgham@apple.com [Wed, 21 Aug 2013 23:18:21 +0000 (23:18 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154427 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRename/refactor setButterfly/setStructure
mhahnenberg@apple.com [Wed, 21 Aug 2013 23:10:38 +0000 (23:10 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154426 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttp/tests/cookies/simple-cookies-expired.html sometimes fails on Lion Intel Release...
ap@apple.com [Wed, 21 Aug 2013 23:03:48 +0000 (23:03 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154425 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Reenable some tests that pass now.
bfulgham@apple.com [Wed, 21 Aug 2013 22:45:22 +0000 (22:45 +0000)]
[Windows] Reenable some tests that pass now.

* platform/win/TestExpectations:  Renable some tests

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154424 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=120127
barraclough@apple.com [Wed, 21 Aug 2013 22:34:32 +0000 (22:34 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=120127
Remove JSObject::propertyIsEnumerable

Unreviewed typo fix

* runtime/JSObject.h:
    - fix typo

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=120139
barraclough@apple.com [Wed, 21 Aug 2013 22:32:10 +0000 (22:32 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154422 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120125> [Windows] Correct Tooltip Text
bfulgham@apple.com [Wed, 21 Aug 2013 22:18:18 +0000 (22:18 +0000)]
<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.)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154421 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove a deleted test from the global TestExpectations
timothy_horton@apple.com [Wed, 21 Aug 2013 21:43:51 +0000 (21:43 +0000)]
Remove a deleted test from the global TestExpectations

It was freaking lint-test-expectations out.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154420 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION: Crash under JITCompiler::link while loading Gmail
fpizlo@apple.com [Wed, 21 Aug 2013 21:40:02 +0000 (21:40 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154419 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120123> [BlackBerry] Incorrect origin of indexOfTile in LayerTi...
zhajiang@rim.com [Wed, 21 Aug 2013 21:36:50 +0000 (21:36 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154418 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/116901> ASSERTION FAILED: !m_visibleDescendantStatusDirty on...
simon.fraser@apple.com [Wed, 21 Aug 2013 21:32:41 +0000 (21:32 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120137> Separating Win32 and Win64 builds.
achristensen@apple.com [Wed, 21 Aug 2013 21:24:22 +0000 (21:24 +0000)]
<https://webkit.org/b/120137> Separating Win32 and Win64 builds.

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

* JavaScriptCore.vcxproj/JavaScriptCoreGenerated.make:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.make:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.make:
Pass PlatformArchitecture as a command line parameter to bash scripts.
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/build-LLIntDesiredOffsets.sh:
* JavaScriptCore.vcxproj/build-generated-files.sh:
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).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agorevalidateTiles and ensureTilesForRect can share a lot of code
timothy_horton@apple.com [Wed, 21 Aug 2013 21:08:53 +0000 (21:08 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120115> SVG elements always have custom style resolve callbacks.
akling@apple.com [Wed, 21 Aug 2013 21:07:32 +0000 (21:07 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agorevalidateTiles and ensureTilesForRect can share a lot of code
timothy_horton@apple.com [Wed, 21 Aug 2013 21:04:57 +0000 (21:04 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoisReplacementObscured is wrong when the indicator is clipped by an iframe
timothy_horton@apple.com [Wed, 21 Aug 2013 21:03:49 +0000 (21:03 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154412 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120134> [Tools] lldb_webkit.py helpers is incorrectly printing...
commit-queue@webkit.org [Wed, 21 Aug 2013 21:00:50 +0000 (21:00 +0000)]
<https://webkit.org/b/120134> [Tools] lldb_webkit.py helpers is incorrectly printing 8bit Strings

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-08-21
Reviewed by Benjamin Poulain.

WTFString moved the is8bit bit by one in r152201.

* lldb/lldb_webkit.py:
(WTFStringImplProvider.is_8bit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=111650
ap@apple.com [Wed, 21 Aug 2013 20:58:35 +0000 (20:58 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120132> Frame::navigationScheduler() should return a reference.
akling@apple.com [Wed, 21 Aug 2013 20:54:20 +0000 (20:54 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154409 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAssertion failure in JSC::SlotVisitor::copyLater when marking JSDataView
fpizlo@apple.com [Wed, 21 Aug 2013 20:53:57 +0000 (20:53 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154408 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove incorrect ASSERT from CopyVisitor::visitItem
mhahnenberg@apple.com [Wed, 21 Aug 2013 20:31:02 +0000 (20:31 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154407 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRevert http://trac.webkit.org/changeset/154022, as it failed to update
timothy_horton@apple.com [Wed, 21 Aug 2013 20:30:40 +0000 (20:30 +0000)]
Revert 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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154406 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=120127
barraclough@apple.com [Wed, 21 Aug 2013 19:51:20 +0000 (19:51 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154405 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r154399): broke Mac ML debug WK1 tests > 50 crashes (Requested by thorton...
timothy_horton@apple.com [Wed, 21 Aug 2013 19:50:36 +0000 (19:50 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDFG should inline new typedArray()
fpizlo@apple.com [Wed, 21 Aug 2013 19:43:47 +0000 (19:43 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154403 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120099> Assertion failure in JSC::SlotVisitor::copyLater when...
timothy_horton@apple.com [Wed, 21 Aug 2013 19:02:30 +0000 (19:02 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120118> Frame::animation() should return a reference.
akling@apple.com [Wed, 21 Aug 2013 18:49:52 +0000 (18:49 +0000)]
<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().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAllow opacity to apply to custom scrollbars
simon.fraser@apple.com [Wed, 21 Aug 2013 18:04:42 +0000 (18:04 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r127163): Respect clearance set on ancestors when placing floats
robert@webkit.org [Wed, 21 Aug 2013 18:03:06 +0000 (18:03 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Unreviewed gardening: WebInspector should always be enabled for WinLauncher.
bfulgham@apple.com [Wed, 21 Aug 2013 17:36:19 +0000 (17:36 +0000)]
[Windows] Unreviewed gardening: WebInspector should always be enabled for WinLauncher.

* WinLauncher/WinLauncher.cpp:
(setToDefaultPreferences): Activate Developer Extras on Release (as well as Debug) builds.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago REGRESSION (r145458?): WebProcess doesn't respect UI process localization
ap@apple.com [Wed, 21 Aug 2013 17:25:28 +0000 (17:25 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago../WebInspectorUI: <http://webkit.org/b/120098> [Windows] Enable the New Web Inspector
bfulgham@apple.com [Wed, 21 Aug 2013 17:19:22 +0000 (17:19 +0000)]
../WebInspectorUI: <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).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Unreviewed gardening. One more CSS_IMAGE_SET test can be activated.
bfulgham@apple.com [Wed, 21 Aug 2013 17:16:53 +0000 (17:16 +0000)]
[Windows] Unreviewed gardening. One more CSS_IMAGE_SET test can be activated.

* platform/win/TestExpectations: We can reactivate cssom/cssvalue-comparison.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120116> [GTK] Fix a typo in ActivateFontsGtk.cpp
zandobersek@gmail.com [Wed, 21 Aug 2013 17:15:12 +0000 (17:15 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154393 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120113> Enable CSS_IMAGE_SET
bfulgham@apple.com [Wed, 21 Aug 2013 16:58:26 +0000 (16:58 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154392 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120113> [Windows] Enable CSS_IMAGE_SET
bfulgham@apple.com [Wed, 21 Aug 2013 16:56:11 +0000 (16:56 +0000)]
<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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120113> [Windows] Enable CSS_IMAGE_SET
bfulgham@apple.com [Wed, 21 Aug 2013 16:54:06 +0000 (16:54 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIn RenderTableCell::paintCollapsedBorders() check surrounding cells using physical...
robert@webkit.org [Wed, 21 Aug 2013 16:45:06 +0000 (16:45 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120106> Fix V_DFGOperation_EJPP signature in DFG.
commit-queue@webkit.org [Wed, 21 Aug 2013 16:32:16 +0000 (16:32 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154388 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Suppress irrelevant or known leaks for Valgrind
commit-queue@webkit.org [Wed, 21 Aug 2013 16:11:10 +0000 (16:11 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154387 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120109> [curl] only include WebCoreBundleWin on Windows
commit-queue@webkit.org [Wed, 21 Aug 2013 16:00:26 +0000 (16:00 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154386 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt] Remove unused code path in PluginView
commit-queue@webkit.org [Wed, 21 Aug 2013 14:23:02 +0000 (14:23 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154385 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFont’s fast code path doesn’t handle partial runs correctly when kerning or ligatures...
allan.jensen@digia.com [Wed, 21 Aug 2013 13:43:00 +0000 (13:43 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154384 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoHarden RenderBox::canBeScrolledAndHasScrollableArea logic https://bugs.webkit.org...
tonikitoo@webkit.org [Wed, 21 Aug 2013 12:53:04 +0000 (12:53 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154383 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoText dragging can scroll overflow:hidden boxes https://bugs.webkit.org/show_bug.cgi...
tonikitoo@webkit.org [Wed, 21 Aug 2013 12:52:31 +0000 (12:52 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154382 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDisable maybe-uninitialized warning in GCC 4.8
allan.jensen@digia.com [Wed, 21 Aug 2013 09:24:10 +0000 (09:24 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154381 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119836> [GTK] ChromeClient::paint is susceptible to system...
zandobersek@gmail.com [Wed, 21 Aug 2013 07:03:24 +0000 (07:03 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154380 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=120086
barraclough@apple.com [Wed, 21 Aug 2013 06:06:10 +0000 (06:06 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154379 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120101> [Mac] Suspended HTMLMediaElements can still hold power...
jer.noble@apple.com [Wed, 21 Aug 2013 04:01:52 +0000 (04:01 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154378 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agofast/js/regress/emscripten-cube2hash is failing on all the Mac bots
fpizlo@apple.com [Tue, 20 Aug 2013 23:52:50 +0000 (23:52 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154377 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd emscripten memops benchmark.
fpizlo@apple.com [Tue, 20 Aug 2013 23:50:41 +0000 (23:50 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154376 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/92330> [CSS] Pass an image orientation data to drawImage()
gyuyoung.kim@samsung.com [Tue, 20 Aug 2013 23:49:58 +0000 (23:49 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154375 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening. Rebaseline after r154372.
seokju@webkit.org [Tue, 20 Aug 2013 23:47:37 +0000 (23:47 +0000)]
Unreviewed gardening. Rebaseline after r154372.

* platform/qt-mac/TestExpectations: fast/css/giant-stylesheet-crash.html was removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154374 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=120093
barraclough@apple.com [Tue, 20 Aug 2013 23:46:45 +0000 (23:46 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154373 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120095> Delete fast/css/giant-stylesheet-crash.html since it...
rniwa@webkit.org [Tue, 20 Aug 2013 22:55:55 +0000 (22:55 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154372 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120071> Replace NodeRenderingContext with Node* as childShouldC...
antti@apple.com [Tue, 20 Aug 2013 22:52:55 +0000 (22:52 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154371 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120050> Don't bother using a Vector for the ouput of querySelec...
benjamin@webkit.org [Tue, 20 Aug 2013 22:43:57 +0000 (22:43 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154370 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Linking fix for Win64.
achristensen@apple.com [Tue, 20 Aug 2013 22:32:47 +0000 (22:32 +0000)]
[Windows] Linking fix for Win64.

Rubberstamped by Brent Fulgham.

* win/DLLLauncher/DLLLauncherMain.cpp:
(wWinMain): Corrected 64-bit linker symbol for dllLauncherEntryPoint.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154368 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120090> Report better error messages from WinLauncher/DRT
bfulgham@apple.com [Tue, 20 Aug 2013 22:25:29 +0000 (22:25 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154367 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120079> Flattening a dictionary can cause CopiedSpace corruption
mhahnenberg@apple.com [Tue, 20 Aug 2013 22:17:29 +0000 (22:17 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154366 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRollout the previous patch for landing with the correct ChangeLog.
antti@apple.com [Tue, 20 Aug 2013 22:16:44 +0000 (22:16 +0000)]
Rollout the previous patch for landing with the correct ChangeLog.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154365 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago013-08-20 Jacky Jiang <zhajiang@blackberry.com>
zhajiang@rim.com [Tue, 20 Aug 2013 22:12:43 +0000 (22:12 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154364 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Unreviewed build fix for Win64 after r154118.
achristensen@apple.com [Tue, 20 Aug 2013 22:08:42 +0000 (22:08 +0000)]
[Windows] Unreviewed build fix for Win64 after r154118.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154363 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCompile fix for Win64 after r154156.
achristensen@apple.com [Tue, 20 Aug 2013 22:03:39 +0000 (22:03 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154362 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120078> Replace NodeRenderingContext with RenderStyle& as shoul...
antti@apple.com [Tue, 20 Aug 2013 21:58:26 +0000 (21:58 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154361 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120088> Define Clipboard::hasData() only when building with...
dbates@webkit.org [Tue, 20 Aug 2013 21:52:54 +0000 (21:52 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154360 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120032> Add DRT test to ensure that AccessibilityObject::string...
dbates@webkit.org [Tue, 20 Aug 2013 21:44:42 +0000 (21:44 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154359 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120078> Replace NodeRenderingContext with RenderStyle& as shoul...
antti@apple.com [Tue, 20 Aug 2013 21:22:53 +0000 (21:22 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154358 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFailing test expectations for two tests
timothy_horton@apple.com [Tue, 20 Aug 2013 21:09:26 +0000 (21:09 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154357 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120087> Lion: fast/forms/submit-to-url-fragment.html intermitte...
rniwa@webkit.org [Tue, 20 Aug 2013 21:03:30 +0000 (21:03 +0000)]
<https://webkit.org/b/120087> Lion: fast/forms/submit-to-url-fragment.html intermittently crashes

Add the test expectation.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154356 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMac Lion rebaseline after r154072.
rniwa@webkit.org [Tue, 20 Aug 2013 20:56:28 +0000 (20:56 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154355 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120076> More work towards a Win64 build
achristensen@apple.com [Tue, 20 Aug 2013 20:45:34 +0000 (20:45 +0000)]
<https://webkit.org/b/120076> More work towards a Win64 build

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

* JavaScriptCore.vcxproj/JavaScriptCoreGenerated.make:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.make:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.make:
* JavaScriptCore.vcxproj/copy-files.cmd:
* JavaScriptCore.vcxproj/jsc/jscCommon.props:
* JavaScriptCore.vcxproj/testRegExp/testRegExpCommon.props:
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154354 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/105988> [Mac] Some inspector tests intermittently assert in...
timothy_horton@apple.com [Tue, 20 Aug 2013 20:23:35 +0000 (20:23 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154353 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMark fast/css/giant-stylesheet-crash.html as slow after r154246
rniwa@webkit.org [Tue, 20 Aug 2013 19:41:02 +0000 (19:41 +0000)]
Mark fast/css/giant-stylesheet-crash.html as slow after r154246
since allocating 2GB of RAM takes a long time sometimes.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154352 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119919> Concurrent JIT crashes in various fast/js/dfg-* tests...
mhahnenberg@apple.com [Tue, 20 Aug 2013 19:39:54 +0000 (19:39 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154351 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBuild fix after <http://trac.webkit.org/changeset/154260> (https://webkit.org/b/119949);
dbates@webkit.org [Tue, 20 Aug 2013 19:33:43 +0000 (19:33 +0000)]
Build fix after <trac.webkit.org/changeset/154260> (https://webkit.org/b/119949);
declare Clipboard::hasData() when building with and without drag support

* dom/Clipboard.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154350 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119849> [CSS Shapes] Complete RasterShape::firstIncludedInterva...
hmuller@adobe.com [Tue, 20 Aug 2013 19:21:36 +0000 (19:21 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154349 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120029> Document::markers() should return a reference
psolanki@apple.com [Tue, 20 Aug 2013 18:59:17 +0000 (18:59 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154348 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119875> localeToScriptCodeForFontSelection should use hash...
psolanki@apple.com [Tue, 20 Aug 2013 18:50:21 +0000 (18:50 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154347 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=120075
msaboff@apple.com [Tue, 20 Aug 2013 18:47:23 +0000 (18:47 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154346 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120068> Media controls can be attached lazily
eric.carlson@apple.com [Tue, 20 Aug 2013 18:24:27 +0000 (18:24 +0000)]
<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().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154345 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIncorrect behavior on emscripten-compiled cube2hash
fpizlo@apple.com [Tue, 20 Aug 2013 18:22:08 +0000 (18:22 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154344 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/120072> Use nullAtom instead of defining static local in
dbates@webkit.org [Tue, 20 Aug 2013 18:13:05 +0000 (18:13 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154343 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=120073
barraclough@apple.com [Tue, 20 Aug 2013 17:40:08 +0000 (17:40 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154340 268f45cc-cd09-0410-ab3c-d52691b4dbfc