profile/ivi/webkit-efl.git
12 years agoWeb Inspector: switch heap profiler front-end to separate storage of nodes and edges
yurys@chromium.org [Thu, 29 Mar 2012 12:38:43 +0000 (12:38 +0000)]
Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
https://bugs.webkit.org/show_bug.cgi?id=82453

PerformanceTests:

Updated heap profiler performance test after heap profiler front-end
changes.

Reviewed by Pavel Feldman.

* inspector/detailed-heapshots-smoke-test.html:

Source/WebCore:

When heap snapshot is completely loaded move nodes and containment edges
into two separate arrays. This way we don't need _nodeIndex and _nodePosition
maps to go from node offset inside the raw snapshot to its index and back, instead
we may just divide node offset by the number of node fields to get node index. After
the nodes and containment edges are separated original array (_nodes) is dropped.
All front-end code was switched to the new representation.

Reviewed by Pavel Feldman.

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshotRetainerEdge):
(WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
(WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
(WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
(WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
(WebInspector.HeapSnapshotNode.prototype.get edgesCount):
(WebInspector.HeapSnapshotNode.prototype.get rawEdges):
(WebInspector.HeapSnapshotNode.prototype.get retainers):
(WebInspector.HeapSnapshotNode.prototype.get _nodes):
(WebInspector.HeapSnapshotNode.prototype._firstEdgeIndex):
(WebInspector.HeapSnapshotNode.prototype._afterLastEdgeIndex):
(WebInspector.HeapSnapshotNode.prototype.get _nextNodeIndex):
(WebInspector.HeapSnapshot.prototype._init):
(WebInspector.HeapSnapshot.prototype._splitNodesAndContainmentEdges):
(WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
(WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
(WebInspector.HeapSnapshot.prototype._buildRetainers):
(WebInspector.HeapSnapshot.prototype.dispose):
(WebInspector.HeapSnapshot.prototype.get maxNodeId):
(WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
(WebInspector.HeapSnapshot.prototype._bfs):
(WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
(WebInspector.HeapSnapshot.prototype._getDominatedIndex):
(WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
(WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):

LayoutTests:

Updated heap profiler test after switching heap profiler front-end
to the new representation of nodes and edges.

Reviewed by Pavel Feldman.

* inspector/profiler/heap-snapshot-expected.txt:
* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest.InspectorTest.createHeapSnapshotMockObject):
* inspector/profiler/heap-snapshot.html:

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

12 years ago[Qt] Unreviewed gardening. Skip the new fast/dom/shadow tests because ENABLE(SHADOW_D...
kkristof@inf.u-szeged.hu [Thu, 29 Mar 2012 12:33:44 +0000 (12:33 +0000)]
[Qt] Unreviewed gardening. Skip the new fast/dom/shadow tests because ENABLE(SHADOW_DOM) is disabled.

* platform/qt/Skipped: Skip the failing tests

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

12 years ago[BlackBerry] Add m_targetType to WorkerScriptLoader
leo.yang@torchmobile.com.cn [Thu, 29 Mar 2012 12:31:50 +0000 (12:31 +0000)]
[BlackBerry] Add m_targetType to WorkerScriptLoader
https://bugs.webkit.org/show_bug.cgi?id=82574

Reviewed by Rob Buis.

Just as Chromium porting blackberry porting is using m_targetType also.

* workers/WorkerScriptLoader.h:
(WorkerScriptLoader):

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

12 years ago[BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
commit-queue@webkit.org [Thu, 29 Mar 2012 12:02:59 +0000 (12:02 +0000)]
[BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
https://bugs.webkit.org/show_bug.cgi?id=82570

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-03-29
Reviewed by Rob Buis.

No new tests, no change in functionality.

* platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
(WebCore::GraphicsContext3D::setErrorMessageCallback): Add an empty implementation.
(WebCore):

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

12 years ago[BlackBerry] Clean up ImageBufferData
commit-queue@webkit.org [Thu, 29 Mar 2012 11:56:54 +0000 (11:56 +0000)]
[BlackBerry] Clean up ImageBufferData
https://bugs.webkit.org/show_bug.cgi?id=82444

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-03-29
Reviewed by Rob Buis.

No behavior changes, no new tests.

* platform/graphics/blackberry/skia/ImageBufferDataSkia.h:
(ImageBufferData): Remove unused member variable m_buffer and change the type
of m_platformLayer from LayerWebKitThread to CanvasLayerWebKitThread.

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

12 years agoWrite a test for <base> and <link> are inert in ShadowDOM.
shinyak@chromium.org [Thu, 29 Mar 2012 11:47:11 +0000 (11:47 +0000)]
Write a test for <base> and <link> are inert in ShadowDOM.
https://bugs.webkit.org/show_bug.cgi?id=82430

Reviewed by Dimitri Glazkov.

This test checks adding <base> or <link> in shadow root will not affect the
elements outside and inside the shadow tree.

* fast/dom/shadow/base-in-shadow-tree-expected.txt: Added.
* fast/dom/shadow/base-in-shadow-tree.html: Added.
* fast/dom/shadow/link-in-shadow-tree-expected.txt: Added.
* fast/dom/shadow/link-in-shadow-tree.html: Added.
* fast/dom/shadow/resources/link-in-shadow-style.css: Added.

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

12 years agoMediaStream API: Adding better comments for the WebRTC methods in WebKitPlatformSupport.h
tommyw@google.com [Thu, 29 Mar 2012 10:25:08 +0000 (10:25 +0000)]
MediaStream API: Adding better comments for the WebRTC methods in WebKitPlatformSupport.h
https://bugs.webkit.org/show_bug.cgi?id=82588

Reviewed by Adam Barth.

* public/platform/WebKitPlatformSupport.h:
(WebKitPlatformSupport):

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

12 years agoSplit WebKitCSSKeyframeRule into internal and CSSOM types
antti@apple.com [Thu, 29 Mar 2012 10:17:19 +0000 (10:17 +0000)]
Split WebKitCSSKeyframeRule into internal and CSSOM types
https://bugs.webkit.org/show_bug.cgi?id=82490

Reviewed by Andreas Kling.

WebKitCSSKeyframeRule is a CSSOM type and should not be used internally.

- Add StyleKeyframe as the internal data structure for keyframes.
- WebKitCSSKeyframeRule becomes a wrapper for StyleKeyframe.
- Use StyleKeyframe internally so WebKitCSSKeyframeRules are created on CSSOM access only.

* css/CSSGrammar.y:

    Use StyleKeyframes instead of WebKitCSSKeyframeRules.

* css/CSSMediaRule.h:
(CSSMediaRule):
(WebCore::CSSMediaRule::length):
(WebCore::CSSMediaRule::item):

    Adapt to LiveCSSRuleList changes.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseKeyframeRule):
(WebCore::CSSParser::createKeyframe):
* css/CSSParser.h:
(WebCore):
(CSSParser):

    Construct StyleKeyframes.

* css/CSSRuleList.h:
(WebCore::LiveCSSRuleList::length):
(WebCore::LiveCSSRuleList::item):

    Make LiveCSSRuleList call rule item()/length() to avoid accessor duplication.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSStyleSelector.h:
(CSSStyleSelector):
* css/WebKitCSSKeyframeRule.cpp:

    Use StyleKeyframe.
    Make 0% and 100% keyframes static.

(WebCore):
(WebCore::StyleKeyframe::setProperties):
(WebCore::StyleKeyframe::parseKeyString):
(WebCore::StyleKeyframe::cssText):
(WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::style):
* css/WebKitCSSKeyframeRule.h:
(WebCore):
(WebCore::StyleKeyframe::create):
(WebCore::StyleKeyframe::keyText):
(WebCore::StyleKeyframe::setKeyText):
(StyleKeyframe):
(WebCore::StyleKeyframe::properties):
(WebCore::StyleKeyframe::StyleKeyframe):
(WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::keyText):
(WebCore::WebKitCSSKeyframeRule::setKeyText):
(WebCore::WebKitCSSKeyframeRule::cssText):

    Split to internal and CSSOM wrapper type. The wrapper refs StyleKeyframe.

* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::parserAppendKeyframe):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
(WebCore::WebKitCSSKeyframesRule::findRule):
(WebCore::WebKitCSSKeyframesRule::findKeyframeIndex):
(WebCore::WebKitCSSKeyframesRule::cssText):
(WebCore):
(WebCore::WebKitCSSKeyframesRule::item):
* css/WebKitCSSKeyframesRule.h:
(WebCore):
(WebCore::WebKitCSSKeyframesRule::keyframes):
(WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::length):

    Keep StyleKeyframes and the wrappers (WebKitCSSKeyframeRules) in separate vectors.
    Construct the wrapper vector and wrappers themselves on demand.
    Keep the vectors in sync during mutations.

* css/WebKitCSSRegionRule.h:

    Adapt to LiveCSSRuleList changes.

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

12 years agoFieldset disabled attribute does not work.
zeno.albisser@nokia.com [Thu, 29 Mar 2012 10:14:32 +0000 (10:14 +0000)]
Fieldset disabled attribute does not work.
https://bugs.webkit.org/show_bug.cgi?id=58837

Source/WebCore:

Make HTMLFormControlElements inherit the disabled state
from HTMLFieldSetElement ancestors. Subordinates of the
first HTMLLegendElement in a fieldset will never be disabled.

Patch by Zeno Albisser <zeno@webkit.org>

Test: fast/forms/fieldset-disabled.html

Reviewed by Kent Tamura.

* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::disabledAttributeChanged):
(WebCore):
(WebCore::HTMLFieldSetElement::legend):
* html/HTMLFieldSetElement.h:
(HTMLFieldSetElement):
* html/HTMLFieldSetElement.idl:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
(WebCore):
(WebCore::HTMLFormControlElement::parseAttribute):
(WebCore::HTMLFormControlElement::disabledAttributeChanged):
(WebCore::HTMLFormControlElement::removedFromTree):
(WebCore::HTMLFormControlElement::disabled):
* html/HTMLFormControlElement.h:
(WebCore):
(HTMLFormControlElement):

LayoutTests:

Add a test case for fieldset disabled attribute.

Reviewed by Kent Tamura.

* fast/forms/fieldset/fieldset-disabled-expected.txt: Added.
* fast/forms/fieldset/fieldset-disabled.html: Added.

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

12 years ago[Qt] Unreviewed gardening after r112397. Unskip tests, add new baselines.
ossy@webkit.org [Thu, 29 Mar 2012 10:12:12 +0000 (10:12 +0000)]
[Qt] Unreviewed gardening after r112397. Unskip tests, add new baselines.

* platform/qt/Skipped:
* platform/qt/fast/block/float/overhanging-tall-block-expected.png:
* platform/qt/fast/repaint/moving-shadow-on-container-expected.png:
* platform/qt/fast/repaint/moving-shadow-on-container-expected.txt:
* platform/qt/fast/repaint/moving-shadow-on-path-expected.png:
* platform/qt/fast/repaint/moving-shadow-on-path-expected.txt:
* platform/qt/fast/table/max-width-integer-overflow-expected.png: Copied from LayoutTests/platform/qt/fast/block/float/overhanging-tall-block-expected.png.
* platform/qt/fast/table/max-width-integer-overflow-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-06-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/painting-marker-03-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/paths-data-03-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/struct-frag-02-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/struct-frag-03-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/text-align-04-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/text-text-01-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
* platform/qt/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/qt/svg/as-image/img-preserveAspectRatio-support-1-expected.txt:
* platform/qt/svg/batik/masking/maskRegions-expected.png:
* platform/qt/svg/batik/masking/maskRegions-expected.txt:
* platform/qt/svg/batik/text/textAnchor-expected.png:
* platform/qt/svg/batik/text/textAnchor-expected.txt:
* platform/qt/svg/carto.net/tabgroup-expected.png:
* platform/qt/svg/carto.net/tabgroup-expected.txt:
* platform/qt/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png:
* platform/qt/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt:
* platform/qt/svg/css/stars-with-shadow-expected.png: Added.
* platform/qt/svg/css/stars-with-shadow-expected.txt: Added.
* platform/qt/svg/custom/circular-marker-reference-1-expected.png:
* platform/qt/svg/custom/circular-marker-reference-1-expected.txt:
* platform/qt/svg/custom/circular-marker-reference-2-expected.png:
* platform/qt/svg/custom/circular-marker-reference-2-expected.txt: Added.
* platform/qt/svg/custom/circular-marker-reference-3-expected.png:
* platform/qt/svg/custom/circular-marker-reference-3-expected.txt: Added.
* platform/qt/svg/custom/circular-marker-reference-4-expected.png:
* platform/qt/svg/custom/circular-marker-reference-4-expected.txt: Added.
* platform/qt/svg/custom/embedding-external-svgs-expected.png:
* platform/qt/svg/custom/embedding-external-svgs-expected.txt:
* platform/qt/svg/custom/empty-merge-expected.png:
* platform/qt/svg/custom/empty-merge-expected.txt:
* platform/qt/svg/custom/image-with-transform-clip-filter-expected.png:
* platform/qt/svg/custom/image-with-transform-clip-filter-expected.txt:
* platform/qt/svg/custom/non-circular-marker-reference-expected.png:
* platform/qt/svg/custom/non-circular-marker-reference-expected.txt: Added.
* platform/qt/svg/custom/non-scaling-stroke-markers-expected.png:
* platform/qt/svg/custom/non-scaling-stroke-markers-expected.txt: Added.
* platform/qt/svg/custom/object-sizing-explicit-width-height-expected.png:
* platform/qt/svg/custom/object-sizing-explicit-width-height-expected.txt:
* platform/qt/svg/custom/recursive-filter-expected.png:
* platform/qt/svg/custom/recursive-filter-expected.txt:
* platform/qt/svg/custom/relative-sized-inner-svg-expected.png:
* platform/qt/svg/custom/relative-sized-inner-svg-expected.txt:
* platform/qt/svg/custom/relative-sized-use-on-symbol-expected.png: Added.
* platform/qt/svg/custom/relative-sized-use-on-symbol-expected.txt:
* platform/qt/svg/custom/relative-sized-use-without-attributes-on-symbol-expected.png:
* platform/qt/svg/custom/relative-sized-use-without-attributes-on-symbol-expected.txt:
* platform/qt/svg/custom/resource-invalidate-on-target-update-expected.png: Added.
* platform/qt/svg/custom/resource-invalidate-on-target-update-expected.txt:
* platform/qt/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
* platform/qt/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
* platform/qt/svg/custom/stroked-pattern-expected.png:
* platform/qt/svg/custom/stroked-pattern-expected.txt:
* platform/qt/svg/custom/text-rotated-gradient-expected.png:
* platform/qt/svg/custom/text-rotated-gradient-expected.txt:
* platform/qt/svg/custom/use-css-events-expected.png:
* platform/qt/svg/custom/use-css-events-expected.txt:
* platform/qt/svg/custom/use-detach-expected.png:
* platform/qt/svg/custom/use-detach-expected.txt:
* platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.png: Added.
* platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:
* platform/qt/svg/dom/css-transforms-expected.png: Added.
* platform/qt/svg/dom/css-transforms-expected.txt: Added.
* platform/qt/svg/filters/feColorMatrix-saturate-expected.txt:
* platform/qt/svg/filters/feColorMatrix-values-expected.png: Added.
* platform/qt/svg/filters/feColorMatrix-values-expected.txt:
* platform/qt/svg/filters/feImage-preserveAspectratio-expected.png:
* platform/qt/svg/filters/filteredImage-expected.png: Added.
* platform/qt/svg/filters/filteredImage-expected.txt:
* platform/qt/svg/hixie/links/001-expected.txt: Added.
* platform/qt/svg/hixie/perf/007-expected.png:
* platform/qt/svg/hixie/perf/007-expected.txt:
* platform/qt/svg/hixie/viewbox/preserveAspectRatio/001-expected.png:
* platform/qt/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt:
* platform/qt/svg/overflow/overflow-on-inner-svg-element-expected.png:
* platform/qt/svg/overflow/overflow-on-inner-svg-element-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-squeeze-1-expected.png:
* platform/qt/svg/text/select-textLength-spacing-squeeze-1-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-squeeze-2-expected.png:
* platform/qt/svg/text/select-textLength-spacing-squeeze-2-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-squeeze-3-expected.png:
* platform/qt/svg/text/select-textLength-spacing-squeeze-3-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-squeeze-4-expected.png:
* platform/qt/svg/text/select-textLength-spacing-squeeze-4-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-stretch-1-expected.png:
* platform/qt/svg/text/select-textLength-spacing-stretch-1-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-stretch-2-expected.png:
* platform/qt/svg/text/select-textLength-spacing-stretch-2-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-stretch-3-expected.png:
* platform/qt/svg/text/select-textLength-spacing-stretch-3-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-stretch-4-expected.png:
* platform/qt/svg/text/select-textLength-spacing-stretch-4-expected.txt:
* platform/qt/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png:
* platform/qt/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.txt:
* platform/qt/svg/text/select-x-list-1-expected.png:
* platform/qt/svg/text/select-x-list-1-expected.txt:
* platform/qt/svg/text/select-x-list-2-expected.png:
* platform/qt/svg/text/select-x-list-2-expected.txt:
* platform/qt/svg/text/select-x-list-3-expected.png:
* platform/qt/svg/text/select-x-list-3-expected.txt:
* platform/qt/svg/text/select-x-list-4-expected.png:
* platform/qt/svg/text/select-x-list-4-expected.txt:
* platform/qt/svg/text/select-x-list-with-tspans-1-expected.png:
* platform/qt/svg/text/select-x-list-with-tspans-1-expected.txt:
* platform/qt/svg/text/select-x-list-with-tspans-2-expected.png:
* platform/qt/svg/text/select-x-list-with-tspans-2-expected.txt:
* platform/qt/svg/text/select-x-list-with-tspans-3-expected.png:
* platform/qt/svg/text/select-x-list-with-tspans-3-expected.txt:
* platform/qt/svg/text/select-x-list-with-tspans-4-expected.png:
* platform/qt/svg/text/select-x-list-with-tspans-4-expected.txt:
* platform/qt/svg/text/small-fonts-2-expected.png:
* platform/qt/svg/text/small-fonts-2-expected.txt:
* platform/qt/svg/text/text-align-05-b-expected.png:
* platform/qt/svg/text/text-align-05-b-expected.txt:
* platform/qt/svg/transforms/transform-origin-css-property-expected.png: Added.
* platform/qt/svg/transforms/transform-origin-css-property-expected.txt: Added.
* platform/qt/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/qt/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
* platform/qt/svg/zoom/page/zoom-mask-with-percentages-expected.png:
* platform/qt/svg/zoom/page/zoom-mask-with-percentages-expected.txt:

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

12 years agoMediaStream API: Adding two missing release() calls to PeerConnection00.cpp
tommyw@google.com [Thu, 29 Mar 2012 10:06:12 +0000 (10:06 +0000)]
MediaStream API: Adding two missing release() calls to PeerConnection00.cpp
https://bugs.webkit.org/show_bug.cgi?id=82584

Reviewed by Adam Barth.

No changes that affects functionality.

* Modules/mediastream/PeerConnection00.cpp:
(WebCore::PeerConnection00::createOffer):
(WebCore::PeerConnection00::createAnswer):

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

12 years agoPack bitfields in InlineBox for Windows
rniwa@webkit.org [Thu, 29 Mar 2012 09:48:42 +0000 (09:48 +0000)]
Pack bitfields in InlineBox for Windows
https://bugs.webkit.org/show_bug.cgi?id=82578

Reviewed by Kent Tamura.

Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. e.g. if you have:
sturct AB {
unsigned m_1 : 31;
bool m_2 : 1;
}
then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang only allocate
sizeof(unsigned) * 1 for AB.

Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.

* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::selectionRect):
(WebCore::EllipsisBox::nodeAtPoint):
* rendering/InlineBox.cpp:
(WebCore):
(SameSizeAsInlineBox):
(WebCore::InlineBox::logicalHeight):
(WebCore::InlineBox::baselinePosition): Moved from the header file since it's a virtual function.
(WebCore::InlineBox::lineHeight): Ditto.
(WebCore::InlineBox::deleteLine):
(WebCore::InlineBox::extractLine):
(WebCore::InlineBox::attachLine):
(WebCore::InlineBox::nextOnLineExists):
(WebCore::InlineBox::clearKnownToHaveNoOverflow):
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):
(WebCore::InlineBox::isText):
(WebCore::InlineBox::setIsText):
(WebCore::InlineBox::hasVirtualLogicalHeight):
(WebCore::InlineBox::setHasVirtualLogicalHeight):
(WebCore::InlineBox::isHorizontal):
(WebCore::InlineBox::setIsHorizontal):
(WebCore::InlineBox::isConstructed):
(WebCore::InlineBox::setConstructed):
(WebCore::InlineBox::setExtracted):
(WebCore::InlineBox::setFirstLineStyleBit):
(WebCore::InlineBox::isFirstLineStyle):
(InlineBox):
(WebCore::InlineBox::bidiLevel):
(WebCore::InlineBox::setBidiLevel):
(WebCore::InlineBox::direction):
(WebCore::InlineBox::isDirty):
(WebCore::InlineBox::markDirty):
(WebCore::InlineBox::expansion):
(WebCore::InlineBox::verticalAlign):
(WebCore::InlineBox::knownToHaveNoOverflow):
(WebCore::InlineBox::dirOverride):
(WebCore::InlineBox::setDirOverride):
(InlineBoxBitfields):
(WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
(WebCore::InlineBox::InlineBoxBitfields::bidiEmbeddingLevel):
(WebCore::InlineBox::InlineBoxBitfields::setBidiEmbeddingLevel):
(WebCore::InlineBox::InlineBoxBitfields::determinedIfNextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::setDeterminedIfNextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::nextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::setNextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::expansion):
(WebCore::InlineBox::InlineBoxBitfields::setExpansion):
(WebCore::InlineBox::endsWithBreak):
(WebCore::InlineBox::setEndsWithBreak):
(WebCore::InlineBox::hasEllipsisBox):
(WebCore::InlineBox::hasSelectedChildren):
(WebCore::InlineBox::setHasSelectedChildren):
(WebCore::InlineBox::setHasEllipsisBox):
(WebCore::InlineBox::hasHyphen):
(WebCore::InlineBox::setHasHyphen):
(WebCore::InlineBox::canHaveLeadingExpansion):
(WebCore::InlineBox::setCanHaveLeadingExpansion):
(WebCore::InlineBox::setExpansion):
(WebCore::InlineBox::extracted):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::removeChild):
(WebCore::InlineFlowBox::extractLine):
(WebCore::InlineFlowBox::attachLine):
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::requiresIdeographicBaseline):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
(WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
(WebCore::InlineFlowBox::addTextBoxVisualOverflow):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::destroy):
(WebCore::InlineTextBox::logicalOverflowRect):
(WebCore::InlineTextBox::setLogicalOverflowRect):
(WebCore::InlineTextBox::baselinePosition):
(WebCore::InlineTextBox::lineHeight):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::extractLine):
(WebCore::InlineTextBox::attachLine):
(WebCore::InlineTextBox::placeEllipsisBox):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
(WebCore::InlineTextBox::paintCompositionUnderline):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
(WebCore::InlineTextBox::constructTextRun):
* rendering/InlineTextBox.h:
(InlineTextBox):
(WebCore::InlineTextBox::setExpansion):
(WebCore::InlineTextBox::expansionBehavior):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::constructLine):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeTextRun):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::baselinePosition): Moved from the header file since it's a virtual function.
(WebCore::RootInlineBox::lineHeight): Ditto.
(WebCore::RootInlineBox::paint):
(WebCore::RootInlineBox::ascentAndDescentForBox):
(WebCore::RootInlineBox::verticalPositionForBox):
* rendering/RootInlineBox.h:
(RootInlineBox):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::constructTextRun):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGInlineTextBox):

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

