1. 08 Feb, 2012 8 commits
    • zimmermann@webkit.org's avatar
      SVGLoad event fires too early · 3d2114c5
      zimmermann@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78084
      
      Reviewed by Hajime Morita.
      
      Source/WebCore:
      
      SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest).
      
      We're using a hack called runSVGRepaintTest() at the moment in trunk, which runs runRepaintTest() from a 0ms timer,
      which is not reliable. The main difference between HTML onload and SVG onload is that HTMLs event is a "window event",
      thus dispatched through DOMWindow (eg. <body onload="alert(event.target)" will yield Document,
      <svg onload="alert(evt.target)"> will say SVGSVGElement).
      
      Consider:
      <svg onload="alert('1')>
      <g onload="alert('2)">
      <rect onload="alert('3')"/>
      </svg>
      
      As soon as the <rect> finishes parsing (SVGElement::finishedParsingChildren), it's SVGLoad event is fired.
      So first you'll see '3', then '2', then '1'.
      
      Using:
      <svg onload="alert('1')>
      <g onload="alert('2)">
      <image xlink:href="someExternal.jpg" onload="alert('3')"/>
      </svg>
      
      will yield the same SVGLoad order. When using <image externalREsourcesRequired="true", first the '1' will fire,
      then '3', then '2', all as expected and specified in SVG.
      
      http://www.w3.org/TR/SVG/interact.html#LoadEvent says:
      "The event is triggered at the point at which the user agent has fully parsed the element and its descendants and is
      ready to act appropriately upon that element, such as being ready to render the element to the target device. Referenced
      external resources that are required must be loaded, parsed and ready to render before the event is triggered. Optional
      external resources are not required to be ready for the event to be triggered."
      
      What we don't implement correctly is the second part of the first sentence: "and is ready to act appropriately upon that
      element, such as being ready to render the element to the target device". We currently fire the SVGLoad event, right after
      </svg> is seen, if no externalResourceRequired="true" attributes are set anywhere. This is not wrong, but not correct for
      WebKit, as we're not yet "ready to render".
      
      HTML fires its window onload event from Document::implicitClose(), where it calls Document::dispatchWindowLoadEvent.
      At this point we're ready to render. So I'm now aligning the timing of the outermost <svg> elements SVGLoad event, to be
      equal to HTML. This lets use use the repaint.js harness w/o any special SVG tricks.
      
      Covered by existing tests.
      
      * dom/Document.cpp:
      (WebCore::Document::implicitClose): Dispatch SVGLoad event for outermost <svg> elements from here, as HTML does for its window onload event.
      * svg/SVGDocumentExtensions.cpp:
      (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements): Sends a SVGLoad event to all outermost <svg> elements in a document, if possible.
      There can be multiple ones, if using <svg><foreignObject><svg>... - the <svg> in the <fO> also acts as outermost <svg> element.
      * svg/SVGDocumentExtensions.h: Add new dispatchSVGLoadEventToOutermostSVGElements() helper.
      * svg/SVGElement.cpp:
      (WebCore::SVGElement::isOutermostSVGSVGElement): Moved from SVGSVGElement into SVGElement, and renamed from isOutermostSVG().
      (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't dispatch load events to outermost <svg> elements, if Document::implicitClose() wasn't called yet.
      (WebCore::SVGElement::finishParsingChildren): Stop using the default SVGLoad dispatching logic for outermost <svg> elements.
      * svg/SVGElement.h: Add isOutermostSVGSVGElement().
      * svg/SVGSVGElement.cpp: Rename isOutermostSVG to isOutermostSVGSVGElement.
      (WebCore::SVGSVGElement::currentScale):
      (WebCore::SVGSVGElement::setCurrentScale):
      (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
      (WebCore::SVGSVGElement::createRenderer):
      * svg/SVGSVGElement.h: Move isOutermostSVG() to SVGElement.
      * svg/SVGStyledElement.cpp:
      (WebCore::SVGStyledElement::title): Rename isOutermostSVG to isOutermostSVGSVGElement.
      
      LayoutTests:
      
      Remove runSVGRepaintTest() from repaint.js again, and convert all *.svg tests to use runRepaintTest() directly.
      This is now possible as the outermost <svg> elements load event timing as aligned with HTML.
      
      * fast/repaint/resources/repaint.js: Remove runSVGRepaintTest(), it's no longer needed.
      (runRepaintTest): s/document.rootElement/document.documentElement/ to make it work for all HTML/XHTML and SVG documents (XHTML was broken).
      * platform/chromium/test_expectations.txt:
      * platform/mac/svg/custom/SVGPoint-matrixTransform-expected.png:
      * platform/mac/svg/custom/SVGPoint-matrixTransform-expected.txt:
      * platform/mac/svg/custom/getTransformToElement-expected.png:
      * platform/mac/svg/custom/getTransformToElement-expected.txt:
      * platform/mac/svg/custom/polyline-setattribute-points-null-expected.png:
      * platform/mac/svg/custom/polyline-setattribute-points-null-expected.txt:
      * platform/mac/svg/custom/text-ctm-expected.png:
      * platform/mac/svg/custom/text-ctm-expected.txt:
      * platform/mac/svg/custom/text-hit-test-expected.png:
      * platform/mac/svg/custom/text-hit-test-expected.txt:
      * platform/mac/svg/filters/filter-refresh-expected.png:
      * svg/carto.net/tabgroup.svg:
      * svg/carto.net/window.svg:
      * svg/css/shadow-changes.svg:
      * svg/custom/loadevents-externalresourcesrequired.svg:
      * svg/dom/SVGPathSegList-segment-modification.svg:
      * svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml:
      * svg/dom/SVGRectElement/rect-modify-rx.svg:
      * svg/filters/animate-fill.svg:
      * svg/filters/feImage-reference-invalidation.svg:
      * svg/filters/feImage-target-add-to-document.svg:
      * svg/filters/feImage-target-changes-id.svg:
      * svg/filters/feImage-target-id-change.svg:
      * svg/filters/feImage-target-reappend-to-document.svg:
      * svg/filters/feImage-target-remove-from-document.svg:
      * svg/filters/filter-refresh.svg:
      * svg/filters/filter-width-update.svg:
      * svg/filters/invalidate-on-child-layout.svg:
      * svg/hixie/perf/001.xml:
      * svg/hixie/perf/002.xml:
      * svg/hixie/perf/003.xml:
      * svg/hixie/perf/004.xml:
      * svg/hixie/perf/005.xml:
      * svg/hixie/perf/006.xml:
      * svg/hixie/perf/007.xml:
      * svg/repaint/container-repaint.svg:
      * svg/repaint/filter-child-repaint.svg:
      * svg/repaint/image-href-change.svg:
      * svg/repaint/image-with-clip-path.svg:
      * svg/text/text-text-05-t.svg:
      * svg/zoom/page/absolute-sized-document-no-scrollbars.svg:
      * svg/zoom/page/absolute-sized-document-scrollbars.svg:
      * svg/zoom/page/relative-sized-document-scrollbars.svg:
      * svg/zoom/page/zoom-coords-viewattr-01-b.svg:
      * svg/zoom/page/zoom-foreignObject.svg:
      * svg/zoom/page/zoom-mask-with-percentages.svg:
      * svg/zoom/resources/testPageZoom.js:
      (repaintTest):
      * svg/zoom/text/absolute-sized-document-no-scrollbars.svg:
      * svg/zoom/text/absolute-sized-document-scrollbars.svg:
      * svg/zoom/text/relative-sized-document-scrollbars.svg:
      * svg/zoom/text/zoom-coords-viewattr-01-b.svg:
      * svg/zoom/text/zoom-foreignObject.svg:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d2114c5
    • apavlov@chromium.org's avatar
      Web Inspector: [CRASH] InspectorDOMAgent::updateTouchEventEmulationInPage() · 4c2a7593
      apavlov@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78090
      
      Reviewed by Vsevolod Vlasov.
      
      * inspector/InspectorDOMAgent.cpp:
      (WebCore::InspectorDOMAgent::updateTouchEventEmulationInPage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107056 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c2a7593
    • apavlov@chromium.org's avatar
      Web Inspector: Closed computed style sidebar pane rebuilds, resulting in slowness · b90a213d
      apavlov@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77865
      
      Reviewed by Pavel Feldman.
      
      Source/WebCore:
      
      Test: inspector/styles/lazy-computed-style.html
      
      * inspector/front-end/StylesSidebarPane.js:
      (WebInspector.StylesSidebarPane):
      (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
      (WebInspector.StylesSidebarPane.prototype._refreshComputedStyleSection):
      (WebInspector.ComputedStyleSidebarPane.prototype.expand):
      (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
      
      LayoutTests:
      
      * http/tests/inspector/elements-test.js:
      (initialize_ElementTest.InspectorTest.selectNodeAndWaitForStylesWithComputed.stylesCallback):
      (initialize_ElementTest.InspectorTest.selectNodeAndWaitForStylesWithComputed):
      * inspector/elements/elements-panel-styles.html:
      * inspector/styles/css-live-edit.html:
      * inspector/styles/lazy-computed-style-expected.txt: Added.
      * inspector/styles/lazy-computed-style.html: Added.
      * inspector/styles/styles-computed-trace.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b90a213d
    • tommyw@google.com's avatar
      MediaStream API: Adding the onstatechange callback to PeerConnection · 1dd210cc
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=77954
      
      When readyState changes a callback should be triggered.
      
      Reviewed by Adam Barth.
      
      Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
      
      * dom/EventNames.h:
      (WebCore):
      * mediastream/PeerConnection.cpp:
      (WebCore::PeerConnection::changeReadyState):
      * mediastream/PeerConnection.h:
      (PeerConnection):
      (WebCore::PeerConnection::didChangeState):
      * mediastream/PeerConnection.idl:
      * platform/mediastream/PeerConnectionHandlerClient.h:
      (PeerConnectionHandlerClient):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1dd210cc
    • haraken@chromium.org's avatar
      Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL · 70850529
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77963
      
      Reviewed by Adam Barth.
      
      This patch renames [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL,
      for clarification and for naming consistency with [NamedGetter] and [CustomIndexedSetter].
      
      No tests. No change in behavior.
      
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      (GenerateImplementation):
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateHeaderNamedAndIndexedPropertyAccessors):
      (GenerateImplementationIndexer):
      (GenerateImplementationNamedPropertyGetter):
      * bindings/scripts/test/TestInterface.idl:
      * css/CSSStyleDeclaration.idl:
      * dom/DOMStringMap.idl:
      * html/HTMLAppletElement.idl:
      * html/HTMLEmbedElement.idl:
      * html/HTMLObjectElement.idl:
      * page/History.idl:
      * page/Location.idl:
      * storage/Storage.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70850529
    • commit-queue@webkit.org's avatar
      Stop calling Element::ensureShadowRoot() if it is used in construction phase. · 3006ce7c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77929
      
      Patch by Shinya Kawanaka <shinyak@google.com> on 2012-02-08
      Reviewed by Hajime Morita.
      
      ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
      So we want to remove Element::ensureShadowRoot().
      This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
      
      No new tests, no change in behavior.
      
      * html/HTMLDetailsElement.cpp:
      (WebCore::HTMLDetailsElement::createShadowSubtree):
      * html/HTMLKeygenElement.cpp:
      (WebCore::HTMLKeygenElement::HTMLKeygenElement):
      * html/HTMLMeterElement.cpp:
      (WebCore::HTMLMeterElement::createShadowSubtree):
      * html/HTMLProgressElement.cpp:
      (WebCore::HTMLProgressElement::createShadowSubtree):
      * html/HTMLSummaryElement.cpp:
      (WebCore::HTMLSummaryElement::createShadowSubtree):
      * html/HTMLTextAreaElement.cpp:
      (WebCore::HTMLTextAreaElement::createShadowSubtree):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3006ce7c
    • haraken@chromium.org's avatar
      Replace [CheckNodeSecurity] with [CheckAccessToNode] · 81045559
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77971
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      [CheckNodeSecurity] is not implemented by code generators.
      This patch replaces [CheckNodeSecurity] with [CheckAccessToNode].
      
      Test: http/tests/security/cross-frame-access-frameelement.html
      
      * page/DOMWindow.idl:
      
      LayoutTests:
      
      The added test checks if frameElement is accessible from the same or cross origin iframe.
      
      * http/tests/security/cross-frame-access-frameelement-expected.txt: Added.
      * http/tests/security/cross-frame-access-frameelement.html: Added.
      * http/tests/security/resources/cross-frame-access-frameelement-from-iframe.html: Added.
      * platform/chromium/http/tests/security/cross-frame-access-put-expected.txt: Updated the test result.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81045559
    • haraken@chromium.org's avatar
      Rename [CustomPushEventHandlerScope] to [JSCustomPushEventHandlerScope] · c68e66d8
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78081
      
      Reviewed by Adam Barth.
      
      [CustomPushEventHandlerScope] is a JSC-specific IDL attribute.
      This patch renames it to [JSCustomPushEventHandlerScope]
      
      No tests. No change in behavior.
      
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      * dom/Node.idl:
      * html/HTMLElement.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c68e66d8
  2. 07 Feb, 2012 32 commits
    • haraken@chromium.org's avatar
      Add "JS" prefix to JSC-specific IDLs · efee39f4
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77846
      
      Reviewed by Darin Adler.
      
      In bug 77693, we have added "JS" prefix to several JSC specific IDLs.
      This patch adds "JS" prefix to the remaining JSC specific IDLs.
      Specifically, this patch renames IDLs as follows:
      
      [CustomDefineOwnProperty] => [JSCustomDefineOwnProperty]
      [CustomPrototypeDefineOwnProperty] => [JSCustomPrototypeDefineOwnProperty]
      [GenerateNativeConverter] => [JSGenerateToNativeObject]  (Note: For naming consistency
      with [JSGenerateToJS] and [JSCustomToNativeObject])
      [DelegatingGetOwnPropertySlot] => [JSCustomGetOwnPropertySlotDelegate]  (Note: Should be prefixed "JS",
      should be prefixed with "Custom", and for naming consistency with [CustomGetOwnPropertySlot])
      
      No tests. No change in behavior.
      
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateGetOwnPropertySlotBody):
      (GenerateGetOwnPropertyDescriptorBody):
      (GenerateHeader):
      (GenerateImplementation):
      * bindings/scripts/test/TestTypedArray.idl:
      * dom/Attr.idl:
      * dom/DataTransferItemList.idl:
      * dom/Document.idl:
      * dom/DocumentType.idl:
      * dom/Element.idl:
      * dom/Node.idl:
      * fileapi/DirectoryEntry.idl:
      * fileapi/DirectoryEntrySync.idl:
      * fileapi/File.idl:
      * fileapi/FileEntry.idl:
      * fileapi/FileEntrySync.idl:
      * fileapi/WebKitBlobBuilder.idl:
      * html/DOMFormData.idl:
      * html/DOMURL.idl:
      * html/HTMLAppletElement.idl:
      * html/HTMLCanvasElement.idl:
      * html/HTMLElement.idl:
      * html/HTMLEmbedElement.idl:
      * html/HTMLImageElement.idl:
      * html/HTMLMediaElement.idl:
      * html/HTMLObjectElement.idl:
      * html/HTMLOptionElement.idl:
      * html/HTMLOptionsCollection.idl:
      * html/HTMLTableCaptionElement.idl:
      * html/HTMLTableSectionElement.idl:
      * html/HTMLVideoElement.idl:
      * html/TextTrackCue.idl:
      * html/canvas/Float32Array.idl:
      * html/canvas/Float64Array.idl:
      * html/canvas/Int16Array.idl:
      * html/canvas/Int32Array.idl:
      * html/canvas/Int8Array.idl:
      * html/canvas/Uint16Array.idl:
      * html/canvas/Uint32Array.idl:
      * html/canvas/Uint8Array.idl:
      * html/canvas/Uint8ClampedArray.idl:
      * mediastream/LocalMediaStream.idl:
      * page/DOMWindow.idl:
      * page/History.idl:
      * page/Location.idl:
      * storage/StorageInfo.idl:
      * svg/SVGElement.idl:
      * svg/SVGElementInstance.idl:
      * workers/DedicatedWorkerContext.idl:
      * workers/SharedWorker.idl:
      * workers/SharedWorkerContext.idl:
      * workers/Worker.idl:
      * workers/WorkerContext.idl:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      efee39f4
    • haraken@chromium.org's avatar
      Rename [HasOverridingNameGetter] attribute to [CustomNamedGetter] attribute · 6423d9fe
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78076
      
      Reviewed by Adam Barth.
      
      This patch renames the [HasOverridingNameGetter] attribute to the
      [CustomNamedGetter] attribute, for naming consistency with [CustomNamedSetter].
      
      Test: bindings/scripts/test/TestCustomNamedGetter.idl
      
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateGetOwnPropertySlotBody):
      (GenerateGetOwnPropertyDescriptorBody):
      (GenerateHeader):
      (GenerateImplementation):
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateHeaderNamedAndIndexedPropertyAccessors):
      (GenerateImplementationNamedPropertyGetter):
      
      * html/HTMLDocument.idl:
      * html/HTMLFormElement.idl:
      * html/HTMLFrameSetElement.idl:
      
      * bindings/scripts/test/TestCustomNamedGetter.idl: Renamed from Source/WebCore/bindings/scripts/test/TestOverridingNameGetter.idl.
      
      * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Updated run-bindings-tests results.
      (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate::WebDOMTestCustomNamedGetterPrivate):
      (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate):
      (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetter):
      (WebDOMTestCustomNamedGetter::operator=):
      (WebDOMTestCustomNamedGetter::impl):
      (WebDOMTestCustomNamedGetter::~WebDOMTestCustomNamedGetter):
      (WebDOMTestCustomNamedGetter::anotherFunction):
      (toWebCore):
      (toWebKit):
      * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Ditto.
      (WebCore):
      (WebDOMTestCustomNamedGetter):
      * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp: Ditto.
      (WebKit):
      (WebKit::kit):
      (webkit_dom_test_custom_named_getter_another_function):
      (WebKit::core):
      (webkit_dom_test_custom_named_getter_finalize):
      (webkit_dom_test_custom_named_getter_set_property):
      (webkit_dom_test_custom_named_getter_get_property):
      (webkit_dom_test_custom_named_getter_constructed):
      (webkit_dom_test_custom_named_getter_class_init):
      (webkit_dom_test_custom_named_getter_init):
      (WebKit::wrapTestCustomNamedGetter):
      * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h: Ditto.
      (_WebKitDOMTestCustomNamedGetter):
      (_WebKitDOMTestCustomNamedGetterClass):
      * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h: Ditto.
      (WebKit):
      * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Ditto.
      * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
      (WebCore):
      (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
      (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
      (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
      (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
      (WebCore::JSTestCustomNamedGetterPrototype::self):
      (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot):
      (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertyDescriptor):
      (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
      (WebCore::JSTestCustomNamedGetter::finishCreation):
      (WebCore::JSTestCustomNamedGetter::createPrototype):
      (WebCore::JSTestCustomNamedGetter::destroy):
      (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
      (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
      (WebCore::jsTestCustomNamedGetterConstructor):
      (WebCore::JSTestCustomNamedGetter::getConstructor):
      (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
      (WebCore::isObservable):
      (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
      (WebCore::JSTestCustomNamedGetterOwner::finalize):
      (WebCore::toJS):
      (WebCore::toTestCustomNamedGetter):
      * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: Ditto.
      (WebCore):
      (JSTestCustomNamedGetter):
      (WebCore::JSTestCustomNamedGetter::create):
      (WebCore::JSTestCustomNamedGetter::createStructure):
      (WebCore::JSTestCustomNamedGetter::impl):
      (WebCore::JSTestCustomNamedGetter::releaseImpl):
      (WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
      (JSTestCustomNamedGetterOwner):
      (WebCore::wrapperOwner):
      (WebCore::wrapperContext):
      (JSTestCustomNamedGetterPrototype):
      (WebCore::JSTestCustomNamedGetterPrototype::create):
      (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
      (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
      (JSTestCustomNamedGetterConstructor):
      (WebCore::JSTestCustomNamedGetterConstructor::create):
      (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
      * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Ditto.
      * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Ditto.
      (-[DOMTestCustomNamedGetter dealloc]):
      (-[DOMTestCustomNamedGetter finalize]):
      (-[DOMTestCustomNamedGetter anotherFunction:]):
      (core):
      (kit):
      * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Ditto.
      (WebCore):
      * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
      (WebCore):
      (TestCustomNamedGetterInternal):
      (WebCore::TestCustomNamedGetterInternal::V8_USE):
      (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
      (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
      (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
      (WebCore::V8TestCustomNamedGetter::GetTemplate):
      (WebCore::V8TestCustomNamedGetter::HasInstance):
      (WebCore::V8TestCustomNamedGetter::wrapSlow):
      (WebCore::V8TestCustomNamedGetter::derefObject):
      * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: Ditto.
      (WebCore):
      (V8TestCustomNamedGetter):
      (WebCore::V8TestCustomNamedGetter::toNative):
      (WebCore::V8TestCustomNamedGetter::existingWrapper):
      (WebCore::V8TestCustomNamedGetter::wrap):
      (WebCore::toV8):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6423d9fe
    • eae@chromium.org's avatar
      Revert TableSection cell and border calculations to integers · 351bc646
      eae@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77918
      
      Reviewed by Eric Seidel.
      
      Change RenderTableSection cell width, row height and border calculations
      back to use integers. Table layout is done on integer bounds to comply
      with the specification and to ensure that columns given the same width,
      including percentage widths, are rendered with identical widths. The same
      applies to heights.
      
      No new tests.
      
      * rendering/RenderTableSection.cpp:
      (WebCore::RenderTableSection::setCellLogicalWidths):
      (WebCore::RenderTableSection::calcRowLogicalHeight):
      (WebCore::RenderTableSection::layoutRows):
      (WebCore::RenderTableSection::calcOuterBorderBefore):
      (WebCore::RenderTableSection::calcOuterBorderAfter):
      (WebCore::RenderTableSection::calcOuterBorderStart):
      (WebCore::RenderTableSection::calcOuterBorderEnd):
      (WebCore::RenderTableSection::paintObject):
      (WebCore::RenderTableSection::nodeAtPoint):
      * rendering/RenderTableSection.h:
      (RenderTableSection):
      (WebCore::RenderTableSection::RowStruct::RowStruct):
      (WebCore::RenderTableSection::outerBorderBefore):
      (WebCore::RenderTableSection::outerBorderAfter):
      (WebCore::RenderTableSection::outerBorderStart):
      (WebCore::RenderTableSection::outerBorderEnd):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      351bc646
    • commit-queue@webkit.org's avatar
      Source/JavaScriptCore: [chromium] Remove the enable marcro for the no longer necessary Chromium · 5fadc978
      commit-queue@webkit.org authored
      gesture recognizer.
      https://bugs.webkit.org/show_bug.cgi?id=77492
      
      Patch by Robert Kroeger <rjkroege@chromium.org> on 2012-02-07
      Reviewed by Adam Barth.
      
      * wtf/Platform.h:
      
      Source/WebCore: [chromium] Remove the no longer necessary Chromium gesture recognizer.
      https://bugs.webkit.org/show_bug.cgi?id=77492
      
      Patch by Robert Kroeger <rjkroege@chromium.org> on 2012-02-07
      Reviewed by Adam Barth.
      
      * WebCore.gypi:
      * platform/PlatformGestureRecognizer.h: Removed.
      * platform/chromium/FramelessScrollView.h:
      (WebCore):
      (FramelessScrollView):
      * platform/chromium/GestureRecognizerChromium.cpp: Removed.
      * platform/chromium/GestureRecognizerChromium.h: Removed.
      * platform/chromium/PopupContainer.cpp:
      (WebCore):
      * platform/chromium/PopupContainer.h:
      * platform/chromium/PopupListBox.cpp:
      (WebCore):
      * platform/chromium/PopupListBox.h:
      (PopupListBox):
      
      Source/WebKit: [chromium] Remove no longer necessary Chromium gesture recognizer code.
      https://bugs.webkit.org/show_bug.cgi?id=77492
      
      Patch by Robert Kroeger <rjkroege@chromium.org> on 2012-02-07
      Reviewed by Adam Barth.
      
      * blackberry/WebCoreSupport/AboutDataEnableFeatures.in:
      
      Source/WebKit/chromium: [chromium] Remove no longer necessary Chromium gesture recognizer code.
      https://bugs.webkit.org/show_bug.cgi?id=77492
      
      Patch by Robert Kroeger <rjkroege@chromium.org> on 2012-02-07
      Reviewed by Adam Barth.
      
      * WebKit.gypi:
      * features.gypi:
      * src/WebFrameImpl.cpp:
      (WebKit::WebFrameImpl::createFrameView):
      * src/WebPopupMenuImpl.cpp:
      (WebKit::WebPopupMenuImpl::WebPopupMenuImpl):
      (WebKit::WebPopupMenuImpl::handleTouchEvent):
      * src/WebPopupMenuImpl.h:
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::WebViewImpl):
      (WebKit::WebViewImpl::touchEvent):
      * src/WebViewImpl.h:
      (WebCore):
      (WebViewImpl):
      * tests/InnerGestureRecognizerTest.cpp: Removed.
      
      LayoutTests: [chromium] Remove unnecessary Chromium gesture recognizer tests.
      https://bugs.webkit.org/show_bug.cgi?id=77492
      
      Patch by Robert Kroeger <rjkroege@chromium.org> on 2012-02-07
      Reviewed by Adam Barth.
      
      * fast/events/touch/page-scaled-touch-gesture-click-expected.txt:
      * fast/events/touch/page-scaled-touch-gesture-click.html:
      * fast/events/touch/touch-gesture-click-expected.txt: Removed.
      * fast/events/touch/touch-gesture-click.html: Removed.
      * fast/events/touch/touch-gesture-scroll-expected.txt: Removed.
      * fast/events/touch/touch-gesture-scroll.html: Removed.
      * platform/chromium/fast/events/touch/touch-gesture-click-expected.txt: Removed.
      * platform/chromium/fast/events/touch/touch-gesture-scroll-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5fadc978
    • arv@chromium.org's avatar
      [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference · acd07906
      arv@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78052
      
      Reviewed by Nate Chapin.
      
      Source/WebCore:
      
      Before this patch the code generator did not add the named hidden reference when the data node
      was a DOM Node. This lead to us having to create custom toV8 bindings in a few places.
      
      Covered by existing tests
      
      * Target.pri:
      * UseV8.cmake:
      * WebCore.gypi:
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateNormalAttrGetter):
      (HasCustomToV8Implementation):
      * bindings/v8/custom/V8DOMStringMapCustom.cpp:
      * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
      * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
      
      LayoutTests:
      
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      acd07906
    • haraken@chromium.org's avatar
      [GTK] Ignore [Custom] attributes in CodeGeneratorGObject.pm · 3336d004
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78059
      
      Reviewed by Adam Barth.
      
      CodeGeneratorGObject.pm does not support custom attributes.
      We can skip generating code for attributes with [Custom].
      The change would make sense, since CodeGeneratorGObject.pm already
      skips attributes with [CustomGetter] or [CustomSetter].
      
      Test: bindings/scripts/test/TestObj.idl
      
      * bindings/scripts/CodeGeneratorGObject.pm:
      (SkipAttribute):
      * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3336d004
    • eae@chromium.org's avatar
      Add pixelSnappedX/Y/Width/Height methods · d6dd62fb
      eae@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78040
      
      Reviewed by Eric Seidel.
      
      Add pixel snapped versions of x/y/width/height methods. These return the
      same value as the x/w/width/height methods for now but once we move over
      to sub pixel layout they will snap the subpixel value to a device pixel
      and return an integer value.
      
      When snapping the left and top edge is simply rounded to the nearest
      device pixel.
      The right and bottom edges are computed by subtracting the rounded left/
      top edge from the precise location and size. This ensures that the edges
      all line up with device pixels and that the total size of an object,
      including borders, is at most one pixel off.
      
      In summary, the values are computed as follows:
              x: round(x)
              y: round(y)
              maxX: round(x + width)
              maxY: round(y + height)
              width: round(x + width) - round(x)
              height: round(y + height) - round(y)
      
      We use the term pixel snapped to indicate that the numbers are not merely
      rounded. This also matches the naming used by the line box tree.
      
      No new tests, no functionality changes.
      
      * page/PrintContext.cpp:
      (WebCore::PrintContext::pageNumberForElement):
      * rendering/RenderBlock.cpp:
      (WebCore::::collectIfNeeded):
      * rendering/RenderBlock.h:
      (RenderBlock):
      (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
      (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
      (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
      (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
      (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
      (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
      (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
      (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
      (FloatingObject):
      (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
      (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
      (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
      (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::pixelSnappedClientWidth):
      (WebCore):
      (WebCore::RenderBox::pixelSnappedClientHeight):
      (WebCore::RenderBox::scrollHeight):
      * rendering/RenderBox.h:
      (WebCore::RenderBox::pixelSnappedWidth):
      (WebCore::RenderBox::pixelSnappedHeight):
      (RenderBox):
      (WebCore::RenderBox::pixelSnappedOffsetWidth):
      (WebCore::RenderBox::pixelSnappedOffsetHeight):
      (WebCore::RenderBox::clientLogicalWidth):
      (WebCore::RenderBox::clientLogicalHeight):
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
      (WebCore):
      (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
      * rendering/RenderBoxModelObject.h:
      (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
      (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
      (RenderBoxModelObject):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::pixelSnappedScrollWidth):
      (WebCore):
      (WebCore::RenderLayer::pixelSnappedScrollHeight):
      (WebCore::RenderLayer::computeScrollDimensions):
      (WebCore::RenderLayer::updateScrollInfoAfterLayout):
      * rendering/RenderLayer.h:
      (RenderLayer):
      * rendering/RenderListBox.cpp:
      (WebCore::RenderListBox::scrollHeight):
      * rendering/RenderTheme.cpp:
      (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
      * rendering/RenderTreeAsText.cpp:
      (WebCore::write):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d6dd62fb
    • mikelawther@chromium.org's avatar
      CSS3 calc() - simple parse time evaluation · 07846c73
      mikelawther@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77960
      
      Source/WebCore:
      
      Adds simple number/percent expression evaluation. rgb() and hsl() functions now
      allow simple calc() expressions.
      
      Reviewed by Ojan Vafai.
      
      * css/CSSCalculationValue.cpp:
      (WebCore):
      (WebCore::CSSCalcValue::doubleValue):
      (WebCore::CSSCalcPrimitiveValue::doubleValue):
      (WebCore::CSSCalcBinaryOperation::doubleValue):
      (CSSCalcBinaryOperation):
      (WebCore::CSSCalcBinaryOperation::evaluate):
      * css/CSSCalculationValue.h:
      (CSSCalcExpressionNode):
      (WebCore::CSSCalcValue::isInt):
      (CSSCalcValue):
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parsedDouble):
      
      LayoutTests:
      
      Reviewed by Ojan Vafai.
      
      * css3/calc/color-hsl-expected.txt:
      * css3/calc/color-rgb-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07846c73
    • kling@webkit.org's avatar
      REGRESSION(r106668-r106889): Chromium page cycler tests (Intl2) performance regressions. · f789322e
      kling@webkit.org authored
      <http://webkit.org/b/78068>
      
      Reviewed by Ryosuke Niwa.
      
      Create CSS_IDENT values for attribute styles in the document's CSSValuePool.
      This regressed in r106756 and I suspect it'll fix up the cycler regression.
      
      * dom/StyledElement.cpp:
      (WebCore::StyledElement::addCSSProperty):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f789322e
    • noel.gordon@gmail.com's avatar
      Remove TextureMapperQt from the gyp projects · 6eff15c0
      noel.gordon@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=78055
      
      Reviewed by Noam Rosenthal.
      
      TextureMapperQt.{cpp,h} were removed in r106659, remove references to
      these files from the gyp projects.
      
      * WebCore.gypi:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6eff15c0
    • tony@chromium.org's avatar
      merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in · a769aebd
      tony@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78036
      
      Reviewed by Darin Adler.
      
      Source/JavaScriptCore:
      
      * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
      
      Source/WebCore:
      
      In r89362, we started running the preprocessor through CSSPropertyNames.in.
      Now we can move DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
      and wrap it in an #if.
      
      No new tests, build refactoring.
      
      * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
      * DerivedSources.make: Remove DashboardSupportCSSPropertyNames.in.
      * DerivedSources.pri: Remove DashboardSupportCSSPropertyNames.in.
      * WebCore.xcodeproj/project.pbxproj: Remove DashboardSupportCSSPropertyNames.in.
      * css/CSSPropertyNames.in: Wrap -webkit-dashboard-region in an #if.
      * css/DashboardSupportCSSPropertyNames.in: Removed.
      
      Source/WebKit/mac:
      
      * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
      
      Source/WebKit2:
      
      * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a769aebd
    • commit-queue@webkit.org's avatar
      Enable IPP for FFTFrame · afa83730
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=75522
      
      Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-02-07
      Reviewed by Tony Chang.
      
      Add the FFTFrame implementation using Intel IPP's DFT algorithm.
      
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * platform/audio/FFTFrame.h:
      (FFTFrame):
      * platform/audio/FFTFrameStub.cpp:
      * platform/audio/ipp/FFTFrameIPP.cpp: Added.
      (WebCore):
      (WebCore::FFTFrame::FFTFrame):
      (WebCore::FFTFrame::initialize):
      (WebCore::FFTFrame::cleanup):
      (WebCore::FFTFrame::~FFTFrame):
      (WebCore::FFTFrame::multiply):
      (WebCore::FFTFrame::doFFT):
      (WebCore::FFTFrame::doInverseFFT):
      (WebCore::FFTFrame::realData):
      (WebCore::FFTFrame::imagData):
      (WebCore::FFTFrame::getUpToDateComplexData):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      afa83730
    • enne@google.com's avatar
      Properly detect top level frames when propogating compositing · 3cafe50a
      enne@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=78033
      
      Reviewed by James Robinson.
      
      There's no need to enumerate all tag names when searching for a
      top-level frame. If a render view's document has a frame, then that
      frame is not the top-level one.
      
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
      * rendering/RenderLayerCompositor.h:
      (RenderLayerCompositor):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3cafe50a
    • commit-queue@webkit.org's avatar
      Resolve crash in FrameLoader::checkTimerFired. · 667ee8ba
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77907
      
      Patch by Chris Palmer <palmer@google.com> on 2012-02-07
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      Test is LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html.
      
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::checkTimerFired):
      
      LayoutTests:
      
      * http/tests/appcache/deferred-events-delete-while-raising-timer-expected.txt: Added.
      * http/tests/appcache/deferred-events-delete-while-raising-timer.html: Added.
      * http/tests/appcache/resources/deferred-events-delete-while-raising-timer-1.html: Added.
      * http/tests/appcache/resources/deferred-events-delete-while-raising-timer-2.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      667ee8ba
    • commit-queue@webkit.org's avatar
      [BlackBerry] NetworkJob should stop redirecting when the request is cleared by client · dc51972d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78029
      
      Patch by Yong Li <yoli@rim.com> on 2012-02-07
      Reviewed by Rob Buis.
      
      When a redirect is rejected by security origin check, the ResourceRequest
      will be cleared (see DocumentThreadableLoader::redirectReceived()). In this
      case, we should stop handling the request.
      
      No new tests because existing tests (like http:/tests/xmlhttprequest/redirect-cross
      -origin-tripmine.html) can cover this.
      
      * platform/network/blackberry/NetworkJob.cpp:
      (WebCore::NetworkJob::startNewJobWithRequest):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc51972d
    • commit-queue@webkit.org's avatar
      Remove extraneous MathML code before bug 52444 fix · 7190c446
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78034
      
      Source/WebCore:
      
      Patch by David Barton <dbarton@mathscribe.com> on 2012-02-07
      Reviewed by Eric Seidel.
      
      Per Darin Adler, I am breaking up the patch fixing bug 52444 into smaller pieces.
      This patch removes a couple unused functions, some extra blank lines, unused #include
      directives, etc., and adds a very few WebKit-standard changes to these files.
      
      No new tests.
      
      * rendering/mathml/RenderMathMLBlock.cpp:
      (WebCore):
      * rendering/mathml/RenderMathMLBlock.h:
      (WebCore::RenderMathMLBlock::getBoxModelObjectHeight):
          - changed to a static member function since 'this' is unused;
            removed redundant non-const version
      (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
          - changed to a static member function since 'this' is unused;
            removed redundant non-const version
      (WebCore):
      * rendering/mathml/RenderMathMLFraction.cpp:
      * rendering/mathml/RenderMathMLMath.cpp:
      * rendering/mathml/RenderMathMLMath.h:
      * rendering/mathml/RenderMathMLOperator.h:
      (WebCore):
      * rendering/mathml/RenderMathMLRoot.cpp:
      * rendering/mathml/RenderMathMLRow.cpp:
      * rendering/mathml/RenderMathMLRow.h:
      * rendering/mathml/RenderMathMLSquareRoot.cpp:
      * rendering/mathml/RenderMathMLSquareRoot.h:
      * rendering/mathml/RenderMathMLSubSup.cpp:
      * rendering/mathml/RenderMathMLSubSup.h:
      * rendering/mathml/RenderMathMLUnderOver.cpp:
      * rendering/mathml/RenderMathMLUnderOver.h:
      
      LayoutTests:
      
      Patch by David Barton <dbarton@mathscribe.com> on 2012-02-07
      Reviewed by Eric Seidel.
      
      The rendering of the scrollbar in row-expected.png was flaky, presumably due to a test
      environment timing issue, so I removed it.
      
      * mathml/presentation/row.xhtml:
      * platform/mac/mathml/presentation/row-expected.png:
      * platform/mac/mathml/presentation/row-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7190c446
    • commit-queue@webkit.org's avatar
      [Chromium] REGRESSION(r101854): Causing large amounts of unnecessary repainting. · 74b0108a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78020
      
      Patch by David Reveman <reveman@chromium.org> on 2012-02-07
      Reviewed by James Robinson.
      
      Source/WebCore:
      
      Revert r101854.
      
      This patch is tested by the following unit test:
      - TextureManagerTest.requestTextureExceedingPreferredLimit
      
      * platform/graphics/chromium/ManagedTexture.cpp:
      (WebCore::ManagedTexture::reserve):
      * platform/graphics/chromium/TextureManager.cpp:
      (WebCore::TextureManager::requestTexture):
      * platform/graphics/chromium/TextureManager.h:
      (TextureManager):
      
      Source/WebKit/chromium:
      
      Update TextureManagerTest.requestTextureExceedingPreferredLimit test.
      
      * tests/TextureManagerTest.cpp:
      (WTF::TextureManagerTest::requestTexture):
      (WTF::TEST_F):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      74b0108a
    • andersca@apple.com's avatar
      Use the non-fast-scrollable region to detect when we can't do fast scrolling · 858c9c88
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=78056
      <rdar://problem/10247932>
      
      Reviewed by Sam Weinig.
      
      * page/scrolling/ScrollingCoordinator.cpp:
      (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
      Actually set the non-fast scrollable region on the scrolling tree state.
      
      * page/scrolling/ScrollingTree.cpp:
      (WebCore::ScrollingTree::tryToHandleWheelEvent):
      Check if the wheel event's position is inside the non-fast-scrollable region
      and return false if it is.
      
      (WebCore::ScrollingTree::updateMainFrameScrollPosition):
      Store the cached main frame scroll position so we can use it in tryToHandleWheelEvent.
      
      * platform/graphics/Region.cpp:
      * platform/graphics/Region.h:
      Add a simple contains(const IntPoint&) member function.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      858c9c88
    • mitz@apple.com's avatar
      <rdar://problem/10475450> Synthetic bold is illegible under some scaling transforms · 83ff1e35
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=78044
      
      Reviewed by Beth Dakin.
      
      Source/WebCore: 
      
      Tests: fast/text/synthetic-bold-transformed-expected.html
             fast/text/synthetic-bold-transformed.html
      
      * platform/graphics/mac/FontMac.mm:
      (WebCore::Font::drawGlyphs): Changed to interpret syntheticBoldOffset as a length in device pixels.
      
      LayoutTests: 
      
      * fast/text/synthetic-bold-transformed-expected.html: Added.
      * fast/text/synthetic-bold-transformed.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107012 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83ff1e35
    • leviw@chromium.org's avatar
      Update LayoutUnit usage in ColumnInfo and RenderFrameSet · fd3a383b
      leviw@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77914
      
      Reviewed by Eric Seidel.
      
      Updating ColumnInfo and RenderFrameSet to use LayoutUnits
      instead of directly referencing integers for locations and
      distances.
      
      No new tests. No changed behavior.
      
      * rendering/ColumnInfo.h:
      (WebCore::ColumnInfo::forcedBreakOffset):
      (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
      (ColumnInfo):
      * rendering/RenderFrameSet.cpp:
      (WebCore::RenderFrameSet::paintColumnBorder):
      (WebCore::RenderFrameSet::paintRowBorder):
      * rendering/RenderFrameSet.h:
      (RenderFrameSet):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd3a383b
    • adamk@chromium.org's avatar
      Add JSC support for delivering mutations when the outermost script context exits · 82abc774
      adamk@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=70289
      
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      The meat of this change is in JSMainThreadExecState, where a counter
      is incremented every time WebCore calls into JSC and decremented every
      time it returns. When the counter reaches zero, any pending mutations
      are delivered (this mirrors very similar code in V8Proxy and V8RecursionScope).
      
      The rest of the changes are of two sorts: compilation/logic fixes for
      JSC code when ENABLE(MUTATION_OBSERVERS) is true, and additional
      usages of JSMainThreadExecState so as to trigger the above
      increment/decrements at the appropriate times.
      
      * bindings/js/JSCustomXPathNSResolver.cpp:
      (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
      Use JSMainThreadExecState instead of JSC::call.
      * bindings/js/JSDictionary.cpp:
      (WebCore::JSDictionary::convertValue): Add support
      for tryGetProperty with a HashMap<AtomicString>.
      * bindings/js/JSDictionary.h:
      * bindings/js/JSErrorHandler.cpp:
      (WebCore::JSErrorHandler::handleEvent):
      Use JSMainThreadExecState instead of JSC::call.
      * bindings/js/JSHTMLDocumentCustom.cpp:
      (WebCore::JSHTMLDocument::open):
      Use JSMainThreadExecState instead of JSC::call.
      * bindings/js/JSMainThreadExecState.cpp:
      (WebCore::JSMainThreadExecState::didLeaveScriptContext):
      * bindings/js/JSMainThreadExecState.h:
      (WebCore::JSMainThreadExecState::JSMainThreadExecState):
      Increment a static recursion level counter.
      (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
      Decrement a static recursion level counter and, if we are
      at zero (the outermost script invocation), deliver any
      outstanding mutation records.
      * bindings/js/JSNodeFilterCondition.cpp:
      (WebCore::JSNodeFilterCondition::acceptNode):
      Use JSMainThreadExecState instead of JSC::call.
      * bindings/js/JSWebKitMutationObserverCustom.cpp:
      (WebCore::JSWebKitMutationObserver::observe):
      Fix JSDictionary logic, add support for attributeFilter.
      
      Tools:
      
      * DumpRenderTree/mac/EventSendingController.mm: Add support for
      eventSender.scheduleAsynchronousKeyDown.
      (+[EventSendingController isSelectorExcludedFromWebScript:]):
      (+[EventSendingController webScriptNameForSelector:]):
      (-[EventSendingController keyDownWrapper:withModifiers:withLocation:]):
      (-[EventSendingController scheduleAsynchronousKeyDown:withModifiers:withLocation:]):
      * Scripts/build-webkit: Properly alphabetize --mutation-observers in the --help output.
      
      LayoutTests:
      
      With the various fixes in this change, 8/10 tests in fast/mutation
      pass under WebKit/Mac. Of the failing tests, only one is due to
      a deficiency in the Mac port's code (end-of-task-delivery.html);
      the other is due to lack of support for a feature (FILE_SYSTEM)
      exercised by the test (non-event-delivery.html).
      
      * fast/mutation/non-event-delivery.html: Made it fail fast if FileSystem support isn't available.
      * fast/mutation/observe-attributes.html: Fixed calls to removeEventListener.
      * fast/mutation/observe-characterdata.html: ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107008 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82abc774
    • andersca@apple.com's avatar
      Fix build. · e1df2ad7
      andersca@apple.com authored
      * platform/ScrollableArea.h:
      (WebCore::ScrollableArea::scrollableAreaBoundingBox):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e1df2ad7
    • leviw@chromium.org's avatar
      [SVG] Use element disappears after scripted change · c0c54ad1
      leviw@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=74392
      
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
      SVGUseElements to not update the shadow root's style, and therefor not render
      correctly.
      
      Test: svg/custom/use-disappears-after-style-update.svg
      
      * svg/SVGUseElement.cpp:
      (WebCore::SVGUseElement::didRecalcStyle):
      
      LayoutTests:
      
      * platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.png: Added.
      * platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.txt: Added.
      * svg/custom/use-disappears-after-style-update.svg: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c0c54ad1
    • haraken@chromium.org's avatar
      Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute · 76f68c9e
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77973
      
      Reviewed by Adam Barth.
      
      This patch renames [v8OnProto] to [V8OnProto], since V8 specific IDL
      attributes should be prefixed by "V8".
      
      No tests. No change in behavior.
      
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateNormalAttrGetter):
      (GenerateNormalAttrSetter):
      (GenerateSingleBatchedAttribute):
      (GenerateImplementation):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107004 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76f68c9e
    • jer.noble@apple.com's avatar
      media/audio-data-url.html test broken on Lion · 0474d5cf
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69779
      
      Reviewed by Eric Carlson.
      
      Do not use "OpenForPlayback" attribute on data:// urls, as CoreMedia/QuickTime X cannot
      handle those URLs.
      
      * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
      (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0474d5cf
    • andersca@apple.com's avatar
      Scrolling tree should keep track of region we can't do fast scrolling for · 6c3da667
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=78050
      
      Reviewed by Dan Bernstein.
      
      We currently won't do fast scrolling for subframes and other types of scrollable areas.
      Because of this, we'll have the scrolling tree keep a region of the page for which we can't
      do fast scrolling. This region will be updated after layout.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::scrollableAreaBoundingBox):
      Return the bounding box.
      
      * page/scrolling/ScrollingCoordinator.cpp:
      (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
      Go through all the scrollable areas in this frame view and compute the region which we can't do
      fast scrolling for.
      
      * page/scrolling/ScrollingTree.cpp:
      (WebCore::ScrollingTree::commitNewTreeState):
      Update the non-fast-scrollable region.
      
      * page/scrolling/ScrollingTreeState.cpp:
      (WebCore::ScrollingTreeState::setNonFastScrollableRegion):
      Set the non-fast-scrollable region if it's changed.
      
      * platform/ScrollableArea.h:
      Add scrollableAreaBoundingBox member function.
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::scrollableAreaBoundingBox):
      Return the bounding box.
      
      * rendering/RenderListBox.cpp:
      (WebCore::RenderListBox::scrollableAreaBoundingBox):
      Return the bounding box.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c3da667
    • leviw@chromium.org's avatar
      unicode-bidi:plaintext is supposed to be effective on display:inline elements too · e7812f3d
      leviw@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=73310
      
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      Adding support for unicode-bidi: plaintext as a property on inlines. These are treated
      like unicode-bidi: isolate with the addition of their directionality being determined
      by the UBA.
      
      Tests: fast/text/international/inline-plaintext-is-isolated-expected.html
             fast/text/international/inline-plaintext-is-isolated.html
             fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html
             fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html
             fast/text/international/inline-plaintext-with-generated-content-expected.html
             fast/text/international/inline-plaintext-with-generated-content.html
      
      * platform/text/UnicodeBidi.h:
      (WebCore::isIsolated): Added this convenience function as Plaintext and Isolate Unicode-Bidi values
      are both treated as isolated content.
      * rendering/InlineIterator.h:
      (WebCore::notifyObserverEnteredObject): Inline now supports Unicode-Bidi Plaintext.
      (WebCore::notifyObserverWillExitObject): Ditto.
      (WebCore::bidiFirstSkippingEmptyInlines): Changed to support being called without a resolver.
      (WebCore::isIsolatedInline): Inline now supports Unicode-Bidi: Plaintext.
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::determineDirectionality): Generalized for inlines.
      (WebCore::constructBidiRuns): Added support for Unicode-Bidi: Plaintext as an isolated inline.
      (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Fixed comment.
      (WebCore::RenderBlock::determineStartPosition): Fixed comment and switched to updated
      bidiFirstSkippingEmptyInlines.
      
      LayoutTests:
      
      Ref tests for unicode-bidi: plaintext on inlines.
      
      * fast/text/international/inline-plaintext-is-isolated-expected.html: Added.
      * fast/text/international/inline-plaintext-is-isolated.html: Added.
      * fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html: Added.
      * fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html: Added.
      * fast/text/international/inline-plaintext-with-generated-content-expected.html: Added.
      * fast/text/international/inline-plaintext-with-generated-content.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7812f3d
    • haraken@chromium.org's avatar
      [Refactoring] Use the [IsWorkerContext] IDL in CodeGeneratorV8.pm · a1ad8b75
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77957
      
      Reviewed by Adam Barth.
      
      This patch replaces IsSubType("WorkerContext") and something equivalent that
      with the [IsWorkerContext] IDL.
      
      No tests. No change in behavior.
      
      * bindings/scripts/CodeGeneratorV8.pm:
      (GetInternalFields):
      (GenerateConstructorGetter):
      (GenerateImplementation):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1ad8b75
    • commit-queue@webkit.org's avatar
      [Chromium] Crash when using per-tile painting on Windows. · be4980b5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=75715
      
      Patch by David Reveman <reveman@chromium.org> on 2012-02-07
      Reviewed by James Robinson.
      
      PlatformCanvas constructor on win32 expects forth argument to be a
      shared section handle. Passing a pointer to a system memory causes
      it to crash. Fix this by not using the PlatformCanvas API for
      SkCanvas construction in per-tile texture uploader.
      
      Tested with manual tests.
      
      * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
      (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
      (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
      * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
      (Texture):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be4980b5
    • jer.noble@apple.com's avatar
      Unreviewed build fix; make OSStatus the explicit return type for CMTimebase functions. · bd3b4ab0
      jer.noble@apple.com authored
      * platform/mac/PlatformClockCM.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106996 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd3b4ab0
    • jamesr@google.com's avatar
      [chromium] Allow retaining texture across frames in composited video playback... · 19b38d50
      jamesr@google.com authored
      [chromium] Allow retaining texture across frames in composited video playback and correctly handle lost context
      https://bugs.webkit.org/show_bug.cgi?id=77923
      
      Reviewed by Kenneth Russell.
      
      Thanks to r106840, we can improve the video playback mode a bit. Instead of creating a new texture on every
      frame, this attempts to reuse the texture from the previous frame unless the context is lost. Also improves
      error checking in case the TextureManager cannot successfully reserve memory for the texture.
      
      Tested manually by killing the GPU process with an html5 video playing and verifying that the video playback
      continues and that we don't create a new set of textures for each plane on each frame.
      
      * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
      (WebCore::CCVideoLayerImpl::draw):
      (WebCore::CCVideoLayerImpl::reserveTextures):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106992 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19b38d50
    • mdelaney@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=77912 · b4f13703
      mdelaney@apple.com authored
      Removing old CG shadow code.
              
      A CG-specific shadow offset hack was added in http://trac.webkit.org/changeset/34317
      for this particular setShadow method. However, this shadow offset adjustment for CG
      has since moved down into platform specific code. Thus, this offset adjustment here
      is now redundant.
      
      The CG-only shadow setting code block in this setShadow method is now redundant.
      Since it sets the shadow values to the CGContext directly - and not to the State object -
      it will be overwritten later by any subsequent calls to setting shadow values such as
      blur, offset, or shadow color.
      
      Reviewed by Simon Fraser.
      
      No new tests. Current canvas tests cover this path.
      
      * html/canvas/CanvasRenderingContext2D.cpp:
      (WebCore::CanvasRenderingContext2D::setShadow):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106988 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4f13703