[V8] Generate specialized callbacks for the main world
https://bugs.webkit.org/show_bug.cgi?id=112430

Patch by Marja Hölttä <marja@chromium.org> on 2013-03-25
Reviewed by Kentaro Hara.

The new specialized bindings will be faster, because they don't need to
do the "main world, isolated world or a worker" check, but can right
away assume that we're in the main world.

This patch generates main world bindings for getters and setters for a
small amount of frequently used functions / functions used by Dromaeo.

Added tests to TestObj.idl and updated bindings tests.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateOverloadedFunction):
(GenerateFunctionCallback):
(GenerateFunction):
(GenerateParametersCheck):
(GenerateSingleConstructorCallback):
(GenerateNonStandardFunction):
(GenerateImplementation):
(GenerateFunctionCallString):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetter):
(TestObjV8Internal):
(WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetterCallback):
(WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetterForMainWorld):
(WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetterCallbackForMainWorld):
(WebCore::TestObjV8Internal::perWorldAttributeAttrGetter):
(WebCore::TestObjV8Internal::perWorldAttributeAttrGetterCallback):
(WebCore::TestObjV8Internal::perWorldAttributeAttrGetterForMainWorld):
(WebCore::TestObjV8Internal::perWorldAttributeAttrGetterCallbackForMainWorld):
(WebCore::TestObjV8Internal::perWorldAttributeAttrSetter):
(WebCore::TestObjV8Internal::perWorldAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::perWorldAttributeAttrSetterForMainWorld):
(WebCore::TestObjV8Internal::perWorldAttributeAttrSetterCallbackForMainWorld):
(WebCore::TestObjV8Internal::perWorldMethodMethod):
(WebCore::TestObjV8Internal::perWorldMethodMethodForMainWorld):
(WebCore::TestObjV8Internal::perWorldMethodMethodCallback):
(WebCore::TestObjV8Internal::perWorldMethodMethodCallbackForMainWorld):
(WebCore::TestObjV8Internal::overloadedPerWorldMethod1Method):
(WebCore::TestObjV8Internal::overloadedPerWorldMethod1MethodForMainWorld):
(WebCore::TestObjV8Internal::overloadedPerWorldMethod2Method):
(WebCore::TestObjV8Internal::overloadedPerWorldMethod2MethodForMainWorld):
(WebCore::TestObjV8Internal::overloadedPerWorldMethodMethod):
(WebCore::TestObjV8Internal::overloadedPerWorldMethodMethodForMainWorld):
(WebCore::TestObjV8Internal::overloadedPerWorldMethodMethodCallback):
(WebCore::TestObjV8Internal::overloadedPerWorldMethodMethodCallbackForMainWorld):
(WebCore):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore):
* bindings/v8/V8DOMConfiguration.cpp:
(WebCore::V8DOMConfiguration::batchConfigureCallbacks):
(WebCore::V8DOMConfiguration::configureTemplate):
* bindings/v8/V8DOMConfiguration.h:
(BatchedMethod):
(V8DOMConfiguration):
* dom/Document.idl:
* dom/Element.idl:
* dom/Node.idl:
* page/DOMWindow.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening. Rebaselining. Making pixel test bot happier after r146206.