12 years agoLet focus navigation be compliant with Shadow DOM spec.
hayato@chromium.org [Thu, 29 Mar 2012 09:45:50 +0000 (09:45 +0000)]
Let focus navigation be compliant with Shadow DOM spec.
https://bugs.webkit.org/show_bug.cgi?id=78588

Reviewed by Dimitri Glazkov.

Source/WebCore:

Re-landing r112500. Fixed an assertion failure on ReifiedTreeTraversal.

Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.

According to the Shadow DOM spec:
The shadow DOM navigation order sequence is inserted into the document navigation order:
1. immediately after the shadow host, if the shadow host is focusable; or
2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.

Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.

Implementation notes:
Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
it does not skip a non-focusable shadow host in current focus scope.
After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
considering a nested focus scope inside of a shadow host or iframe.
To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.

This change does not affect an existing behavior if a shadow dom is not involved.

Test: fast/dom/shadow/focus-navigation.html

* dom/Element.cpp:
(WebCore::Element::focus):
* dom/ReifiedTreeTraversal.cpp:
(WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
* page/FocusController.cpp:
(WebCore::isShadowHost):
(WebCore):
(WebCore::FocusScope::FocusScope):
(WebCore::FocusScope::rootNode):
(WebCore::FocusScope::owner):
(WebCore::FocusScope::focusScopeOf):
(WebCore::FocusScope::focusScopeOwnedByShadowHost):
(WebCore::FocusScope::focusScopeOwnedByIFrame):
(WebCore::hasCustomFocusLogic):
(WebCore::isNonFocusableShadowHost):
(WebCore::isFocusableShadowHost):
(WebCore::adjustedTabIndex):
(WebCore::shouldVisit):
(WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableNodeAcrossFocusScope):
(WebCore::FocusController::findFocusableNodeRecursively):
(WebCore::FocusController::findFocusableNode):
(WebCore::FocusController::findNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):
* page/FocusController.h:
(WebCore):
(FocusScope):
(FocusController):

LayoutTests:

* fast/dom/shadow/focus-navigation-expected.txt: Added.
* fast/dom/shadow/focus-navigation.html: Added.
* fast/dom/shadow/resources/shadow-dom.js:
(isShadowHost):
(isIframeElement):
(getNodeInShadowTreeStack):
(dumpNode):
(innermostActiveElement):
(isInnermostActiveElement):
(shouldNavigateFocus):
(navigateFocusForward):
(navigateFocusBackward):
(testFocusNavigationFowrad):
(testFocusNavigationBackward):
* fast/dom/shadow/shadow-host-transfer-focus-expected.txt: Removed.
* fast/dom/shadow/shadow-host-transfer-focus.html: Removed.
* fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt:
* fast/dom/shadow/tab-order-iframe-and-shadow.html:

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

12 years ago[chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and...
kinuko@chromium.org [Thu, 29 Mar 2012 09:40:41 +0000 (09:40 +0000)]
[chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and-drop using File/DirectoryEntry.
https://bugs.webkit.org/show_bug.cgi?id=76826

Source/WebCore:

Add two helper methods for creating isolated filesystem to the
PlatformSupport interface.

Reviewed by David Levin.

No new tests: tests will be added when app-facing code is added.

* platform/chromium/PlatformSupport.h:
(PlatformSupport):

Source/WebKit/chromium:

As proposed on whatwg (http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-November/033814.html)
we are implementing better drag-and-drop support using File/Directory
Entry objects in FileSystem API, and for the purpose this patch adds
a new filesystem type: Isolated filesystem.

Each filesystem can be distinguished by a filesystem ID that is given
by chromium platform code via WebDragData when set of
files/directories are dropped.

This is all platform-specific implementation detail and all the changes
are in chromium directory.

Reviewed by David Levin.

* public/platform/WebDragData.h:
(WebDragData):
* public/platform/WebFileSystem.h: Added Isolated type.
* src/AsyncFileSystemChromium.cpp:
(WebCore::AsyncFileSystemChromium::createIsolatedFileSystemName): Added.
(WebCore::AsyncFileSystemChromium::createIsolatedFileSystem): Added.
(WebCore::AsyncFileSystemChromium::toURL): Made it not to return URL
for isolated filesystem (as we do not support it for now).
* src/AsyncFileSystemChromium.h:
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::createIsolatedFileSystem): Added.
* src/WebDragData.cpp:
(WebKit::WebDragData::filesystemId): Added.
(WebKit::WebDragData::setFilesystemId): Added.

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

12 years ago[Qt] Unreviewed gardening. Skip some failing tests.
kkristof@inf.u-szeged.hu [Thu, 29 Mar 2012 09:11:31 +0000 (09:11 +0000)]
[Qt] Unreviewed gardening. Skip some failing tests.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-03-29

* platform/qt/Skipped:

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

12 years ago[Qt] Unreviewed rebaseline after r112444
kkristof@inf.u-szeged.hu [Thu, 29 Mar 2012 08:46:16 +0000 (08:46 +0000)]
[Qt] Unreviewed rebaseline after r112444

* platform/qt/editing/pasteboard/select-element-1-expected.txt:

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

12 years agoUnreviewed; rolling chromium deps to 129583.
kinuko@chromium.org [Thu, 29 Mar 2012 08:45:13 +0000 (08:45 +0000)]
Unreviewed; rolling chromium deps to 129583.

      * DEPS:

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

12 years agoRemove custom bindings form Internals.idl of attribute type Array.
commit-queue@webkit.org [Thu, 29 Mar 2012 08:32:50 +0000 (08:32 +0000)]
Remove custom bindings form Internals.idl of attribute type Array.
https://bugs.webkit.org/show_bug.cgi?id=82319

Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-03-29
Reviewed by Kentaro Hara.

Source/WebCore:

Remove custom bindings for Array type and replace Array type with sequence<String>.

No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
even after these changes.

* Target.pri: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
* UseJSC.cmake: Remove JSInternalsCustom.cpp.
* UseV8.cmake: Remove V8InternalsCustom.cpp.
* WebCore.gypi: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
* WebCore.vcproj/WebCoreTestSupport.vcproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
* WebCore.xcodeproj/project.pbxproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
* bindings/js/JSDOMBinding.h:
(WebCore):
(WebCore::jsArray): Added new specialize function template for Strings.
* bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative): Add jsArray<String>() to deduce return type.
(NativeToJSValue): Added check for type String.
* bindings/scripts/CodeGeneratorV8.pm:
(JSValueToNative): Add v8Array<String>() to deduce return type.
(NativeToJSValue): Added check for type String.
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjSequenceAttr): Modified results from run-binding-tests.
* bindings/scripts/test/V8/V8TestObj.cpp: Modified results from run-binding-tests.
(WebCore::TestObjInternal::sequenceAttrAttrSetter):
* bindings/v8/V8Binding.h: Added new specialize function template for Strings.
(WebCore):
(WebCore::v8Array):
(WebCore::toNativeArray):
* testing/Internals.idl: Replace Array type with sequence<String>
* testing/js/JSInternalsCustom.cpp: Removed.
* testing/v8/V8InternalsCustom.cpp: Removed.

