WebKit-https.git
8 years ago2011-04-13 Xiaomei Ji <xji@chromium.org>
xji@chromium.org [Fri, 15 Apr 2011 18:31:27 +0000 (18:31 +0000)]
2011-04-13  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Ryosuke Niwa.

        Continue (3rd) experiment with moving caret by word in visual order.
        https://bugs.webkit.org/show_bug.cgi?id=58294

        * editing/selection/move-by-word-visually-expected.txt:
        * editing/selection/move-by-word-visually.html:
2011-04-13  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Ryosuke Niwa.

        Continue (3rd) experiment with moving caret by word in visual order.
        https://bugs.webkit.org/show_bug.cgi?id=58294

        This patch along with r82588 and r83483 implements moving caret by
        word in visual order.

        The overall algorithm is:
        1. First get the InlineBox and offset of the pass-in VisiblePosition.
        2. Based on the position (left boundary, middle, right boundary) of the offset and the
           direction of the movement, look for visually adjacent word breaks.
        2.1 If the offset is the minimum offset of the box,
            return the rightmost word boundary in previous boxes if moving left.
            return the leftmost word boundary in box and next boxes if moving right.
        2.2 Similar for the case when offset is at the maximum offset of the box.
        2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition
            or nextWordPosition based on the directionality of the box. If this word break position
            is also inside the same box, return it. Otherwise (the nextWordPosition or
            previousWordPosition is not in the same box or is at the box boundary), collect all the
            word breaks in the box and search for the one closest to the input "offset" based on
            box directionality, block directionality, and movement direction. Continue search in
            adjacent boxes if needed.

        Notes:
        1. Word boundaries are collected one box at a time. Only when a boundary that is closest to
           the input position (in the moving direction) is not available in current box, word
           boundaries in adjacent box will be collected. So, there is no need to save InlineBox in
           word boundaries. Instead, the word boundaries are saved as a pair
           (VisiblePosition, offset) to avoid recomputing VisiblePosition.

        2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
           and right boundary of a word in RTL block). And word boundaries are collected using
           previousWordPosition() and nextWordPosition(). So when box directionality is the same as
           block directionality, word boundaries are collected from right to left visually in a LTR
           box, and word boundaries are collected from left to right visually in a RTL box. It is
           the other way around when box directionality is different from block directionality.

        3. To find the right kinds of word boundaries, we must move back and forth between words
           in some situations. For example, if we're moving to the right in a LTR box in LTR block,
           we cannot simply return nextWordPosition() because it would return the right boundary
           of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().

        4. When collecting word breaks inside a box, it first computes a start position, then
           collect the right kind of word breaks until it reaches the end of (or beyond) the box.
           In the meanwhile, it might need special handling on the rightmost or leftmost position
           based on the directionality of the box and block. These computations do not consider the
           box's bidi level.

        * editing/visible_units.cpp:
        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
        (WebCore::collectWordBreaksInBox):
        (WebCore::previousWordBoundaryInBox):
        (WebCore::nextWordBoundaryInBox):
        (WebCore::visuallyLastWordBoundaryInBox):
        (WebCore::leftWordBoundary):
        (WebCore::rightWordBoundary):
        (WebCore::leftWordPosition):
        (WebCore::rightWordPosition):

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

8 years ago2011-04-14 Jer Noble <jer.noble@apple.com>
jer.noble@apple.com [Fri, 15 Apr 2011 18:07:01 +0000 (18:07 +0000)]
2011-04-14  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        REGRESSION: Rendering in <video> element appears to render quickly to catch up if it has been playing in a background tab
        https://bugs.webkit.org/show_bug.cgi?id=58637

        Notify AVFoundation that no one will be rendering when the view or window moves off screen.

        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isViewVisible): Return false if the view's window is not visible.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView addWindowObserversForWindow:]): Observe orderOut and orderIn events.
        (-[WKView removeWindowObservers]): Ditto.
        (-[WKView _windowDidOrderOffScreen:]): Added.
        (-[WKView _windowDidOrderOnScreen:]): Added.
        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::suspendPainting): Call LayerTreeHost::pauseRendering.
        (WebKit::DrawingAreaImpl::resumePainting): Call LayerTreeHost::resumeRendering.
        * WebProcess/WebPage/LayerTreeHost.h:
        (WebKit::LayerTreeHost::pauseRendering): Added stub.
        (WebKit::LayerTreeHost::resumeRendering): Added stub.
        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
        (WebKit::LayerTreeHostCAMac::pauseRendering): Added. Post a notification with our
            intention to stop rendering.
        (WebKit::LayerTreeHostCAMac::resumeRendering): Added. Post a notification with our
            intention to start rendering.

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

8 years ago2011-04-15 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Fri, 15 Apr 2011 18:05:32 +0000 (18:05 +0000)]
2011-04-15  Simon Fraser  <simon.fraser@apple.com>

        Rebaseline Mac pixel results in fast/ on SnowLeopard.

        * platform/mac/fast/backgrounds/animated-svg-as-background-expected.checksum:
        * platform/mac/fast/backgrounds/animated-svg-as-background-expected.png:
        * platform/mac/fast/backgrounds/animated-svg-as-mask-expected.checksum:
        * platform/mac/fast/backgrounds/animated-svg-as-mask-expected.png:
        * platform/mac/fast/backgrounds/size/backgroundSize17-expected.checksum:
        * platform/mac/fast/backgrounds/size/backgroundSize17-expected.png:
        * platform/mac/fast/backgrounds/size/backgroundSize20-expected.checksum:
        * platform/mac/fast/backgrounds/size/backgroundSize20-expected.png:
        * platform/mac/fast/block/basic/011-expected.checksum:
        * platform/mac/fast/block/basic/011-expected.png:
        * platform/mac/fast/block/float/float-avoidance-expected.checksum:
        * platform/mac/fast/block/float/float-avoidance-expected.png:
        * platform/mac/fast/block/margin-collapse/103-expected.checksum:
        * platform/mac/fast/block/margin-collapse/103-expected.png:
        * platform/mac/fast/block/positioning/auto/005-expected.checksum:
        * platform/mac/fast/block/positioning/auto/005-expected.png:
        * platform/mac/fast/block/positioning/auto/006-expected.checksum:
        * platform/mac/fast/block/positioning/auto/006-expected.png:
        * platform/mac/fast/block/positioning/auto/vertical-lr/005-expected.checksum:
        * platform/mac/fast/block/positioning/auto/vertical-lr/005-expected.png:
        * platform/mac/fast/block/positioning/auto/vertical-lr/006-expected.checksum:
        * platform/mac/fast/block/positioning/auto/vertical-lr/006-expected.png:
        * platform/mac/fast/block/positioning/auto/vertical-rl/005-expected.checksum:
        * platform/mac/fast/block/positioning/auto/vertical-rl/005-expected.png:
        * platform/mac/fast/block/positioning/auto/vertical-rl/006-expected.checksum:
        * platform/mac/fast/block/positioning/auto/vertical-rl/006-expected.png:
        * platform/mac/fast/borders/border-radius-circle-expected.checksum:
        * platform/mac/fast/borders/border-radius-circle-expected.png:
        * platform/mac/fast/borders/border-radius-huge-assert-expected.checksum:
        * platform/mac/fast/borders/border-radius-huge-assert-expected.png:
        * platform/mac/fast/borders/svg-as-border-image-2-expected.checksum:
        * platform/mac/fast/borders/svg-as-border-image-2-expected.png:
        * platform/mac/fast/box-shadow/border-radius-big-expected.checksum:
        * platform/mac/fast/box-shadow/border-radius-big-expected.png:
        * platform/mac/fast/box-shadow/box-shadow-transformed-expected.checksum:
        * platform/mac/fast/box-shadow/box-shadow-transformed-expected.png:
        * platform/mac/fast/box-shadow/inset-with-extraordinary-radii-and-border-expected.checksum:
        * platform/mac/fast/box-shadow/inset-with-extraordinary-radii-and-border-expected.png:
        * platform/mac/fast/box-shadow/spread-expected.checksum:
        * platform/mac/fast/box-shadow/spread-expected.png:
        * platform/mac/fast/box-shadow/spread-multiple-inset-expected.checksum:
        * platform/mac/fast/box-shadow/spread-multiple-inset-expected.png:
        * platform/mac/fast/box-shadow/spread-multiple-normal-expected.checksum:
        * platform/mac/fast/box-shadow/spread-multiple-normal-expected.png:
        * platform/mac/fast/canvas/canvas-incremental-repaint-expected.checksum:
        * platform/mac/fast/canvas/canvas-incremental-repaint-expected.png:
        * platform/mac/fast/canvas/canvasDrawingIntoSelf-expected.checksum:
        * platform/mac/fast/canvas/canvasDrawingIntoSelf-expected.png:
        * platform/mac/fast/canvas/drawImage-expected.checksum:
        * platform/mac/fast/canvas/drawImage-expected.png:
        * platform/mac/fast/canvas/webgl/css-webkit-canvas-expected.checksum:
        * platform/mac/fast/canvas/webgl/css-webkit-canvas-expected.png:
        * platform/mac/fast/canvas/webgl/css-webkit-canvas-repaint-expected.checksum:
        * platform/mac/fast/canvas/webgl/css-webkit-canvas-repaint-expected.png:
        * platform/mac/fast/css/font-face-default-font-expected.checksum:
        * platform/mac/fast/css/font-face-default-font-expected.png:
        * platform/mac/fast/css/font_property_normal-expected.checksum:
        * platform/mac/fast/css/font_property_normal-expected.png:
        * platform/mac/fast/css/line-height-font-order-expected.checksum:
        * platform/mac/fast/css/line-height-font-order-expected.png:
        * platform/mac/fast/forms/001-expected.checksum:
        * platform/mac/fast/forms/001-expected.png:
        * platform/mac/fast/forms/basic-inputs-expected.checksum:
        * platform/mac/fast/forms/basic-inputs-expected.png:
        * platform/mac/fast/forms/box-shadow-override-expected.checksum:
        * platform/mac/fast/forms/box-shadow-override-expected.png:
        * platform/mac/fast/forms/checkbox-radio-onchange-expected.checksum:
        * platform/mac/fast/forms/checkbox-radio-onchange-expected.png:
        * platform/mac/fast/forms/file-input-disabled-expected.checksum:
        * platform/mac/fast/forms/file-input-disabled-expected.png:
        * platform/mac/fast/forms/form-element-geometry-expected.checksum:
        * platform/mac/fast/forms/form-element-geometry-expected.png:
        * platform/mac/fast/forms/formmove-expected.checksum:
        * platform/mac/fast/forms/formmove-expected.png:
        * platform/mac/fast/forms/formmove2-expected.checksum:
        * platform/mac/fast/forms/formmove2-expected.png:
        * platform/mac/fast/forms/indeterminate-expected.checksum:
        * platform/mac/fast/forms/indeterminate-expected.png:
        * platform/mac/fast/forms/input-appearance-height-expected.checksum:
        * platform/mac/fast/forms/input-appearance-height-expected.png:
        * platform/mac/fast/forms/input-value-expected.checksum:
        * platform/mac/fast/forms/input-value-expected.png:
        * platform/mac/fast/forms/minWidthPercent-expected.checksum:
        * platform/mac/fast/forms/minWidthPercent-expected.png:
        * platform/mac/fast/forms/radio-attr-order-expected.checksum:
        * platform/mac/fast/forms/radio-attr-order-expected.png:
        * platform/mac/fast/forms/radio-nested-labels-expected.checksum:
        * platform/mac/fast/forms/radio-nested-labels-expected.png:
        * platform/mac/fast/forms/radio_checked-expected.checksum:
        * platform/mac/fast/forms/radio_checked-expected.png:
        * platform/mac/fast/forms/radio_checked_dynamic-expected.checksum:
        * platform/mac/fast/forms/radio_checked_dynamic-expected.png:
        * platform/mac/fast/images/animated-svg-as-image-expected.checksum:
        * platform/mac/fast/images/animated-svg-as-image-expected.png:
        * platform/mac/fast/images/imagemap-case-expected.checksum:
        * platform/mac/fast/images/imagemap-case-expected.png:
        * platform/mac/fast/images/imagemap-circle-focus-ring-expected.checksum:
        * platform/mac/fast/images/imagemap-circle-focus-ring-expected.png:
        * platform/mac/fast/images/imagemap-focus-ring-zoom-expected.checksum:
        * platform/mac/fast/images/imagemap-focus-ring-zoom-expected.png:
        * platform/mac/fast/images/imagemap-polygon-focus-ring-expected.checksum:
        * platform/mac/fast/images/imagemap-polygon-focus-ring-expected.png:
        * platform/mac/fast/inline/positionedLifetime-expected.checksum:
        * platform/mac/fast/inline/positionedLifetime-expected.png:
        * platform/mac/fast/invalid/019-expected.checksum:
        * platform/mac/fast/invalid/019-expected.png:
        * platform/mac/fast/invalid/missing-address-end-tag-expected.checksum:
        * platform/mac/fast/invalid/missing-address-end-tag-expected.png:
        * platform/mac/fast/invalid/table-inside-stray-table-content-expected.checksum:
        * platform/mac/fast/invalid/table-inside-stray-table-content-expected.png:
        * platform/mac/fast/lists/003-vertical-expected.checksum:
        * platform/mac/fast/lists/003-vertical-expected.png:
        * platform/mac/fast/media/media-query-invalid-value-expected.checksum:
        * platform/mac/fast/media/media-query-invalid-value-expected.png:
        * platform/mac/fast/overflow/003-expected.checksum:
        * platform/mac/fast/overflow/003-expected.png:
        * platform/mac/fast/overflow/overflow-x-y-expected.checksum:
        * platform/mac/fast/overflow/overflow-x-y-expected.png:
        * platform/mac/fast/parser/bad-xml-slash-expected.checksum:
        * platform/mac/fast/parser/bad-xml-slash-expected.png:
        * platform/mac/fast/repaint/box-shadow-h-expected.checksum:
        * platform/mac/fast/repaint/box-shadow-h-expected.png:
        * platform/mac/fast/repaint/control-clip-expected.checksum:
        * platform/mac/fast/repaint/control-clip-expected.png:
        * platform/mac/fast/repaint/list-marker-expected.checksum:
        * platform/mac/fast/repaint/list-marker-expected.png:
        * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.checksum:
        * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png:
        * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum:
        * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
        * platform/mac/fast/repaint/transform-replaced-shadows-expected.checksum:
        * platform/mac/fast/repaint/transform-replaced-shadows-expected.png:
        * platform/mac/fast/replaced/replaced-breaking-expected.checksum:
        * platform/mac/fast/replaced/replaced-breaking-expected.png:
        * platform/mac/fast/text/emphasis-vertical-expected.checksum:
        * platform/mac/fast/text/emphasis-vertical-expected.png:
        * platform/mac/fast/text/hyphenate-limit-before-after-expected.checksum:
        * platform/mac/fast/text/hyphenate-limit-before-after-expected.png:
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.checksum:
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.png:
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.checksum:
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.png:
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.checksum:
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.png:
        * platform/mac/fast/text/international/bidi-mirror-he-ar-expected.checksum:
        * platform/mac/fast/text/international/bidi-mirror-he-ar-expected.png:
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.checksum:
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png:
        * platform/mac/fast/text/international/text-combine-image-test-expected.checksum:
        * platform/mac/fast/text/international/text-combine-image-test-expected.png:
        * platform/mac/fast/text/international/vertical-text-glyph-test-expected.checksum:
        * platform/mac/fast/text/international/vertical-text-glyph-test-expected.png:
        * platform/mac/fast/text/justify-ideograph-leading-expansion-expected.checksum:
        * platform/mac/fast/text/justify-ideograph-leading-expansion-expected.png:
        * platform/mac/fast/text/textIteratorNilRenderer-expected.checksum:
        * platform/mac/fast/text/textIteratorNilRenderer-expected.png:
        * platform/mac/fast/text/whitespace/normal-after-nowrap-breaking-expected.checksum:
        * platform/mac/fast/text/whitespace/normal-after-nowrap-breaking-expected.png:
        * platform/mac/fast/transforms/shadows-expected.checksum:
        * platform/mac/fast/transforms/shadows-expected.png:

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

