WebKit-https.git
11 years agoUnreviewed: Chromium build fix.
jparent@chromium.org [Tue, 16 Feb 2010 22:56:50 +0000 (22:56 +0000)]
Unreviewed: Chromium build fix.

http://trac.webkit.org/changeset/54823 introduced an unused variable.  Remove it.

* platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::create):

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

11 years agoBug 34974: Leak of ScheduledAction during layout tests
mrowe@apple.com [Tue, 16 Feb 2010 22:53:46 +0000 (22:53 +0000)]
Bug 34974: Leak of ScheduledAction during layout tests
<https://bugs.webkit.org/show_bug.cgi?id=34974>

Reviewed by Alexey Proskuryakov.

ScheduledAction::create was returning a raw pointer which was threaded down through to an OwnPtr in DOMTimer.
If any of the code paths in between hit an error case and returned early the raw pointer would be leaked.  We
can avoid this by passing it as a PassOwnPtr.  This will ensure that the ScheduledAction is cleaned up should
an error case be hit.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setTimeout): Store the newly-created ScheduledAction in an OwnPtr and then hand it off
as the function argument.
(WebCore::JSDOMWindow::setInterval): Ditto.
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::setTimeout): Ditto.
(WebCore::JSWorkerContext::setInterval): Ditto.
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create): Return a PassOwnPtr.
* bindings/js/ScheduledAction.h:
* page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer): Update argument type.
(WebCore::DOMTimer::install): Ditto.
* page/DOMTimer.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::setTimeout): Ditto.
(WebCore::DOMWindow::setInterval): Ditto.
* page/DOMWindow.h:

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

11 years ago2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 16 Feb 2010 22:51:13 +0000 (22:51 +0000)]
2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by David Hyatt.

        SVG units don't stay consistently sized on zoom
        https://bugs.webkit.org/show_bug.cgi?id=14004

        Large step towards making WebKit an usable SVG viewer.

        Make zooming into SVG documents work as expected, in both standalone and XHTML/SVG compound documents.
        SVG applies a global scale to the document, whereas CSS zooms all individual length units (on full-page-zoom).
        Scaling has to be avoided for all SVG specific CSS properties (already works) and for some selected CSS
        properties shared between CSS & SVG that explicitely need a different treatment in the context of SVG.
        To name a few: font-size, letter-spacing, etc. should stay invariant under zoom in SVG document fragments.

        Some new rules regarding zooming:
        - "Zoom text only" should never affect SVG documents, neither text nor content should zoom.
          This option doesn't make much sense for SVG, so it's wise to avoid side-effects and disable it.
          In compound documents the SVG would stay as-is and only text of surrounding XHTML content would zoom.

        - "Full page zoom" is the only zoom mode affecting SVG. (Panning only works in standalone documents.)

        Cover all mentioned cases above by a new set of layout tests.

        Tests: 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-hixie-mixed-008.xml
               svg/zoom/page/zoom-hixie-mixed-009.xml
               svg/zoom/page/zoom-hixie-rendering-model-004.xhtml
               svg/zoom/page/zoom-svg-float-border-padding.xml
               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
               svg/zoom/text/zoom-hixie-mixed-008.xml
               svg/zoom/text/zoom-hixie-mixed-009.xml
               svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
               svg/zoom/text/zoom-svg-float-border-padding.xml

        * css/CSSStyleSelector.cpp: Blacklist certain properties not to be zoomed for SVG elements.
        (WebCore::CSSStyleSelector::styleForDocument): Don't zoom font-sizes.
        (WebCore::CSSStyleSelector::applyProperty): Ditto (+ letter/word-spacing).
        (WebCore::CSSStyleSelector::setFontSize): Ditto.
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Never apply text zoom to SVG.
        * css/CSSStyleSelector.h:
        * css/SVGCSSStyleSelector.cpp: -webkit-shadow + SVG was incorrectly respecting zoom factor.
        (WebCore::CSSStyleSelector::applySVGProperty):
        * page/Frame.cpp:
        (WebCore::Frame::shouldApplyTextZoom): Remove SVG special cases.
        (WebCore::Frame::shouldApplyPageZoom): Ditto.
        (WebCore::Frame::setZoomFactor): Don't force setZoomsTextOnly() - SVG now uses FPZ as well.
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::calcReplacedWidth): CSSPropertyWidth is explicitely not scaled by CSSStyleSelector, fix that for outermost <svg> elements.
        (WebCore::RenderSVGRoot::calcReplacedHeight): Ditto for CSSPropertyHeight.
        (WebCore::RenderSVGRoot::layout): Simplify & cleanup code, take advantage of new calcWidth/Height functionality, no need to scale anything here.
        (WebCore::RenderSVGRoot::paint): Use parentOriginToBorderBox() instead of duplicating code.
        (WebCore::RenderSVGRoot::calcViewport): Simplify code.
        (WebCore::RenderSVGRoot::localToBorderBoxTransform): Calculate viewBoxToViewTransformation() against unscaled width()/height() values.
        * rendering/RenderSVGRoot.h:
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::PercentageOfViewport): Cleanup & document function.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::currentScale): Return pageZoomFactor(), not just the zoomFactor() - as we want to ignore text-only zoom.
        (WebCore::SVGSVGElement::setCurrentScale): Pass isTextOnly=false to setZoomFactor().

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

11 years ago2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 16 Feb 2010 22:46:41 +0000 (22:46 +0000)]
2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by David Hyatt.

        SVG units don't stay consistently sized on zoom
        https://bugs.webkit.org/show_bug.cgi?id=14004

        * platform/mac/svg/zoom: Added.
        * platform/mac/svg/zoom/page: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt: Added.
        * platform/mac/svg/zoom/text: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.
        * svg/zoom: Added.
        * svg/zoom/NOTE: Added.
        * svg/zoom/page: Added.
        * svg/zoom/page/absolute-sized-document-no-scrollbars.svg: Added.
        * svg/zoom/page/absolute-sized-document-scrollbars.svg: Added.
        * svg/zoom/page/relative-sized-document-scrollbars.svg: Added.
        * svg/zoom/page/zoom-coords-viewattr-01-b.svg: Added.
        * svg/zoom/page/zoom-foreignObject.svg: Added.
        * svg/zoom/page/zoom-hixie-mixed-008.xml: Added.
        * svg/zoom/page/zoom-hixie-mixed-009.xml: Added.
        * svg/zoom/page/zoom-hixie-rendering-model-004.xhtml: Added.
        * svg/zoom/page/zoom-svg-float-border-padding.xml: Added.
        * svg/zoom/resources: Added.
        * svg/zoom/resources/testPageZoom.js: Added.
        * svg/zoom/resources/testTextZoom.js: Added.
        * svg/zoom/text: Added.
        * svg/zoom/text/absolute-sized-document-no-scrollbars.svg: Added.
        * svg/zoom/text/absolute-sized-document-scrollbars.svg: Added.
        * svg/zoom/text/relative-sized-document-scrollbars.svg: Added.
        * svg/zoom/text/zoom-coords-viewattr-01-b.svg: Added.
        * svg/zoom/text/zoom-foreignObject.svg: Added.
        * svg/zoom/text/zoom-hixie-mixed-008.xml: Added.
        * svg/zoom/text/zoom-hixie-mixed-009.xml: Added.
        * svg/zoom/text/zoom-hixie-rendering-model-004.xhtml: Added.
        * svg/zoom/text/zoom-svg-float-border-padding.xml: Added.

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

11 years ago2010-02-16 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Tue, 16 Feb 2010 22:44:21 +0000 (22:44 +0000)]
2010-02-16  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=34988
        WebHTMLView.mm has two -willRemoveSubview: methods

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView willRemoveSubview:]): Consolidate the two copies of this method.

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

11 years agoUnreviewed: Chromium build fix.
jparent@chromium.org [Tue, 16 Feb 2010 22:30:38 +0000 (22:30 +0000)]
Unreviewed: Chromium build fix.

https://bugs.webkit.org/show_bug.cgi?id=34998

Move include of JavaScriptProfile.h behind if (USE_JSC).

* inspector/InspectorController.cpp:

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

11 years ago2010-02-16 Eric Seidel <eric@webkit.org>
eric@webkit.org [Tue, 16 Feb 2010 22:21:44 +0000 (22:21 +0000)]
2010-02-16  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        re-factor Skipped list parsing code into multiple functions and unit test it
        https://bugs.webkit.org/show_bug.cgi?id=34986

        * Scripts/test-webkitpy: Add new unit test.
        * Scripts/webkitpy/layout_tests/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
        * Scripts/webkitpy/layout_tests/port/mac.py: Split parsing function into multiple functions for testing.
        * Scripts/webkitpy/layout_tests/port/mac_unittest.py: Added.

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

11 years ago Reviewed by Geoffrey Garen and Kevin Decker.
ap@apple.com [Tue, 16 Feb 2010 22:16:08 +0000 (22:16 +0000)]
    Reviewed by Geoffrey Garen and Kevin Decker.

        https://bugs.webkit.org/show_bug.cgi?id=34989
        <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content

        This fixes event dispatch for both Cocoa and Carbon event models (mouseEntered/mouseExited
        in the former case, and adjustCursor in the latter).

        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView handleMouseEntered:]):
        (-[WebHostedNetscapePluginView handleMouseExited:]):
        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView handleMouseEntered:]):
        (-[WebBaseNetscapePluginView handleMouseExited:]):
        * Plugins/WebNetscapePluginView.h:
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView handleMouseEntered:]):
        (-[WebNetscapePluginView handleMouseExited:]):
        AppKit cannot reliably dispatch events for overlapping views. We are now asking WebCore to
        notify plug-in views of mouse entered/exited as part of DOM event dispatch.

        * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Besides
        mouse moved, dispatch plugin mouse entered/exit events in HTMLPlugInElement default event
        handler. Other mouse events are passed down by EventHandler.

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

11 years ago2010-02-16 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 16 Feb 2010 22:04:37 +0000 (22:04 +0000)]
2010-02-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Carlson.

        With hardware acceleration turned off, video frames never display if poster
        image is specified
        https://bugs.webkit.org/show_bug.cgi?id=34965

        HTMLVideoElement's m_shouldDisplayPosterImage was never updated after
        the movie supplied its first video frame, so the poster would continue to show.

        Fixed by calling updatePosterImage() from mediaPlayerRepaint(), which is called
        each time a new frame is available. updatePosterImage() is cheap.

        Also made updatePosterImage() virtual on HTMLMediaElement to avoid a number of
        ugly casts.

        Test: manual-tests/media-elements/video-replaces-poster.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::noneSupported): Call updatePosterImage() without video check.
        (WebCore::HTMLMediaElement::setNetworkState): Ditto.
        (WebCore::HTMLMediaElement::setReadyState): Ditto.
        (WebCore::HTMLMediaElement::mediaPlayerRepaint): Call udpatePosterImage().
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::updatePosterImage): Make this an empty virtual
        method on the base class.
        * html/HTMLVideoElement.h: Override updatePosterImage().

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

11 years ago2010-02-16 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 16 Feb 2010 21:55:28 +0000 (21:55 +0000)]
2010-02-16  Simon Fraser  <simon.fraser@apple.com>

        Build fix for platforms without ACCELERATED_COMPOSITING defined.

        mediaPlayerRenderingModeChanged() is only available when ACCELERATED_COMPOSITING is defined.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):

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