Tools:

Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp as no longer required.

* GNUmakefile.am:

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

12 years agoUnreviewed, rolling out r112500.
commit-queue@webkit.org [Thu, 29 Mar 2012 07:18:09 +0000 (07:18 +0000)]
Unreviewed, rolling out r112500.
http://trac.webkit.org/changeset/112500
https://bugs.webkit.org/show_bug.cgi?id=82576

assertion failed on fast/events/tab-test-not-visible-
imagemap.html on gtk/qt (Requested by hayato on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-29

Source/WebCore:

* dom/Element.cpp:
(WebCore::Element::focus):
* page/FocusController.cpp:
(WebCore):
(WebCore::shadowRoot):
(WebCore::isTreeScopeOwner):
(WebCore::FocusController::transferFocusToElementInShadowRoot):
(WebCore::hasCustomFocusLogic):
(WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::ownerOfTreeScope):
(WebCore::FocusController::findFocusableNodeAcrossTreeScope):
(WebCore::FocusController::findFocusableNode):
(WebCore::nextNodeWithExactTabIndex):
(WebCore::previousNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):
* page/FocusController.h:
(WebCore):
(FocusController):

LayoutTests:

* fast/dom/shadow/focus-navigation-expected.txt: Removed.
* fast/dom/shadow/focus-navigation.html: Removed.
* fast/dom/shadow/resources/shadow-dom.js:
(getNodeInShadowTreeStack):
* fast/dom/shadow/shadow-host-transfer-focus-expected.txt: Added.
* fast/dom/shadow/shadow-host-transfer-focus.html: Added.
* fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt:
* fast/dom/shadow/tab-order-iframe-and-shadow.html:

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

12 years agoDFG object equality speculations should be simplified
fpizlo@apple.com [Thu, 29 Mar 2012 06:52:09 +0000 (06:52 +0000)]
DFG object equality speculations should be simplified
https://bugs.webkit.org/show_bug.cgi?id=82557

Reviewed by Gavin Barraclough.

* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateFinalObject):
(JSC::DFG::Node::shouldSpeculateArray):

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

12 years agoAdd TextFieldDecorationElement::decorate()
tkent@chromium.org [Thu, 29 Mar 2012 06:00:23 +0000 (06:00 +0000)]
Add TextFieldDecorationElement::decorate()
https://bugs.webkit.org/show_bug.cgi?id=82572

Reviewed by Hajime Morita.

This change will be needed for Bug 82143.
No new tests because of no behavior changes yet. This code change
doesn't affect non-Chromium ports for now.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::create):
Remove unnecessary assertion. We should allow multiple UA shadow roots.
* html/shadow/TextFieldDecorationElement.cpp:
(WebCore::TextFieldDecorationElement::decorate):
Added.
This function adds another ShadowRoot, and it contains one flexible box container.
The container contains existin ShadowRoot content and the decoration element.
* html/shadow/TextFieldDecorationElement.h:
(TextFieldDecorationElement): Add the declaration of decorate().

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

12 years agoConsider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8Internal...
commit-queue@webkit.org [Thu, 29 Mar 2012 05:47:18 +0000 (05:47 +0000)]
Consider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8InternalsCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=82442

Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-03-28
Reviewed by Kentaro Hara.

No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
even after these changes.

* testing/js/JSInternalsCustom.cpp: Remove jsNull() if Vector is empty.
(WebCore::JSInternals::userPreferredLanguages):
* testing/v8/V8InternalsCustom.cpp: Remove v8::Null() if Vector is empty.
(WebCore::V8Internals::userPreferredLanguagesAccessorGetter):

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

12 years ago[Chromium] Move APIs related to ResourceHandle into Platform
abarth@webkit.org [Thu, 29 Mar 2012 05:29:47 +0000 (05:29 +0000)]
[Chromium] Move APIs related to ResourceHandle into Platform
https://bugs.webkit.org/show_bug.cgi?id=82553

Reviewed by James Robinson.

Source/Platform:

This patch is the first patch in this series:
https://github.com/abarth/webkit/compare/master...webcore-platform

The goal of these patches is to move WebCore::ResourceHandle out of
Chromium's WebKit layer and into WebCore/platform, where it belongs.

This patch moves the Chromium-WebKit APIs used by ResourceHandle out of
the WebKit layer and into the Plaform layer. These are APIs that WebKit
uses to call "down" to manipulate the underlying platform (rather than
"up" to the client to make decisions). The long-term plan is to move
all of the headers in WebKit/chromium/public/platform into
Platform/chromium/public (although we'll likely need to clean up some
layering violations as we go).

* Platform.gypi:
* chromium/public/WebData.h: Added.
(WebKit):
(WebData):
(WebKit::WebData::~WebData):
(WebKit::WebData::WebData):
(WebKit::WebData::operator=):
(WebKit::WebData::isEmpty):
(WebKit::WebData::isNull):
* chromium/public/WebHTTPBody.h: Added.
(WebKit):
(WebHTTPBody):
(WebKit::WebHTTPBody::~WebHTTPBody):
(WebKit::WebHTTPBody::WebHTTPBody):
(WebKit::WebHTTPBody::operator=):
(WebKit::WebHTTPBody::isNull):
* chromium/public/WebHTTPHeaderVisitor.h: Added.
(WebKit):
(WebHTTPHeaderVisitor):
(WebKit::WebHTTPHeaderVisitor::~WebHTTPHeaderVisitor):
* chromium/public/WebHTTPLoadInfo.h: Added.
(WebCore):
(WebKit):
(WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::~WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::operator =):
* chromium/public/WebPrivateOwnPtr.h: Added.
(WebKit):
(WebPrivateOwnPtr):
(WebKit::WebPrivateOwnPtr::WebPrivateOwnPtr):
(WebKit::WebPrivateOwnPtr::~WebPrivateOwnPtr):
(WebKit::WebPrivateOwnPtr::reset):
(WebKit::WebPrivateOwnPtr::get):
(WebKit::WebPrivateOwnPtr::operator->):
* chromium/public/WebURL.h: Added.
(WebKit):
(WebURL):
(WebKit::WebURL::~WebURL):
(WebKit::WebURL::WebURL):
(WebKit::WebURL::operator=):
(WebKit::WebURL::assign):
(WebKit::WebURL::spec):
(WebKit::WebURL::parsed):
(WebKit::WebURL::isValid):
(WebKit::WebURL::isEmpty):
(WebKit::WebURL::isNull):
(WebKit::WebURL::operator GURL):
(WebKit::operator<):
(WebKit::operator==):
(WebKit::operator!=):
* chromium/public/WebURLError.h: Added.
(WebKit):
(WebURLError):
(WebKit::WebURLError::WebURLError):
* chromium/public/WebURLLoadTiming.h: Added.
(WebKit):
(WebURLLoadTiming):
(WebKit::WebURLLoadTiming::~WebURLLoadTiming):
(WebKit::WebURLLoadTiming::WebURLLoadTiming):
(WebKit::WebURLLoadTiming::operator=):
(WebKit::WebURLLoadTiming::isNull):
* chromium/public/WebURLLoader.h: Added.
(WebKit):
(WebURLLoader):
(WebKit::WebURLLoader::~WebURLLoader):
* chromium/public/WebURLLoaderClient.h: Added.
(WebKit):
(WebURLLoaderClient):
(WebKit::WebURLLoaderClient::willSendRequest):
(WebKit::WebURLLoaderClient::didSendData):
(WebKit::WebURLLoaderClient::didReceiveResponse):
(WebKit::WebURLLoaderClient::didDownloadData):
(WebKit::WebURLLoaderClient::didReceiveData):
(WebKit::WebURLLoaderClient::didReceiveCachedMetadata):
(WebKit::WebURLLoaderClient::didFinishLoading):
(WebKit::WebURLLoaderClient::didFail):
(WebKit::WebURLLoaderClient::~WebURLLoaderClient):
* chromium/public/WebURLRequest.h: Added.
(WebKit):
(WebURLRequest):
(ExtraData):
(WebKit::WebURLRequest::ExtraData::~ExtraData):
(WebKit::WebURLRequest::~WebURLRequest):
(WebKit::WebURLRequest::WebURLRequest):
(WebKit::WebURLRequest::operator=):
* chromium/public/WebURLResponse.h: Added.
(WebKit):
(WebURLResponse):
(ExtraData):
(WebKit::WebURLResponse::ExtraData::~ExtraData):
(WebKit::WebURLResponse::~WebURLResponse):
(WebKit::WebURLResponse::WebURLResponse):
(WebKit::WebURLResponse::operator=):

Source/WebKit/chromium:

These headers are now just forwarding headers to the new location of
these headers. These forwarding headers exist to avoid breaking
existing users of the API. They will likely be removed (or changed)
in the future once we've updated all folks using them.

* public/platform/WebData.h:
* public/platform/WebHTTPBody.h:
* public/platform/WebHTTPHeaderVisitor.h:
* public/platform/WebHTTPLoadInfo.h:
* public/platform/WebPrivateOwnPtr.h:
* public/platform/WebURL.h:
* public/platform/WebURLError.h:
* public/platform/WebURLLoadTiming.h:
* public/platform/WebURLLoader.h:
* public/platform/WebURLLoaderClient.h:
* public/platform/WebURLRequest.h:
* public/platform/WebURLResponse.h:

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

12 years agoSource/WebCore: Let focus navigation be compliant with Shadow DOM spec.
hayato@chromium.org [Thu, 29 Mar 2012 04:59:04 +0000 (04:59 +0000)]
Source/WebCore: Let focus navigation be compliant with Shadow DOM spec.
https://bugs.webkit.org/show_bug.cgi?id=78588

Reviewed by Dimitri Glazkov.

Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.

According to the Shadow DOM spec:
The shadow DOM navigation order sequence is inserted into the document navigation order:
1. immediately after the shadow host, if the shadow host is focusable; or
2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.

Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.

Implementation notes:
Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
it does not skip a non-focusable shadow host in current focus scope.
After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
considering a nested focus scope inside of a shadow host or iframe.
To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.

This change does not affect an existing behavior if a shadow dom is not involved.

Test: fast/dom/shadow/focus-navigation.html

* dom/Element.cpp:
(WebCore::Element::focus):
* page/FocusController.cpp:
(WebCore::isShadowHost):
(WebCore):
(WebCore::FocusScope::FocusScope):
(WebCore::FocusScope::rootNode):
(WebCore::FocusScope::owner):
(WebCore::FocusScope::focusScopeOf):
(WebCore::FocusScope::focusScopeOwnedByShadowHost):
(WebCore::FocusScope::focusScopeOwnedByIFrame):
(WebCore::hasCustomFocusLogic):
(WebCore::isNonFocusableShadowHost):
(WebCore::isFocusableShadowHost):
(WebCore::adjustedTabIndex):
(WebCore::shouldVisit):
(WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableNodeAcrossFocusScope):
(WebCore::FocusController::findFocusableNodeRecursively):
(WebCore::FocusController::findFocusableNode):
(WebCore::FocusController::findNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):
* page/FocusController.h:
(WebCore):
(FocusScope):
(FocusController):

LayoutTests: Make focus navigation be compliant with Shadow DOM spec.
https://bugs.webkit.org/show_bug.cgi?id=78588

Reviewed by Dimitri Glazkov.

* fast/dom/shadow/focus-navigation-expected.txt: Added.
* fast/dom/shadow/focus-navigation.html: Added.
* fast/dom/shadow/resources/shadow-dom.js:
(isShadowHost):
(isIframeElement):
(getNodeInShadowTreeStack):
(dumpNode):
(innermostActiveElement):
(isInnermostActiveElement):
(shouldNavigateFocus):
(navigateFocusForward):
(navigateFocusBackward):
(testFocusNavigationFowrad):
(testFocusNavigationBackward):
* fast/dom/shadow/shadow-host-transfer-focus-expected.txt: Removed.
* fast/dom/shadow/shadow-host-transfer-focus.html: Removed.
* fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt:
* fast/dom/shadow/tab-order-iframe-and-shadow.html:

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

12 years ago[WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
commit-queue@webkit.org [Thu, 29 Mar 2012 04:22:12 +0000 (04:22 +0000)]
[WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
https://bugs.webkit.org/show_bug.cgi?id=82307

Patch by Li Yin <li.yin@intel.com> on 2012-03-28
Reviewed by Kent Tamura.

Source/WebCore:

From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
If the WebSocket openhanding respond included the mismatched
Sec-WebSocket-Protocol header field, the client must fail the WebSocket Connection.

Test: http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::checkResponseHeaders):

LayoutTests:

From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
If the response includes a |Sec-WebSocket-Protocol| header field
and this header field indicates the use of a subprotocol that was
not present in the client's handshake (the server has indicated a
subprotocol not requested by the client), the client MUST _Fail
the WebSocket Connection_.

* http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header-expected.txt: Added.
* http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html: Added.
* http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):

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

12 years agoFix Windows build after r112482.
jberlin@webkit.org [Thu, 29 Mar 2012 04:08:27 +0000 (04:08 +0000)]
Fix Windows build after r112482.

* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::formOpen):
Do not attempt to use an OS X error code on Windows. Use the POSIX errno instead.

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

