mjs@apple.com [Wed, 20 Apr 2011 07:39:36 +0000 (07:39 +0000)]
2011-04-19 Maciej Stachowiak <mjs@apple.com>
Reviewed by Antti Koivisto.
Reproducible crash two-finger zooming at multiple sites in WebCore::RenderLayer::isTransparent
https://bugs.webkit.org/show_bug.cgi?id=58868
I could not figure out how to make a test.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer): Check for existence of a
parent before calling a method on it.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Wed, 20 Apr 2011 07:18:56 +0000 (07:18 +0000)]
2011-04-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Daniel Bates.
[EFL] Add current time to media control panel.
https://bugs.webkit.org/show_bug.cgi?id=58866
Implement paintMediaCurrentTime() to show playing time of media content.
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::RenderThemeEfl):
(WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
(WebCore::RenderThemeEfl::paintMediaCurrentTime):
* platform/efl/RenderThemeEfl.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84348
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 20 Apr 2011 06:24:15 +0000 (06:24 +0000)]
2011-04-19 Dirk Pranke <dpranke@chromium.org>
Unreviewed, expectations change.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jshin@chromium.org [Wed, 20 Apr 2011 06:02:30 +0000 (06:02 +0000)]
2011-04-19 Jungshik Shin <jshin@chromium.org>
Reviewed by Adam Barth
Update the list of Unicode blocks to treat as complex scripts
per Unicode 6.0. Also, make [U+02E5..U+02E9] (IPA tone marks)
go through the complex script code path.
Test: fast/text/ipa-tone-letters.html
http://bugs.webkit.org/show_bug.cgi?id=39799
* platform/graphics/Font.cpp:
(WebCore::Font::codePath):
2011-04-19 Jungshik Shin <jshin@chromium.org>
Reviewed by Adam Barth
Add a test to test sequences of IPA tone letters are
ligated regardless of text-rendering mode (fast codepath or not).
The test explicitly specifies Arial because it's one of a few fonts
to have layout table entries to support the ligation of IPA tone
letters.
http://bugs.webkit.org/show_bug.cgi?id=39799
* fast/text/ipa-tone-letters.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 20 Apr 2011 06:01:31 +0000 (06:01 +0000)]
2011-04-19 Dirk Pranke <dpranke@chromium.org>
Unreviewed, expectations change.
Add chromium suppressions resulting from r84341 - 84344.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Wed, 20 Apr 2011 05:45:59 +0000 (05:45 +0000)]
Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926
Reviewed by Simon Fraser.
Move the assert from Image::drawPattern() to Image::drawTiled() so we don't hit it when
trying to paint GeneratedImages.
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
* platform/graphics/cg/ImageCG.cpp:
(WebCore::Image::drawPattern):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 20 Apr 2011 05:32:56 +0000 (05:32 +0000)]
2011-04-19 Simon Fraser <simon.fraser@apple.com>
Fix 32-bit builds.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::determineBackgroundBleedAvoidance):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 20 Apr 2011 05:16:35 +0000 (05:16 +0000)]
2011-04-19 Naoki Takano <takano.naoki@gmail.com>
Reviewed by Kent Tamura.
[Chromium]UI polishes and tweaks to Autofill dropdown menu.
https://bugs.webkit.org/show_bug.cgi?id=58505
http://code.google.com/p/chromium/issues/detail?id=51077
No new tests. Because this is autofill looking problem in Chromium.
Add m_menuType as PopupMenuStyle to change popup style change.
Put kLinePaddingHeight at the top and bottom of each line if m_menuType is AutofillPopup.
Change separator color to #dcdcdc and remove sparatorPadding at the edge if m_menuType is AutofillPopup.
Change the line height of separator as only the piece if m_menuType is AutofillPopup.
Change the label font size 0.9 time smaller than regular font size if m_menuType is AutofillPopup.
* platform/PopupMenuStyle.h: Add enum PopupMenuType;
(WebCore::PopupMenuStyle::PopupMenuStyle): Add m_menuType.
(WebCore::PopupMenuStyle::menuType): Add to change the style according to the return value.
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::paintRow):Change the separator color to #dcdcdc.
Change the edge padding according to menuStyle().
(WebCore::PopupListBox::getRowHeight): Add kLineHeightMargin*2 for each line height.
2011-04-19 Naoki Takano <takano.naoki@gmail.com>
Reviewed by Kent Tamura.
[Chromium]UI polishes and tweaks to Autofill dropdown menu.
https://bugs.webkit.org/show_bug.cgi?id=58505
* src/AutoFillPopupMenuClient.cpp:
(WebKit::AutoFillPopupMenuClient::initialize): Set AutofillPopup for menuStyle.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 20 Apr 2011 05:13:32 +0000 (05:13 +0000)]
2011-04-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
background color of elements with border-radius shows around outer edge of border at corners
https://bugs.webkit.org/show_bug.cgi?id=21819
When drawing a background followed by a border with the same rounded
clip, some border color leaks out because of antialiasing.
Fix this by using two different strategies depending on the colors.
If the border is opaque on all sides, we can inset the background by
a device pixel. If not, then we have to draw the unclipped background
and border into a transparency layer, and then clip that.
A futher possible solution is mentioned in a comment in
determineBackgroundBleedAvoidance() but not yet implemented.
Also don't try to paint shadows with zero offset, spread and blur.
Test: fast/backgrounds/background-leakage.html,
fast/backgrounds/background-leakage-transforms.html
* rendering/RenderBoxModelObject.h:
Add a BackgroundBleedAvoidance enum with a value for each
strategy.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
Pass BackgroundBleedAvoidance, bail early if the border rect is empty.
If using the transparency layer solution, don't bother to clip
to the rounded rect for the background. If the strategy is to
shrink the background, do that.
(WebCore::BorderEdge::BorderEdge):
(WebCore::BorderEdge::obscuresBackgroundEdge):
Helper method to determine if this border side will totally
obscured by the border edge, allowing us to inset it.
(WebCore::RenderBoxModelObject::paintOneBorderSide):
Pass BackgroundBleedAvoidance through.
(WebCore::RenderBoxModelObject::paintBorderSides):
Ditto.
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
Ditto.
(WebCore::RenderBoxModelObject::paintBorder):
Fill BorderEdges using getBorderEdgeInfo now.
Don't clip to the rounded border if we are using the
transparency layer solution.
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
Pass bleedAvoidance through, and use it for double borders.
(WebCore::RenderBoxModelObject::getBorderEdgeInfo):
Helper to fill in the BorderEdge array.
(WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
Used to determine if we can use the background shrinkage solution.
(WebCore::RenderBoxModelObject::paintBoxShadow):
Don't paint shadows that should not be visible.
* rendering/RenderBox.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintRootBoxFillLayers):
Pass BackgroundBleedNone for the root box.
(WebCore::RenderBox::determineBackgroundBleedAvoidance):
Determine which bleed strategy we can use.
(WebCore::RenderBox::paintBoxDecorationsWithSize):
Based on the bleedAvoidance, make a transparency layer
which will be clipped to the rounded border outside edge,
and pass bleedAvoidance to the background and border-painting
methods.
(WebCore::RenderBox::paintMaskImages):
Use BackgroundBleedNone.
(WebCore::RenderBox::paintFillLayers):
(WebCore::RenderBox::paintFillLayer):
Pass bleedAvoidance through.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintFillLayer):
(WebCore::InlineFlowBox::paintBoxDecorations):
Pass BackgroundBleedNone. At some point we may want to do the right
thing for split inlines.
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintBackgroundsBehindCell):
Pass BackgroundBleedNone.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yutak@chromium.org [Wed, 20 Apr 2011 04:51:11 +0000 (04:51 +0000)]
2011-04-19 Yuta Kitamura <yutak@chromium.org>
Reviewed by Alexey Proskuryakov.
WebSocket: Add assertion for SocketStreamError::failingURL.
https://bugs.webkit.org/show_bug.cgi?id=58765
No new tests, because an existing test http/tests/inspector/console-websocket-error.html should cover this.
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::didFail): If error.failingURL() is provided, it must be the same as
m_handshake.url(). failingURL may be null if SocketStreamHandle has created a SocketStreamError
using zero- or one-argument constructor (which is old version but some ports are still using it).
In that case, m_handshake.url() is passed to addMessage().
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 20 Apr 2011 04:33:18 +0000 (04:33 +0000)]
2011-04-19 Dirk Pranke <dpranke@chromium.org>
Unreviewed, expectations change.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 20 Apr 2011 04:15:19 +0000 (04:15 +0000)]
2011-04-19 Dirk Pranke <dpranke@chromium.org>
Unreviewed, expectations change.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 20 Apr 2011 04:11:15 +0000 (04:11 +0000)]
2011-04-19 Dirk Pranke <dpranke@chromium.org>
Unreviewed, expectations change.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 20 Apr 2011 04:04:16 +0000 (04:04 +0000)]
2011-04-19 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dimitri Glazkov.
Media controls status display should not be hidden for live streams
https://bugs.webkit.org/show_bug.cgi?id=58952
Tested manually because we don't have any live streams to test in DRT.
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlStatusDisplayElement::update): Set the status to "Loading" only until
there is something to display (readyState exceeds HAVE_METADATA).
* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::loadedMetadata): Don't hide the status display for
live streams.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dimich@chromium.org [Wed, 20 Apr 2011 03:35:19 +0000 (03:35 +0000)]
2011-04-19 Dmitry Titov <dimich@chromium.org>
Reviewed by David Levin.
new-run-webkit-tests: remove formerly flakey tests form test_expectations.
https://bugs.webkit.org/show_bug.cgi?id=57678
Tests fixed by http://trac.webkit.org/changeset/83900
* platform/mac/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84335
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yi.4.shen@nokia.com [Wed, 20 Apr 2011 03:21:09 +0000 (03:21 +0000)]
2011-04-19 Yi Shen <yi.4.shen@nokia.com>
Reviewed by Andreas Kling.
[Qt][Symbian] Fix Api test failure -- tst_QWebView::setPalette()
https://bugs.webkit.org/show_bug.cgi?id=57254
Skip test for setPalette() which doesn't work
when WTF_USE_QT_MOBILE_THEME is defined.
* tests/qgraphicswebview/tst_qgraphicswebview.cpp:
* tests/qwebview/tst_qwebview.cpp:
* tests/tests.pri:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84334
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Wed, 20 Apr 2011 03:17:20 +0000 (03:17 +0000)]
2011-04-19 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
The commit-queue is confused when non-layout tests fail
https://bugs.webkit.org/show_bug.cgi?id=58955
As seen in http://queues.webkit.org/results/
8474435
It fails to create an archive of the layout test results
and then throws an exception.
I've fixed this by making it catch the exception as well
as made it so it never calls that path in the common case.
I've updated MockFileSystem to understand rmtree's affect on
directories as well as files.
* Scripts/webkitpy/common/system/filesystem_mock.py:
* Scripts/webkitpy/common/system/workspace.py:
* Scripts/webkitpy/tool/commands/queues.py:
* Scripts/webkitpy/tool/commands/queues_unittest.py:
* Scripts/webkitpy/tool/mocktool.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84333
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yi.4.shen@nokia.com [Wed, 20 Apr 2011 02:56:16 +0000 (02:56 +0000)]
2011-04-19 Yi Shen <yi.4.shen@nokia.com>
Reviewed by Laszlo Gombos.
[Qt][Symbian] Fix Api test failure -- tst_QGraphicsWebView::widgetsRenderingThroughCache
https://bugs.webkit.org/show_bug.cgi?id=58044
Fixing this test by disabling the scrollbars on the graphics view
since QtWebKit handles scrolling and scrollbar automatically and correctly.
* tests/qgraphicswebview/tst_qgraphicswebview.cpp:
(tst_QGraphicsWebView::widgetsRenderingThroughCache):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 20 Apr 2011 02:31:17 +0000 (02:31 +0000)]
2011-04-19 Dirk Pranke <dpranke@chromium.org>
Unreviewed, expectations change.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 20 Apr 2011 02:21:47 +0000 (02:21 +0000)]
2011-04-19 Dirk Pranke <dpranke@chromium.org>
Unreviewed, attempting build fix.
Disable leveldb to work around
http://code.google.com/p/leveldb/issues/detail?id=1.
* features.gypi:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 20 Apr 2011 02:13:22 +0000 (02:13 +0000)]
2011-04-19 Julien Chaffraix <jchaffraix@codeaurora.org>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=45425
HTMLLinkElement.disabled does not forward value to the Stylesheet's disabled attribute on setting
Test case by Bijan Amirzada <bijana@codeaurora.org>.
* fast/dom/HTMLLinkElement/disabled-attribute-expected.txt: Added.
* fast/dom/HTMLLinkElement/disabled-attribute.html: Added.
Test that the properties are properly forwarded to the stylesheet.
* fast/dom/boolean-attribute-reflection-expected.txt:
* fast/dom/script-tests/boolean-attribute-reflection.js: Removed link:disabled as it is
not reflected anymore.
2011-04-19 Julien Chaffraix <jchaffraix@codeaurora.org>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=45425
HTMLLinkElement.disabled does not forward value to the Stylesheet's disabled attribute on setting
Test: fast/html/htmllink-disable.html
Test: fast/dom/HTMLLinkElement/disabled-attribute.html
Match the HTML5 specification by forwarding the 'disabled' attribute to our stylesheet.
Based on previous work by Bijan Amirzada <bijana@codeaurora.org>.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::disabled): Return our stylesheet's 'disabled' value or
false if we don't have a stylesheet.
(WebCore::HTMLLinkElement::setDisabled): Set our stylesheet's 'disabled' value or
ignore the call if we don't have a stylesheet.
* html/HTMLLinkElement.h:
* html/HTMLLinkElement.idl: Remove 'Reflect' as it is not a reflected attribute anymore in HTML5.
This matches the way FF4, Opera and IE9 handle the attribute.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rolandsteiner@chromium.org [Wed, 20 Apr 2011 02:12:51 +0000 (02:12 +0000)]
2011-04-19 Dominic Cooney <dominicc@chromium.org>
Reviewed by Dimitri Glazkov.
Check the type of the wrapper when unwrapping NPObjects to native
Ranges and Elements
https://bugs.webkit.org/show_bug.cgi?id=58957
* src/WebBindings.cpp:
(WebKit::getRangeImpl): check HasInstance
(WebKit::getElementImpl): check HasInstance
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 20 Apr 2011 01:56:48 +0000 (01:56 +0000)]
2011-04-19 Simon Fraser <simon.fraser@apple.com>
Rebaseline image results with diffs below the default tolerance,
after earlier border drawing changes.
* platform/mac/fast/backgrounds/background-leakage-expected.checksum:
* platform/mac/fast/backgrounds/background-leakage-expected.png:
* platform/mac/fast/backgrounds/border-radius-split-background-expected.checksum:
* platform/mac/fast/backgrounds/border-radius-split-background-expected.png:
* platform/mac/fast/backgrounds/border-radius-split-background-image-expected.checksum:
* platform/mac/fast/backgrounds/border-radius-split-background-image-expected.png:
* platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.checksum:
* platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.png:
* platform/mac/fast/blockflow/border-vertical-lr-expected.checksum:
* platform/mac/fast/blockflow/border-vertical-lr-expected.png:
* platform/mac/fast/blockflow/box-shadow-horizontal-bt-expected.checksum:
* platform/mac/fast/blockflow/box-shadow-horizontal-bt-expected.png:
* platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.checksum:
* platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.png:
* platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.checksum:
* platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.png:
* platform/mac/fast/box-shadow/basic-shadows-expected.checksum:
* platform/mac/fast/box-shadow/basic-shadows-expected.png:
* platform/mac/fast/box-shadow/inset-box-shadows-expected.checksum:
* platform/mac/fast/box-shadow/inset-box-shadows-expected.png:
* platform/mac/fast/box-shadow/inset-expected.checksum:
* platform/mac/fast/box-shadow/inset-expected.png:
* platform/mac/fast/box-shadow/inset-with-extraordinary-radii-and-border-expected.checksum:
* platform/mac/fast/box-shadow/inset-with-extraordinary-radii-and-border-expected.png:
* platform/mac/fast/css/nested-rounded-corners-expected.checksum:
* platform/mac/fast/css/nested-rounded-corners-expected.png:
* platform/mac/fast/forms/001-expected.checksum:
* platform/mac/fast/forms/001-expected.png:
* platform/mac/fast/forms/basic-selects-expected.checksum:
* platform/mac/fast/forms/basic-selects-expected.png:
* platform/mac/fast/forms/menulist-clip-expected.checksum:
* platform/mac/fast/forms/menulist-clip-expected.png:
* platform/mac/fast/forms/menulist-narrow-width-expected.checksum:
* platform/mac/fast/forms/menulist-narrow-width-expected.png:
* platform/mac/fast/forms/menulist-option-wrap-expected.checksum:
* platform/mac/fast/forms/menulist-option-wrap-expected.png:
* platform/mac/fast/forms/menulist-restrict-line-height-expected.checksum:
* platform/mac/fast/forms/menulist-restrict-line-height-expected.png:
* platform/mac/fast/forms/menulist-separator-painting-expected.checksum:
* platform/mac/fast/forms/menulist-separator-painting-expected.png:
* platform/mac/fast/forms/menulist-style-color-expected.checksum:
* platform/mac/fast/forms/menulist-style-color-expected.png:
* platform/mac/fast/forms/select-background-none-expected.checksum:
* platform/mac/fast/forms/select-background-none-expected.png:
* platform/mac/fast/forms/select-baseline-expected.checksum:
* platform/mac/fast/forms/select-baseline-expected.png:
* platform/mac/fast/forms/select-empty-option-height-expected.checksum:
* platform/mac/fast/forms/select-empty-option-height-expected.png:
* platform/mac/fast/forms/select-style-expected.checksum:
* platform/mac/fast/forms/select-style-expected.png:
* platform/mac/fast/forms/validation-message-appearance-expected.checksum:
* platform/mac/fast/forms/validation-message-appearance-expected.png:
* platform/mac/fast/overflow/border-radius-clipping-expected.checksum:
* platform/mac/fast/overflow/border-radius-clipping-expected.png:
* platform/mac/fast/repaint/border-radius-repaint-expected.checksum:
* platform/mac/fast/repaint/border-radius-repaint-expected.png:
* platform/mac/fast/repaint/control-clip-expected.checksum:
* platform/mac/fast/repaint/control-clip-expected.png:
* platform/mac/fast/repaint/selection-after-remove-expected.checksum:
* platform/mac/fast/repaint/selection-after-remove-expected.png:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 20 Apr 2011 01:18:03 +0000 (01:18 +0000)]
2011-04-19 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
Remove calls to deprecatedOffset and deprecatedNode in TypingCommand
https://bugs.webkit.org/show_bug.cgi?id=58569
Removed all calls to deprecatedOffset and deprecatedNode.
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertText):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84326
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
crogers@google.com [Wed, 20 Apr 2011 01:17:08 +0000 (01:17 +0000)]
2011-04-19 Chris Rogers <crogers@google.com>
Unreviewed.
Rebaseline some tests and update test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=58954
* platform/chromium-mac-leopard/fast/overflow/border-radius-clipping-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/overflow/border-radius-clipping-expected.png:
* platform/chromium-mac-leopard/svg/custom/svg-fonts-in-html-expected.checksum: Removed.
* platform/chromium-mac-leopard/svg/custom/svg-fonts-in-html-expected.png: Removed.
* platform/chromium-mac/fast/overflow/border-radius-clipping-expected.png: Added.
* platform/chromium-mac/svg/custom/svg-fonts-in-html-expected.checksum: Removed.
* platform/chromium-mac/svg/custom/svg-fonts-in-html-expected.png:
* platform/chromium-win/fast/text/justification-padding-mid-word-expected.txt:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84325
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Wed, 20 Apr 2011 01:01:44 +0000 (01:01 +0000)]
2011-04-19 James Robinson <jamesr@chromium.org>
[win] New test compositing/iframes/invisible-nested-iframe-show.html fails on windows
https://bugs.webkit.org/show_bug.cgi?id=58951
Add a failing expectation for this test on windows.
* platform/win/compositing/iframes/invisible-nested-iframe-show-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84324
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Wed, 20 Apr 2011 00:51:39 +0000 (00:51 +0000)]
2011-04-19 Adrienne Walker <enne@google.com>
Reviewed by Kenneth Russell.
[chromium] Initialize depth mask to known value before getBooleanv call
https://bugs.webkit.org/show_bug.cgi?id=58948
This trips an assert in the GPU command buffer client code if the
pointed-to value is not initialized to 0 or -1.
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::clearFramebuffer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84323
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 20 Apr 2011 00:50:04 +0000 (00:50 +0000)]
2011-04-19 Simon Fraser <simon.fraser@apple.com>
Add missing results for fast/borders/table-borders.html, and
a new test that shows the background color leaking out through the
border (to facilitate image diffs for an upcoming change).
* fast/backgrounds/background-leakage.html: Added.
* platform/mac/compositing/reflections/backface-hidden-reflection-expected.txt: Added.
* platform/mac/fast/backgrounds/background-leakage-expected.checksum: Added.
* platform/mac/fast/backgrounds/background-leakage-expected.png: Added.
* platform/mac/fast/backgrounds/background-leakage-expected.txt: Added.
* platform/mac/fast/borders/table-borders-expected.checksum: Added.
* platform/mac/fast/borders/table-borders-expected.png: Added.
* platform/mac/fast/borders/table-borders-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84322
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Wed, 20 Apr 2011 00:35:58 +0000 (00:35 +0000)]
BitmapImage::destroyMetadataAndNotify should clear m_checkedForSolidColor
https://bugs.webkit.org/show_bug.cgi?id=58926
Reviewed by Simon Fraser.
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyMetadataAndNotify): Set m_checkedForSolidColor to false.
* platform/graphics/BitmapImage.h:
(WebCore::BitmapImage::assertNotSolidColor):
* platform/graphics/cg/ImageCG.cpp:
(WebCore::Image::drawPattern): Add assert to make sure this is not called for a 1x1 image.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84321
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 20 Apr 2011 00:23:51 +0000 (00:23 +0000)]
2011-04-19 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Ojan Vafai.
REGRESSION(r83967): Crash in selectionExtentRespectingEditingBoundary
https://bugs.webkit.org/show_bug.cgi?id=58910
The crash was caused by selectionExtentRespectingEditingBoundary's incorrectly assuming that
targetNode always have renderer when there selection has an editable root and the target node
is outside of the editable root.
Fixed the bug by adding an early exit when the target node is null.
No new tests are added since we don't have a reduction for this crash.
* page/EventHandler.cpp:
(WebCore::selectionExtentRespectingEditingBoundary):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84320
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Wed, 20 Apr 2011 00:04:19 +0000 (00:04 +0000)]
Try to fix v8 build.
* bindings/scripts/CodeGeneratorV8.pm: This is a pretty bad system.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84319
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 20 Apr 2011 00:00:34 +0000 (00:00 +0000)]
2011-04-19 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
UI process thinks the page is unresponsive when a plug-in is showing a context menu
https://bugs.webkit.org/show_bug.cgi?id=58943
<rdar://problem/
9299901>
Change the HandleMouseEvent message to have a delayed reply and make the PluginControllerProxy
respond to it immediately, before even passing the event to the plug-in. Since it doesn't matter
for mouse events whether the plug-in handled them or not we can do this.
Another solution could have been to make handleMouseEvent an asynchronous message, but that could
mess up the message ordering so this seemed like the least intrusive change.
* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::handleMouseEvent):
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/PluginControllerProxy.messages.in:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84318
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 19 Apr 2011 23:59:03 +0000 (23:59 +0000)]
2011-04-19 Ojan Vafai <ojan@chromium.org>
Fix check for whether a failure is expected to deal with
flaky tests and FAIL expectations.
* Scripts/webkitpy/layout_tests/layout_package/json_results.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84317
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
crogers@google.com [Tue, 19 Apr 2011 23:58:32 +0000 (23:58 +0000)]
2011-04-19 Chris Rogers <crogers@google.com>
Unreviewed.
Rebaseline a bunch of border-radius related layout tests for chromium mac
https://bugs.webkit.org/show_bug.cgi?id=58945
* platform/chromium-mac-leopard/fast/blockflow/border-vertical-lr-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/blockflow/border-vertical-lr-expected.png:
* platform/chromium-mac-leopard/fast/borders/border-radius-constraints-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/borders/border-radius-constraints-expected.png:
* platform/chromium-mac-leopard/fast/borders/border-radius-huge-assert-expected.png:
* platform/chromium-mac-leopard/fast/borders/border-radius-inline-flow-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/borders/border-radius-inline-flow-expected.png:
* platform/chromium-mac-leopard/fast/borders/borderRadiusInvalidColor-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/borders/borderRadiusInvalidColor-expected.png:
* platform/chromium-mac-leopard/fast/borders/svg-as-border-image-2-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/borders/svg-as-border-image-2-expected.png: Added.
* platform/chromium-mac-leopard/fast/box-shadow/basic-shadows-expected.png: Added.
* platform/chromium-mac-leopard/fast/canvas/canvasDrawingIntoSelf-expected.png: Added.
* platform/chromium-mac-leopard/fast/css/font_property_normal-expected.png: Added.
* platform/chromium-mac-leopard/fast/forms/basic-selects-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/forms/basic-selects-expected.png:
* platform/chromium-mac-leopard/fast/forms/menulist-clip-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/forms/menulist-clip-expected.png:
* platform/chromium-mac-leopard/fast/forms/menulist-narrow-width-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/forms/menulist-narrow-width-expected.png:
* platform/chromium-mac-leopard/fast/forms/menulist-option-wrap-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/forms/menulist-option-wrap-expected.png:
* platform/chromium-mac-leopard/fast/forms/menulist-restrict-line-height-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/forms/menulist-restrict-line-height-expected.png:
* platform/chromium-mac-leopard/fast/forms/menulist-style-color-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/forms/menulist-style-color-expected.png:
* platform/chromium-mac-leopard/fast/forms/select-baseline-expected.png: Added.
* platform/chromium-mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.png: Added.
* platform/chromium-mac/fast/blockflow/border-vertical-lr-expected.checksum: Removed.
* platform/chromium-mac/fast/blockflow/border-vertical-lr-expected.png:
* platform/chromium-mac/fast/blockflow/box-shadow-horizontal-bt-expected.png: Added.
* platform/chromium-mac/fast/blockflow/box-shadow-vertical-lr-expected.png: Added.
* platform/chromium-mac/fast/blockflow/box-shadow-vertical-rl-expected.png: Added.
* platform/chromium-mac/fast/borders/border-radius-circle-expected.png: Removed.
* platform/chromium-mac/fast/borders/border-radius-huge-assert-expected.png: Removed.
* platform/chromium-mac/fast/borders/borderRadiusDotted06-expected.checksum:
* platform/chromium-mac/fast/borders/borderRadiusDotted06-expected.png: Removed.
* platform/chromium-mac/fast/box-shadow/basic-shadows-expected.png: Added.
* platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png: Added.
* platform/chromium-mac/fast/box-shadow/inset-with-extraordinary-radii-and-border-expected.png:
* platform/chromium-mac/fast/css/nested-rounded-corners-expected.checksum: Removed.
* platform/chromium-mac/fast/css/nested-rounded-corners-expected.png:
* platform/chromium-mac/fast/forms/basic-selects-expected.png: Added.
* platform/chromium-mac/fast/forms/menulist-clip-expected.png: Added.
* platform/chromium-mac/fast/forms/menulist-narrow-width-expected.png: Added.
* platform/chromium-mac/fast/forms/menulist-option-wrap-expected.png: Added.
* platform/chromium-mac/fast/forms/menulist-restrict-line-height-expected.png: Added.
* platform/chromium-mac/fast/forms/menulist-separator-painting-expected.checksum: Removed.
* platform/chromium-mac/fast/forms/menulist-separator-painting-expected.png:
* platform/chromium-mac/fast/forms/menulist-style-color-expected.png: Added.
* platform/chromium-mac/fast/forms/select-background-none-expected.png: Added.
* platform/chromium-mac/fast/forms/select-baseline-expected.png: Added.
* platform/chromium-mac/fast/forms/select-empty-option-height-expected.png: Added.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84316
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
crogers@google.com [Tue, 19 Apr 2011 23:52:00 +0000 (23:52 +0000)]
2011-04-19 Chris Rogers <crogers@google.com>
Unreviewed.
Rebase a bunch of border-radius related layout tests
https://bugs.webkit.org/show_bug.cgi?id=58942
* platform/chromium-linux/css2.1/t0805-c5517-brdr-s-00-c-expected.checksum: Removed.
* platform/chromium-linux/css2.1/t0805-c5517-brdr-s-00-c-expected.png:
* platform/chromium-linux/fast/backgrounds/border-radius-split-background-expected.png: Added.
* platform/chromium-linux/fast/backgrounds/border-radius-split-background-image-expected.png: Added.
* platform/chromium-linux/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.checksum: Removed.
* platform/chromium-linux/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
* platform/chromium-linux/fast/borders/borderRadiusAllStylesAllCorners-expected.png:
* platform/chromium-linux/fast/box-shadow/inset-expected.png:
* platform/chromium-linux/fast/forms/validation-message-appearance-expected.checksum: Removed.
* platform/chromium-linux/fast/forms/validation-message-appearance-expected.png:
* platform/chromium-mac-leopard/css2.1/t0805-c5517-brdr-s-00-c-expected.png: Added.
* platform/chromium-mac-leopard/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
* platform/chromium-mac-leopard/fast/borders/borderRadiusAllStylesAllCorners-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/borders/borderRadiusAllStylesAllCorners-expected.png:
* platform/chromium-mac-leopard/fast/box-shadow/inset-expected.png: Removed.
* platform/chromium-mac-leopard/fast/forms/validation-message-appearance-expected.checksum: Removed.
* platform/chromium-mac-leopard/fast/forms/validation-message-appearance-expected.png:
* platform/chromium-mac/css2.1/t0805-c5517-brdr-s-00-c-expected.png: Added.
* platform/chromium-mac/fast/backgrounds/border-radius-split-background-expected.png: Added.
* platform/chromium-mac/fast/backgrounds/border-radius-split-background-image-expected.png: Added.
* platform/chromium-mac/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.checksum: Removed.
* platform/chromium-mac/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
* platform/chromium-mac/fast/borders/borderRadiusAllStylesAllCorners-expected.checksum: Removed.
* platform/chromium-mac/fast/borders/borderRadiusAllStylesAllCorners-expected.png:
* platform/chromium-mac/fast/borders/table-borders-expected.png: Added.
* platform/chromium-mac/fast/borders/table-borders-expected.txt: Added.
* platform/chromium-mac/fast/box-shadow/inset-expected.png: Added.
* platform/chromium-mac/fast/events/overflow-viewport-renderer-deleted-expected.txt: Added.
* platform/chromium-mac/fast/forms/validation-message-appearance-expected.png: Added.
* platform/chromium-win-vista/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png: Added.
* platform/chromium-win/css2.1/t0805-c5517-brdr-s-00-c-expected.checksum: Removed.
* platform/chromium-win/css2.1/t0805-c5517-brdr-s-00-c-expected.png:
* platform/chromium-win/fast/backgrounds/border-radius-split-background-expected.png: Added.
* platform/chromium-win/fast/backgrounds/border-radius-split-background-expected.txt: Added.
* platform/chromium-win/fast/backgrounds/border-radius-split-background-image-expected.png: Added.
* platform/chromium-win/fast/backgrounds/border-radius-split-background-image-expected.txt: Added.
* platform/chromium-win/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.checksum: Removed.
* platform/chromium-win/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
* platform/chromium-win/fast/borders/borderRadiusAllStylesAllCorners-expected.png:
* platform/chromium-win/fast/borders/table-borders-expected.png: Added.
* platform/chromium-win/fast/borders/table-borders-expected.txt: Added.
* platform/chromium-win/fast/box-shadow/inset-expected.png:
* platform/chromium-win/fast/events/overflow-viewport-renderer-deleted-expected.txt: Added.
* platform/chromium-win/fast/forms/validation-message-appearance-expected.checksum: Removed.
* platform/chromium-win/fast/forms/validation-message-appearance-expected.png:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84315
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Tue, 19 Apr 2011 23:48:29 +0000 (23:48 +0000)]
2011-04-19 Tony Chang <tony@chromium.org>
Add checksums to png files in platform win, win-wk2, and win-xp.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84314
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 19 Apr 2011 23:43:03 +0000 (23:43 +0000)]
2011-04-19 Ojan Vafai <ojan@chromium.org>
Reviewed by Eric Seidel.
don't show missing text results for tests that only dump image results
https://bugs.webkit.org/show_bug.cgi?id=58931
* Scripts/webkitpy/layout_tests/layout_package/json_results.html:
* Scripts/webkitpy/layout_tests/layout_package/test_runner.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84313
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 19 Apr 2011 23:38:46 +0000 (23:38 +0000)]
2011-04-19 Ojan Vafai <ojan@chromium.org>
Reviewed by Eric Seidel.
don't show failures table if there are only new tests
https://bugs.webkit.org/show_bug.cgi?id=58929
* Scripts/webkitpy/layout_tests/layout_package/json_results.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84312
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Tue, 19 Apr 2011 23:37:32 +0000 (23:37 +0000)]
REGRESSION(r55762): Highlight color can't be copied in gmail.
https://bugs.webkit.org/show_bug.cgi?id=58925
<rdar://problem/
9253057>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Test: editing/pasteboard/copy-text-with-backgroundcolor.html
The changes of r55762 uncovered the underlying issue here. The markup fragment
placed in the pasteboard does not contain the background color style.
This occurs only if the selection is limited to a single text node, whereas if the
selection spans across multiple nodes, the style is preserved correctly.
The fix consists in changing the logic that decides whether we should include the wrapping
node in the markup. That logic is based on the code in highestAncestorToWrapMarkup which relies
on isElementPresentational to choose candidates to be the wrapping node.
I've extended it to accept nodes that have non fully transparent background colors.
* editing/Editor.cpp:
(WebCore::Editor::hasTransparentBackgroundColor): Now is a static method of the class.
* editing/Editor.h:
* editing/markup.cpp:
(WebCore::isElementPresentational): Modified to use hasTransparentBackgroundColor.
LayoutTests:
The following test checks that when we copy a text node surrounded by an element that
has non transparent background color we preserve the background color as well.
* editing/pasteboard/copy-text-with-backgroundcolor-expected.txt: Added.
* editing/pasteboard/copy-text-with-backgroundcolor.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84311
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 19 Apr 2011 23:35:52 +0000 (23:35 +0000)]
2011-04-19 Ojan Vafai <ojan@chromium.org>
Fix unittest failures from http://trac.webkit.org/changeset/84294.
* Scripts/webkitpy/layout_tests/layout_package/test_failures_unittest.py:
* Scripts/webkitpy/layout_tests/layout_package/test_runner_unittest.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84310
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Tue, 19 Apr 2011 23:32:39 +0000 (23:32 +0000)]
2011-04-19 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Removed a use of markDOMObjectWrapper: NodeLists
https://bugs.webkit.org/show_bug.cgi?id=58939
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::markChildren): No need to mark node lists, because
now they use the opaque roots system to decide their lifetimes.
* bindings/js/JSNamedNodeMapCustom.cpp: Removed stray newline.
* bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
(WebCore::JSNodeListOwner::finalize):
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
(WebCore::toJS): Use the opaque roots system to avoid relying on
markDOMObjectWrapper.
* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeList::isDynamicNodeList):
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeList::rootNode): Added the ability to get the node
backing a NodeList, for use in the opaque roots system.
* dom/Node.cpp:
* dom/Node.h:
* dom/NodeList.h:
(WebCore::NodeList::isDynamicNodeList): Ditto. Removed cruft related
to the old way of marking NodeLists.
* dom/NodeList.idl: We need a custom toJS so we can specify a custom
WeakHandleOwner at construction time.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84309
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
crogers@google.com [Tue, 19 Apr 2011 23:27:06 +0000 (23:27 +0000)]
2011-04-19 Chris Rogers <crogers@google.com>
Unreviewed.
Update test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=58941
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84308
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Tue, 19 Apr 2011 23:23:49 +0000 (23:23 +0000)]
2011-04-19 Antoine Labour <piman@chromium.org>
Reviewed by James Robinson.
For invisible iframes, propagate compositing to parent instead of setting self
as root.
https://bugs.webkit.org/show_bug.cgi?id=58414
* compositing/iframes/invisible-iframe-expected.checksum: Added.
* compositing/iframes/invisible-iframe-expected.png: Added.
* compositing/iframes/invisible-iframe-expected.txt: Added.
* compositing/iframes/invisible-iframe.html: Added.
* compositing/iframes/invisible-nested-iframe-expected.checksum: Added.
* compositing/iframes/invisible-nested-iframe-expected.png: Added.
* compositing/iframes/invisible-nested-iframe-expected.txt: Added.
* compositing/iframes/invisible-nested-iframe-hide-expected.txt: Added.
* compositing/iframes/invisible-nested-iframe-hide.html: Added.
* compositing/iframes/invisible-nested-iframe-show-expected.txt: Added.
* compositing/iframes/invisible-nested-iframe-show.html: Added.
* compositing/iframes/invisible-nested-iframe.html: Added.
* platform/chromium-gpu/compositing/iframes/invisible-nested-iframe-show-expected.txt: Added.
2011-04-19 Antoine Labour <piman@chromium.org>
Reviewed by James Robinson.
For invisible iframes, propagate compositing to parent instead of setting self
as root.
https://bugs.webkit.org/show_bug.cgi?id=58414
Tests: compositing/iframes/invisible-iframe.html
compositing/iframes/invisible-nested-iframe-hide.html
compositing/iframes/invisible-nested-iframe-show.html
compositing/iframes/invisible-nested-iframe.html
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
Propagate compositing to parent even if frame owner has no renderer.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84307
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mdelaney@apple.com [Tue, 19 Apr 2011 23:15:56 +0000 (23:15 +0000)]
2011-04-19 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
WebPreferences in WebKit1 should have CanvasUsesAcceleratedDrawing set to NO by default
https://bugs.webkit.org/show_bug.cgi?id=58936
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84306
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
crogers@google.com [Tue, 19 Apr 2011 23:11:30 +0000 (23:11 +0000)]
2011-04-19 Chris Rogers <crogers@google.com>
Unreviewed.
Update test_expectations.txt for tests which need rebaselining
https://bugs.webkit.org/show_bug.cgi?id=58938
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84305
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 19 Apr 2011 22:53:49 +0000 (22:53 +0000)]
Reviewed by Adele Peterson.
WebKit2: Merge SelectionState and TextInputState
https://bugs.webkit.org/show_bug.cgi?id=58919
Combined TextInputState and EditorState in one structure, which is updated whenever we get
a chance to. There is no sense to keep possibly stale SelectionState data when we have already
requested the most recent data synchronously.
This also simplifies the code, as we don't need to pass the state around in a separate variable.
* GNUmakefile.am:
* Scripts/webkit2/messages.py:
* Shared/EditorState.h: Copied from Source/WebKit2/Shared/SelectionState.h.
(WebKit::EditorState::EditorState):
* Shared/SelectionState.h: Removed.
* Shared/mac/TextInputState.h: Removed.
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::interpretKeyEvent):
* UIProcess/API/mac/WKView.mm:
(-[WKView validRequestorForSendType:returnType:]):
(-[WKView validateUserInterfaceItem:]):
(-[WKView shouldDelayWindowOrderingForEvent:]):
(-[WKView doCommandBySelector:]):
(-[WKView insertText:replacementRange:]):
(-[WKView _handleStyleKeyEquivalent:]):
(-[WKView _executeSavedKeypressCommands]):
(-[WKView inputContext]):
(-[WKView hasMarkedText]):
(-[WKView unmarkText]):
(-[WKView setMarkedText:selectedRange:replacementRange:]):
(-[WKView attributedSubstringForProposedRange:actualRange:]):
(-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]):
(-[WKView _updateSecureInputState]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::editorStateChanged):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::editorState):
(WebKit::WebPageProxy::hasSelectedRange):
(WebKit::WebPageProxy::isContentEditable):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::insertText):
(WebKit::WebPageProxy::executeKeypressCommands):
(WebKit::WebPageProxy::writeSelectionToPasteboard):
(WebKit::WebPageProxy::readSelectionFromPasteboard):
(WebKit::WebPageProxy::interpretQueuedKeyEvent):
* UIProcess/win/WebView.cpp:
(WebKit::WebView::compositionSelectionChanged):
(WebKit::WebView::onIMEComposition):
(WebKit::WebView::onIMEEndComposition):
(WebKit::WebView::onIMERequestCharPosition):
(WebKit::WebView::onIMERequest):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::respondToChangedSelection):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::handleEditingKeyboardEvent):
(WebKit::WebPage::setComposition):
(WebKit::WebPage::confirmComposition):
(WebKit::WebPage::insertText):
(WebKit::WebPage::executeKeypressCommands):
* win/WebKit2.vcproj:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84304
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Tue, 19 Apr 2011 22:36:41 +0000 (22:36 +0000)]
2011-04-19 Tony Chang <tony@chromium.org>
Add checksums to png files in platform/gtk.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84303
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 19 Apr 2011 22:35:33 +0000 (22:35 +0000)]
2011-04-19 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Terminate hung plug-in processes after 45 seconds
https://bugs.webkit.org/show_bug.cgi?id=58932
<rdar://problem/
8083219>
* UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::pluginSyncMessageSendTimedOut):
Find the plug-in process proxy and terminate it.
(WebKit::PluginProcessManager::pluginProcessWithPath):
Add new helper function.
(WebKit::PluginProcessManager::getOrCreatePluginProcess):
Call pluginProcessWithPath.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::terminate):
Terminate the process.
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::pluginSyncMessageSendTimedOut):
Call PluginProcessManager::pluginSyncMessageSendTimedOut.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
Add PluginSyncMessageSendTimedOut message.
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::defaultSyncMessageTimeout):
(WebKit::PluginProcessConnection::PluginProcessConnection):
Set a sync message timeout on the plug-in process connection.
(WebKit::PluginProcessConnection::syncMessageSendTimedOut):
Send a message to the web process proxy.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84302
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 19 Apr 2011 22:33:13 +0000 (22:33 +0000)]
2011-04-19 Oliver Hunt <oliver@apple.com>
Reviewed by Gavin Barraclough.
Remove unneeded deprecated methods from MarkStack
https://bugs.webkit.org/show_bug.cgi?id=58853
Remove deprecated methods
* heap/MarkStack.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84301
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 19 Apr 2011 22:29:28 +0000 (22:29 +0000)]
<rdar://problem/
9271848> Crash when the document element is removed
Reviewed by Beth Dakin.
Source/WebCore:
Test: fast/events/overflow-viewport-renderer-deleted.html
* page/FrameView.cpp:
(WebCore::FrameView::calculateScrollbarModesForLayout): Reset m_viewportRenderer, in case this
function takes a code path that doesn’t call applyOverflowToViewport().
(WebCore::FrameView::layout): Whitespace change.
LayoutTests:
* fast/events/overflow-viewport-renderer-deleted-expected.txt: Added.
* fast/events/overflow-viewport-renderer-deleted.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84300
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Tue, 19 Apr 2011 22:18:13 +0000 (22:18 +0000)]
2011-04-19 James Robinson <jamesr@chromium.org>
Fix lint errors in test_expectations.txt
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84299
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Tue, 19 Apr 2011 22:15:08 +0000 (22:15 +0000)]
2011-04-19 Tony Chang <tony@chromium.org>
Add checksums to png files in platform/qt.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84298
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 19 Apr 2011 21:37:06 +0000 (21:37 +0000)]
Reviewed by Timothy Hatcher.
100% reproducible crash when right-clicking any element in Web Inspector on any page
https://bugs.webkit.org/show_bug.cgi?id=58822
Web Inspector changes selection from JavaScript, and checks in UI process are insufficient
when selection is changing asynchronously.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::writeSelectionToPasteboard): Check that there is a selection, matching WK1
and UI process side. Perhaps the check should really be in WebCore, but for now, it's a
WebKit responsibility.
(WebKit::WebPage::readSelectionFromPasteboard): Same check, for no other reason but consistency.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84297
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Tue, 19 Apr 2011 21:30:54 +0000 (21:30 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=57898
REGRESSION (r82185): Scroll position not restored on navigation back to a page in
the page cache
-and corresponding-
<rdar://problem/
9226652>
Reviewed by Maciej Stachowiak.
Source/WebCore:
Setting the contentsSize of a ScrollView to (0, 0) necessarily causes the scroll
position to be lost. (The scroll position is computed based on the
visibleContentSize.) This patch provides a mechanism to cache the current scroll
position, and then the HistoryController accesses only the cached position rather
than calling scrollPosition() which does a computation based on the
visibleContentSize.
* loader/HistoryController.cpp:
(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
* page/FrameView.cpp:
(WebCore::FrameView::resetScrollbarsAndClearContentsSize):
* platform/ScrollView.h:
(WebCore::ScrollView::cacheCurrentScrollPosition):
(WebCore::ScrollView::cachedScrollPosition):
LayoutTests:
* fast/loader/resources/empty-document-goes-back.html: Added.
* fast/loader/scroll-position-restored-on-back-expected.txt: Added.
* fast/loader/scroll-position-restored-on-back.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84296
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 19 Apr 2011 21:28:30 +0000 (21:28 +0000)]
Things work best when the Xcode project refers to the file at a path that exists.
* JavaScriptCore.xcodeproj/project.pbxproj:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84295
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 19 Apr 2011 21:18:52 +0000 (21:18 +0000)]
2011-04-18 Ojan Vafai <ojan@chromium.org>
Reviewed by Eric Seidel.
switch new-run-webkit-tests to using the new results file
https://bugs.webkit.org/show_bug.cgi?id=58861
* Scripts/webkitpy/layout_tests/layout_package/test_failures.py:
* Scripts/webkitpy/layout_tests/layout_package/test_failures_unittest.py:
* Scripts/webkitpy/layout_tests/layout_package/test_runner.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84294
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 19 Apr 2011 21:16:45 +0000 (21:16 +0000)]
2011-04-19 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add syncMessageSendTimedOut CoreIPC Connection::Client member function
https://bugs.webkit.org/show_bug.cgi?id=58928
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::waitForSyncReply):
Call syncMessageSendTimedOut.
* Platform/CoreIPC/Connection.h:
Add syncMessageSendTimedOut to Connection::Client.
* PluginProcess/PluginProcess.cpp:
* PluginProcess/PluginProcess.h:
* PluginProcess/WebProcessConnection.cpp:
* PluginProcess/WebProcessConnection.h:
* UIProcess/Plugins/PluginProcessProxy.cpp:
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/WebProcessProxy.cpp:
* UIProcess/WebProcessProxy.h:
* WebProcess/Plugins/PluginProcessConnection.cpp:
* WebProcess/Plugins/PluginProcessConnection.h:
* WebProcess/WebProcess.cpp:
* WebProcess/WebProcess.h:
Add syncMessageSendTimedOut stubs.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84293
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 19 Apr 2011 21:15:18 +0000 (21:15 +0000)]
2011-04-19 Ryosuke Niwa <rniwa@webkit.org>
Skip the test added by r84264. The bug tracked by
https://bugs.webkit.org/show_bug.cgi?id=58741
* platform/qt/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84292
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jberlin@webkit.org [Tue, 19 Apr 2011 20:57:05 +0000 (20:57 +0000)]
Roll r81683 back in.
Reviewed by Sam Weinig.
Going to certain pages causes a download of "st.html" or "jsp.html" (news.yahoo.com, etc.)
<rdar://problem/
9139245>
"Windows edition".
* win/lib/WebKitSystemInterface.lib:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84291
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
reni@webkit.org [Tue, 19 Apr 2011 20:54:43 +0000 (20:54 +0000)]
2011-04-19 Renata Hodovan <reni@webkit.org>
Reviewed by Eric Seidel.
Move the alignment related macros from Vector.h to new Alignment.h.
https://bugs.webkit.org/show_bug.cgi?id=56000
Adding the new file to the forwarding headers of Tools.
* DumpRenderTree/ForwardingHeaders/wtf/Alignment.h: Added.
2011-04-19 Renata Hodovan <reni@webkit.org>
Reviewed by Eric Seidel.
Move the alignment related macros in Vector.h to new Alignment.h.
https://bugs.webkit.org/show_bug.cgi?id=56000
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* wtf/Alignment.h: Added.
* wtf/CMakeLists.txt:
* wtf/Vector.h:
2011-04-19 Renata Hodovan <reni@webkit.org>
Reviewed by Eric Seidel.
Move the alignment related macros in Vector.h to new Alignment.h.
https://bugs.webkit.org/show_bug.cgi?id=56000
Adding the new file to the forwarding headers of JavaScriptGlue.
* ForwardingHeaders/wtf/Alignment.h: Added.
2011-04-19 Renata Hodovan <reni@webkit.org>
Reviewed by Eric Seidel.
Move the alignment related macros in Vector.h to new Alignment.h.
https://bugs.webkit.org/show_bug.cgi?id=56000
Adding the new file to the forwarding headers of WebCore.
* ForwardingHeaders/wtf/Alignment.h: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84290
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 19 Apr 2011 20:52:22 +0000 (20:52 +0000)]
2011-04-19 Oliver Hunt <oliver@apple.com>
Reviewed by Gavin Barraclough.
Remove DeprecatedPtr
https://bugs.webkit.org/show_bug.cgi?id=58718
Remove the class an all functions that still exist to support it.
* heap/MarkStack.h:
(JSC::MarkStack::append):
* runtime/JSValue.h:
* runtime/WriteBarrier.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84289
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 19 Apr 2011 20:47:21 +0000 (20:47 +0000)]
2011-04-19 Anders Carlsson <andersca@apple.com>
Reviewed by Alexey Proskuryakov.
Replace the didFailToSendSyncMessage Connection::Client function with a flag
https://bugs.webkit.org/show_bug.cgi?id=58923
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::Connection):
Initialize m_shouldExitOnSyncMessageSendFailure to false.
(CoreIPC::Connection::setShouldExitOnSyncMessageSendFailure):
Set m_didCloseOnConnectionWorkQueueCallback.
(CoreIPC::Connection::sendSyncMessage):
Call didFailToSendSyncMessage if we fail to send the sync message for some reason.
(CoreIPC::Connection::didFailToSendSyncMessage):
if m_shouldExitOnSyncMessageSendFailure is true, exit.
* Platform/CoreIPC/Connection.h:
Remove didFailToSendSyncMessage from Connection::Client.
* PluginProcess/PluginProcess.cpp:
* PluginProcess/PluginProcess.h:
Remove didFailToSendSyncMessage.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initialize):
* WebProcess/WebProcess.h:
Remove didFailToSendSyncMessage. Call setShouldExitOnSyncMessageSendFailure on our
UI process connection.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84288
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Tue, 19 Apr 2011 20:44:56 +0000 (20:44 +0000)]
2011-04-19 Tony Chang <tony@chromium.org>
Skipping plugins/mouse-click-iframe-to-plugin.html on mac/win.
* platform/mac/Skipped:
* platform/win/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84287
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 19 Apr 2011 20:40:31 +0000 (20:40 +0000)]
2011-04-19 Oliver Hunt <oliver@apple.com>
Reviewed by Andreas Kling.
[Qt] QtInstance method cache ownership rules are unclear
https://bugs.webkit.org/show_bug.cgi?id=58820
Make the QtInstance method cache use WriteBarrier, and handle
ownership properly.
* bridge/qt/qt_class.cpp:
(JSC::Bindings::QtClass::fallbackObject):
(JSC::Bindings::QtClass::fieldNamed):
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::removeCachedMethod):
(JSC::Bindings::QtInstance::newRuntimeObject):
(JSC::Bindings::QtInstance::markAggregate):
* bridge/qt/qt_instance.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84286
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
crogers@google.com [Tue, 19 Apr 2011 20:06:08 +0000 (20:06 +0000)]
2011-04-19 Chris Rogers <crogers@google.com>
Unreviewed.
Update test_expectations.txt due to border radius bugs in Skia
https://bugs.webkit.org/show_bug.cgi?id=58920
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84285
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Tue, 19 Apr 2011 19:44:47 +0000 (19:44 +0000)]
<webkit.org/b/57867> Re-order enum ResourceLoadPriority to make Unresolved value less important
Reviewed by Antti Koivisto.
* platform/network/ResourceLoadPriority.h:
(enum ResourceLoadPriority): Moved Unresolved enum to the top of
the list and set to -1 to emphasize the fact that this is an
unresolved priority (rather than one higher than the highest
priority). Removed whitespace from the end of all enum lines.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84284
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 19 Apr 2011 19:33:25 +0000 (19:33 +0000)]
2011-04-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by David Hyatt.
Background radius is wrong for split inline
https://bugs.webkit.org/show_bug.cgi?id=58843
When computing the radii for a segment of a split inline, we have to
constrain those radii for the current segment, while still drawing
using the entire logical width.
Tests: fast/backgrounds/border-radius-split-background-image.html
fast/backgrounds/border-radius-split-background.html
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintFillLayer):
Pass height and width for this box only to paintFillLayer()
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintFillLayer):
Pass 0 for unused inlineBox height and width.
* rendering/RenderBoxModelObject.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
When computing the rounded background rect, we have to take the size of
this segment of the inline box into account for radius constraining.
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
Call getBackgroundRoundedRect() in two places.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84283
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
crogers@google.com [Tue, 19 Apr 2011 19:32:53 +0000 (19:32 +0000)]
2011-04-19 Chris Rogers <crogers@google.com>
Unreviewed.
Update test_expectations.txt with now passing test : media/video-zoom.html
https://bugs.webkit.org/show_bug.cgi?id=58916
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84282
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 19 Apr 2011 19:28:29 +0000 (19:28 +0000)]
2011-04-19 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add a way to set the default sync message timeout for a CoreIPC connection
https://bugs.webkit.org/show_bug.cgi?id=58908
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::Connection):
Initialize m_defaultSyncMessageTimeout.
(CoreIPC::Connection::setDefaultSyncMessageTimeout):
Set the m_defaultSyncMessageTimeout member variable.
(CoreIPC::Connection::waitForSyncReply):
Handle the timeout being one of our two special magic values.
* Platform/CoreIPC/Connection.h:
Add a DefaultTimeout constant and change the NoTimeout constant to be -1.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84281
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
crogers@google.com [Tue, 19 Apr 2011 19:24:16 +0000 (19:24 +0000)]
2011-04-19 Chris Rogers <crogers@google.com>
Unreviewed.
Rebaseline some chromium Snow Leopard tests - update test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=58915
* platform/chromium-mac/fast/borders/svg-as-border-image-2-expected.png: Added.
* platform/chromium-mac/fast/css/font-face-default-font-expected.png: Added.
* platform/chromium-mac/fast/css/font_property_normal-expected.png: Added.
* platform/chromium-mac/fast/repaint/text-in-relative-positioned-inline-expected.png: Added.
* platform/chromium-mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png: Added.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84280
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 19 Apr 2011 19:13:26 +0000 (19:13 +0000)]
2011-04-19 Ryosuke Niwa <rniwa@webkit.org>
Skip the test added by r84270 on WebKit2 since it uses eventSender.
* platform/mac-wk2/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84279
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 19 Apr 2011 19:06:33 +0000 (19:06 +0000)]
2011-04-19 Simon Fraser <simon.fraser@apple.com>
Build fix. For some reason RenderBoxModelObject.cpp
was missing from my last commit.
* rendering/RenderBoxModelObject.cpp:
(WebCore::borderWillArcInnerEdge):
(WebCore::edgeFlagForSide):
(WebCore::includesEdge):
(WebCore::BorderEdge::BorderEdge):
(WebCore::BorderEdge::hasVisibleColorAndStyle):
(WebCore::BorderEdge::shouldRender):
(WebCore::BorderEdge::presentButInvisible):
(WebCore::BorderEdge::usedWidth):
(WebCore::BorderEdge::getDoubleBorderStripeWidths):
(WebCore::edgesShareColor):
(WebCore::styleRequiresClipPolygon):
(WebCore::borderStyleFillsBorderArea):
(WebCore::borderStyleHasInnerDetail):
(WebCore::borderStyleIsDottedOrDashed):
(WebCore::borderStyleHasUnmatchedColorsAtCorner):
(WebCore::colorsMatchAtCorner):
(WebCore::willBeOverdrawn):
(WebCore::borderStylesRequireMitre):
(WebCore::joinRequiresMitre):
(WebCore::RenderBoxModelObject::paintOneBorderSide):
(WebCore::RenderBoxModelObject::paintBorderSides):
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::findInnerVertex):
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
(WebCore::RenderBoxModelObject::paintBoxShadow):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84278
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
senorblanco@chromium.org [Tue, 19 Apr 2011 19:03:34 +0000 (19:03 +0000)]
2011-04-19 Stephen White <senorblanco@chromium.org>
Reviewed by Kenneth Russell.
Refactor GLES2Canvas state application out into its own function.
https://bugs.webkit.org/show_bug.cgi?id=58906
Covered by existing tests in fast/canvas and canvas/philip.
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::applyState):
New function to apply compositing and clipping state.
(WebCore::GLES2Canvas::fillPath):
(WebCore::GLES2Canvas::fillRect):
(WebCore::GLES2Canvas::beginShadowDraw):
(WebCore::GLES2Canvas::endShadowDraw):
Refactor calls to applyState().
* platform/graphics/chromium/GLES2Canvas.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84277
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
evan@chromium.org [Tue, 19 Apr 2011 19:02:58 +0000 (19:02 +0000)]
2011-04-19 Evan Martin <evan@chromium.org>
Reviewed by Darin Fisher.
[chromium] didReceiveTitle API signature should not change
https://bugs.webkit.org/show_bug.cgi?id=58909
My previous attempt at a temporary shim was wrong.
This second try should correctly work with older clients.
* public/WebFrameClient.h:
(WebKit::WebFrameClient::didReceiveTitle):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84276
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Tue, 19 Apr 2011 18:57:47 +0000 (18:57 +0000)]
[wx] Unreviewed build fix for Win / wx 2.9 wxPython installation.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84275
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Tue, 19 Apr 2011 18:50:53 +0000 (18:50 +0000)]
2011-04-19 Tony Chang <tony@chromium.org>
Fixing pngs with bad checksum crcs. There was a 64bit specific bug
in computing crcs of checksums embedded in png files. During that
time, these images were checked in. Just fixing with the correct
crcs (the image result itself is unchanged).
* platform/gtk/fast/block/positioning/complex-positioned-movement-expected.png:
* platform/gtk/fast/text/decorations-transformed-expected.png:
* platform/mac/compositing/images/content-image-change-expected.png:
* platform/mac/editing/inserting/editable-inline-element-expected.png:
* platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.png:
* platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.png:
* platform/mac/fast/borders/bidi-002-expected.png:
* platform/mac/fast/borders/bidi-004-expected.png:
* platform/mac/fast/borders/bidi-009a-expected.png:
* platform/mac/fast/box-shadow/inset-expected.png:
* platform/mac/fast/inline/positioned-object-between-replaced-elements-expected.png:
* platform/mac/fast/overflow/trailing-float-linebox-expected.png:
* platform/mac/fullscreen/full-screen-zIndex-expected.png:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84274
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 19 Apr 2011 18:45:17 +0000 (18:45 +0000)]
2011-04-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
Fix multiple border rendering issues
https://bugs.webkit.org/show_bug.cgi?id=58761
Fix various border-drawing bugs, and optimize some common cases.
Also refactors a lot of the border-drawing code to be more maintainable.
Rounded border rendering with different border widths looks strange
https://bugs.webkit.org/show_bug.cgi?id=17468
paintBorder in RenderObject paint two times the corners
https://bugs.webkit.org/show_bug.cgi?id=20495
Overdraw at box corners when using RGBA colors with alpha
https://bugs.webkit.org/show_bug.cgi?id=21835
Enable antialiasing for border drawing, when transformed
https://bugs.webkit.org/show_bug.cgi?id=22746
Drawing border-radius from path sometimes fails to round outer border in the double style when it should
https://bugs.webkit.org/show_bug.cgi?id=41301
Drawing border-radius from path doesn't appear to always match up border edges correctly
https://bugs.webkit.org/show_bug.cgi?id=41302
Also fixes
Should be able to create Path from RoundedIntRect
https://bugs.webkit.org/show_bug.cgi?id=58809
Tests: fast/borders/border-radius-different-width-001.html
fast/borders/border-radius-inset-outset.html
fast/borders/table-borders.html
* platform/graphics/FloatPoint.h:
* platform/graphics/FloatPoint.cpp:
(WebCore::findSlope):
(WebCore::findIntersection):
New geometry helper functions (should eventually move into a new
GeometryUtilities file).
* platform/graphics/Path.h:
* platform/graphics/Path.cpp:
(WebCore::Path::addRoundedRect):
Add an overload of addRoundedRect() that takes a RoundedIntRect.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::addRoundedRectClip):
(WebCore::GraphicsContext::clipOutRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
Can now add a RoundedIntRect to a Path directly.
* platform/graphics/IntRect.h:
(WebCore::IntRect::minXMinYCorner):
(WebCore::IntRect::maxXMinYCorner):
(WebCore::IntRect::minXMaxYCorner):
(WebCore::IntRect::maxXMaxYCorner):
Convenience functions to get the rect corners, in a writing-mode-
friendly way.
* platform/graphics/RoundedIntRect.h:
* platform/graphics/RoundedIntRect.cpp:
(WebCore::RoundedIntRect::isRenderable):
We need to know when Path::addRoundedRect() will fail because
the sum of the radii exceed the height or width. This method tells
us that.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::fillRectWithRoundedHole):
Can now add a RoundedIntRect to a Path directly.
* rendering/RenderBoxModelObject.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::borderWillArcInnerEdge):
This can just to see if there are inner radii now.
(WebCore::edgeFlagForSide):
(WebCore::includesEdge):
Convenience functions for the BorderEdgeFlags bitmask.
(WebCore::BorderEdge::BorderEdge):
(WebCore::BorderEdge::hasVisibleColorAndStyle):
(WebCore::BorderEdge::shouldRender):
(WebCore::BorderEdge::presentButInvisible):
(WebCore::BorderEdge::usedWidth):
(WebCore::BorderEdge::getDoubleBorderStripeWidths):
Convenience class to hold data about how a single edge
is drawn, and to contain some commonly used width-related methods.
(WebCore::edgesShareColor):
(WebCore::styleRequiresClipPolygon):
(WebCore::borderStyleFillsBorderArea):
(WebCore::borderStyleHasInnerDetail):
(WebCore::borderStyleIsDottedOrDashed):
(WebCore::borderStyleHasUnmatchedColorsAtCorner):
(WebCore::colorsMatchAtCorner):
(WebCore::willBeOverdrawn):
(WebCore::borderStylesRequireMitre):
(WebCore::joinRequiresMitre):
Functions used to make the border drawing code more readable,
which are used to determine when corners need a mitre, and
need antialiasing.
(WebCore::RenderBoxModelObject::paintOneBorderSide):
Code to paint one side of a border, either via the path, or
using rects/polygons, the appropriate mitres and antialiasing
at the corners. includeLogicalLeftEdge and includeLogicalRightEdge need
to be passed all the way down here so that when we recompute the
path for double and ridge/groove borders, we correctly handle split box
borders.
(WebCore::RenderBoxModelObject::paintBorderSides):
Paints the 4 border sides (if present).
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
Called when one or more of the borders has a non-opaque color,
and uses a transparency layer for each set of same-colored
sides to avoid overdraw at the corners.
(WebCore::RenderBoxModelObject::paintBorder):
Builds an array of BorderEdge so we can iterate over them to
detect different border compbinations, and optimizations. Has
a fast path for all-solid borders.
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
Moved from RenderObject, since all callers are in RenderBoxModelObject.
Has the following changes:
* Don't attempt to draw dashes if there is only space for a few,
since it looks bad.
* Handle double and groove borders on split inlines correctly,
making use of includeLogicalLeftEdge, includeLogicalRightEdge
(WebCore::findInnerVertex):
For borders with a radiused inner edge, the per-side clip polygon
has to project inside the padding box to avoid clipping the inner edge.
This function computes a reasonable inner corner for the clipping
polygon.
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
Have the corner joins pass through the corners of the inner and outer
border rectangles, ensure we don't clip the inside if necessary,
and handle antialiasing on the two mitres.
(WebCore::RenderBoxModelObject::paintBoxShadow):
Use RenderStyle::getRoundedInnerBorderFor() rather than computeBorderInnerRect()
etc.
* rendering/RenderObject.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
Moved to RenderBoxModelObject.
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getRoundedBorderFor):
(WebCore::RenderStyle::getRoundedInnerBorderFor):
There was some very clumsy code that computed a rounded rect
given the border rect and side widths. Cleaned this up by moving
some code into RenderStyle. The overloaded getRoundedInnerBorderFor()
which takes the border widths is used by the double and groove drawing
code.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84273
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 19 Apr 2011 18:19:58 +0000 (18:19 +0000)]
Skip another accelerated-compositing-sensitive test when accelerated compositing is disabled
* Scripts/old-run-webkit-tests: Skip media/controls-without-preload.html on Windows when
accelerated compositing is disabled.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84272
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jshin@chromium.org [Tue, 19 Apr 2011 18:19:02 +0000 (18:19 +0000)]
2011-04-19 Jungshik Shin <jshin@chromium.org>
Reviewed by Adam Barth
Fix the compile failure in UniscribeHelperTest.cpp due to
a change in UniscribeHelper made by the CL for bug 48860
(r84264)
http://bugs.webkit.org/show_bug.cgi?id=48860
* tests/UniscribeHelperTest.cpp:
(TEST_F):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84271
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 19 Apr 2011 18:17:30 +0000 (18:17 +0000)]
2011-04-19 Stuart Morgan <stuartmorgan@chromium.org>
Reviewed by Tony Chang.
[chromium] Clicking on plugin for first time blocks focus shift
https://bugs.webkit.org/show_bug.cgi?id=58419
Added new test for cross-iframe focus changes on plugin clicks.
* plugins/mouse-click-iframe-to-plugin-expected.txt: Added.
* plugins/mouse-click-iframe-to-plugin.html: Added.
2011-04-19 Stuart Morgan <stuartmorgan@chromium.org>
Reviewed by Tony Chang.
[chromium] Clicking on plugin for first time blocks focus shift
https://bugs.webkit.org/show_bug.cgi?id=58419
Switched to using FocusController when moving focus to a plugin
so that cross-frame focus changes are handled correctly.
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::handleMouseEvent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84270
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 19 Apr 2011 18:17:15 +0000 (18:17 +0000)]
2011-04-19 Ojan Vafai <ojan@chromium.org>
Remove accidentally committed debug code.
* Scripts/webkitpy/layout_tests/layout_package/test_runner.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84269
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@webkit.org [Tue, 19 Apr 2011 18:15:38 +0000 (18:15 +0000)]
Unreviewed build correction.
Avoid duplicate stub implementation of test routine
for WinCairo build.
* WebKitTestRunner/win/TestInvocationWin.cpp: Exclude
WinCairo from using this stub.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84268
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 19 Apr 2011 18:12:16 +0000 (18:12 +0000)]
2011-04-18 Ojan Vafai <ojan@chromium.org>
Reviewed by Eric Seidel.
make results file work with audio and reftests
https://bugs.webkit.org/show_bug.cgi?id=58860
Also fix bug with timeout tests and store a bit in the JSON
for new image tests instead of loading the image result to check if it's there.
* Scripts/webkitpy/layout_tests/layout_package/json_results.html:
* Scripts/webkitpy/layout_tests/layout_package/test_runner.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84267
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 19 Apr 2011 18:08:12 +0000 (18:08 +0000)]
2011-04-19 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed by Adam Roben.
PrettyPatch tries to show images for deleted files
https://bugs.webkit.org/show_bug.cgi?id=28457
When the image data is empty, instead of generating an <img> tag, generate
a text to indicate the image was deleted.
* PrettyPatch/PrettyPatch.rb:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84266
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 19 Apr 2011 18:05:52 +0000 (18:05 +0000)]
2011-04-19 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Dimitri Glazkov.
REGRESSION(r74228-75294): removing nodes is 200+ times slower when selection is inside a shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=57061
The bug was caused by Range::compareNode's incorrectly returning NODE_INSIDE when the selection is inside
a shadow DOM and the node is outside of the shadow DOM. This caused respondToNodeModification to call
RenderView::clearSelection every time a node is removed when selection is in a shadow DOM and resulted in
a significant performance regression.
Fixed Ranged::compareNode by making Range::compareBoundaryPoints throw a WRONG_DOCUMENT_ERR when there are
no common ancestors between containerA and containerB. This will force compareNode to also throw an exception
and prevents respondToNodeModification from clearing selection.
No new tests because this is a performance improvement and the fix in Range cannot be tested since shadow DOM
isn't exposed to JavaScript.
* dom/Range.cpp:
(WebCore::Range::setStart): Calls compareBoundaryPoints; since we ensures that the root container noes of
start and end nodes are same, we should never get an exception from compareBoundaryPoints.
(WebCore::Range::setEnd): Ditto.
(WebCore::Range::isPointInRange): Calls compareBoundaryPoints; returns false when compareBoundaryPoints
throws an exception.
(WebCore::Range::comparePoint): Calls compareBoundaryPoints; exit early when an exception is thrown by
compareBoundaryPoints.
(WebCore::Range::compareBoundaryPoints): Throws an exception when two containers do not have a common ancestor.
(WebCore::Range::boundaryPointsValid): Calls compareBoundaryPoints and checks that it didn't throw an exception.
* dom/Range.h:
* editing/SelectionController.cpp:
(WebCore::SelectionController::respondToNodeModification):
* editing/htmlediting.cpp:
(WebCore::comparePositions): Calls compareBoundaryPoints.
* editing/markup.cpp:
(WebCore::createMarkup): Calls compareBoundaryPoints; since startNode and pastEnd are both in the same document
and neither are in a shadow DOM, it should never throw an exception.
* page/DOMSelection.cpp:
(WebCore::DOMSelection::containsNode): Calls compareBoundaryPoints; node is fully selected only if no exception
was thrown.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84265
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jshin@chromium.org [Tue, 19 Apr 2011 17:40:45 +0000 (17:40 +0000)]
Index: Source/JavaScriptCore/ChangeLog
===================================================================
--- Source/JavaScriptCore/ChangeLog (revision 84100)
+++ Source/JavaScriptCore/ChangeLog (working copy)
@@ -1,3 +1,15 @@
+2011-04-17 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by NOBODY (OOPS!).
+
+ Add U+FEFF (Zero width no-break space) to CharacterNames.h.
+ It's added to the list of characters to treat as zero-width
+ in WebCore.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48860
+
+ * wtf/unicode/CharacterNames.h:
+
2011-04-16 Patrick Gansterer <paroga@webkit.org>
Reviewed by Eric Seidel.
Index: Source/JavaScriptCore/wtf/unicode/CharacterNames.h
===================================================================
--- Source/JavaScriptCore/wtf/unicode/CharacterNames.h (revision 84099)
+++ Source/JavaScriptCore/wtf/unicode/CharacterNames.h (working copy)
@@ -85,6 +85,7 @@ const UChar yenSign = 0x00A5;
const UChar zeroWidthJoiner = 0x200D;
const UChar zeroWidthNonJoiner = 0x200C;
const UChar zeroWidthSpace = 0x200B;
+const UChar zeroWidthNoBreakSpace = 0xFEFF;
} // namespace Unicode
} // namespace WTF
@@ -138,5 +139,6 @@ using WTF::Unicode::yenSign;
using WTF::Unicode::zeroWidthJoiner;
using WTF::Unicode::zeroWidthNonJoiner;
using WTF::Unicode::zeroWidthSpace;
+using WTF::Unicode::zeroWidthNoBreakSpace;
#endif // CharacterNames_h
Index: Source/WebCore/ChangeLog
===================================================================
--- Source/WebCore/ChangeLog (revision 84100)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,37 @@
+2011-04-17 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by NOBODY (OOPS!).
+
+ Make U+FEFF be treated as a zero-width character in both
+ simple script and complex script code paths. In Chromium
+ Windows, UniscribeHelper needs a rather extensive changes
+ summarized below. Other ports need minor changes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48860
+
+ Test: fast/text/zero-width-characters-complex-script.html
+
+ * platform/graphics/Font.h:
+ (WebCore::Font::treatAsZeroWidthSpace): U+FEFF is added to the list
+ (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Added. Same as the above except that ZWNJ and ZWJ are excluded.
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::initializePage): U+FEFF is made to have zero-width characters in simple script (fast) code path.
+ * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
+ (WebCore::FontMap::getSpaceGlyph): Added to get the gid for space glyph to use in adjustSpaceAdvance when zero-width glyph character has a non-zero width and potentially 'visible' glyph.
+ (WebCore::FontMap::FontData::FontData): spaceGlyph member added.
+ (WebCore::getDerivedFontData): spaceGlyph is retrieved as well.
+ * platform/graphics/chromium/FontUtilsChromiumWin.h:
+ * platform/graphics/chromium/UniscribeHelper.cpp:
+ (WebCore::UniscribeHelper::UniscribeHelper): m_spaceGlyph added.
+ (WebCore::UniscribeHelper::shape): spaceGlyph is obtained stored for a font tried for each item.
+ (WebCore::UniscribeHelper::adjustSpaceAdvances): For zero-width complex script characters, set the advance width to zero and replace a non-zero-width/visible glyph with a space glyph.
+ (WebCore::UniscribeHelper::applySpacing):
+ (WebCore::UniscribeHelper::containsMissingGlyphs): turned to a member function because it cannot work on glyphs alone any more but need to take into account a character corresponding to a glyph
+ * platform/graphics/chromium/UniscribeHelper.h:
+ (WebCore::UniscribeHelper::Shaping::Shaping): m_spaceGlyph is added
+ * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
+ (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): When calling UniscriberHelper, add a new argument for spaceGlyph.
+
2011-04-16 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Index: Source/WebCore/platform/graphics/Font.h
===================================================================
--- Source/WebCore/platform/graphics/Font.h (revision 84099)
+++ Source/WebCore/platform/graphics/Font.h (working copy)
@@ -203,7 +203,8 @@ public:
FontSelector* fontSelector() const;
static bool treatAsSpace(UChar c) { return c == ' ' || c == '\t' || c == '\n' || c == noBreakSpace; }
- static bool treatAsZeroWidthSpace(UChar c) { return c < 0x20 || (c >= 0x7F && c < 0xA0) || c == softHyphen || (c >= 0x200c && c <= 0x200f) || (c >= 0x202a && c <= 0x202e) || c == objectReplacementCharacter; }
+ static bool treatAsZeroWidthSpace(UChar c) { return treatAsZeroWidthSpaceInComplexScript(c) || c == 0x200c || c == 0x200d; }
+ static bool treatAsZeroWidthSpaceInComplexScript(UChar c) { return c < 0x20 || (c >= 0x7F && c < 0xA0) || c == softHyphen || (c >= 0x200e && c <= 0x200f) || (c >= 0x202a && c <= 0x202e) || c == zeroWidthNoBreakSpace || c == objectReplacementCharacter; }
static bool canReceiveTextEmphasis(UChar32 c);
static inline UChar normalizeSpaces(UChar character)
Index: Source/WebCore/platform/graphics/GlyphPageTreeNode.cpp
===================================================================
--- Source/WebCore/platform/graphics/GlyphPageTreeNode.cpp (revision 84099)
+++ Source/WebCore/platform/graphics/GlyphPageTreeNode.cpp (working copy)
@@ -191,6 +191,9 @@ void GlyphPageTreeNode::initializePage(c
} else if (start == (objectReplacementCharacter & ~(GlyphPage::size - 1))) {
// Object replacement character must not render at all.
buffer[objectReplacementCharacter - start] = zeroWidthSpace;
+ } else if (start == (zeroWidthNoBreakSpace & ~(GlyphPage::size - 1))) {
+ // ZWNBS/BOM must not render at all.
+ buffer[zeroWidthNoBreakSpace - start] = zeroWidthSpace;
}
} else {
bufferLength = GlyphPage::size * 2;
Index: Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp
===================================================================
--- Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp (revision 84099)
+++ Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp (working copy)
@@ -250,17 +250,31 @@ int getAscent(HFONT hfont)
return gotMetrics ? tm.tmAscent : kUndefinedAscent;
}
+WORD getSpaceGlyph(HFONT hfont)
+{
+ HDC dc = GetDC(0);
+ HGDIOBJ oldFont = SelectObject(dc, hfont);
+ WCHAR space = L' ';
+ WORD spaceGlyph = 0;
+ GetGlyphIndices(dc, &space, 1, &spaceGlyph, 0);
+ SelectObject(dc, oldFont);
+ ReleaseDC(0, dc);
+ return spaceGlyph;
+}
+
struct FontData {
FontData()
: hfont(0)
, ascent(kUndefinedAscent)
, scriptCache(0)
+ , spaceGlyph(0)
{
}
HFONT hfont;
int ascent;
mutable SCRIPT_CACHE scriptCache;
+ WORD spaceGlyph;
};
// Again, using hash_map does not earn us much here. page_cycler_test intl2
@@ -379,7 +393,8 @@ bool getDerivedFontData(const UChar* fam
LOGFONT* logfont,
int* ascent,
HFONT* hfont,
- SCRIPT_CACHE** scriptCache)
+ SCRIPT_CACHE** scriptCache,
+ WORD* spaceGlyph)
{
ASSERT(logfont);
ASSERT(family);
@@ -408,6 +423,7 @@ bool getDerivedFontData(const UChar* fam
// cache it so that we won't have to call CreateFontIndirect once
// more for HFONT next time.
derived->ascent = getAscent(derived->hfont);
+ derived->spaceGlyph = getSpaceGlyph(derived->hfont);
} else {
derived = &iter->second;
// Last time, GetAscent failed so that only HFONT was
@@ -419,6 +435,7 @@ bool getDerivedFontData(const UChar* fam
*hfont = derived->hfont;
*ascent = derived->ascent;
*scriptCache = &(derived->scriptCache);
+ *spaceGlyph = derived->spaceGlyph;
return *ascent != kUndefinedAscent;
}
Index: Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.h
===================================================================
--- Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.h (revision 84099)
+++ Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.h (working copy)
@@ -78,7 +78,7 @@ const UChar* getFallbackFamily(const UCh
// intl2 page-cycler test is noticeably slower with one out param than
// the current version although the subsequent 9 passes take about the
// same time.
-bool getDerivedFontData(const UChar* family, int style, LOGFONT*, int* ascent, HFONT*, SCRIPT_CACHE**);
+bool getDerivedFontData(const UChar* family, int style, LOGFONT*, int* ascent, HFONT*, SCRIPT_CACHE**, WORD* spaceGlyph);
enum {
FontStyleNormal = 0,
Index: Source/WebCore/platform/graphics/chromium/UniscribeHelper.cpp
===================================================================
--- Source/WebCore/platform/graphics/chromium/UniscribeHelper.cpp (revision 84099)
+++ Source/WebCore/platform/graphics/chromium/UniscribeHelper.cpp (working copy)
@@ -31,45 +31,16 @@
#include "config.h"
#include "UniscribeHelper.h"
-#include <windows.h>
-
+#include "Font.h"
#include "FontUtilsChromiumWin.h"
#include "PlatformContextSkia.h"
#include "SkiaFontWin.h"
#include "SkPoint.h"
+#include <windows.h>
#include <wtf/Assertions.h>
namespace WebCore {
-// This function is used to see where word spacing should be applied inside
-// runs. Note that this must match Font::treatAsSpace so we all agree where
-// and how much space this is, so we don't want to do more general Unicode
-// "is this a word break" thing.
-static bool treatAsSpace(UChar c)
-{
- return c == ' ' || c == '\t' || c == '\n' || c == 0x00A0;
-}
-
-// SCRIPT_FONTPROPERTIES contains glyph indices for default, invalid
-// and blank glyphs. Just because ScriptShape succeeds does not mean
-// that a text run is rendered correctly. Some characters may be rendered
-// with default/invalid/blank glyphs. Therefore, we need to check if the glyph
-// array returned by ScriptShape contains any of those glyphs to make
-// sure that the text run is rendered successfully.
-static bool containsMissingGlyphs(WORD *glyphs,
- int length,
- SCRIPT_FONTPROPERTIES* properties)
-{
- for (int i = 0; i < length; ++i) {
- if (glyphs[i] == properties->wgDefault
- || (glyphs[i] == properties->wgInvalid
- && glyphs[i] != properties->wgBlank))
- return true;
- }
-
- return false;
-}
-
// HFONT is the 'incarnation' of 'everything' about font, but it's an opaque
// handle and we can't directly query it to make a new HFONT sharing
// its characteristics (height, style, etc) except for family name.
@@ -102,13 +73,15 @@ UniscribeHelper::UniscribeHelper(const U
bool isRtl,
HFONT hfont,
SCRIPT_CACHE* scriptCache,
- SCRIPT_FONTPROPERTIES* fontProperties)
+ SCRIPT_FONTPROPERTIES* fontProperties,
+ WORD spaceGlyph)
: m_input(input)
, m_inputLength(inputLength)
, m_isRtl(isRtl)
, m_hfont(hfont)
, m_scriptCache(scriptCache)
, m_fontProperties(fontProperties)
+ , m_spaceGlyph(spaceGlyph)
, m_directionalOverride(false)
, m_inhibitLigate(false)
, m_letterSpacing(0)
@@ -546,6 +519,7 @@ bool UniscribeHelper::shape(const UChar*
SCRIPT_CACHE* scriptCache = m_scriptCache;
SCRIPT_FONTPROPERTIES* fontProperties = m_fontProperties;
int ascent = m_ascent;
+ WORD spaceGlyph = m_spaceGlyph;
HDC tempDC = 0;
HGDIOBJ oldFont = 0;
HRESULT hr;
@@ -601,7 +575,7 @@ bool UniscribeHelper::shape(const UChar*
} else if (hr == E_OUTOFMEMORY) {
numGlyphs *= 2;
continue;
- } else if (SUCCEEDED(hr) && (lastFallbackTried || !containsMissingGlyphs(&shaping.m_glyphs[0], generatedGlyphs, fontProperties)))
+ } else if (SUCCEEDED(hr) && (lastFallbackTried || !containsMissingGlyphs(shaping, run, fontProperties)))
break;
// The current font can't render this run. clear DC and try
@@ -632,7 +606,9 @@ bool UniscribeHelper::shape(const UChar*
const UChar *family = getFallbackFamily(input, itemLength,
FontDescription::StandardFamily, 0, 0);
bool fontOk = getDerivedFontData(family, m_style, &m_logfont,
- &ascent, &hfont, &scriptCache);
+ &ascent, &hfont, &scriptCache,
+ &spaceGlyph);
+
if (!fontOk) {
// If this GetDerivedFontData is called from the renderer it
@@ -644,7 +620,8 @@ bool UniscribeHelper::shape(const UChar*
// Try again.
fontOk = getDerivedFontData(family, m_style, &m_logfont,
- &ascent, &hfont, &scriptCache);
+ &ascent, &hfont, &scriptCache,
+ &spaceGlyph);
ASSERT(fontOk);
}
@@ -673,6 +650,7 @@ bool UniscribeHelper::shape(const UChar*
// because it's not used elsewhere.
shaping.m_hfont = hfont;
shaping.m_scriptCache = scriptCache;
+ shaping.m_spaceGlyph = spaceGlyph;
// The ascent of a font for this run can be different from
// that of the primary font so that we need to keep track of
@@ -806,22 +784,39 @@ void UniscribeHelper::adjustSpaceAdvance
for (size_t run = 0; run < m_runs.size(); run++) {
Shaping& shaping = m_shapes[run];
+ // FIXME: This loop is not UTF-16-safe. Unicode 6.0 has a couple
+ // of complex script blocks in Plane 1.
for (int i = 0; i < shaping.charLength(); i++) {
- if (!treatAsSpace(m_input[m_runs[run].iCharPos + i]))
+ UChar c = m_input[m_runs[run].iCharPos + i];
+ bool treatAsSpace = Font::treatAsSpace(c);
+ if (!treatAsSpace && !Font::treatAsZeroWidthSpaceInComplexScript(c))
continue;
int glyphIndex = shaping.m_logs[i];
int currentAdvance = shaping.m_advance[glyphIndex];
- // currentAdvance does not include additional letter-spacing, but
- // space_width does. Here we find out how off we are from the
- // correct width for the space not including letter-spacing, then
- // just subtract that diff.
- int diff = currentAdvance - spaceWidthWithoutLetterSpacing;
- // The shaping can consist of a run of text, so only subtract the
- // difference in the width of the glyph.
- shaping.m_advance[glyphIndex] -= diff;
- shaping.m_abc.abcB -= diff;
+ if (treatAsSpace) {
+ // currentAdvance does not include additional letter-spacing,
+ // but m_spaceWidth does. Here we find out how off we are from
+ // the correct width (spaceWidthWithoutLetterSpacing) and
+ // just subtract that diff.
+ int diff = currentAdvance - spaceWidthWithoutLetterSpacing;
+ // The shaping can consist of a run of text, so only subtract
+ // the difference in the width of the glyph.
+ shaping.m_advance[glyphIndex] -= diff;
+ shaping.m_abc.abcB -= diff;
+ continue;
+ }
+
+ // For characters treated as zero-width space in complex
+ // scripts, set the advance width to zero, adjust
+ // |abcB| of the current run accordingly and set
+ // the glyph to m_spaceGlyph (invisible).
+ shaping.m_advance[glyphIndex] = 0;
+ shaping.m_abc.abcB -= currentAdvance;
+ shaping.m_offsets[glyphIndex].du = 0;
+ shaping.m_offsets[glyphIndex].dv = 0;
+ shaping.m_glyphs[glyphIndex] = shaping.m_spaceGlyph;
}
}
}
@@ -872,7 +867,7 @@ void UniscribeHelper::applySpacing()
// extra wordspacing amount for the glyphs they correspond to.
if (m_wordSpacing != 0) {
for (int i = 0; i < shaping.charLength(); i++) {
- if (!treatAsSpace(m_input[m_runs[run].iCharPos + i]))
+ if (!Font::treatAsSpace(m_input[m_runs[run].iCharPos + i]))
continue;
// The char in question is a word separator...
@@ -929,4 +924,31 @@ int UniscribeHelper::advanceForItem(int
return shaping.m_prePadding + justification;
}
+// SCRIPT_FONTPROPERTIES contains glyph indices for default, invalid
+// and blank glyphs. Just because ScriptShape succeeds does not mean
+// that a text run is rendered correctly. Some characters may be rendered
+// with default/invalid/blank glyphs. Therefore, we need to check if the glyph
+// array returned by ScriptShape contains any of those glyphs to make
+// sure that the text run is rendered successfully.
+// However, we should not subject zero-width characters to this test.
+
+bool UniscribeHelper::containsMissingGlyphs(const Shaping& shaping,
+ const SCRIPT_ITEM& run,
+ const SCRIPT_FONTPROPERTIES* properties) const
+{
+ for (int i = 0; i < shaping.charLength(); i++) {
+ UChar c = m_input[run.iCharPos + i];
+ // Skip zero-width space characters because they're not considered to be missing in a font.
+ if (Font::treatAsZeroWidthSpaceInComplexScript(c))
+ continue;
+ int glyphIndex = shaping.m_logs[i];
+ WORD glyph = shaping.m_glyphs[glyphIndex];
+ if (glyph == properties->wgDefault
+ || (glyph == properties->wgInvalid && glyph != properties->wgBlank))
+ return true;
+ }
+ return false;
+}
+
+
} // namespace WebCore
Index: Source/WebCore/platform/graphics/chromium/UniscribeHelper.h
===================================================================
--- Source/WebCore/platform/graphics/chromium/UniscribeHelper.h (revision 84099)
+++ Source/WebCore/platform/graphics/chromium/UniscribeHelper.h (working copy)
@@ -76,7 +76,8 @@ public:
bool isRtl,
HFONT,
SCRIPT_CACHE*,
- SCRIPT_FONTPROPERTIES*);
+ SCRIPT_FONTPROPERTIES*,
+ WORD);
virtual ~UniscribeHelper();
@@ -225,7 +226,9 @@ private:
: m_prePadding(0)
, m_hfont(NULL)
, m_scriptCache(NULL)
- , m_ascentOffset(0) {
+ , m_ascentOffset(0)
+ , m_spaceGlyph(0)
+ {
m_abc.abcA = 0;
m_abc.abcB = 0;
m_abc.abcC = 0;
@@ -319,6 +322,8 @@ private:
// when drawing a string, to align multiple runs rendered with
// different fonts.
int m_ascentOffset;
+
+ WORD m_spaceGlyph;
};
// Computes the runs_ array from the text run.
@@ -343,6 +348,10 @@ private:
// Returns the total width of a single item.
int advanceForItem(int) const;
+ bool containsMissingGlyphs(const Shaping&,
+ const SCRIPT_ITEM&,
+ const SCRIPT_FONTPROPERTIES*) const;
+
// Shapes a run (pointed to by |input|) using |hfont| first.
// Tries a series of fonts specified retrieved with NextWinFontData
// and finally a font covering characters in |*input|. A string pointed
@@ -384,6 +393,7 @@ private:
int m_ascent;
LOGFONT m_logfont;
int m_style;
+ WORD m_spaceGlyph;
// Options, see the getters/setters above.
bool m_directionalOverride;
Index: Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp
===================================================================
--- Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp (revision 84099)
+++ Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp (working copy)
@@ -43,7 +43,8 @@ UniscribeHelperTextRun::UniscribeHelperT
: UniscribeHelper(run.characters(), run.length(), run.rtl(),
font.primaryFont()->platformData().hfont(),
font.primaryFont()->platformData().scriptCache(),
- font.primaryFont()->platformData().scriptFontProperties())
+ font.primaryFont()->platformData().scriptFontProperties(),
+ font.primaryFont()->spaceGlyph())
, m_font(&font)
, m_fontIndex(0)
{
@@ -69,7 +70,7 @@ UniscribeHelperTextRun::UniscribeHelperT
SCRIPT_CACHE* scriptCache,
SCRIPT_FONTPROPERTIES* fontProperties)
: UniscribeHelper(input, inputLength, isRtl, hfont,
- scriptCache, fontProperties)
+ scriptCache, fontProperties, 0)
, m_font(0)
, m_fontIndex(-1)
{
Index: LayoutTests/ChangeLog
===================================================================
--- LayoutTests/ChangeLog (revision 84100)
+++ LayoutTests/ChangeLog (working copy)
@@ -1,3 +1,21 @@
+2011-04-17 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by NOBODY (OOPS!).
+
+ Add a complex-script version of zero-width-characters.html.
+ and add U+FEFF to zero-width-characters.html
+ Chromium Linux fails the test because U+FEFF is rendered
+ with a non-zero width glyph.
+ Filed http://bugs.webkit.org/show_bug.cgi?id=58741 and noted
+ as such in test_expectation.txt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48860
+
+ * fast/text/zero-width-characters-complex-script-expected.txt: Added.
+ * fast/text/zero-width-characters-complex-script.html: Added.
+ * fast/text/zero-width-characters.html:
+ * platform/chromium/test_expectations.txt:
+
2011-04-16 Dan Bernstein <mitz@apple.com>
Updated results for fast/block/float/032.html after r84096. Filed http://webkit.org/b/58736 to
Index: LayoutTests/fast/text/zero-width-characters-complex-script-expected.txt
===================================================================
--- LayoutTests/fast/text/zero-width-characters-complex-script-expected.txt (revision 0)
+++ LayoutTests/fast/text/zero-width-characters-complex-script-expected.txt (revision 0)
@@ -0,0 +1,3 @@
+This test checks various characters that should always be zero width to ensure that they are when enclosed by complex script characters. The WebKit text system ensures this in a way that's independent of the fonts installed on the system.
+
+PASS: All characters had zero-width.
Index: LayoutTests/fast/text/zero-width-characters-complex-script.html
===================================================================
--- LayoutTests/fast/text/zero-width-characters-complex-script.html (revision 0)
+++ LayoutTests/fast/text/zero-width-characters-complex-script.html (revision 0)
@@ -0,0 +1,66 @@
+<head>
+<script>
+
+function testChar(ch)
+{
+ // Strings a and b selected here do not have any 'interaction' between them.
+ var a = "\u0915\u093E"
+ var b = "\u0916";
+ var span = document.getElementById("characters");
+ span.firstChild.data = a + b;
+ var abWidth = span.offsetWidth;
+ span.firstChild.data = a;
+ var aWidth = span.offsetWidth;
+ span.firstChild.data = a + String.fromCharCode(ch) + b;
+ var abWithChWidth = span.offsetWidth;
+
+ if (abWithChWidth > abWidth)
+ return 1;
+ if (abWidth > aWidth)
+ return 0;
+ return 1;
+}
+
+function test()
+{
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+ var failedCount = 0;
+ for (var i = 1; i < 32; ++i)
+ if (i != 9 && i != 10 && i != 13)
+ failedCount += testChar(i);
+
+ for (var i = 0x7F; i < 0xA0; ++i)
+ failedCount += testChar(i);
+ failedCount += testChar(0xAD);
+ // ZWJ (U+200C) and ZWNJ (U+200D) are excluded because they
+ // can affect the rendering in complex script text.
+ failedCount += testChar(0x200B);
+ failedCount += testChar(0x200E);
+ failedCount += testChar(0x200F);
+ failedCount += testChar(0x202A);
+ failedCount += testChar(0x202B);
+ failedCount += testChar(0x202C);
+ failedCount += testChar(0x202D);
+ failedCount += testChar(0x202E);
+ failedCount += testChar(0xFEFF);
+ failedCount += testChar(0xFFFC);
+
+ var testArea = document.getElementById("testArea");
+ testArea.parentNode.removeChild(testArea);
+
+ if (failedCount > 0)
+ result = "FAIL: " + failedCount + " characters had non-zero width" +
+ " or failed to get measured.";
+ else
+ result = "PASS: All characters had zero-width.";
+ document.getElementById("result").firstChild.data = result;
+}
+</script>
+</head>
+<body onload="test()">
+<p>This test checks various characters that should always be zero width to ensure that they are when enclosed by complex script characters.
+The WebKit text system ensures this in a way that's independent of the fonts installed on the system.</p>
+<p id="result">FAIL: Script did not run to completion.</p>
+<p id="testArea"><span id="characters">काख</span></p>
+</body>
Index: LayoutTests/fast/text/zero-width-characters.html
===================================================================
--- LayoutTests/fast/text/zero-width-characters.html (revision 84099)
+++ LayoutTests/fast/text/zero-width-characters.html (working copy)
@@ -13,6 +13,7 @@ function test()
testString += String.fromCharCode(0x200D);
testString += String.fromCharCode(0x200E);
testString += String.fromCharCode(0x200F);
+ testString += String.fromCharCode(0xFEFF);
testString += String.fromCharCode(0xFFFC);
var span = document.getElementById("characters");
var abWidth = span.offsetWidth;
Index: LayoutTests/platform/chromium/test_expectations.txt
===================================================================
--- LayoutTests/platform/chromium/test_expectations.txt (revision 84099)
+++ LayoutTests/platform/chromium/test_expectations.txt (working copy)
@@ -3534,4 +3534,5 @@ BUGMORRITA : fast/html/details-remove-su
BUGMORRITA : fast/html/details-writing-mode.html = FAIL
BUGWK58619 GPU LINUX WIN : media/video-volume-slider.html = IMAGE
+BUGWK58741 LINUX : fast/text/zero-width-characters-complex-script.html = FAIL
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84264
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 19 Apr 2011 17:15:25 +0000 (17:15 +0000)]
2011-04-19 Igor Oliveira <igor.oliveira@openbossa.org>
Reviewed by Andreas Kling.
[Qt] X11: Text selection is causing oncopy event to be called
https://bugs.webkit.org/show_bug.cgi?id=58656
Always when text is selected the oncopy event is fired, this behavior does
not exist in Firefox or Chrome. Now, when selecting a text, QtWebKit
is making multi part-copies (with rich text metadata), the multi-part
data can be obtained by data transfer items interface when supported by QtWebKit.
Also, copies to the clipboard of a selected image, is not supported by Chrome and
Firefox and was removed from QtWebKit.
* Api/qwebpage.cpp:
(QWebPagePrivate::handleClipboard):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84263
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Tue, 19 Apr 2011 17:05:16 +0000 (17:05 +0000)]
2011-04-19 Jer Noble <jer.noble@apple.com>
Reviewed by Adam Roben.
REGRESSION (r84206): 50 tests failing on SnowLeopard Intel Release (WebKit2 Tests) due to extra "supportsFullScreen() == true" output
https://bugs.webkit.org/show_bug.cgi?id=58890
Add a layoutTestController flag which controls when full screen callbacks are written to stdout.
Defaults to false.
* WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added dumpFullScreenCallbacks().
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::supportsFullScreen): Only write to stdout if shouldDumpFullScreenCallbacks is set.
(WTR::InjectedBundlePage::enterFullScreenForElement): Ditto.
(WTR::InjectedBundlePage::exitFullScreenForElement): Ditto.
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR::LayoutTestController::LayoutTestController): Initialize new ivar.
* WebKitTestRunner/InjectedBundle/LayoutTestController.h:
(WTR::LayoutTestController::dumpFullScreenCallbacks): Added.
(WTR::LayoutTestController::shouldDumpFullScreenCallbacks): Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84262
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@webkit.org [Tue, 19 Apr 2011 17:00:46 +0000 (17:00 +0000)]
Extend the DIBPixelData class with the facility for writing the
bitmap representation to disk for debugging purposes.
https://bugs.webkit.org/show_bug.cgi?id=58862.
Reviewed by Adam Roben.
* platform/graphics/win/DIBPixelData.cpp:
(WebCore::DIBPixelData::writeToFile): New function.
* platform/graphics/win/DIBPixelData.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84261
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 19 Apr 2011 16:56:17 +0000 (16:56 +0000)]
2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
https://bugs.webkit.org/show_bug.cgi?id=58883
* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::didReceiveData):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didReceiveContentLength):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didReceiveContentLength):
* inspector/InspectorResourceAgent.h:
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkDispatcher.prototype.dataReceived):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveData):
(WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
* loader/DocumentThreadableLoader.h:
* loader/FrameLoaderClient.h:
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didReceiveData):
* loader/MainResourceLoader.h:
* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::didReceiveData):
* loader/NetscapePlugInStreamLoader.h:
* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::didReceiveData):
(WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
(WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
* loader/ResourceLoadNotifier.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveData):
* loader/ResourceLoader.h:
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveData):
* loader/SubresourceLoader.h:
* loader/SubresourceLoaderClient.h:
(WebCore::SubresourceLoaderClient::didReceiveData):
(WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didReceiveData):
* loader/appcache/ApplicationCacheGroup.h:
* loader/appcache/ApplicationCacheHost.h:
* notifications/Notification.cpp:
(WebCore::Notification::didReceiveData):
* notifications/Notification.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::didReceiveData):
* platform/network/BlobResourceHandle.cpp:
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::didReceiveData):
* platform/network/android/ResourceHandleAndroid.cpp:
(WebCore::SyncLoader::didReceiveData):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
* platform/network/curl/ResourceHandleCurl.cpp:
* platform/network/mac/ResourceHandleMac.mm:
(WebCoreSynchronousLoaderClient::didReceiveData):
* platform/network/soup/ResourceHandleSoup.cpp:
* platform/network/win/ResourceHandleWin.cpp:
* workers/WorkerScriptLoader.h:
* xml/XMLHttpRequest.h:
2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
https://bugs.webkit.org/show_bug.cgi?id=58883
Renamed lengthReceived to encodedDataLength/dataLength.
* public/WebURLLoaderClient.h:
(WebKit::WebURLLoaderClient::didReceiveData):
* src/AssociatedURLLoader.cpp:
(WebKit::AssociatedURLLoader::ClientAdapter::didReceiveCachedMetadata):
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::dispatchDidReceiveContentLength):
* src/FrameLoaderClientImpl.h:
* src/ResourceHandle.cpp:
(WebCore::ResourceHandleInternal::didReceiveData):
2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
https://bugs.webkit.org/show_bug.cgi?id=58883
* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::dispatchDidReceiveContentLength):
* WebCoreSupport/FrameLoaderClientEfl.h:
2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
https://bugs.webkit.org/show_bug.cgi?id=58883
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
* WebCoreSupport/FrameLoaderClientGtk.h:
* webkit/webkitdownload.cpp:
(DownloadClient::didReceiveData):
2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
https://bugs.webkit.org/show_bug.cgi?id=58883
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
https://bugs.webkit.org/show_bug.cgi?id=58883
* WebCoreSupport/WebFrameLoaderClient.h:
2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
https://bugs.webkit.org/show_bug.cgi?id=58883
* WebCoreSupport/FrameLoaderClientWinCE.h:
2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
https://bugs.webkit.org/show_bug.cgi?id=58883
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84260
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
senorblanco@chromium.org [Tue, 19 Apr 2011 16:52:34 +0000 (16:52 +0000)]
2011-04-19 Stephen White <senorblanco@chromium.org>
Reviewed by Eric Seidel.
Pull framebuffer clearing out into its own function.
https://bugs.webkit.org/show_bug.cgi?id=58897
Covered by fast/canvas and canvas/philip tests.
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::clearFramebuffer):
(WebCore::DrawingBuffer::reset):
* platform/graphics/gpu/DrawingBuffer.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84259
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 19 Apr 2011 16:36:05 +0000 (16:36 +0000)]
2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Chromium DevTools: Network panel timing test is flaky
https://bugs.webkit.org/show_bug.cgi?id=58699
Fixed network timing test flakiness.
* src/js/Tests.js:
(.TestSuite.prototype.testNetworkTiming.finishResource):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84258
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 19 Apr 2011 16:25:09 +0000 (16:25 +0000)]
2011-04-19 Brian Salomon <bsalomon@google.com>
Reviewed by Eric Seidel.
When flushing GrContext in ~PlatformContextSkia be sure correct GL context is set
https://bugs.webkit.org/show_bug.cgi?id=58788
Chromium browser test will be added that loads canvas page and then an
acclerated-composited page. Test must trigger ~PlatformContextSkia()
followed by invocation of GL compositor.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::~PlatformContextSkia):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84257
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 19 Apr 2011 16:01:13 +0000 (16:01 +0000)]
2011-04-19 Kristóf Kosztyó <Kosztyo.Kristof@stud.u-szeged.hu>
Reviewed by Andreas Kling.
[Qt] fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html fails (DRT sideeffect)
https://bugs.webkit.org/show_bug.cgi?id=35086
* platform/qt/Skipped: unskip fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
2011-04-19 Kristóf Kosztyó <Kosztyo.Kristof@stud.u-szeged.hu>
Reviewed by Andreas Kling.
[Qt] fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html fails (DRT sideeffect)
https://bugs.webkit.org/show_bug.cgi?id=35086
fast/xmlhttprequest/xmlhttprequest-no-file-access.html caused
a DRT sideeffect problem, because the resetSettings didn't set
the default value of LocalContentCanAccessFileUrls.
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84256
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jknotten@chromium.org [Tue, 19 Apr 2011 15:38:35 +0000 (15:38 +0000)]
2011-04-19 John Knottenbelt <jknotten@chromium.org>
Unreviewed.
[Chromium] Mark fast/block/float/overhanging-tall-block.html as failing on Windows and Linux.
https://bugs.webkit.org/show_bug.cgi?id=58901
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84255
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
caseq@chromium.org [Tue, 19 Apr 2011 14:43:24 +0000 (14:43 +0000)]
2011-04-19 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: add chrome.devTools alias to webInspector namespace for chromium port
https://bugs.webkit.org/show_bug.cgi?id=58894
* src/js/DevTools.js:
(WebInspector.platformExtensionAPI):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84254
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andreas.kling@nokia.com [Tue, 19 Apr 2011 14:35:33 +0000 (14:35 +0000)]
2011-04-19 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Antonio Gomes.
WebKit2: Typo fix in WebPopupMenu::Type.
https://bugs.webkit.org/show_bug.cgi?id=58891
Fixed a typo, Seperator -> Separator.
Also removed m_ prefix on an argument variable name.
* Shared/WebPopupItem.h:
* UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::populate):
* WebProcess/WebCoreSupport/WebPopupMenu.cpp:
(WebKit::WebPopupMenu::populateItems):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84253
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 19 Apr 2011 14:05:00 +0000 (14:05 +0000)]
[Qt] REGRESSION(84176): http/tests/xmlhttprequest/event-listener-gc.html fails
https://bugs.webkit.org/show_bug.cgi?id=58871
Unreviewed, rolling out r84176, r84178, r84186, r84212 and r84231.
http://trac.webkit.org/changeset/84176 (original patch)
http://trac.webkit.org/changeset/84178 (original patch - part 2)
http://trac.webkit.org/changeset/84186 (build fix)
http://trac.webkit.org/changeset/84212
http://trac.webkit.org/changeset/84231 (skip failing test)
original bugs:
- https://bugs.webkit.org/show_bug.cgi?id=58718
- https://bugs.webkit.org/show_bug.cgi?id=58853
Source/JavaScriptCore:
* heap/MarkStack.h:
(JSC::MarkStack::deprecatedAppendValues):
(JSC::MarkStack::append):
(JSC::MarkStack::deprecatedAppend):
* runtime/JSValue.h:
* runtime/WriteBarrier.h:
(JSC::DeprecatedPtr::DeprecatedPtr):
(JSC::DeprecatedPtr::get):
(JSC::DeprecatedPtr::operator*):
(JSC::DeprecatedPtr::operator->):
(JSC::DeprecatedPtr::slot):
(JSC::DeprecatedPtr::operator UnspecifiedBoolType*):
(JSC::DeprecatedPtr::operator!):
(JSC::operator==):
Source/WebCore:
* bridge/qt/qt_class.cpp:
(JSC::Bindings::QtClass::fallbackObject):
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::removeCachedMethod):
(JSC::Bindings::QtInstance::markAggregate):
* bridge/qt/qt_instance.h:
LayoutTests:
* platform/qt/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84252
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 19 Apr 2011 13:41:54 +0000 (13:41 +0000)]
2011-04-19 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r84050.
http://trac.webkit.org/changeset/84050
https://bugs.webkit.org/show_bug.cgi?id=58892
fast/dom/HTMLKeygenElement/keygen.html is crashing on Chromium
(Requested by jknotten on #webkit).
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::parserAddChild):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::setDocType):
* dom/Element.h:
* dom/Node.cpp:
(WebCore::Node::treeScope):
(WebCore::Node::setTreeScope):
(WebCore::Node::setTreeScopeRecursively):
* dom/Node.h:
(WebCore::Node::document):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
* dom/ShadowRoot.h:
* dom/TreeScope.cpp:
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::setParentTreeScope):
* dom/TreeScope.h:
* rendering/RenderSlider.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84251
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kinuko@chromium.org [Tue, 19 Apr 2011 13:15:23 +0000 (13:15 +0000)]
2011-04-19 Kinuko Yasuda <kinuko@chromium.org>
Not reviewed; another build fix attempt.
* src/StorageInfoChromium.cpp:
(WebCore::StorageInfo::queryUsageAndQuota):
(WebCore::StorageInfo::requestQuota):
* src/WebStorageQuotaCallbacksImpl.cpp:
(WebKit::WebStorageQuotaCallbacksImpl::WebStorageQuotaCallbacksImpl):
* src/WebStorageQuotaCallbacksImpl.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84250
268f45cc-cd09-0410-ab3c-
d52691b4dbfc