8 years ago2011-04-14 Zhenyao Mo <zmo@google.com>
zmo@google.com [Fri, 15 Apr 2011 18:01:53 +0000 (18:01 +0000)]
2011-04-14  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Use HTMLImageElement in Canvas 2D / WebGL before response is ready causes crash
        https://bugs.webkit.org/show_bug.cgi?id=58501

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::texImage2D): Call validateHTMLImageElement().
        (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
        (WebCore::WebGLRenderingContext::validateHTMLImageElement): Make sure image is ready.
        * html/canvas/WebGLRenderingContext.h:

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

8 years ago2011-04-07 MORITA Hajime <morrita@google.com>
morrita@google.com [Fri, 15 Apr 2011 17:57:06 +0000 (17:57 +0000)]
2011-04-07  MORITA Hajime  <morrita@google.com>

        Reviewed by Ryosuke Niwa.

        DocumentMaker::AllMarkers should not be a part of DocumentMarker::MarkerType
        https://bugs.webkit.org/show_bug.cgi?id=58112

        - Converted DocumentMarker::MarkerTypes from unsigned int to a class.
        - Converted DocumentMarker::AllMarkers from an enum entry to a subclass of MarkerTypes.
        - Changed type of some MarkerType argument on DocumentMarkerController API to MarkerTypes
          which should allow a combination of MarkerType constansts.
        - Removed some MarkerType arguments on DocumentMarkerController API
          which only received AllMarkers.

        No new tests, no behavior change.

        * WebCore.exp.in:
        * dom/DocumentMarker.h:
        (WebCore::DocumentMarker::MarkerTypes::MarkerTypes):
        (WebCore::DocumentMarker::MarkerTypes::contains):
        (WebCore::DocumentMarker::MarkerTypes::intersects):
        (WebCore::DocumentMarker::MarkerTypes::operator==):
        (WebCore::DocumentMarker::MarkerTypes::add):
        (WebCore::DocumentMarker::MarkerTypes::remove):
        (WebCore::DocumentMarker::AllMarkers::AllMarkers):
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::possiblyHasMarkers):
        (WebCore::DocumentMarkerController::addMarker):
        (WebCore::DocumentMarkerController::copyMarkers):
        (WebCore::DocumentMarkerController::removeMarkers):
        (WebCore::DocumentMarkerController::markerContainingPoint):
        (WebCore::DocumentMarkerController::markersInRange):
        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
        (WebCore::DocumentMarkerController::repaintMarkers):
        (WebCore::DocumentMarkerController::shiftMarkers):
        (WebCore::DocumentMarkerController::setMarkersActive):
        (WebCore::DocumentMarkerController::hasMarkers):
        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
        * dom/DocumentMarkerController.h:

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

8 years ago2011-04-14 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 15 Apr 2011 17:44:34 +0000 (17:44 +0000)]
2011-04-14  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Complicated hash table is complicated
        https://bugs.webkit.org/show_bug.cgi?id=58631

        Now that we use the opaque roots system to track node wrapper lifetime,
        we can remove a lot of complicated hash-tablery that used to do the same.

        Now normal world node wrappers are just set as direct properties of
        ScriptWrappable, while isolated world node wrappers and other DOM object
        wrappers are stored in a shared, per-world hash table.

        In addition to reducing complexity, this makes DOM wrapper allocation
        1.6X faster (tested with scratch-gc-dom3.html), and it reduces the memory
        footprint of normal world wrappers by ~2/3, and isolated world wrappers
        by ~1/3.

        * WebCore.exp.in: Paying the patch tithe.

        * bindings/js/DOMWrapperWorld.cpp:
        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
        (WebCore::DOMWrapperWorld::clearWrappers): No more per-document hash tables.

        (WebCore::JSNodeHandleOwner::finalize): Changed to call a helper function,
        so the code to destroy a wrapper can live next to the code to create one.

        * bindings/js/DOMWrapperWorld.h: No more per-document hash tables.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::uncacheDOMObjectWrapper):
        * bindings/js/JSDOMBinding.h:
        (WebCore::createDOMNodeWrapper):
        (WebCore::getDOMNodeWrapper): No more per-document hash tables.
        Added uncacheDOMObjectWrapper to be symmetrical with cacheDOMObjectWrapper.

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSElementCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapperInline): Ditto.

        * bindings/js/JSNodeCustom.h:
        (WebCore::getCachedDOMNodeWrapper):
        (WebCore::cacheDOMNodeWrapper):
        (WebCore::uncacheDOMNodeWrapper):
        (WebCore::toJS): Implemented the scheme described above.

        * bindings/js/ScriptWrappable.h:
        (WebCore::ScriptWrappable::wrapper):
        (WebCore::ScriptWrappable::setWrapper):
        (WebCore::ScriptWrappable::clearWrapper): ScriptWrappable needs a handle
        owner now, since we don't have an extra handle living in a hash table
        to maintain ownership for us.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        * dom/Document.h:
        * dom/Node.cpp:
        (WebCore::Node::setDocument): No more per-document hash tables.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer): Removed call to
        hasCachedDOMNodeWrapperUnchecked because that was the old way of doing
        things, and I was in the mood for getting rid of the old way. It's
        debatable whether the check was ever a good idea. Even when a <canvas>
        doesn't have a direct JS wrapper, other JS references can still keep
        the <canvas> alive. So, it's probably best always to report extra cost.

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

8 years agoDRT on Windows doesn't block access to external URLs (https://bugs.webkit.org/show_bu...
jberlin@webkit.org [Fri, 15 Apr 2011 17:42:37 +0000 (17:42 +0000)]
DRT on Windows doesn't block access to external URLs (https://bugs.webkit.org/show_bug.cgi?id=57334),
but WKTR does, so add the expected passing results to the win-wk2 directory to override the expected
failing results in the win directory in order to get the bots green.

* platform/win-wk2/fast/ruby: Added.
* platform/win-wk2/fast/ruby/after-block-doesnt-crash-expected.txt: Added.
* platform/win-wk2/fast/ruby/after-table-doesnt-crash-expected.txt: Added.
* platform/win-wk2/fast/ruby/before-block-doesnt-crash-expected.txt: Added.
* platform/win-wk2/fast/ruby/before-table-doesnt-crash-expected.txt: Added.

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

8 years agoWebKit2: Need a way to keep the WebProcess alive for testing purposes.
jberlin@webkit.org [Fri, 15 Apr 2011 17:41:23 +0000 (17:41 +0000)]
WebKit2: Need a way to keep the WebProcess alive for testing purposes.
https://bugs.webkit.org/show_bug.cgi?id=58592

Reviewed by Sam Weinig.

* UIProcess/API/C/WKContext.cpp:
(WKContextDisableProcessTermination):
(WKContextEnableProcessTermination):
* UIProcess/API/C/WKContextPrivate.h:

* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
Initialize m_processTerminationEnabled to true.
(WebKit::WebContext::enableProcessTermination):
Set m_processTerminationEnabled to true, and try to terminate the web process.
(WebKit::WebContext::shouldTerminate):
If !m_processTerminationEnabled, return false.
* UIProcess/WebContext.h:
(WebKit::WebContext::disableProcessTermination):
Set m_processTerminationEnabled to false;

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

8 years ago2011-04-15 Vsevolod Vlasov <vsevik@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 17:32:04 +0000 (17:32 +0000)]
2011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Rename rawRequestHeadersText and RawResponseHeadersText to requestHeadersText and responseHeadersText
        https://bugs.webkit.org/show_bug.cgi?id=58650

        * inspector/Inspector.json:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForResourceResponse):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get requestHeadersText):
        (WebInspector.Resource.prototype.set requestHeadersText):
        (WebInspector.Resource.prototype.get requestHeadersSize):
        (WebInspector.Resource.prototype.get responseHeadersText):
        (WebInspector.Resource.prototype.set responseHeadersText):
        (WebInspector.Resource.prototype.get responseHeadersSize):
        (WebInspector.Resource.prototype._headersSize):
        * inspector/front-end/ResourceHeadersView.js:
        (WebInspector.ResourceHeadersView):
        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
        (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
        (WebInspector.ResourceHeadersView.prototype._toggleRequestHeadersText):
        (WebInspector.ResourceHeadersView.prototype._toggleResponseHeadersText):
        (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
        * inspector/front-end/networkPanel.css:
        (.resource-headers-view .outline-disclosure li.headers-text):
        * platform/network/ResourceLoadInfo.h:
2011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Rename rawRequestHeadersText and RawResponseHeadersText to requestHeadersText and responseHeadersText
        https://bugs.webkit.org/show_bug.cgi?id=58650

        * public/WebHTTPLoadInfo.h:
        * src/WebHTTPLoadInfo.cpp:
        (WebKit::WebHTTPLoadInfo::requestHeadersText):
        (WebKit::WebHTTPLoadInfo::setRequestHeadersText):
        (WebKit::WebHTTPLoadInfo::responseHeadersText):
        (WebKit::WebHTTPLoadInfo::setResponseHeadersText):

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

8 years ago2011-04-15 Luke Macpherson <macpherson@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 17:28:27 +0000 (17:28 +0000)]
2011-04-15  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Dimitri Glazkov.

        Implement css overflow properties in CSSStyleApplyProperty
        https://bugs.webkit.org/show_bug.cgi?id=58633

        No new tests required as no functionality changes.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Add initializers for CSSPropertyOverflowX, CSSPropertyOverflowY and CSSPropertyOverflow.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Delete existing implementations.

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

8 years ago2011-04-15 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 15 Apr 2011 16:57:41 +0000 (16:57 +0000)]
2011-04-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej Stachowiak.

        Make mac WebKit1 use the default localization strategy
        https://bugs.webkit.org/show_bug.cgi?id=58628

        * WebCoreSupport/WebPlatformStrategies.h:
        * WebCoreSupport/WebPlatformStrategies.mm:
        Remove the localization strategy code. The equivalent is now
        in WebCore/platform/DefaultLocalizationStrategy.cpp.
2011-04-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej Stachowiak.

        Make mac WebKit1 use the default localization strategy
        https://bugs.webkit.org/show_bug.cgi?id=58628

        * English.lproj/Localizable.strings:
        Update by running update-webkit-localizable-strings.

        * platform/DefaultLocalizationStrategy.cpp:
        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
        (WebCore::DefaultLocalizationStrategy::keygenKeychainItemName):
        (WebCore::DefaultLocalizationStrategy::imageTitle):
        Match the WebKit1 versions of these functions by special casing CF platforms.

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