12 years ago[CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
achicu@adobe.com [Thu, 29 Mar 2012 03:42:48 +0000 (03:42 +0000)]
[CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
https://bugs.webkit.org/show_bug.cgi?id=82524

Reviewed by Dean Jackson.

RenderLayer::~RenderLayer is calling clearBacking which updated the m_filter with new filters,
even though they were to be deleted a couple of lines below. This change avoids updating the filters,
if we are in the "destroyed" state.

No new tests. This change has no visible results to HTML or JavaScript, so it cannot be tested without a debugger.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::clearBacking):
* rendering/RenderLayer.h:
(RenderLayer):

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

12 years agominidom configurations should be based on ToolExecutable.xcconfig
ddkilzer@apple.com [Thu, 29 Mar 2012 03:00:19 +0000 (03:00 +0000)]
minidom configurations should be based on ToolExecutable.xcconfig
<http://webkit.org/b/82513>

Reviewed by Mark Rowe.

Note that this patch changes minidom from being installed in
/usr/local/bin to JavaScriptCore.framework/Resources.

* Configurations/ToolExecutable.xcconfig: Add semi-colon.
* JavaScriptCore.xcodeproj/project.pbxproj: Base minidom
configurations on ToolExecutable.xcconfig.  Remove redundant
PRODUCT_NAME and SKIP_INSTALL variables.

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

12 years agoRemove ScriptExecutionContext from NavigatorBattery.idl
gyuyoung.kim@samsung.com [Thu, 29 Mar 2012 02:57:04 +0000 (02:57 +0000)]
Remove ScriptExecutionContext from NavigatorBattery.idl
https://bugs.webkit.org/show_bug.cgi?id=82556

Reviewed by Adam Barth.

As Bug 73528 comment #71, NavigatorBattery.idl doesn't need to have ScriptExecutionContext.
Document can be used instead of ScriptExecutionContext.

Tests: batterystatus/add-listener-from-callback.html
       batterystatus/basic-all-types-of-events.html
       batterystatus/basic-operation.html
       batterystatus/event-after-navigation.html
       batterystatus/multiple-frames.html
       batterystatus/updates.html
       batterystatus/window-property.html

* Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::create):
(WebCore::BatteryManager::BatteryManager):
* Modules/battery/BatteryManager.h:
(BatteryManager):
* Modules/battery/NavigatorBattery.cpp:
(WebCore::NavigatorBattery::webkitBattery):
* Modules/battery/NavigatorBattery.h:
(NavigatorBattery):
* Modules/battery/NavigatorBattery.idl:

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

12 years ago[BlackBerry]Missing cookies from HTTP response header in Network tab of Web Inspector.
commit-queue@webkit.org [Thu, 29 Mar 2012 02:32:50 +0000 (02:32 +0000)]
[BlackBerry]Missing cookies from HTTP response header in Network tab of Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=82041

We shouldn't overwrite cookies of response if there are more than one
header of Set-Cookie.

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-03-28
Reviewed by Rob Buis.

Test: http/tests/cookies/resources/setArraycookies.php

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::handleNotifyHeaderReceived):

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

12 years agoJPEGImageDecoder: Set frame alpha state before marking a frame complete
noel.gordon@gmail.com [Thu, 29 Mar 2012 02:18:18 +0000 (02:18 +0000)]
JPEGImageDecoder: Set frame alpha state before marking a frame complete
https://bugs.webkit.org/show_bug.cgi?id=82428

Reviewed by Kenneth Russell.

r109779 changed JPEG alpha channel handling by marking a JPEG image frame
as having no alpha _after_ setting the image status frame-complete, which
prevents the application of image color profiles in some WebGL cases.

No new tests. The application of the color profile is not guaranteed for
images used as textures in WebGL. Refer to http://wkb.ug/76498.

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::jpegComplete): Set the image frame alpha state
before marking the image frame status as frame-complete.

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

12 years agoFix rounding in RenderInline::paintOutlineForLine
eae@chromium.org [Thu, 29 Mar 2012 02:11:40 +0000 (02:11 +0000)]
Fix rounding in RenderInline::paintOutlineForLine
https://bugs.webkit.org/show_bug.cgi?id=82540

Reviewed by Eric Seidel.

No new tests, no change in functionality.

* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutlineForLine):
Change paintOutlineForLine to pixel snap the left and right edges of the
lines instead of adding the offset to an already rounded number.

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

12 years agoFix a crash and an assertion when recovering from a web process crash
andersca@apple.com [Thu, 29 Mar 2012 01:50:06 +0000 (01:50 +0000)]
Fix a crash and an assertion when recovering from a web process crash
https://bugs.webkit.org/show_bug.cgi?id=82559
<rdar://problem/10902574>

Reviewed by Mark Rowe.

* UIProcess/API/mac/WKView.mm:
(-[WKView _processDidCrash]):
If we're currently in accelerated compositing mode, exit.

(-[WKView updateLayer]):
Guard against a null drawing area.

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

12 years agoIndexedDB: don't expose IDBDatabaseError to script
dgrogan@chromium.org [Thu, 29 Mar 2012 01:46:06 +0000 (01:46 +0000)]
IndexedDB: don't expose IDBDatabaseError to script
https://bugs.webkit.org/show_bug.cgi?id=82280

Source/WebCore:

It's not used anywhere and firefox doesn't expose it.

Reviewed by Tony Chang.

Test: storage/indexeddb/removed.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Modules/indexeddb/DOMWindowIndexedDatabase.idl:
* Modules/indexeddb/IDBDatabaseError.idl: Removed.
* Modules/indexeddb/WorkerContextIndexedDatabase.idl:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Add layout test that ensures IDBDatabaseError is gone.

Also change shouldBeTrue to shouldBeTrueQuiet in the boilerplate idb
layout test preamble to remove a bunch of clutter from the
-expected.txt files.

Reviewed by Tony Chang.

* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/basics-shared-workers-expected.txt:
* storage/indexeddb/basics-workers-expected.txt:
... every indexeddb -expected.txt:
Remove output from check for IDBDatabaseError.
* storage/indexeddb/removed-expected.txt: Added.
* storage/indexeddb/removed.html: Added.
* storage/indexeddb/request-event-propagation-expected.txt:
* storage/indexeddb/resources/removed.js: Added.
(test):
* storage/indexeddb/resources/shared.js:
(removeVendorPrefixes): Stop checking for existence of
window.IDBDatabaseError.

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

12 years agoRespects font fallback list during webfonts are loading
bashi@chromium.org [Thu, 29 Mar 2012 01:41:03 +0000 (01:41 +0000)]
Respects font fallback list during webfonts are loading
https://bugs.webkit.org/show_bug.cgi?id=76684

Reviewed by Dimitri Glazkov.

Source/WebCore:

For layout, use the rest of the fallback list while webfonts are loading.
If the webfont is loading, it will be given an invalid Unicode Range so that
font selection mechansim doesn't use the webfont for layout.

Test: http/tests/webfont/fallback-font-while-loading.html

* css/CSSSegmentedFontFace.cpp:
(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): Added.
(WebCore):
(WebCore::CSSSegmentedFontFace::getFontData):

LayoutTests:

Add a test that checks fallback fonts are used for layout while
webfonts are loading.

* http/tests/webfont/fallback-font-while-loading-expected.txt: Added.
* http/tests/webfont/fallback-font-while-loading.html: Added.
* http/tests/webfont/getahem.cgi: Added.
* http/tests/webfont/resources/Ahem.ttf: Added.

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

12 years ago[WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
commit-queue@webkit.org [Thu, 29 Mar 2012 01:32:28 +0000 (01:32 +0000)]
[WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
https://bugs.webkit.org/show_bug.cgi?id=82100

Patch by Li Yin <li.yin@intel.com> on 2012-03-28
Reviewed by Kent Tamura.

The current reserved bits test case only support extension case,
Improve test case to cover both no-extension and extension scenarios.

* http/tests/websocket/tests/hybi/reserved-bits-expected.txt:
* http/tests/websocket/tests/hybi/reserved-bits.html:
* http/tests/websocket/tests/hybi/reserved-bits_wsh.py:
(web_socket_do_extra_handshake):

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

12 years agoUpdate Localizable.strings.
mrowe@apple.com [Thu, 29 Mar 2012 01:29:30 +0000 (01:29 +0000)]
Update Localizable.strings.

* English.lproj/Localizable.strings:

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

12 years agoFix --no-saved-state.
mrowe@apple.com [Thu, 29 Mar 2012 01:29:16 +0000 (01:29 +0000)]
Fix --no-saved-state.

Ignore the flag before Lion, rather than making it specific to Lion.

Rubber-stamped by Dan Bernstein.

* Scripts/webkitdirs.pm:
(argumentsForRunAndDebugMacWebKitApp):

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

12 years agoAssociatedURLLoader does not support Cross Origin Redirects when using
bbudge@chromium.org [Thu, 29 Mar 2012 01:14:05 +0000 (01:14 +0000)]
AssociatedURLLoader does not support Cross Origin Redirects when using
Access Control.
https://bugs.webkit.org/show_bug.cgi?id=82354

AssociatedURLLoader's internal adapter now overrides didFailRedirectCheck,
which cancels the load, causing didFail to notify the client that the
load failed. AssociatedURLLoaderTest adds test cases for CORS requests
that receive redirects and pass or fail the redirect access check.

Reviewed by Adam Barth.

* src/AssociatedURLLoader.cpp:
(AssociatedURLLoader::ClientAdapter):
(WebKit::AssociatedURLLoader::ClientAdapter::didFailRedirectCheck):
(WebKit):
* tests/AssociatedURLLoaderTest.cpp:
(WebKit):
(WebKit::TEST_F):

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

12 years agoSource/WebCore: Removed particular rendering for the volume slider and used
commit-queue@webkit.org [Thu, 29 Mar 2012 01:07:20 +0000 (01:07 +0000)]
Source/WebCore: Removed particular rendering for the volume slider and used
css positioning instead (simpler and less prone to errors when
changes occur).
https://bugs.webkit.org/show_bug.cgi?id=82150

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-03-28
Reviewed by Eric Carlson.

Test: media/video-controls-rendering-toggle-display-none.html

* css/mediaControls.css: Updated css to correctly render controls.
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
* css/mediaControlsChromium.css: Updated css to correctly render controls.
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
* html/shadow/MediaControlElements.cpp: Removed particular renderer.
(WebCore):
* html/shadow/MediaControlElements.h: Removed particular renderer.
(MediaControlVolumeSliderContainerElement):
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::create): Added an anonymous div container
for the mute button and volume slider (to be displayed on top of each other)

LayoutTests: Added relevant test to support video controls display:none toggling.
https://bugs.webkit.org/show_bug.cgi?id=82150

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-03-28
Reviewed by Eric Carlson.

* media/video-controls-rendering-toggle-display-none.html: Added.
* platform/chromium-linux/media/video-controls-rendering-toggle-display-none-expected.png: Added.
* platform/chromium-linux/media/video-controls-rendering-toggle-display-none-expected.txt: Added.
* platform/chromium/test_expectations.txt: Updated expectations, more rebaselining is needed.

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

12 years agoUnreviewed, rolling out r110064.
slewis@apple.com [Thu, 29 Mar 2012 01:02:28 +0000 (01:02 +0000)]
Unreviewed, rolling out r110064.
http://trac.webkit.org/changeset/110064
https://bugs.webkit.org/show_bug.cgi?id=82537

The patch leaks the DOM when audio elements are used
(Requested by sundiamonde on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-28

Source/WebCore:

* bindings/js/JSNodeCustom.cpp:
(WebCore::isReachableFromDOM):

LayoutTests:

* platform/gtk/test_expectations.txt:

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

12 years ago[Win] Some Blob tests crash in CFNetwork in advanceCurrentStream(FormStreamFields*)
ap@apple.com [Thu, 29 Mar 2012 00:58:42 +0000 (00:58 +0000)]
[Win] Some Blob tests crash in CFNetwork in advanceCurrentStream(FormStreamFields*)
https://bugs.webkit.org/show_bug.cgi?id=82386
<rdar://problem/11121501>

Reviewed by Brady Eidson.

Covered by existing tests.

* platform/network/cf/FormDataStreamCFNet.cpp:
* platform/network/cf/FormDataStreamCFNet.h:
Moved low level implementation from FormDataStreamMac, and exposed an additional function
to implement Foundation-based API on top of this.

* platform/network/mac/FormDataStreamMac.h:
* platform/network/mac/FormDataStreamMac.mm:
Rely on toll-free bridging and implementation details to make this work without duplicating
code.
Note that httpBodyFromStream is confusing - I don't see how it can work when sending serialized
requests across process boundary. We probably only get away with this because we don't attempt
to send requests to UI process once they already have streams associated with them.

* WebCore.vcproj/WebCore.vcproj: Added missing platform/cf files.

* platform/cf/FileSystemCF.cpp: Fixed include style.

* platform/win/FileSystemWin.cpp: (WebCore::fileSystemRepresentation): Ifdef out a broken
implementation.

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

12 years ago[chromium] Fix tiled layer assert for huge layers
enne@google.com [Thu, 29 Mar 2012 00:56:16 +0000 (00:56 +0000)]
[chromium] Fix tiled layer assert for huge layers
https://bugs.webkit.org/show_bug.cgi?id=82486

Reviewed by James Robinson.

Source/WebCore:

Test: TiledLayerChromiumTest.hugeLayerUpdateCrash

TilingData::numTiles() is calculated as the product of two ints and so
can potentially overflow, causing numTiles() to be incorrect. To avoid
calling code accidentally falling into this trap, remove this function
and all code that uses tile index from TilingData.  This requires
fixing up a bunch of callers of TilingData and CCLayerTilingData.

Additionally, TilingData::numTiles() has long been a confusing
function name in some contexts, so rename to bool hasEmptyBounds().

Also, remove TilingData::intersectDrawQuad because there are no
clients of that function.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::reserveTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
(WebCore::TiledLayerChromium::prepareToUpdateIdle):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):
* platform/graphics/chromium/cc/CCLayerTilingData.cpp:
(WebCore::CCLayerTilingData::tileRect):
* platform/graphics/chromium/cc/CCLayerTilingData.h:
(WebCore::CCLayerTilingData::hasEmptyBounds):
(WebCore::CCLayerTilingData::tileBounds):
(WebCore::CCLayerTilingData::isEmpty):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::appendQuads):
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::create):
(WebCore::Texture::updateSubRect):
* platform/graphics/gpu/TilingData.cpp:
(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileBoundsWithBorder):
(WebCore::TilingData::tileBoundsNormalized):
* platform/graphics/gpu/TilingData.h:
(WebCore::TilingData::hasEmptyBounds):
(TilingData):
(WebCore::TilingData::assertTile):

Source/WebKit/chromium:

Add test for updating a huge layer that would assert prior to this
code. Fix up TilingData tests to use a testing class that provides a
safe version of numTiles().

* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):
(WTF):
* tests/TilingDataTest.cpp:
(TestTiling):
(WebCore::TestTiling::TestTiling):
(WebCore::TestTiling::numTiles):
(WebCore):
(WebCore::TEST):

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

12 years agoediting/spelling/spellcheck-async-mutation.html is flakey.
enrica@apple.com [Thu, 29 Mar 2012 00:54:26 +0000 (00:54 +0000)]
editing/spelling/spellcheck-async-mutation.html is flakey.
https://bugs.webkit.org/show_bug.cgi?id=82555

Mark this test as flakey in test_expectations.

* platform/mac/test_expectations.txt:

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

12 years agoRemoved editing/pasteboard/drop-text-without-selection.html from test_expectations
enrica@apple.com [Thu, 29 Mar 2012 00:36:50 +0000 (00:36 +0000)]
Removed editing/pasteboard/drop-text-without-selection.html from test_expectations
since it now passes consistently.

* platform/mac/test_expectations.txt:

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

12 years agoAdded compositing/rtl/rtl-fixed-overflow-scrolled.html to the Mac skipped list, becau...
enrica@apple.com [Thu, 29 Mar 2012 00:31:38 +0000 (00:31 +0000)]
Added compositing/rtl/rtl-fixed-overflow-scrolled.html to the Mac skipped list, because of
<https://bugs.webkit.org/show_bug.cgi?id=82554> compositing/rtl/rtl-fixed-overflow-scrolled.html fails on
Lion and SnowLeopard.