11 years ago2010-02-16 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 16 Feb 2010 21:46:06 +0000 (21:46 +0000)]
2010-02-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Carlson.

        Autoplaying video with poster doesn't reliably show up
        https://bugs.webkit.org/show_bug.cgi?id=34966

        A timing issue with compositing updates when replacing the poster image
        with the video could cause the video to not display.

        Fix by making video layer hook up more similar to WebGL etc, by having the
        video kick off a recalcStyle() via a SyntheticStyleChange. This requires
        vending a PlaformLayer* from the media player, up through the element.

        Test: media/video-replaces-poster.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): Use setNeedsStyleRecalc()
        to kick off a compositing update.

        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::platformLayer): Export the media engine's layer.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::platformLayer): Method to vend the media layer.
        (WebCore::MediaPlayer::platformLayer):

        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerRenderingModeChanged): New client callback
        to indicate that the rendering mode changed. The element uses this to kick off a
        recalcStyle.

        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::platformLayer): Method to vend the media layer.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovieLayer): No longer parent the layer directly
        via setContentsToMedia().
        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): Ditto.
        (WebCore::MediaPlayerPrivate::setUpVideoRendering): Tell the client that the
        rendering mode changed.
        (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Call setContentsToMedia()
        here.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Add platformLayer().
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
        (WebCore::MediaPlayerPrivate::setUpVideoRendering): Call mediaPlayerRenderingModeChanged()
        (WebCore::MediaPlayerPrivate::createLayerForMovie): Don't parent the layer ourselves any more.

        * rendering/RenderVideo.h: videoGraphicsLayer() is no longer needed.
        * rendering/RenderVideo.cpp: Ditto.

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

11 years ago2010-02-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
kov@webkit.org [Tue, 16 Feb 2010 21:06:42 +0000 (21:06 +0000)]
2010-02-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Refreshed all localization-related files, so that they are
        up-to-date with the code.

        * de.po: Updated.
        * en_GB.po: Updated.
        * es.po: Updated.
        * it.po: Updated.
        * lt.po: Updated.
        * nl.po: Updated.
        * pt_BR.po: Updated.
        * ru.po: Updated.
        * sr.po: Updated.
        * sr@latin.po: Updated.
        * sv.po: Updated.
        * vi.po: Updated.
        * webkit.pot: Updated.
        * zh_CN.po: Updated.

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

11 years ago2010-02-16 Gil Osher <gilosher@gmail.com>
kov@webkit.org [Tue, 16 Feb 2010 21:06:18 +0000 (21:06 +0000)]
2010-02-16  Gil Osher <gilosher@gmail.com>

        Reviewed by Gustavo Noronha.

        Localization of WebKitGTK+ in Hebrew.

        * he.po: Added.

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

11 years agoCode cleanup in ImageDecoders; no functional change.
pkasting@chromium.org [Tue, 16 Feb 2010 20:50:10 +0000 (20:50 +0000)]
Code cleanup in ImageDecoders; no functional change.
https://bugs.webkit.org/show_bug.cgi?id=28751

Reviewed by Adam Barth.

* Make code mostly comply with the style guide (switch indenting, use of
  "!" vs. "== 0", don't unnecessarily wrap lines, etc.)
* Eliminate m_allDataReceived in ICO/BMP decoders since it's in the
  base ImageDecoder class
* Remove some useless or wrong comments, add others
* Wrap comments at 80 columns (most already were) for
  consistency/readability
* Avoid casts by using correct variable types
* Consistent naming of decode() function/args
* Shorter code in some places
* Make declaration and definition order match

* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::frameCount):
(WebCore::ImageDecoderQt::frameBufferAtIndex):
(WebCore::ImageDecoderQt::forceLoadEverything):
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::create):
(WebCore::RGBA32Buffer::clear):
(WebCore::RGBA32Buffer::setSize):
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::):
(WebCore::ImageDecoder::ImageDecoder):
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::BMPImageDecoder):
(WebCore::BMPImageDecoder::setData):
(WebCore::BMPImageDecoder::isSizeAvailable):
(WebCore::BMPImageDecoder::frameBufferAtIndex):
(WebCore::BMPImageDecoder::decode):
(WebCore::BMPImageDecoder::decodeHelper):
(WebCore::BMPImageDecoder::processFileHeader):
* platform/image-decoders/bmp/BMPImageDecoder.h:
(WebCore::BMPImageDecoder::readUint32):
* platform/image-decoders/bmp/BMPImageReader.cpp:
(WebCore::BMPImageReader::BMPImageReader):
(WebCore::BMPImageReader::decodeBMP):
(WebCore::BMPImageReader::readInfoHeaderSize):
(WebCore::BMPImageReader::processInfoHeader):
(WebCore::BMPImageReader::readInfoHeader):
(WebCore::BMPImageReader::isInfoHeaderValid):
(WebCore::BMPImageReader::processBitmasks):
(WebCore::BMPImageReader::processColorTable):
(WebCore::BMPImageReader::processRLEData):
(WebCore::BMPImageReader::processNonRLEData):
* platform/image-decoders/bmp/BMPImageReader.h:
(WebCore::BMPImageReader::readUint32):
(WebCore::BMPImageReader::pastEndOfImage):
(WebCore::BMPImageReader::readCurrentPixel):
(WebCore::BMPImageReader::getComponent):
(WebCore::BMPImageReader::getAlpha):
(WebCore::BMPImageReader::setI):
(WebCore::BMPImageReader::setRGBA):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::isSizeAvailable):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::frameBufferAtIndex):
(WebCore::GIFImageDecoder::clearFrameBufferCache):
(WebCore::GIFImageDecoder::sizeNowAvailable):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::frameComplete):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::initFrameBuffer):
* platform/image-decoders/gif/GIFImageDecoder.h:
(WebCore::GIFImageDecoder::):
(WebCore::GIFImageDecoder::filenameExtension):
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::do_lzw):
(GIFImageReader::read):
* platform/image-decoders/gif/GIFImageReader.h:
(GIFImageReader::~GIFImageReader):
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::~ICOImageDecoder):
(WebCore::ICOImageDecoder::setData):
(WebCore::ICOImageDecoder::isSizeAvailable):
(WebCore::ICOImageDecoder::frameSizeAtIndex):
(WebCore::ICOImageDecoder::frameCount):
(WebCore::ICOImageDecoder::frameBufferAtIndex):
(WebCore::ICOImageDecoder::compareEntries):
(WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex):
(WebCore::ICOImageDecoder::decode):
(WebCore::ICOImageDecoder::decodeDirectory):
(WebCore::ICOImageDecoder::decodeAtIndex):
(WebCore::ICOImageDecoder::processDirectoryEntries):
(WebCore::ICOImageDecoder::readDirectoryEntry):
* platform/image-decoders/ico/ICOImageDecoder.h:
(WebCore::ICOImageDecoder::readUint16):
(WebCore::ICOImageDecoder::readUint32):
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::):
(WebCore::JPEGImageReader::JPEGImageReader):
(WebCore::JPEGImageReader::skipBytes):
(WebCore::JPEGImageReader::decode):
(WebCore::error_exit):
(WebCore::fill_input_buffer):
(WebCore::term_source):
(WebCore::JPEGImageDecoder::setData):
(WebCore::JPEGImageDecoder::setSize):
(WebCore::JPEGImageDecoder::frameBufferAtIndex):
(WebCore::JPEGImageDecoder::jpegComplete):
(WebCore::JPEGImageDecoder::decode):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
(WebCore::JPEGImageDecoder::filenameExtension):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::decodingFailed):
(WebCore::decodingWarning):
(WebCore::headerAvailable):
(WebCore::rowAvailable):
(WebCore::pngComplete):
(WebCore::PNGImageReader::PNGImageReader):
(WebCore::PNGImageReader::close):
(WebCore::PNGImageReader::decode):
(WebCore::PNGImageReader::createInterlaceBuffer):
(WebCore::PNGImageDecoder::setData):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::pngComplete):
(WebCore::PNGImageDecoder::decode):
* platform/image-decoders/png/PNGImageDecoder.h:
(WebCore::PNGImageDecoder::filenameExtension):
* platform/image-decoders/qt/RGBA32BufferQt.cpp:
(WebCore::RGBA32Buffer::setDecodedImage):

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

11 years ago2010-02-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
kov@webkit.org [Tue, 16 Feb 2010 14:44:20 +0000 (14:44 +0000)]
2010-02-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Check if the handle has a SoupMessage before trying to use
        it. This will be the case in non-HTTP(S) URLs.

        * webkit/webkitdownload.cpp:
        (webkit_download_new_with_handle):
        (webkit_download_start):

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

11 years ago[Qt] Unreviewed buildfix.
ossy@webkit.org [Tue, 16 Feb 2010 13:32:44 +0000 (13:32 +0000)]
[Qt] Unreviewed buildfix.

* WebCore.pro: Missing backslash added.

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

11 years ago2010-02-16 Mikhail Naganov <mnaganov@chromium.org>
mnaganov@chromium.org [Tue, 16 Feb 2010 13:17:49 +0000 (13:17 +0000)]
2010-02-16  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.

        https://bugs.webkit.org/show_bug.cgi?id=34848

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JavaScriptProfile.cpp: Added.
        (WebCore::profileCache):
        (WebCore::getTitleCallback):
        (WebCore::getHeadCallback):
        (WebCore::getUniqueIdCallback):
        (WebCore::focus):
        (WebCore::exclude):
        (WebCore::restoreAll):
        (WebCore::finalize):
        (WebCore::ProfileClass):
        (WebCore::toJS):
        * bindings/js/JavaScriptProfile.h: Added.
        * bindings/js/JavaScriptProfileNode.cpp: Added.
        (WebCore::profileNodeCache):
        (WebCore::getFunctionName):
        (WebCore::getURL):
        (WebCore::getLineNumber):
        (WebCore::getTotalTime):
        (WebCore::getSelfTime):
        (WebCore::getNumberOfCalls):
        (WebCore::getChildren):
        (WebCore::getVisible):
        (WebCore::getCallUID):
        (WebCore::finalize):
        (WebCore::ProfileNodeClass):
        (WebCore::toJS):
        * bindings/js/JavaScriptProfileNode.h: Added.
        * inspector/JavaScriptProfile.cpp: Removed.
        * inspector/JavaScriptProfile.h: Removed.
        * inspector/JavaScriptProfileNode.cpp: Removed.
        * inspector/JavaScriptProfileNode.h: Removed.

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