8 years ago2011-04-15 Vsevolod Vlasov <vsevik@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 16:42:05 +0000 (16:42 +0000)]
2011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: No console message and headers in inspector when X-Frame-Options header blocks a load
        https://bugs.webkit.org/show_bug.cgi?id=58136

        Passed response info to inspector when X-Frame-Options header blocks resource loading.

        * http/tests/inspector/network/resources/x-frame-options-deny.cgi: Added.
        * http/tests/inspector/network/x-frame-options-deny-expected.txt: Added.
        * http/tests/inspector/network/x-frame-options-deny.html: Added.
2011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: No console message and headers in inspector when X-Frame-Options header blocks a load
        https://bugs.webkit.org/show_bug.cgi?id=58136

        Passed response info to inspector when X-Frame-Options header blocks resource loading.

        Test: http/tests/inspector/network/x-frame-options-deny.html

        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveResponse):

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

8 years ago2011-04-15 Andrey Adaikin <aandrey@google.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 16:29:38 +0000 (16:29 +0000)]
2011-04-15  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: TextViewer and TextEditorModel must support both \n and \r\n as line separators
        https://bugs.webkit.org/show_bug.cgi?id=58449

        * inspector/editor/text-editor-model-expected.txt: Added.
        * inspector/editor/text-editor-model.html: Added.
2011-04-15  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: TextViewer and TextEditorModel must support both \n and \r\n as line separators
        https://bugs.webkit.org/show_bug.cgi?id=58449

        Test: inspector/editor/text-editor-model.html

        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel):
        (WebInspector.TextEditorModel.prototype.get text):
        (WebInspector.TextEditorModel.prototype.setText):
        (WebInspector.TextEditorModel.prototype._innerSetText):
        (WebInspector.TextEditorModel.prototype.copyRange):

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

8 years ago2011-04-15 Nancy Piedra <nancy.piedra@nokia.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 16:20:03 +0000 (16:20 +0000)]
2011-04-15  Nancy Piedra  <nancy.piedra@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt][Symbian] Need to export ViewportAttributes class
        https://bugs.webkit.org/show_bug.cgi?id=58651

        On Symbian, if the ViewportAttributes class is not exported we get
        linking errors.

        Since this is a compilation issue, no new tests added.

        * UIProcess/API/qt/qwkpage.h:

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

8 years ago2011-04-15 Eric Seidel <eric@webkit.org>
eric@webkit.org [Fri, 15 Apr 2011 16:11:05 +0000 (16:11 +0000)]
2011-04-15  Eric Seidel  <eric@webkit.org>

        Reviewed by Eric Carlson.

        Flaky Test: media/invalid-media-url-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=51138

        Skipping this test on Snow Leopard since it's hitting
        a known MediaToolbox crasher on Snow Leopard.
        If Apple happens to software update SL users we can
        unskip this, until then no need to run this flaky test.

        * platform/mac-snowleopard/Skipped:

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

8 years ago2011-04-15 Ojan Vafai <ojan@chromium.org>
ojan@chromium.org [Fri, 15 Apr 2011 16:00:01 +0000 (16:00 +0000)]
2011-04-15  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        fix path to layout test in new results file
        https://bugs.webkit.org/show_bug.cgi?id=58618

        * Scripts/webkitpy/layout_tests/layout_package/json_results.html:
        * Scripts/webkitpy/layout_tests/layout_package/test_runner.py:

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

8 years ago2011-04-15 Sergio Villar Senin <svillar@igalia.com>
sergio@webkit.org [Fri, 15 Apr 2011 15:45:05 +0000 (15:45 +0000)]
2011-04-15  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed, skipping a test.

        [GTK] editing/selection/select-out-of-editable.html failing after r83967
        https://bugs.webkit.org/show_bug.cgi?id=58667

        * platform/gtk/Skipped: skipping editing/selection/select-out-of-editable.html

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

8 years ago2011-04-15 Ojan Vafai <ojan@chromium.org>
ojan@chromium.org [Fri, 15 Apr 2011 15:42:18 +0000 (15:42 +0000)]
2011-04-15  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        fix sorting in new results file
        https://bugs.webkit.org/show_bug.cgi?id=58616

        -Fix the custom sort to return -1, 0, 1 instead of true/false.
        -Secondary sort by test name when sort values are equal.
        -Sort by test name by default.

        * Scripts/webkitpy/layout_tests/layout_package/json_results.html:

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

8 years ago2011-04-15 Dmitry Lomov <dslomov@google.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 15:39:46 +0000 (15:39 +0000)]
2011-04-15  Dmitry Lomov  <dslomov@google.com>

        Reviewed by David Levin.

        check-webkit-style shouldn't complain about not including a primary header file
        if none exists
        https://bugs.webkit.org/show_bug.cgi?id=39514

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

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

8 years ago[Windows Tests] fast/forms/input-text-drag-down.html and
jberlin@webkit.org [Fri, 15 Apr 2011 15:38:01 +0000 (15:38 +0000)]
[Windows Tests] fast/forms/input-text-drag-down.html and
editing/selection/select-from-textfield-outwards.html failing since r83967.
https://bugs.webkit.org/show_bug.cgi?id=58664

Adding Windows-specific expected failing results to get the bots green.

* platform/win/editing/selection/select-from-textfield-outwards-expected.checksum: Added.
* platform/win/editing/selection/select-from-textfield-outwards-expected.png: Added.
* platform/win/editing/selection/select-from-textfield-outwards-expected.txt: Added.
* platform/win/fast/forms/input-text-drag-down-expected.checksum: Added.
* platform/win/fast/forms/input-text-drag-down-expected.png: Added.
* platform/win/fast/forms/input-text-drag-down-expected.txt: Added.

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

8 years ago2011-04-15 Sergey Vorobyev <sergeyvorobyev@google.com>
yurys@chromium.org [Fri, 15 Apr 2011 15:15:42 +0000 (15:15 +0000)]
2011-04-15  Sergey Vorobyev  <sergeyvorobyev@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Network events don't preserves,
        when inspector frontend closed and open again
        https://bugs.webkit.org/show_bug.cgi?id=58064

        Added InspectorFrontendProxy and EventsCollector.
        They allow captured messages from InspectorResourceAgent
        to frontend (or mockFrontend if frontend disabled) and
        push collected data when frontend reconnect.
        This functionality is disabled by default.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/EventsCollector.cpp: Added.
        (WebCore::EventsCollector::EventsCollector):
        (WebCore::EventsCollector::addEvent):
        (WebCore::EventsCollector::sendCollectedEvents):
        * inspector/EventsCollector.h: Added.
        (WebCore::EventsCollector::~EventsCollector):
        * inspector/Inspector.json:
        * inspector/InspectorFrontendProxy.cpp: Added.
        (WebCore::InspectorFrontendProxy::InspectorFrontendProxy):
        (WebCore::InspectorFrontendProxy::setInspectorFrontendChannel):
        (WebCore::InspectorFrontendProxy::setEventsCollector):
        (WebCore::InspectorFrontendProxy::sendMessageToFrontend):
        * inspector/InspectorFrontendProxy.h: Added.
        (WebCore::InspectorFrontendProxy::~InspectorFrontendProxy):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::willSendRequest):
        (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
        (WebCore::InspectorInstrumentation::didReceiveContentLength):
        (WebCore::InspectorInstrumentation::didFinishLoading):
        (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
        (WebCore::InspectorInstrumentation::loadEventFired):
        (WebCore::InspectorInstrumentation::frameDetachedFromParent):
        (WebCore::InspectorInstrumentation::didCreateWebSocket):
        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorInstrumentation::didCloseWebSocket):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::setFrontend):
        (WebCore::InspectorResourceAgent::resourceContent):
        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::domContentEventFired):
        (WebCore::InspectorResourceAgent::loadEventFired):
        (WebCore::InspectorResourceAgent::enabledBackgoundEventsCoollection):
        (WebCore::InspectorResourceAgent::enable):
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype.domContentEventFired):
        (WebInspector.NetworkDispatcher.prototype.loadEventFired):
        * inspector/front-end/inspector.js:
        (WebInspector.domContentEventFired):
        (WebInspector.loadEventFired):

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

8 years ago2011-04-15 Dmitry Lomov <dslomov@google.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 14:55:10 +0000 (14:55 +0000)]
2011-04-15  Dmitry Lomov  <dslomov@google.com>

        Reviewed by David Levin.

        Add a sample test case for GTest framework
        https://bugs.webkit.org/show_bug.cgi?id=58509

        Add an example of GTest testcase, complete with a runner, to JavaScriptCore.

        * JavaScriptCore.xcodeproj/project.pbxproj:
        * wtf/tests/RunAllWtfTests.cpp: Added.
        (main):
        * wtf/tests/StringTests.cpp: Added.

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

8 years ago2011-04-15 Alexis Menard <alexis.menard@openbossa.org>
alexis.menard@openbossa.org [Fri, 15 Apr 2011 14:38:27 +0000 (14:38 +0000)]
2011-04-15  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Dimitri Glazkov.

        REGRESSION(r83397) [Qt] When clicking on the media elements they grow 2 pixels.
        https://bugs.webkit.org/show_bug.cgi?id=58477

        Since r83397 the media controls elements are actual DOM elements.
        Therefore the global style-sheet applies to them. html.css defines
        input[type="button"]:active to be border-style: inset which means
        that when the buttons are active they grow by their border size. Therefore
        ports which are not using the borders must explicitly disable them in their custom
        stylesheet.

        * css/mediaControlsQt.css:
        (audio::-webkit-media-controls-mute-button):
        (video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-play-button):
        (video::-webkit-media-controls-play-button):
        (video::-webkit-media-controls-fullscreen-button):
        * css/mediaControlsQuickTime.css:
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):

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

8 years ago2011-04-15 Zelidrag Hornung <zelidrag@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 14:35:32 +0000 (14:35 +0000)]
2011-04-15  Zelidrag Hornung  <zelidrag@chromium.org>

        Reviewed by Darin Fisher.

        Added enums for external file system type.
        https://bugs.webkit.org/show_bug.cgi?id=58456

        * fileapi/DOMFileSystemBase.cpp:
        (WebCore::DOMFileSystemBase::crackFileSystemURL):
        * fileapi/DOMFileSystemBase.h:
        * fileapi/EntryBase.cpp:
        (WebCore::EntryBase::toURL):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::requestFileSystem):
        * page/DOMWindow.h:
        * platform/AsyncFileSystem.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::requestFileSystem):
        (WebCore::WorkerContext::requestFileSystemSync):
        * workers/WorkerContext.h:
2011-04-15  Zelidrag Hornung  <zelidrag@chromium.org>

        Reviewed by Darin Fisher.

        Added enums for external file system type and exposed factory function
        for creating File- and DirectoryEntry objects from Chromium side.
        https://bugs.webkit.org/show_bug.cgi?id=58456

        * public/WebFileSystem.h:
        * public/WebFrame.h:
        * src/AssertMatchingEnums.cpp:
        * src/WebFrameImpl.cpp:
        (WebKit::WebFrameImpl::createFileSystem):
        (WebKit::WebFrameImpl::createFileEntry):
        * src/WebFrameImpl.h:

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

8 years ago2011-04-15 Sergio Villar Senin <svillar@igalia.com>
sergio@webkit.org [Fri, 15 Apr 2011 14:30:42 +0000 (14:30 +0000)]
2011-04-15  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed, added new GTK+ test expectations.

        * platform/gtk/fast/forms/select-background-none-expected.checksum: Added.
        * platform/gtk/fast/forms/select-background-none-expected.png: Added.
        * platform/gtk/fast/forms/select-background-none-expected.txt: Added.
        * platform/gtk/fast/text/zero-font-size-expected.checksum: Added.
        * platform/gtk/fast/text/zero-font-size-expected.png: Added.
        * platform/gtk/fast/text/zero-font-size-expected.txt: Added.

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

8 years agoAdd new eventSender-dependent tests from r83967 to the mac-wks Skipped file
aroben@apple.com [Fri, 15 Apr 2011 14:25:09 +0000 (14:25 +0000)]
Add new eventSender-dependent tests from r83967 to the mac-wks Skipped file

* platform/mac-wk2/Skipped: Added some new editing/selection tests.

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

8 years ago2011-04-15 Pavel Feldman <pfeldman@google.com>
pfeldman@chromium.org [Fri, 15 Apr 2011 14:08:31 +0000 (14:08 +0000)]
2011-04-15  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: make resource revisions use dedicated type (not Resource clone).
        https://bugs.webkit.org/show_bug.cgi?id=58659

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.addRevision):
        (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
        (WebInspector.Resource.prototype._innerRequestContent):
        (WebInspector.ResourceRevision):
        (WebInspector.ResourceRevision.prototype.get resource):
        (WebInspector.ResourceRevision.prototype.get timestamp):
        (WebInspector.ResourceRevision.prototype.get content):
        (WebInspector.ResourceRevision.prototype.revertToThis):
        (WebInspector.ResourceRevision.prototype.requestContent.mycallback):
        (WebInspector.ResourceRevision.prototype.requestContent):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
        (WebInspector.ResourceView.resourceViewForResource):
        (WebInspector.ResourceView.recreateResourceView):
        (WebInspector.ResourceView.existingResourceViewForResource):
        (WebInspector.RevisionSourceFrame):
        (WebInspector.RevisionSourceFrame.prototype.get resource):
        (WebInspector.RevisionSourceFrame.prototype.isContentEditable):
        (WebInspector.RevisionSourceFrame.prototype.requestContent):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showResourceView):
        (WebInspector.ResourcesPanel.prototype._showRevisionView):
        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step1):
        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step2):
        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup):
        (WebInspector.ResourceRevisionTreeElement):
        (WebInspector.ResourceRevisionTreeElement.prototype.get itemURL):
        (WebInspector.ResourceRevisionTreeElement.prototype.onselect):
        (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
        (WebInspector.SourceFrame.prototype.requestContent):
        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
        (WebInspector.SourceFrame.prototype.commitEditing):

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

8 years ago2011-04-15 Alexander Pavlov <apavlov@chromium.org>
apavlov@chromium.org [Fri, 15 Apr 2011 13:57:53 +0000 (13:57 +0000)]
2011-04-15  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Prevent Backspace keypresses from routing into the inspected page
        https://bugs.webkit.org/show_bug.cgi?id=58653

        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):

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