* platform/mac/Skipped:

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

12 years agoAdd dtharp to contributors list
commit-queue@webkit.org [Thu, 29 Mar 2012 00:29:39 +0000 (00:29 +0000)]
Add dtharp to contributors list
https://bugs.webkit.org/show_bug.cgi?id=82545

Patch by Dave Tharp <dtharp@codeaurora.org> on 2012-03-28
Reviewed by Adam Barth.

Adding dtharp as Contributor.

* Scripts/webkitpy/common/config/committers.py:

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

12 years agoRebaseline this test after the nodes were removed in r112299.
simon.fraser@apple.com [Thu, 29 Mar 2012 00:24:11 +0000 (00:24 +0000)]
Rebaseline this test after the nodes were removed in r112299.

* platform/mac/fast/dom/Window/window-properties-expected.txt:

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

12 years agoChange FilterOperations::getOutsets to use integers
eae@chromium.org [Wed, 28 Mar 2012 23:57:16 +0000 (23:57 +0000)]
Change FilterOperations::getOutsets to use integers
https://bugs.webkit.org/show_bug.cgi?id=82535

Reviewed by Eric Seidel.

FilterOperations::getOutsets calculates the outsets using integers and
the values are guranteed to be set to full-pixel values. By changing the
function signature we communicate this fact better and avoid unnecessary
type conversions in some cases.

No new tests.

* platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::getOutsets):
* platform/graphics/filters/FilterOperations.h:
(FilterOperations):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addVisualEffectOverflow):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::computeRectForRepaint):
* rendering/style/RenderStyle.h:

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

12 years agoRemove dispatchDidLoadMainResource callback, since no
japhet@chromium.org [Wed, 28 Mar 2012 23:55:31 +0000 (23:55 +0000)]
Remove dispatchDidLoadMainResource callback, since no
port implements it.
https://bugs.webkit.org/show_bug.cgi?id=82539

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests, just deleting dead code.

* loader/EmptyClients.h:
(EmptyFrameLoaderClient):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedLoading):
(WebCore::FrameLoader::mainReceivedCompleteError):
* loader/FrameLoaderClient.h:
(FrameLoaderClient):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::didCancel):

Source/WebKit/blackberry:

* WebCoreSupport/FrameLoaderClientBlackBerry.h:
(FrameLoaderClientBlackBerry):

Source/WebKit/chromium:

* src/FrameLoaderClientImpl.cpp:
(WebKit):
* src/FrameLoaderClientImpl.h:
(FrameLoaderClientImpl):

Source/WebKit/efl:

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore):
* WebCoreSupport/FrameLoaderClientEfl.h:
(FrameLoaderClientEfl):

Source/WebKit/gtk:

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit):
* WebCoreSupport/FrameLoaderClientGtk.h:
(FrameLoaderClient):

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebKit.order:

Source/WebKit/qt:

* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore):
* WebCoreSupport/FrameLoaderClientQt.h:
(FrameLoaderClientQt):

Source/WebKit/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):

Source/WebKit/wince:

* WebCoreSupport/FrameLoaderClientWinCE.cpp:
(WebKit):
* WebCoreSupport/FrameLoaderClientWinCE.h:
(FrameLoaderClientWinCE):

Source/WebKit/wx:

* WebKitSupport/FrameLoaderClientWx.cpp:
(WebCore):
* WebKitSupport/FrameLoaderClientWx.h:
(FrameLoaderClientWx):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

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

12 years agoREGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms.
enrica@apple.com [Wed, 28 Mar 2012 23:43:19 +0000 (23:43 +0000)]
REGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms.
https://bugs.webkit.org/show_bug.cgi?id=82497
<rdar://problem/11140334>

Reviewed by Brady Eidson.

The revision causing this regression fixed the way data is written to the pasteboard for NSURLPboardType.
This change fixes the way data is read from the pasteboard for the same pasteboard type.

No new tests. Fixes the existing one that fails.

* platform/mac/ClipboardMac.mm:
(WebCore::absoluteURLsFromPasteboard):
* platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::stringForType):

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

12 years agoSL bot is hitting SHOULD NEVER BE REACHED in WebCore::valueForLength() on many tests
commit-queue@webkit.org [Wed, 28 Mar 2012 23:41:42 +0000 (23:41 +0000)]
SL bot is hitting SHOULD NEVER BE REACHED in WebCore::valueForLength() on many tests
https://bugs.webkit.org/show_bug.cgi?id=82390

Patch by Joe Thomas <joethomas@motorola.com> on 2012-03-28
Reviewed by Simon Fraser.

This is an attempt to fix the MAC SL/Lion Bot issue as this issue is not reproducible locally.
The assertion happened when length type is Undefined in valueForLength() function but the assertion for Undefined length type
in RenderBox::computeLogicalWidthInRegionUsing which calls the above said function did not get hit.

This patch passes Length structure as const reference to Length calculation functions which avoids the call to the copy-constructor.
And it ensures that the Length structure is not getting modified during copy-construction.

* css/LengthFunctions.cpp:
(WebCore::minimumValueForLength):
(WebCore::valueForLength):
(WebCore::floatValueForLength):
* css/LengthFunctions.h:
(WebCore):

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

12 years agobuild-webkit : the word "pass" is spelled incorrectly as "passs"
commit-queue@webkit.org [Wed, 28 Mar 2012 23:26:32 +0000 (23:26 +0000)]
build-webkit : the word "pass" is spelled incorrectly as "passs"
https://bugs.webkit.org/show_bug.cgi?id=82532

Patch by Stuart Eichert <stuart.eichert@palm.com> on 2012-03-28
Reviewed by Julien Chaffraix.

Corrected spelling of the word "pass" in build-webkit.

* Scripts/build-webkit:

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

12 years agoLion tweaks.
dpranke@chromium.org [Wed, 28 Mar 2012 23:17:03 +0000 (23:17 +0000)]
Lion tweaks.

Unreviewed, expectations change.

* platform/chromium/test_expectations.txt:

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

12 years agocompositing/tiling/crash-reparent-tiled-layer.html is flakey
simon.fraser@apple.com [Wed, 28 Mar 2012 23:08:13 +0000 (23:08 +0000)]
compositing/tiling/crash-reparent-tiled-layer.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=82546

Mark this test as flakey in test_expectations

* platform/mac/test_expectations.txt:

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

12 years agoRoll chromium from 129300 to 129509.
dpranke@chromium.org [Wed, 28 Mar 2012 23:06:52 +0000 (23:06 +0000)]
Roll chromium from 129300 to 129509.

Unreviewed, DEPS change.

* DEPS:

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

12 years agoMore Chromium rebaselines from the expected failures tab in garden-o-matic.
ojan@chromium.org [Wed, 28 Mar 2012 23:05:26 +0000 (23:05 +0000)]
More Chromium rebaselines from the expected failures tab in garden-o-matic.
They all looked like straightforward text-rendering, form-control rendering or anti-aliasing issues,
except for some where the new results were clearly just more correct.

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

12 years agoRemove some more tests from test_expectations.txt, since the pixel test pass.
simon.fraser@apple.com [Wed, 28 Mar 2012 22:56:23 +0000 (22:56 +0000)]
Remove some more tests from test_expectations.txt, since the pixel test pass.

* platform/mac/test_expectations.txt:

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

12 years agoRemove some tests that now pass pixel tests from the list of failures.
simon.fraser@apple.com [Wed, 28 Mar 2012 22:48:31 +0000 (22:48 +0000)]
Remove some tests that now pass pixel tests from the list of failures.

* platform/mac/test_expectations.txt:

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

12 years agoBuild fix - some compiles generating NORETURN related warnings.
barraclough@apple.com [Wed, 28 Mar 2012 22:43:04 +0000 (22:43 +0000)]
Build fix - some compiles generating NORETURN related warnings.

* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::setSubpatternStart):
(JSC::Yarr::YarrGenerator::setSubpatternEnd):
(JSC::Yarr::YarrGenerator::clearSubpatternStart):

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

12 years agonew-run-webkit-tests doesn't log correctly after retrying failures
dpranke@chromium.org [Wed, 28 Mar 2012 22:33:48 +0000 (22:33 +0000)]
new-run-webkit-tests doesn't log correctly after retrying failures
https://bugs.webkit.org/show_bug.cgi?id=82541

Unreviewed, build fix.

r112189 introduced a regression where we would accidentally
delete the log handler after we retried any failing tests - that
meant that any log messages around uploading the results got
dropped.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests):

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

12 years agoMassive lag opening a link in a new background tab
andersca@apple.com [Wed, 28 Mar 2012 22:32:20 +0000 (22:32 +0000)]
Massive lag opening a link in a new background tab
https://bugs.webkit.org/show_bug.cgi?id=82542
<rdar://problem/11004502>

Reviewed by Sam Weinig.

Defer waiting for the web process to update the page size until we're actually going to display the layer.
This matches what we do in the non-tiled code path.

* UIProcess/API/mac/WKView.mm:
(-[WKView setFrameSize:]):
(-[WKView updateLayer]):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
(TiledCoreAnimationDrawingAreaProxy):
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
(WebKit):
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):

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

12 years ago[wx] Unreviewed. Build fix, move WTF back into JSCore target
kevino@webkit.org [Wed, 28 Mar 2012 22:24:14 +0000 (22:24 +0000)]
[wx] Unreviewed. Build fix, move WTF back into JSCore target
until issues with JSCore not linking in all WTF symbols are resolved.

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

12 years agoYarr: if we're not using the output array, don't populate it!
barraclough@apple.com [Wed, 28 Mar 2012 22:20:52 +0000 (22:20 +0000)]
Yarr: if we're not using the output array, don't populate it!
https://bugs.webkit.org/show_bug.cgi?id=82519

Reviewed by Sam Weinig.

* runtime/RegExp.cpp:
(JSC):
    - Missed review comment! - didn't fully remove RegExpRepresentation.

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

12 years agoYarr: if we're not using the output array, don't populate it!
barraclough@apple.com [Wed, 28 Mar 2012 22:18:20 +0000 (22:18 +0000)]
Yarr: if we're not using the output array, don't populate it!
https://bugs.webkit.org/show_bug.cgi?id=82519

Reviewed by Sam Weinig.

../JavaScriptCore:

Add a new variant of the match method to RegExp that returns a MatchResult,
and modify YarrJIT to be able to compile code that doesn't use an output vector.

This is a 3% progression on v8-regexp.

* JavaScriptCore.xcodeproj/project.pbxproj:
    - Moved MatchResult into its own header.
* assembler/AbstractMacroAssembler.h:
    - Added missing include.
* runtime/MatchResult.h: Added.
(MatchResult::MatchResult):
(MatchResult):
(MatchResult::failed):
(MatchResult::operator bool):
(MatchResult::empty):
    - Moved MatchResult into its own header.
* runtime/RegExp.cpp:
(JSC::RegExp::compile):
(JSC::RegExp::compileIfNecessary):
(JSC::RegExp::match):
    - Changed due to execute & representation changes.
(JSC::RegExp::compileMatchOnly):
(JSC::RegExp::compileIfNecessaryMatchOnly):
    - Added helper to compile MatchOnly code.
(JSC::RegExp::invalidateCode):
(JSC::RegExp::matchCompareWithInterpreter):
(JSC::RegExp::printTraceData):
    - Changed due representation changes.
* runtime/RegExp.h:
(RegExp):
(JSC::RegExp::hasCode):
    - Made YarrCodeBlock a member.
* runtime/RegExpConstructor.h:
(RegExpConstructor):
(JSC::RegExpConstructor::performMatch):
    - Added no-ovector form.
* runtime/RegExpMatchesArray.cpp:
(JSC::RegExpMatchesArray::reifyAllProperties):
    - Match now takes a reference to ovector, not a pointer.
* runtime/RegExpObject.h:
(JSC):
    - Moved MatchResult into its own header.
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncSplit):
    - Match now takes a reference to ovector, not a pointer.
* testRegExp.cpp:
(testOneRegExp):
    - Match now takes a reference to ovector, not a pointer.
* yarr/YarrJIT.cpp:
(Yarr):
(YarrGenerator):
(JSC::Yarr::YarrGenerator::initCallFrame):
(JSC::Yarr::YarrGenerator::removeCallFrame):
(JSC::Yarr::YarrGenerator::setSubpatternStart):
(JSC::Yarr::YarrGenerator::setSubpatternEnd):
(JSC::Yarr::YarrGenerator::clearSubpatternStart):
(JSC::Yarr::YarrGenerator::setMatchStart):
(JSC::Yarr::YarrGenerator::getMatchStart):
    - Added helper functions to intermediate access to output.
(JSC::Yarr::YarrGenerator::generateDotStarEnclosure):
(JSC::Yarr::YarrGenerator::generate):
(JSC::Yarr::YarrGenerator::backtrack):
(JSC::Yarr::YarrGenerator::generateEnter):
(JSC::Yarr::YarrGenerator::compile):
    - Changed to use the new helpers, only generate subpatterns if IncludeSubpatterns.
(JSC::Yarr::jitCompile):
    - Needs to template of MatchOnly or IncludeSubpatterns.
* yarr/YarrJIT.h:
(YarrCodeBlock):
(JSC::Yarr::YarrCodeBlock::set8BitCode):
(JSC::Yarr::YarrCodeBlock::set16BitCode):
(JSC::Yarr::YarrCodeBlock::has8BitCodeMatchOnly):
(JSC::Yarr::YarrCodeBlock::has16BitCodeMatchOnly):
(JSC::Yarr::YarrCodeBlock::set8BitCodeMatchOnly):
(JSC::Yarr::YarrCodeBlock::set16BitCodeMatchOnly):
(JSC::Yarr::YarrCodeBlock::execute):
(JSC::Yarr::YarrCodeBlock::clear):
    - Added a second set of CodeRefs, so that we can compile RexExps with/without subpattern matching.

../WebCore:

* ForwardingHeaders/runtime/MatchResult.h: Added.
* ForwardingHeaders/yarr/YarrJIT.h: Added.
    - Added forwarding headers.

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

12 years agoSource/WebCore: https://bugs.webkit.org/show_bug.cgi?id=81685
hyatt@apple.com [Wed, 28 Mar 2012 22:15:31 +0000 (22:15 +0000)]
Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=81685