11 years ago2010-02-16 Alexander Pavlov <apavlov@chromium.org>
apavlov@chromium.org [Tue, 16 Feb 2010 13:11:41 +0000 (13:11 +0000)]
2010-02-16  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Elements Panel: Limit the number of initially loaded element children
        https://bugs.webkit.org/show_bug.cgi?id=34421

        Test: inspector/elements-panel-limited-children.html

        WebCore:
        * English.lproj/localizedStrings.js:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype._insertChild):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
        (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
        (WebInspector.ElementsTreeElement):
        (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
        (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
        (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
        (WebInspector.ElementsTreeElement.prototype.showChild):
        (WebInspector.ElementsTreeElement.prototype.insertChildElement):
        (WebInspector.ElementsTreeElement.prototype.moveChild):
        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
        (WebInspector.ElementsTreeElement.prototype._updateChildren):
        (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
        (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
        ():
        * inspector/front-end/inspector.css:

        LayoutTests:
        * inspector/elements-panel-limited-children-expected.txt: Added.
        * inspector/elements-panel-limited-children.html: Added.

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

11 years ago2010-02-16 Xan Lopez <xlopez@igalia.com>
xan@webkit.org [Tue, 16 Feb 2010 12:54:05 +0000 (12:54 +0000)]
2010-02-16  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump version to 1.1.22 so we can depend on it in applications.

        * configure.ac:

WebKit/gtk:

2010-02-16  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Add a new WebKitWebSettings setting, 'auto-resize-window', set to
        FALSE by default, that when enabled will apply any resizes or
        moves done by a page through various DOM methods (moveTo,
        resizeTo, moveBy, resizeBy).

        * WebCoreSupport/ChromeClientGtk.cpp:
        * webkit/webkitwebsettings.cpp:
        (webkit_web_settings_class_init):
        (webkit_web_settings_set_property):
        (webkit_web_settings_get_property):
        (webkit_web_settings_copy):

WebKitTools:

2010-02-16  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Enable 'auto-resize-window' in our DRT.

        * DumpRenderTree/gtk/DumpRenderTree.cpp:
        (resetDefaultsToConsistentValues):

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

11 years agoRefactor and split up basic-touch-events test
benm@google.com [Tue, 16 Feb 2010 11:18:30 +0000 (11:18 +0000)]
Refactor and split up basic-touch-events test
https://bugs.webkit.org/show_bug.cgi?id=34476

Reviewed by Simon Hausmann.

Split the basic-touch-events test into two separate tests, one for single and another for multi touch. Also refactor the tests to run in an asynchronous manner.

* fast/events/touch/basic-multi-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same multi touch tests cases from the old basic-touch-events test.
* fast/events/touch/basic-multi-touch-events-expected.txt: Added.
* fast/events/touch/script-tests/basic-multi-touch-events.js: Added.
* fast/events/touch/basic-single-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same single touch tests cases from the old basic-touch-events test.
* fast/events/touch/script-tests/basic-single-touch-events.js: Added.
* fast/events/touch/basic-single-touch-events-expected.txt: Added.
* fast/events/touch/basic-touch-events.html: Removed.
* fast/events/touch/script-tests/basic-touch-events.js: Removed.
* fast/events/touch/basic-touch-events-expected.txt: Removed.

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

11 years agoUnreviewed Symbian build fix.
hausmann@webkit.org [Tue, 16 Feb 2010 11:14:16 +0000 (11:14 +0000)]
Unreviewed Symbian build fix.

Updated the def file with two new exports used by QtLauncher.

* symbian/eabi/QtWebKitu.def:

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

11 years ago2010-02-16 Ismail Donmez <ismail@namtrac.org>
eric@webkit.org [Tue, 16 Feb 2010 11:10:14 +0000 (11:10 +0000)]
2010-02-16  Ismail Donmez  <ismail@namtrac.org>

        Reviewed by Pavel Feldman.

        Fix compilation with inspector disabled.
        https://bugs.webkit.org/show_bug.cgi?id=32724

        * rendering/RenderLayerBacking.cpp:
        (WebCore::inspectorTimelineAgent):
2010-02-16  Ismail Donmez  <ismail@namtrac.org>

        Reviewed by Pavel Feldman.

        Fix compilation with inspector disabled.
        https://bugs.webkit.org/show_bug.cgi?id=32724

        * Api/qwebpage.cpp:
        (qt_drt_webinspector_executeScript):
        (qt_drt_webinspector_close):
        (qt_drt_webinspector_show):
        (qt_drt_setTimelineProfilingEnabled):

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

11 years ago[Qt] Fix include paths for forwarding headers in standalone builds.
hausmann@webkit.org [Tue, 16 Feb 2010 10:27:03 +0000 (10:27 +0000)]
[Qt] Fix include paths for forwarding headers in standalone builds.

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2010-02-16
Reviewed by Simon Hausman.

* Api/DerivedSources.pro: Use relative paths for package builds and added some
documentation.

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

11 years ago2010-02-16 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Tue, 16 Feb 2010 10:25:29 +0000 (10:25 +0000)]
2010-02-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: turn off line wrapping in source view.

        https://bugs.webkit.org/show_bug.cgi?id=34935

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.markAndRevealRange):
        (WebInspector.TextViewer.prototype._paintLine):
        * inspector/front-end/textViewer.css:
        * inspector/front-end/utilities.js:

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

11 years ago2010-02-16 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Tue, 16 Feb 2010 10:08:21 +0000 (10:08 +0000)]
2010-02-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: let search iterate over views in Resources
        and keep the view in Scripts.

        https://bugs.webkit.org/show_bug.cgi?id=34968

        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.jumpToNextSearchResult):
        (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
        (WebInspector.Panel.prototype.showSourceLineForURL):
        (WebInspector.Panel.prototype.searchIteratesOverViews):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.get _resources):
        (WebInspector.ResourcesPanel.prototype.searchIteratesOverViews):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.showingLastSearchResult):
        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):
        (WebInspector.focusSearchField):

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

11 years ago2010-02-16 Noam Rosenthal <noam.rosenthal@nokia.com>
eric@webkit.org [Tue, 16 Feb 2010 09:17:44 +0000 (09:17 +0000)]
2010-02-16  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] canvas clipping is buggy
        https://bugs.webkit.org/show_bug.cgi?id=32405

        Apparently the bug was in GraphicsContext::roundToDevicePixels, we
        didn't take unto accounts rotation, so the device pixels were rounded
        incorrectly. The new formula is a 1:1 copy from GraphicsContextCG so
        it should be rather safe

        Test: http://glimr.rubyforge.org/cake/canvas.html#Polaroids now looks right

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels): Copy the formula from
        GraphicsContextCG

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

11 years ago2010-02-16 Yury Semikhatsky <yurys@chromium.org>
yurys@chromium.org [Tue, 16 Feb 2010 08:48:31 +0000 (08:48 +0000)]
2010-02-16  Yury Semikhatsky  <yurys@chromium.org>

        Not Reviewed, build fix.

        * platform/graphics/FloatRect.h:
        (WebCore::FloatRect::center): make conversion from float to int explicit so that compiler
        doesn't complain about that.

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

11 years ago2010-02-15 Gabor Loki <loki@webkit.org>
eric@webkit.org [Tue, 16 Feb 2010 07:42:20 +0000 (07:42 +0000)]
2010-02-15  Gabor Loki  <loki@webkit.org>

        Reviewed by Gavin Barraclough.

        Fix the SP at ctiOpThrowNotCaught on Thumb2 (JSVALUE32)
        https://bugs.webkit.org/show_bug.cgi?id=34939

        * jit/JITStubs.cpp:

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

11 years ago2010-02-15 Martin Robinson <mrobinson@webkit.org>
mrobinson@webkit.org [Tue, 16 Feb 2010 06:17:21 +0000 (06:17 +0000)]
2010-02-15  Martin Robinson  <mrobinson@webkit.org>

        Reviewed by Darin Adler.

        check-webkit-style should not complain about NULL sentinel in calls to g_strconcat and g_strjoin
        https://bugs.webkit.org/show_bug.cgi?id=34834

        * Scripts/webkitpy/style/processors/cpp.py:
        * Scripts/webkitpy/style/processors/cpp_unittest.py:

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

11 years agoWebCore: <rdar://problem/7645609> [webView selectionRect] API is broken for multicolu...
mitz@apple.com [Tue, 16 Feb 2010 04:19:04 +0000 (04:19 +0000)]
WebCore: <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout

Reviewed by Simon Fraser.

Refine the fix for https://bugs.webkit.org/show_bug.cgi?id=34923 by using the center of
a quad’s bounding box, rather than its top left, as the reference point passed to
offsetFromContainer(). This ensures that if a sliver off the top of the selection rect is in
one column, but most of it is on another column, the single rect we return will be for the
second column.

* platform/graphics/FloatRect.h:
(WebCore::FloatRect::center): Added.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::localToContainerQuad): Use the center instead of the top left.

LayoutTests: Add test case for <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout

Reviewed by Simon Fraser.

* fast/multicol/client-rects-expected.checksum:
* fast/multicol/client-rects-expected.png:
* fast/multicol/client-rects-expected.txt:
* fast/multicol/client-rects.html:

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