8 years ago2011-04-15 Alice Boxhall <aboxhall@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 13:44:54 +0000 (13:44 +0000)]
2011-04-15  Alice Boxhall  <aboxhall@chromium.org>

        Reviewed by Ryosuke Niwa.

        Text selection changes unexpectedly when dragging out of the <input>
        https://bugs.webkit.org/show_bug.cgi?id=55552

        Tests that dragging outside of a contenteditable, input or textarea selects to the end of the
        element, rather than jumping back to the beginning.

        * editing/selection/resources/select-out-of-floated-editable.js: Added.
        (log):
        (else.window.onmouseup):
        (getSelectionStart):
        (getSelectionEnd):
        (checkSelection):
        * editing/selection/select-out-of-editable-expected.txt: Added.
        * editing/selection/select-out-of-editable.html: Added.
        * editing/selection/select-out-of-floated-contenteditable-expected.txt: Added.
        * editing/selection/select-out-of-floated-contenteditable.html: Added.
        * editing/selection/select-out-of-floated-input-expected.txt: Added.
        * editing/selection/select-out-of-floated-input.html: Added.
        * editing/selection/select-out-of-floated-textarea-expected.txt: Added.
        * editing/selection/select-out-of-floated-textarea.html: Added.
2011-04-15  Alice Boxhall  <aboxhall@chromium.org>

        Reviewed by Ryosuke Niwa.

        Text selection changes unexpectedly when dragging out of the <input>
        https://bugs.webkit.org/show_bug.cgi?id=55552

        Tests: editing/selection/select-out-of-editable.html
               editing/selection/select-out-of-floated-contenteditable.html
               editing/selection/select-out-of-floated-input.html
               editing/selection/select-out-of-floated-textarea.html

        * page/EventHandler.cpp:
        (WebCore::selectionExtentRespectingEditingBoundary): When dragging from an editable element, check that
        the endpoint is not outside the element. If it is, translate the point into a local point within
        the editable element.
        (WebCore::EventHandler::updateSelectionForMouseDrag): Call targetPositionForSelectionEndpoint() to
        calculate the selection endpoint.

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

8 years agoUpdate Windows results after r83939
aroben@apple.com [Fri, 15 Apr 2011 13:41:33 +0000 (13:41 +0000)]
Update Windows results after r83939

* platform/win/media/media-document-audio-repaint-expected.txt:

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

8 years agoSkip a sometimes-failing test on Windows
aroben@apple.com [Fri, 15 Apr 2011 13:34:32 +0000 (13:34 +0000)]
Skip a sometimes-failing test on Windows

<http://webkit.org/b/58441> tracks the failure.

* platform/win/Skipped: Added fast/events/pageshow-pagehide-on-back-cached-with-frames.html.

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

8 years agoSkip a timing-out test on Windows
aroben@apple.com [Fri, 15 Apr 2011 13:28:06 +0000 (13:28 +0000)]
Skip a timing-out test on Windows

<http://webkit.org/b/58654> tracks the failure.

* platform/win/Skipped: Added media/video-controls-in-media-document.html.

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

8 years agoRoll out r83954
aroben@apple.com [Fri, 15 Apr 2011 13:12:56 +0000 (13:12 +0000)]
Roll out r83954

It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple
bots.

See <http://webkit.org/b/58610>.

Source/WebCore:

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::setTimeout):
(WebCore::JSWorkerContext::setInterval):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
* bindings/js/ScheduledAction.h:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::WindowSetTimeoutImpl):
* page/ContentSecurityPolicy.cpp:
* page/ContentSecurityPolicy.h:

LayoutTests:

* http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed-expected.txt: Removed.
* http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html: Removed.
* http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked-expected.txt: Removed.
* http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html: Removed.
* http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed-expected.txt: Removed.
* http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html: Removed.
* http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked-expected.txt: Removed.
* http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html: Removed.

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

8 years ago2011-04-15 Pavel Feldman <pfeldman@google.com>
pfeldman@chromium.org [Fri, 15 Apr 2011 12:39:32 +0000 (12:39 +0000)]
2011-04-15  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: refactor resource setContent / revisions infrastructure to get
        rid of onRevert callback.
        https://bugs.webkit.org/show_bug.cgi?id=58649

        Instead, we will have DomainModel/Resource binding responsible for changing
        underlying model upon resource changes and vice versa.

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getStyleSheet):
        (WebCore::InspectorCSSAgent::getStyleSheetText):
        (WebCore::InspectorCSSAgent::setStyleSheetText):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        (WebCore::InspectorCSSAgent::setRuleSelector):
        (WebCore::InspectorCSSAgent::assertStyleSheetForId):
        * inspector/InspectorCSSAgent.h:
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback):
        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setText.callback):
        (WebInspector.CSSProperty.prototype.setDisabled.callback):
        (WebInspector.CSSProperty.prototype.setDisabled):
        (WebInspector.CSSStyleSheet.prototype.setText):
        (WebInspector.CSSStyleModelResourceBinding):
        (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
        (WebInspector.CSSStyleModelResourceBinding.prototype._frameNavigated):
        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
        (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
        (WebInspector.DebuggerPresentationModelResourceBinding):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
        * inspector/front-end/Object.js:
        (WebInspector.Object.prototype.hasEventListeners):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.registerDomainModelBinding):
        (WebInspector.Resource.prototype.isEditable):
        (WebInspector.Resource.prototype.setContent):
        (WebInspector.Resource.prototype.addRevision):
        (WebInspector.Resource.prototype.revertToThis.callback):
        (WebInspector.Resource.prototype.revertToThis):
        (WebInspector.ResourceDomainModelBinding):
        (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
        (WebInspector.ResourceDomainModelBinding.prototype.setContent):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.createResourceView):
        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
        (WebInspector.ResourceSourceFrame.prototype.isContentEditable):
        (WebInspector.ResourceSourceFrame.prototype.editContent):
        (WebInspector.ResourceSourceFrame.prototype.endEditing):
        (WebInspector.ResourceSourceFrame.prototype._clearIncrementalUpdateTimer):
        (WebInspector.ResourceSourceFrame.prototype._requestContent):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._resourceAdded):
        (WebInspector.FrameResourceTreeElement):
        (WebInspector.FrameResourceTreeElement.prototype._populateRevisions):
        (WebInspector.FrameResourceTreeElement.prototype._revisionAdded):
        (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
        * inspector/front-end/inspector.html:

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

8 years ago2011-04-15 Philippe Normand <pnormand@igalia.com>
philn@webkit.org [Fri, 15 Apr 2011 10:05:13 +0000 (10:05 +0000)]
2011-04-15  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, GTK platform results for
        fast/css/font-face-repeated-url.html

        * fast/css/font-face-repeated-url-expected.txt:
        * platform/gtk/fast/css/font-face-repeated-url-expected.txt: Copied from LayoutTests/fast/css/font-face-repeated-url-expected.txt.

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

8 years ago2011-04-15 Andrey Kosyakov <caseq@chromium.org>
caseq@chromium.org [Fri, 15 Apr 2011 09:28:50 +0000 (09:28 +0000)]
2011-04-15  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed, rolling out r83949.
        http://trac.webkit.org/changeset/83949
        https://bugs.webkit.org/show_bug.cgi?id=57960

        broke 31 tests in chromium win & linux

        * platform/chromium/test_expectations.txt:
2011-04-15  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed, rolling out r83949.
        http://trac.webkit.org/changeset/83949
        https://bugs.webkit.org/show_bug.cgi?id=57960

        broke 31 tests in chromium win & linux

        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::drawTexturedRect):
        * platform/graphics/chromium/GLES2Canvas.h:
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::copySubRect):
        (WebCore::Texture::load):
        (WebCore::Texture::updateSubRect):
        * platform/graphics/gpu/Texture.h:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):

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

8 years ago2011-04-15 Philippe Normand <pnormand@igalia.com>
philn@webkit.org [Fri, 15 Apr 2011 08:50:19 +0000 (08:50 +0000)]
2011-04-15  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, GTK rebaseline of two tests.

        * fast/css/font-face-repeated-url-expected.txt:
        * platform/gtk/media/media-document-audio-repaint-expected.txt:

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

8 years ago2011-04-15 Vsevolod Vlasov <vsevik@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 08:10:16 +0000 (08:10 +0000)]
2011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Create tests for network panel timing, size and raw headers text
        https://bugs.webkit.org/show_bug.cgi?id=58566

        Added network timing, size and raw headers tests for Inspector
        Since chromium used different version of network stack for layout
        tests, these are interactive ui tests (DevToolsSanityTest.TestNetwork*)

        * src/js/Tests.js:
        (.TestSuite.prototype.testNetworkSize.finishResource):
        (.TestSuite.prototype.testNetworkSyncSize.finishResource):
        (.TestSuite.prototype.testNetworkRawHeadersText.finishResource):
        (.TestSuite.prototype.testNetworkTiming.finishResource):

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

8 years ago2011-04-15 Ben Taylor <bentaylor.solx86@gmail.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 07:55:47 +0000 (07:55 +0000)]
2011-04-15  Ben Taylor  <bentaylor.solx86@gmail.com>

        Reviewed by Alexey Proskuryakov.

        Fix building with Sun Studio 12: function pointers for extern "C" are treated differently
        https://bugs.webkit.org/show_bug.cgi?id=58508

        Since extern "C" makes a different type (although most compilers ignore that),
        we should be more careful when passing NPAPI callback functions.

        * plugins/npapi.cpp:
        (NPN_PluginThreadAsyncCall):

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

8 years ago2011-04-15 Eric Seidel <eric@webkit.org>
eric@webkit.org [Fri, 15 Apr 2011 07:54:27 +0000 (07:54 +0000)]
2011-04-15  Eric Seidel  <eric@webkit.org>

        Reviewed by Mihai Parparita.

        queues.webkit.org should display when a bot last rebooted
        https://bugs.webkit.org/show_bug.cgi?id=58562

        There is more repeated code here than I would like.  I fear
        my django-fu isn't quite up to snuff.

        * QueueStatusServer/handlers/queuestatus.py:
        * QueueStatusServer/templates/queuestatus.html:

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

8 years ago2011-04-15 Philippe Normand <pnormand@igalia.com>
philn@webkit.org [Fri, 15 Apr 2011 07:43:09 +0000 (07:43 +0000)]
2011-04-15  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, rollout r83894 r83827 r83810 r83809 r83808.
        r83808 and its follow-up commits broke GTK Release builds.
        https://bugs.webkit.org/show_bug.cgi?id=58483

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

8 years ago2011-04-15 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Fri, 15 Apr 2011 07:39:40 +0000 (07:39 +0000)]
2011-04-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        CSP should block string arguments to setTimeout and setInterval unless options eval-script
        https://bugs.webkit.org/show_bug.cgi?id=58610

        It's somewhat sadness that the JSC and V8 code for setTimeout and
        setInterval are so different.  I struggled for a while with how to
        handle the worker case, but I decided to punt on it for now.

        Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
               http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setTimeout):
        (WebCore::JSDOMWindow::setInterval):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::setTimeout):
        (WebCore::JSWorkerContext::setInterval):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        * bindings/js/ScheduledAction.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::WindowSetTimeoutImpl):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::allowEval):
        * page/ContentSecurityPolicy.h:
2011-04-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        CSP should block string arguments to setTimeout and setInterval unless options eval-script
        https://bugs.webkit.org/show_bug.cgi?id=58610

        Herein lies a four-way testing matrix.

        * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html: Added.

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

8 years ago2011-04-15 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Fri, 15 Apr 2011 07:37:11 +0000 (07:37 +0000)]
2011-04-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add support for CSP's 'self' source
        https://bugs.webkit.org/show_bug.cgi?id=58604

        * http/tests/security/contentSecurityPolicy/script-src-self-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/script-src-self.html: Added.
2011-04-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add support for CSP's 'self' source
        https://bugs.webkit.org/show_bug.cgi?id=58604

        This change is now trivially easy.

        Test: http/tests/security/contentSecurityPolicy/script-src-self.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPSourceList::addSourceSelf):

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

8 years ago2011-04-15 Anna Cavender <annacc@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 07:13:49 +0000 (07:13 +0000)]
2011-04-15  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Renaming TRACK feature define to VIDEO_TRACK
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * configure.ac:
2011-04-15  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Renaming TRACK feature define to VIDEO_TRACK
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * Configurations/FeatureDefines.xcconfig:
2011-04-15  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Renaming TRACK feature define to VIDEO_TRACK
        https://bugs.webkit.org/show_bug.cgi?id=53556

        No new tests. No new functionality.

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * features.pri:
        * html/HTMLTagNames.in:
        * html/HTMLTrackElement.cpp:
        * html/HTMLTrackElement.h:
        * html/HTMLTrackElement.idl:
2011-04-15  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Renaming TRACK feature define to VIDEO_TRACK
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * Configurations/FeatureDefines.xcconfig:
2011-04-15  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Renaming TRACK feature define to VIDEO_TRACK
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * Configurations/FeatureDefines.xcconfig:

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

8 years ago2011-04-14 Andrey Adaikin <aandrey@google.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 06:29:40 +0000 (06:29 +0000)]
2011-04-14  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: Ctrl+Left/Right switch panels during live editing
        https://bugs.webkit.org/show_bug.cgi?id=58521

        Disable Ctrl+Left/Right keyboard shortcuts while in live edit.

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.readOnlyStateChanged):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.set readOnly):
        (WebInspector.TextViewer.prototype.get readOnly):
        (WebInspector.TextViewer.prototype._doubleClick):
        (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
        (WebInspector.TextViewer.prototype._commitEditing):
        (WebInspector.TextViewer.prototype._cancelEditing):
        (WebInspector.TextViewerDelegate.prototype.readOnlyStateChanged):
        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
        * inspector/front-end/inspector.js:
        (WebInspector.markBeingEdited):
        (WebInspector.isEditingAnyField):
        (WebInspector.startEditing.cleanUpAfterEditing):

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

8 years ago2011-04-14 Vsevolod Vlasov <vsevik@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 05:55:33 +0000 (05:55 +0000)]
2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Enable raw HTTP headers support
        https://bugs.webkit.org/show_bug.cgi?id=58259

        Added raw headers text support to inspector.

        * English.lproj/localizedStrings.js:
        * inspector/Inspector.json:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForResourceResponse):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.get transferSize):
        (WebInspector.Resource.prototype.set requestHeaders):
        (WebInspector.Resource.prototype.get rawRequestHeadersText):
        (WebInspector.Resource.prototype.set rawRequestHeadersText):
        (WebInspector.Resource.prototype.get requestHeadersSize):
        (WebInspector.Resource.prototype.set responseHeaders):
        (WebInspector.Resource.prototype.get rawResponseHeadersText):
        (WebInspector.Resource.prototype.set rawResponseHeadersText):
        (WebInspector.Resource.prototype.get responseHeadersSize):
        (WebInspector.Resource.prototype._headersSize):
        * inspector/front-end/ResourceHeadersView.js:
        (WebInspector.ResourceHeadersView):
        (WebInspector.ResourceHeadersView.prototype._refreshParms):
        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
        (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
        (WebInspector.ResourceHeadersView.prototype._refreshRawHeadersText):
        (WebInspector.ResourceHeadersView.prototype._toggleRawRequestHeadersText):
        (WebInspector.ResourceHeadersView.prototype._toggleRawResponseHeadersText):
        (WebInspector.ResourceHeadersView.prototype._createToggleButton):
        (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
        * inspector/front-end/networkPanel.css:
        (.resource-headers-view .outline-disclosure li .header-toggle):
        (.resource-headers-view .outline-disclosure li.expanded .header-toggle):
        (.resource-headers-view .outline-disclosure li .header-toggle:hover):
        (.resource-headers-view .outline-disclosure li.raw-headers-text):
        * platform/network/ResourceLoadInfo.h:
2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Enable raw HTTP headers support
        https://bugs.webkit.org/show_bug.cgi?id=58259

        Added raw headers text support to inspector.

        * public/WebHTTPLoadInfo.h:
        * src/WebHTTPLoadInfo.cpp:
        (WebKit::WebHTTPLoadInfo::rawRequestHeadersText):
        (WebKit::WebHTTPLoadInfo::setRawRequestHeadersText):
        (WebKit::WebHTTPLoadInfo::rawResponseHeadersText):
        (WebKit::WebHTTPLoadInfo::setRawResponseHeadersText):

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

8 years ago2011-04-14 Justin Novosad <junov@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 05:43:27 +0000 (05:43 +0000)]
2011-04-14  Justin Novosad  <junov@chromium.org>

        Reviewed by Kenneth Russell.

        [Chromium] Accelerated 2D Canvas is slow to execute putImageData
        https://bugs.webkit.org/show_bug.cgi?id=57960

        * platform/chromium/test_expectations.txt:
        added expected failure for test
        canvas/philip/tests/2d.gradient.interpolate.colouralpha.html
        Logged as chromium issue:
        http://code.google.com/p/chromium/issues/detail?id=79477
2011-04-14  Justin Novosad  <junov@chromium.org>

        Reviewed by Kenneth Russell.

        [Chromium] Accelerated 2D Canvas is slow to execute putImageData
        https://bugs.webkit.org/show_bug.cgi?id=57960

        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::drawTexturedRect):
        Added an option for using the blend ops for alpha multiplication
        instead of compositing.
        (WebCore::GLES2Canvas::applyClipping):
        (WebCore::GLES2Canvas::putImageData):
        New method for drawing raw pixel data from memory to the canvas
        (WebCore::GLES2Canvas::putUnmultipliedImageData):
        Wrapper for putImageData
        (WebCore::GLES2Canvas::putPremultipliedImageData):
        Wrapper for putImageData
        * platform/graphics/chromium/GLES2Canvas.h:
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::copySubRect):
        (WebCore::Texture::load):
        (WebCore::Texture::updateSubRect):
        Added an overload of the updateSubRect method that can receive a pixel
        of a size that is different from texture size. Improved the performance
        of updateSubrect by avoiding the allocation of a temporary buffer when
        not required.
        * platform/graphics/gpu/Texture.h:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        In the unmultiplied path, division by alpha now performs proper
        rounding in order to avoid generational degradation with putImageData
        (WebCore::putImageData):
        Alpha multiplication now performs proper rounding in order to be
        consistent with the hardware rendering path: OpenGL always rounds when
        converting to fixed point representation.
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        Now supports a hardware rendering path, which eliminates the need
        for a readback from the GPU
        (WebCore::ImageBuffer::putPremultipliedImageData):
        Now supports a hardware rendering path, which eliminates the need
        for a readback from the GPU

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

8 years ago2011-04-14 Adrienne Walker <enne@google.com>
enne@google.com [Fri, 15 Apr 2011 05:24:34 +0000 (05:24 +0000)]
2011-04-14  Adrienne Walker  <enne@google.com>

        [chromium] Unreviewed, test expectations for more bug 57113 fallout.

        * platform/chromium/test_expectations.txt:

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

8 years ago2011-04-14 Ami Fischman <fischman@google.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 05:22:30 +0000 (05:22 +0000)]
2011-04-14  Ami Fischman  <fischman@google.com>

        Reviewed by Eric Carlson.

        Rewrote video-controls-in-media-document layouttest to use the shadow
        DOM (possible as of r83397) and avoid the need for pixel-test status.
        https://bugs.webkit.org/show_bug.cgi?id=54634

        * media/video-controls-in-media-document-expected.txt: Added.
        * media/video-controls-in-media-document.html:
        * platform/chromium-mac-leopard/media/video-controls-in-media-document-expected.checksum: Removed.
        * platform/chromium-mac-leopard/media/video-controls-in-media-document-expected.png: Removed.
        * platform/chromium-mac-leopard/media/video-controls-in-media-document-expected.txt: Removed.
        * platform/chromium-win-xp/media/video-controls-in-media-document-expected.checksum: Removed.
        * platform/chromium-win-xp/media/video-controls-in-media-document-expected.png: Removed.
        * platform/chromium/media/video-controls-in-media-document-expected.checksum: Removed.
        * platform/chromium/media/video-controls-in-media-document-expected.png: Removed.
        * platform/chromium/media/video-controls-in-media-document-expected.txt: Removed.
        * platform/chromium/test_expectations.txt:
        * platform/gtk/media/video-controls-in-media-document-expected.txt: Removed.
        * platform/mac/Skipped:
        * platform/win/Skipped:

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

8 years ago2011-04-14 Alok Priyadarshi <alokp@chromium.org>
abarth@webkit.org [Fri, 15 Apr 2011 05:19:26 +0000 (05:19 +0000)]
2011-04-14  Alok Priyadarshi  <alokp@chromium.org>

        Reviewed by Adam Barth.

        Remove dependency on chromium skia::PlatformCanvas
        https://bugs.webkit.org/show_bug.cgi?id=57563

        Fixed compile error on Mac when using Core Graphics.

        * DumpRenderTree/chromium/WebViewHost.cpp:
        (WebViewHost::paintRect):

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

8 years ago2011-04-14 Joone Hur <joone.hur@collabora.co.uk>
joone.hur@collabora.co.uk [Fri, 15 Apr 2011 05:18:02 +0000 (05:18 +0000)]
2011-04-14  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        Creating a CairoPath instance is not thread safe
        https://bugs.webkit.org/show_bug.cgi?id=58514

        This patch allows a cairo surface to be created just one time in order to
        guarantee thread safety.
        In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to
        prevent confusing them with PathCairo.cpp

        * CMakeListsEfl.txt: Added PlatformPathCairo.cpp
        * GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h.
        * platform/graphics/cairo/CairoPath.h: Removed.
        * platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h.
        * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
        * platform/graphics/cairo/PathCairo.cpp: Ditto.
        * platform/graphics/cairo/PlatformPathCairo.cpp: Added.
        (WebCore::getPathSurface): Getting a static cairo surface.
        (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor
        into the CPP file.
        * platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this.
        (WebCore::CairoPath::~CairoPath):
        (WebCore::CairoPath::context):

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

8 years ago2011-04-14 Nat Duca <nduca@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 05:13:14 +0000 (05:13 +0000)]
2011-04-14  Nat Duca  <nduca@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Add lowpass filter and graph to fps indicator
        https://bugs.webkit.org/show_bug.cgi?id=58186

        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
        (WebCore::CCHeadsUpDisplay::drawHudContents):
        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
        (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
        (WebCore::CCHeadsUpDisplay::onPresent):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=58612
bdakin@apple.com [Fri, 15 Apr 2011 05:05:05 +0000 (05:05 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=58612
Crash switching overlay/non-overlay scrollbar preference
(WebCore::Page::setNeedsRecalcStyleInAllFrames + 9)
-and corresponding-
<rdar://problem/9241920>

Reviewed by Adele Peterson.

Speculative fix: Page could definitely be null here.
* page/FrameView.cpp:
(WebCore::FrameView::scrollbarStyleChanged):

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

8 years ago2011-04-14 Vsevolod Vlasov <vsevik@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 04:29:53 +0000 (04:29 +0000)]
2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: ResourceResponse should have encodedDataLength field for synchronous requests transfer size
        https://bugs.webkit.org/show_bug.cgi?id=58447

        FrameLoader now takes encoded data length for synchronous requests from the field with the same name.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadResourceSynchronously):
        * platform/network/ResourceLoadInfo.h:
        (WebCore::ResourceLoadInfo::ResourceLoadInfo):
2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: ResourceResponse should have encodedDataLength field for synchronous requests transfer size
        https://bugs.webkit.org/show_bug.cgi?id=58447

        FrameLoader now takes encoded data length for synchronous requests from the field with the same name.

        * public/WebHTTPLoadInfo.h:
        * src/WebHTTPLoadInfo.cpp:
        (WebKit::WebHTTPLoadInfo::encodedDataLength):
        (WebKit::WebHTTPLoadInfo::setEncodedDataLength):

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

8 years ago2011-04-14 Alok Priyadarshi <alokp@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 03:52:23 +0000 (03:52 +0000)]
2011-04-14  Alok Priyadarshi  <alokp@chromium.org>

        Reviewed by James Robinson.

        Remove dependency on chromium skia::PlatformCanvas
        https://bugs.webkit.org/show_bug.cgi?id=57563

        This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas. The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium. We will eventually define an API that every port using skia will define.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/ImageBufferDataSkia.h:
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/PlatformCanvas.cpp:
        (WebCore::PlatformCanvas::resize):
        * platform/graphics/chromium/PlatformCanvas.h:
        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::compositeTextComposite):
        (WebCore::TransparencyWin::makeLayerOpaque):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::paintSkBitmap):
        (WebCore::Image::drawPattern):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore::PlatformContextSkia::setCanvas):
        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
        * platform/graphics/skia/PlatformContextSkia.h:
        (WebCore::PlatformContextSkia::canvas):
        (WebCore::PlatformContextSkia::printing):
        (WebCore::PlatformContextSkia::setPrinting):
2011-04-14  Alok Priyadarshi  <alokp@chromium.org>

        Reviewed by James Robinson.

        Remove dependency on chromium skia::PlatformCanvas
        https://bugs.webkit.org/show_bug.cgi?id=57563

        * public/WebCanvas.h:
        * src/WebFrameImpl.cpp:
        (WebKit::WebFrameImpl::printPage):
        * tests/TransparencyWinTest.cpp:
        (WebCore::drawNativeRect):
        (WebCore::getPixelAt):
        (WebCore::clearTopLayerAlphaChannel):
        (WebCore::clearTopLayerAlphaPixel):
        (WebCore::TEST):
2011-04-14  Alok Priyadarshi  <alokp@chromium.org>

        Reviewed by James Robinson.

        Remove dependency on chromium skia::PlatformCanvas
        https://bugs.webkit.org/show_bug.cgi?id=57563

        * DumpRenderTree/chromium/TestShell.cpp:
        (makeCanvasOpaque):
        (TestShell::dumpImage):
        * DumpRenderTree/chromium/TestShell.h:
        * DumpRenderTree/chromium/WebThemeControlDRTWin.cpp:
        (WebThemeControlDRTWin::WebThemeControlDRTWin):
        (WebThemeControlDRTWin::draw):
        (WebThemeControlDRTWin::drawTextField):
        (WebThemeControlDRTWin::drawProgressBar):
        * DumpRenderTree/chromium/WebThemeControlDRTWin.h:
        * DumpRenderTree/chromium/WebViewHost.cpp:
        (WebViewHost::canvas):
        * DumpRenderTree/chromium/WebViewHost.h:

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