* platform/qt/fast/replaced/max-width-percent-expected.png:
* platform/qt/fast/replaced/maxheight-percent-expected.png:
* platform/qt/fast/replaced/maxheight-pxs-expected.png:
* platform/qt/fast/replaced/maxwidth-percent-expected.png:
* platform/qt/fast/replaced/maxwidth-pxs-expected.png:
* platform/qt/fast/replaced/minheight-percent-expected.png:
* platform/qt/fast/replaced/minheight-pxs-expected.png:
* platform/qt/fast/replaced/minwidth-percent-expected.png:
* platform/qt/fast/replaced/minwidth-pxs-expected.png:
* platform/qt/fast/replaced/object-align-hspace-vspace-expected.png:
* platform/qt/fast/replaced/percent-height-in-anonymous-block-in-table-expected.png:
* platform/qt/fast/replaced/percent-height-in-anonymous-block-widget-expected.png:
* platform/qt/fast/replaced/vertical-lr/absolute-position-with-auto-height-and-top-and-bottom-expected.png:
* platform/qt/fast/replaced/vertical-lr/absolute-position-with-auto-width-and-left-and-right-expected.png:
* platform/qt/fast/replaced/vertical-rl/absolute-position-with-auto-height-and-top-and-bottom-expected.png:
* platform/qt/fast/replaced/vertical-rl/absolute-position-with-auto-width-and-left-and-right-expected.png:
* platform/qt/fast/replaced/width100percent-button-expected.png:
* platform/qt/fast/ruby/ruby-inline-table-expected.png:
* platform/qt/fast/runin/001-expected.png:
* platform/qt/fast/runin/generated-expected.png:
* platform/qt/fast/runin/runin-generated-before-content-expected.png:
* platform/qt/fast/selectors/016-expected.png:
* platform/qt/fast/selectors/017-expected.png:
* platform/qt/fast/selectors/061-expected.png:
* platform/qt/fast/selectors/062-expected.png:
* platform/qt/fast/selectors/064-expected.png:
* platform/qt/fast/table/003-expected.png:
* platform/qt/fast/table/023-expected.png:
* platform/qt/fast/table/027-vertical-expected.png:
* platform/qt/fast/table/038-vertical-expected.png:
* platform/qt/fast/table/040-expected.png:
* platform/qt/fast/table/040-vertical-expected.png:
* platform/qt/fast/table/100-percent-cell-width-expected.png:
* platform/qt/fast/table/add-before-anonymous-child-expected.png:
* platform/qt/fast/table/auto-100-percent-width-expected.png:
* platform/qt/fast/table/border-collapsing/002-vertical-expected.png:
* platform/qt/fast/table/border-collapsing/border-collapsing-head-foot-expected.png:
* platform/qt/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.png:
* platform/qt/fast/table/border-collapsing/equal-precedence-resolution-expected.png:
* platform/qt/fast/table/cell-absolute-child-expected.png:
* platform/qt/fast/table/click-near-anonymous-table-expected.png:
* platform/qt/fast/table/empty-cells-expected.png:
* platform/qt/fast/table/empty-table-percent-height-expected.png:
* platform/qt/fast/table/fixed-granular-cols-expected.png:
* platform/qt/fast/table/fixed-with-auto-with-colspan-expected.png:
* platform/qt/fast/table/generated-caption-expected.png:
* platform/qt/fast/table/insert-before-anonymous-ancestors-expected.png:
* platform/qt/fast/table/mozilla-bug10296-vertical-align-1-expected.png:
* platform/qt/fast/table/mozilla-bug10296-vertical-align-2-expected.png:
* platform/qt/fast/table/row-height-recalc-expected.png:
* platform/qt/fast/table/rtl-cell-display-none-assert-expected.png:
* platform/qt/fast/table/stale-grid-crash-expected.png:
* platform/qt/fast/table/table-and-parts-outline-expected.png:
* platform/qt/fast/table/table-display-types-vertical-expected.png:
* platform/qt/fast/table/text-field-baseline-expected.png:
* platform/qt/fast/table/unused-percent-heights-expected.png:
* platform/qt/fast/text/backslash-to-yen-sign-expected.png:
* platform/qt/fast/text/basic/001-expected.png:
* platform/qt/fast/text/basic/002-expected.png:
* platform/qt/fast/text/basic/004-expected.png:
* platform/qt/fast/text/basic/008-expected.png:
* platform/qt/fast/text/basic/009-expected.png:
* platform/qt/fast/text/basic/011-expected.png:
* platform/qt/fast/text/basic/012-expected.png:
* platform/qt/fast/text/basic/generic-family-changes-expected.png:
* platform/qt/fast/text/basic/generic-family-reset-expected.png:
* platform/qt/fast/text/bidi-embedding-pop-and-push-same-2-expected.png:
* platform/qt/fast/text/capitalize-empty-generated-string-expected.png:
* platform/qt/fast/text/complex-text-opacity-expected.png:
* platform/qt/fast/text/fake-italic-expected.png:
* platform/qt/fast/text/fallback-traits-fixup-expected.png:
* platform/qt/fast/text/firstline/001-expected.png:
* platform/qt/fast/text/font-initial-expected.png:
* platform/qt/fast/text/hyphenate-limit-before-after-expected.png:
* platform/qt/fast/text/international/arabic-justify-expected.png:
* platform/qt/fast/text/international/bidi-ignored-for-first-child-inline-expected.png:
* platform/qt/fast/text/international/hindi-whitespace-expected.png:
* platform/qt/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png:
* platform/qt/fast/text/justified-selection-at-edge-expected.png:
* platform/qt/fast/text/justified-selection-expected.png:
* platform/qt/fast/text/line-breaks-after-white-space-expected.png:
* platform/qt/fast/text/shadow-no-blur-expected.png:
* platform/qt/fast/text/shadow-translucent-fill-expected.png:
* platform/qt/fast/text/softHyphen-expected.png:
* platform/qt/fast/text/unicode-variation-selector-expected.png:
* platform/qt/fast/text/wbr-in-pre-crash-expected.png:
* platform/qt/fast/text/wbr-styled-expected.png:
* platform/qt/fast/text/whitespace/002-expected.png:
* platform/qt/fast/text/whitespace/020-expected.png:
* platform/qt/fast/text/whitespace/021-expected.png:
* platform/qt/fast/text/whitespace/022-expected.png:
* platform/qt/fast/text/whitespace/025-expected.png:
* platform/qt/fast/text/whitespace/027-expected.png:
* platform/qt/fast/text/whitespace/030-expected.png:
* platform/qt/fast/text/whitespace/nbsp-mode-and-linewraps-expected.png:
* platform/qt/fast/text/whitespace/normal-after-nowrap-breaking-expected.png:
* platform/qt/fast/text/whitespace/pre-break-word-expected.png:
* platform/qt/fast/text/whitespace/pre-wrap-last-char-expected.png:
* platform/qt/fast/text/whitespace/pre-wrap-line-test-expected.png:
* platform/qt/fast/text/word-break-expected.png:
* platform/qt/fast/text/zero-font-size-expected.png:
* platform/qt/fast/transforms/bounding-rect-zoom-expected.png:
* platform/qt/fast/transforms/diamond-expected.png:
* platform/qt/fast/transforms/matrix-01-expected.png:
* platform/qt/fast/transforms/matrix-02-expected.png:
* platform/qt/fast/transforms/overflow-with-transform-expected.png:
* platform/qt/fast/transforms/skew-with-unitless-zero-expected.png:
* platform/qt/fast/transforms/transform-on-inline-expected.png:
* platform/qt/fast/transforms/transform-positioned-ancestor-expected.png:
* platform/qt/fast/transforms/transformed-document-element-expected.png:
* platform/qt/fast/transforms/transforms-with-opacity-expected.png:
* platform/qt/fast/writing-mode/block-level-images-expected.png:
* platform/qt/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png:
* platform/qt/fast/writing-mode/box-shadow-horizontal-bt-expected.png:
* platform/qt/fast/writing-mode/box-shadow-vertical-lr-expected.png:
* platform/qt/fast/writing-mode/box-shadow-vertical-rl-expected.png:
* platform/qt/fast/writing-mode/english-bt-text-expected.png:
* platform/qt/fast/writing-mode/english-rl-text-expected.png:
* platform/qt/fast/writing-mode/horizontal-bt-replaced-selection-expected.png:
* platform/qt/fast/writing-mode/vertical-lr-replaced-selection-expected.png:
* platform/qt/fast/writing-mode/vertical-rl-replaced-selection-expected.png:
* platform/qt/fast/xsl/document-function-expected.png:
* platform/qt/fonts/cursive-expected.png:
* platform/qt/fonts/default-expected.png:
* platform/qt/fonts/fantasy-expected.png:
* platform/qt/fonts/monospace-expected.png:
* platform/qt/fonts/sans-serif-expected.png:
* platform/qt/fonts/serif-expected.png:
* platform/qt/http/tests/local/file-url-sent-as-referer-expected.png:
* platform/qt/http/tests/misc/frame-access-during-load-expected.png:
* platform/qt/http/tests/misc/iframe404-expected.png:
* platform/qt/http/tests/navigation/postredirect-basic-expected.png:
* platform/qt/http/tests/navigation/postredirect-goback1-expected.png:
* platform/qt/http/tests/uri/css-href-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/background-color-border-box-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/background_repeat_space_border_box-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/background_repeat_space_content_box-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-radius-clip-001-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-radius-style-003-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-radius-style-005-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-002-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.png:
* platform/qt/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.png:
* platform/qt/ietestcenter/css3/text/textshadow-003-expected.png:
* platform/qt/ietestcenter/css3/text/textshadow-005-expected.png:
* platform/qt/ietestcenter/css3/text/textshadow-007-expected.png:
* platform/qt/ietestcenter/css3/text/textshadow-008-expected.png:
* platform/qt/ietestcenter/css3/text/textshadow-009-expected.png:
* platform/qt/ietestcenter/css3/text/textshadow-010-expected.png:
* platform/qt/platform/qt/fast/forms/button-line-break-expected.png:
* platform/qt/printing/return-from-printing-mode-expected.png:
* platform/qt/scrollbars/custom-scrollbar-with-incomplete-style-expected.png:
* platform/qt/scrollbars/listbox-scrollbar-combinations-expected.png:
* platform/qt/scrollbars/overflow-scrollbar-combinations-expected.png:
* platform/qt/scrollbars/scrollbars-on-positioned-content-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/struct-dom-11-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/struct-use-11-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-02-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-03-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-08-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-13-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-20-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-21-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-23-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-24-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-25-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-26-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-27-t-expected.png:

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