11 years ago2010-02-15 MORITA Hajime <morrita@gmail.com>
eric@webkit.org [Tue, 16 Feb 2010 02:36:38 +0000 (02:36 +0000)]
2010-02-15  MORITA Hajime  <morrita@gmail.com>

        Reviewed by Nikolas Zimmermann.

        SVG text refactor: reduce paint specific callbacks on SVGTextChunkWalker

        https://bugs.webkit.org/show_bug.cgi?id=34831

        No new tests, no change of functionality.

        * rendering/SVGCharacterLayoutInfo.h:
        (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
        Removed setupBackground(), setupFill(), setupFillSelection(),
        setupStroke(), setupStrokeSelection(), setupForeground()
        and associated member variables.

        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
        renamed from chunkSetupBackgroundCallback.
        (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
        renamed from chunkSetupFillCallback.
        (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
        renamed from chunkSetupFillSelectionCallback.
        (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
        renamed from chunkSetupStrokeCallback.
        (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
        renamed from chunkSetupStrokeSelectionCallback.
        (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
        renamed from chunkSetupForegroundCallback.
        (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
        renamed from chunkPortionCallback.
        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
        extracted from walkTextChunks.
        (WebCore::SVGRootInlineBox::paint):
        follow SVGTextChunkWalker change.
        (WebCore::SVGRootInlineBox::walkTextChunks):
        moved paint some specific code to SVGRootInlineBoxPaintWalker::chunkPortionCallback().

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

11 years ago* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
barraclough@apple.com [Tue, 16 Feb 2010 01:54:34 +0000 (01:54 +0000)]
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

Reviewed by NOBODY (Build Fix!).

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

11 years agoSome general Rope related refactoring.
barraclough@apple.com [Tue, 16 Feb 2010 01:32:06 +0000 (01:32 +0000)]
Some general Rope related refactoring.

Reviewed by Oliver Hunt.

Rename Rope::m_ropeLength to m_fiberCount, to be more descriptive.
Rename Rope::m_stringLength to simply m_length (since this is the
more conventional name for the length of a string).  Move append
behaviour out into a new RopeBuilder class, so that Rope no longer
needs any knowledge of the JSString or UString implementation.

Make Rope no longer be nested within JSString.
(Rope now no-longer need reside within JSString.h, but leaving
the change of moving this out to a different header as a separate
change from these renames).

* JavaScriptCore.exp:
* jit/JITOpcodes.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
* runtime/JSString.cpp:
(JSC::Rope::destructNonRecursive):
(JSC::Rope::~Rope):
(JSC::JSString::resolveRope):
(JSC::JSString::toBoolean):
(JSC::JSString::getStringPropertyDescriptor):
* runtime/JSString.h:
(JSC::Rope::Fiber::Fiber):
(JSC::Rope::Fiber::deref):
(JSC::Rope::Fiber::ref):
(JSC::Rope::Fiber::refAndGetLength):
(JSC::Rope::Fiber::isRope):
(JSC::Rope::Fiber::rope):
(JSC::Rope::Fiber::isString):
(JSC::Rope::Fiber::string):
(JSC::Rope::Fiber::nonFiber):
(JSC::Rope::tryCreateUninitialized):
(JSC::Rope::append):
(JSC::Rope::fiberCount):
(JSC::Rope::length):
(JSC::Rope::fibers):
(JSC::Rope::Rope):
(JSC::Rope::operator new):
(JSC::):
(JSC::RopeBuilder::JSString):
(JSC::RopeBuilder::~JSString):
(JSC::RopeBuilder::length):
(JSC::RopeBuilder::canGetIndex):
(JSC::RopeBuilder::appendStringInConstruct):
(JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
(JSC::RopeBuilder::isRope):
(JSC::RopeBuilder::fiberCount):
(JSC::JSString::getStringPropertySlot):
* runtime/Operations.h:
(JSC::jsString):

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

11 years ago[Chromium] Fix StorageNamespaceProxy::copy() for test shell
jorlow@chromium.org [Tue, 16 Feb 2010 00:25:52 +0000 (00:25 +0000)]
[Chromium] Fix StorageNamespaceProxy::copy() for test shell
https://bugs.webkit.org/show_bug.cgi?id=34949

Reviewed by Darin Fisher.

Chromium passes back NULL when you call WebStorageNamespace::proxy()
but TestShell returns a valid object.  Both need to work via
the WebStorageNamespace.

* src/StorageNamespaceProxy.cpp:
(WebCore::StorageNamespaceProxy::copy):

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

11 years agoTry to fix the Chromium build.
mitz@apple.com [Tue, 16 Feb 2010 00:19:13 +0000 (00:19 +0000)]
Try to fix the Chromium build.

* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::convertToPaintingRect):

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

11 years agoAdd missing cast for !YARR (PPC) builds.
barraclough@apple.com [Mon, 15 Feb 2010 23:44:43 +0000 (23:44 +0000)]
Add missing cast for !YARR (PPC) builds.

Reviewed by NOBODY (Build fix).

* runtime/RegExp.cpp:
(JSC::RegExp::match):

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

11 years agoAdd newline to end of Windows skipped list
bweinstein@apple.com [Mon, 15 Feb 2010 22:58:15 +0000 (22:58 +0000)]
Add newline to end of Windows skipped list

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

11 years agoRubber-stamped by Dan Bernstein.
bweinstein@apple.com [Mon, 15 Feb 2010 22:57:35 +0000 (22:57 +0000)]
Rubber-stamped by Dan Bernstein.

Skipped glyph-reordering on Windows since it has failed since it was landed. Left a comment
in <https://bugs.webkit.org/show_bug.cgi?id=34865> to track the failure.

* platform/win/Skipped:

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

11 years agohttps://bugs.webkit.org/show_bug.cgi?id=33731
barraclough@apple.com [Mon, 15 Feb 2010 22:37:43 +0000 (22:37 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=33731
Many false leaks in release builds due to PtrAndFlags

Reviewed by Darin Adler.

JavaScriptCore:

StructureTransitionTable was effectively a smart pointer type,
one machine word in size and wholly contained as a member of
of Structure.  It either pointed to an actual table, or could
be used to describe a single transtion entry without use of a
table.

This, however, worked by using a PtrAndFlags, which is not
compatible with the leaks tool.  Since there is no clear way to
obtain another bit for 'free' here, and since there are bits
available up in Structure, merge this functionality back up into
Structure.  Having this in a separate class was quite clean
from an enacapsulation perspective, but this solution doesn't
seem to bad - all table access is now intermediated through the
Structure::structureTransitionTableFoo methods, keeping the
optimization fairly well contained.

This was the last use of PtrAndFlags, so removing the file too.

* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.h:
* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::~Structure):
(JSC::Structure::addPropertyTransitionToExistingStructure):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::hasTransition):
* runtime/Structure.h:
(JSC::Structure::):
(JSC::Structure::structureTransitionTableContains):
(JSC::Structure::structureTransitionTableGet):
(JSC::Structure::structureTransitionTableHasTransition):
(JSC::Structure::structureTransitionTableRemove):
(JSC::Structure::structureTransitionTableAdd):
(JSC::Structure::structureTransitionTable):
(JSC::Structure::setStructureTransitionTable):
(JSC::Structure::singleTransition):
(JSC::Structure::setSingleTransition):
* runtime/StructureTransitionTable.h:
* wtf/PtrAndFlags.h: Removed.

WebCore:

PtrAndFlags has now been removed; remove forwarding header.

* ForwardingHeaders/wtf/PtrAndFlags.h: Removed.

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

11 years ago Skip more plugin tests on Snow Leopard buildbot, as they need updated closed...
ap@apple.com [Mon, 15 Feb 2010 22:21:41 +0000 (22:21 +0000)]
    Skip more plugin tests on Snow Leopard buildbot, as they need updated closed source components.

        * platform/mac-snowleopard/Skipped: Skip netscape-dom-access.html and netscape-browser-object-identity.html.

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

11 years agoAdd IWebFramePrivate::visibleContentRect
aroben@apple.com [Mon, 15 Feb 2010 21:48:31 +0000 (21:48 +0000)]
Add IWebFramePrivate::visibleContentRect

Fixes <http://webkit.org/b/34956> Add API to get a WebFrame's visible
content rect

Reviewed by Jon Honeycutt.

* Interfaces/IWebFramePrivate.idl: Added visibleContentRect.

* Interfaces/WebKit.idl: Touched to force a build.

* WebFrame.cpp:
(WebFrame::visibleContentRect):
* WebFrame.h:
Added. Calls through to FrameView::visibleContentRect.

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

11 years agoRubber Stamped by Geoff Garen.
barraclough@apple.com [Mon, 15 Feb 2010 21:43:27 +0000 (21:43 +0000)]
Rubber Stamped by Geoff Garen.

Bug 34948 - tryMakeString should fail on error in length calculation

Ooops! - "bool overflow" argument should have been "bool& overflow".

* runtime/UString.h:
(JSC::sumWithOverflow):
(JSC::tryMakeString):

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

11 years agoSome symbol names have changed, remove, will readd if required.
barraclough@apple.com [Mon, 15 Feb 2010 21:41:37 +0000 (21:41 +0000)]
Some symbol names have changed, remove, will readd if required.

Reviewed by NOBODY (Build Fix (pt 2!)).

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

11 years ago[Qt] fast/multicol/client-rects.html fails in QtLauncher
ossy@webkit.org [Mon, 15 Feb 2010 21:37:44 +0000 (21:37 +0000)]
[Qt] fast/multicol/client-rects.html fails in QtLauncher
https://bugs.webkit.org/show_bug.cgi?id=34959

* platform/qt/Skipped: fast/multicol/client-rects.html skipped until fix.

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

11 years agoSome symbol names have changed, remove, will readd if required.
barraclough@apple.com [Mon, 15 Feb 2010 21:24:51 +0000 (21:24 +0000)]
Some symbol names have changed, remove, will readd if required.

Reviewed by NOBODY (Build Fix (pt 1?)).

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

11 years ago More build fixing (for what is actually a 64-bit failure, as 32-bit apparentl...
ap@apple.com [Mon, 15 Feb 2010 21:18:54 +0000 (21:18 +0000)]
    More build fixing (for what is actually a 64-bit failure, as 32-bit apparently includes
        headers that aren't included in 64-bit).

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::contains):
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
        Move inline functions to .cpp; also made the class Noncopyable.

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

11 years agoRemoved some mistaken code added in http://trac.webkit.org/changeset/53860.
ggaren@apple.com [Mon, 15 Feb 2010 21:09:49 +0000 (21:09 +0000)]
Removed some mistaken code added in trac.webkit.org/changeset/53860.

Reviewed by Oliver Hunt.

* API/APIShims.h:
(JSC::APICallbackShim::APICallbackShim):
(JSC::APICallbackShim::~APICallbackShim): No need to start/stop the
timeout checker when calling out from the API to the client; we want to
monitor the VM for timeouts, not the client. This mistake was harmless /
undetectable, since it's totally redundant with the APIEntryShim, which
also starts / stops the timeout checker.

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

11 years agoBug 34952 - String lengths in UString should be unsigned.
barraclough@apple.com [Mon, 15 Feb 2010 21:03:45 +0000 (21:03 +0000)]
Bug 34952 - String lengths in UString should be unsigned.
This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.

Reviewed by Geoff Garen.

JavaScriptCore:

* JavaScriptCore.exp:
* bytecode/EvalCodeCache.h:
* runtime/Identifier.cpp:
(JSC::Identifier::equal):
* runtime/Identifier.h:
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEscape):
* runtime/JSONObject.cpp:
(JSC::gap):
(JSC::Stringifier::indent):
* runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):
* runtime/RegExp.cpp:
(JSC::RegExp::match):
* runtime/StringPrototype.cpp:
(JSC::substituteBackreferencesSlow):
(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncSplit):
(JSC::trimString):
* runtime/UString.cpp:
(JSC::UString::UString):
(JSC::UString::from):
(JSC::UString::getCString):
(JSC::UString::ascii):
(JSC::UString::operator[]):
(JSC::UString::toStrictUInt32):
(JSC::UString::find):
(JSC::UString::rfind):
(JSC::UString::substr):
(JSC::operator<):
(JSC::operator>):
(JSC::compare):
(JSC::equal):
(JSC::UString::UTF8String):
* runtime/UString.h:
(JSC::UString::size):
(JSC::operator==):
* runtime/UStringImpl.cpp:
(JSC::UStringImpl::create):
* runtime/UStringImpl.h:
(JSC::UStringImpl::create):
(JSC::UStringImpl::size):
(JSC::UStringImpl::computeHash):
(JSC::UStringImpl::UStringImpl):

WebCore:

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::atob):
(WebCore::JSDOMWindow::btoa):

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

11 years agoBug 34948 - tryMakeString should fail on error in length calculation
barraclough@apple.com [Mon, 15 Feb 2010 20:59:54 +0000 (20:59 +0000)]
Bug 34948 - tryMakeString should fail on error in length calculation

Reviewed by Geoff Garen.

The sum of the length of substrings could overflow.

* runtime/UString.h:
(JSC::sumWithOverflow):
(JSC::tryMakeString):

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

11 years ago Mac release build fix attempt.
ap@apple.com [Mon, 15 Feb 2010 20:42:10 +0000 (20:42 +0000)]
    Mac release build fix attempt.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::~LocalObjectMap):
        Implement destructor in .cpp file, where necessary headers are already included.

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

11 years ago2010-02-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
kov@webkit.org [Mon, 15 Feb 2010 20:35:55 +0000 (20:35 +0000)]
2010-02-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
        https://bugs.webkit.org/show_bug.cgi?id=34944

        Set the URL in the newly created response, when parsing data:
        URIs.

        Test: fast/harness/page-cache-crash-on-data-urls.html

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::parseDataUrl):

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

11 years agoFixed <rdar://problem/7628524> Crash beneath JSGlobalContextRelease when
ggaren@apple.com [Mon, 15 Feb 2010 20:32:15 +0000 (20:32 +0000)]
Fixed <rdar://problem/7628524> Crash beneath JSGlobalContextRelease when
typing in Google search field with GuardMalloc/full page heap enabled

Reviewed by Oliver Hunt.

* API/JSContextRef.cpp: Don't use APIEntryShim, since that requires
a JSGlobalData, which this function destroys. Do use setCurrentIdentifierTable
and JSLock instead, since those are the two features of APIEntryShim we
require.

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

11 years ago<rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns...
mitz@apple.com [Mon, 15 Feb 2010 19:48:38 +0000 (19:48 +0000)]
<rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns and their descendants
https://bugs.webkit.org/show_bug.cgi?id=34923

Reviewed by Simon Fraser.

WebCore:

Test: fast/multicol/client-rects.html

In column layout, a different transform applies to different points in
the block and its descendants, depending on their y coordinate within the
block. offsetFromContainer() used to return the offset that applied to
the origin. With this change, it returns the offset that applies to a
given reference point. When mapping a quad from local to absolute
coordinates, the top left of the quad’s bounding box is used as that
reference point.

* editing/SelectionController.cpp:
(WebCore::SelectionController::layout): Pass the caret’s origin as the
reference point to offsetFromContainer().
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustForColumns): Adds the offset between the
given point and its image under the column paint-time transform to the
given offset. Used by offsetFromContainer() where it had previously used
adjustRectForColumns(), which takes a rect and operates less efficiently.
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer): Pass the transformed point as
the reference point to offsetFromContainer().
(WebCore::RenderBox::mapAbsoluteToLocalPoint): Pass a point to
offsetFromContainer().
(WebCore::RenderBox::offsetFromContainer): Use adjustForColumns() instead
of adjustRectForColumns(), and use the reference point to get the right
adjustment for the point of interest, instead of the origin, in case this
box spans multiple columns.
* rendering/RenderBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::offsetFromContainer): Ditto. Actually apply the
column offset to the computation, which previously this function didn’t
do.
(WebCore::RenderInline::mapLocalToContainer): Pass the transformed point
as the reference point to offsetFromContainer().
(WebCore::RenderInline::mapAbsoluteToLocalPoint): Pass a point to
offsetFromContainer().
* rendering/RenderInline.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::mapLocalToContainer): Apply column adjustment,
based on the reference point, to the transform if needed.
(WebCore::RenderObject::localToContainerQuad): Initialize the
TransformState with the top left corner of the quad’s bounding box. It
is later used as the reference point when deciding on which column to
base the calculations.
(WebCore::RenderObject::offsetFromContainer): Adjust for columns.
(WebCore::RenderObject::offsetFromAncestorContainer): Pass the origin
as the reference point to offsetFromContainer().
* rendering/RenderObject.h:
(WebCore::RenderObject::adjustForColumns): Added.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::offsetFromContainer): Pass the reference
point through.
* rendering/RenderTableCell.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRectsForRange): Map (the origin of) each
rect to absolute coordinates individually.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::convertToPaintingRect): Pass a point to
offsetFromContainer().