8 years ago2011-04-14 Eric Seidel <eric@webkit.org>
eric@webkit.org [Fri, 15 Apr 2011 03:48:42 +0000 (03:48 +0000)]
2011-04-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Simon Fraser.

        PumpSession should not call currentTime() in the constructor
        https://bugs.webkit.org/show_bug.cgi?id=55211

        currentTime() is expensive.  So we avoid calling it in the constructor
        and instead set startTime on the first check for a yield
        (which in the synchronous case never happens, and in the yielding
        case will happen immediately after the first token due to
        processedTokens being set to INT_MAX).

        This ended up being a large win on (my local copy of)
        peacekeeper's domDynamicCreationCreateElement:

        Before:
        avg 366.3333333333333
        median 366
        stdev 2.712112747574399
        min 362
        max 377

        After:
        avg 345.96666666666664
        median 346
        stdev 1.6829207415152454
        min 343
        max 349

        * html/parser/HTMLDocumentParser.cpp:
        * html/parser/HTMLParserScheduler.h:
        (WebCore::PumpSession::PumpSession):
        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):

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

8 years ago2011-04-14 Ami Fischman <fischman@google.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 03:43:35 +0000 (03:43 +0000)]
2011-04-14  Ami Fischman  <fischman@google.com>

        Reviewed by Eric Carlson.

        Update expectation to reflect removal of the -25px bottom margin.
        https://bugs.webkit.org/show_bug.cgi?id=58442

        * media/media-document-audio-repaint-expected.txt:
2011-04-14  Ami Fischman  <fischman@google.com>

        Reviewed by Eric Carlson.

        Remove unnecessary bottom margin of controls in video elements on media documents.
        This makes the cases of media documents and non-media documents consistent,
        and makes it possible to reason about the height of a rendered media document
        (needed e.g. for sizing iframes).

        This change is covered by (the currently Skipped, but soon-to-be-un-Skipped)
        media/video-controls-in-media-document.html layouttest (see bug 54634 for
        the un-Skipping).

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

        * css/mediaControls.css:
        (video:-webkit-full-page-media::-webkit-media-controls-panel):
        * css/mediaControlsEfl.css:
        (video:-webkit-full-page-media::-webkit-media-controls-panel):
        * css/mediaControlsQuickTime.css:
        (video:-webkit-full-page-media::-webkit-media-controls-panel):

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

8 years ago2011-04-14 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 15 Apr 2011 03:39:49 +0000 (03:39 +0000)]
2011-04-14  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Use opaque roots instead of direct marking for nodes in the DOM
        https://bugs.webkit.org/show_bug.cgi?id=58624

        A node treats the root of its tree (usually the document) as its opaque
        root during GC.

        This is needed for correctness in a generational GC world, but it also
        happens to be a 3.5X speedup in a DOM-heavy GC test (scratch-gc-dom2.html).

        * bindings/js/DOMWrapperWorld.cpp:
        (WebCore::isObservable):
        (WebCore::isReachableFromDOM): Moved a helper function from JSDOMBinding.
        We use this function to determine whether a node is observable.

        (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots): Start using
        our weak handle callback to determine reachability, instead of direct
        marking traversal through the DOM.

        * bindings/js/JSAttrCustom.cpp:
        (WebCore::JSAttr::markChildren): Updated to use the opaque roots mechanism
        instead of direct marking.

        * bindings/js/JSDOMBinding.cpp:
        * bindings/js/JSDOMBinding.h: Moved code mentioned above. Removed
        markDOMNodeWrapper because it is now unused. This is a good thing because
        markDOMNodeWrapper used deprecatedAppend, which is not compatible
        with generational GC.

        * bindings/js/JSDOMImplementationCustom.cpp:
        (WebCore::JSDOMImplementation::markChildren): Updated to use opaque roots.

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::markChildren): No need to mark our child nodes directly,
        since they will take care of themselves through the opaque roots mechanism.

        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::markChildren): Updated to use opaque roots.

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::markChildren): No need to mark our tree or our document
        directly, since they will take care of themselves through the opaque
        roots mechanism.

        * bindings/js/JSNodeCustom.h:
        (WebCore::root): Helper function for accessing the root of a node tree.
        This is O(1) while you're in the document, O(log(N)) when you're in a
        reasonably balanced disconnected tree, and O(N) in the pathological case
        of a disconnected tree that's shaped like a linked list. If average case
        O(long(N)) turns out to be too slow, we can optimize through use of
        rare data or an external hash table, but it is so uncommon that I have
        ignored it for now.

        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::markChildren): Updated to use opaque roots.

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

8 years ago2011-04-14 James Robinson <jamesr@chromium.org>
jamesr@google.com [Fri, 15 Apr 2011 03:30:59 +0000 (03:30 +0000)]
2011-04-14  James Robinson  <jamesr@chromium.org>

        Guess what? Chicken^W chromium test_expectations.txt update.

        * platform/chromium/test_expectations.txt:

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

8 years ago2011-04-14 Mike Reed <reed@google.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 03:18:36 +0000 (03:18 +0000)]
2011-04-14  Mike Reed  <reed@google.com>

        Reviewed by Kenneth Russell.

        fix shadows with gradients
        https://bugs.webkit.org/show_bug.cgi?id=58376

        No new tests. Existing tests exercise this
        LayoutTests/fast/canvas/canvas-fillPath-gradient-shadow.html

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):

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

8 years ago2011-04-14 Brian Salomon <bsalomon@google.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 03:08:44 +0000 (03:08 +0000)]
2011-04-14  Brian Salomon  <bsalomon@google.com>

        Reviewed by Kenneth Russell.

        In skia platform call SkBitmap::notifyPixelsChanged on WebGL readback
        https://bugs.webkit.org/show_bug.cgi?id=58543

        No new tests. Tested by fast/canvas/webgl/canvas-test.html

        * src/GraphicsContext3DChromium.cpp:
        (WebCore::GraphicsContext3DInternal::paintRenderingResultsToCanvas):

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

8 years agoSkip a test in WK2 that requires
aestes@apple.com [Fri, 15 Apr 2011 02:54:58 +0000 (02:54 +0000)]
Skip a test in WK2 that requires
layoutTestController.overridePreference().

* platform/mac-wk2/Skipped:

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

8 years ago2011-04-14 Vsevolod Vlasov <vsevik@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 02:40:13 +0000 (02:40 +0000)]
2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: No headers information in network panel for downloads.
        https://bugs.webkit.org/show_bug.cgi?id=58139

        Passed resource response to inspector for PolicyDownload and PolicyIgnore requests.

        * http/tests/inspector/network/download-expected.txt: Added.
        * http/tests/inspector/network/download.html: Added.
        * http/tests/inspector/network/resources/download.zzz: Added.
2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: No headers information in network panel for downloads.
        https://bugs.webkit.org/show_bug.cgi?id=58139

        Passed resource response to inspector for PolicyDownload and PolicyIgnore requests.

        Test: http/tests/inspector/network/download.html

        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
        (WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl):
        (WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
        (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):

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

8 years ago2011-04-14 Joone Hur <joone.hur@collabora.co.uk>
joone.hur@collabora.co.uk [Fri, 15 Apr 2011 02:12:11 +0000 (02:12 +0000)]
2011-04-14  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        Convert use of raw pointers to RefPtr in using Cairo
        https://bugs.webkit.org/show_bug.cgi?id=57717

        No new tests added becaue of just replacing raw pointers with smart pointers.

        * platform/graphics/cairo/ContextShadowCairo.cpp: Use a RefPtr<cairo_surface_t> instead of raw pointer.
        (WebCore::purgeScratchBuffer):
        (WebCore::getScratchBuffer):
        * platform/graphics/cairo/ImageBufferCairo.cpp: Use a RefPtr<cairo_t> instead of raw pointer.
        (copySurface):

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

8 years ago2011-04-14 Grzegorz Czajkowski <g.czajkowski@samsung.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 02:12:05 +0000 (02:12 +0000)]
2011-04-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Reviewed by Antonio Gomes.

        Memory cache API
        https://bugs.webkit.org/show_bug.cgi?id=58016

        * ewk/ewk_settings.cpp:
        (ewk_settings_cache_enable_get):
        (ewk_settings_cache_enable_set):
        (ewk_settings_cache_capacity_set):
        * ewk/ewk_settings.h:

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

8 years ago2011-04-14 Naoki Takano <takano.naoki@gmail.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 02:09:01 +0000 (02:09 +0000)]
2011-04-14  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Eric Seidel.

        [Chromium]Change menu list background fallback value to transparent to work background:none for HTML select tag.
        https://bugs.webkit.org/show_bug.cgi?id=57818

        * fast/forms/select-background-none.html: Added.
        * platform/chromium-mac/fast/forms/select-background-none-expected.checksum: Added.
        * platform/chromium-mac/fast/forms/select-background-none-expected.png: Added.
        * platform/chromium-mac/fast/forms/select-background-none-expected.txt: Added.
        * platform/chromium-linux/fast/forms/select-background-none-expected.checksum: Added.
        * platform/chromium-linux/fast/forms/select-background-none-expected.png: Added.
        * platform/chromium-linux/fast/forms/select-background-none-expected.txt: Added.
        * platform/mac/fast/forms/select-background-none-expected.txt: Added.
2011-04-14  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Eric Seidel.

        [Chromium]Change menu list background fallback value to transparent to work background:none for HTML select tag.
        https://bugs.webkit.org/show_bug.cgi?id=57818

        Test: fast/forms/select-background-none.html

        This fix is only for Chromium on Linux. Chromium on Mac already works fine.
        But Windows has the same problem. This change doesn't include Windows part.

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::paintMenuList): Change the default color to transparent.

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

8 years agoHide DFG_JIT_RESTRICTIONS behind ARITHMETIC_OP() macro, and rename
barraclough@apple.com [Fri, 15 Apr 2011 01:54:54 +0000 (01:54 +0000)]
Hide DFG_JIT_RESTRICTIONS behind ARITHMETIC_OP() macro, and rename
m_regressionGuard to m_parseFailed, such that it can be reused for
other failure cases.

Rubber stamped by Geoffrey Garen.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::ByteCodeParser):
(JSC::DFG::ByteCodeParser::parse):

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

8 years ago2011-04-14 Keith Kyzivat <keith.kyzivat@nokia.com>
commit-queue@webkit.org [Fri, 15 Apr 2011 01:44:04 +0000 (01:44 +0000)]
2011-04-14  Keith Kyzivat  <keith.kyzivat@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Add -maximize flag to QtTestBrowser and MiniBrowser
        https://bugs.webkit.org/show_bug.cgi?id=58007

        Adds flag to start the test browsers maximized.
        Symbian started maximized on QtTestBrowser - made MiniBrowser follow
        suit.
        Also fixes some ToggleFullScreen issues so that prior window state is
        restored.

        * MiniBrowser/qt/BrowserWindow.cpp:
        (BrowserWindow::BrowserWindow):
        (BrowserWindow::toggleFullScreenMode):
        * MiniBrowser/qt/MiniBrowserApplication.cpp:
        (MiniBrowserApplication::handleUserOptions):
        * MiniBrowser/qt/MiniBrowserApplication.h:
        (WindowOptions::WindowOptions):
        * QtTestBrowser/launcherwindow.cpp:
        (LauncherWindow::init):
        (LauncherWindow::toggleFullScreenMode):
        * QtTestBrowser/launcherwindow.h:
        (WindowOptions::WindowOptions):
        * QtTestBrowser/main.cpp:
        (LauncherApplication::handleUserOptions):

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

8 years ago2011-04-14 Adrienne Walker <enne@google.com>
enne@google.com [Fri, 15 Apr 2011 01:35:26 +0000 (01:35 +0000)]
2011-04-14  Adrienne Walker  <enne@google.com>

        [chromium] Unreviewed, update test expectations for huge-layer-img.

        * platform/chromium/test_expectations.txt:

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

8 years ago2011-04-14 Luke Macpherson <macpherson@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 01:32:31 +0000 (01:32 +0000)]
2011-04-14  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Dimitri Glazkov.

        Implement border style css properties in CSSStyleApplyProperty
        https://bugs.webkit.org/show_bug.cgi?id=58506

        No new functionality added.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Added new property initializers.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Removed old property handlers.

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

8 years ago2011-04-14 Leandro Gracia Gil <leandrogracia@chromium.org>
commit-queue@webkit.org [Fri, 15 Apr 2011 01:28:58 +0000 (01:28 +0000)]
2011-04-14  Leandro Gracia Gil  <leandrogracia@chromium.org>

        Reviewed by Steve Block.

        [Chromium] Two new tests added by r83287 fail in chromium
        https://bugs.webkit.org/show_bug.cgi?id=58147

        Solved by enabling the Media Stream API in the chromium feature override file.

        * platform/chromium/test_expectations.txt:

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

8 years agoBug 58620 - DFG JIT - loading of arguments should not be lazy
barraclough@apple.com [Fri, 15 Apr 2011 01:28:44 +0000 (01:28 +0000)]
Bug 58620 - DFG JIT - loading of arguments should not be lazy