[New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
It derives from RenderFlowThread.

Refactor RenderFlowThread to split out the stuff related to explicit naming into a subclass, RenderNamedFlowThread.
This allows RenderFlowThread to be a simple base class that involves maintaining the regions themselves.

Reviewed by Julien Chaffraix.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
* dom/NodeRenderingContext.cpp:
* dom/NodeRenderingContext.h:
(WebCore):
(WebCore::NodeRenderingContext::parentFlowRenderer):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
* dom/WebKitNamedFlow.h:
(WebCore):
(WebCore::WebKitNamedFlow::create):
(WebKitNamedFlow):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::collapseAnonymousBoxChild):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore):
(WebCore::RenderFlowThread::addRegionToThread):
(WebCore::RenderFlowThread::removeRegionFromThread):
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
* rendering/RenderFlowThread.h:
(WebCore):
* rendering/RenderMultiColumnFlowThread.cpp: Added.
(WebCore):
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
(WebCore::RenderMultiColumnFlowThread::renderName):
* rendering/RenderMultiColumnFlowThread.h: Added.
(WebCore):
(RenderMultiColumnFlowThread):
* rendering/RenderNamedFlowThread.cpp: Added.
(WebCore):
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::renderName):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::previousRendererForNode):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
(WebCore::RenderNamedFlowThread::dependsOn):
(WebCore::compareRenderRegions):
(WebCore::RenderNamedFlowThread::addRegionToThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::checkInvalidRegions):
(WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
(WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
(WebCore::RenderNamedFlowThread::pushDependencies):
(WebCore::RenderNamedFlowThread::ensureNamedFlow):
* rendering/RenderNamedFlowThread.h: Added.
(WebCore):
(RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::name):
(WebCore::RenderNamedFlowThread::hasChildren):
(WebCore::RenderNamedFlowThread::hasChild):
(WebCore::RenderNamedFlowThread::isRenderNamedFlowThread):
(WebCore::toRenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderNamedFlowThread):
* rendering/RenderObjectChildList.cpp:
(WebCore::renderNamedFlowThreadContainer):
(WebCore::RenderObjectChildList::removeChildNode):
(WebCore::RenderObjectChildList::appendChildNode):
(WebCore::RenderObjectChildList::insertChildNode):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::attachRegion):
* rendering/RenderRegion.h:
(WebCore):
(WebCore::RenderRegion::parentNamedFlowThread):
(RenderRegion):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderNamedFlowThreads):
(WebCore::writeLayers):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):
(WebCore::RenderView::styleDidChange):
(WebCore::RenderView::ensureRenderFlowThreadWithName):
(WebCore::RenderView::layoutRenderNamedFlowThreads):
* rendering/RenderView.h:
(WebCore):
(RenderView):
(WebCore::RenderView::hasRenderNamedFlowThreads):
(WebCore::RenderView::isRenderNamedFlowThreadOrderDirty):
(WebCore::RenderView::setIsRenderNamedFlowThreadOrderDirty):
(WebCore::RenderView::renderNamedFlowThreadList):

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

[New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
It derives from RenderFlowThread.

Change layout test results to reflect the name change from RenderFlowThread to
RenderNamedFlowThread. Other platforms should update results accordingly.

Reviewed by Julien Chaffraix.

* fast/repaint/inline-relative-positioned-expected.txt:
* fast/repaint/overflow-clip-subtree-layout-expected.txt:
* fast/repaint/subtree-root-clip-2-expected.txt:
* fast/repaint/subtree-root-clip-3-expected.txt:
* fast/repaint/subtree-root-clip-expected.txt:
* platform/mac/fast/regions/bottom-overflow-out-of-first-region-expected.txt:
* platform/mac/fast/regions/flow-content-basic-expected.txt:
* platform/mac/fast/regions/flow-content-basic-vertical-expected.txt:
* platform/mac/fast/regions/flow-content-basic-vertical-rl-expected.txt:
* platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
* platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt:
* platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt:
* platform/mac/fast/regions/percentage-margins-mixed-ltr-dominant-regions-expected.txt:
* platform/mac/fast/regions/percentage-margins-mixed-rtl-dominant-regions-expected.txt:
* platform/mac/fast/regions/percentage-margins-rtl-variable-width-regions-expected.txt:
* platform/mac/fast/regions/percentage-margins-variable-width-regions-expected.txt:
* platform/mac/fast/regions/region-overflow-auto-overflow-hidden-expected.txt:
* platform/mac/fast/regions/region-overflow-auto-overflow-visible-expected.txt:
* platform/mac/fast/regions/region-overflow-break-expected.txt:
* platform/mac/fast/regions/region-style-block-background-color-expected.txt:
* platform/mac/fast/regions/region-style-block-background-color2-expected.txt:
* platform/mac/fast/regions/region-style-image-background-color-expected.txt:
* platform/mac/fast/regions/region-style-inline-background-color-expected.txt:
* platform/mac/fast/regions/render-region-custom-style-mark-expected.txt:
* platform/mac/fast/regions/text-region-split-small-pagination-expected.txt:
* platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt:
* platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.txt:
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt:
* platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.txt:
* platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-expected.txt:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-expected.txt:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt:
* platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
* platform/mac/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
* platform/mac/fast/repaint/region-painting-invalidation-expected.txt:
* platform/mac/fast/repaint/region-painting-via-layout-expected.txt:
* platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
* platform/qt/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
* platform/qt/fast/repaint/region-painting-invalidation-expected.txt:
* platform/qt/fast/repaint/region-painting-via-layout-expected.txt:
* platform/win/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:

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

12 years agoRemove unnecessary rounding in RenderLayerBacking
eae@chromium.org [Wed, 28 Mar 2012 22:09:28 +0000 (22:09 +0000)]
Remove unnecessary rounding in RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=82529

Reviewed by Eric Seidel.

Remove rounding that is no longer required now that borderBoxRect returns
an IntRect.

No new tests.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):

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

12 years agoUnreviewed, rolling out r112432.
enne@google.com [Wed, 28 Mar 2012 22:07:25 +0000 (22:07 +0000)]
Unreviewed, rolling out r112432.
http://trac.webkit.org/changeset/112432
https://bugs.webkit.org/show_bug.cgi?id=82536

Causes ccs3 layout test asserts (Requested by enne on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-28

Source/WebCore:

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::reserveTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
(WebCore::TiledLayerChromium::prepareToUpdateIdle):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):
* platform/graphics/chromium/cc/CCLayerTilingData.cpp:
(WebCore::CCLayerTilingData::tileRect):
* platform/graphics/chromium/cc/CCLayerTilingData.h:
(WebCore::CCLayerTilingData::numTiles):
(WebCore::CCLayerTilingData::tileBounds):
(WebCore::CCLayerTilingData::isEmpty):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::appendQuads):
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::platformApplySoftware):
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::create):
(WebCore::Texture::updateSubRect):
* platform/graphics/gpu/TilingData.cpp:
(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileBoundsWithBorder):
(WebCore::TilingData::tileBoundsNormalized):
(WebCore::TilingData::intersectDrawQuad):
(WebCore):
* platform/graphics/gpu/TilingData.h:
(WebCore::TilingData::numTiles):
(WebCore::TilingData::tileIndex):
(WebCore::TilingData::tileXIndex):
(WebCore::TilingData::tileYIndex):
(TilingData):
(WebCore::TilingData::assertTile):

Source/WebKit/chromium:

* tests/TiledLayerChromiumTest.cpp:
* tests/TilingDataTest.cpp:
(WebCore::TEST):

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

12 years ago[chromium] Merge ChromiumDataObject and DataTransferItemListChromium.
dcheng@chromium.org [Wed, 28 Mar 2012 22:03:41 +0000 (22:03 +0000)]
[chromium] Merge ChromiumDataObject and DataTransferItemListChromium.
https://bugs.webkit.org/show_bug.cgi?id=82407

Reviewed by Tony Chang.

Source/WebCore:

Since ChromiumDataObject is just a very thin wrapper for DataTransferItemListChromium now,
combine the two and remove a layer of indirection.

No functionality change, should be covered by existing tests.

* WebCore.gypi:
* platform/chromium/ChromiumDataObject.cpp: Replacing DataTransferItemListChromium.
(WebCore::ChromiumDataObject::createFromPasteboard):
(WebCore::ChromiumDataObject::create):
(WebCore::ChromiumDataObject::length):
(WebCore):
(WebCore::ChromiumDataObject::item):
(WebCore::ChromiumDataObject::deleteItem):
(WebCore::ChromiumDataObject::clearAll):
(WebCore::ChromiumDataObject::add):
(WebCore::ChromiumDataObject::clearData):
(WebCore::ChromiumDataObject::clearAllExceptFiles):
(WebCore::ChromiumDataObject::types):
(WebCore::ChromiumDataObject::getData):
(WebCore::ChromiumDataObject::setData):
(WebCore::ChromiumDataObject::urlAndTitle):
(WebCore::ChromiumDataObject::setURLAndTitle):
(WebCore::ChromiumDataObject::htmlAndBaseURL):
(WebCore::ChromiumDataObject::setHTMLAndBaseURL):
(WebCore::ChromiumDataObject::containsFilenames):
(WebCore::ChromiumDataObject::filenames):
(WebCore::ChromiumDataObject::addFilename):
(WebCore::ChromiumDataObject::addSharedBuffer):
(WebCore::ChromiumDataObject::ChromiumDataObject):
(WebCore::ChromiumDataObject::findStringItem):
(WebCore::ChromiumDataObject::internalAddStringItem):
(WebCore::ChromiumDataObject::internalAddFileItem):
* platform/chromium/ChromiumDataObject.h:
(WebCore):
(ChromiumDataObject):
* platform/chromium/ChromiumDataObjectItem.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.cpp.
(WebCore):
(WebCore::ChromiumDataObjectItem::createFromString):
(WebCore::ChromiumDataObjectItem::createFromFile):
(WebCore::ChromiumDataObjectItem::createFromURL):
(WebCore::ChromiumDataObjectItem::createFromHTML):
(WebCore::ChromiumDataObjectItem::createFromSharedBuffer):
(WebCore::ChromiumDataObjectItem::createFromPasteboard):
(WebCore::ChromiumDataObjectItem::ChromiumDataObjectItem):
(WebCore::ChromiumDataObjectItem::getAsString):
(WebCore::ChromiumDataObjectItem::getAsFile):
(WebCore::ChromiumDataObjectItem::internalGetAsString):
(WebCore::ChromiumDataObjectItem::isFilename):
* platform/chromium/ChromiumDataObjectItem.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.h.
(WebCore):
(ChromiumDataObjectItem):
(WebCore::ChromiumDataObjectItem::kind):
(WebCore::ChromiumDataObjectItem::type):
(WebCore::ChromiumDataObjectItem::sharedBuffer):
(WebCore::ChromiumDataObjectItem::title):
(WebCore::ChromiumDataObjectItem::baseURL):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::files):
(WebCore::ClipboardChromium::hasData):
(WebCore::ClipboardChromium::items):
* platform/chromium/DataTransferItemListChromium.cpp: Removed.
* platform/chromium/DataTransferItemListChromium.h: Removed.

Source/WebKit/chromium:

* src/WebDragData.cpp:
(WebKit::WebDragData::items):

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

12 years agoUnreviewed rebaseline
jam@chromium.org [Wed, 28 Mar 2012 22:00:27 +0000 (22:00 +0000)]
Unreviewed rebaseline

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

12 years ago[chromium] Scheduler should not tell FrameRateController to begin a frame when we...
nduca@chromium.org [Wed, 28 Mar 2012 21:45:07 +0000 (21:45 +0000)]
[chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap
https://bugs.webkit.org/show_bug.cgi?id=82516

Reviewed by James Robinson.

Source/WebCore:

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::swapBuffers):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::swapBuffers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
(WebCore::CCScheduledActionDrawAndSwapResult::CCScheduledActionDrawAndSwapResult):
(CCScheduledActionDrawAndSwapResult):
(WebCore):
(CCSchedulerClient):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):

Source/WebKit/chromium:

* tests/CCSchedulerTest.cpp:
(WebKitTests::FakeCCSchedulerClient::reset):
(WebKitTests::FakeCCSchedulerClient::hasAction):
(FakeCCSchedulerClient):
(WebKitTests::FakeCCSchedulerClient::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::FakeCCSchedulerClient::scheduledActionDrawAndSwapForced):
(WebKitTests::FakeCCSchedulerClient::setDrawWillHappen):
(WebKitTests::FakeCCSchedulerClient::setSwapWillHappenIfDrawHappens):
(WebKitTests::SchedulerClientThatSetNeedsDrawInsideDraw::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::SchedulerClientThatSetNeedsDrawInsideDraw::scheduledActionDrawAndSwapForced):
(SchedulerClientThatSetNeedsDrawInsideDraw):
(WebKitTests::TEST):
(WebKitTests::SchedulerClientThatSetNeedsCommitInsideDraw::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::SchedulerClientThatSetNeedsCommitInsideDraw::scheduledActionDrawAndSwapForced):
(SchedulerClientThatSetNeedsCommitInsideDraw):
(WebKitTests):

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

12 years agoFileWriter has two race conditions
ericu@chromium.org [Wed, 28 Mar 2012 21:43:10 +0000 (21:43 +0000)]
FileWriter has two race conditions
https://bugs.webkit.org/show_bug.cgi?id=81861

Reviewed by David Levin.

Should make current tests less flaky.

* Modules/filesystem/FileWriter.h:
* Modules/filesystem/FileWriter.cpp:
Track the in-flight operation, whether it be an abort/write/truncate.
Whether an abort comes back as didWrite, didTruncate, or didFail, handle
it appropriately.  Before this fix, the Chromium implementation would
assert in two cases:

If the user calls abort, then write, then abort before the backend
catches up, we'd send both aborts to the backend, even though it hadn't
received the write yet.  Chromium's backend asserts if there's an abort
with no write in progress.  We now record that we've sent an abort and
are waiting for the response.

If the user calls abort while a write/truncate is just finishing, on the
Chromium worker implementation, the completion message could be
thread-hopping back to WebCore at the
WorkerAsyncFileWriterCallbacksBridge while the abort is thread-hopping
in the other direction.  Again, this leads to an abort call to the
backend with no write in progress, and an assert.  We're now robust to
completions coming back when we're expecting an abort, and
https://chromiumcodereview.appspot.com/9764018/ will make the backend
robust to extra abort calls.

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

12 years agoDeleting a paragraph of text should not add elements for typing style
rniwa@webkit.org [Wed, 28 Mar 2012 21:41:34 +0000 (21:41 +0000)]
Deleting a paragraph of text should not add elements for typing style
https://bugs.webkit.org/show_bug.cgi?id=82401

Reviewed by Enrica Casucci.

Source/WebCore:

This behavior was explicitly supported by DeleteSelectionCommand but it doesn't match TextEdit or Firefox.
We're changing our behavior to match TextEdit and Firefox in this patch.

The behavior is tested by an existing test, which was renamed to deleting-text-rests-typing-style.html in this patch.

Test: editing/execCommand/deleting-text-rests-typing-style.html

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):

LayoutTests:

Rebaselined the tests per behavior changes. Also renamed 19653-3.html to deleting-text-rests-typing-style.html
which tests this behavioral change.

