Remove custom bindings from WaveShaperNode.
https://bugs.webkit.org/show_bug.cgi?id=93613

Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-08-10
Reviewed by Kentaro Hara.

We should remove custom bindings as CodeGenerator uses UNUSED_PARAM macro.

TestObj.idl
No behavioural changes.
All tests under webaudio/* should behave same.

* GNUmakefile.list.am: Removed JSWaveShaperNodeCustom.cpp from builds.
* Modules/webaudio/WaveShaperNode.idl: Removed [JSCustomSetter].
* UseJSC.cmake: Removed JSWaveShaperNodeCustom.cpp from builds.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSWaveShaperNodeCustom.cpp: Removed.
* bindings/scripts/CodeGeneratorCPP.pm:
(SkipAttribute): Skip TypedArray attribute.
* bindings/scripts/CodeGeneratorGObject.pm:
(SkipAttribute): Skip TypedArray attribute.
* bindings/scripts/CodeGeneratorObjC.pm:
(SkipAttribute): Skip TypedArray attribute.
* bindings/scripts/test/JS/JSTestObj.cpp: Bindings tests.
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjTypedArrayAttr):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/TestObj.idl: Test.
* bindings/scripts/test/V8/V8TestObj.cpp: Bindings tests.
(WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
(TestObjV8Internal):
(WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125293 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSS: Shrink RuleData by storing selector as index rather than pointer.
<http://webkit.org/b/93712>

Reviewed by Antti Koivisto.

Pack the selector's index in the rule in the RuleData bitfield, effectively
shrinking each RuleData by 8 bytes.

* css/CSSSelectorList.h:
(WebCore::CSSSelectorList::selectorAt):
(WebCore::CSSSelectorList::indexOfNextSelectorAfter):

    Add helpers to CSSSelectorList to iterate by index.

* css/StyleResolver.cpp:
(RuleData):
(WebCore::RuleData::selector):
(WebCore::RuleData::selectorIndex):
(SameSizeAsRuleData):
(RuleSet):
(WebCore::makeRuleSet):
(WebCore::StyleResolver::collectMatchingRulesForList):
* css/StyleResolver.h:
(WebCore::StyleResolver::RuleFeature::RuleFeature):
(RuleFeature):

    Store selector indices instead of CSSSelector* pointers.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Introduce V8DOMConfiguration class and make batchConfigureXXX() methods static
https://bugs.webkit.org/show_bug.cgi?id=93615

Reviewed by Adam Barth.

Per the discussion in bug 93239,

(1) Rename V8ConfigureDOMAttributesAndMethods to V8DOMConfiguration.
(2) Introduce V8DOMConfiguration class and make batchConfigureXXX() methods static.

No tests. No change in behavior.

* UseV8.cmake:
* WebCore.gypi:
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementation):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
(WebCore::ConfigureV8Float64ArrayTemplate):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
(WebCore::ConfigureV8TestCustomNamedGetterTemplate):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
(WebCore::ConfigureV8TestEventConstructorTemplate):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
(WebCore::ConfigureV8TestEventTargetTemplate):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore):
(WebCore::ConfigureV8TestExceptionTemplate):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
(WebCore::ConfigureV8TestInterfaceTemplate):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
(WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::ConfigureV8TestNamedConstructorTemplate):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::ConfigureV8TestNodeTemplate):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::installPerContextProperties):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
(WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
* bindings/v8/V8Binding.h:
* bindings/v8/V8ConfigureDOMAttributesAndMethods.h: Removed.
* bindings/v8/V8DOMConfiguration.cpp: Renamed from Source/WebCore/bindings/v8/V8ConfigureDOMAttributesAndMethods.cpp.
(WebCore):
(WebCore::V8DOMConfiguration::batchConfigureAttributes):
(WebCore::V8DOMConfiguration::batchConfigureConstants):
(WebCore::V8DOMConfiguration::batchConfigureCallbacks):
(WebCore::V8DOMConfiguration::configureTemplate):
* bindings/v8/V8DOMConfiguration.h: Added.
(WebCore):
(V8DOMConfiguration):
(BatchedAttribute):
(WebCore::V8DOMConfiguration::configureAttribute):
(BatchedConstant):
(BatchedCallback):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125295 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Enable es5_readonly
https://bugs.webkit.org/show_bug.cgi?id=91031

Reviewed by Adam Barth.

This turns on the es5_readonly flag for V8. This makes V8 match the ES5 spec regarding
non writable properties on the prototype chain. JSC already behaves the right so this
just makes V8 behave the same.

Source/WebCore:

Updated test expectations.

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::initContextIfNeeded):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::initIsolate):

LayoutTests:

* platform/chromium/media/network-no-source-const-shadow-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125296 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Adding failure expectations for failures introduced in r125133 and r125262.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Renamed the “Modules/webaudio” group in the Xcode project to “webaudio” and moved it into
the Modules group.

Rubber-stamped by Simon Fraser.

* WebCore.xcodeproj/project.pbxproj:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125298 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium-Android][NRWT] Executable might not be pushed correctly when there are multiple builds
https://bugs.webkit.org/show_bug.cgi?id=93688

Reviewed by Dirk Pranke.

There might be other better methods, but this change is the smallest.
I think the chance of equal timestamp can be ignored because we flock
to avoid concurrent linkers.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver._push_executable): Changed '<' to '!=' to compare the timestamp.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Fix wrong include path for notifications.
https://bugs.webkit.org/show_bug.cgi?id=93714

Reviewed by Rob Buis.

* PlatformBlackBerry.cmake: Change path from notifications to Modules/notifications.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Wrap INLINE_FLEX in a #if ENABLE(CSS3_FLEXBOX).
Unreviewed build fix.

* rendering/style/RenderStyle.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125301 268f45cc-cd09-0410-ab3c-d52691b4dbfc
New test introduced in r125262 css3/flexbox/inline-flex-crash2.html fails
https://bugs.webkit.org/show_bug.cgi?id=93718

Test uses layoutTestController instead of testRunner.

* css3/flexbox/inline-flex-crash2.html:
* platform/qt/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125302 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Removing expectation for css3/flexbox/inline-flex-crash2.html after
the fix for it was landed in r125302.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: box-shadow creates incorrect shadow when border-radius is too large
https://bugs.webkit.org/show_bug.cgi?id=72103

Patch by Takashi Sakamoto <tasak@google.com> on 2012-08-10
Reviewed by Simon Fraser.

Added a code for adjusting a rounded rect before paintBoxShadow in
a similar way to getRoundedRectFor.

Test: fast/borders/border-shadow-large-radius.html

* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::adjustRadii):
Added a new method to set radii's scale to fit into rect.
* platform/graphics/RoundedRect.h:
(RoundedRect):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBoxShadow):
A rounded rect for box-shadow is not checked whether the raii matches
the rect or not. Added the code to adjust radii's scale if the rounded
rect is not renderable, the case: RoundedRect::isRenderable is false.

LayoutTests: box-shadow creates incorrect shadow when border-radius is too large.
https://bugs.webkit.org/show_bug.cgi?id=72103

Patch by Takashi Sakamoto <tasak@google.com> on 2012-08-10
Reviewed by Simon Fraser.

* fast/borders/border-shadow-large-radius.html: Added.
* fast/borders/border-shadow-large-radius-expected.txt: Added.
* platform/chromium-linux/fast/borders/border-shadow-large-radius-expected.png: Added.
* platform/chromium-mac/fast/borders/border-shadow-large-radius-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening: build fix for 32bit platforms after 125294.

* css/StyleResolver.cpp:
(RuleData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Transforms] Hit test issue with large scale() transform
https://bugs.webkit.org/show_bug.cgi?id=23170

Reviewed by Simon Fraser.

Source/WebCore:

By using normal rounding to determine the top-left corner of the
hit-tested rectangle, we end up offsetting the hit test by up to
half a pixel, once scaled to x60, this creates a 30px error.

Normal rounding is replaced with floored rounding which means the
hit-tested pixel will now always be the pixel containing the
point.

Test: fast/transforms/hit-test-large-scale.html

* rendering/HitTestResult.cpp:
(WebCore::HitTestPoint::HitTestPoint):
(WebCore::HitTestPoint::intersectsRect):
(WebCore::HitTestPoint::rectForPoint):

LayoutTests:

New test checking that we can hit the bottom-right part of an element with
a large scale transformation.

Modified test-input on perspective-clipped.html, since it was mathematically
0.1px inside the transformed target, but used to miss due to bad rounding.

* fast/transforms/hit-test-large-scale-expected.txt: Added.
* fast/transforms/hit-test-large-scale.html: Added.
* transforms/3d/hit-testing/perspective-clipped-expected.txt:
* transforms/3d/hit-testing/perspective-clipped.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-10

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMAKE] Fix wrong idl include path in CMakeList.txt
https://bugs.webkit.org/show_bug.cgi?id=93715

Reviewed by Rob Buis.

No new tests. No change in behavior.

* CMakeLists.txt: Fix notifications path.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Updating or adding newly-generated pixel baselines for tests in animations,
dom/xhtml/level3/core, scrollbars, transforms and transitions directories.

* platform/gtk/animations/3d/change-transform-in-end-event-expected.png: Added.
* platform/gtk/animations/3d/matrix-transform-type-animation-expected.png: Added.
* platform/gtk/animations/3d/replace-filling-transform-expected.png: Added.
* platform/gtk/animations/3d/state-at-end-event-transform-expected.png: Added.
* platform/gtk/animations/additive-transform-animations-expected.png: Added.
* platform/gtk/animations/cross-fade-background-image-expected.png: Added.
* platform/gtk/animations/cross-fade-border-image-source-expected.png: Added.
* platform/gtk/animations/cross-fade-list-style-image-expected.png: Added.
* platform/gtk/animations/cross-fade-webkit-mask-box-image-expected.png: Added.
* platform/gtk/animations/cross-fade-webkit-mask-image-expected.png: Added.
* platform/gtk/animations/missing-values-last-keyframe-expected.png: Added.
* platform/gtk/animations/opacity-transform-animation-expected.png: Added.
* platform/gtk/animations/state-at-end-event-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/canonicalform08-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/canonicalform09-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/documentgetinputencoding03-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/entitygetinputencoding02-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/entitygetxmlversion02-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/nodegetbaseuri05-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/nodegetbaseuri07-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/nodegetbaseuri09-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/nodegetbaseuri10-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/nodegetbaseuri11-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/nodegetbaseuri15-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/nodegetbaseuri17-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/nodegetbaseuri18-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/nodelookupnamespaceuri01-expected.png: Added.
* platform/gtk/dom/xhtml/level3/core/nodelookupprefix19-expected.png: Added.
* platform/gtk/scrollbars/basic-scrollbar-expected.png: Added.
* platform/gtk/scrollbars/custom-scrollbar-with-incomplete-style-expected.png:
* platform/gtk/scrollbars/disabled-scrollbar-expected.png: Added.
* platform/gtk/scrollbars/listbox-scrollbar-combinations-expected.png: Added.
* platform/gtk/scrollbars/overflow-scrollbar-combinations-expected.png: Added.
* platform/gtk/scrollbars/scrollbar-buttons-expected.png: Added.
* platform/gtk/scrollbars/scrollbar-orientation-expected.png: Added.
* platform/gtk/scrollbars/scrollbars-on-positioned-content-expected.png:
* platform/gtk/transforms/2d/compound-transforms-vs-containers-expected.png: Added.
* platform/gtk/transforms/2d/hindi-rotated-expected.png:
* platform/gtk/transforms/2d/transform-borderbox-expected.png: Added.
* platform/gtk/transforms/2d/transform-fixed-container-expected.png:
* platform/gtk/transforms/2d/transform-origin-borderbox-expected.png: Added.
* platform/gtk/transforms/2d/zoom-menulist-expected.png:
* platform/gtk/transforms/svg-vs-css-expected.png: Added.
* platform/gtk/transitions/cross-fade-background-image-expected.png: Added.
* platform/gtk/transitions/cross-fade-border-image-expected.png: Added.
* platform/gtk/transitions/default-timing-function-expected.png:
* platform/gtk/transitions/move-after-transition-expected.png: Added.
* platform/gtk/transitions/opacity-transition-zindex-expected.png: Added.
* platform/gtk/transitions/suspend-transform-transition-expected.png: Added.
* platform/gtk/transitions/svg-text-shadow-transition-expected.png: Added.
* platform/gtk/transitions/transition-end-event-rendering-expected.png: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/11855229> When in paginated mode, the layout timer fires continually
https://bugs.webkit.org/show_bug.cgi?id=91038

Reviewed by Simon Fraser.

* page/Page.cpp:
(WebCore::Page::pageCount): Changed to only trigger layout if needed.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash on accessing a removed layout root in FrameView::scheduleRelayout.
https://bugs.webkit.org/show_bug.cgi?id=91368

Reviewed by Levi Weintraub.

We were calling setNeedsLayoutAndPrefWidthsRecalc() in RenderBlock::collapseAnonymousBoxChild
even when documentBeingDestroyed() was true. This ends up accessing stale layout root and bypasses
mitigation added in r109406. There is no need to waste time merging up anonymous blocks in
RenderBlock::removeChild when documentBeingDestroyed() is true.

No new tests. The test is time sensitive, requires a bunch of reloads, and only reproduces on chromium linux.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::removeChild):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
NRWT crashes when DRT with --encode-binary crashes just before it dumps pixels
https://bugs.webkit.org/show_bug.cgi?id=93728

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/driver.py:
(ContentBlock.decode_content): Check self.content is not None before calling base64.b64decode().


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