LayoutTests:

* fast/multicol/client-rects-expected.checksum: Added.
* fast/multicol/client-rects-expected.png: Added.
* fast/multicol/client-rects-expected.txt: Added.
* fast/multicol/client-rects.html: Added.

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

11 years ago Reviewed by Kevin Decker.
ap@apple.com [Mon, 15 Feb 2010 19:16:21 +0000 (19:16 +0000)]
    Reviewed by Kevin Decker.

        <rdar://problem/7130641> Browser objects identity is not preserved by Safari

        Test: plugins/netscape-browser-object-identity.html

        * bridge/runtime_root.h: (JSC::Bindings::RootObject::addInvalidationCallback):
        RootObject can now call out during invalidation, making it possible for other code to know
        when this happens.

        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::InvalidationCallback::~InvalidationCallback): Empty destructor,
        in cpp file since it's virtual.
        (JSC::Bindings::RootObject::invalidate): Invoke invalidation callbacks.

        * bridge/NP_jsobject.cpp:
        (ObjectMap): Keep a JSObject->NPObject map for each RootObject. It somewhat cleaner to
        keep it outside RootObject, because (1) it is agnostic of what kinds of objects can wrap
        JSObject, and (2) out of process NPAPI implementation also keeps its corresponding map
        separately, due to supporting per-instance granularity (as opposed to per-RootObject here).
        (jsDeallocate): Remove the corresponding map entry.
        (_NPN_CreateScriptObject): Try to fetch existing object from the map, incrementing refcount.

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

11 years ago2010-02-15 Philippe Normand <pnormand@igalia.com>
philn@webkit.org [Mon, 15 Feb 2010 18:35:01 +0000 (18:35 +0000)]
2010-02-15  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Gustavo Noronha Silva.

        Removed redefine of LOG_VERBOSE. This should not have commited in
        the first place.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:

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

11 years ago2010-02-15 Patrick Gansterer <paroga@paroga.com>
eric@webkit.org [Mon, 15 Feb 2010 18:04:54 +0000 (18:04 +0000)]
2010-02-15  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Laszlo Gombos.

        Added additional parameter to create_rvct_stubs
        for setting the offset of thunkReturnAddress.
        https://bugs.webkit.org/show_bug.cgi?id=34657

        * create_rvct_stubs:
        * jit/JITStubs.cpp:

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

11 years ago2010-02-15 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Mon, 15 Feb 2010 17:48:07 +0000 (17:48 +0000)]
2010-02-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: incorrect syntax highlighting as HTML in a script tag.
        We were preserving initial lexer state upon entering other tags while in <script>
        but were not doing it for <script tag itself. As a result, nested script
        tags were failing to highlight.

        https://bugs.webkit.org/show_bug.cgi?id=34934

        * inspector/front-end/SourceHTMLTokenizer.js:
        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
        * inspector/front-end/SourceHTMLTokenizer.re2js:

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

11 years ago2010-02-15 Emilio Pozuelo Monfort <pochu27@gmail.com>
eric@webkit.org [Mon, 15 Feb 2010 17:46:38 +0000 (17:46 +0000)]
2010-02-15  Emilio Pozuelo Monfort  <pochu27@gmail.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Fails to build on GNU/Hurd because of PATH_MAX usage
        https://bugs.webkit.org/show_bug.cgi?id=34920

        Use dynamic allocation instead of fixed PATH_MAX size buffers to
        fix the build on GNU/Hurd, where PATH_MAX is undefined.

        * tests/testmimehandling.c:
        (main):
        * tests/testwebview.c:
        (main):

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

11 years agoAdd a progress-indicator logging channel to WebCore, and convert the old WebKit Logging
beidson@apple.com [Mon, 15 Feb 2010 17:31:00 +0000 (17:31 +0000)]
Add a progress-indicator logging channel to WebCore, and convert the old WebKit Logging
messages over to WebCore-style.

Reviewed by Dan Bernstein.

No new tests. (Logging changes only)

* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::progressStarted):
(WebCore::ProgressTracker::progressCompleted):
(WebCore::ProgressTracker::finalProgressComplete):
(WebCore::ProgressTracker::incrementProgress):

* platform/Logging.cpp:
(WebCore::):
(WebCore::getChannelFromName):
* platform/Logging.h:

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

11 years agoRevert 54776
mnaganov@chromium.org [Mon, 15 Feb 2010 17:10:44 +0000 (17:10 +0000)]
Revert 54776

Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.
https://bugs.webkit.org/show_bug.cgi?id=34848

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

11 years ago2010-02-15 Mikhail Naganov <mnaganov@chromium.org>
mnaganov@chromium.org [Mon, 15 Feb 2010 16:59:52 +0000 (16:59 +0000)]
2010-02-15  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.

        https://bugs.webkit.org/show_bug.cgi?id=34848

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JavaScriptProfile.cpp: Added.
        (WebCore::profileCache):
        (WebCore::getTitleCallback):
        (WebCore::getHeadCallback):
        (WebCore::getUniqueIdCallback):
        (WebCore::focus):
        (WebCore::exclude):
        (WebCore::restoreAll):
        (WebCore::finalize):
        (WebCore::ProfileClass):
        (WebCore::toJS):
        * bindings/js/JavaScriptProfile.h: Added.
        * bindings/js/JavaScriptProfileNode.cpp: Added.
        (WebCore::profileNodeCache):
        (WebCore::getFunctionName):
        (WebCore::getURL):
        (WebCore::getLineNumber):
        (WebCore::getTotalTime):
        (WebCore::getSelfTime):
        (WebCore::getNumberOfCalls):
        (WebCore::getChildren):
        (WebCore::getVisible):
        (WebCore::getCallUID):
        (WebCore::finalize):
        (WebCore::ProfileNodeClass):
        (WebCore::toJS):
        * bindings/js/JavaScriptProfileNode.h: Added.
        * inspector/JavaScriptProfile.cpp: Removed.
        * inspector/JavaScriptProfile.h: Removed.
        * inspector/JavaScriptProfileNode.cpp: Removed.
        * inspector/JavaScriptProfileNode.h: Removed.

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

11 years ago2010-02-15 Noam Rosenthal <noam.rosenthal@nokia.com>
eric@webkit.org [Mon, 15 Feb 2010 15:36:00 +0000 (15:36 +0000)]
2010-02-15  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
        https://bugs.webkit.org/show_bug.cgi?id=34901

        When a signal/slot/property is of type QWebElement, it can seamlessly
        connect with JS objects that hold a WebCore element.

        New tests, see WebKit/qt/ChangeLog

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtWebElementRuntime::create): A proxy to QWebElement
        constructor
        (JSC::Bindings::QtWebElementRuntime::get): A proxy to
        QWebElement::element
        (JSC::Bindings::convertValueToQVariant): handle QWebElement
        (JSC::Bindings::convertQVariantToValue): handle QWebElement
2010-02-15  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
        Add Q_DECLARE_METATYPE to QWebElement, add relevant tests to
        tst_qwebframe
        https://bugs.webkit.org/show_bug.cgi?id=34901

        * Api/qwebelement.h: declare metatype
        * tests/qwebframe/tst_qwebframe.cpp:
        (MyQObject::webElementProperty): new test for QWebElement
        (MyQObject::setWebElementProperty): new test for QWebElement
        (MyQObject::myOverloadedSlot): new test for QWebElement

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

11 years ago2010-02-15 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Mon, 15 Feb 2010 13:56:46 +0000 (13:56 +0000)]
2010-02-15  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed, Chromium tests fix (force conversion of property names to
        strings in Web Inspector's injected script).

        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):

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

11 years ago2010-02-15 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
eric@webkit.org [Mon, 15 Feb 2010 12:08:42 +0000 (12:08 +0000)]
2010-02-15  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>

        Reviewed by Simon Hausmann.

        Fix QScriptValue::toIntXX methods.

        More ECMA Script compliance.

        [Qt] QScriptValue::toIntXX returns incorrect values
        https://bugs.webkit.org/show_bug.cgi?id=34847

        * qt/api/qscriptvalue_p.h:
        (QScriptValuePrivate::toInteger):
        (QScriptValuePrivate::toInt32):
        (QScriptValuePrivate::toUInt32):
        (QScriptValuePrivate::toUInt16):
        * qt/tests/qscriptvalue/tst_qscriptvalue.h:
        * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
        (tst_QScriptValue::toInteger_initData):
        (tst_QScriptValue::toInteger_makeData):
        (tst_QScriptValue::toInteger_test):
        (tst_QScriptValue::toInt32_initData):
        (tst_QScriptValue::toInt32_makeData):
        (tst_QScriptValue::toInt32_test):
        (tst_QScriptValue::toUInt32_initData):
        (tst_QScriptValue::toUInt32_makeData):
        (tst_QScriptValue::toUInt32_test):
        (tst_QScriptValue::toUInt16_initData):
        (tst_QScriptValue::toUInt16_makeData):
        (tst_QScriptValue::toUInt16_test):

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