* editing/deleting/delete-and-cleanup-expected.txt:
* editing/deleting/delete-and-cleanup.html: Elements added for typing styles have been removed.
* editing/deleting/delete-br-012-expected.txt: Ditto.
* editing/deleting/delete-select-all-001-expected.txt: Ditto.
* editing/execCommand/19653-3-expected.txt: Removed.
* editing/execCommand/19653-3.html: Removed.
* editing/execCommand/apply-style-text-decoration-crash-expected.txt:
* editing/execCommand/delete-image-in-anchor-expected.txt: Ditto.
* editing/execCommand/deleting-text-rests-typing-style-expected.txt: Copied from LayoutTests/editing/execCommand/19653-3-expected.txt.
* editing/execCommand/deleting-text-rests-typing-style.html: Copied from LayoutTests/editing/execCommand/19653-3.html.
* editing/inserting/5994480-2-expected.txt:
* editing/inserting/5994480-2.html: Ditto; converted this test to a dump-as-markup test for clarity.
* editing/pasteboard/paste-text-with-style-2-expected.txt: Elements added for typing styles have been removed.
* editing/style/block-style-005-expected.txt:  Ditto.
* editing/pasteboard/select-element-1-expected.txt: Editing delegate dump changed but the final result remains intact.

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

12 years agodownload-built-product build step should detect 404 errors
simon.fraser@apple.com [Wed, 28 Mar 2012 21:33:16 +0000 (21:33 +0000)]
download-built-product build step should detect 404 errors
https://bugs.webkit.org/show_bug.cgi?id=82491

Reviewed by Ryosuke Niwa.

Pass --fail to curl so that it reports 404 errors.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DownloadBuiltProduct): Pass --fail to curl so that it reports errors.
* BuildSlaveSupport/built-product-archive:
(extractBuiltProduct): Remove trailing whitespace.

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

12 years agoflakiness dashboard should only keep the last 500 runs
dpranke@chromium.org [Wed, 28 Mar 2012 21:29:07 +0000 (21:29 +0000)]
flakiness dashboard should only keep the last 500 runs
https://bugs.webkit.org/show_bug.cgi?id=82530

Reviewed by Ojan Vafai.

If a bot has an overly large amount of failing tests, then
storing 750 runs' worth takes a lot of memory and CPU time to
process and we end up getting killed by AppEngine; this cases
data corruption and confusion down the road when we have to
retry the upload of the data and the tests show up as multiple
runs.

* TestResultServer/model/jsonresults.py:
(JsonResults.update_file):

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

12 years agoMore Chromium rebaselines from the expected failures tab in garden-o-matic.
ojan@chromium.org [Wed, 28 Mar 2012 21:26:56 +0000 (21:26 +0000)]
More Chromium rebaselines from the expected failures tab in garden-o-matic.
They all looked like straightforward text-rendering or anti-aliasing issues,
except for some where the new results were clearly just more correct.

* fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png: Copied from LayoutTests/platform/efl/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png.
* platform/chromium-linux/fast/dom/HTMLInputElement/input-image-alt-text-expected.png:
* platform/chromium-linux/fast/dynamic/containing-block-change-expected.png: Added.
* platform/chromium-linux/fast/dynamic/first-letter-display-change-expected.png: Added.
* platform/chromium-linux/fast/dynamic/window-resize-scrollbars-test-expected.png:
* platform/chromium-linux/fast/events/updateLayoutForHitTest-expected.png: Renamed from LayoutTests/platform/efl/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png.
* platform/chromium-linux/fast/events/updateLayoutForHitTest-expected.txt: Added.
* platform/chromium-mac-leopard/fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
* platform/chromium-mac-leopard/fast/dom/getElementsByClassName/011-expected.txt: Added.
* platform/chromium-mac-leopard/fast/dynamic/containing-block-change-expected.png: Added.
* platform/chromium-mac-leopard/fast/dynamic/window-resize-scrollbars-test-expected.png: Added.
* platform/chromium-mac-leopard/fast/events/updateLayoutForHitTest-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/dom/52776-expected.png:
* platform/chromium-mac-snowleopard/fast/dom/52776-expected.txt:
* platform/chromium-mac-snowleopard/fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/dynamic/containing-block-change-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/dynamic/window-resize-scrollbars-test-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/encoding/utf-16-big-endian-expected.png:
* platform/chromium-mac-snowleopard/fast/encoding/utf-16-little-endian-expected.png:
* platform/chromium-mac-snowleopard/fast/events/reveal-link-when-focused-expected.png:
* platform/chromium-mac-snowleopard/fast/events/updateLayoutForHitTest-expected.png: Added.
* platform/chromium-mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
* platform/chromium-mac/fast/dynamic/containing-block-change-expected.png: Added.
* platform/chromium-mac/fast/dynamic/window-resize-scrollbars-test-expected.png: Added.
* platform/chromium-mac/fast/dynamic/window-resize-scrollbars-test-expected.txt: Added.
* platform/chromium-mac/fast/encoding/utf-16-big-endian-expected.png: Added.
* platform/chromium-mac/fast/encoding/utf-16-big-endian-expected.txt: Added.
* platform/chromium-mac/fast/encoding/utf-16-little-endian-expected.png: Added.
* platform/chromium-mac/fast/encoding/utf-16-little-endian-expected.txt: Added.
* platform/chromium-mac/fast/events/reveal-link-when-focused-expected.png: Added.
* platform/chromium-mac/fast/events/updateLayoutForHitTest-expected.png: Added.
* platform/chromium-mac/fast/events/updateLayoutForHitTest-expected.txt: Added.
* platform/chromium-win/fast/dom/HTMLInputElement/input-image-alt-text-expected.png:
* platform/chromium-win/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt:
* platform/chromium-win/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png: Renamed from LayoutTests/platform/gtk/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png.
* platform/chromium-win/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt: Added.
* platform/chromium-win/fast/dynamic/containing-block-change-expected.png: Added.
* platform/chromium-win/fast/dynamic/containing-block-change-expected.txt: Added.
* platform/chromium-win/fast/dynamic/first-letter-display-change-expected.png: Added.
* platform/chromium-win/fast/dynamic/window-resize-scrollbars-test-expected.png:
* platform/chromium-win/fast/dynamic/window-resize-scrollbars-test-expected.txt:
* platform/chromium/fast/dom/Window/get-set-properties-expected.txt:
* platform/chromium/fast/dom/Window/window-property-descriptors-expected.txt: Copied from LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt.
* platform/chromium/fast/dom/Window/window-property-shadowing-expected.txt:
* platform/chromium/test_expectations.txt:
* platform/efl/fast/dom/Window/window-property-descriptors-expected.txt: Renamed from LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt.
* platform/mac/fast/dynamic/first-letter-display-change-expected.txt: Renamed from LayoutTests/fast/dynamic/first-letter-display-change-expected.txt.

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

12 years agoextract-built-product build step should fail if unzipping fails
rniwa@webkit.org [Wed, 28 Mar 2012 21:21:50 +0000 (21:21 +0000)]
extract-built-product build step should fail if unzipping fails
https://bugs.webkit.org/show_bug.cgi?id=82493

Reviewed by Simon Fraser.

Forward non-zero exit code from subprocesses so that the master can detect any failures
and bail out early.

* BuildSlaveSupport/built-product-archive:
(main):

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

12 years ago[chromium] Add tracing events around CCLayerTreeHostImpl visibility.
commit-queue@webkit.org [Wed, 28 Mar 2012 21:18:20 +0000 (21:18 +0000)]
[chromium] Add tracing events around CCLayerTreeHostImpl visibility.
https://bugs.webkit.org/show_bug.cgi?id=82501

Patch by Michal Mocny <mmocny@google.com> on 2012-03-28
Reviewed by James Robinson.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::setVisible):

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

12 years agoIncorrect foreignObject hit test results when overlapping other SVG elements
commit-queue@webkit.org [Wed, 28 Mar 2012 21:00:37 +0000 (21:00 +0000)]
Incorrect foreignObject hit test results when overlapping other SVG elements
https://bugs.webkit.org/show_bug.cgi?id=82059

Patch by Florin Malita <fmalita@google.com> on 2012-03-28
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Test: svg/hittest/foreign-object-background.svg

Foreign content needs to be hit-tested atomically due to the (pseudo)
stacking context established by FOs.

* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
Hit test all phases on FO HitTestForeground.

LayoutTests:

* svg/hittest/foreign-object-background-expected.txt: Added.
* svg/hittest/foreign-object-background.svg: Added.

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

12 years agotest-webkitpy should support files, directories, and packages as command line args
dpranke@chromium.org [Wed, 28 Mar 2012 20:59:06 +0000 (20:59 +0000)]
test-webkitpy should support files, directories, and packages as command line args
https://bugs.webkit.org/show_bug.cgi?id=76765

Reviewed by Adam Barth.

This patch adds support for specifying files, directories, and
packages to test-webkitpy along with the already existing
support for modules, test classes, and individual test names.

Also, fix a bug in filesystem_mock where we wouldn't normalize a
path containing a reference to the current directory properly,
for example, '/foo/./bar.py'.

* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.normpath):
* Scripts/webkitpy/test/main.py:
(Tester._configure_logging):
(Tester._run_tests):
* Scripts/webkitpy/test/test_finder.py:
(TestDirectoryTree.find_modules):
(TestDirectoryTree.subpath):
(TestFinder.is_dotted_name):
(TestFinder.find_names):
(TestFinder):
(TestFinder._find_names_for_arg):
(TestFinder._find_in_trees):
(TestFinder._default_names):
* Scripts/webkitpy/test/test_finder_unittest.py:
(TestFinderTest.setUp):
(TestFinderTest.tearDown):
(TestFinderTest.check_names):
(TestFinderTest.test_default_names):
(TestFinderTest):
(TestFinderTest.test_paths):

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

12 years ago[chromium] layer->clipRect() is not initialized for layers that create a renderSurface.
shawnsingh@chromium.org [Wed, 28 Mar 2012 20:42:19 +0000 (20:42 +0000)]
[chromium] layer->clipRect() is not initialized for layers that create a renderSurface.
https://bugs.webkit.org/show_bug.cgi?id=74147

Reviewed by Adrienne Walker.

Source/WebCore:

Added 3 additional unit tests; Modified existing unit tests and layout tests.

The layer's clipRect and usesLayerClipping information was not
being initialized for layers that created a renderSurface. (It
was, however, being initialized for the renderSurface itself.)
This patch adds a unit test that reproduces that this is an error,
other unit tests to tightly test the value of clipRect being
initialized, and adds the logic to properly initialize the
clipRect.

Before this patch, this bug was causing flashing on tab-switch on
the apple iphone page. Even worse, with partial swap enabled, the
layers would simply disappear, because the first frame the
clipRect is uninitialized and the layer is not drawn, and the
second frame onwards, the damage tracker correctly things nothing
is damaged, so it doesn't draw that layer again until other damage
causes it to be redrawn.

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):

Source/WebKit/chromium:

Added 3 more unit tests. One reproduces the clipRect problem in an
integrated manner, the other two directly test that clipRects are
properly initialized.

* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore::TEST):
(WebCore):
* tests/CCLayerTreeTestCommon.h:
(WebKitTests):

LayoutTests:

* platform/chromium/test_expectations.txt: marked test as needing rebaselining

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

12 years agoFix inspector tests when running in internal builds.
simon.fraser@apple.com [Wed, 28 Mar 2012 20:41:15 +0000 (20:41 +0000)]
Fix inspector tests when running in internal builds.

<rdar://problem/11050694>

Reviewed by Tim Hatcher.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):

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

12 years ago"Sticky" or slow scrolling on some sites
andersca@apple.com [Wed, 28 Mar 2012 20:36:39 +0000 (20:36 +0000)]
"Sticky" or slow scrolling on some sites
https://bugs.webkit.org/show_bug.cgi?id=82512
<rdar://problem/11000372>

Reviewed by Andreas Kling.

When we're in the slow mode and have to update the scroll layer position on the main thread,
get it from the scrolling thread so we'll be in sync with the scrolling tree when the main thread is busy.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
* page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::mainFrameScrollPosition):
(WebCore):
(WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):
* page/scrolling/ScrollingTree.h:

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

12 years ago[chromium] Update worker-multi-port-expected.txt.
jam@chromium.org [Wed, 28 Mar 2012 20:29:38 +0000 (20:29 +0000)]
[chromium] Update worker-multi-port-expected.txt.

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

Reviewed by James Robinson.

* platform/chromium-win/fast/workers/worker-multi-port-expected.txt:

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

12 years ago[chromium] Fix tiled layer assert for huge layers
enne@google.com [Wed, 28 Mar 2012 20:20:23 +0000 (20:20 +0000)]
[chromium] Fix tiled layer assert for huge layers
https://bugs.webkit.org/show_bug.cgi?id=82486

Reviewed by James Robinson.

Source/WebCore:

Test: TiledLayerChromiumTest.hugeLayerUpdateCrash

TilingData::numTiles() is calculated as the product of two ints and so
can potentially overflow, causing numTiles() to be incorrect. To avoid
calling code accidentally falling into this trap, remove this function
and all code that uses tile index from TilingData.  This requires
fixing up a bunch of callers of TilingData and CCLayerTilingData.

Additionally, TilingData::numTiles() has long been a confusing
function name in some contexts, so rename to bool hasEmptyBounds().

Also, remove TilingData::intersectDrawQuad because there are no
clients of that function.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::reserveTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
(WebCore::TiledLayerChromium::prepareToUpdateIdle):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):
* platform/graphics/chromium/cc/CCLayerTilingData.cpp:
(WebCore::CCLayerTilingData::tileRect):
* platform/graphics/chromium/cc/CCLayerTilingData.h:
(WebCore::CCLayerTilingData::hasEmptyBounds):
(WebCore::CCLayerTilingData::tileBounds):
(WebCore::CCLayerTilingData::isEmpty):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::appendQuads):
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::create):
(WebCore::Texture::updateSubRect):
* platform/graphics/gpu/TilingData.cpp:
(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileBoundsWithBorder):
(WebCore::TilingData::tileBoundsNormalized):
* platform/graphics/gpu/TilingData.h:
(WebCore::TilingData::hasEmptyBounds):
(TilingData):
(WebCore::TilingData::assertTile):

Source/WebKit/chromium:

Add test for updating a huge layer that would assert prior to this
code. Fix up TilingData tests to use a testing class that provides a
safe version of numTiles().

* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):
(WTF):
* tests/TilingDataTest.cpp:
(TestTiling):
(WebCore::TestTiling::TestTiling):
(WebCore::TestTiling::numTiles):
(WebCore):
(WebCore::TEST):

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

12 years agoUse xcrun to find nm and ranlib on OS X builds
ddkilzer@apple.com [Wed, 28 Mar 2012 20:13:27 +0000 (20:13 +0000)]
Use xcrun to find nm and ranlib on OS X builds
<http://webkit.org/b/82466>

Reviewed by Dan Bernstein.

* Scripts/build-webkit: Use xcrun to find ranlib.
* Scripts/webkitdirs.pm:
(determineNmPath): Added.  Use xcrun to find nm on OS X.
(nmPath): Added.
* Scripts/webkitperl/features.pm:
(libraryContainsSymbol): Use nmPath().

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

12 years agoMore flaky tests.
dpranke@chromium.org [Wed, 28 Mar 2012 19:56:07 +0000 (19:56 +0000)]
More flaky tests.

Unreviewed, expectations update.

* platform/chromium/test_expectations.txt:

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