Reviewed by Geoffrey Garen.

This optimization is overly simplistic. It only works because we never
write out definitions to arguments (since we currently only compile
single block functions). Revert this for now, we may want to reintroduce
something like this again in the future, but it will need to be aware
how to schedule definitions to arguments versus lazy loads that have not
yet been performed.

* dfg/DFGGenerationInfo.h:
(JSC::DFG::GenerationInfo::needsSpill):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::fillInteger):
(JSC::DFG::JITCodeGenerator::fillDouble):
(JSC::DFG::JITCodeGenerator::fillJSValue):
* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::JITCodeGenerator::initConstantInfo):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::fillNumericToDouble):
(JSC::DFG::JITCompiler::fillInt32ToInteger):
(JSC::DFG::JITCompiler::fillToJS):
* dfg/DFGNonSpeculativeJIT.cpp:
(JSC::DFG::NonSpeculativeJIT::isKnownInteger):
(JSC::DFG::NonSpeculativeJIT::isKnownNumeric):
(JSC::DFG::NonSpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compile):

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

8 years ago2011-04-14 Adrienne Walker <enne@google.com>
enne@google.com [Fri, 15 Apr 2011 01:24:30 +0000 (01:24 +0000)]
2011-04-14  Adrienne Walker  <enne@google.com>

        [chromium] Unreviewed, update test expectations.
        https://bugs.webkit.org/show_bug.cgi?id=58619

        * platform/chromium/test_expectations.txt:

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

8 years ago2011-04-14 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Fri, 15 Apr 2011 01:05:48 +0000 (01:05 +0000)]
2011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Ojan Vafai.

        Presence of shadow DOM should suppress rendering of ordinary child nodes
        https://bugs.webkit.org/show_bug.cgi?id=58073

        * fast/dom/shadow/no-renderers-for-light-children-expected.txt: Added.
        * fast/dom/shadow/no-renderers-for-light-children.html: Added.
2011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Ojan Vafai.

        Presence of shadow DOM should suppress rendering of ordinary child nodes
        https://bugs.webkit.org/show_bug.cgi?id=58073

        Test: fast/dom/shadow/no-renderers-for-light-children.html

        * dom/Node.cpp:
        (WebCore::shadowRoot): Added a helper function.
        (WebCore::Node::setDocumentRecursively): Changed to use the helper.
        (WebCore::shouldCreateRendererFor): Expanded a long condition check into a helper function,
            added a check for children of an element with a shadow DOM.
        (WebCore::Node::createRendererAndStyle): Changed to use the helper.

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

8 years ago2011-04-14 James Robinson <jamesr@chromium.org>
jamesr@google.com [Fri, 15 Apr 2011 01:02:48 +0000 (01:02 +0000)]
2011-04-14  James Robinson  <jamesr@chromium.org>

        Add correct chromium expectation for compositing/layer-creation/overflow-scroll-overlap

        * platform/chromium-gpu/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

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

8 years ago2011-04-14 James Robinson <jamesr@chromium.org>
jamesr@google.com [Fri, 15 Apr 2011 00:58:12 +0000 (00:58 +0000)]
2011-04-14  James Robinson  <jamesr@chromium.org>

        Update chromium test expectations.

        * platform/chromium-gpu/compositing/layer-creation: Removed.
        * platform/chromium/test_expectations.txt:

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

8 years ago2011-04-14 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 15 Apr 2011 00:51:05 +0000 (00:51 +0000)]
2011-04-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Select All context menu item doesn't work in Flash
        https://bugs.webkit.org/show_bug.cgi?id=58615
        <rdar://problem/9225761>

        In some cases, -[NSWindow isKeyWindow] will return false even if
        a window is the key window, so we have to compare our window
        against -[NSApplication keyWindow].

        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isViewWindowActive):

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

8 years ago2011-04-14 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 15 Apr 2011 00:47:25 +0000 (00:47 +0000)]
2011-04-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add CFPreference based backend for WebKit2 preferences
        https://bugs.webkit.org/show_bug.cgi?id=58605

        * UIProcess/cf/WebPreferencesCF.cpp:
        (WebKit::cfStringFromWebCoreString):
        (WebKit::makeKey):
        (WebKit::setStringValueIfInUserDefaults):
        (WebKit::setBoolValueIfInUserDefaults):
        (WebKit::setUInt32ValueIfInUserDefaults):
        (WebKit::setDoubleValueIfInUserDefaults):
        (WebKit::WebPreferences::platformInitializeStore):
        (WebKit::WebPreferences::platformUpdateStringValueForKey):
        (WebKit::WebPreferences::platformUpdateBoolValueForKey):
        (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
        (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
        Implement platform functions using CFPreferences API.

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

8 years ago2011-04-14 Ojan Vafai <ojan@chromium.org>
ojan@chromium.org [Fri, 15 Apr 2011 00:44:42 +0000 (00:44 +0000)]
2011-04-14  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        add checkbox to only show unexpected results to new results file
        https://bugs.webkit.org/show_bug.cgi?id=58606

        * Scripts/webkitpy/layout_tests/layout_package/json_results.html:

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

8 years agoBug 58600 - DFG JIT bugs in ValueToInt, PutByVal
barraclough@apple.com [Fri, 15 Apr 2011 00:25:59 +0000 (00:25 +0000)]
Bug 58600 - DFG JIT bugs in ValueToInt, PutByVal

Reviewed by Geoffrey Garen.

The bug in PutByVal is that an operand is in JSValueOperand - when this
locks an integer into a register it will always retag the value without
checking if the register is already locked. This is a problem where the
value being stored by a PutByVal is the same as the subscript.
The subscript is locked into a register first, as a strict integer.
Locking the value results in the subscript being modified.

The bug in ValueToInt related to the function of sillentFillAllRegisters.
The problem is that this method will restore all register values from
prior to the call, overwriting the result of the call out. Allow a
register to be passed to specifically be excluded from being preserved.

Source/JavaScriptCore:

* assembler/ARMAssembler.h:
(JSC::ARMAssembler::debugOffset):
* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::ARMInstructionFormatter::debugOffset):
* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::debugOffset):
* assembler/AssemblerBuffer.h:
(JSC::AssemblerBuffer::debugOffset):
* assembler/LinkBuffer.h:
(JSC::LinkBuffer::debugAddress):
* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::debugOffset):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::orPtr):
* assembler/X86Assembler.h:
(JSC::X86Assembler::debugOffset):
(JSC::X86Assembler::X86InstructionFormatter::debugOffset):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGGenerationInfo.h:
* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::fillJSValue):
* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::JITCodeGenerator::isConstant):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::isConstant):
* dfg/DFGNonSpeculativeJIT.cpp:
(JSC::DFG::NonSpeculativeJIT::valueToNumber):
(JSC::DFG::NonSpeculativeJIT::valueToInt32):
(JSC::DFG::NonSpeculativeJIT::numberToInt32):
(JSC::DFG::NonSpeculativeJIT::isKnownInteger):
(JSC::DFG::NonSpeculativeJIT::isKnownNumeric):
(JSC::DFG::NonSpeculativeJIT::compile):
* dfg/DFGNonSpeculativeJIT.h:
(JSC::DFG::NonSpeculativeJIT::silentSpillGPR):
(JSC::DFG::NonSpeculativeJIT::silentSpillFPR):
(JSC::DFG::NonSpeculativeJIT::silentFillGPR):
(JSC::DFG::NonSpeculativeJIT::silentFillFPR):
(JSC::DFG::NonSpeculativeJIT::silentSpillAllRegisters):
(JSC::DFG::NonSpeculativeJIT::silentFillAllRegisters):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

* fast/js/array-index-immediate-types-expected.txt:
* fast/js/script-tests/array-index-immediate-types.js:
(putSelf):

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

8 years ago2011-04-14 Adrienne Walker <enne@google.com>
enne@google.com [Fri, 15 Apr 2011 00:16:51 +0000 (00:16 +0000)]
2011-04-14  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] Tile content and image layers
        https://bugs.webkit.org/show_bug.cgi?id=57113

        Rebaseline a number of image tests where slight filtering differences
        from using tiles caused test failures with exact pixel matching.
        None of these results are perceptually different.

        * platform/chromium-gpu-linux/compositing/color-matching/image-color-matching-expected.checksum:
        * platform/chromium-gpu-linux/compositing/color-matching/image-color-matching-expected.png:
        * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.checksum:
        * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.png:
        * platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.checksum:
        * platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.png:
        * platform/chromium-gpu-linux/fast/canvas/canvas-text-baseline-expected.checksum:
        * platform/chromium-gpu-linux/fast/canvas/canvas-text-baseline-expected.png:
        * platform/chromium-gpu-mac/compositing/color-matching/image-color-matching-expected.checksum:
        * platform/chromium-gpu-mac/compositing/color-matching/image-color-matching-expected.png:
        * platform/chromium-gpu-mac/compositing/text-on-large-layer-expected.checksum:
        * platform/chromium-gpu-mac/compositing/text-on-large-layer-expected.png:
        * platform/chromium-gpu-win/compositing/color-matching/image-color-matching-expected.checksum:
        * platform/chromium-gpu-win/compositing/color-matching/image-color-matching-expected.png:
        * platform/chromium-gpu-win/compositing/text-on-large-layer-expected.checksum:
        * platform/chromium-gpu-win/compositing/text-on-large-layer-expected.png:
        * platform/chromium-gpu-win/fast/canvas/canvas-text-alignment-expected.checksum:
        * platform/chromium-gpu-win/fast/canvas/canvas-text-alignment-expected.png:
        * platform/chromium-gpu-win/fast/canvas/canvas-text-baseline-expected.checksum:
        * platform/chromium-gpu-win/fast/canvas/canvas-text-baseline-expected.png:
        * platform/chromium/test_expectations.txt:
2011-04-14  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] Tile content and image layers
        https://bugs.webkit.org/show_bug.cgi?id=57113

        Layers tile by default if any dimension is larger than 512.  Smaller
        layers are contained within a single texture but still use the tiler
        infrastructure so that there's only one code path.

        Remove large layer support from content layers.  Content layers no
        longer own a platform canvas--they own a tiler.  Refactor tiler to
        allow for better separation of update/upload/paint.  Add rect
        parameter to update and draw functions on layers for the layer-space
        rect of interest.  This is necessary to know which tiles need to be
        drawn.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        (WebCore::ContentLayerChromium::~ContentLayerChromium):
        (WebCore::ContentLayerPainter::ContentLayerPainter):
        (WebCore::ContentLayerPainter::paint):
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::setLayerRenderer):
        (WebCore::ContentLayerChromium::tilingTransform):
        (WebCore::ContentLayerChromium::visibleLayerRect):
        (WebCore::ContentLayerChromium::layerBounds):
        (WebCore::ContentLayerChromium::updateLayerSize):
        (WebCore::ContentLayerChromium::draw):
        (WebCore::ContentLayerChromium::createTilerIfNeeded):
        (WebCore::ContentLayerChromium::updateCompositorResources):
        (WebCore::ContentLayerChromium::setTilingOption):
        (WebCore::ContentLayerChromium::bindContentsTexture):
        (WebCore::ContentLayerChromium::unreserveContentsTexture):
        (WebCore::ContentLayerChromium::setIsMask):
        (WebCore::ContentLayerChromium::dumpLayerProperties):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore::ContentLayerChromium::drawsContent):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setMaskLayer):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        (WebCore::ImageLayerChromium::updateCompositorResources):
        (WebCore::ImageLayerChromium::layerBounds):
        (WebCore::ImageLayerChromium::tilingTransform):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::invalidateRect):
        (WebCore::LayerChromium::paintContentsIfDirty):
        (WebCore::LayerChromium::setIsMask):
        (WebCore::LayerChromium::draw):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawRootLayer):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::paintContentsRecursive):
        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::setTileSize):
        (WebCore::LayerTilerChromium::getSingleTexture):
        (WebCore::LayerTilerChromium::invalidateRect):
        (WebCore::LayerTilerChromium::update):
        (WebCore::LayerTilerChromium::uploadCanvas):
        (WebCore::LayerTilerChromium::updateFromPixels):
        (WebCore::LayerTilerChromium::draw):
        (WebCore::LayerTilerChromium::unreserveTextures):
        * platform/graphics/chromium/LayerTilerChromium.h:
        (WebCore::LayerTilerChromium::setLayerRenderer):
        (WebCore::LayerTilerChromium::skipsDraw):
        * platform/graphics/chromium/PlatformCanvas.cpp:
        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
        (WebCore::PlatformCanvas::Painter::Painter):
        * platform/graphics/chromium/PlatformCanvas.h:
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::draw):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
        (WebCore::CCCanvasLayerImpl::draw):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::draw):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::draw):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
        (WebCore::CCPluginLayerImpl::draw):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::draw):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:

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

8 years ago2011-04-14 James Robinson <jamesr@chromium.org>
jamesr@google.com [Thu, 14 Apr 2011 23:54:25 +0000 (23:54 +0000)]
2011-04-14  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] REGRESSION(83820): Composited scrollbar layers sometimes not positioned when initially creating frame
        https://bugs.webkit.org/show_bug.cgi?id=58575

        Remove expected failure lines for pixel tests that now should pass.

        * platform/chromium/test_expectations.txt:
2011-04-14  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] REGRESSION(83820): Composited scrollbar layers sometimes not positioned when initially creating frame
        https://bugs.webkit.org/show_bug.cgi?id=58575

        Tell the RenderLayerCompositor to create/destroy composited layers for overflow controls on a FrameView when visibleContentsResized()
        is called, not contentsResized() so that we always update layers when adding or removing scrollbars.

        Covered by several chromium pixel tests.

        * page/FrameView.cpp:
        (WebCore::FrameView::contentsResized):
        (WebCore::FrameView::visibleContentsResized):

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

8 years agoFix some threading issues in IconDatabase.
levin@chromium.org [Thu, 14 Apr 2011 23:52:06 +0000 (23:52 +0000)]
Fix some threading issues in IconDatabase.
https://bugs.webkit.org/show_bug.cgi?id=57985

Reviewed by Brady Eidson.

No functionality change so no new tests. It would be very hard to test this, but
I am working on a change for bug 31639 to detect these (which makes layout tests
fail for at least one of these issues).

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::readFromDatabase): Release imageData so that it won't get deref'ed outside of locks.
(WebCore::IconDatabase::writeToDatabase): Acquire m_urlAndIconLock because the SharedBuffer<> data
is used, and this lock seems to be the one which consistently guards it.

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

8 years ago2011-04-13 Brent Fulgham <bfulgham@webkit.org>
bfulgham@webkit.org [Thu, 14 Apr 2011 23:31:51 +0000 (23:31 +0000)]
2011-04-13  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Martin Robinson.

        [WinCairo] Implement ImageDiff Logic.
        http://bugs.webkit.org/show_bug.cgi?id=58486

        * DumpRenderTree/win/ImageDiffCairo.cpp: Added.
        (strtof):
        (readFromData):
        (createImageFromStdin):
        (releaseMallocBuffer):
        (createDifferenceImage):
        (imageHasAlpha):
        (writeToData):
        (main):
        * DumpRenderTree/win/ImageDiff.vcproj: Updated for new
          ImageDiffCairo.cpp (excluding from Apple builds).
        * DumpRenderTree/win/ImageDiffDebugCairoCFLite.vsprops: Use
          new ImageDiffWinCairoCommon.vsprops file.
        * DumpRenderTree/win/ImageDiffReleaseCairoCFLite.vsprops: Use
          new ImageDiffWinCairoCommon.vsprops file.
        * DumpRenderTree/win/ImageDiffWinCairoCommon.vsprops: Added.
        * Scripts/old-run-webkit-tests: Make sure proper executable
          is built and executed for WinCairo port.

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

8 years ago2011-04-14 Chris Rogers <crogers@google.com>
crogers@google.com [Thu, 14 Apr 2011 23:25:46 +0000 (23:25 +0000)]
2011-04-14  Chris Rogers  <crogers@google.com>

        Unreviewed.

        Update preload-slow-loading.php in test_expectations.txt
        https://bugs.webkit.org/show_bug.cgi?id=58597

        * platform/chromium/test_expectations.txt:

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

8 years ago2011-04-14 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 14 Apr 2011 23:20:25 +0000 (23:20 +0000)]
2011-04-14  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Drain the mark stack while marking weak handles, not after.
        https://bugs.webkit.org/show_bug.cgi?id=58574

        Otherwise, items that would have caused more weak handle marking are
        processed after all weak handle marking has finished, and referenced
        weak handles get recycled.

        * heap/HandleHeap.cpp:
        (JSC::HandleHeap::markWeakHandles): Removed looping from here, since we
        want Heap::markRoots to be responsible for draining the mark stack.

        * heap/Heap.cpp:
        (JSC::Heap::markRoots): Moved looping to here, as explained above.

        For efficiency's sake, drain the mark stack before starting to mark weak
        handles. Otherwise, items drained while marking weak handles may force
        an extra trip through the weak handle list.

        For correctness's sake, drain the mark stack each time through the weak
        handle list. Otherwise, opaque roots that would make weak handles reachable
        are not discovered until after weak handle marking is over.

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

8 years ago<rdar://problem/8665102> and https://bugs.webkit.org/show_bug.cgi?id=58595
beidson@apple.com [Thu, 14 Apr 2011 23:13:35 +0000 (23:13 +0000)]
<rdar://problem/8665102> and https://bugs.webkit.org/show_bug.cgi?id=58595
Menu is not displayed for <input type=search results="5">

Reviewed by Sam Weinig.

* WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
(WebKit::WebSearchPopupMenu::enabled): Return true, like all good search popup menus should.

* WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
(WebKit::WebPopupMenu::setUpPlatformData): Remember the shouldPopOver-ness.

* Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::encode): Remember the shouldPopOver-ness.
(WebKit::PlatformPopupMenuData::decode): Remember the shouldPopOver-ness.
* Shared/PlatformPopupMenuData.h:

* UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::showPopupMenu): Use the shouldPopOver-ness to adjust display position.

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

8 years ago2011-04-14 Ojan Vafai <ojan@chromium.org>
ojan@chromium.org [Thu, 14 Apr 2011 23:12:12 +0000 (23:12 +0000)]
2011-04-14  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        only show expected failure type for ports that use an expectations file
        https://bugs.webkit.org/show_bug.cgi?id=58588

        * Scripts/webkitpy/layout_tests/layout_package/json_results.html:
        * Scripts/webkitpy/layout_tests/layout_package/test_runner.py:

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

8 years agoAdd a comment with the bugzilla URL that tracks implementing
aestes@apple.com [Thu, 14 Apr 2011 23:08:45 +0000 (23:08 +0000)]
Add a comment with the bugzilla URL that tracks implementing
layoutTestController.setPluginsEnabled() in WebKitTestRunner.

* platform/mac-wk2/Skipped:

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

8 years ago2011-04-14 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 14 Apr 2011 22:55:46 +0000 (22:55 +0000)]
2011-04-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        commit-queue fails to catch IOError when results.html is missing
        https://bugs.webkit.org/show_bug.cgi?id=58589

        * Scripts/webkitpy/tool/commands/queues.py:
        * Scripts/webkitpy/tool/commands/queues_unittest.py:

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

8 years ago2011-04-14 Chris Rogers <crogers@google.com>
crogers@google.com [Thu, 14 Apr 2011 22:48:31 +0000 (22:48 +0000)]
2011-04-14  Chris Rogers  <crogers@google.com>

        Unreviewed.

        Rebaseline fast/box-shadow/box-shadow-transformed.html
        and other test_expectations.txt fixup
        https://bugs.webkit.org/show_bug.cgi?id=58585

        * platform/chromium-mac/fast/box-shadow/box-shadow-transformed-expected.checksum: Removed.
        * platform/chromium-mac/fast/box-shadow/box-shadow-transformed-expected.png:
        * platform/chromium/test_expectations.txt:

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

8 years ago2011-04-14 Dirk Pranke <dpranke@chromium.org>
dpranke@chromium.org [Thu, 14 Apr 2011 22:42:33 +0000 (22:42 +0000)]
2011-04-14  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Mark several tests as only failing in Linux debug, add a bug
        number.

        * platform/chromium/test_expectations.txt:

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

8 years ago[wx] Unreviewed build fix for Mac installation script.
kevino@webkit.org [Thu, 14 Apr 2011 22:32:10 +0000 (22:32 +0000)]
[wx] Unreviewed build fix for Mac installation script.

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

8 years ago2011-04-14 Ojan Vafai <ojan@chromium.org>
ojan@chromium.org [Thu, 14 Apr 2011 22:22:11 +0000 (22:22 +0000)]
2011-04-14  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Tony Chang.

        sort columns in the new json_results.html file
        https://bugs.webkit.org/show_bug.cgi?id=58581

        Also fix padding on TDs and the path to layout tests.

        * Scripts/webkitpy/layout_tests/layout_package/json_results.html:

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

8 years ago2011-04-14 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 14 Apr 2011 22:16:12 +0000 (22:16 +0000)]
2011-04-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Crash in NetscapePluginModule::tryGetSitesWithData when NPP_GetSitesWithData returns null
        https://bugs.webkit.org/show_bug.cgi?id=58578
        <rdar://problem/9275201>

        It's OK for NPP_GetSitesWithData to return null.

        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
        (WebKit::NetscapePluginModule::tryGetSitesWithData):

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

8 years agoSimplifying Worker termination sequence (removing unnecessary mutex)
dimich@chromium.org [Thu, 14 Apr 2011 22:14:01 +0000 (22:14 +0000)]
Simplifying Worker termination sequence (removing unnecessary mutex)
https://bugs.webkit.org/show_bug.cgi?id=57090

Reviewed by David Levin.

Source/WebCore:

No new tests. Existing Worker tests should pass.

* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
Check for Terminator-caused exception (or Terminator::shouldTerminate since sometimes
JS might not run significant enough chunk to be terminated by Terminator) and set
the flag to forbid future reentry into JS.

* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::scheduleExecutionTermination):
(WebCore::WorkerScriptController::forbidExecution):
(WebCore::WorkerScriptController::isExecutionForbidden):
* bindings/js/WorkerScriptController.h:
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::scheduleExecutionTermination):
(WebCore::WorkerScriptController::forbidExecution):
(WebCore::WorkerScriptController::isExecutionForbidden):
* bindings/v8/WorkerScriptController.h:
(WebCore::WorkerScriptController::proxy):
Symmetrical changes to JSC and V8 WorkerScriptControllers:
- remove Mutex around operations with executionForbidden flag.
- set/check that flag only on Worker thread.
- some renaming in attempt to better reflect what the methods do.

* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::handleEvent):
(WebCore::V8AbstractEventListener::invokeEventHandler):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::evaluate):
Check for v8::TryCatch::CanContinue() and set forbidExecution flag.
This result indicates that TerminateExecution() was in effect - we should
not reenter V8 anymore after that.

* dom/Document.h:
(WebCore::Document::isJSExecutionForbidden):
* dom/MessagePort.cpp:
(WebCore::MessagePort::dispatchMessages):
Stop dispatching messages once the worker context started to close.
Per Workers spec, once WorkerGlobalScope.Close() is called, the next
JS execution does not happen, including onmessage events. Before this
change, Close() was setting the forbidExecution flag, indirectly stopping
events from dispatching.

* dom/ScriptExecutionContext.h:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::close):
(WebCore::WorkerContext::isJSExecutionForbidden):
* workers/WorkerContext.h:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThread::stop):

LayoutTests:

* fast/workers/resources/shared-worker-lifecycle.js:
(createWorkerFrame): Fixing flaky worker test - removing document.write().

When document.write() is called directly from inline script as in this test, it appends to the document.
However, if worker threads from previously run test are still exiting,
the test defers itself using setTimeout() and in this case document.write() overwrites the whole document
and makes the test fail.

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=56493
bdakin@apple.com [Thu, 14 Apr 2011 22:09:04 +0000 (22:09 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=56493
Drag-scrolling overlay scrollbars thumb in overflow regions does not work
-and corresponding-
<rdar://problem/9112688>

Reviewed by Simon Fraser.

There was an original change to fix this in the normal hit-testing case, but hit
testing of transformed and/or positioned objects was still broken. The transformed
case is fixed by sending an OverlayScrollbarSizeRelevancy parameter to
calculateRects(). Getting positioned objects right is a little trickier. Those need
to opt into using temporary clip rects during hit testing. To avoid doing that when
it is not necessary, I added a new bit to ScrollView to track whether there are
currently overlay scrollbars painted in the view.
* platform/ScrollView.cpp:
(WebCore::ScrollView::ScrollView):
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
(WebCore::ScrollView::containsScrollableAreaWithOverlayScrollbars):
(WebCore::ScrollView::setContainsScrollableAreaWithOverlayScrollbars):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintOverflowControls):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateClipRects):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::backgroundClipRect):
(WebCore::RenderLayer::calculateRects):
* rendering/RenderLayer.h:

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

8 years agoVersioning.
lforschler@apple.com [Thu, 14 Apr 2011 21:59:28 +0000 (21:59 +0000)]
Versioning.

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

8 years agoREGRESSION(r74107): Including svg format in @font-face rules makes Web Fonts fail...
antti@apple.com [Thu, 14 Apr 2011 21:46:56 +0000 (21:46 +0000)]
REGRESSION(r74107): Including svg format in @font-face rules makes Web Fonts fail to load
https://bugs.webkit.org/show_bug.cgi?id=57766
<rdar://problem/9232183>

Reviewed by Oliver Hunt.

Source/WebCore:

Move the knowledge of whether to interpret a font as SVG from CachedFont to CSSFontFaceSource. This way
we can try to interpret the same cached resource in multiple ways.

Test: fast/css/font-face-repeated-url.html

* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::CSSFontFaceSource):
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontFaceSource.h:
(WebCore::CSSFontFaceSource::setHasExternalSVGFont):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::ensureSVGFontData):

    Use TextResourceDecoder correctly.

(WebCore::CachedFont::getSVGFontById):
* loader/cache/CachedFont.h:
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::loadFont):

LayoutTests:

* fast/css/font-face-repeated-url-expected.txt: Added.
* fast/css/font-face-repeated-url.html: Added.

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

8 years agoMake creating WebPreferences lazy
weinig@apple.com [Thu, 14 Apr 2011 21:39:08 +0000 (21:39 +0000)]
Make creating WebPreferences lazy
https://bugs.webkit.org/show_bug.cgi?id=58570

Reviewed by Anders Carlsson.

* UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::WebPageGroup):
(WebKit::WebPageGroup::~WebPageGroup):
(WebKit::WebPageGroup::setPreferences):
(WebKit::WebPageGroup::preferences):
* UIProcess/WebPageGroup.h:
Don't create the WebPreference object until it is requested.

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