11 years ago2010-02-15 Robert Hogan <robert@roberthogan.net>
eric@webkit.org [Mon, 15 Feb 2010 10:56:15 +0000 (10:56 +0000)]
2010-02-15  Robert Hogan  <robert@roberthogan.net>

        Reviewed by Simon Hausmann.

        [Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().

        Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.

        https://bugs.webkit.org/show_bug.cgi?id=33096

        This allows the following tests to pass:

        inspector/console-format-collections.html
        inspector/styles-iframe.html
        inspector/syntax-highlight-css.html
        inspector/syntax-highlight-javascript.html
        inspector/timeline-enum-stability.html
        inspector/timeline-layout.html
        inspector/timeline-mark-timeline.html
        inspector/timeline-paint.html
        inspector/timeline-parse-html.html
        inspector/timeline-recalculate-styles.html
        inspector/timeline-script-tag-1.html
        inspector/timeline-script-tag-2.html
        inspector/timeline-trivial.html
        inspector/cookie-resource-match.html
        inspector/elements-img-tooltip.html
        inspector/elements-panel-selection-on-refresh.html
        inspector/inspected-objects-not-overriden.html
        inspector/timeline-event-dispatch.html
        inspector/timeline-network-resource.html
        inspector/elements-panel-rewrite-href.html
        inspector/console-dir.html
        inspector/console-dirxml.html
        inspector/console-format.html
        inspector/console-tests.html
        inspector/elements-panel-structure.html
        inspector/evaluate-in-frontend.html
        inspector/console-clear.html

        * platform/qt/Skipped:
2010-02-15  Robert Hogan  <robert@roberthogan.net>, Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().

        Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.

        https://bugs.webkit.org/show_bug.cgi?id=33096

        This allows the following tests to pass:

        inspector/console-format-collections.html
        inspector/styles-iframe.html
        inspector/syntax-highlight-css.html
        inspector/syntax-highlight-javascript.html
        inspector/timeline-enum-stability.html
        inspector/timeline-layout.html
        inspector/timeline-mark-timeline.html
        inspector/timeline-paint.html
        inspector/timeline-parse-html.html
        inspector/timeline-recalculate-styles.html
        inspector/timeline-script-tag-1.html
        inspector/timeline-script-tag-2.html
        inspector/timeline-trivial.html
        inspector/cookie-resource-match.html
        inspector/elements-img-tooltip.html
        inspector/elements-panel-selection-on-refresh.html
        inspector/inspected-objects-not-overriden.html
        inspector/timeline-event-dispatch.html
        inspector/timeline-network-resource.html
        inspector/elements-panel-rewrite-href.html
        inspector/console-dir.html
        inspector/console-dirxml.html
        inspector/console-format.html
        inspector/console-tests.html
        inspector/elements-panel-structure.html
        inspector/evaluate-in-frontend.html
        inspector/console-clear.html

        * Api/qwebpage.cpp:
        (qt_drt_webinspector_executeScript):
        (qt_drt_webinspector_close):
        (qt_drt_webinspector_show):
        (qt_drt_setTimelineProfilingEnabled):

        * WebCoreSupport/InspectorClientQt.cpp:
        (InspectorClientQt::createPage)
2010-02-15  Robert Hogan  <robert@roberthogan.net>

        Reviewed by Simon Hausmann.

        [Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().

        Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.

        https://bugs.webkit.org/show_bug.cgi?id=33096

        This allows the following tests to pass:

        inspector/console-format-collections.html
        inspector/styles-iframe.html
        inspector/syntax-highlight-css.html
        inspector/syntax-highlight-javascript.html
        inspector/timeline-enum-stability.html
        inspector/timeline-layout.html
        inspector/timeline-mark-timeline.html
        inspector/timeline-paint.html
        inspector/timeline-parse-html.html
        inspector/timeline-recalculate-styles.html
        inspector/timeline-script-tag-1.html
        inspector/timeline-script-tag-2.html
        inspector/timeline-trivial.html
        inspector/cookie-resource-match.html
        inspector/elements-img-tooltip.html
        inspector/elements-panel-selection-on-refresh.html
        inspector/inspected-objects-not-overriden.html
        inspector/timeline-event-dispatch.html
        inspector/timeline-network-resource.html
        inspector/elements-panel-rewrite-href.html
        inspector/console-dir.html
        inspector/console-dirxml.html
        inspector/console-format.html
        inspector/console-tests.html
        inspector/elements-panel-structure.html
        inspector/evaluate-in-frontend.html
        inspector/console-clear.html

        * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
        (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
        (WebCore::isWebInspectorTest):
        (WebCore::DumpRenderTree::open):
        * DumpRenderTree/qt/DumpRenderTreeQt.h:
        (WebCore::DumpRenderTree::display):
        * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
        (LayoutTestController::closeWebInspector):
        (LayoutTestController::showWebInspector):
        (LayoutTestController::evaluateInWebInspector):
        (LayoutTestController::setTimelineProfilingEnabled):
        (LayoutTestController::display):
        * DumpRenderTree/qt/LayoutTestControllerQt.h:

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

11 years ago2010-02-15 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Mon, 15 Feb 2010 10:51:58 +0000 (10:51 +0000)]
2010-02-15  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: touch InspectorController in order to kick win bot tests
        with new injected script contents.

        * inspector/InspectorController.cpp:

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

11 years ago2010-02-14 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Mon, 15 Feb 2010 10:34:36 +0000 (10:34 +0000)]
2010-02-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: highlight actual search match in elements panel.

        https://bugs.webkit.org/show_bug.cgi?id=34251

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
        (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
        (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
        (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
        (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
        * inspector/front-end/InjectedScript.js:
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.findSearchMatches):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._paintLine):
        * inspector/front-end/textViewer.css:
        * inspector/front-end/utilities.js:

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

11 years ago2010-02-14 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Mon, 15 Feb 2010 10:20:48 +0000 (10:20 +0000)]
2010-02-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: XPathResult objects are not expanded in console.

        https://bugs.webkit.org/show_bug.cgi?id=34926

        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
        (WebInspector.ObjectPropertiesSection.CompareProperties):
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        * inspector/front-end/Section.js:
        (WebInspector.Section):
        * inspector/front-end/inspector.css:

        Tests:
        * inspector/console-dir-expected.txt:
        * inspector/console-dir.html:

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

11 years ago2010-02-15 Philippe Normand <pnormand@igalia.com>
philn@webkit.org [Mon, 15 Feb 2010 09:51:24 +0000 (09:51 +0000)]
2010-02-15  Philippe Normand  <pnormand@igalia.com>

        media/video-display-aspect-ratio.html fails
        https://bugs.webkit.org/show_bug.cgi?id=34933

        Skipped the new test that fails.

        * platform/mac-leopard/Skipped:
        * platform/mac-snowleopard/Skipped:
        * platform/win/Skipped:

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

11 years ago2010-02-12 Antti Koivisto <koivisto@iki.fi>
antti@apple.com [Mon, 15 Feb 2010 09:28:27 +0000 (09:28 +0000)]
2010-02-12  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.

        https://bugs.webkit.org/show_bug.cgi?id=34885
        Add a QGraphicsWebView mode that makes it automatically resize itself to the size of the content.

        This is useful for cases where the client wants to implement page panning and zooming by manipulating
        the graphics item.

        Add a option to QGVLauncher to test this mode.

        * Api/qgraphicswebview.cpp:
        (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate):
        (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
        (QGraphicsWebViewPrivate::_q_contentsSizeChanged):
        (QGraphicsWebView::setPage):
        (QGraphicsWebView::setResizesToContents):
        (QGraphicsWebView::resizesToContents):
        * Api/qgraphicswebview.h:
        * QGVLauncher/main.cpp:
        (WebView::WebView):
        (MainView::MainView):
        (MainView::setMainWidget):
        (MainView::resizeEvent):
        (main):

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

11 years ago2010-02-10 Philippe Normand <pnormand@igalia.com>
philn@webkit.org [Mon, 15 Feb 2010 08:48:04 +0000 (08:48 +0000)]
2010-02-10  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] wrong video aspect ratio
        https://bugs.webkit.org/show_bug.cgi?id=34790

        Fixed natural size calculation regarding pixel aspect ratio and
        display aspect ratio.

        Test: media/video-display-aspect-ratio.html

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::greatestCommonDivisor):
        (WebCore::MediaPlayerPrivate::naturalSize):

2010-02-12  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] wrong video aspect ratio
        https://bugs.webkit.org/show_bug.cgi?id=34790

        Test checking the size of a 4:3 video with a 16:9 pixel aspect
        ratio.

        * media/content/test-par-16-9.mp4: Added.
        * media/video-display-aspect-ratio-expected.txt: Added.
        * media/video-display-aspect-ratio.html: Added.

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

11 years ago2010-02-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
eric@webkit.org [Mon, 15 Feb 2010 06:31:33 +0000 (06:31 +0000)]
2010-02-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Adam Barth.

        Implement NEVER_INLINE and NO_RETURN for RVCT
        https://bugs.webkit.org/show_bug.cgi?id=34740

        * wtf/AlwaysInline.h:

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

11 years ago2010-02-14 Adam Barth <abarth@webkit.org>
eric@webkit.org [Mon, 15 Feb 2010 06:05:27 +0000 (06:05 +0000)]
2010-02-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
        https://bugs.webkit.org/show_bug.cgi?id=33277

        Add a test that _top is covered by @sandbox.

        * http/tests/security/resources/fail.html: Added.
        * http/tests/security/resources/sandboxed-iframe-form-top.html: Added.
        * http/tests/security/sandboxed-iframe-form-top-expected.txt: Added.
        * http/tests/security/sandboxed-iframe-form-top.html: Added.
2010-02-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
        https://bugs.webkit.org/show_bug.cgi?id=33277

        submitForm wasn't respecting shouldAllowNavigation.  Instead of calling
        the wrapper function, we need to call shouldAllowNavigation because we
        need to handle the "frame not found" case differently than the
        "navigation denied" case.

        Test: http/tests/security/sandboxed-iframe-form-top.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm):

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

11 years ago2010-02-14 Vangelis Kokkevis <vangelis@chromium.org>
eric@webkit.org [Mon, 15 Feb 2010 05:47:47 +0000 (05:47 +0000)]
2010-02-14  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Add support for the showDebugBorders setting to Chromium.

        https://bugs.webkit.org/show_bug.cgi?id=34906

        * public/WebSettings.h: Add declaration for setShowDebugBorders
        * src/WebSettingsImpl.cpp:
        (WebKit::WebSettingsImpl::setShowDebugBorders): Add method implementation
        * src/WebSettingsImpl.h: Added declaration for setShowDebugBorders

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

11 years ago2010-02-14 Diego Escalante Urrelo <descalante@igalia.com>
eric@webkit.org [Mon, 15 Feb 2010 05:31:25 +0000 (05:31 +0000)]
2010-02-14  Diego Escalante Urrelo  <descalante@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [gtk] WebKitDownload's currentSize property is guint, should be guint64
        https://bugs.webkit.org/show_bug.cgi?id=34829

        Actually use a guint64 for current-size property in WebKitDownload, we
        were using a guint which is likely the cause for wrong sizes for files
        over 4 Gb.

        * webkit/webkitdownload.cpp:

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

11 years ago2010-02-14 Shu Chang <Chang.Shu@nokia.com>
eric@webkit.org [Mon, 15 Feb 2010 05:14:51 +0000 (05:14 +0000)]
2010-02-14  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by Adam Barth.

        [Qt] The original test case failed on Qt because its real output
        "A B C DE F" did not match the expected "A B C D E F". The input
        field between D and E failed to generate the space in the dumped
        text as it normally would if it was broken into a new line.
        This DRT issue can be addressed in a seperate bug if necessary
        but shrinking the size of font so as to fit all fields into one
        line is an immediate fix to pass the test case.
        https://bugs.webkit.org/show_bug.cgi?id=33093

        * fast/html/text-field-input-types.html:
        * platform/qt/Skipped:

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

