profile/ivi/webkit-efl.git
12 years agoThis test fails.
abarth@webkit.org [Fri, 20 Jan 2012 18:52:49 +0000 (18:52 +0000)]
This test fails.

* platform/chromium/test_expectations.txt:

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

12 years agoCrash in xsltParseGlobalVariable.
inferno@chromium.org [Fri, 20 Jan 2012 18:17:47 +0000 (18:17 +0000)]
Crash in xsltParseGlobalVariable.
https://bugs.webkit.org/show_bug.cgi?id=75978

Reviewed by Andreas Kling.

Source/WebCore:

The code missed to reset the stylesheet pointer after we fail
to compile the XSLT stylesheet. As a result, the stylesheet gets
reused with a removed document in the next transformToFragment call.

Test: fast/xsl/xslt-transform-to-fragment-crash.html

* xml/XSLTProcessorLibxslt.cpp:
(WebCore::XSLTProcessor::transformToString):

LayoutTests:

* fast/xsl/xslt-transform-to-fragment-crash-expected.txt: Added.
* fast/xsl/xslt-transform-to-fragment-crash.html: Added.

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

12 years ago[Qt][WK2] REGRESSION(r105517): It made 49 tests timeout
ossy@webkit.org [Fri, 20 Jan 2012 17:36:17 +0000 (17:36 +0000)]
[Qt][WK2] REGRESSION(r105517): It made 49 tests timeout
https://bugs.webkit.org/show_bug.cgi?id=76708

* platform/qt-wk2/Skipped: Typo fix after last change.

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

12 years agobuild-webkit: Don't spit out congratulations message on Ctrl+C
vestbo@webkit.org [Fri, 20 Jan 2012 17:35:12 +0000 (17:35 +0000)]
build-webkit: Don't spit out congratulations message on Ctrl+C

Reviewed by Andreas Kling.

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

12 years ago[Qt][WK2] REGRESSION(r105517): It made 49 tests timeout
ossy@webkit.org [Fri, 20 Jan 2012 17:07:10 +0000 (17:07 +0000)]
[Qt][WK2] REGRESSION(r105517): It made 49 tests timeout
https://bugs.webkit.org/show_bug.cgi?id=76708

* platform/qt-wk2/Skipped: Skip failing tests to paint the bot green.

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

12 years agoUnreviewed, GTK rebaseline after r105486.
philn@webkit.org [Fri, 20 Jan 2012 17:06:06 +0000 (17:06 +0000)]
Unreviewed, GTK rebaseline after r105486.

* fast/dom/constructed-objects-prototypes-expected.txt:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:

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

12 years ago[GTK] Allow extra jhbuild modulesets
philn@webkit.org [Fri, 20 Jan 2012 16:49:25 +0000 (16:49 +0000)]
[GTK] Allow extra jhbuild modulesets
https://bugs.webkit.org/show_bug.cgi?id=76691

Reviewed by Gustavo Noronha Silva.

* gtk/jhbuildrc: Extra modulesets and modules can be added in
JHBuild using the WEBKIT_EXTRA_MODULESETS and WEBKIT_EXTRA_MODULES
env variables respectively. Use comma-separated values. Example:
WEBKIT_EXTRA_MODULES=file:///path/to/module.set,file:///other/path.

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

12 years agoDifferentiate between SVG/CSS width/height attributes/properties
ossy@webkit.org [Fri, 20 Jan 2012 16:32:35 +0000 (16:32 +0000)]
Differentiate between SVG/CSS width/height attributes/properties
https://bugs.webkit.org/show_bug.cgi?id=76447

Unreviewed gardening after r105513, update Qt specific results.

* platform/qt/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png:
* platform/qt/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt:
* platform/qt/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png:
* platform/qt/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt:
* platform/qt/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png:
* platform/qt/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt:
* platform/qt/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png:
* platform/qt/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt:
* platform/qt/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png:
* platform/qt/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt:
* platform/qt/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png:
* platform/qt/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt:
* platform/qt/svg/foreignObject/text-tref-02-b-expected.txt:
* platform/qt/svg/wicd/rightsizing-grid-expected.png:
* platform/qt/svg/wicd/rightsizing-grid-expected.txt:
* platform/qt/tables/mozilla/bugs/bug101674-expected.png:
* platform/qt/tables/mozilla/bugs/bug101674-expected.txt:
* platform/qt/tables/mozilla/bugs/bug86708-expected.png:
* platform/qt/tables/mozilla/bugs/bug86708-expected.txt:
* platform/qt/tables/mozilla_expected_failures/bugs/97619-expected.png:
* platform/qt/tables/mozilla_expected_failures/bugs/97619-expected.txt:

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

12 years ago[Qt] Trigger forcing accelerated compositing from the UI process side.
jocelyn.turcotte@nokia.com [Fri, 20 Jan 2012 16:24:29 +0000 (16:24 +0000)]
[Qt] Trigger forcing accelerated compositing from the UI process side.
https://bugs.webkit.org/show_bug.cgi?id=76296

Reviewed by Noam Rosenthal.

Some messages can be sent from the web view to the LayerTreeHost before
accelerated compositing is entered on the web process and signaled back.
By letting the UI process decide if AC has to be forced, we can create
the LayerTreeHostProxy earlier to send messages to the web process while
AC is being entered there.

This patch also fixes the flow of DidRenderFrame and RenderNextFrame messages
by setting the m_waitingForUIProcess flag properly and only send the
RenderNextFrame once the painting thread on the UI process is ready to paint.

This fixes the first visible content rect message not being received when
loading pages from the disk.

* Shared/WebPreferencesStore.h:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::flushLayerChanges):
(WebKit::LayerTreeHostProxy::didRenderFrame):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::performScheduledLayerFlush):
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::platformInitialize):

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

12 years ago2012-01-20 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Fri, 20 Jan 2012 15:56:38 +0000 (15:56 +0000)]
2012-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Differentiate between SVG/CSS width/height attributes/properties
        https://bugs.webkit.org/show_bug.cgi?id=76447

        Not reviewed. Rebaseline gtk results.

        * platform/gtk/fast/block/float/015-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt:
        * platform/gtk/svg/custom/use-font-face-crash-expected.txt:
        * platform/gtk/svg/wicd/rightsizing-grid-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug101674-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug86708-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/97619-expected.txt:

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

12 years agoREGRESSION (r98852): apple.com navigation bar is broken under full-page zoom
zimmermann@webkit.org [Fri, 20 Jan 2012 15:51:53 +0000 (15:51 +0000)]
REGRESSION (r98852): apple.com navigation bar is broken under full-page zoom
https://bugs.webkit.org/show_bug.cgi?id=76249

Reviewed by Andreas Kling.

Source/WebCore:

Fix regression with full-page zoom & border-image. paintNinePieceImage() expects local, unzoomed coordinates.
Restore the behaviour as it was before r98852, fixing the regression.

Test: fast/borders/scaled-border-image.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):

LayoutTests:

Add new test covering zooming + border-image, which regressed.

* fast/borders/scaled-border-image.html: Added.
* platform/mac/fast/borders/scaled-border-image-expected.png: Added.
* platform/mac/fast/borders/scaled-border-image-expected.txt: Added.

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

12 years ago[CSSRegion]Expose DOM interface for WebKitCSSRegionRule
mihnea@adobe.com [Fri, 20 Jan 2012 15:33:21 +0000 (15:33 +0000)]
[CSSRegion]Expose DOM interface for WebKitCSSRegionRule
https://bugs.webkit.org/show_bug.cgi?id=73985

Reviewed by Antti Koivisto.

Source/WebCore:

Start by exposing the interface and the cssRules attribute of type CSSRuleList.
Test: fast/regions/webkit-region-rule.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
* bindings/objc/DOMCSS.mm:
(kitClass):
* bindings/v8/custom/V8CSSRuleCustom.cpp:
(WebCore::toV8):
* css/WebKitCSSRegionRule.cpp:
* css/WebKitCSSRegionRule.h:
* css/WebKitCSSRegionRule.idl:
* page/DOMWindow.idl:

LayoutTests:

Start by exposing the interface and the cssRules attribute of type CSSRuleList.

* fast/dom/Window/window-properties-expected.txt:
* fast/dom/Window/window-property-descriptors-expected.txt:
* fast/dom/prototype-inheritance-2-expected.txt:
* fast/regions/webkit-region-rule-expected.txt: Added.
* fast/regions/webkit-region-rule.html: Added.
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:
* platform/mac/fast/dom/Window/window-properties-expected.txt:
* platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/mac/fast/dom/prototype-inheritance-2-expected.txt:
* platform/mac/fast/js/global-constructors-expected.txt:
* platform/qt-arm/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt-wk2/fast/dom/Window/window-properties-expected.txt:
* platform/qt-wk2/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt-wk2/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:
* platform/win/fast/dom/Window/window-properties-expected.txt:
* platform/win/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/win/fast/dom/prototype-inheritance-2-expected.txt:
* platform/win/fast/js/global-constructors-expected.txt:

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

12 years agoDifferentiate between SVG/CSS width/height attributes/properties
zimmermann@webkit.org [Fri, 20 Jan 2012 15:30:17 +0000 (15:30 +0000)]
Differentiate between SVG/CSS width/height attributes/properties
https://bugs.webkit.org/show_bug.cgi?id=76447

Reviewed by Antti Koivisto.

Source/WebCore:

Remove a gazillion of hacks out of our SVG implementation, by correctly differentiating between the
SVG width/height attributes and the CSS width/height properties. They need to be treated independently
when handling the intrinsic size negotiation, according to both CSS 2.1 & SVG 1.1 2nd Edition specs.