12 years agoWeb Inspector: CodeGeneratorInspector.py: switch Runtime, Network and DOM domains...
vsevik@chromium.org [Wed, 28 Mar 2012 19:44:57 +0000 (19:44 +0000)]
Web Inspector: CodeGeneratorInspector.py: switch Runtime, Network and DOM domains to typed API
https://bugs.webkit.org/show_bug.cgi?id=81558

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-03-28
Reviewed by Pavel Feldman.

Client code is switched to typed API (all InspectorObject and InspectorArray types are
replaced with generated types from TypeBuilder according to Inspector.json).

Missing array of int specialization is added. Code generator now has a check against
misspelled (non-existing) domain names.

* inspector/CodeGeneratorInspector.py:
(Generator.go): check against misspelled domain names added.
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::evaluate):
(WebCore::InjectedScript::callFunctionOn):
(WebCore::InjectedScript::evaluateOnCallFrame):
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::wrapObject):
(WebCore::InjectedScript::wrapNode):
(WebCore::InjectedScript::wrapSerializedObject):
(WebCore::InjectedScript::makeEvalCall):
* inspector/InjectedScript.h:
(InjectedScript):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::loadEventFired):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
(WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
* inspector/InspectorDOMAgent.h:
(InspectorDOMAgent):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
* inspector/InspectorPageAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
* inspector/InspectorResourceAgent.h:
(InspectorResourceAgent):
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::evaluate):
(WebCore::InspectorRuntimeAgent::callFunctionOn):
(WebCore::InspectorRuntimeAgent::getProperties):
* inspector/InspectorRuntimeAgent.h:
(InspectorRuntimeAgent):
* inspector/InspectorValues.h:
(InspectorArray):
(WebCore::InspectorArray::pushInt):
(WebCore):
* inspector/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h:
(ScriptCallFrame):
* inspector/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::buildInspectorArray):
* inspector/ScriptCallStack.h:
(ScriptCallStack):

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

12 years agosetNeedsLayout(true, false) is super confusing to read and should use an enum instead
eric@webkit.org [Wed, 28 Mar 2012 19:25:02 +0000 (19:25 +0000)]
setNeedsLayout(true, false) is super confusing to read and should use an enum instead
https://bugs.webkit.org/show_bug.cgi?id=82369

Reviewed by Julien Chaffraix.

I replaced all uses of the markParents bool with a MarkingBehavior
enum (which has two values: MarkContainingBlockChain and MarkOnlyThis).
I'm not sure the naming is perfect (as it's not clear to me if markParents is
used to mean the same thing in these 3 functions), but hopefully this code is more
clear.  I welcome further suggested adjustment from layout experts.

* page/FrameView.cpp:
(WebCore::FrameView::scheduleRelayout):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::adjustPositionedBlock):
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
(WebCore::RenderBlock::removePositionedObjects):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlock::adjustBlockChildForPagination):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutRunsAndFloats):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::positionNewFloatOnLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::positionLineBox):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::gatherFlexChildrenInfo):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::layout):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setPreferredLogicalWidthsDirty):
* rendering/RenderObject.h:
(RenderObject):
(WebCore::RenderObject::setNeedsLayout):
(WebCore::RenderObject::setChildNeedsLayout):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layoutSpecialExcludedChild):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::layoutSpecialExcludedChild):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::layout):
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layout):
* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::layout):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren):

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

12 years ago<http://webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL
commit-queue@webkit.org [Wed, 28 Mar 2012 19:22:07 +0000 (19:22 +0000)]
<webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL

Source/WebCore:

Instead of manually creating the method in DOM.mm we can specify it in
Node.idl and autogenerate part of the interface.

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-03-28
Reviewed by Timothy Hatcher.

* bindings/objc/DOM.mm:
* bindings/objc/DOMPrivate.h:
Move the call to InspectorController::inspect from here ...

* dom/Node.h:
* dom/Node.idl: IDL only in an ObjC block.
* dom/Node.cpp:
(WebCore::Node::inspect):
... to here.

* WebCore.xcodeproj/project.pbxproj:
Add the new generated file so we can Copy it in the build phase.

Source/WebKit/mac:

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-03-28
Reviewed by Timothy Hatcher.

* MigrateHeaders.make: Copy DOMNodePrivate.h to PrivateHeaders.

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

12 years agoAdd history navigation to garden-o-matic
ojan@chromium.org [Wed, 28 Mar 2012 19:19:36 +0000 (19:19 +0000)]
Add history navigation to garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=82495

Reviewed by Dimitri Glazkov.

Also, maintain scroll offsets when returning to a tab. This makes addressing
expected failures considerably easier when dealing with below-the-fold tests.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
-Store the scrollTop before switching to a new tab and restore the appropriate scrollTop after
switching.
-Modify window.location with the tabName in the hash. Can't use pushState because this is served
from a file URL and Chrome puts each different file URL in it's own origin.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
Remove the href so that clicking on the accordion item does not modify window.location.hash.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css:

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

12 years ago[chromium] MediaStream API (JSEP): Introducing WebPeerConnection00Handler
tommyw@google.com [Wed, 28 Mar 2012 18:44:06 +0000 (18:44 +0000)]
[chromium] MediaStream API (JSEP): Introducing WebPeerConnection00Handler
https://bugs.webkit.org/show_bug.cgi?id=82450

Reviewed by Adam Barth.

Source/WebCore:

This change removes the default PeerConnection00Handler.cpp from the Chromium build.

A major overhaul of the existing layout tests is forthcoming.

* WebCore.gypi:
* platform/mediastream/PeerConnection00Handler.h:
(WebCore):
(PeerConnection00Handler):

Source/WebKit/chromium:

Last patch to enable the PeerConnection00 functionality in Chromium introduces
WebPeerConnection00Handler and WebPeerConnection00HandlerClient, together with the necessary plumbing.

* WebKit.gyp:
* bridge/PeerConnection00Handler.cpp: Added.
(WebCore):
(WebCore::PeerConnection00Handler::create):
(WebCore::PeerConnection00Handler::PeerConnection00Handler):
(WebCore::PeerConnection00Handler::~PeerConnection00Handler):
(WebCore::PeerConnection00Handler::createOffer):
(WebCore::PeerConnection00Handler::createAnswer):
(WebCore::PeerConnection00Handler::setLocalDescription):
(WebCore::PeerConnection00Handler::setRemoteDescription):
(WebCore::PeerConnection00Handler::localDescription):
(WebCore::PeerConnection00Handler::remoteDescription):
(WebCore::PeerConnection00Handler::startIce):
(WebCore::PeerConnection00Handler::processIceMessage):
(WebCore::PeerConnection00Handler::addStream):
(WebCore::PeerConnection00Handler::removeStream):
(WebCore::PeerConnection00Handler::stop):
* bridge/PeerConnection00HandlerInternal.cpp: Added.
(WebCore):
(WebCore::PeerConnection00HandlerInternal::PeerConnection00HandlerInternal):
(WebCore::PeerConnection00HandlerInternal::~PeerConnection00HandlerInternal):
(WebCore::PeerConnection00HandlerInternal::createOffer):
(WebCore::PeerConnection00HandlerInternal::createAnswer):
(WebCore::PeerConnection00HandlerInternal::setLocalDescription):
(WebCore::PeerConnection00HandlerInternal::setRemoteDescription):
(WebCore::PeerConnection00HandlerInternal::localDescription):
(WebCore::PeerConnection00HandlerInternal::remoteDescription):
(WebCore::PeerConnection00HandlerInternal::startIce):
(WebCore::PeerConnection00HandlerInternal::processIceMessage):
(WebCore::PeerConnection00HandlerInternal::addStream):
(WebCore::PeerConnection00HandlerInternal::removeStream):
(WebCore::PeerConnection00HandlerInternal::stop):
(WebCore::PeerConnection00HandlerInternal::didGenerateICECandidate):
(WebCore::PeerConnection00HandlerInternal::didChangeReadyState):
(WebCore::PeerConnection00HandlerInternal::didChangeICEState):
(WebCore::PeerConnection00HandlerInternal::didAddRemoteStream):
(WebCore::PeerConnection00HandlerInternal::didRemoveRemoteStream):
* bridge/PeerConnection00HandlerInternal.h: Copied from Source/WebCore/platform/mediastream/PeerConnection00Handler.h.
(WebKit):
(WebCore):
(PeerConnection00HandlerInternal):
* public/platform/WebKitPlatformSupport.h:
(WebKit):
(WebKit::WebKitPlatformSupport::createPeerConnection00Handler):
* public/platform/WebPeerConnection00Handler.h: Added.
(WebKit):
(WebPeerConnection00Handler):
(WebKit::WebPeerConnection00Handler::~WebPeerConnection00Handler):
* public/platform/WebPeerConnection00HandlerClient.h: Added.
(WebKit):
(WebPeerConnection00HandlerClient):
(WebKit::WebPeerConnection00HandlerClient::~WebPeerConnection00HandlerClient):
* src/AssertMatchingEnums.cpp:

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

12 years ago[REGRESSION] Web Inspector: column caption delimiters are misaligned in DataGrid
robert@webkit.org [Wed, 28 Mar 2012 18:32:28 +0000 (18:32 +0000)]
[REGRESSION] Web Inspector: column caption delimiters are misaligned in DataGrid
https://bugs.webkit.org/show_bug.cgi?id=82193

Reviewed by Yury Semikhatsky.

Since r111742 column width in fixed layout tables is set to the width of the cell plus its left padding plus its right padding
plus half its left border plus half its right border in the collapsing border model. The layout of the panel
headers in the inspector depended on pre-r111742 behaviour, so ended up misaligned with the content below. To cater for the
new method of calculating column width enforce a fixed width for the corner column by removing padding and borders (except collapsed
borders from adjacent cells) and specify the expected width (15px) minus the expected width of the collapsed borders (1px).

* inspector/front-end/dataGrid.css:
(.data-grid th.corner):

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

12 years agoIncrease code sharing between CSSProperty and CSSPropertyLonghand.
alexis.menard@openbossa.org [Wed, 28 Mar 2012 18:29:54 +0000 (18:29 +0000)]
Increase code sharing between CSSProperty and CSSPropertyLonghand.
https://bugs.webkit.org/show_bug.cgi?id=82479

Reviewed by Antti Koivisto.

Use longhands declarations from CSSPropertyLonghand in CSSProperty to avoid
code duplication.

No new tests : refactoring only, we shouldn't have any behavior difference.

* css/CSSProperty.cpp:
(WebCore::resolveToPhysicalProperty):
(WebCore::borderDirections):
(WebCore):
(WebCore::CSSProperty::resolveDirectionAwareProperty):

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

12 years ago[chromium] Compositor visibility setting must be updated even if not actively compositing
commit-queue@webkit.org [Wed, 28 Mar 2012 18:24:01 +0000 (18:24 +0000)]
[chromium] Compositor visibility setting must be updated even if not actively compositing
https://bugs.webkit.org/show_bug.cgi?id=82406

Patch by James Robinson <jamesr@chromium.org> on 2012-03-28
Reviewed by Adrienne Walker.

Propagate the visibility bit to the WebLayerTreeView even when compositing is inactive.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setVisibilityState):

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

12 years agoWeb Inspector: Implement snippets renaming in scripts navigator.
vsevik@chromium.org [Wed, 28 Mar 2012 18:23:00 +0000 (18:23 +0000)]
Web Inspector: Implement snippets renaming in scripts navigator.
https://bugs.webkit.org/show_bug.cgi?id=82477

Reviewed by Pavel Feldman.

Snippets renaming is implemented as editing of snippet name in scripts navigator.

* inspector/front-end/ScriptsNavigator.js:
(WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
(WebInspector.ScriptsNavigator.prototype._fileRenamed):
(WebInspector.ScriptsNavigator.prototype.rename.commitHandler):
(WebInspector.ScriptsNavigator.prototype.rename.cancelHandler):
(WebInspector.ScriptsNavigator.prototype.rename.afterEditing):
(WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
* inspector/front-end/scriptsPanel.css:
(#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing):

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

12 years agoREGRESSION (r109826): Can't type into Flash text fields
andersca@apple.com [Wed, 28 Mar 2012 18:20:59 +0000 (18:20 +0000)]
REGRESSION (r109826): Can't type into Flash text fields
https://bugs.webkit.org/show_bug.cgi?id=82488
<rdar://problem/11022004>

Reviewed by Sam Weinig.

This was caused by the fix in r109826. Revert that change and fix the original bug by notifying the UI process
that the plug-in lost focus when it's destroyed. This will correctly reset the text input state (merely setting
the text input state to PluginComplexTextInputDisabled doesn't reset the state correctly).

* UIProcess/API/mac/WKView.mm:
(-[WKView _setPluginComplexTextInputState:]):
(-[WKView _handlePluginComplexTextInputKeyDown:]):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::~PluginView):

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

12 years agoWeb Inspector: Add context menu for snippets control.
vsevik@chromium.org [Wed, 28 Mar 2012 18:13:47 +0000 (18:13 +0000)]
Web Inspector: Add context menu for snippets control.
https://bugs.webkit.org/show_bug.cgi?id=82475

Reviewed by Pavel Feldman.

This is a preliminary implementation of snippets control using context menu.
We might want to add a more discoverable one before taking snippets out of experiments.

* English.lproj/localizedStrings.js:
* inspector/front-end/ScriptsNavigator.js:
(WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
(WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
(WebInspector.ScriptsNavigator.prototype._handleSnippetContextMenuEvent):
(WebInspector.ScriptsNavigator.prototype._showSnippetContextMenu):
(WebInspector.ScriptsNavigator.prototype._handleEvaluateSnippet):
(WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
(WebInspector.ScriptsNavigator.prototype._handleRemoveSnippet):
(WebInspector.ScriptsNavigator.prototype._handleCreateSnippet):
(WebInspector.NavigatorScriptTreeElement.prototype.get navigator):
(WebInspector.NavigatorScriptTreeElement.prototype.onattach):
(WebInspector.NavigatorScriptTreeElement.prototype.onenter):
(WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):

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

12 years agoWeb Inspector: ScriptsNavigator should save scroll position when switching tabs.
vsevik@chromium.org [Wed, 28 Mar 2012 18:08:04 +0000 (18:08 +0000)]
Web Inspector: ScriptsNavigator should save scroll position when switching tabs.
https://bugs.webkit.org/show_bug.cgi?id=82472

Reviewed by Pavel Feldman.

WebInspector.View provides save/restore scroll position capabilities.
This patch makes them used in ScriptsNavigator.

* inspector/front-end/ScriptsNavigator.js:
(WebInspector.ScriptsNavigator):
(WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
* inspector/front-end/scriptsPanel.css:
(#scripts-navigator-tabbed-pane .tabbed-pane-content):
(#scripts-navigator-tabbed-pane .navigator-container):

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

12 years agoUnreviewed, skipping 3 tests timing out after the libsoup upgrade
sergio@webkit.org [Wed, 28 Mar 2012 18:00:57 +0000 (18:00 +0000)]
Unreviewed, skipping 3 tests timing out after the libsoup upgrade
to 2.37.92.

* platform/gtk/Skipped:

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