11 years ago2010-02-14 Dirk Pranke <dpranke@chromium.org>
eric@webkit.org [Mon, 15 Feb 2010 04:58:26 +0000 (04:58 +0000)]
2010-02-14  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Eric Seidel.

        Update rebaseline-chromium-webkit-tests to work with the new code
        structure (port objects instead of path_utils and platform_utils).

        Added a path_to_test_expectations_file() to the Port interface.

        Fixed a bug in the chromium_* platform implementations where the
        'target' option was assumed to be set.

        * Scripts/rebaseline-chromium-webkit-tests:
        * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
        * Scripts/webkitpy/layout_tests/port/base.py:
        * Scripts/webkitpy/layout_tests/port/chromium.py:
        * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
        * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
        * Scripts/webkitpy/layout_tests/port/chromium_win.py:
        * Scripts/webkitpy/layout_tests/port/test.py:
        * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:

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

11 years ago2010-02-14 Eric Seidel <eric@webkit.org>
eric@webkit.org [Mon, 15 Feb 2010 04:42:02 +0000 (04:42 +0000)]
2010-02-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        webkit-build-directory misuses terms
        https://bugs.webkit.org/show_bug.cgi?id=34822

        * Scripts/webkit-build-directory:
         - Add --top-level and --configuration options and make using one of them required.
        * Scripts/webkitpy/layout_tests/port/mac.py:
         - Use --top-level instead of --base.

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

11 years ago2010-02-14 Kent Tamura <tkent@chromium.org>
tkent@chromium.org [Mon, 15 Feb 2010 04:08:52 +0000 (04:08 +0000)]
2010-02-14  Kent Tamura  <tkent@chromium.org>

        No review. Touch RenderRuny*.cpp to fix Chromium/Windows build bot.

        * rendering/RenderRuby.cpp: Add a comment for #endf.
        * rendering/RenderRubyBase.cpp: Add a comment for #endf.
        * rendering/RenderRubyRun.cpp: Add a comment for #endf.
        * rendering/RenderRubyText.cpp: Add a comment for #endf.

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

11 years ago2010-02-14 Chang Shu <Chang.Shu@nokia.com>
laszlo.1.gombos@nokia.com [Sun, 14 Feb 2010 16:22:23 +0000 (16:22 +0000)]
2010-02-14  Chang Shu  <Chang.Shu@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Enable appcache feature.
        https://bugs.webkit.org/show_bug.cgi?id=34713

        Re-land r54543 without the change in DumpRenderTree/qt/main.cpp.
        Persistent storage for AppCache is already initialized in
        DumpRenderTreeQt.cpp.

        * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
        (WebCore::WebPage::WebPage):

2010-02-14  Chang Shu  <Chang.Shu@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Enable http/tests/appcache but skip the failed cases.
        https://bugs.webkit.org/show_bug.cgi?id=34713

        * platform/qt/Skipped:

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

11 years ago2010-02-13 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Sun, 14 Feb 2010 09:17:12 +0000 (09:17 +0000)]
2010-02-13  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: cache created row, span and text elements
        in TextView to improve scroller performance on debug build.

        https://bugs.webkit.org/show_bug.cgi?id=34921

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.set visible):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer):
        (WebInspector.TextViewer.prototype.freeCachedElements):
        (WebInspector.TextViewer.prototype._buildChunks):
        (WebInspector.TextViewer.prototype._makeLineAChunk):
        (WebInspector.TextViewer.prototype._paintLine):
        (WebInspector.TextViewer.prototype._releaseLines):
        (WebInspector.TextViewer.prototype._appendSpan):
        (WebInspector.TextViewer.prototype._appendTextNode):
        (WebInspector.TextChunk):
        (WebInspector.TextChunk.prototype.set expanded):
        (WebInspector.TextChunk.prototype._lineNumberText):
        (WebInspector.TextChunk.prototype._createRow):

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

11 years agoBuild fix for Windows, initialize success to false.
bweinstein@apple.com [Sat, 13 Feb 2010 21:06:22 +0000 (21:06 +0000)]
Build fix for Windows, initialize success to false.

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

11 years ago2010-02-13 Kent Tamura <tkent@chromium.org>
tkent@chromium.org [Sat, 13 Feb 2010 19:52:37 +0000 (19:52 +0000)]
2010-02-13  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Refactor parsing/serialization functions in HTMLInputElement.
        https://bugs.webkit.org/show_bug.cgi?id=34852

        - Rename formStringToDouble() to parseToDoubleForNumberType()
        - Rename formStringToDateComponents() to parseToDateComponents()
        - Rename formStringFromDouble() to serializeForNumberType()
        - Add serializeForDateTimeTypes()
          The code is moved from setValueAsDate() and setDateValue().
        - Add serialize()

        parseToDouble() is the top-level function to parse a
        type-dependent string and return a double
        value. parseToDoubleForNumber() and parseToDateComponents()
        functions are helper functions for it. serialize() is the
        top-level function to serialize a double value to a type-dependent
        string, and serializeForNumberType() and
        serializeForDateTimeTypes() are helper functions for it.

        No tests because of no functional changes.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::stepMismatch):
        (WebCore::HTMLInputElement::getAllowedValueStep):
        (WebCore::HTMLInputElement::parseToDouble):
        (WebCore::HTMLInputElement::valueAsDate):
        (WebCore::HTMLInputElement::setValueAsDate):
        (WebCore::HTMLInputElement::setValueAsNumber):
        (WebCore::HTMLInputElement::serializeForDateTimeTypes):
        (WebCore::HTMLInputElement::serialize):
        (WebCore::HTMLInputElement::serializeForNumberType):
        (WebCore::HTMLInputElement::parseToDoubleForNumberType):
        (WebCore::HTMLInputElement::parseToDateComponents):
        * html/HTMLInputElement.h:
        * html/ValidityState.cpp:
        (WebCore::ValidityState::typeMismatch):
        * rendering/RenderSlider.cpp:
        (WebCore::SliderRange::valueFromElement):
        (WebCore::RenderSlider::updateFromElement):
        (WebCore::RenderSlider::setValueForPosition):

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

11 years ago[Qt] Skip new test that fails. See https://webkit.org/b/34918.
ossy@webkit.org [Sat, 13 Feb 2010 15:39:25 +0000 (15:39 +0000)]
[Qt] Skip new test that fails. See https://webkit.org/b/34918.

* platform/qt/Skipped: fast/text/glyph-reordering.html skipped.

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

11 years ago2010-02-13 Gustavo Noronha Silva <gns@gnome.org>
kov@webkit.org [Sat, 13 Feb 2010 14:04:50 +0000 (14:04 +0000)]
2010-02-13  Gustavo Noronha Silva  <gns@gnome.org>

        Skip new test that fails. See https://webkit.org/b/34918.

        * platform/gtk/Skipped:

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

11 years agogit-svn-id: https://svn.webkit.org/repository/webkit/trunk@54751 268f45cc-cd09-0410...
chang.shu@nokia.com [Sat, 13 Feb 2010 07:53:49 +0000 (07:53 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@54751 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2010-02-12 Ojan Vafai <ojan@chromium.org>
ojan@chromium.org [Sat, 13 Feb 2010 05:14:08 +0000 (05:14 +0000)]
2010-02-12  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dan Bernstein.

        text-control-intrinsic-widths.html failing on tiger bot
        https://bugs.webkit.org/show_bug.cgi?id=34917

        Final cleanup for http://trac.webkit.org/changeset/54748.
        Some MS fonts don't come with a default install of Tiger, but do
        come with a default Leopard/SnowLeopard install. As a result we naturally
        get different metrics a page uses these fonts.

        * platform/mac-tiger/fast/forms/text-control-intrinsic-widths-expected.txt: Added.

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

11 years ago2010-02-12 Ojan Vafai <ojan@chromium.org>
ojan@chromium.org [Sat, 13 Feb 2010 04:43:10 +0000 (04:43 +0000)]
2010-02-12  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Maciej Stachowiak.

        Four textcontrol tests fail after http://trac.webkit.org/changeset/54748
        https://bugs.webkit.org/show_bug.cgi?id=34916

        -Put the baseline for text-control-intrinsic-widths in the right place!
        -I missed perspective-non-layer.html because we don't run it on Leopard.
        -Accidentally deleted drag-text-delay-expected.txt and text-control-intrinsic-widths-expected.txt
        instead of updating their results.

        * platform/mac-leopard/fast/forms/text-control-intrinsic-widths-expected.txt: Removed.
        * platform/mac/fast/forms/text-control-intrinsic-widths-expected.txt:
        * platform/mac/transforms/3d/general/perspective-non-layer-expected.txt:
        * platform/win/editing/selection/drag-text-delay-expected.txt: Added.
        * platform/win/fast/forms/text-control-intrinsic-widths-expected.txt: Added.

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

11 years ago2010-01-05 Ojan Vafai <ojan@chromium.org>
ojan@chromium.org [Sat, 13 Feb 2010 03:20:20 +0000 (03:20 +0000)]
2010-01-05  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        Improve text control instrinsic widths.
        https://bugs.webkit.org/show_bug.cgi?id=25566
        https://bugs.webkit.org/show_bug.cgi?id=25581
        https://bugs.webkit.org/show_bug.cgi?id=25958

        Excluding list of updated results as the list is so long.
2010-01-05  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dan Bernstein.

        Improve text control intrinsic widths.
        https://bugs.webkit.org/show_bug.cgi?id=25566
        https://bugs.webkit.org/show_bug.cgi?id=25581
        https://bugs.webkit.org/show_bug.cgi?id=25958

        For Mac fonts that have invalid avgCharWidth entries in the OS/2 table,
        fallback to the Safari 4- behavior of using the width of a zero. For other
        fonts, make Mac match Windows (and thus IE) metrics.

        Lucida Grande is hard-coded to match MS Shell Dlg for inputs and
        Courier New for textareas in order to match Safari Win, Firefox and, in
        some cases IE (IE uses different default fonts depending on encoding).

        The only case where we still don't match Windows is if no font-size is
        set. The default font-size for form controls on the Mac is smaller and
        thus text-control widths will be slightly smaller.

        No new tests. Covered by existing tests.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformCharWidthInit):
        * rendering/RenderTextControl.cpp:
        (WebCore::):
        (WebCore::RenderTextControl::hasValidAvgCharWidth):
        (WebCore::RenderTextControl::getAvgCharWidth):
        (WebCore::RenderTextControl::calcPrefWidths):
        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::scaleEmToUnits):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::getAvgCharWidth):
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::getAvgCharWidth):
        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
        * rendering/RenderTextControlSingleLine.h:

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

11 years agohttps://bugs.webkit.org/show_bug.cgi?id=33731
barraclough@apple.com [Sat, 13 Feb 2010 03:09:11 +0000 (03:09 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from JIT data stuctures.

Reviewed by Oliver Hunt.

These break the OS X Leaks tool.  Free up a bit in CallLinkInfo, and invalid
permutation of pointer states in MethodCallLinkInfo to represent the removed bits.

* bytecode/CodeBlock.h:
(JSC::CallLinkInfo::seenOnce):
(JSC::CallLinkInfo::setSeen):
(JSC::MethodCallLinkInfo::MethodCallLinkInfo):
(JSC::MethodCallLinkInfo::seenOnce):
(JSC::MethodCallLinkInfo::setSeen):
* jit/JIT.cpp:
(JSC::JIT::unlinkCall):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::patchMethodCallProto):
* runtime/UString.h:

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

11 years ago2010-02-11 Ariya Hidayat <ariya.hidayat@gmail.com>
ariya@webkit.org [Sat, 13 Feb 2010 03:01:18 +0000 (03:01 +0000)]
2010-02-11  Ariya Hidayat  <ariya.hidayat@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Unnecessary QBrush construction for doing a solid color stroke
        https://bugs.webkit.org/show_bug.cgi?id=34874

        Use the similar trick like in r54347, i.e. use the special brush for
        solid color to avoid expensive QBrush constructor.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::setPlatformStrokeColor):

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