Fixes several bugs in the LayoutTests/svg/custom/*object*sizing tests, we now match Opera perfectly. FF still has some bugs, and IE9 as well.

* css/svg.css: Remove hardcoded, width/height: 100% on <svg>.
* rendering/RenderBox.h:
(WebCore::RenderBox::computeIntrinsicRatioInformation): Make 'intrinsicRatio' a float, and add 'intrinsicSize' as seperated FloatSize, to avoid confusion.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): Add forgotton case for percentage intrinsic sizes, that lead to workarounds in other places, that can now be removed.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::computeReplacedLogicalWidth): Directly use imageHasRelativeWidth/Height(), it does differentiate between SVG/CSS width/height attributes/properties now.
(WebCore::RenderImage::computeIntrinsicRatioInformation): Adapt to 'intrinsicRatio' argument change.
* rendering/RenderImage.h: Ditto.
* rendering/RenderReplaced.cpp: Refactor existing code, break out firstContainingBlockWithLogicalWidth/hasReplacedLogicalWidth/hasReplacedLogicalHeight/hasAutoHeightOrContainingBlockWithAutoHeight.
(WebCore::firstContainingBlockWithLogicalWidth): Refactored.
(WebCore::RenderReplaced::hasReplacedLogicalWidth): Refactored, and exported, so SVGSVGElement::widthAttributeEstablishesViewport() can use it.
(WebCore::hasAutoHeightOrContainingBlockWithAutoHeight): Refactored.
(WebCore::RenderReplaced::hasReplacedLogicalHeight): Refactored, and exported, so SVGSVGElement::heightAttributeEstablishesViewport() can use it.
(WebCore::RenderReplaced::computeReplacedLogicalWidth): Adapt to 'intrinsicRatio' changes ('intrinsicSize' is now decoupled from it). Refactor so that RenderSVGRoot can directly use it as well!
(WebCore::RenderReplaced::computeReplacedLogicalHeight): Ditto.
* rendering/RenderReplaced.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation): Only determine the intrinsic size & ratio using the SVG width/height attributes, not the CSS width/height properties, as it's specified.
(WebCore::resolveLengthAttributeForSVG): Helper function for computeReplacedLogicalWidth/Height, that scales Length values that come from SVG width/height attributes.
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Finally remove home-brewn size computation logic - it can be fully shared with RenderReplaced now that we inherit from it.
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGViewportContainer.h:
(WebCore::RenderSVGViewportContainer::viewport): Export viewport() for easier length resolution.
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport): Finally clean up this hell, and make it easy to understand. Only need to resolve lengths against either RenderSVGRoot or RenderSVGViewportContainer now.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::viewport): Remove wrong code and disable this. Its not used, and we have no test coverage for it. Its current implementation didn't make any sense.
(WebCore::SVGSVGElement::parseMappedAttribute): Remove hacks mapping SVG width/height attributes to CSS properties.
(WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
(WebCore::SVGSVGElement::localCoordinateSpaceTransform): Refactored.
(WebCore::SVGSVGElement::currentViewBoxRect): Ditto.
(WebCore::SVGSVGElement::currentViewportSize): Ditto.
(WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Main logic determining if the SVG or CSS properties establish the viewport -  a direct transliteration from the spec.
(WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Ditto.
(WebCore::SVGSVGElement::intrinsicWidth): Helper.
(WebCore::SVGSVGElement::intrinsicHeight): Ditto.
* svg/SVGSVGElement.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::size): Cleanup code.
(WebCore::SVGImage::hasRelativeWidth): Added, avoids hacks in RenderBoxModelObject.
(WebCore::SVGImage::hasRelativeHeight): Ditto.
(WebCore::SVGImage::computeIntrinsicDimensions): Make use of new SVGSVGElement::computeIntrinsicDimensions.
* svg/graphics/SVGImage.h:

LayoutTests:

Update SVG pixel test baseline.

* platform/mac/svg/custom/dynamic-empty-path-expected.png: Marginal changes.
* platform/mac/svg/custom/fractional-rects-expected.png: Ditto.
* platform/mac/svg/custom/js-update-container-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png: Align with Opera, gives same result now. All *object*sizing* tests are passing now.
* platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Ditto.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Ditto.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Ditto.
* platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.png: Marginal changes.
* platform/mac/svg/custom/viewBox-hit-expected.png: Ditto.
* platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-background-images-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png: Ditto.
* platform/mac/tables/mozilla/bugs/bug101674-expected.png: Ditto.
* platform/mac/tables/mozilla/bugs/bug101674-expected.txt: Ditto.
* platform/mac/tables/mozilla/bugs/bug86708-expected.png: Ditto.
* platform/mac/tables/mozilla/bugs/bug86708-expected.txt: Ditto.
* platform/mac/tables/mozilla_expected_failures/bugs/97619-expected.png: Ditto.
* platform/mac/tables/mozilla_expected_failures/bugs/97619-expected.txt: Ditto.
* svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml: Fix test, now that our bug is fixed.
* svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml: Ditto.
* svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml: Ditto.
* svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml: Ditto.
* svg/foreignObject/text-tref-02-b-expected.txt: Size is not reported anymore.

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

12 years agowindow.innerWidth/Height should not include page scale
commit-queue@webkit.org [Fri, 20 Jan 2012 15:03:23 +0000 (15:03 +0000)]
window.innerWidth/Height should not include page scale
https://bugs.webkit.org/show_bug.cgi?id=76555

Source/WebCore:

The DOM attributes window.innerWidth and window.innerHeight should be in
CSS pixels instead of device pixels. Currently the text zoom factor is
cancelled out when calculating these values, but the same also needs to
be done for the page scale.

There is an additional subtlety concerning frames/iframes since their
visible content rectangle is already in (unscaled) CSS pixels. By using
Frame::frameScaleFactor() we avoid unnecessarily cancelling out the page
scale factor in this case.

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-01-20
Reviewed by Kenneth Rohde Christiansen.

Tests: fast/dom/iframe-inner-size-scaling.html
       fast/dom/window-inner-size-scaling.html

* page/DOMWindow.cpp:
(WebCore::DOMWindow::innerHeight):
(WebCore::DOMWindow::innerWidth):

LayoutTests:

Add two tests for window.innerWidth and window.innerHeight interaction
with page scaling.

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-01-20
Reviewed by Kenneth Rohde Christiansen.

* fast/dom/iframe-inner-size-scaling-expected.txt: Added.
* fast/dom/iframe-inner-size-scaling.html: Added.
* fast/dom/window-inner-size-scaling-expected.txt: Added.
* fast/dom/window-inner-size-scaling.html: Added.
* fast/frames/frame-set-rotation-hit.html: Calculate the panel height before changing the page scale, because the visual viewport changes with the page scale.
* fast/frames/frame-set-scaling-hit.html: Ditto.

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

12 years ago[Qt] animations tests fails which uses suspend/resume
ossy@webkit.org [Fri, 20 Jan 2012 14:53:33 +0000 (14:53 +0000)]
[Qt] animations tests fails which uses suspend/resume
https://bugs.webkit.org/show_bug.cgi?id=43905

Patch by Alexis Menard <alexis.menard@openbossa.org> on 2012-01-20
Reviewed by Csaba Osztrogonác.

They seem to pass correctly on my machine.

* platform/qt/Skipped:
* platform/qt/animations/additive-transform-animations-expected.txt: Added.

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

12 years agonew baselines for crbug 110493
commit-queue@webkit.org [Fri, 20 Jan 2012 14:49:48 +0000 (14:49 +0000)]
new baselines for crbug 110493
https://bugs.webkit.org/show_bug.cgi?id=76629

Patch by Elliot Poger <epoger@google.com> on 2012-01-20
Reviewed by Dirk Pranke.

* platform/chromium-linux/fast/borders/border-image-rotate-transform-expected.png:
* platform/chromium-linux/svg/custom/focus-ring-expected.png:
* platform/chromium-mac-leopard/svg/custom/focus-ring-expected.png:
* platform/chromium-mac-leopard/svg/transforms/animated-path-inside-transformed-html-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/borders/border-image-rotate-transform-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/focus-ring-expected.png:
* platform/chromium-mac-snowleopard/svg/transforms/animated-path-inside-transformed-html-expected.png: Added.
* platform/chromium-win/fast/borders/border-image-rotate-transform-expected.png:
* platform/chromium-win/svg/custom/focus-ring-expected.png:
* platform/chromium/test_expectations.txt:

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

12 years agoUnreviewed; Windows buildbot update failure fix.
kinuko@chromium.org [Fri, 20 Jan 2012 14:29:04 +0000 (14:29 +0000)]
Unreviewed; Windows buildbot update failure fix.

* ../ManualTests/data-transfer-items-file-dragout.html: Removed the notion of test:lorem-text.html.
* ../ManualTests/resources/test:lorem-text.html: Removed as this doesn't work on Windows.

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

12 years agoUnreviewed gardening. Skip failing tests.
ossy@webkit.org [Fri, 20 Jan 2012 12:36:55 +0000 (12:36 +0000)]
Unreviewed gardening. Skip failing tests.

* platform/qt-wk2/Skipped: Skip tests because of https://bugs.webkit.org/show_bug.cgi?id=76699
* platform/wk2/Skipped: Skip a test because of missing layoutTestController.setEditingBehavior

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

12 years agoWeb Inspector: [chromium] add WebDevToolsFrontendClient::openInNewTab for upcoming...
pfeldman@chromium.org [Fri, 20 Jan 2012 12:31:01 +0000 (12:31 +0000)]
Web Inspector: [chromium] add WebDevToolsFrontendClient::openInNewTab for upcoming WebCore change.
https://bugs.webkit.org/show_bug.cgi?id=76698

Reviewed by Yury Semikhatsky.

* public/WebDevToolsFrontendClient.h:
(WebKit::WebDevToolsFrontendClient::openInNewTab):

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

12 years agoAdd DataTransferItems support for drag-and-drop'ed files and texts
kinuko@chromium.org [Fri, 20 Jan 2012 12:08:56 +0000 (12:08 +0000)]
Add DataTransferItems support for drag-and-drop'ed files and texts
https://bugs.webkit.org/show_bug.cgi?id=76367

Reviewed by Tony Chang.

WebKit-svn:

* ManualTests/data-transfer-items-file-dragout.html: Added.
* ManualTests/resources/test:lorem-text.html: Added.

WebKit-svn/LayoutTests:

* editing/pasteboard/data-transfer-items-drag-drop-file-expected.txt: Added.
* editing/pasteboard/data-transfer-items-drag-drop-file.html: Added.
* editing/pasteboard/data-transfer-items-drag-drop-string-expected.txt: Added.
* editing/pasteboard/data-transfer-items-drag-drop-string.html: Added.
* platform/gtk/Skipped: Added the new tests as the platform does not support dataTransferItems yet.
* platform/mac/Skipped: Ditto.
* platform/qt/Skipped: Ditto.
* platform/win/Skipped: Ditto.

WebKit-svn/Source/WebCore:

Per http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransfer-interface
the new interface should also support drag-and-dropped files and texts in
addition to pasted texts/images.  The user apps should also be able to add
texts/files to the drag store by calling event.dataTransfer.items.add().

This patch adds drag-and-drop'ed items support in DataTransferItem and
DataTransferItemList so that they work for dropped files and texts (as well as
the copy-pasted texts/images).

This patch also adds customized toJS()/toV8() code to Blob/File javascript
binding so that the JS code can get either Blob or File underlying object
where the API returns Blob. This change is necessary since we return Blob
from DataTransferItem.getAsFile() for pasted images but want to return File
for dropped files.

Tests: editing/pasteboard/data-transfer-items-drag-drop-file.html
       editing/pasteboard/data-transfer-items-drag-drop-string.html

* GNUmakefile.list.am: Added entries for the new {JS,V8}BlobCustom.
* Target.pri: Ditto.
* UseJSC.cmake: Ditto.
* WebCore.gypi: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSBlobCustom.cpp: Added toJS custom code that returns File or
Blob depending on the return value of isFile().
(WebCore::toJS):
* bindings/v8/custom/V8BlobCustom.cpp: Added toV8 custom code.
(WebCore::toV8):
* dom/DataTransferItem.h: Added a new create() method which takes File.
* dom/DataTransferItemList.cpp: Added add(File) method.
(WebCore::DataTransferItemList::add):
* dom/DataTransferItemList.h: Ditto.
* dom/DataTransferItemList.idl: Ditto.
* fileapi/Blob.idl: Added CustomToJS for toJS/toV8.
* platform/chromium/ClipboardChromium.cpp: Added code for drag-and-drop'ed items.
(WebCore::ClipboardChromium::items): Revised.
(WebCore::ClipboardChromium::mayUpdateItems): Added.
(WebCore::ClipboardChromium::isStorageUpdated): Added.
* platform/chromium/ClipboardChromium.h:
* platform/chromium/DataTransferItemChromium.cpp: Added a new constructor that
takes File and updated getAsFile() to make it support dropped files.
(WebCore::DataTransferItem::create):
(WebCore::DataTransferItemChromium::DataTransferItemChromium):
(WebCore::DataTransferItemChromium::getAsFile):
* platform/chromium/DataTransferItemChromium.h:
* platform/chromium/DataTransferItemListChromium.cpp:
(WebCore::DataTransferItemListChromium::addInternalItem):
* platform/chromium/DataTransferItemListChromium.cpp: Added overrides implementation for m_item accessors to make them reflect the changes in the owner clipboard.
(WebCore::DataTransferItemListChromium::length):
(WebCore::DataTransferItemListChromium::item):
(WebCore::DataTransferItemListChromium::deleteItem):
(WebCore::DataTransferItemListChromium::clear):
(WebCore::DataTransferItemListChromium::add):
(WebCore::DataTransferItemListChromium::mayUpdateItems): Added.
* platform/qt/DataTransferItemQt.cpp: Added a new constructor that takes File and updated
getAsFile() to make it support dropped files.
(WebCore::DataTransferItem::create):
(WebCore::DataTransferItemQt::DataTransferItemQt):
(WebCore::DataTransferItemQt::getAsFile):
* platform/qt/DataTransferItemQt.h:

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

12 years ago[Gtk] Unreviewed, unskipping test passing after r105286.
mario@webkit.org [Fri, 20 Jan 2012 11:43:35 +0000 (11:43 +0000)]
[Gtk] Unreviewed, unskipping test passing after r105286.

* platform/gtk/Skipped: Unskip test.

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

12 years agoUnreviewed, rolling out r105497.
commit-queue@webkit.org [Fri, 20 Jan 2012 11:39:41 +0000 (11:39 +0000)]
Unreviewed, rolling out r105497.
http://trac.webkit.org/changeset/105497
https://bugs.webkit.org/show_bug.cgi?id=76696

Leaking in Qt layout tests and timing out in GTK API tests.
(Requested by jturcotte on #webkit).

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

* Shared/WebPreferencesStore.h:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::platformInitialize):

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

12 years ago[GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
mario@webkit.org [Fri, 20 Jan 2012 11:29:36 +0000 (11:29 +0000)]
[GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
https://bugs.webkit.org/show_bug.cgi?id=72589

Reviewed by Martin Robinson.

.:

New optional dependency for WK2's accessibility unit test: AT-SPI2.

* configure.ac: Check for AT-SPI2 when building with WK2 support.

Source/WebKit2:

Expose the accessibility hierarchy in the multi-process
architecture of WK2 through AtkSocket and AtkPlug.

Make the WebView widget return an AtkSocket when calling to
gtk_widget_get_accessible().

* GNUmakefile.am: Add new files.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkit_web_view_base_init):
(webkitWebViewBaseGetAccessible):
(webkit_web_view_base_class_init):
* UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Added.
(webkitWebViewBaseAccessibleWidgetFinalize):
(webkitWebViewBaseAccessibleWidgetDestroyed):
(webkitWebViewBaseAccessibleInitialize):
(webkitWebViewBaseAccessibleRefStateSet):
(webkitWebViewBaseAccessibleGetIndexInParent):
(webkit_web_view_base_accessible_init):
(webkit_web_view_base_accessible_class_init):
(webkitWebViewBaseAccessibleNew):
* UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Added.

Make the WebPage create an AtkPlug on its initialization and
sending the ID of that plug to the UI process, so it can embed the
plug in the socket.

Also, take care of all the needed wrapping around the WebCore's
accessibility objects, exposing them in the UI process's
accessibility hierarchy thanks to the socket-plug connection.

* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::accessibilityPlugID):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::bindAccessibilityTree):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp: Added.
(accessibilityRootObjectWrapper):
(webPageAccessibilityObjectInitialize):
(webPageAccessibilityObjectGetIndexInParent):
(webPageAccessibilityObjectGetNChildren):
(webPageAccessibilityObjectRefChild):
(web_page_accessibility_object_init):
(web_page_accessibility_object_class_init):
(webPageAccessibilityObjectNew):
(webPageAccessibilityObjectRefresh):
* WebProcess/WebPage/gtk/WebPageAccessibilityObject.h: Added.
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::updateAccessibilityTree):

New unit test for checking accessibility support in WK2GTK.

* UIProcess/API/gtk/tests/AccessibilityTestServer.cpp: Added.
(loadChangedCallback): Notify the parent process (the test)
when ready.
(main):
* UIProcess/API/gtk/tests/GNUmakefile.am:
* UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp: Added.
(stopTestServer):
(sigAbortHandler):
(testServerMonitorThreadFunc):
(startTestServerMonitor):
(startTestServer):
(checkAtspiAccessible):
(findTestServerApplication):
(testAtspiBasicHierarchy):
(beforeAll):
(afterAll):

Tools:

Ensure the accessibility infrastructure is available when running
the unit tests, otherwise WK2's accessibility tests won't work.

* Scripts/run-gtk-tests:
(TestRunner):
(TestRunner._lookup_atspi2_binary): New. Looks for the directory
where at-spi2's stuff is located (like at-spi-bus-launcher and
at-spi2-registryd).
(TestRunner.run): Initialize the accessibility infrastructure.

* gtk/generate-gtkdoc:
(get_webkit2_options): Add 'WebKitWebViewBaseAccessible.*'.

* gtk/jhbuild.modules: Added at-spi2-core and at-spi2-atk.

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

12 years agoremove CSSBorderImageValue
alexis.menard@openbossa.org [Fri, 20 Jan 2012 11:10:54 +0000 (11:10 +0000)]
remove CSSBorderImageValue
https://bugs.webkit.org/show_bug.cgi?id=75563

Reviewed by Tony Chang.

Source/WebCore:

Remove CSSBorderImageValue as border-image is a shorthand therefore we don't
need a dedicated CSS class type for it. CSSBorderImageValue was here for
-webkit-border-image which is not a shorthand. This is the first step to move border-image
close to a correct shorthand implementation while keeping -webkit-border-image being a regular
CSS property.

No new tests : It's a refactor, existing tests should cover it.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
* css/CSSBorderImage.cpp: Added.
(WebCore::createBorderImageValue):
* css/CSSBorderImage.h: Added.
* css/CSSBorderImageValue.cpp: Removed.
* css/CSSBorderImageValue.h: Removed.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForNinePieceImage):
* css/CSSParser.cpp:
(WebCore::BorderImageParseContext::commitBorderImage):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::mapNinePieceImage):
* css/CSSValue.cpp:
(WebCore::CSSValue::addSubresourceStyleURLs):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:

LayoutTests:

Modify the expected output as now border-image is a CSSValueList.

* fast/css/getComputedStyle/getComputedStyle-border-image-expected.txt:

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

12 years agoAdd ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
hayato@chromium.org [Fri, 20 Jan 2012 10:29:14 +0000 (10:29 +0000)]
Add ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
https://bugs.webkit.org/show_bug.cgi?id=76353

Reviewed by Hajime Morita.

Add ShadowRoot.idl, which is enabled only on chromium port since this is
under development feature.
ShadowRoot.idl contains minimum API so that we can test it.
Other APIs should be added on other changes so that we can isolate issues.

Source/WebCore:

Test: fast/dom/shadow/shadow-root-js-api.html

* WebCore.gypi:
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::shadowDOMEnabled):
(WebCore::RuntimeEnabledFeatures::setShadowDOMEnabled):
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::host):
* dom/ShadowRoot.idl: Added.
* testing/Internals.cpp:
(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::shadowRoot):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit/chromium:

* features.gypi:
* public/WebRuntimeFeatures.h:
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableShadowDOM):
(WebKit::WebRuntimeFeatures::isShadowDOMEnabled):

Tools:

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):

LayoutTests:

* fast/dom/shadow/shadow-root-js-api-expected.txt: Added.
* fast/dom/shadow/shadow-root-js-api.html: Added.
* platform/efl/Skipped:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:

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

12 years ago[Qt] Public API watch dog auto test.
jocelyn.turcotte@nokia.com [Fri, 20 Jan 2012 10:04:30 +0000 (10:04 +0000)]
[Qt] Public API watch dog auto test.
https://bugs.webkit.org/show_bug.cgi?id=73922

Reviewed by Simon Hausmann.

This test aims to prevent unintended/unapproved
modifications to the public QML API.

.:

* Source/tests.pri:

Source/WebKit2:

* UIProcess/API/qt/tests/publicapi/publicapi.pro: Added.
* UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: Added.
(isCheckedEnum):
(isCheckedClass):
(checkKnownType):
(gatherAPI):
(tst_publicapi::publicAPI):

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

12 years ago[Qt] Trigger forcing accelerated compositing from the UI process side.
jocelyn.turcotte@nokia.com [Fri, 20 Jan 2012 10:02:53 +0000 (10:02 +0000)]
[Qt] Trigger forcing accelerated compositing from the UI process side.
https://bugs.webkit.org/show_bug.cgi?id=76296

Reviewed by Noam Rosenthal.

Some messages can be sent from the web view to the LayerTreeHost before
accelerated compositing is entered on the web process and signaled back.
By letting the UI process decide if AC has to be forced, we can create
the LayerTreeHostProxy earlier to send messages to the web process while
AC is being entered there.

This fixes the first visible content rect message not being received when
loading pages from the disk.

* Shared/WebPreferencesStore.h:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::platformInitialize):

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

12 years ago[GTK] GTK's DRT not to log events for already defunct objects
mario@webkit.org [Fri, 20 Jan 2012 09:57:24 +0000 (09:57 +0000)]
[GTK] GTK's DRT not to log events for already defunct objects
https://bugs.webkit.org/show_bug.cgi?id=76620

Reviewed by Martin Robinson.

Do not log 'state-change:defunct' events.

* DumpRenderTree/gtk/AccessibilityCallbacks.cpp:
(printAccessibilityEvent): Early return if a
'state-change:defunct' signal is passed.
(axObjectEventListener): Pass the signal name and value in
separate parameters to printAccessibilityEvent.

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

12 years agoundefined reference to symbol eina_module_free
commit-queue@webkit.org [Fri, 20 Jan 2012 09:39:00 +0000 (09:39 +0000)]
undefined reference to symbol eina_module_free
https://bugs.webkit.org/show_bug.cgi?id=76681

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-01-20
Reviewed by Martin Robinson.

eina_module_free has been used without including eina libraries after r104936.

* wtf/PlatformEfl.cmake: Add EINA_LIBRARIES.

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

12 years agoEach style rule should have its own ID.
tkent@chromium.org [Fri, 20 Jan 2012 09:23:02 +0000 (09:23 +0000)]
Each style rule should have its own ID.
https://bugs.webkit.org/show_bug.cgi?id=76428

Reviewed by David Levin.

* coding/coding-style.html: Add an id attribute to each of li elements,
and add code to set title="#id-name" and to make li elements clickable.

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

12 years ago[Qt] Unreviewed gardening after r105486.
ossy@webkit.org [Fri, 20 Jan 2012 09:12:49 +0000 (09:12 +0000)]
[Qt] Unreviewed gardening after r105486.

* platform/qt/fast/dom/constructed-objects-prototypes-expected.txt:
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:

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

12 years ago[Qt] Unreviewed gardening. Skip a new failing test.
ossy@webkit.org [Fri, 20 Jan 2012 09:05:17 +0000 (09:05 +0000)]
[Qt] Unreviewed gardening. Skip a new failing test.

* platform/qt/Skipped:

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

12 years ago[chromium] Chromium should have EditorClientImpl::checkTextOfParagraph.
commit-queue@webkit.org [Fri, 20 Jan 2012 08:59:14 +0000 (08:59 +0000)]
[chromium] Chromium should have EditorClientImpl::checkTextOfParagraph.
https://bugs.webkit.org/show_bug.cgi?id=74071

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-20
Reviewed by Darin Fisher.

Spellchecker on Mac has more sophisticated interface for spellchecking (checkTextOfParagraph).
If the other ports have the same interface, code can be clearer and easy to extend.
This patch introduces such an interface. The implementation will be done not in WebKit but in Chromium.

Also, currently WebKit::WebTextCheckingResult and WebCore::TextCheckingResult have different forms.
They should be corresponding apparently. This patch introduces such correspondence.

* WebKit.gyp:
* public/WebSpellCheckClient.h:
(WebKit::WebSpellCheckClient::checkTextOfParagraph):
  A new interface for spellchecking.
* public/WebTextCheckingResult.h:
(WebKit::WebTextCheckingResult::WebTextCheckingResult):
  Changed so that WebTextCheckingResult corresponds to WebCore::TextCheckingResult.
* public/WebTextCheckingType.h: Copied from Source/WebKit/chromium/public/WebTextCheckingResult.h.
* src/AssertMatchingEnums.cpp:
* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::checkTextOfParagraph):
* src/EditorClientImpl.h:
* src/WebTextCheckingResult.cpp: Copied from Source/WebKit/chromium/public/WebTextCheckingResult.h.
(WebKit::WebTextCheckingResult::operator TextCheckingResult):

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

12 years agoChange LocalizedNumber interface
tkent@chromium.org [Fri, 20 Jan 2012 08:47:22 +0000 (08:47 +0000)]
Change LocalizedNumber interface
https://bugs.webkit.org/show_bug.cgi?id=76613

Reviewed by Hajime Morita.

Change the functions of LocalizedNumber from:
  double parseLocalizedNumber(const String&);
  String formatLocalizedNumber(double, unsigned fractionDigits);
To:
  String convertToLocalizedNumber(const String&, usnigned fractionDigits);
  String convertFromLocalizedNumber(const String&);
in order that we can avoid conversion from/to a double value.

The fractionDigits argumetn of convertToLocalizedNumber() will be
removed in the future.  We need it because we'd like to recycle the old
functions to implement new functions for now and functions in
LocalizedNumber can't call functions in HTMLParserIdioms.cpp.

No new tests because the change doesn't make any behavior change.

* html/NumberInputType.cpp:
(WebCore::NumberInputType::visibleValue):
Use convertToLocalizedNumber.
(WebCore::NumberInputType::convertFromVisibleValue):
Use convertFromLocalizedNumber.
(WebCore::NumberInputType::isAcceptableValue): ditto.
* platform/text/LocalizedNumber.h:
Remove parseLocalizedNumber and formatLocalizedNumber, and
introduce convertToLocalizedNumber and convertFromLocalizedNumber.
* platform/text/LocalizedNumberICU.cpp:
(WebCore::parseLocalizedNumber): Make this static.
(WebCore::formatLocalizedNumber): Make this static.
(WebCore::convertToLocalizedNumber): Implement this with formatLocalizedNumber.
(WebCore::convertFromLocalizedNumber): Implement this with parseLocalizedNumber.
* platform/text/LocalizedNumberNone.cpp:
(WebCore::convertToLocalizedNumber):
Implement this as a function returning the input string.
(WebCore::convertFromLocalizedNumber): ditto.
* platform/text/mac/LocalizedNumberMac.mm:
(WebCore::parseLocalizedNumber): Make this static.
(WebCore::formatLocalizedNumber): Make this static.
(WebCore::convertToLocalizedNumber): Implement this with formatLocalizedNumber.
(WebCore::convertFromLocalizedNumber): Implement this with parseLocalizedNumber.

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

12 years ago[chromium] WebFrame should have an interface to invoke spellchecking in arbitrarily.
commit-queue@webkit.org [Fri, 20 Jan 2012 08:42:30 +0000 (08:42 +0000)]
[chromium] WebFrame should have an interface to invoke spellchecking in arbitrarily.
https://bugs.webkit.org/show_bug.cgi?id=73971

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-20
Reviewed by Darin Fisher.

This interface is necessary to recheck spelling of an arbitrary element.

* public/WebFrame.h:
* public/WebNode.h:
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::requestTextChecking):
  Requests spellchecking for the element having current selection.
* src/WebFrameImpl.h:
* src/WebNode.cpp:
(WebKit::WebNode::rootEditableElement):
  Takes a root editable element from Node.

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

12 years agoWeb Inspector: problem with Ctrl - <arrows> shortcuts in Scripts panel
pfeldman@chromium.org [Fri, 20 Jan 2012 08:26:49 +0000 (08:26 +0000)]
Web Inspector: problem with Ctrl - <arrows> shortcuts in Scripts panel
https://bugs.webkit.org/show_bug.cgi?id=76622

Reviewed by Yury Semikhatsky.

* inspector/front-end/InspectorView.js:
(WebInspector.InspectorView.prototype._keyDown):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype.set readOnly):
(WebInspector.TextViewer.prototype._cancelEditing):
(WebInspector.TextViewer.prototype.wasShown):
(WebInspector.TextViewer.prototype.willHide):
* inspector/front-end/UIUtils.js:
(WebInspector.isInEditMode):
* inspector/front-end/inspector.js:
(WebInspector.documentKeyDown):

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

12 years agoUnreviewed, test results rebaseline after r105457.
philn@webkit.org [Fri, 20 Jan 2012 08:04:44 +0000 (08:04 +0000)]
Unreviewed, test results rebaseline after r105457.

* fast/canvas/canvas-webkitLineDash-expected.txt:

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

12 years agoSource/WebCore: Migrate createObjectURL & revokeObjectURL to static (Class) methods.
arv@chromium.org [Fri, 20 Jan 2012 08:00:11 +0000 (08:00 +0000)]
Source/WebCore: Migrate createObjectURL & revokeObjectURL to static (Class) methods.
https://bugs.webkit.org/show_bug.cgi?id=74386

Reviewed by Adam Barth.

Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
Already Existing -
    fast/files/revoke-blob-url.html
    fast/dom/window-domurl-crash.html
    fast/files/apply-blob-url-to-img.html
    fast/files/create-blob-url-crash.html
    fast/files/workers/inline-worker-via-blob-url.html

* html/DOMURL.cpp: Added HashMap for local static objects.
(WebCore::PublicURLManager::PublicURLManager):
(WebCore::PublicURLManager::contextDestroyed):
(WebCore::PublicURLManager::blobURLs):
(WebCore::PublicURLManager::streamURLs):
(WebCore::publicURLManagerMap):
(WebCore::publicURLManager):
(WebCore::publicBlobURLs):
(WebCore::publicStreamURLs):
(WebCore::DOMURL::createObjectURL): Changed to static.
(WebCore::DOMURL::revokeObjectURL): ditto.
* html/DOMURL.h:
(WebCore::DOMURL::create):
(WebCore::DOMURL::~DOMURL):
(WebCore::DOMURL::DOMURL):
* html/DOMURL.idl:
* page/DOMWindow.cpp: Removed object initialization for DOMURL.
* page/DOMWindow.h: ditto.
* page/DOMWindow.idl: ditto.
* workers/WorkerContext.cpp: ditto.
* workers/WorkerContext.h: ditto.
* workers/WorkerContext.idl: ditto.

LayoutTests: Migrate createObjectURL & revokeObjectURL to static (Class) methods
https://bugs.webkit.org/show_bug.cgi?id=74386

Reviewed by Adam Barth.

Added test to check if createObjectURL & revokeObjectURL are static functions.

* fast/dom/DOMURL: Added.
* fast/dom/DOMURL/check-instanceof-domurl-functions-expected.txt: Added.
* fast/dom/DOMURL/check-instanceof-domurl-functions.html: Added.

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

12 years agoSource/WebCore: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at...
achicu@adobe.com [Fri, 20 Jan 2012 07:45:46 +0000 (07:45 +0000)]
Source/WebCore: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Added setCSSCustomFilterEnabled/isCSSCustomFilterEnabled that is false by default.
I've enabled it by default on Apple Mac, to make sure there's no behavior change. Anyway, CSS shaders need
WebGL enabled, so it ends up being disabled by default.

Reviewed by Nikolas Zimmermann.

Test: css3/filters/effect-custom-disabled.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFilter):
    Do not parse the custom() function when shaders are disabled.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
    Do not overwrite the old style->filter() if parsing fails.

(WebCore::CSSStyleSelector::createFilterOperations):
    Do not continue if one custom() filter fails to parse.

* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setCSSCustomFilterEnabled):
(WebCore::Settings::isCSSCustomFilterEnabled):
* rendering/FilterEffectRenderer.cpp:
(WebCore::isCSSCustomFilterEnabled):
(WebCore::FilterEffectRenderer::build):
    Avoid creating the filter when shaders are disabled. It may happen to get here if shaders were disabled between parsing and rendering.

Source/WebKit/mac: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Added private WebPreference property called "WebKitCSSCustomFilterEnabled".

Reviewed by Nikolas Zimmermann.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences cssCustomFilterEnabled]):
(-[WebPreferences setCSSCustomFilterEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Reviewed by Nikolas Zimmermann.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCSSCustomFilterEnabled):
(WKPreferencesGetCSSCustomFilterEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Reviewed by Nikolas Zimmermann.

* css3/filters/effect-custom-disabled-expected.txt: Added.
* css3/filters/effect-custom-disabled.html: Added.
* css3/filters/script-tests/effect-custom-disabled.js: Added.
(testInvalidFilterRule):
* platform/wk2/Skipped:
    Skipped a couple of tests that call overridePreference.

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

12 years agoNode::canHaveLightChildRendererWithShadow is not used anywhere.
commit-queue@webkit.org [Fri, 20 Jan 2012 07:18:58 +0000 (07:18 +0000)]
Node::canHaveLightChildRendererWithShadow is not used anywhere.
https://bugs.webkit.org/show_bug.cgi?id=76627

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-19
Reviewed by Darin Adler.

Since Node::canHaveLightChildRendererWithShadow is not overriden anywhere, and it returns always false.
We can remove it.

No new tests, because no change in behavior.

* dom/Node.h:
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::shouldCreateRenderer):

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

12 years agoCleanup: make constant variable names in fileapi/ conform to WebKit's coding guideline
kinuko@chromium.org [Fri, 20 Jan 2012 06:39:21 +0000 (06:39 +0000)]
Cleanup: make constant variable names in fileapi/ conform to WebKit's coding guideline
https://bugs.webkit.org/show_bug.cgi?id=76625

Reviewed by David Levin.

Source/WebCore:

No new tests as this patch has no functional changes.

* fileapi/BlobURL.cpp:
(WebCore::BlobURL::getIdentifier):
(WebCore::BlobURL::createBlobURL):
* fileapi/BlobURL.h:
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::write):
(WebCore::FileWriter::truncate):
* platform/AsyncFileSystem.cpp:
(WebCore::AsyncFileSystem::crackFileSystemURL):
(WebCore::AsyncFileSystem::toURL):
(WebCore::AsyncFileSystem::isAvailable):
* platform/AsyncFileSystem.h:

Source/WebKit/chromium:

Also removing (almost) duplicated implementation of AsyncFileSystem::crackFileSystem.

* src/AsyncFileSystemChromium.cpp:

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

12 years agoUnreviewed: add layout test to Chromium test_expectations.txt file after changes...
rolandsteiner@chromium.org [Fri, 20 Jan 2012 05:25:53 +0000 (05:25 +0000)]
Unreviewed: add layout test to Chromium test_expectations.txt file after changes to Mac underline drawing.

* platform/chromium/test_expectations.txt:

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

12 years agoVersioning.
lforschler@apple.com [Fri, 20 Jan 2012 04:54:05 +0000 (04:54 +0000)]
Versioning.

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

12 years agoRemove "Safari 5.1 shipped" text from debugging instructions; move misplaced </ol>
dbates@webkit.org [Fri, 20 Jan 2012 03:36:43 +0000 (03:36 +0000)]
Remove "Safari 5.1 shipped" text from debugging instructions; move misplaced </ol>

Rubber-stamped by Sam Weinig.

* building/debug.html:

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

12 years agoReplace improper #import with an #include.
weinig@apple.com [Fri, 20 Jan 2012 03:22:39 +0000 (03:22 +0000)]
Replace improper #import with an #include.

* UIProcess/Plugins/PluginProcessProxy.cpp:
Fixes warnings.

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

12 years agoMove RunLoop to WebCore/platform
weinig@apple.com [Fri, 20 Jan 2012 03:04:51 +0000 (03:04 +0000)]
Move RunLoop to WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=76471

Reviewed by Anders Carlsson.

Source/WebCore:

* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Add newly moved files.

* platform/RunLoop.cpp: Moved from Source/WebKit2/Platform/RunLoop.cpp.
* platform/RunLoop.h: Moved from Source/WebKit2/Platform/RunLoop.h.
* platform/gtk/RunLoopGtk.cpp: Moved from Source/WebKit2/Platform/gtk/RunLoopGtk.cpp.
* platform/mac/RunLoopMac.mm: Moved from Source/WebKit2/Platform/mac/RunLoopMac.mm.
* platform/qt/RunLoopQt.cpp: Moved from Source/WebKit2/Platform/qt/RunLoopQt.cpp.
* platform/win/RunLoopWin.cpp: Moved from Source/WebKit2/Platform/win/RunLoopWin.cpp.
Move the files.

Source/WebKit2:

* GNUmakefile.am:
* Platform/CoreIPC/Connection.cpp:
* Platform/CoreIPC/Connection.h:
* Platform/CoreIPC/mac/ConnectionMac.cpp:
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/PluginProcess.cpp:
* PluginProcess/PluginProcess.h:
* PluginProcess/WebProcessConnection.cpp:
* PluginProcess/mac/PluginProcessMainMac.mm:
* PluginProcess/qt/PluginProcessMainQt.cpp:
* Shared/ChildProcess.cpp:
* Shared/ChildProcess.h:
* Target.pri:
* UIProcess/API/mac/FindIndicatorWindow.h:
* UIProcess/API/mac/WKView.mm:
* UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/Launcher/ThreadLauncher.cpp:
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
* UIProcess/Launcher/mac/ThreadLauncherMac.mm:
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
* UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
* UIProcess/Launcher/win/ProcessLauncherWin.cpp:
* UIProcess/Launcher/win/ThreadLauncherWin.cpp:
* UIProcess/LayerTreeHostProxy.h:
* UIProcess/Plugins/PluginProcessProxy.cpp:
* UIProcess/ResponsivenessTimer.cpp:
* UIProcess/ResponsivenessTimer.h:
* UIProcess/TiledDrawingAreaProxy.h:
* UIProcess/VisitedLinkProvider.h:
* UIProcess/WebConnectionToWebProcess.cpp:
* UIProcess/WebConnectionToWebProcess.h:
* UIProcess/WebContext.cpp:
* UIProcess/win/WebView.cpp:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/Netscape/NetscapePluginStream.h:
* WebProcess/Plugins/PluginView.h:
* WebProcess/WebConnectionToUIProcess.cpp:
* WebProcess/WebConnectionToUIProcess.h:
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
* WebProcess/WebPage/DrawingAreaImpl.h:
* WebProcess/WebPage/EventDispatcher.cpp:
* WebProcess/WebPage/PageOverlay.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebProcess.cpp:
* WebProcess/WebProcess.h:
(WebKit::WebProcess::runLoop):
* WebProcess/gtk/WebProcessMainGtk.cpp:
* WebProcess/mac/WebProcessMainMac.mm:
* WebProcess/qt/WebProcessMainQt.cpp:
* WebProcess/win/WebProcessMainWin.cpp:
* win/WebKit2.vcproj:
Remove RunLoop code and update #includes.

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

12 years agoUnreviewed build fix. Wrong variable being used as the cwd for git
kov@webkit.org [Fri, 20 Jan 2012 03:02:46 +0000 (03:02 +0000)]
Unreviewed build fix. Wrong variable being used as the cwd for git
remote update command.

* gtk/run-with-jhbuild:
(update_jhbuild):

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

12 years agoFix inconsistent text selection behavior with option-shift-left/right/up/down.
commit-queue@webkit.org [Fri, 20 Jan 2012 02:51:04 +0000 (02:51 +0000)]
Fix inconsistent text selection behavior with option-shift-left/right/up/down.
https://bugs.webkit.org/show_bug.cgi?id=75652

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-19
Reviewed by Enrica Casucci.

On Mac, selecting backwards by word, line or paragraph from the middle
of some text, and then going forward leaves the caret back in the middle
with no selection, instead of directly selecting to the other end of the
word/line/paragraph (Unix/Windows behavior). Fix this by adding a new
editing behavior to control whether the selection should go across the
initial position of the caret directly or not in situations like the one
outlined above.

Source/WebCore:

Test: editing/selection/selection-extend-should-not-move-across-caret-on-mac.html

* editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldExtendSelectionByWordOrLineAcrossCaret):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::modify):

LayoutTests:

* editing/selection/selection-extend-should-not-move-across-caret-on-mac-expected.txt: Added.
* editing/selection/selection-extend-should-not-move-across-caret-on-mac.html: Added.

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

12 years ago[GTK] ensure the jhbuild used by webkit is as up-to-date as needed
kov@webkit.org [Fri, 20 Jan 2012 02:45:15 +0000 (02:45 +0000)]
[GTK] ensure the jhbuild used by webkit is as up-to-date as needed
https://bugs.webkit.org/show_bug.cgi?id=76585

Reviewed by Martin Robinson.

This allows us to specify a minimum version of jhbuild required,
while also providing stability against changes done to the master
branch, by letting us choose what is the exact version that will
be used.

* gtk/run-with-jhbuild: refactored for more hackability and easier
reading
(jhbuild_installed): checks whether jhbuild is installed
(jhbuild_cloned): checks whether jhbuild has been cloned
(jhbuild_at_expected_revision): checks whether jhbuild is at the
expected revision
(update_jhbuild): brings jhbuild to the expected revision
(clone_jhbuild): clones jhbuild
(install_jhbuild): build and installs jhbuild
(update_webkitgtk_libs): runs update-webkitgtk-libs
(ensure_jhbuild): high-level logic to decide whether and which of
the steps above are executed

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

12 years agoRegression (r98735): Video chat moles in Gmail render incorrectly on Mac OS
simon.fraser@apple.com [Fri, 20 Jan 2012 02:41:06 +0000 (02:41 +0000)]
Regression (r98735): Video chat moles in Gmail render incorrectly on Mac OS
https://bugs.webkit.org/show_bug.cgi?id=75682

Source/WebCore:

Reviewed by James Robinson.

RenderLayerBacking::isSimpleContainerCompositingLayer() gave incorret
results in the case where the layer itself was visibility:hidden, but
where it had visible, non-composited descendant layers.

Fix by breaking RenderLayerBacking::hasVisibleNonCompositingDescendants()
into two methods, one that tests for renderers in this layer which
render stuff (and are thus affected by visibility on this layer), and
another which walks descendant, non-composited layers looking for those
which are visible.

Removed an early return in the "renderObject->node()->isDocumentNode()"
clause, because we want to run the same code that we run for non-document
nodes.

Test: compositing/visibility/layer-visible-content.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::containsNonEmptyRenderers):
(WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
* rendering/RenderLayerBacking.h:

LayoutTests:

Reviewed by James Robinson.

Testcase with a combination of visibility:hidden, overflow, positioning and
transforms.

* compositing/visibility/layer-visible-content-expected.png: Added.
* compositing/visibility/layer-visible-content-expected.txt: Added.
* compositing/visibility/layer-visible-content.html: Added.

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

12 years ago[chromium] Draw gutter quads outside root content layer
commit-queue@webkit.org [Fri, 20 Jan 2012 02:21:07 +0000 (02:21 +0000)]
[chromium] Draw gutter quads outside root content layer
https://bugs.webkit.org/show_bug.cgi?id=76328

Patch by Alexandre Elias <aelias@google.com> on 2012-01-19
Reviewed by James Robinson.

Add new layer property "backgroundCoversViewport".  If the content
layers don't fully cover the render surface, this code calculates the
difference between the root clip rect and the root content layer and
draws up to four background-color quads in exactly the area that would
be undrawn.

Test: CCTiledLayerImplTest::backgroundCoversViewport

Source/WebCore:

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setBackgroundCoversViewport):
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::backgroundCoversViewport):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::setBackgroundCoversViewport):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::backgroundCoversViewport):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::appendQuads):

Source/WebKit/chromium:

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
* tests/CCLayerImplTest.cpp:
(WebCore::TEST):
* tests/CCTiledLayerImplTest.cpp:
(WebCore::TEST):
* tests/LayerChromiumTest.cpp:

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

12 years agoWeb Intents chromium API modifications to track IntentRequest invocation method
commit-queue@webkit.org [Fri, 20 Jan 2012 02:03:48 +0000 (02:03 +0000)]
Web Intents chromium API modifications to track IntentRequest invocation method
https://bugs.webkit.org/show_bug.cgi?id=76014

Patch by Greg Billock <gbillock@google.com> on 2012-01-19
Reviewed by Darin Fisher.

* public/WebFrameClient.h:
(WebKit::WebFrameClient::dispatchIntent):
* public/WebIntent.h:
* public/WebIntentRequest.h: Added.
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::dispatchIntent):
* src/FrameLoaderClientImpl.h:
* src/WebIntent.cpp:
* src/WebIntentRequest.cpp: Added.

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

12 years ago[Skia Mac] Match style of platform error underline for misspellings
caryclark@google.com [Fri, 20 Jan 2012 01:47:41 +0000 (01:47 +0000)]
[Skia Mac] Match style of platform error underline for misspellings
https://bugs.webkit.org/show_bug.cgi?id=76556

Reviewed by Stephen White.

Source/WebCore:

Add Darwin-specific code in Skia to draw the error underline so that
it matches the CoreGraphics style.

Many existing layout tests inadvertantly trigger the misspelling
underline by including the word 'foo' in an editable field. Those
tests are temporarily suppressed separately in an edit to
test_expectations.txt.

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

LayoutTests:

Suppress editing tests with misspellings, since the error underline
is drawn differently.

* platform/chromium/test_expectations.txt:

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

12 years ago[Texmap] TextureMapper creates two many big intermediate surfaces
noam.rosenthal@nokia.com [Fri, 20 Jan 2012 01:34:24 +0000 (01:34 +0000)]
[Texmap] TextureMapper creates two many big intermediate surfaces
https://bugs.webkit.org/show_bug.cgi?id=76336

Reviewed by Simon Hausmann.

The following has been done to optimize surface allocation:
1. Instead of using a viewport-size surface, use a surface in the size of the layer's
   bounding rect and apply the transform after the content has been rendered into it.
2. Avoid generating intermediate surface for occasions where they're not necessary,
   such as nested reflections without opacity.
3. Releasing of textures from the pool is now implicit, based on refCount.
4. Do not use intermediate surfaces for preserve-3d layers. This is in alignment with
   other ports.

Tests in LayoutTests/compositing/masks and LayoutTests/compositing/reflection cover this.

* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::acquireTextureFromPool):
* platform/graphics/texmap/TextureMapper.h:
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::paintSelf):
(WebCore::TextureMapperNode::paintSelfAndChildren):
(WebCore::TextureMapperNode::intermediateSurfaceRect):
(WebCore::TextureMapperNode::shouldPaintToIntermediateSurface):
(WebCore::TextureMapperNode::isVisible):
(WebCore::TextureMapperNode::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperNode::paintRecursive):
(WebCore::TextureMapperNode::syncCompositingStateSelf):
(WebCore::TextureMapperNode::syncCompositingState):
* platform/graphics/texmap/TextureMapperNode.h:
(WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):

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

12 years ago[Chromium] A Skia roll will break some tests - marking as expected
commit-queue@webkit.org [Fri, 20 Jan 2012 01:22:52 +0000 (01:22 +0000)]
[Chromium] A Skia roll will break some tests - marking as expected
https://bugs.webkit.org/show_bug.cgi?id=76638

Unreviewed test_expectations update.

Patch by Stephen Chenney <schenney@chromium.org> on 2012-01-19

* platform/chromium/test_expectations.txt: Adding MAC to svg/custom/zero-path-square-cap-rendering.svg

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

12 years ago[WK2] DumpRenderTree converts "file:///" to a path differently
ap@apple.com [Fri, 20 Jan 2012 01:10:47 +0000 (01:10 +0000)]
[WK2] DumpRenderTree converts "file:///" to a path differently
https://bugs.webkit.org/show_bug.cgi?id=76653

Reviewed by John Sullivan.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::lastFileURLPathComponent):
Do print a slash if there are no path components.

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

12 years agowebkit-patch cannot rollout patches without changelog/bug number
eric@webkit.org [Fri, 20 Jan 2012 00:57:46 +0000 (00:57 +0000)]
webkit-patch cannot rollout patches without changelog/bug number
https://bugs.webkit.org/show_bug.cgi?id=75962

Reviewed by Adam Barth.

* Scripts/webkitpy/tool/commands/download.py:
(AbstractRolloutPrepCommand._prepare_state):
* Scripts/webkitpy/tool/commands/download_unittest.py:
(AbstractRolloutPrepCommandTest.test_prepare_state):

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

12 years agoAssertion failure in WebCore::HTMLFrameElementBase::insertedIntoDocument()
eric@webkit.org [Fri, 20 Jan 2012 00:44:41 +0000 (00:44 +0000)]
Assertion failure in WebCore::HTMLFrameElementBase::insertedIntoDocument()
https://bugs.webkit.org/show_bug.cgi?id=50312

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Removed the ASSERT and updated the comment.

Test: fast/frames/assert-on-insertedIntoDocument.html

* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::insertedIntoDocument):

LayoutTests:

* fast/frames/assert-on-insertedIntoDocument-expected.txt: Added.
* fast/frames/assert-on-insertedIntoDocument.html: Added.

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

12 years ago[chromium] Replace WGC3D visibility extension with resource_usage extension. [Part...
commit-queue@webkit.org [Fri, 20 Jan 2012 00:29:30 +0000 (00:29 +0000)]
[chromium] Replace WGC3D visibility extension with resource_usage extension. [Part 1 of 3]
https://bugs.webkit.org/show_bug.cgi?id=76634

Patch by Michal Mocny <mmocny@google.com> on 2012-01-19
Reviewed by Kenneth Russell.

* public/platform/WebGraphicsContext3D.h:
(WebKit::WebGraphicsContext3D::setVisibilityCHROMIUM):
(WebKit::WebGraphicsContext3D::setResourceUsageCHROMIUM):
* src/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3DPrivate::setVisibilityCHROMIUM):
* tests/FakeWebGraphicsContext3D.h:
(WebKit::FakeWebGraphicsContext3D::setResourceUsageCHROMIUM):

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

12 years ago[WK2] fast/url/degenerate-file-base.html fails
ap@apple.com [Fri, 20 Jan 2012 00:13:05 +0000 (00:13 +0000)]
[WK2] fast/url/degenerate-file-base.html fails
https://bugs.webkit.org/show_bug.cgi?id=76619

Reviewed by Adam Roben.

Tools:

A URL generated form local path for loading had an extra slash, making document.URL
incorrect in all WebKit2 tests (file://localhost//path/to/test.html).

* WebKitTestRunner/TestInvocation.cpp: (WTR::createWKURL):

LayoutTests:

* platform/qt-wk2/Skipped: Unskipped the test.

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

12 years ago[chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting
jamesr@google.com [Fri, 20 Jan 2012 00:07:53 +0000 (00:07 +0000)]
[chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting
https://bugs.webkit.org/show_bug.cgi?id=76663

Reviewed by Kenneth Russell.

Source/WebCore:

CCLayerDelegate used to be an interface with a half-dozen callbacks on it, but now it has only one call -
paintContents() - and that one call is only valid for one subclass of LayerChromium, ContentLayerChromium. This
removes the CCLayerDelegate pointer from LayerChromium and adds a ContentLayerDelegate for the paint call.

The majority of the code changes in this patch are removing the nil parameter from various places that construct
LayerChromium instances. Also tightens the type of GraphicsLayerChromium::m_layer to ContentLayerChromium.

Refactoring/removing dead code, so no new tests.

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
* platform/graphics/chromium/CanvasLayerChromium.cpp:
(WebCore::CanvasLayerChromium::CanvasLayerChromium):
* platform/graphics/chromium/CanvasLayerChromium.h:
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerPainter::create):
(WebCore::ContentLayerPainter::ContentLayerPainter):
(WebCore::ContentLayerChromium::create):
(WebCore::ContentLayerChromium::ContentLayerChromium):
* platform/graphics/chromium/ContentLayerChromium.h:
(WebCore::ContentLayerDelegate::~ContentLayerDelegate):
(WebCore::ContentLayerChromium::clearDelegate):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::platformLayer):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::create):
(WebCore::ImageLayerChromium::ImageLayerChromium):
* platform/graphics/chromium/ImageLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::create):
(WebCore::LayerChromium::LayerChromium):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/PluginLayerChromium.cpp:
(WebCore::PluginLayerChromium::create):
(WebCore::PluginLayerChromium::PluginLayerChromium):
* platform/graphics/chromium/PluginLayerChromium.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::drawsContent):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::create):
(WebCore::VideoLayerChromium::VideoLayerChromium):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::create):
(WebCore::WebGLLayerChromium::WebGLLayerChromium):
* platform/graphics/chromium/WebGLLayerChromium.h:

Source/WebKit/chromium:

* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::~WebContentLayerImpl):
* src/WebContentLayerImpl.h:
* src/WebExternalTextureLayerImpl.cpp:
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::~WebExternalTextureLayerImpl):
* src/WebExternalTextureLayerImpl.h:
* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::WebLayerImpl):
(WebKit::WebLayerImpl::~WebLayerImpl):
* src/WebLayerImpl.h:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
* tests/CCLayerIteratorTest.cpp:
* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore::LayerChromiumWithForcedDrawsContent::LayerChromiumWithForcedDrawsContent):
(WebCore::TEST):
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTest::doBeginTest):
(WTF::ContentLayerChromiumWithUpdateTracking::create):
(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
* tests/LayerChromiumTest.cpp:
* tests/TiledLayerChromiumTest.cpp:
(WTF::FakeTiledLayerChromium::FakeTiledLayerChromium):
* tests/TreeSynchronizerTest.cpp:
(WebCore::MockLayerChromium::MockLayerChromium):
(WebCore::TEST):

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

12 years ago[chromium] Remove an obsolete comment about features.gypi
tony@chromium.org [Fri, 20 Jan 2012 00:00:51 +0000 (00:00 +0000)]
[chromium] Remove an obsolete comment about features.gypi
https://bugs.webkit.org/show_bug.cgi?id=76643

There can be only one features.gypi.

Reviewed by James Robinson.

* JavaScriptCore.gyp/JavaScriptCore.gyp:

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

12 years agoAdd Chromium-specific image baselines for
abarth@webkit.org [Thu, 19 Jan 2012 23:48:52 +0000 (23:48 +0000)]
Add Chromium-specific image baselines for
fast/css/text-overflow-input.html.  These results all appear to be
correct.

* platform/chromium-linux/fast/css/text-overflow-input-expected.png: Added.
* platform/chromium-mac-leopard/fast/css/text-overflow-input-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/css/text-overflow-input-expected.png: Added.
* platform/chromium-win/fast/css/text-overflow-input-expected.png: Added.
* platform/chromium-win/fast/css/text-overflow-input-expected.txt: Added.

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

12 years ago[Coverity] Fix uninitialized constructor defects in .../html
commit-queue@webkit.org [Thu, 19 Jan 2012 23:47:33 +0000 (23:47 +0000)]
[Coverity] Fix uninitialized constructor defects in .../html
https://bugs.webkit.org/show_bug.cgi?id=74965

Patch by Greg Billock <gbillock@google.com> on 2012-01-19
Reviewed by Simon Fraser.

Test: fast/canvas/script-tests/canvas-webkitLineDash.js

* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::HTMLFormCollection):
* html/StepRange.cpp:
(WebCore::StepRange::StepRange):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::State::State):
* html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
* html/canvas/WebGLGetInfo.cpp:
(WebCore::WebGLGetInfo::WebGLGetInfo):
* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::CSSPreloadScanner):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::WebVTTParser):

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

12 years agoPerformanceTests's runner.js shouldn't be Parser-specific
abarth@webkit.org [Thu, 19 Jan 2012 23:38:29 +0000 (23:38 +0000)]
PerformanceTests's runner.js shouldn't be Parser-specific
https://bugs.webkit.org/show_bug.cgi?id=76670

Reviewed by Ryosuke Niwa.

This runner script is used by a bunch of difference performance tests.
It shouldn't be in the Parser directory anymore.

* Bindings/event-target-wrapper.html:
* Mutation/append-child-deep.html:
* Mutation/append-child.html:
* Mutation/inner-html.html:
* Mutation/remove-child-deep.html:
* Mutation/remove-child.html:
* Parser/html-parser.html:
* Parser/html5-full-render.html:
* Parser/resources/runner.js: Removed.
* Parser/simple-url.html:
* Parser/tiny-innerHTML.html:
* Parser/url-parser.html:
* Parser/xml-parser.html:
* resources: Added.
* resources/runner.js: Copied from PerformanceTests/Parser/resources/runner.js.

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

12 years ago[SKIA / CHROMIUM] Add another test to test_expectations to prepare for change to...
commit-queue@webkit.org [Thu, 19 Jan 2012 23:34:05 +0000 (23:34 +0000)]
[SKIA / CHROMIUM] Add another test to test_expectations to prepare for change to use sw-rasterized paths in skia-gpu
https://bugs.webkit.org/show_bug.cgi?id=76469

Patch by Brian Salomon <bsalomon@google.com> on 2012-01-19
Reviewed by Stephen White.

* platform/chromium/test_expectations.txt:

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

12 years agoCSS Shaders: Remove the setTimeout from the layout tests
achicu@adobe.com [Thu, 19 Jan 2012 23:20:53 +0000 (23:20 +0000)]
CSS Shaders: Remove the setTimeout from the layout tests
https://bugs.webkit.org/show_bug.cgi?id=76535

Reviewed by Tony Chang.

Source/WebCore:

We had setTimeout on old tests because the snapshot picture was taken too early, before the shaders were loaded.
The problem was that the RenderLayer was notified that the shader was loaded only after the onload event was triggered,
so a simple setTimeout(0) would have fixed the issue, but better than that would be to to always call CachedResource::data
in CachedShader::data, which notifies the load earlier (before onload).

No new tests, just removed the setTimeout from old ones.

* loader/cache/CachedShader.cpp:
(WebCore::CachedShader::data):

LayoutTests:

No need for setTimeout anymore, so I've removed them from the custom filter tests.

* css3/filters/custom-filter-shader-cache.html:
* css3/filters/effect-custom-combined-missing.html:
* css3/filters/effect-custom-parameters.html:
* css3/filters/effect-custom.html:
* css3/filters/missing-custom-filter-shader.html:

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

12 years agoImprove touch handling performance by reusing the hitTest result
commit-queue@webkit.org [Thu, 19 Jan 2012 23:07:12 +0000 (23:07 +0000)]
Improve touch handling performance by reusing the hitTest result
https://bugs.webkit.org/show_bug.cgi?id=75506

Patch by Min Qin <qinmin@google.com> on 2012-01-19
Reviewed by Adam Barth.

This is a performance optimization and should not cause behavior changes. Existing tests should cover it.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent):

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

12 years agocheck-webkit-style of the chromium test_expectations.txt file doesn't test all chromi...
ojan@chromium.org [Thu, 19 Jan 2012 23:01:24 +0000 (23:01 +0000)]
check-webkit-style of the chromium test_expectations.txt file doesn't test all chromium ports
https://bugs.webkit.org/show_bug.cgi?id=76510

Reviewed by Adam Barth.

Unlike other style rules, if you get the syntax of the test_expectations.txt
file wrong, the layout tests won't run. Also, this check is simple and only
slows down committing if you actually modify one of the test_expectations.txt files.

* Scripts/webkitpy/style/checkers/test_expectations.py:
(TestExpectationsChecker.check_test_expectations):
(TestExpectationsChecker.check):
* Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
(TestExpectationsTestCase.test_check_covers_all_configurations):
(TestExpectationsTestCase.test_check_covers_all_configurations.mock_check_test_expectations):
(TestExpectationsTestCase):
(assert_lines_lint):

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

12 years agoAdd text-overflow support that allows placeholder and value text to show an ellipsis...
jonlee@apple.com [Thu, 19 Jan 2012 22:56:14 +0000 (22:56 +0000)]
Add text-overflow support that allows placeholder and value text to show an ellipsis when not focused
https://bugs.webkit.org/show_bug.cgi?id=76118
<rdar://problem/9271742>

Reviewed by Dan Bernstein.

Source/WebCore:

Tests: fast/css/text-overflow-input-focus-placeholder-expected.html
       fast/css/text-overflow-input-focus-placeholder.html
       fast/css/text-overflow-input-focus-value-expected.html
       fast/css/text-overflow-input-focus-value.html
       fast/css/text-overflow-input.html

* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::styleDidChange): When the style of the text control
changes, we update the text overflow property of the placeholder.
(WebCore::RenderTextControlSingleLine::createInnerTextStyle): When the style of the text control
changes, we update the text overflow property of the inner text block.
(WebCore::RenderTextControlSingleLine::textShouldBeTruncated): The text of the value and placeholder should
only contain the ellipsis if the input's text-overflow property is set to ellipsis, and the input is not focused.
* rendering/RenderTextControlSingleLine.h:

LayoutTests:

* fast/css/text-overflow-input-focus-placeholder-expected.html: Added.
* fast/css/text-overflow-input-focus-placeholder.html: Added.
* fast/css/text-overflow-input-focus-value-expected.html: Added.
* fast/css/text-overflow-input-focus-value.html: Added.
* fast/css/text-overflow-input.html: Added.

New baselines:
* platform/mac/fast/css/text-overflow-input-expected.png: Added.
* platform/mac/fast/css/text-overflow-input-expected.txt: Added.

Needs baselines:
* platform/chromium/test_expectations.txt:
* platform/gtk/test_expectations.txt:
* platform/qt/test_expectations.txt:
* platform/win/test_expectations.txt:

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

12 years agoBuild fix. Revert an unintentional change to WebKitDriver in r105443.
rniwa@webkit.org [Thu, 19 Jan 2012 22:50:10 +0000 (22:50 +0000)]
Build fix. Revert an unintentional change to WebKitDriver in r105443.

* Scripts/webkitpy/layout_tests/port/driver.py:
(DriverProxy.__init__):

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

12 years agoremove the duplicated build rules from WebKit.gyp, Tools.gyp
dpranke@chromium.org [Thu, 19 Jan 2012 22:46:05 +0000 (22:46 +0000)]
remove the duplicated build rules from WebKit.gyp, Tools.gyp
https://bugs.webkit.org/show_bug.cgi?id=73384

Reviewed by Tony Chang.

Source/WebKit/chromium:

This patch removes the no-longer-necessary conditional logic for
build_webkit_exes_from_webkit_gyp; we now always build the exes
from their own dedicated gyp files.
* WebKit.gyp:
* WebKitUnitTests.gyp:
* gyp_webkit:

Tools:

This patch removes the no-longer-necessary conditional logic for
build_webkit_exes_from_webkit_gyp; we now always build the exes
from their own dedicated gyp files.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

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

12 years agoAdd a V8-specific baseline for fast/regex/syntax-errors.html.
abarth@webkit.org [Thu, 19 Jan 2012 22:36:03 +0000 (22:36 +0000)]
Add a V8-specific baseline for fast/regex/syntax-errors.html.

* platform/chromium/fast/regex/syntax-errors-expected.txt: Added.

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

12 years agoThis test can also timeout.
abarth@webkit.org [Thu, 19 Jan 2012 22:07:23 +0000 (22:07 +0000)]
This test can also timeout.

* platform/chromium/test_expectations.txt:

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

12 years agomake-new-script-test should work with HTTP tests
ap@apple.com [Thu, 19 Jan 2012 22:04:55 +0000 (22:04 +0000)]
make-new-script-test should work with HTTP tests
https://bugs.webkit.org/show_bug.cgi?id=76603

Reviewed by Adam Roben.

* Scripts/make-new-script-test:
(makePathToSharedSources): Renamed from makeTestRelativePathToSharedSources(), since it
now also creates absolute paths for HTTP.

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

12 years agoImplicit creation of a regular expression should eagerly check for syntax errors
ggaren@apple.com [Thu, 19 Jan 2012 21:57:11 +0000 (21:57 +0000)]
Implicit creation of a regular expression should eagerly check for syntax errors
https://bugs.webkit.org/show_bug.cgi?id=76642

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

This is a correctness fix and a slight optimization.

* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch): Check for syntax errors because that's the
correct behavior.

* runtime/RegExp.cpp:
(JSC::RegExp::match): ASSERT that we aren't a syntax error. (One line
of code change, many lines of indentation change.)

Since we have no clients that try to match a RegExp that is a syntax error,
let's optimize out the check.

LayoutTests:

Reviewed by Oliver Hunt.

* fast/js/code-serialize-paren-expected.txt:
* fast/js/script-tests/code-serialize-paren.js: This test was secretly
broken due to a regexp syntax error. Now fixed.

* fast/regex/syntax-errors-expected.txt: Added.
* fast/regex/syntax-errors.html: Added.

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

12 years agoSome perf tests time out when ran by run-perf-tests
rniwa@webkit.org [Thu, 19 Jan 2012 21:50:52 +0000 (21:50 +0000)]
Some perf tests time out when ran by run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=76612

Reviewed by Dirk Pranke and Eric Seidel.

PerformanceTests:

Replace all images in html5.html by geenbox.png to avoid accessing whatwg.org when
running the parser tests. Also call dumpAsText, waitUntilDone, and notifyDone automatically
inside runner.js to avoid having to call them in individual tests.

* Bindings/event-target-wrapper.html: Removed calls to layoutTestController methods since
they are now called by runner.js automatically.
* Parser/resources/greenbox.png: Copied from LayoutTests/fast/css/resources/greenbox.png.
* Parser/resources/html5.html:
* Parser/resources/runner.js:
(runLoop):

Tools:

Always pass --no-timeout to DumpRenderTree from run-perf-tests.
Otherwise some tests such as Parser/xml-parser.html will timeout.

--no-timeout option is currently supported by Chromium and Mac ports.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.to.create_driver):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumDriver.__init__):
(ChromiumDriver._wrapper_options):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.__init__):
(DriverProxy.__init__):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitDriver.__init__):
(WebKitDriver.cmd_line):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(WebKitDriverTest.test_read_binary_block):
(WebKitDriverTest):
(WebKitDriverTest.test_no_timeout):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(get_tests_run.RecordingTestDriver.__init__):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
(PerfTestsRunner._run_tests_set):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner):

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

12 years agoImplement a new allocator for backing stores
mhahnenberg@apple.com [Thu, 19 Jan 2012 21:49:56 +0000 (21:49 +0000)]
Implement a new allocator for backing stores
https://bugs.webkit.org/show_bug.cgi?id=75181

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

We want to move away from using fastMalloc for the backing stores for
some of our objects (e.g. JSArray, JSObject, JSString, etc).  These backing
stores have a nice property in that they only have a single owner (i.e. a
single pointer to them at any one time).  One way that we can take advantage
of this property is to implement a simple bump allocator/copying collector,
which will run alongside our normal mark/sweep collector, that only needs to
update the single owner pointer rather than having to redirect an arbitrary
number of pointers in from-space to to-space.

This plan can give us a number of benefits. We can beat fastMalloc in terms
of both performance and memory usage, we can track how much memory we're using
far more accurately than our rough estimation now through the use of
reportExtraMemoryCost, and we can allocate arbitrary size objects (as opposed
to being limited to size classes like we have been historically). This is also
another step toward moving away from lazy destruction, which will improve our memory footprint.

We start by creating said allocator and moving the ArrayStorage for JSArray
to use it rather than fastMalloc.

The design of the collector is as follows:
Allocation:
-The collector allocates 64KB chunks from the OS to use for object allocation.
-Each chunk contains an offset, a flag indicating if the block has been pinned,
 and a payload, along with next and prev pointers so that they can be put in DoublyLinkedLists.
-Any allocation greater than 64KB gets its own separate oversize block, which
 is managed separately from the rest.
-If the allocator receives a request for more than the remaining amount in the
 current block, it grabs a fresh block.
-Grabbing a fresh block means grabbing one off of the global free list (which is now
 shared between the mark/sweep allocator and the bump allocator) if there is one.
 If there isn't a new one we do one of two things: allocate a new block from the OS
 if we're not ready for a GC yet, or run a GC and then try again. If we still don't
 have enough space after the GC, we allocate a new block from the OS.

Garbage collection:
-At the start of garbage collection during conservative stack scanning, if we encounter
 what appears to be a pointer to a bump-allocated block of memory, we pin that block so
 that it will not be copied for this round of collection.
-We also pin any oversize blocks that we encounter, which effectively doubles as a
 "mark bit" for that block. Any oversize blocks that aren't pinned at the end of copying
 are given back to the OS.
-Marking threads are now also responsible for copying bump-allocated objects to newSpace
-Each marking thread has a private 64KB block into which it copies bump-allocated objects that it encounters.
-When that block fills up, the marking thread gives it back to the allocator and requests a new one.
-When all marking has concluded, each thread gives back its copy block, even if it isn't full.
-At the conclusion of copying (which is done by the end of the marking phase), we un-pin
 any pinned blocks and give any blocks left in from-space to the global free list.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* heap/AllocationSpace.cpp:
(JSC::AllocationSpace::allocateSlowCase):
(JSC::AllocationSpace::allocateBlock):
(JSC::AllocationSpace::freeBlocks):
* heap/AllocationSpace.h:
(JSC::AllocationSpace::waterMark):
* heap/BumpBlock.h: Added.
(JSC::BumpBlock::BumpBlock):
* heap/BumpSpace.cpp: Added.
(JSC::BumpSpace::tryAllocateSlowCase):
* heap/BumpSpace.h: Added.
(JSC::BumpSpace::isInCopyPhase):
(JSC::BumpSpace::totalMemoryAllocated):
(JSC::BumpSpace::totalMemoryUtilized):
* heap/BumpSpaceInlineMethods.h: Added.
(JSC::BumpSpace::BumpSpace):
(JSC::BumpSpace::init):
(JSC::BumpSpace::contains):
(JSC::BumpSpace::pin):
(JSC::BumpSpace::startedCopying):
(JSC::BumpSpace::doneCopying):
(JSC::BumpSpace::doneFillingBlock):
(JSC::BumpSpace::recycleBlock):
(JSC::BumpSpace::getFreshBlock):
(JSC::BumpSpace::borrowBlock):
(JSC::BumpSpace::addNewBlock):
(JSC::BumpSpace::allocateNewBlock):
(JSC::BumpSpace::fitsInBlock):
(JSC::BumpSpace::fitsInCurrentBlock):
(JSC::BumpSpace::tryAllocate):
(JSC::BumpSpace::tryAllocateOversize):
(JSC::BumpSpace::allocateFromBlock):
(JSC::BumpSpace::tryReallocate):
(JSC::BumpSpace::tryReallocateOversize):
(JSC::BumpSpace::isOversize):
(JSC::BumpSpace::isPinned):
(JSC::BumpSpace::oversizeBlockFor):
(JSC::BumpSpace::blockFor):
* heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::ConservativeRoots):
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::add):
* heap/ConservativeRoots.h:
* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::blockFreeingThreadMain):
(JSC::Heap::reportExtraMemoryCostSlowCase):
(JSC::Heap::getConservativeRegisterRoots):
(JSC::Heap::markRoots):
(JSC::Heap::collect):
(JSC::Heap::releaseFreeBlocks):
* heap/Heap.h:
(JSC::Heap::waterMark):
(JSC::Heap::highWaterMark):
(JSC::Heap::setHighWaterMark):
(JSC::Heap::tryAllocateStorage):
(JSC::Heap::tryReallocateStorage):
* heap/HeapBlock.h: Added.
(JSC::HeapBlock::HeapBlock):
* heap/MarkStack.cpp:
(JSC::MarkStackThreadSharedData::MarkStackThreadSharedData):
(JSC::SlotVisitor::drain):
(JSC::SlotVisitor::drainFromShared):
(JSC::SlotVisitor::startCopying):
(JSC::SlotVisitor::allocateNewSpace):
(JSC::SlotVisitor::copy):
(JSC::SlotVisitor::copyAndAppend):
(JSC::SlotVisitor::doneCopying):
* heap/MarkStack.h:
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::recycle):
(JSC::MarkedBlock::MarkedBlock):
* heap/MarkedBlock.h:
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
* heap/MarkedSpace.h:
(JSC::MarkedSpace::allocate):
(JSC::MarkedSpace::forEachBlock):
(JSC::MarkedSpace::SizeClass::resetAllocator):
* heap/SlotVisitor.h:
(JSC::SlotVisitor::SlotVisitor):
* heap/TinyBloomFilter.h:
(JSC::TinyBloomFilter::reset):
* runtime/JSArray.cpp:
(JSC::JSArray::JSArray):
(JSC::JSArray::finishCreation):
(JSC::JSArray::tryFinishCreationUninitialized):
(JSC::JSArray::~JSArray):
(JSC::JSArray::enterSparseMode):
(JSC::JSArray::defineOwnNumericProperty):
(JSC::JSArray::setLengthWritable):
(JSC::JSArray::getOwnPropertySlotByIndex):
(JSC::JSArray::getOwnPropertyDescriptor):
(JSC::JSArray::putByIndexBeyondVectorLength):
(JSC::JSArray::deletePropertyByIndex):
(JSC::JSArray::getOwnPropertyNames):
(JSC::JSArray::increaseVectorLength):
(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::unshiftCount):
(JSC::JSArray::visitChildren):
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):
(JSC::JSArray::subclassData):
(JSC::JSArray::setSubclassData):
(JSC::JSArray::checkConsistency):
* runtime/JSArray.h:
(JSC::JSArray::inSparseMode):
(JSC::JSArray::isLengthWritable):
* wtf/CheckedBoolean.h: Added.
(CheckedBoolean::CheckedBoolean):
(CheckedBoolean::~CheckedBoolean):
(CheckedBoolean::operator bool):
* wtf/DoublyLinkedList.h:
(WTF::::push):
* wtf/StdLibExtras.h:
(WTF::isPointerAligned):

Source/JavaScriptGlue:

Added forwarding header for new CheckedBoolean used in the bump allocator.

* ForwardingHeaders/wtf/CheckedBoolean.h: Added.

Source/WebCore:

No new tests.

Added forwarding header for new CheckedBoolean used in the bump allocator.

* ForwardingHeaders/wtf/CheckedBoolean.h: Added.

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

12 years agoCrash in CompositeEditCommand::ensureComposition
rniwa@webkit.org [Thu, 19 Jan 2012 21:41:08 +0000 (21:41 +0000)]
Crash in CompositeEditCommand::ensureComposition
https://bugs.webkit.org/show_bug.cgi?id=76207

Reviewed by Chang Shu.

Source/WebCore:

The crash was caused by TypingCommand not kept alive when new editing commands are executed
during adding more typings to the open last typing command since m_lastEditCommand is replaced
by the new command. Fixed the bug by keeping them alive a little longer with RefPtr.

Test: editing/execCommand/editing-command-while-executing-typing-command-crash.html

* editing/FrameSelection.cpp:
(WebCore::shouldStopBlinkingDueToTypingCommand):
(WebCore::FrameSelection::updateAppearance):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteSelection):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::insertText):
(WebCore::TypingCommand::insertLineBreak):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
(WebCore::TypingCommand::insertParagraphSeparator):
(WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
(WebCore::TypingCommand::closeTyping):
* editing/TypingCommand.h:

LayoutTests:

Add a regression test.

* editing/execCommand/editing-command-while-executing-typing-command-crash-expected.txt: Added.
* editing/execCommand/editing-command-while-executing-typing-command-crash.html: Added.

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

12 years agoUnreviewed debug build fix.
kling@webkit.org [Thu, 19 Jan 2012 21:16:46 +0000 (21:16 +0000)]
Unreviewed debug build fix.

Remove ASSERT that the cached match is cacheable (we don't store that flag anymore.)

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):

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

12 years agoNeed a WebKit2 API for setting media volume https://bugs.webkit.org/show_bug.cgi...
adachan@apple.com [Thu, 19 Jan 2012 20:55:19 +0000 (20:55 +0000)]
Need a WebKit2 API for setting media volume https://bugs.webkit.org/show_bug.cgi?id=76560

Reviewed by Dan Bernstein.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode): Encode the mediaVolume parameter.
(WebKit::WebPageCreationParameters::decode): Decode the mediaVolume parameter.
* Shared/WebPageCreationParameters.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetMediaVolume): Call WebPageProxy::setMediaVolume().
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Initialize new data member m_mediaVolume.
(WebKit::WebPageProxy::setMediaVolume): Bail if the volume hasn't changed. Update m_mediaVolume
and bail if the page is no longer valid.  Otherwise, send a WebPage::SetMediaVolume message to
the web process.
(WebKit::WebPageProxy::creationParameters): Add media volume to the creation parameters.
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Initialize media volume from the WebPageCreationParameters.
(WebKit::WebPage::setMediaVolume): Call Page::setMediaVolume().
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Add the SetMediaVolume message.

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

12 years agoFix Debug build after r105433
robert@webkit.org [Thu, 19 Jan 2012 20:52:32 +0000 (20:52 +0000)]
Fix Debug build after r105433

Unreviewed, build fix.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::recalcCollapsedBorders):

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

12 years agoAdd support for window.print to chromium DRT
benwells@chromium.org [Thu, 19 Jan 2012 20:47:22 +0000 (20:47 +0000)]
Add support for window.print to chromium DRT
https://bugs.webkit.org/show_bug.cgi?id=76479

When used in a test window.print goes into print mode and then
straight out again. This will allow the afterprint event to be
tested by having the afterprint event happen before the dump
happens.

Reviewed by Mihai Parparita.

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::printPage):
* DumpRenderTree/chromium/WebViewHost.h:

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

12 years agoUnreviewed, Roll DEPS to most recent LKGR (118291).
dpranke@chromium.org [Thu, 19 Jan 2012 20:35:35 +0000 (20:35 +0000)]
Unreviewed, Roll DEPS to most recent LKGR (118291).

* DEPS:

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

12 years agoCSSStyleSelector: Factor 'isCacheable' flag out of MatchedResult.
kling@webkit.org [Thu, 19 Jan 2012 20:32:21 +0000 (20:32 +0000)]
CSSStyleSelector: Factor 'isCacheable' flag out of MatchedResult.
<http://webkit.org/b/76376>

Reviewed by Antti Koivisto.

Break up the MatchResult struct into MatchResult and MatchRanges. The matched
declaration cache only needs the ranges, so we save 4 bytes per entry.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):
(WebCore::CSSStyleSelector::matchUARules):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
(WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
(WebCore::CSSStyleSelector::applyMatchedDeclarations):
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::MatchRanges::MatchRanges):
(WebCore::CSSStyleSelector::MatchResult::MatchResult):

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=75192
eric.carlson@apple.com [Thu, 19 Jan 2012 20:28:55 +0000 (20:28 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=75192

Reviewed by Darin Adler.

Notify the media element when tracks are added to and removed from a document instead of
a tree because we don't want to trigger loading unless a track element is in the document.

Test: media/track/track-delete-during-setup.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::trackWasRemoved): Renamed from trackWillBeRemoved because it is
    now called after removal.
* html/HTMLMediaElement.h:

* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::insertedIntoDocument): Was insertedIntoTree. Use this instead
    because we care about when a track is inserted and removed from a document, not a tree.
(WebCore::HTMLTrackElement::removedFromDocument): Ditto.
* html/HTMLTrackElement.h:

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

12 years agoHit ASSERTION FAILED: table()->collapseBorders() on techcrunch.com
robert@webkit.org [Thu, 19 Jan 2012 20:27:08 +0000 (20:27 +0000)]
Hit ASSERTION FAILED: table()->collapseBorders() on techcrunch.com
https://bugs.webkit.org/show_bug.cgi?id=76405

Reviewed by Julien Chaffraix.

Source/WebCore:

Tests: fast/css/nested-table-with-collapsed-borders.html

Change recalcCollapsedBorders() so that it only collects border values for the current
table. Calculating the borders for nested tables was wrong as well as wasting cycles, though it would never
have impacted rendering since a cell only paints the borders that match its own.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::recalcCollapsedBorders):

LayoutTests:

* fast/css/nested-table-with-collapsed-borders-expected.html: Added.
* fast/css/nested-table-with-collapsed-borders.html: Added.

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

12 years agoUpdate Debugging on Mac OS X instructions for Safari 5.1/WebKit 2
dbates@webkit.org [Thu, 19 Jan 2012 20:03:45 +0000 (20:03 +0000)]
Update Debugging on Mac OS X instructions for Safari 5.1/WebKit 2
https://bugs.webkit.org/show_bug.cgi?id=67102

Reviewed by Eric Seidel.

Add instructions for debugging UIProcess and WebProcess using Xcode 4.

* building/active-scheme-xcode4.png: Added.
* building/build-settings-tab-xcode4.png: Added.
* building/build-window.png: Removed.
* building/custom-executable-xcode4.png: Added.
* building/custom-executable.png: Removed.
* building/debug-mac-uiprocess.html: Added.
* building/debug.html:
* building/debug.png: Removed.
* building/info-tab.png: Removed.
* building/run-xcode4.png: Added.

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

12 years agoMake WebAudio API const-correct.
jer.noble@apple.com [Thu, 19 Jan 2012 20:01:09 +0000 (20:01 +0000)]
Make WebAudio API const-correct.
https://bugs.webkit.org/show_bug.cgi?id=76573

Reviewed by Daniel Bates.

Source/WebCore:

No new tests; no net change in functionality, so covered by existing tests.

The non-const data() accessor was renamed mutableData() to expose const-correctness
bugs during compile time:
* platform/audio/AudioChannel.h:
(WebCore::AudioChannel::mutableData):

The following functions were made const correct:
* platform/audio/AudioArray.h:
(WebCore::AudioArray::copyToRange):
* platform/audio/AudioBus.h:
(WebCore::AudioBus::createBufferFromRange):
(WebCore::AudioBus::createBySampleRateConverting):
(WebCore::AudioBus::createByMixingToMono):
* platform/audio/FFTConvolver.cpp:
(WebCore::FFTConvolver::process):
* platform/audio/FFTConvolver.h:
* platform/audio/FFTFrame.cpp:
(WebCore::FFTFrame::doPaddedFFT):
(WebCore::FFTFrame::doFFT):
* platform/audio/FFTFrame.h:
* platform/audio/ReverbConvolverStage.cpp:
(WebCore::ReverbConvolverStage::ReverbConvolverStage):
(WebCore::ReverbConvolverStage::process):
* platform/audio/ReverbConvolverStage.h:
* platform/audio/ReverbInputBuffer.cpp:
(WebCore::ReverbInputBuffer::write):
* platform/audio/ReverbInputBuffer.h:
* platform/audio/SincResampler.cpp:
(WebCore::SincResampler::process):
* platform/audio/SincResampler.h:
* platform/audio/ZeroPole.cpp:
(WebCore::ZeroPole::process):
* platform/audio/ZeroPole.h:
* platform/audio/AudioBus.cpp:
(WebCore::AudioBus::channelByType):
* platform/audio/AudioBus.h:
(WebCore::AudioBus::gain):
* platform/audio/AudioDSPKernelProcessor.cpp:
(WebCore::AudioDSPKernelProcessor::process):
* platform/audio/AudioDSPKernelProcessor.h:
* platform/audio/AudioProcessor.h:
* platform/audio/DynamicsCompressor.cpp:
(WebCore::DynamicsCompressor::process):
* platform/audio/DynamicsCompressor.h:
* platform/audio/DynamicsCompressorKernel.cpp:
(WebCore::DynamicsCompressorKernel::process):
* platform/audio/DynamicsCompressorKernel.h:
* platform/audio/EqualPowerPanner.cpp:
(WebCore::EqualPowerPanner::pan):
* platform/audio/EqualPowerPanner.h:
* platform/audio/HRTFElevation.h:
(WebCore::HRTFElevation::numberOfAzimuths):
* platform/audio/HRTFPanner.cpp:
(WebCore::HRTFPanner::pan):
* platform/audio/HRTFPanner.h:
* platform/audio/Panner.h:
* platform/audio/Reverb.cpp:
(WebCore::Reverb::process):
* platform/audio/Reverb.h:
* platform/audio/ReverbConvolver.cpp:
(WebCore::ReverbConvolver::process):
* platform/audio/ReverbConvolver.h:
* platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:
(WebCore::FFTFrame::doFFT):
* platform/audio/mkl/FFTFrameMKL.cpp:
(WebCore::FFTFrame::doFFT):

The following functions were modified to use the renamed mutableData() accessor:
* platform/audio/AudioBus.cpp:
(WebCore::AudioBus::processWithGainFromMonoStereo):
(WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
* platform/audio/AudioChannel.cpp:
(WebCore::AudioChannel::scale):
(WebCore::AudioChannel::copyFrom):
(WebCore::AudioChannel::copyFromRange):
(WebCore::AudioChannel::sumFrom):
* platform/audio/AudioDSPKernelProcessor.cpp:
(WebCore::AudioDSPKernelProcessor::process):
* platform/audio/AudioResampler.cpp:
(WebCore::AudioResampler::process):
* platform/audio/DynamicsCompressor.cpp:
(WebCore::DynamicsCompressor::process):
* platform/audio/EqualPowerPanner.cpp:
(WebCore::EqualPowerPanner::pan):
* platform/audio/HRTFKernel.cpp:
(WebCore::extractAverageGroupDelay):
(WebCore::HRTFKernel::HRTFKernel):
(WebCore::HRTFKernel::createImpulseResponse):
* platform/audio/HRTFPanner.cpp:
(WebCore::HRTFPanner::pan):
* platform/audio/MultiChannelResampler.cpp:
(WebCore::MultiChannelResampler::process):
* platform/audio/Reverb.cpp:
(WebCore::Reverb::process):
* platform/audio/ReverbConvolver.cpp:
(WebCore::ReverbConvolver::ReverbConvolver):
(WebCore::ReverbConvolver::process):
* platform/audio/mac/AudioFileReaderMac.cpp:
(WebCore::AudioFileReader::createBus):
* platform/audio/mac/FFTFrameMac.cpp:
(WebCore::FFTFrame::doFFT):
* webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::process):
(WebCore::AudioBufferSourceNode::renderFromBuffer):
* webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::process):
* webaudio/JavaScriptAudioNode.cpp:
(WebCore::JavaScriptAudioNode::process):
* webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::render):
* webaudio/RealtimeAnalyser.cpp:
(WebCore::RealtimeAnalyser::writeInput):
* webaudio/WaveShaperProcessor.cpp:
(WebCore::WaveShaperProcessor::process):

Source/WebKit/chromium:

The following functions were modified to use the renamed mutableData() accessor:
* src/AudioDestinationChromium.cpp:
(WebCore::AudioDestinationChromium::FIFO::fillBuffer):
(WebCore::AudioDestinationChromium::FIFO::consume):
* src/WebAudioData.cpp:
(WebCore::WebAudioBus::channelData):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::AudioSourceProviderImpl::provideInput):

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

12 years agoUnreviewed, inspector closure compilation fix.
vsevik@chromium.org [Thu, 19 Jan 2012 19:15:58 +0000 (19:15 +0000)]
Unreviewed, inspector closure compilation fix.

* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/TabbedEditorContainer.js:

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=76644
hyatt@apple.com [Thu, 19 Jan 2012 19:13:47 +0000 (19:13 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=76644

Before landing support for centering, fix the keyword value to match the latest draft.
The new keyword is "contain" instead of "bounds."

Revised the existing parsing tests to reflect the updated value.

Reviewed by Dan Bernstein.

Source/WebCore:

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LineGridSnap):
* css/CSSValueKeywords.in:
* rendering/style/RenderStyleConstants.h:

LayoutTests:

* fast/line-grid/line-grid-snap-parsing-expected.txt:
* fast/line-grid/script-tests/line-grid-snap-parsing.js:

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

12 years agoEnable use of precompiled headers in Chromium port on Windows.
tony@chromium.org [Thu, 19 Jan 2012 19:00:36 +0000 (19:00 +0000)]
Enable use of precompiled headers in Chromium port on Windows.

Bug 76381 - Use precompiled headers in Chromium port on Windows
https://bugs.webkit.org/show_bug.cgi?id=76381

Patch by Joi Sigurdsson <joi@chromium.org> on 2012-01-19
Reviewed by Tony Chang.

Source/JavaScriptCore:

* JavaScriptCore.gyp/JavaScriptCore.gyp: Include WinPrecompile.gypi.

Source/Platform:

* Platform.gyp/Platform.gyp: Include WinPrecompile.gypi.

Source/WebCore:

No new tests needed; if the change builds and existing tests pass
that should provide enough coverage.

* WebCore.gyp/WebCore.gyp: Include WinPrecompile.gypi.

Source/WebKit/chromium:

* WebKit.gyp: Include WinPrecompile.gypi.
* WinPrecompile.cpp: Added.
* WinPrecompile.gypi: Added.
* WinPrecompile.h: Added.

Source/WTF:

* WTF.gyp/WTF.gyp: Include WinPrecompile.gypi.

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

12 years agoWeb Inspector: Switching tabs in TabbedEditorContainer should reveal selected script...
vsevik@chromium.org [Thu, 19 Jan 2012 18:57:00 +0000 (18:57 +0000)]
Web Inspector: Switching tabs in TabbedEditorContainer should reveal selected script in navigator.
https://bugs.webkit.org/show_bug.cgi?id=76636

Reviewed by Pavel Feldman.

Renamed FileSelector's ScriptSelected event into FileSelected, added EditorSelected
event to EditorContainer.
Renamed _showSourceFrame into _showFile.
Made _uiSourceCodeRemoved reuse _removeSourceFrame.

* inspector/front-end/ScriptsNavigator.js:
(WebInspector.ScriptsNavigator.prototype.scriptSelected):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
(WebInspector.ScriptsPanel.prototype._showAndRevealInFileSelector):
(WebInspector.ScriptsPanel.prototype._editorSelected):
(WebInspector.ScriptsPanel.prototype._fileSelected):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
* inspector/front-end/TabbedEditorContainer.js:
(WebInspector.TabbedEditorContainer):
(WebInspector.TabbedEditorContainer.prototype._tabSelected):

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

12 years ago[CSSRegions]Add support for background-color in region styling
mihnea@adobe.com [Thu, 19 Jan 2012 18:55:20 +0000 (18:55 +0000)]
[CSSRegions]Add support for background-color in region styling
https://bugs.webkit.org/show_bug.cgi?id=71488

Reviewed by David Hyatt.

Source/WebCore:

This patch enables region styling again. The region styling tests were also added back.
With the improvements from https://bugs.webkit.org/show_bug.cgi?id=76265, hopefully we will not see the same 3% regressions
in performance.

* rendering/RenderObject.h:
(WebCore::RenderObject::style):

LayoutTests:

Add back the region styling tests.

* platform/mac-snowleopard/Skipped:

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

12 years agoCrash at WebCore::MediaControlRootElement::makeOpaque + 97
jer.noble@apple.com [Thu, 19 Jan 2012 18:53:11 +0000 (18:53 +0000)]
Crash at WebCore::MediaControlRootElement::makeOpaque + 97
https://bugs.webkit.org/show_bug.cgi?id=76391

Reviewed by John Sullivan.

No new tests; Speculative fix for crash.

Crash report data suggests this crash is occurring as the document is being
closed.  Check the nullity of document()->page() before deref-ing.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::makeOpaque):

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

12 years agoRubber-stamped by Martin Robinson.
kov@webkit.org [Thu, 19 Jan 2012 18:36:09 +0000 (18:36 +0000)]
Rubber-stamped by Martin Robinson.

* Source/autotools/symbols.filter: try to fix the 32 bits release
bot by also adding the symbol it generates

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

12 years agoLayout Test fast/text/international/spaces-combined-in-vertical-text.html is failing
commit-queue@webkit.org [Thu, 19 Jan 2012 18:05:33 +0000 (18:05 +0000)]
Layout Test fast/text/international/spaces-combined-in-vertical-text.html is failing
https://bugs.webkit.org/show_bug.cgi?id=75787

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-01-19
Reviewed by Simon Fraser.

This is a tweak to my patch in r104322. On some platforms
RenderCombineText::combineText() can abort early during inline
iteration, causing this loop in skipLeadingWhitespace to spin,
hence the layout test timeouts. This patch accounts for that
condition and makes the loop iteration more robust.

No new test because this is fixing a failure on an existing test.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

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

12 years agoHRTFPanner not rendering correctly on mac port
jer.noble@apple.com [Thu, 19 Jan 2012 17:52:38 +0000 (17:52 +0000)]
HRTFPanner not rendering correctly on mac port
https://bugs.webkit.org/show_bug.cgi?id=76397

Reviewed by Eric Carlson.

No new tests; HRTF results are currently not testable.

Re-generate the Composite.wav file from its constituent azimuth & elevation files.

* platform/audio/resources/Composite.wav:

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=76577
hyatt@apple.com [Thu, 19 Jan 2012 17:45:03 +0000 (17:45 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=76577

Fix crash when nested line grids are used. Make sure to bail out if no line grid
is found rather than crashing.

Reviewed by Dan Bernstein.

Source/WebCore:

Added fast/line-grid/line-grid-nested.html.

* rendering/LayoutState.cpp:
(WebCore::LayoutState::establishLineGrid):

LayoutTests:

* fast/line-grid/line-grid-nested-expected.txt: Added.
* fast/line-grid/line-grid-nested.html: Added.

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

12 years ago[GTK] WebKit2 GTK+ API public headers are not installed
carlosgc@webkit.org [Thu, 19 Jan 2012 17:40:25 +0000 (17:40 +0000)]
[GTK] WebKit2 GTK+ API public headers are not installed
https://bugs.webkit.org/show_bug.cgi?id=76626

Reviewed by Martin Robinson.

* GNUmakefile.am: Rename webkit2gtk_headers as
libwebkit2gtkinclude_HEADERS to match libwebkit2gtkincludedir so
that headers are installed during make install.

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