1. 17 Apr, 2009 16 commits
  2. 16 Apr, 2009 24 commits
    • eric@webkit.org's avatar
      Reviewed by Simon Fraser. · 038b364a
      eric@webkit.org authored
              Add a localToParentTransform() method which includes the
              full transform between local and parent local coordinates.
              https://bugs.webkit.org/show_bug.cgi?id=25226
      
              Moved m_localTransform up into RenderSVGTransformableContainer
              and added a comment to RenderSVGViewportContainer to make it more
              clear that it does not have a localTransform().
      
              This patch reveals two more failed design decisions:
              1.  Use of RenderBox::absoluteTransform() to mean "absoluteTransform()
                  including only my localTransform()" callers are probably using it
                  incorrectly anyway and are just masking bugs in the confused code.
              2.  computeContainerBoundingBox does not include viewport translations in
                  its computed bounding box, so bounding boxes will be off for parents of
                  inner <svg> elements.  I'll fix this an updated the results in a separate change.
      
              No functional changes, thus no tests.
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::localToParentTransform):
              (WebCore::RenderObject::absoluteTransform):
              * rendering/RenderObject.h:
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::layout):
              * rendering/RenderSVGContainer.h:
              (WebCore::RenderSVGContainer::viewportTransform):
              * rendering/RenderSVGHiddenContainer.cpp:
              * rendering/RenderSVGHiddenContainer.h:
              (WebCore::RenderSVGHiddenContainer::absoluteTransform):
              * rendering/RenderSVGRoot.cpp:
              (WebCore::RenderSVGRoot::localToParentTransform):
              (WebCore::RenderSVGRoot::absoluteTransform):
              * rendering/RenderSVGRoot.h:
              * rendering/RenderSVGTransformableContainer.cpp:
              (WebCore::RenderSVGTransformableContainer::localToParentTransform):
              (WebCore::RenderSVGTransformableContainer::localTransform):
              * rendering/RenderSVGTransformableContainer.h:
              * rendering/RenderSVGViewportContainer.cpp:
              (WebCore::RenderSVGViewportContainer::localToParentTransform):
              (WebCore::RenderSVGViewportContainer::absoluteTransform):
              * rendering/RenderSVGViewportContainer.h:
              * rendering/SVGRenderSupport.cpp:
              (WebCore::computeContainerBoundingBox):
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42598 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      038b364a
    • darin@chromium.org's avatar
      2009-04-16 Adam Langley <agl@google.com> · 110b5f20
      darin@chromium.org authored
              Reviewed by Darin Fisher.
      
              Fix Chromium's rendering of <option> elements inside of <optgroups>.
      
              https://bugs.webkit.org/show_bug.cgi?id=25244
      
              Test (will included as a manual test by https://bugs.webkit.org/show_bug.cgi?id=24900):
      
              <select>
                <optgroup label="Should be bold">
                  <option>Should not be bold</option>
                </optgroup>
              </select>
      
              * css/themeWin.css: adding comments
              * platform/chromium/PopupMenuChromium.cpp:
              (WebCore::PopupListBox::getRowFont): use menuStyle() rather than the item's style
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42597 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      110b5f20
    • zecke@webkit.org's avatar
      2009-04-16 Holger Hans Peter Freyther <zecke@selfish.org> · 7d36e8f7
      zecke@webkit.org authored
              Rubber-stamped by Simon Hausmann.
      
              Make the operator== and operator!= non inline to
              allow looking at the d-pointer in the future.
      
              * Api/qwebelement.cpp:
              (QWebElement::operator==):
              (QWebElement::operator!=):
              * Api/qwebelement.h:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42596 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      7d36e8f7
    • xan@webkit.org's avatar
      2009-04-16 Xan Lopez <xlopez@igalia.com> · 8d8ff377
      xan@webkit.org authored
              Unreviewed build fix.
      
              * WebView.cpp:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42595 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      8d8ff377
    • ggaren@apple.com's avatar
      2009-04-16 Geoffrey Garen <ggaren@apple.com> · 6424b656
      ggaren@apple.com authored
              Build fix: updated check-for-global-initializers to account for code motion.
      
              * Scripts/check-for-global-initializers:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42594 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      6424b656
    • darin@chromium.org's avatar
      2009-04-16 Eric Roman <eroman@chromium.org> · b2a7eb8d
      darin@chromium.org authored
              Reviewed by Alexey Proskuryakov.
      
              https://bugs.webkit.org/show_bug.cgi?id=25218
      
              Make DOMWindow::inlineEventListenerForType not have the "inline"
              keyword. As this method gets used outside of DOMWindow.
      
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::inlineEventListenerForType):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42593 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      b2a7eb8d
    • bolsinga@apple.com's avatar
      2009-04-16 Greg Bolsinga <bolsinga@apple.com> · 6759585d
      bolsinga@apple.com authored
              Reviewed by Antti Koivisto.
      
              Fix <rdar://problem/6766969>
              
              When deferred repaints are enabled and being reset and there is a active
              timer, stop the timer and do the deferred repaints immediately.
      
              * page/FrameView.cpp:
              (WebCore::FrameView::resetDeferredRepaintDelay):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42592 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      6759585d
    • christian@webkit.org's avatar
      2009-04-16 Christian Dywan <christian@twotoasts.de> · c2b55c36
      christian@webkit.org authored
              Reviewed by Holger Freyther.
      
              http://bugs.webkit.org/show_bug.cgi?id=25042
              destroying webview widget directly causes crash.
      
              * tests/testwebframe.c:
              (test_webkit_web_frame_create_destroy): Add a test case for destroying
              a web view shortly after packing it in a window.
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42591 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c2b55c36
    • xan@webkit.org's avatar
      WebCore: · 7182117f
      xan@webkit.org authored
      2009-04-16  Xan Lopez  <xlopez@igalia.com>
      
              Reviewed by Sam Weinig.
      
              https://bugs.webkit.org/show_bug.cgi?id=25241
              Remove superfluous NotImplemented.h includes.
      
              * html/CanvasRenderingContext2D.cpp:
              * html/CanvasStyle.cpp:
              * page/AccessibilityRenderObject.cpp:
              * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
              * platform/graphics/GraphicsContext.cpp:
              * platform/graphics/cairo/ImageBufferCairo.cpp:
              * platform/graphics/cairo/PathCairo.cpp:
              * platform/graphics/chromium/SimpleFontDataLinux.cpp:
              * platform/graphics/gtk/FontGtk.cpp:
              * platform/graphics/gtk/IconGtk.cpp:
              * platform/graphics/qt/IconQt.cpp:
              * platform/graphics/qt/ImageQt.cpp:
              * platform/graphics/qt/ImageSourceQt.cpp:
              * platform/graphics/skia/ImageBufferSkia.cpp:
              * platform/graphics/skia/ImageSkia.cpp:
              * platform/graphics/win/ColorSafari.cpp:
              * platform/graphics/win/FontWin.cpp:
              * platform/graphics/win/GraphicsContextCGWin.cpp:
              * platform/graphics/win/GraphicsContextCairoWin.cpp:
              * platform/graphics/win/SimpleFontDataCairoWin.cpp:
              * platform/graphics/wx/ImageWx.cpp:
              * platform/graphics/wx/TransformationMatrixWx.cpp:
              * platform/gtk/PlatformScreenGtk.cpp:
              * platform/gtk/PopupMenuGtk.cpp:
              * platform/gtk/ScrollViewGtk.cpp:
              * platform/gtk/ScrollbarGtk.cpp:
              * platform/network/cf/ResourceHandleCFNet.cpp:
              * platform/posix/FileSystemPOSIX.cpp:
              * platform/qt/DragDataQt.cpp:
              * platform/qt/FileSystemQt.cpp:
              * platform/qt/Localizations.cpp:
              * platform/qt/PopupMenuQt.cpp:
              * platform/win/EditorWin.cpp:
              * platform/win/PasteboardWin.cpp:
              * platform/wx/KeyboardEventWx.cpp:
              * platform/wx/PopupMenuWx.cpp:
              * platform/wx/SharedTimerWx.cpp:
              * plugins/gtk/PluginViewGtk.cpp:
              * plugins/mac/PluginPackageMac.cpp:
              * plugins/qt/PluginPackageQt.cpp:
              * plugins/win/PluginViewWin.cpp:
              * rendering/RenderThemeChromiumLinux.cpp:
              * svg/graphics/SVGImage.cpp:
      
      WebKit/gtk:
      
      2009-04-16  Xan Lopez  <xlopez@igalia.com>
      
              Reviewed by Sam Weinig.
      
              https://bugs.webkit.org/show_bug.cgi?id=25241
              Remove superfluous NotImplemented.h includes.
      
              * webkit/webkitprivate.cpp:
      
      WebKit/win:
      
      2009-04-16  Xan Lopez  <xlopez@igalia.com>
      
              Reviewed by Sam Weinig.
      
              https://bugs.webkit.org/show_bug.cgi?id=25241
              Remove superfluous NotImplemented.h includes
      
              * WebDownloadCFNet.cpp:
              * WebURLAuthenticationChallengeSender.cpp:
              * WebView.cpp:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42590 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      7182117f
    • ggaren@apple.com's avatar
      2009-04-16 Geoffrey Garen <ggaren@apple.com> · 7b320577
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
              Unbounded memory growth when churning elements with anonymous event handler functions
              
              Some cleanup in event handling code.
      
              * bindings/js/JSDOMGlobalObject.cpp:
              * bindings/js/JSDOMGlobalObject.h: Removed findJSProtectedEventListener
              and findJSProtectedEventListener because they are now unused.
      
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSEventListener.h:
              (WebCore::JSEventListener::clearGlobalObject):
              * bindings/js/JSLazyEventListener.cpp:
              (WebCore::JSLazyEventListener::JSLazyEventListener):
              (WebCore::JSLazyEventListener::~JSLazyEventListener):
              (WebCore::JSLazyEventListener::globalObject):
              * bindings/js/JSLazyEventListener.h:
              (WebCore::JSLazyEventListener::clearGlobalObject): Nixed JSProtectedEventListener,
              and merged it with JSLazyEventListener, the only remaining event listener
              that still GC-protects its function and global object.
      
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::ScriptController):
              * bindings/js/ScriptController.h:
              (WebCore::ScriptController::setEventHandlerLineNumber):
              (WebCore::ScriptController::eventHandlerLineNumber): Renamed handlerLineno =>
              handlerLineNumber, because anything less would be uncivilized. Removed
              createInlineEventListener because it mostly did irrelevent work, so it
              just got in the way of understanding how event handler creation works.
      
              * dom/Document.cpp:
              (WebCore::Document::createEventListener):
              * dom/XMLTokenizerLibxml2.cpp:
              (WebCore::XMLTokenizer::startElementNs):
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::processToken): Ditto.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42589 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      7b320577
    • justin.garcia@apple.com's avatar
      Checking in pixel results for a recently added test. · 907ccb51
      justin.garcia@apple.com authored
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42588 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      907ccb51
    • bdakin@apple.com's avatar
      2009-04-16 Beth Dakin <bdakin@apple.com> · a3a0ec2e
      bdakin@apple.com authored
              Reviewed by Dave Hyatt.
      
              Fix for https://bugs.webkit.org/show_bug.cgi?id=20765 Website 
              crashes on load due to messy HTML in search form
              -and corresponding-
              <rdar://problem/6210633>
      
              Before this patch, <form>s were allowed to sit inside tables 
              without being wrapped by anonymous table parts. There was also a 
              concept that such a form could be "demoted" and would not be 
              allowed to have any children. This patch has the HTML parser mark 
              form elements that have been demoted as such, and then the demoted 
              forms are not given renderers. I also removed the code that allowed 
              forms to sit in tables without anonymous table sections. So now any 
              forms that do manage to get a renderer inside a table will also be 
              wrapped with appropriate table parts.
      
              * html/HTMLFormElement.cpp:
              (WebCore::HTMLFormElement::HTMLFormElement):
              (WebCore::HTMLFormElement::rendererIsNeeded):
              * html/HTMLFormElement.h:
              (WebCore::HTMLFormElement::setDemoted):
              (WebCore::HTMLFormElement::isDemoted):
              * html/HTMLParser.cpp:
              (WebCore::HTMLParser::insertNode):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::addChild):
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::addChild):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::addChild):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42587 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      a3a0ec2e
    • bdakin@apple.com's avatar
      WebCore: · fe827609
      bdakin@apple.com authored
      2009-04-16  Beth Dakin  <bdakin@apple.com>
      
              Reviewed by Dave Hyatt.
      
              Fix for https://bugs.webkit.org/show_bug.cgi?id=20765 Website 
              crashes on load due to messy HTML in search form
              -and corresponding-
              <rdar://problem/6210633>
      
              Before this patch, <form>s were allowed to sit inside tables 
              without being wrapped by anonymous table parts. There was also a 
              concept that such a from could be "demoted" and would not be 
              allowed to have any children. This patch has the HTML parser mark 
              form elements that have been demoted as such, and then the demoted 
              forms are not given renderers. I also removed the code that allowed 
              forms to sit in tables without anonymous table sections. So now any 
              forms that do manage to get a renderer inside a table will also be 
              wrapped with appropriate table parts.
      
              * html/HTMLFormElement.cpp:
              (WebCore::HTMLFormElement::HTMLFormElement):
              (WebCore::HTMLFormElement::rendererIsNeeded):
              * html/HTMLFormElement.h:
              (WebCore::HTMLFormElement::setDemoted):
              (WebCore::HTMLFormElement::isDemoted):
              * html/HTMLParser.cpp:
              (WebCore::HTMLParser::insertNode):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::addChild):
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::addChild):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::addChild):
      
      LayoutTests:
      
      2009-04-16  Beth Dakin  <bdakin@apple.com>
      
              Reviewed by Dave Hyatt.
      
              Tests for https://bugs.webkit.org/show_bug.cgi?id=20765 Website 
              crashes on load due to messy HTML in search form
              -and corresponding-
              <rdar://problem/6210633>
      
              New tests:
              * fast/forms/form-added-to-table.html: Added.
              * fast/forms/form-in-malformed-markup.html: Added.
              * platform/mac/fast/forms/form-added-to-table-expected.checksum: Added.
              * platform/mac/fast/forms/form-added-to-table-expected.png: Added.
              * platform/mac/fast/forms/form-added-to-table-expected.txt: Added.
              * platform/mac/fast/forms/form-in-malformed-markup-expected.checksum: Added.
              * platform/mac/fast/forms/form-in-malformed-markup-expected.png: Added.
              * platform/mac/fast/forms/form-in-malformed-markup-expected.txt: Added.
      
              Tests with new results:
              * platform/mac/fast/forms/formmove3-expected.txt:
              * platform/mac/fast/forms/preserveFormDuringResidualStyle-expected.txt:
              * platform/mac/fast/invalid/table-residual-style-crash-expected.txt:
              * platform/mac/fast/table/fixed-table-non-cell-in-row-expected.txt:
              * platform/mac/fast/table/inline-form-assert-expected.txt:
              * platform/mac/fast/table/insert-cell-before-form-expected.txt:
              * platform/mac/fast/table/insert-row-before-form-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug1318-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug2516-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug32447-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug34538-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug78162-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug96343-expected.txt:
              * platform/mac/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42586 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      fe827609
    • darin@chromium.org's avatar
      2009-04-16 Xiaomei Ji <xji@chromium.org> · b5f8e323
      darin@chromium.org authored
              Reviewed by Simon Fraser.
      
              Fix https://bugs.webkit.org/show_bug.cgi?id=24527
              caret does not paint the first time you focus on a 0px right padding RTL div
      
              Test: fast/forms/caret-rtl.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::localCaretRect): When calculating x-axis if 
              alignment is alignRight, we need to subtract the caretWidth so that the
              caret at IntRect(x, y, caretWidth, height) is inside the block.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42585 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      b5f8e323
    • justin.garcia@apple.com's avatar
      Moving this test to platform/mac, it's mac only. · c89237c5
      justin.garcia@apple.com authored
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42584 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c89237c5
    • justin.garcia@apple.com's avatar
      WebCore: · fb6c46ce
      justin.garcia@apple.com authored
      2009-04-16  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Simon Fraser.
      
              https://bugs.webkit.org/show_bug.cgi?id=25228
              SelectionController::absoluteCaretBounds returns an inflated caret (the caret repaint rect)
              
              Return the bounds of the transformed caret, not the transformed repaint rect for the caret (which is inflated).
      
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::localCaretRect):
              (WebCore::SelectionController::absoluteBoundsForLocalRect):
              (WebCore::SelectionController::caretRepaintRect):
              (WebCore::SelectionController::recomputeCaretRect):
              * editing/SelectionController.h:
      
      LayoutTests:
      
      2009-04-16  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Simon Fraser.
              
              https://bugs.webkit.org/show_bug.cgi?id=25228
              SelectionController::absoluteCaretBounds returns an inflated caret (the caret repaint rect)
      
              * editing/selection/25228.html: Added.
              * platform/mac/editing/selection/25228-expected.checksum: Added.
              * platform/mac/editing/selection/25228-expected.png: Added.
              * platform/mac/editing/selection/25228-expected.txt: Added.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42583 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      fb6c46ce
    • kov@webkit.org's avatar
      2009-04-16 Zan Dobersek <zandobersek@gmail.com> · e29a4ce5
      kov@webkit.org authored
              Reviewed by Adam Roben.
      
              Compare test's response mime type and dump test as text properly.
      
              * DumpRenderTree/gtk/DumpRenderTree.cpp:
              (dump):
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42582 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      e29a4ce5
    • eric.carlson@apple.com's avatar
      2009-04-16 Pierre d'Herbemont <pdherbemont@apple.com> · 050522b8
      eric.carlson@apple.com authored
              Reviewed by Simon Fraser.
      
              https://bugs.webkit.org/show_bug.cgi?id=25187
              Bug 25187: <video> may not be rendered upon certain racy conditions
      
              Always create the video renderer when the load state reaches QTMovieLoadStateLoaded 
              and the element is visible, not only when the movie has just been opened.
      
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
              (WebCore::MediaPlayerPrivate::updateStates): Make sure we do not make false
              assumption on the state changes order. Create the renderer if none is present,
              when movie is loaded instead.
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42581 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      050522b8
    • eric@webkit.org's avatar
      Reviewed by Geoffrey Garen. · 82cea9a4
      eric@webkit.org authored
              Add filterBoundingBox() to RenderSVGModelObject to share a tiny bit of code
      
              RenderSVGModelObject has much more interesting code it can share,
              but I'm just trying to get the commits out of my local branch and into
              the repository in any order I can. :)  This one was small.
      
              This will be used by the unified RenderSVGModelObject
              clippedOverflowRectForRepaint patch coming soon.
      
              * rendering/RenderPath.cpp:
              (WebCore::RenderPath::clippedOverflowRectForRepaint):
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
              * rendering/RenderSVGModelObject.cpp:
              (WebCore::RenderSVGModelObject::filterBoundingBox):
              * rendering/RenderSVGModelObject.h:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42580 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      82cea9a4
    • ggaren@apple.com's avatar
      2009-04-16 Geoffrey Garen <ggaren@apple.com> · 4423a59a
      ggaren@apple.com authored
              Reviewed by Eric Seidel and Adam Roben.
      
              More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
              Unbounded memory growth when churning elements with anonymous event handler functions
              
              Simplified some EventHandler creation code.
              
              Removed a pile of code whose sole purpose was to allow SVG event handlers
              to supply a parameter named "evt" instead of the normal "event", and
              replaced it with a single parameter to JSLazyEventListener's constructor
              specifying the parameter name to use.
      
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSLazyEventListener.cpp:
              (WebCore::JSLazyEventListener::JSLazyEventListener):
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/js/JSLazyEventListener.h:
              (WebCore::JSLazyEventListener::create):
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::createInlineEventListener):
              * bindings/js/ScriptController.h:
              * dom/Document.cpp:
              (WebCore::Document::createEventListener):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42579 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      4423a59a
    • eric@webkit.org's avatar
      Reviewed by David Hyatt. · a614a979
      eric@webkit.org authored
              Split out objectBoundingBox and repaintRectInLocalCoordinates from relativeBBox
              in preparation for simplifying (and fixing) repaint logic in the SVG rendering tree.
              https://bugs.webkit.org/show_bug.cgi?id=25224
      
              objectBoundingBox() matches the SVG 1.1 concept of a "bounding box"
      
              repaintRectInLocalCoordinates() should return the a rect covering all painted content.
              However, repaintRectInLocalCoordinates() still only returns the "stroke bounding box"
              in this patch.  In a future patch, repaintRectInLocalCoordinates will be fixed to return
              a rect covering all painted content.  In order to avoid changing several hundred layout test results, I've left
              the behavior as-is for now.  The returned rect is used by various repaintRectInLocalCoordinates
              implementations and sometimes adjusted to include all painted content, but not always, and
              the places where the adjustments are made are sometimes wrong.  Again, will be fixed in
              an upcoming patch.
      
              This patch discovered a bug in Font::drawTextUsingSVGFont, which is probably causing
              bounding-box relative gradients on SVGFont glyphs to not paint correctly.
              I chose not to try and fix the bug in this patch and instead left a FIXME.
      
              This patch also discovered that at least tspan.getBBox() is broken.  This
              along with the foreignObject.getBBox() change will be tested (and fixed) in a
              later patch.  https://bugs.webkit.org/show_bug.cgi?id=25225
      
              No change in behavior (besides the above mentioned foreignObject.getBBox()), thus no tests.
      
              * rendering/RenderForeignObject.cpp:
              (WebCore::RenderForeignObject::objectBoundingBox): this is a behavior improvement for getBBox() test case coming in a later patch
              (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): only really used for layout test results, might some day be used for repaint.
              * rendering/RenderForeignObject.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::objectBoundingBox): new methods, ASSERT if used but not implemented.
              (WebCore::RenderObject::repaintRectInLocalCoordinates):
              * rendering/RenderObject.h:
              * rendering/RenderPath.cpp:
              (WebCore::RenderPath::objectBoundingBox):
              (WebCore::RenderPath::repaintRectInLocalCoordinates):
              (WebCore::RenderPath::clippedOverflowRectForRepaint):
              (WebCore::RenderPath::lineHeight):
              (WebCore::RenderPath::baselinePosition):
              (WebCore::RenderPath::paint):
              (WebCore::RenderPath::addFocusRingRects):
              * rendering/RenderPath.h:
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::paint):
              (WebCore::RenderSVGContainer::objectBoundingBox):
              (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGGradientStop.h:
              (WebCore::RenderSVGGradientStop::objectBoundingBox):
              (WebCore::RenderSVGGradientStop::repaintRectInLocalCoordinates):
              * rendering/RenderSVGHiddenContainer.cpp:
              (WebCore::RenderSVGHiddenContainer::objectBoundingBox):
              (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
              * rendering/RenderSVGHiddenContainer.h:
              * rendering/RenderSVGImage.cpp:
              (WebCore::RenderSVGImage::objectBoundingBox):
              (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
              (WebCore::RenderSVGImage::calculateAbsoluteBounds):
              (WebCore::RenderSVGImage::addFocusRingRects):
              * rendering/RenderSVGImage.h:
              * rendering/RenderSVGRoot.cpp:
              (WebCore::RenderSVGRoot::paint):
              (WebCore::RenderSVGRoot::objectBoundingBox):
              (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
              * rendering/RenderSVGRoot.h:
              * rendering/RenderSVGTSpan.h:
              (WebCore::RenderSVGTSpan::objectBoundingBox):
              (WebCore::RenderSVGTSpan::repaintRectInLocalCoordinates):
              * rendering/RenderSVGText.cpp:
              (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
              (WebCore::RenderSVGText::absoluteRects):
              (WebCore::RenderSVGText::absoluteQuads):
              (WebCore::RenderSVGText::objectBoundingBox):
              (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
              * rendering/RenderSVGText.h:
              * rendering/RenderSVGViewportContainer.cpp:
              (WebCore::RenderSVGViewportContainer::viewportTransform):
              * rendering/SVGRenderSupport.cpp:
              (WebCore::computeContainerBoundingBox):
              * rendering/SVGRenderSupport.h:
              * rendering/SVGRenderTreeAsText.cpp:
              (WebCore::operator<<):
              * svg/SVGFont.cpp:
              (WebCore::Font::drawTextUsingSVGFont):
              * svg/SVGLocatable.cpp:
              (WebCore::SVGLocatable::getBBox):
              * svg/SVGPatternElement.cpp:
              (WebCore::SVGPatternElement::buildPattern):
              * svg/graphics/SVGPaintServerGradient.cpp:
              (WebCore::createMaskAndSwapContextForTextGradient):
              (WebCore::clipToTextMask):
              (WebCore::SVGPaintServerGradient::setup):
              * svg/graphics/SVGPaintServerPattern.cpp:
              (WebCore::SVGPaintServerPattern::setup):
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42578 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      a614a979
    • mitz@apple.com's avatar
      WebCore: · 08f5bba3
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix <rdar://problem/6032139> Table cell widths calculated
                incorrectly on table that uses table-layout:fixed, colspans, and a mix
                of percentage and pixel widths
      
              Test: fast/table/fixed-granular-cols.html
      
              The incorrect widths resulted from incorrect handling of the case where
              the <col> elements are more granular than the table cells.
      
              * rendering/FixedTableLayout.cpp:
              (WebCore::FixedTableLayout::calcWidthArray): When processing <col>
              elements, append effective columns or split existing effective columns
              as needed.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for <rdar://problem/6032139> Table cell widths calculated
                incorrectly on table that uses table-layout:fixed, colspans, and a mix
                of percentage and pixel widths
      
              * fast/table/fixed-granular-cols.html: Added.
              * platform/mac/fast/table/fixed-granular-cols-expected.checksum: Added.
              * platform/mac/fast/table/fixed-granular-cols-expected.png: Added.
              * platform/mac/fast/table/fixed-granular-cols-expected.txt: Added.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42577 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      08f5bba3
    • aroben@apple.com's avatar
      Skip yet another JavaScriptCore test that sometimes fails on Windows · 6a41fea6
      aroben@apple.com authored
              See Bug 25160: Various ecma/Date tests sometimes fail on Windows (but
              not Mac)
              <https://bugs.webkit.org/show_bug.cgi?id=25160>
      
              * Scripts/run-javascriptcore-tests: Skip ecma/Date/15.9.2.2-6.js.
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42576 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      6a41fea6
    • oliver@apple.com's avatar
      Optimise op_resolve_base · 76e3d22e
      oliver@apple.com authored
      Reviewed by Gavin Barraclough.
      
      If we can statically find a property we are trying to resolve
      the base of, the base is guaranteed to be the global object.
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42575 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      76e3d22e