11 years agoIgnore compiled Python in more of webkitpy.
darin@apple.com [Sat, 13 Feb 2010 01:46:37 +0000 (01:46 +0000)]
Ignore compiled Python in more of webkitpy.

* Scripts/webkitpy/style/processors: Added property svn:ignore.

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

11 years agohttps://bugs.webkit.org/show_bug.cgi?id=33731
barraclough@apple.com [Fri, 12 Feb 2010 23:57:35 +0000 (23:57 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=33731
Many false leaks in release builds due to PtrAndFlags

Reviewed by Darin Adler.

Remove UntypedPtrAndBitfield (similar to PtrAndFlags) in UStringImpl,
and steal bits from the refCount instead.

* runtime/UStringImpl.cpp:
(JSC::UStringImpl::baseSharedBuffer):
(JSC::UStringImpl::~UStringImpl):
* runtime/UStringImpl.h:
(JSC::UStringImpl::cost):
(JSC::UStringImpl::isIdentifier):
(JSC::UStringImpl::setIsIdentifier):
(JSC::UStringImpl::ref):
(JSC::UStringImpl::deref):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::bufferOwnership):
(JSC::UStringImpl::isStatic):
(JSC::UStringImpl::):

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

11 years ago2010-02-11 Darin Fisher <darin@chromium.org>
darin@chromium.org [Fri, 12 Feb 2010 23:29:39 +0000 (23:29 +0000)]
2010-02-11  Darin Fisher  <darin@chromium.org>

        Reviewed by Jeremy Orlow.

        Introduce WebCookieJar, and provide for a frame specific cookie jar.

        https://bugs.webkit.org/show_bug.cgi?id=34878

        * WebKit.gyp:
        * public/WebCookieJar.h: Added.
        * public/WebFrameClient.h:
        (WebKit::WebFrameClient::cookieJar):
        * public/WebKitClient.h:
        (WebKit::WebKitClient::cookieJar):
        (WebKit::WebKitClient::setCookies):
        (WebKit::WebKitClient::cookies):
        (WebKit::WebKitClient::rawCookies):
        (WebKit::WebKitClient::deleteCookie):
        (WebKit::WebKitClient::cookiesEnabled):
        * src/ChromiumBridge.cpp:
        (WebCore::getCookieJar):
        (WebCore::ChromiumBridge::setCookies):
        (WebCore::ChromiumBridge::cookies):
        (WebCore::ChromiumBridge::rawCookies):
        (WebCore::ChromiumBridge::deleteCookie):
        (WebCore::ChromiumBridge::cookiesEnabled):

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

11 years ago2010-02-12 Eric Seidel <eric@webkit.org>
eric@webkit.org [Fri, 12 Feb 2010 23:21:25 +0000 (23:21 +0000)]
2010-02-12  Eric Seidel  <eric@webkit.org>

        No review, rolling out r54694.
        http://trac.webkit.org/changeset/54694
        https://bugs.webkit.org/show_bug.cgi?id=34633

        This appears to have caused crashes on the Leopard bot.  See
        bug 34898.

        * websocket/tests/bufferedAmount-after-close-expected.txt: Removed.
        * websocket/tests/bufferedAmount-after-close.html: Removed.
        * websocket/tests/script-tests/bufferedAmount-after-close.js: Removed.
2010-02-12  Eric Seidel  <eric@webkit.org>

        No review, rolling out r54694.
        http://trac.webkit.org/changeset/54694
        https://bugs.webkit.org/show_bug.cgi?id=34633

        This appears to have caused crashes on the Leopard bot.  See
        bug 34898.

        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::WebSocket):
        (WebCore::WebSocket::send):
        (WebCore::WebSocket::close):
        (WebCore::WebSocket::bufferedAmount):
        (WebCore::WebSocket::didConnect):
        (WebCore::WebSocket::didClose):
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::send):
        (WebCore::WebSocketChannel::bufferedAmount):
        (WebCore::WebSocketChannel::didClose):
        * websockets/WebSocketChannel.h:
        * websockets/WebSocketChannelClient.h:
        (WebCore::WebSocketChannelClient::didClose):
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::workerContextDidClose):
        (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
        * websockets/WorkerThreadableWebSocketChannel.h:

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

11 years agoWorkers' EventListeners should be removed before JSGlobalData is destroyed
barraclough@apple.com [Fri, 12 Feb 2010 22:42:28 +0000 (22:42 +0000)]
Workers' EventListeners should be removed before JSGlobalData is destroyed
https://bugs.webkit.org/show_bug.cgi?id=34903

Reviewed by Sam Weinig.

(Patch co-developed with Alexey Proskuryakov).

Since http://trac.webkit.org/changeset/54460 the EventListeners registered by a
worker thread are not removed until after the thread's JSGlobalData has been
destroyed.  This is slightly worrisome since the JSEventListener contains
JSObject*s, which will be dangling once the heap is destroyed.  The
JSEventListeners may also reference the worker thread's normal world, which
again it makes no sense to keep around after the JSGlobalData is freed.

Remove all event listeners immediately prior to tearing down the JSGlobalData.

https://bugs.webkit.org/show_bug.cgi?id=34728 addressed the symptoms of this
problem, and it is probably cleaner to make the client data's normal world no
longer be a member (since it is a ref-counted object), however they should be
no requirement to 'detatch' – it makes no sense for anyone to be referencing
the world after the JSGlobalData has gone away (the world's purpose is to hold
wrapper objects in the JSGlobalData's heap).  Keep the restructuring that makes
the normal world no longer be a member, but remove the detach mechanism this
patch added & replace with stronger ASSERTs.

* bindings/js/JSDOMBinding.cpp:
(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
* bindings/js/JSDOMBinding.h:
(WebCore::WebCoreJSClientData::~WebCoreJSClientData):
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadShutdownStartTask::performTask):

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

11 years ago2010-02-12 Pavel Feldman <pfeldman@chromium.org>
eric@webkit.org [Fri, 12 Feb 2010 22:27:48 +0000 (22:27 +0000)]
2010-02-12  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by David Levin.

        Chromium: provide theme overrides for Chromium devtools on Mac.

        https://bugs.webkit.org/show_bug.cgi?id=34856

        * src/js/devTools.css:

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

11 years agohttps://bugs.webkit.org/show_bug.cgi?id=33731
barraclough@apple.com [Fri, 12 Feb 2010 22:22:09 +0000 (22:22 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from WebCore::StringImpl.

Reviewed by Sam Weinig.

These break the OS X Leaks tool.  Use a bits stolen from the refCount to hold the
'InTable' and 'HasTerminatingNullCharacter' flags, along with the string type
(fixes a leak where the string data is allocated at the address (this + 1), and is
misinterpreted as being an internal buffer).

* WebCore.base.exp:
* platform/text/StringImpl.cpp:
(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::createWithTerminatingNullCharacter):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):
* platform/text/StringImpl.h:
(WebCore::StringImpl::):
(WebCore::StringImpl::hasTerminatingNullCharacter):
(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):
(WebCore::StringImpl::ref):
(WebCore::StringImpl::deref):
(WebCore::StringImpl::hasOneRef):
(WebCore::StringImpl::operator new):
(WebCore::StringImpl::bufferOwnership):
* storage/OriginUsageRecord.cpp:
(WebCore::OriginUsageRecord::addDatabase):
(WebCore::OriginUsageRecord::markDatabase):

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

11 years ago2010-02-12 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Fri, 12 Feb 2010 22:18:46 +0000 (22:18 +0000)]
2010-02-12  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Repaint bug on Text selection in foreignObject
        https://bugs.webkit.org/show_bug.cgi?id=16939

        Tests: svg/overflow/overflow-on-foreignObject.svg
               svg/text/foreignObject-text-clipping-bug.xml

        Selecting text contained in <foreignObject> leads to artefacts. Same for zooming/panning.
        RenderForeignObject contained old legacy code returning FloatRect() for repaintRectInLocalCoordinates,
        which is obviously wrong. Fixing that leads to even more problems, as the underlying RenderBlock
        did not reflect the x/y translation set on the <foreignObject>. This is problematic, as laying out
        positioned objects in the XHTML subtree depends on proper size/location values of the frameRect.

        Correctly clip on overflow="hidden". overflow="scroll" & friends are not yet supported, see lengthy
        comment in RenderSVGBlock why we either need RenderLayer for RenderForeignObject or need to rework
        overflow handling to avoid RenderLayer.

        SVGForeignObjectElement uses a hacky custom solution to synchronize CSS width/height properties with
        the SVG width/height attributes. Remove all of that code and just implement calcWidth/calcHeight in
        RenderForeignObject, grabbing the right values from SVGForeignObjectElement::width/height upon layout.

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::paint): Clip properly to the actual bounds of the foreignObject, respecting that x/y translation is handled by RenderBlock now.
        (WebCore::RenderForeignObject::clippedOverflowRectForRepaint): Added missing function, forward to SVGRenderBase just like all other SVG renderers.
        (WebCore::RenderForeignObject::computeRectForRepaint): Remove manual implementation, forward to SVGRenderBase.
        (WebCore::RenderForeignObject::localToParentTransform): Respect x/y translation here _after_ applying localTransform().
        (WebCore::RenderForeignObject::calcWidth): Override RenderBlock::calcWidth to grab width() from SVGForeignObjectElement.
        (WebCore::RenderForeignObject::calcHeight): Override RenderBlock::calcHeight to grab height() from SVGForeignObjectElement.
        (WebCore::RenderForeignObject::layout): Calculate viewport once and cache it. Push x/y location down to RenderBlock - analogous to RenderSVGText.
        (WebCore::RenderForeignObject::nodeAtFloatPoint): Adapt to x/y translation changes (map through localTransform, not localToParentTransform). Respect overflow clipping.
        (WebCore::RenderForeignObject::mapLocalToContainer): Set useTransforms=true, to avoid assertions when selecting text in foreign objects.
        * rendering/RenderForeignObject.h:
        (WebCore::RenderForeignObject::objectBoundingBox): Return cached m_viewport.
        (WebCore::RenderForeignObject::strokeBoundingBox): Ditto.
        (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): Ditto.
        * rendering/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::setStyle): Cleanup code, move setHasOverflowClip() overrides in updateBoxModelInfoFromStyle where it belongs.
        (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle): Added to force setting setHasOverflowClip(false).
        * rendering/RenderSVGBlock.h:
        * svg/SVGForeignObjectElement.cpp: Kill a lot of custom code - it was just plain wrong to utilize CSS to push width/height information down to RenderBlock.
        (WebCore::SVGForeignObjectElement::svgAttributeChanged):

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

11 years agoonmouseout fired when moving over tooltip on Windows
bweinstein@apple.com [Fri, 12 Feb 2010 21:30:38 +0000 (21:30 +0000)]
onmouseout fired when moving over tooltip on Windows
https://bugs.webkit.org/show_bug.cgi?id=16794
<rdar://5762038>.

Reviewed by Adam Roben.

Add WS_EX_TRANSPARENT to out tooltip HWND so it isn't subject to hit testing, and when
you mouse over the tooltip, it doesn't send a mouseout to the web content.

* WebView.cpp:
(WebView::initializeToolTipWindow): Add WS_EX_TRANSPARENT.

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