WebKit-https.git
7 years ago[EFL][WK1] Gardening AC testcases in efl-wk1
commit-queue@webkit.org [Wed, 28 Nov 2012 08:32:05 +0000 (08:32 +0000)]
[EFL][WK1] Gardening AC testcases in efl-wk1
https://bugs.webkit.org/show_bug.cgi?id=103488

Unreviewed, EFL gardening.

efl-wk1 doesn't fully support AC.

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-28

* platform/efl-wk1/TestExpectations:

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

7 years agoUnreviewed. Adding myself to committers list.
li.yin@intel.com [Wed, 28 Nov 2012 08:31:00 +0000 (08:31 +0000)]
Unreviewed. Adding myself to committers list.

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

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

7 years agoImprove WebSocketChannel connection failure console messages.
mkwst@chromium.org [Wed, 28 Nov 2012 07:58:35 +0000 (07:58 +0000)]
Improve WebSocketChannel connection failure console messages.
https://bugs.webkit.org/show_bug.cgi?id=103448

Reviewed by Adam Barth.

Source/WebCore:

When a WebSocket connection fails, the current implementation of
WebSocketChannel::fail binds the generated console message to the
document's URL, but doesn't give much indication as to the connection
itself. This patch adjusts the console message to explicitly show the
URL of the failed connection to give developers a better chance of
debugging and resolving errors.

* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::fail):
    Drop the URL parameter from addConsoleMessage, in favour of adding
    the WebSocketHandshake's URL to the message text.

LayoutTests:

* http/tests/websocket/tests/hybi/bad-handshake-crash-expected.txt:
* http/tests/websocket/tests/hybi/broken-utf8-expected.txt:
* http/tests/websocket/tests/hybi/close-before-open-expected.txt:
* http/tests/websocket/tests/hybi/close-code-and-reason-expected.txt:
* http/tests/websocket/tests/hybi/close-expected.txt:
* http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt:
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt:
* http/tests/websocket/tests/hybi/fragmented-control-frame-expected.txt:
* http/tests/websocket/tests/hybi/handshake-error-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-maxlength-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-connection-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-cr-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-upgrade-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-prepended-null-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header-expected.txt:
* http/tests/websocket/tests/hybi/interleaved-fragments-expected.txt:
* http/tests/websocket/tests/hybi/invalid-continuation-expected.txt:
* http/tests/websocket/tests/hybi/invalid-encode-length-expected.txt:
* http/tests/websocket/tests/hybi/invalid-masked-frames-from-server-expected.txt:
* http/tests/websocket/tests/hybi/long-control-frame-expected.txt:
* http/tests/websocket/tests/hybi/long-invalid-header-expected.txt:
* http/tests/websocket/tests/hybi/reserved-bits-expected.txt:
* http/tests/websocket/tests/hybi/reserved-opcodes-expected.txt:
* http/tests/websocket/tests/hybi/send-file-blob-fail-expected.txt:
* http/tests/websocket/tests/hybi/too-long-payload-expected.txt:
* http/tests/websocket/tests/hybi/websocket-event-target-expected.txt:
* http/tests/websocket/tests/hybi/workers/close-code-and-reason-expected.txt:
* http/tests/websocket/tests/hybi/workers/close-expected.txt:
    Update test expectations with the new error messages.

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

7 years agoUnreviewed functionality fix, return the height in ImageFrame::height()
zandobersek@gmail.com [Wed, 28 Nov 2012 07:42:36 +0000 (07:42 +0000)]
Unreviewed functionality fix, return the height in ImageFrame::height()
on non-Skia platforms.

* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageFrame::height):

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

7 years agoUnreviewed. Adding myself to committers.py.
christophe.dumez@intel.com [Wed, 28 Nov 2012 06:59:27 +0000 (06:59 +0000)]
Unreviewed. Adding myself to committers.py.

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

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

7 years ago[Chromium] Unreviewed, mark http/tests/inspector/indexeddb/database-data.html as...
apavlov@chromium.org [Wed, 28 Nov 2012 06:50:45 +0000 (06:50 +0000)]
[Chromium] Unreviewed, mark http/tests/inspector/indexeddb/database-data.html as flaky on Linux, too.

* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Unreviewed, mark http/tests/canvas/canvas-slow-font-loading.html as failin...
apavlov@chromium.org [Wed, 28 Nov 2012 06:07:32 +0000 (06:07 +0000)]
[Chromium] Unreviewed, mark http/tests/canvas/canvas-slow-font-loading.html as failing on all of Mac.

* platform/chromium/TestExpectations:

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

7 years agoOptimization in image decoding
bfulgham@webkit.org [Wed, 28 Nov 2012 05:41:24 +0000 (05:41 +0000)]
Optimization in image decoding
https://bugs.webkit.org/show_bug.cgi?id=88424

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-27
Reviewed by Brent Fulgham.

Optimization in image decoding.
Reduce branching and multiplications in GIF image decoding loops and functions.
Rebase and update of original patch by Misha Tyutyunik <michael.tyuytunik@nokia.com>

Covered by existing tests.

* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):

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

7 years agoUnreviewed. Adding myself to committers list.
vivek.vg@samsung.com [Wed, 28 Nov 2012 05:39:03 +0000 (05:39 +0000)]
Unreviewed. Adding myself to committers list.

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

7 years ago[Chromium] Test expectation update
tkent@chromium.org [Wed, 28 Nov 2012 05:35:44 +0000 (05:35 +0000)]
[Chromium] Test expectation update
https://bugs.webkit.org/show_bug.cgi?id=96720

* platform/chromium/TestExpectations:
datetimelocal-multiple-fields-preserve-value-after-history-back.html is flaky.

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

7 years ago[EFL][WK2] Duplicated WebPageGroup initialization
commit-queue@webkit.org [Wed, 28 Nov 2012 05:28:27 +0000 (05:28 +0000)]
[EFL][WK2] Duplicated WebPageGroup initialization
https://bugs.webkit.org/show_bug.cgi?id=103229

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-11-27
Reviewed by Gyuyoung Kim.

WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.

As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
is created with default context.

* UIProcess/API/efl/ewk_view.cpp:
(createEwkView):

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

7 years agoTextIterator unnecessarily converts 8 bit strings to 16 bits
msaboff@apple.com [Wed, 28 Nov 2012 05:27:34 +0000 (05:27 +0000)]
TextIterator unnecessarily converts 8 bit strings to 16 bits
https://bugs.webkit.org/show_bug.cgi?id=103295

Reviewed by Brent Fulgham.

Source/WebCore:

Changed TextIterator to use the contained string instead of calling characters() on that string.
Other sources of text, like emitCharacter() still use the contained UChar* buffer.
Added appendTextToStringBuilder() to append the text contents of the current iterator to a string builder
irrespective of the source of the text.

No new tests as functionality covered by existing tests.

* WebCore.exp.in: Updated plainText export and eliminated plainTextToMallocAllocatedBuffer export
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::stringForVisiblePositionRange): Updated to use TextIterator::appendTextToStringBuilder()
* editing/TextIterator.cpp:
(WebCore::TextIterator::characterAt): New function to return the indexed character of the current TextIterator
(WebCore::TextIterator::appendTextToStringBuilder): Added method to append whatever the current text to a StringBuilder
(WebCore::TextIterator::emitText): Eliminated accessing the character data via characters().
(WebCore::TextIterator::rangeFromLocationAndLength): Changed to use characterAt().
(WebCore::plainText): Combined with plainTextToMallocAllocatedBuffer().
* editing/TextIterator.h:
(WebCore::TextIterator::startOffset): New getter.
(WebCore::TextIterator::string): New getter.
(WebCore::TextIterator::characters): Updated to use correct test source.
* page/ContextMenuController.cpp:
(WebCore::selectionContainsPossibleWord): Changed to use characterAt().

Source/WebKit/mac:

Updated _stringForRange to use plainText() instead of removed plainTextToMallocAllocatedBuffer().

* WebView/WebFrame.mm:
(-[WebFrame _stringForRange:]):

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

7 years agoInline ImageFrame width() and height()
noel.gordon@gmail.com [Wed, 28 Nov 2012 05:24:15 +0000 (05:24 +0000)]
Inline ImageFrame width() and height()
https://bugs.webkit.org/show_bug.cgi?id=103401

Reviewed by Brent Fulgham.

Inline ImageFrame width() and height() to improve the performance of ImageFrame
function getAddr(x,y) per https://bugs.webkit.org/show_bug.cgi?id=88424#c38

No new tests. Covered by many existing tests.

* platform/image-decoders/ImageDecoder.cpp: Remove width() and height() routines
since they now inlined in the ImageFrame class definition in ImageDecoder.h.
* platform/image-decoders/ImageDecoder.h: Add inline definitions of width() and
height() for all ports.
* platform/image-decoders/skia/ImageDecoderSkia.cpp:
(WebCore::ImageFrame::width): Remove.
(WebCore::ImageFrame::height): Remove.

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

7 years agoBring back partytime!
tony@chromium.org [Wed, 28 Nov 2012 05:13:57 +0000 (05:13 +0000)]
Bring back partytime!
https://bugs.webkit.org/show_bug.cgi?id=103466

Reviewed by Adam Barth.

"code 404, message Unknown function images/partytime_gif" since we didn't
allow .gif or .png files to be served.

* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningHTTPRequestHandler):

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

7 years agoRemove ASSERT_NOT_REACHED() from IDBCursorBackendImpl::postSuccessHandlerCallback()
commit-queue@webkit.org [Wed, 28 Nov 2012 04:54:01 +0000 (04:54 +0000)]
Remove ASSERT_NOT_REACHED() from IDBCursorBackendImpl::postSuccessHandlerCallback()
https://bugs.webkit.org/show_bug.cgi?id=103461

Patch by Michael Pruett <michael@68k.org> on 2012-11-27
Reviewed by Kentaro Hara.

The assertion is applicable only to the Chromium port.

Tests: storage/indexeddb/*

* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::postSuccessHandlerCallback):

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

7 years agoUnreviewed gardening: http/tests/inspector/network/network-xhr-replay.html times...
noel.gordon@gmail.com [Wed, 28 Nov 2012 04:48:44 +0000 (04:48 +0000)]
Unreviewed gardening: http/tests/inspector/network/network-xhr-replay.html times-out on win release
https://bugs.webkit.org/show_bug.cgi?id=96953

* platform/chromium/TestExpectations:

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

7 years ago[Refactoring] HasSelectorForClassStyleFunctor in Element.cpp seems verbose
shinyak@chromium.org [Wed, 28 Nov 2012 04:37:21 +0000 (04:37 +0000)]
[Refactoring] HasSelectorForClassStyleFunctor in Element.cpp seems verbose
https://bugs.webkit.org/show_bug.cgi?id=103474

Reviewed by Hajime Morita.

The code introduced in r135174 looks verbose. We would like to make it simpler.
We have removed several inline functions and unnecessary structs.

No new tests, simple refactoring.

* dom/Element.cpp:
(WebCore):
(WebCore::checkSelectorForClassChange):
(WebCore::Element::classAttributeChanged):
(WebCore::Element::shouldInvalidateDistributionWhenAttributeChanged):

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

7 years ago[Chromium] Update test results for recent forms changes
tkent@chromium.org [Wed, 28 Nov 2012 03:18:03 +0000 (03:18 +0000)]
[Chromium] Update test results for recent forms changes

* platform/chromium-linux/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-linux/fast/forms/date/date-appearance-pseudo-classes-expected.png:
* platform/chromium-linux/fast/forms/month/month-appearance-basic-expected.png:
* platform/chromium-linux/fast/forms/month/month-appearance-pseudo-classes-expected.png:
* platform/chromium-linux/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-linux/fast/forms/time/time-appearance-pseudo-classes-expected.png:
* platform/chromium-linux/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-linux/fast/forms/week/week-appearance-pseudo-classes-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/date/date-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-lion/fast/forms/month/month-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/month/month-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-lion/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/time/time-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-lion/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/week/week-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-win-xp/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events-expected.txt: Added.
* platform/chromium-win/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/date/date-appearance-pseudo-classes-expected.png:
* platform/chromium-win/fast/forms/month/month-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/month/month-appearance-pseudo-classes-expected.png:
* platform/chromium-win/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/time/time-appearance-pseudo-classes-expected.png:
* platform/chromium-win/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/week/week-appearance-pseudo-classes-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium/TestExpectations:

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

7 years agoSupport proper <percent> / calc() resolution for grid items
jchaffraix@webkit.org [Wed, 28 Nov 2012 02:16:36 +0000 (02:16 +0000)]
Support proper <percent> / calc() resolution for grid items
https://bugs.webkit.org/show_bug.cgi?id=102968

Reviewed by Ojan Vafai.

Source/WebCore:

This change introduces a mechanism similar to logical height / width override
but for containing block. This is required as we don't have a renderer for the
grid area but any <percent> or calc() size should be resolved against the grid
area size (which is sized after the grid tracks).

Tests: fast/css-grid-layout/calc-resolution-grid-item.html
       fast/css-grid-layout/percent-resolution-grid-item.html
       fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html
       fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::willBeDestroyed):
Remove any containing block size override.

(WebCore::RenderBox::overrideContainingBlockContentLogicalWidth):
(WebCore::RenderBox::overrideContainingBlockContentLogicalHeight):
(WebCore::RenderBox::hasOverrideContainingBlockLogicalWidth):
(WebCore::RenderBox::hasOverrideContainingBlockLogicalHeight):
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalWidth):
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalHeight):
(WebCore::RenderBox::clearContainingBlockOverrideSize):
Containing block override size functions.

(WebCore::RenderBox::containingBlockLogicalWidthForContent):
Updated the function to check for any override logical width.

(WebCore::RenderBox::containingBlockLogicalHeightForContent):
New function, similar to RenderBox::containingBlockLogicalWidthForContent.

(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
Updated these function to return overrideContainingBlockContentLogicalHeight as needed.

(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
Updated these functions to use the new containingBlockLogicalHeightForContent instead
of availableLogicalHeight.

* rendering/RenderBox.h:
Added the previous new functions.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGridItems):
Updated to override the containing block size so that we properly size our grid items.

LayoutTests:

* fast/css-grid-layout/calc-resolution-grid-item-expected.txt: Added.
* fast/css-grid-layout/calc-resolution-grid-item.html: Added.
* fast/css-grid-layout/percent-resolution-grid-item-expected.txt: Added.
* fast/css-grid-layout/percent-resolution-grid-item.html: Added.
Test that checks that our override containing block's logical width / height logic
works as expected.

* fast/css-grid-layout/percent-grid-item-in-percent-grid-track-expected.txt: Added.
* fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html: Added.
* fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html: Added.
* fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid-expected.txt: Added.
Those test cases covers the cases of percentage sized grid items with percentage sized grid tracks
inside a fixed or percentage sized grid element. They don't pass yet as we don't support percentage
sized grid tracks (see bug 103335).

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

7 years agoUnreviewed gardening. Add more tests that started failing after http://trac.webkit...
yael@webkit.org [Wed, 28 Nov 2012 02:08:35 +0000 (02:08 +0000)]
Unreviewed gardening. Add more tests that started failing after trac.webkit.org/changeset/135935
to TestExpectations. Mark pailures as [ ImageOnlyFailure Pass ] because
the failures on Release and Debug bots are not the same.

* platform/efl/TestExpectations:

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

7 years agoFix build errors by r135955.
tkent@chromium.org [Wed, 28 Nov 2012 02:03:17 +0000 (02:03 +0000)]
Fix build errors by r135955.

* dom/ShadowRoot.cpp: Use struct instead of class.
* dom/TreeScope.cpp: Ditto.

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

7 years agoREGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_siz...
commit-queue@webkit.org [Wed, 28 Nov 2012 01:52:32 +0000 (01:52 +0000)]
REGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().
https://bugs.webkit.org/show_bug.cgi?id=103171

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-27
Reviewed by Noam Rosenthal.

Ensure that TextureMapperLayer has a backing store when the layer has
drawsContent and contentsVisible properties and the size of the layer is not
empty.

LayerTreeRenderer::setLayerState() must not set a backing store to
TextureMapperLayer because setLayerState() just changes states of
GraphicsLayerTextureMapper instead of TextureMapperLayer.

Now LayerTreeRenderer::flushLayerChanges() sets a backing store as well as layer
states to TextureMapperLayer.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::prepareContentBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
(WebKit::LayerTreeRenderer::flushLayerChanges):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebCore):

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

7 years agoRebaseline and remove expectations for deferred virtual test suite
danakj@chromium.org [Wed, 28 Nov 2012 01:48:01 +0000 (01:48 +0000)]
Rebaseline and remove expectations for deferred virtual test suite
https://bugs.webkit.org/show_bug.cgi?id=102294

Unreviewed gardening.

These three tests are failing on mac, but other platforms are fine.
Rebaseline windows, and mark as failing only for Mac.

* platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-css-expected.png:
* platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoUnreviewed gardening: crashing on XP
rjkroege@chromium.org [Wed, 28 Nov 2012 01:44:49 +0000 (01:44 +0000)]
Unreviewed gardening: crashing on XP
fast/frames/sandboxed-iframe-navigation-parent.html
https://bugs.webkit.org/show_bug.cgi?id=103472

* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: [Timeline] "Show CPU activity on the ruler" settings checkbox does...
caseq@chromium.org [Wed, 28 Nov 2012 01:43:20 +0000 (01:43 +0000)]
Web Inspector: [Timeline] "Show CPU activity on the ruler" settings checkbox does not take effect until Inspector restart
https://bugs.webkit.org/show_bug.cgi?id=102210

Patch by Eugene Klyuchnikov <eustas@chromium.com> on 2012-11-27
Reviewed by Pavel Feldman.

The checkbox changes should take effect in the real time.

* inspector/front-end/SettingsScreen.js:
(WebInspector.GenericSettingsTab):
Do not show checkpox if browser is not capable.
* inspector/front-end/TimelinePanel.js:
Added setting change listener.

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

7 years agoPDFPlugin: Should not be able to edit read-only text annotations
timothy_horton@apple.com [Wed, 28 Nov 2012 01:33:31 +0000 (01:33 +0000)]
PDFPlugin: Should not be able to edit read-only text annotations
https://bugs.webkit.org/show_bug.cgi?id=103387
<rdar://problem/12752313>

Reviewed by Alexey Proskuryakov.

Don't allow read-only annotations to become active.

* WebKit2.xcodeproj/project.pbxproj: Add PDFAnnotationTextWidgetDetails.h.
* WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h: Added.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::setActiveAnnotation): Bail if the annotation is read-only.
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Move PDFAnnotationTextWidget details category to PDFAnnotationTextWidgetDetails.h

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

7 years agoConvert some remaining uses of FILE* to PrintStream&.
fpizlo@apple.com [Wed, 28 Nov 2012 01:29:29 +0000 (01:29 +0000)]
Convert some remaining uses of FILE* to PrintStream&.

Rubber stamped by Mark Hahnenberg.

Source/JavaScriptCore:

* bytecode/ValueProfile.h:
(JSC::ValueProfileBase::dump):
* bytecode/ValueRecovery.h:
(JSC::ValueRecovery::dump):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseCodeBlock):
* dfg/DFGNode.h:
(JSC::DFG::Node::dumpChildren):

Source/WTF:

* wtf/BitVector.cpp:
(WTF::BitVector::dump):
* wtf/BitVector.h:
(BitVector):

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

7 years agoCoordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
commit-queue@webkit.org [Wed, 28 Nov 2012 01:21:00 +0000 (01:21 +0000)]
Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=103298

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-27
Reviewed by Noam Rosenthal.

This patch makes LayerTreeRenderer assign a content backing store to
TextureMapperLayer only in setLayerState(). Currently, createTile() can assign
the backing store to TextureMapperLayer and it can break the invariant condition
of TextureMapperLayer: TextureMapperLayer can have its own backing store only if
the layer has following conditions: drawsContent, contentsVisible and non empty
size.

In addition, the modified code about creating and removing a backing store
matches the same purpose code of CoordinatedGraphicsLayer and
GraphicsLayerTextureMapepr.

* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::layerShouldHaveBackingStore):
(WebKit):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::prepareContentBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStore):
(WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
    This method does not create a backing store anymore because flushCompositingStateForThisLayerOnly()
    can create a backing store if needed. Moreover, we must sync a layer state prior to creating a backing store
    after this patch, because LayerTreeRenderer::createTile() does not create a backing store anymore.

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

7 years agoCompile time size assertions for TreeScope, ShadowRoot and ElementAttributeData.
akling@apple.com [Wed, 28 Nov 2012 01:15:05 +0000 (01:15 +0000)]
Compile time size assertions for TreeScope, ShadowRoot and ElementAttributeData.

Rubber-stamped by Anders Carlsson.

* dom/ShadowRoot.cpp:
(SameSizeAsShadowRoot):
* dom/TreeScope.cpp:
(SameSizeAsTreeScope):
* dom/ElementAttributeData.cpp: Derp.

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

7 years agoUnreviewed gardening:
rjkroege@chromium.org [Wed, 28 Nov 2012 01:14:40 +0000 (01:14 +0000)]
Unreviewed gardening:
Layout Test http/tests/navigation/slowmetaredirect-basic.html is failing
https://bugs.webkit.org/show_bug.cgi?id=103471

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed, land updated Gtk results after track limiter removal.
tony@chromium.org [Wed, 28 Nov 2012 01:09:02 +0000 (01:09 +0000)]
Unreviewed, land updated Gtk results after track limiter removal.

* fast/dom/HTMLInputElement/input-slider-update-expected.txt: Renamed from LayoutTests/platform/chromium/fast/dom/HTMLInputElement/input-slider-update-expected.txt.
* fast/forms/range/input-appearance-range-expected.txt: Renamed from LayoutTests/platform/chromium-mac/fast/forms/range/input-appearance-range-expected.txt.
* platform/gtk/TestExpectations:
* platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/gtk/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
* platform/gtk/fast/forms/box-shadow-override-expected.txt:
* platform/gtk/fast/forms/input-appearance-height-expected.txt:
* platform/gtk/fast/forms/range/input-appearance-range-expected.txt:
* platform/gtk/fast/forms/range/range-thumb-height-percentage-expected.txt: Added.
* platform/gtk/fast/forms/range/slider-padding-expected.txt:
* platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/gtk/fast/forms/range/slider-thumb-stylability-expected.txt:
* platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/gtk/fast/layers/video-layer-expected.txt:
* platform/gtk/fast/multicol/client-rects-expected.txt:
* platform/gtk/fast/repaint/slider-thumb-drag-release-expected.txt:
* platform/gtk/fast/repaint/slider-thumb-float-expected.txt:
* platform/gtk/media/audio-controls-rendering-expected.txt:
* platform/gtk/media/audio-repaint-expected.txt:
* platform/gtk/media/controls-after-reload-expected.txt:
* platform/gtk/media/controls-strict-expected.txt:
* platform/gtk/media/controls-styling-expected.txt:
* platform/gtk/media/controls-styling-strict-expected.txt:
* platform/gtk/media/controls-without-preload-expected.txt:
* platform/gtk/media/media-controls-clone-expected.txt:
* platform/gtk/media/video-controls-rendering-expected.txt:
* platform/gtk/media/video-display-toggle-expected.txt:
* platform/gtk/media/video-empty-source-expected.txt:
* platform/gtk/media/video-no-audio-expected.txt:
* platform/gtk/media/video-volume-slider-expected.txt:
* platform/gtk/media/video-zoom-controls-expected.txt:
* platform/mac/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Removed.
* platform/mac/fast/forms/range/input-appearance-range-expected.txt: Removed.

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

7 years agoConsolidate FrameLoader::load() into one function taking a FrameLoadRequest
simonjam@chromium.org [Wed, 28 Nov 2012 01:07:36 +0000 (01:07 +0000)]
Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
https://bugs.webkit.org/show_bug.cgi?id=102151

Reviewed by Adam Barth.

Source/WebCore:

There's a FIXME that we have too many FrameLoader::load*() functions. This patch consolidates 3 into 1.
There are still a few more load functions that will be consolidated later. Using FrameLoadRequest as
the interface into FrameLoader will also provide a place to pass in the initiator. Finally, this matches
the refactoring done with CachedResourceRequest and CachedResourceLoader.

No new tests. No change in functionality.

* WebCore.exp.in:
* loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::FrameLoadRequest):
(WebCore::FrameLoadRequest::setLockHistory): These are former arguments to load().
(WebCore::FrameLoadRequest::lockHistory): Ditto.
(FrameLoadRequest):
(WebCore::FrameLoadRequest::setShouldCheckNewWindowPolicy): Ditto.
(WebCore::FrameLoadRequest::shouldCheckNewWindowPolicy): Ditto.
(WebCore::FrameLoadRequest::substituteData): Ditto.
(WebCore::FrameLoadRequest::setSubstituteData): Ditto.
(WebCore::FrameLoadRequest::hasSubstituteData): Ditto.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::load): No change in behavior, just merged it all into one function.
* loader/FrameLoader.h:
(FrameLoader):
* page/DragController.cpp:
(WebCore::DragController::performDrag):

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPagePrivate::loadString):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::loadRequest):
(WebKit::WebFrameImpl::loadData):
* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::initializeLoader):

Source/WebKit/efl:

* ewk/ewk_frame.cpp:
(_ewk_frame_contents_set_internal):

Source/WebKit/gtk:

* webkit/webkitwebframe.cpp:
(webkit_web_frame_load_uri):
(webkit_web_frame_load_data):
(webkit_web_frame_load_request):

Source/WebKit/mac:

* Plugins/WebPluginController.mm:
* WebView/WebFrame.mm:
(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

Source/WebKit/qt:

* Api/qwebframe.cpp:
(QWebFrame::QWebFrame):
(QWebFrame::load):
(QWebFrame::setHtml):
(QWebFrame::setContent):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::setAlternateHtml):
(qt_dump_set_accepts_editing):
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::callErrorPageExtension):

Source/WebKit/win:

* WebFrame.cpp:
(WebFrame::loadRequest):
(WebFrame::loadData):

Source/WebKit/wince:

* WebView.cpp:
(WebView::load):

Source/WebKit/wx:

* WebFrame.cpp:
(WebKit::WebFrame::SetPageSource):

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performFrameLoadURLRequest):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):

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

7 years agoAdd behavior tests for input[type=datetime-local] with multiple fields
commit-queue@webkit.org [Wed, 28 Nov 2012 01:03:02 +0000 (01:03 +0000)]
Add behavior tests for input[type=datetime-local] with multiple fields
https://bugs.webkit.org/show_bug.cgi?id=103386

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-11-27
Reviewed by Kent Tamura.

* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-aria-attributes-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-aria-attributes.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-value-changed-notification-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-value-changed-notification.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-blur-and-focus-events-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-blur-and-focus-events.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-change-layout-by-value-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-change-layout-by-value.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-reset-value-after-reloads-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-reset-value-after-reloads.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-spinbutton-change-and-input-events-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-spinbutton-change-and-input-events.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-wheel-event-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-wheel-event.html: Added.
* fast/forms/resources/multiple-fields-blur-and-focus-events.js:
(startTestFor): Support datetime and datetime-local.

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

7 years agoUnreviewed gardening:
rjkroege@chromium.org [Wed, 28 Nov 2012 01:00:49 +0000 (01:00 +0000)]
Unreviewed gardening:
media/video-currentTime-set.html crashes
https://bugs.webkit.org/show_bug.cgi?id=103183

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed gardening. Add tests that started failing after http://trac.webkit.org...
yael@webkit.org [Wed, 28 Nov 2012 00:57:36 +0000 (00:57 +0000)]
Unreviewed gardening. Add tests that started failing after trac.webkit.org/changeset/135935
to TestExpectations.

* platform/efl/TestExpectations:

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

7 years agoUnreviewed gardening:
rjkroege@chromium.org [Wed, 28 Nov 2012 00:54:34 +0000 (00:54 +0000)]
Unreviewed gardening:
http/tests/inspector/network/network-xhr-replay.html times out crashes
https://bugs.webkit.org/show_bug.cgi?id=96953

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed build fix; NSSize is not a CGSize in 32-bit.
jer.noble@apple.com [Wed, 28 Nov 2012 00:53:55 +0000 (00:53 +0000)]
Unreviewed build fix; NSSize is not a CGSize in 32-bit.

* platform/mac/WebCoreFullScreenWarningView.mm:

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

7 years agoUnreviewed, land updated Qt results after track limiter removal.
tony@chromium.org [Wed, 28 Nov 2012 00:48:37 +0000 (00:48 +0000)]
Unreviewed, land updated Qt results after track limiter removal.

* fast/forms/range/slider-padding-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/range/slider-padding-expected.txt.
* fast/multicol/client-rects-expected.txt: Renamed from LayoutTests/platform/chromium-mac/fast/multicol/client-rects-expected.txt.
* fast/repaint/slider-thumb-drag-release-expected.txt: Renamed from LayoutTests/platform/chromium/fast/repaint/slider-thumb-drag-release-expected.txt.
* platform/gtk/fast/forms/range/range-thumb-height-percentage-expected.txt: Removed.
* platform/mac/fast/forms/range/slider-padding-expected.txt: Removed.
* platform/mac/fast/multicol/client-rects-expected.txt: Removed.
* platform/mac/fast/repaint/slider-thumb-drag-release-expected.txt: Removed.
* platform/qt/TestExpectations:
* platform/qt/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/qt/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
* platform/qt/fast/forms/box-shadow-override-expected.txt:
* platform/qt/fast/forms/range/input-appearance-range-expected.txt:
* platform/qt/fast/forms/range/range-thumb-height-percentage-expected.txt:
* platform/qt/fast/forms/range/slider-padding-expected.txt:
* platform/qt/fast/multicol/client-rects-expected.txt:
* platform/qt/fast/repaint/slider-thumb-drag-release-expected.txt:
* platform/qt/fast/repaint/slider-thumb-float-expected.txt:

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

7 years agoAttempted build fix for my last commit. The private member variable
dino@apple.com [Wed, 28 Nov 2012 00:42:25 +0000 (00:42 +0000)]
Attempted build fix for my last commit. The private member variable
is only used on MAC (at the moment) so guard it with #if PLATFORM.
I did this rather than having another constructor, because I expect
other platforms will follow the MAC code soon.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
* html/shadow/MediaControlElements.h:

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

7 years ago[WK2] [Mac] WebKit Full Screen API should use NSWindow full screen API.
jer.noble@apple.com [Wed, 28 Nov 2012 00:40:26 +0000 (00:40 +0000)]
[WK2] [Mac] WebKit Full Screen API should use NSWindow full screen API.
https://bugs.webkit.org/show_bug.cgi?id=100025

Reviewed by Dan Bernstein.

Use the NSWindow full screen API when taking the WebView full screen. To facility the case where the browser window is already
in full screen mode, no longer hide the browser window when entering full screen. Instead, provide a placeholder view with
instructions to click the placeholder to exit full screen.

* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController init]): Set self as the window's delegate; enable window's full screen action.
(-[WKFullScreenWindowController dealloc]): Clear our window's delegate.
(-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Remove reference to _updateWindowAndDockForFullScreen.
(-[WKFullScreenWindowController enterFullScreen:]):  Ditto. Create a WKFullScreenPlaceholderView instead of generic NSImageView.
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): Ditto. Call NSWindow enterFullScreen: API.
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Show the warning view.
(-[WKFullScreenWindowController exitFullScreen]): Hide the warning view.
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): Add special case where we are exiting
    from full screen mode when the full screen window is not on screen.
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Remove reference to _updateMenuAndDockForFullScreen.
(-[WKFullScreenWindowController customWindowsToEnterFullScreenForWindow:]): Added. Return the background window and the full screen window.
(-[WKFullScreenWindowController customWindowsToExitFullScreenForWindow:]): Ditto.
(-[WKFullScreenWindowController window:startCustomAnimationToEnterFullScreenWithDuration:]): Added. Call through to _startEnterFullScreenAnimationWithDuration:
(-[WKFullScreenWindowController window:startCustomAnimationToExitFullScreenWithDuration:]): Added. Call through to _startExitFullScreenAnimationWithDuration:

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

7 years agorun-perf-tests fails on Android because of stderr output
abarth@webkit.org [Wed, 28 Nov 2012 00:40:06 +0000 (00:40 +0000)]
run-perf-tests fails on Android because of stderr output
https://bugs.webkit.org/show_bug.cgi?id=103462

Reviewed by Ryosuke Niwa.

The chromium-android port produces some stderr output that causes
run-perf-tests to get sad and not record the results of the performance
test. This patch teaches run-perf-test to ignore this output much in
the same way that it currently ignores some stdout messages.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.run):
(PerfTest._should_ignore_line):
(PerfTest):
(PerfTest._should_ignore_line_in_stderr):
(PerfTest._filter_stderr):
(PerfTest._should_ignore_line_in_parser_test_result):

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

7 years agoAdd a new shared class WebCoreFullScreenPlaceholderView, for use in WebKit and WebKit2.
jer.noble@apple.com [Wed, 28 Nov 2012 00:38:37 +0000 (00:38 +0000)]
Add a new shared class WebCoreFullScreenPlaceholderView, for use in WebKit and WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=102300

Reviewed by Anders Carlsson.

Add a new shared class WebCoreFullScreenPlaceholderView, which presents the contents of the
WebView prior to full screen with a message informing the user how to exit from full screen mode.

* platform/mac/WebCoreFullScreenPlaceholderView.mm:
(-[WebCoreFullScreenPlaceholderView initWithFrame:]): Create the warning view and set up the placeholder layer.
(-[WebCoreFullScreenPlaceholderView setContents:]): Pass along to content view layer.
(-[WebCoreFullScreenPlaceholderView contents]): Ditto.
(-[WebCoreFullScreenPlaceholderView setExitWarningVisible:]): Show or hide the exit warning.
(-[WebCoreFullScreenPlaceholderView mouseDown:]): Call the target with action.

 Add a localized string entry for the "click to exit" text:
 * English.lproj/Localizable.strings:
* platform/LocalizedStrings.cpp:
(WebCore::clickToExitFullScreenText):
* platform/LocalizedStrings.h:
* English.lproj/Localizable.strings:

Add the new files to the project and exports list:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:

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

7 years agoShrink ShadowRoot and TreeScope.
akling@apple.com [Wed, 28 Nov 2012 00:34:19 +0000 (00:34 +0000)]
Shrink ShadowRoot and TreeScope.
<http://webkit.org/b/103459>

Reviewed by Antti Koivisto.

We're creating ~1500 ShadowRoots on Apple's PLT3 content (from <input> and <textarea> elements)
and a lot of this is wasted space.

Shrink ShadowRoot and TreeScope a bit by making TreeScope's DocumentOrderedMaps heap-allocated
and packing the counters on ShadowRoot harder together with the bits.

202kB progression on Membuster3.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::countElementShadow):
(ShadowRoot):
* dom/TreeScope.cpp:
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::getElementById):
(WebCore::TreeScope::addElementById):
(WebCore::TreeScope::removeElementById):
(WebCore::TreeScope::addImageMap):
(WebCore::TreeScope::removeImageMap):
(WebCore::TreeScope::getImageMap):
(WebCore::TreeScope::addLabel):
(WebCore::TreeScope::removeLabel):
(WebCore::TreeScope::labelElementForId):
* dom/TreeScope.h:
(WebCore::TreeScope::shouldCacheLabelsByForAttribute):
(TreeScope):
(WebCore::TreeScope::hasElementWithId):
(WebCore::TreeScope::containsMultipleElementsWithId):

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

7 years agoUnreviewed, land updated EFL results after track limiter removal.
tony@chromium.org [Wed, 28 Nov 2012 00:24:25 +0000 (00:24 +0000)]
Unreviewed, land updated EFL results after track limiter removal.

* platform/efl/TestExpectations:
* platform/efl/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/efl/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Added.
* platform/efl/fast/forms/box-shadow-override-expected.txt:
* platform/efl/fast/forms/input-appearance-height-expected.txt:
* platform/efl/fast/forms/range/input-appearance-range-expected.txt:
* platform/efl/fast/forms/range/range-thumb-height-percentage-expected.txt: Added.
* platform/efl/fast/forms/range/slider-padding-expected.txt:
* platform/efl/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/efl/fast/forms/range/slider-thumb-stylability-expected.txt: Added.
* platform/efl/fast/layers/video-layer-expected.txt:
* platform/efl/fast/multicol/client-rects-expected.txt:
* platform/efl/fast/repaint/slider-thumb-drag-release-expected.txt:
* platform/efl/fast/repaint/slider-thumb-float-expected.txt: Added.
* platform/efl/media/audio-controls-rendering-expected.txt:
* platform/efl/media/controls-strict-expected.txt:
* platform/efl/media/controls-styling-strict-expected.txt:
* platform/efl/media/controls-without-preload-expected.txt:
* platform/efl/media/media-controls-clone-expected.txt:
* platform/efl/media/track/track-cue-rendering-horizontal-expected.txt:
* platform/efl/media/track/track-cue-rendering-vertical-expected.txt:
* platform/efl/media/video-display-toggle-expected.txt:
* platform/efl/media/video-empty-source-expected.txt:
* platform/efl/media/video-no-audio-expected.txt:
* platform/efl/media/video-zoom-controls-expected.txt:

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

7 years agoAdd a new shared class WebCoreFullScreenWarningView which presents a styled warning...
jer.noble@apple.com [Wed, 28 Nov 2012 00:23:54 +0000 (00:23 +0000)]
Add a new shared class WebCoreFullScreenWarningView which presents a styled warning message.
https://bugs.webkit.org/show_bug.cgi?id=102299

Reviewed by Alexey Proskuryakov.

Add a shared implementation of a warning view for use in WebKit and WebKit2.

* platform/mac/WebCoreFullScreenWarningView.h: Added.
* platform/mac/WebCoreFullScreenWarningView.mm: Added.
(-[WebCoreFullScreenWarningView initWithTitle:]): Create the view.

Add the new files to the project and exports list:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:

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

7 years agoFix garden-o-matic for non-chromium ports
tony@chromium.org [Wed, 28 Nov 2012 00:22:59 +0000 (00:22 +0000)]
Fix garden-o-matic for non-chromium ports
https://bugs.webkit.org/show_bug.cgi?id=103458

Reviewed by Adam Barth.

I was getting a 403 error when trying to select any non-chromium port.

* Scripts/webkitpy/tool/servers/reflectionhandler.py:
(ReflectionHandler._handle_request): Use the path without query params.

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

7 years ago[EFL][WK2] 3D pixel tests are failing
commit-queue@webkit.org [Tue, 27 Nov 2012 23:56:54 +0000 (23:56 +0000)]
[EFL][WK2] 3D pixel tests are failing
https://bugs.webkit.org/show_bug.cgi?id=102833

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-27
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Added an API for generating a snapshot, to be used from WebKitTestRunner.

* PlatformEfl.cmake:
* UIProcess/API/C/efl/WKView.cpp:
(WKViewGetSnapshot):
* UIProcess/API/C/efl/WKView.h:
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::onFaviconChanged):
(EwkViewImpl::takeSnapshot):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/SnapshotImageGL.cpp: Added.
(getImageFromCurrentTexture):
* UIProcess/API/efl/SnapshotImageGL.h: Added.

Tools:

Generate a snapshot of the view in the UI process instead of the web process.
We have to use Texture Mapper in order to correctly paint 3D transforms etc.

* WebKitTestRunner/TestInvocation.h:
(TestInvocation):
* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
(WTR::writeFunction):
(WTR::paintRepaintRectOverlay):
(WTR):
(WTR::TestInvocation::forceRepaintDoneCallback):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::windowSnapshotImage):

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

7 years agoMake track list control active
dino@apple.com [Tue, 27 Nov 2012 23:45:13 +0000 (23:45 +0000)]
Make track list control active
https://bugs.webkit.org/show_bug.cgi?id=101670

Reviewed by Eric Carlson.

Source/WebCore:

Hook up the event handler for the captions menu so that it enables or
disables tracks in the associated HTMLMediaElement.

Test: media/video-controls-captions-trackmenu.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::toggleTrackAtIndex): New method to toggle the state of a track, by index.
* html/HTMLMediaElement.h:
(HTMLMediaElement): Ditto.
(WebCore::HTMLMediaElement::textTracksOffIndex): Static method to return the "Off" value.
* html/shadow/MediaControlElements.cpp:
(WebCore::trackListIndexForElement): Helper function to take a track list <li> element and return the value of the custom attribute.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType): Toggle the state of the button based on captions visibility.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): On Mac platforms show the captions menu. On other platforms, toggle captions.
(WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Now has a reference to the controls.
(WebCore::MediaControlClosedCaptionsTrackListElement::create):
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): When the user clicks on a track list item, look
for the custom attribute that identifies the associated track, and then toggle that track.
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Set a class on the track list elements so they can be
styled by the injected CSS (with tick marks to represent visibility).
(WebCore::MediaControlClosedCaptionsTrackListElement::resetTrackListMenu): When building the list of track menu items, add
a custom HTML attribute to the element so that the corresponding track can be found in the event handler.
* html/shadow/MediaControlElements.h:
(MediaControlClosedCaptionsTrackListElement): Add a list of elements representing the track list.
* html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::createControls):
(WebCore::MediaControlsApple::changedClosedCaptionsVisibility): Make sure to update the track menu.
(WebCore::MediaControlsApple::reset):
* html/shadow/MediaControlsApple.h:
(MediaControlsApple):

LayoutTests:

New test that exercises the track list menu, and how it can be used
to enable specific tracks. Since this is only enabled for Mac, it is
skipped on all other platforms.

Meanwhile, the existing test for a on/off captions button now
does not work on Mac, so skip it there. I copied the functionality
into the new test so we still have coverage.

* media/video-controls-captions-trackmenu-expected.txt: Added.
* media/video-controls-captions-trackmenu.html: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

7 years agoFix indentation in JSValue.h
fpizlo@apple.com [Tue, 27 Nov 2012 23:39:19 +0000 (23:39 +0000)]
Fix indentation in JSValue.h

Rubber stamped by Mark Hahnenberg.

* runtime/JSValue.h:

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

7 years agoMake it possible to run performance tests on Chromium Android
abarth@webkit.org [Tue, 27 Nov 2012 23:27:05 +0000 (23:27 +0000)]
Make it possible to run performance tests on Chromium Android
https://bugs.webkit.org/show_bug.cgi?id=103268

Reviewed by Ryosuke Niwa.

Based on a patch by Peter Beverloo.

This patch (almost) makes it possible to run WebKit performance tests
on the Chromium port for Android. There are a few things I had to do
in order to make this happen:

1) The worker number when creating a driver for a port is zero-based
   for layout tests and elsewhere. Android uses this to determine
   which device it has to run on, so make it zero based for performance
   tests as well.

2) Tests aren't available on the Android device, so we start an HTTP
   server that serves the tests to the device or emulator.

The one shortcoming of this patch is that chromium-android produces
some stderr output that confuses run-perf-tests. I'll address that
issue in a subsequent CL. This patch also depends on
https://codereview.chromium.org/11416182 in order to work.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.start_http_server):
(ChromiumAndroidDriver._command_from_driver_input):
* Scripts/webkitpy/performance_tests/perftest.py:
(ReplayPerfTest.prepare):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.__init__):
(PerfTestsRunner._parse_args):
(PerfTestsRunner._start_servers):
(PerfTestsRunner):
(PerfTestsRunner._stop_servers):
(PerfTestsRunner.run):
(PerfTestsRunner._run_tests_set):

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

7 years ago[chromium] Add WebLayerTreeViewClient API to request font atlas
commit-queue@webkit.org [Tue, 27 Nov 2012 23:17:02 +0000 (23:17 +0000)]
[chromium] Add WebLayerTreeViewClient API to request font atlas
https://bugs.webkit.org/show_bug.cgi?id=102958

Patch by Eberhard Graether <egraether@google.com> on 2012-11-27
Reviewed by James Robinson.

This change makes the font atlas creation accessible to the WebLayerTreeView.

Source/Platform:

* chromium/public/WebLayerTreeViewClient.h:
(WebKit):
(WebLayerTreeViewClient):
(WebKit::WebLayerTreeViewClient::createFontAtlas):

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::createFontAtlas):
(WebKit):
* src/WebViewImpl.h:
(WebViewImpl):

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

7 years agoUnreviewed, updating TestExpectations after input slider change.
tony@chromium.org [Tue, 27 Nov 2012 23:13:05 +0000 (23:13 +0000)]
Unreviewed, updating TestExpectations after input slider change.

* platform/chromium/TestExpectations:

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

7 years agoIndexedDB: Simplify transaction timers and event tracking
jsbell@chromium.org [Tue, 27 Nov 2012 23:08:17 +0000 (23:08 +0000)]
IndexedDB: Simplify transaction timers and event tracking
https://bugs.webkit.org/show_bug.cgi?id=102984

Reviewed by Tony Chang.

Source/WebCore:

Now that the transaction "commit" decision is made on the front-end, the back end no-longer
needs to be aware of when individual IDBRequests have dispatched to script or track pending
events (except for preemptive ones like createIndex). This also lets two timers be collapsed
into one which significantly simplifies the code flow in IDBTransactionBackendImpl.

No new tests - just simplification. Exercised by storage/indexeddb/transaction-*.html etc.

* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::prefetchContinueInternal): No more tracking.
(WebCore::IDBCursorBackendImpl::prefetchReset): No more tracking.
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): No more tracking.
(WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal): No more tracking.
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::setIndexesReadyInternal): No more tracking.
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal): No more tracking.
(WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal): No more tracking.
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent): Order must be:
1. request is unregistered from transaction (so request list may be empty)
2. abort transaction if event being dispatched was an error
3. deactivate transaction (which may commit if #1 left it empty and #2 didn't abort)
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): Need to track if commit
was requested; previously the front end would have triggered an event timer which, on
completion, would be the signal that the front end was finished.
(WebCore::IDBTransactionBackendImpl::scheduleTask): Schedule a timer to service the new
task, if necessary.
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::hasPendingTasks):
(WebCore::IDBTransactionBackendImpl::commit):
(WebCore::IDBTransactionBackendImpl::taskTimerFired): Picks up "commit" responsibilities
from the now deleted taskEventTimerFired, if everything is truly complete done.
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(IDBTransactionBackendImpl):
* Modules/indexeddb/IDBTransactionBackendInterface.h:
(WebCore::IDBTransactionBackendInterface::didCompleteTaskEvents): Removed from interface.

Source/WebKit/chromium:

Remove now-unused didCompleteTaskEvents() method.

* src/IDBTransactionBackendProxy.cpp:
* src/IDBTransactionBackendProxy.h:
(IDBTransactionBackendProxy):
* src/WebIDBTransactionImpl.cpp:
* src/WebIDBTransactionImpl.h:

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

7 years agoUnreviewed, updating TestExpectations after input slider change.
tony@chromium.org [Tue, 27 Nov 2012 23:01:26 +0000 (23:01 +0000)]
Unreviewed, updating TestExpectations after input slider change.

* platform/gtk/TestExpectations:

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

7 years agoPDFPlugin: Page scale factor should affect subframe PDFs
timothy_horton@apple.com [Tue, 27 Nov 2012 22:45:49 +0000 (22:45 +0000)]
PDFPlugin: Page scale factor should affect subframe PDFs
https://bugs.webkit.org/show_bug.cgi?id=103291
<rdar://problem/12555249>

Reviewed by Darin Adler.

For subframe PDFs, hand PDFKit the pageScaleFactor for the parent page
so it can scale its drawing appropriately.

* WebProcess/Plugins/PDF/PDFPlugin.h: Add updatePageAndDeviceScaleFactors.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::pdfDocumentDidLoad): Call updatePageAndDeviceScaleFactors
instead of manually updating PDFLayerController's device scale factor.
(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Hand PDFLayerController
the "underlying" (non-zoom) content scale, which is the product of the
device scale and the page scale.
(WebKit::PDFPlugin::contentsScaleFactorChanged): Use updatePageAndDeviceScaleFactors.
(WebKit::PDFPlugin::geometryDidChange): Use updatePageAndDeviceScaleFactors to keep
PDFLayerController's notion of the page scale up to date when the plugin's
geometry changes.

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

7 years agoDFG SetLocal should use forwardSpeculationCheck instead of its own half-baked version...
fpizlo@apple.com [Tue, 27 Nov 2012 22:34:45 +0000 (22:34 +0000)]
DFG SetLocal should use forwardSpeculationCheck instead of its own half-baked version of same
https://bugs.webkit.org/show_bug.cgi?id=103353

Reviewed by Oliver Hunt and Gavin Barraclough.

Source/JavaScriptCore:

Made it possible to use forward speculations for most of the operand classes. Changed the conditional
direction parameter from being 'bool isForward' to an enum (SpeculationDirection). Changed SetLocal
to use forward speculations and got rid of its half-baked version of same.

Also added the ability to force the DFG's disassembler to dump all nodes, even ones that are dead.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::dump):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculationCheck):
(DFG):
(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(JSC::DFG::SpeculativeJIT::fillStorage):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
(JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::gpr):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::fpr):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
(JSC::DFG::SpeculateCellOperand::gpr):
(SpeculateCellOperand):
(JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::gpr):
(SpeculateBooleanOperand):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):
* runtime/Options.h:
(JSC):

LayoutTests:

* fast/js/dfg-intrinsic-side-effect-assignment-osr-exit-expected.txt: Added.
* fast/js/dfg-intrinsic-side-effect-assignment-osr-exit.html: Added.
* fast/js/dfg-side-effect-assignment-osr-exit-expected.txt: Added.
* fast/js/dfg-side-effect-assignment-osr-exit.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-intrinsic-side-effect-assignment-osr-exit.js: Added.
(foo):
* fast/js/script-tests/dfg-side-effect-assignment-osr-exit.js: Added.
(foo):
(bar):

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

7 years ago[V8] Replace toWebCoreString()/toWebCoreAtomicString() in CodeGeneratorV8.pm with...
haraken@chromium.org [Tue, 27 Nov 2012 22:29:46 +0000 (22:29 +0000)]
[V8] Replace toWebCoreString()/toWebCoreAtomicString() in CodeGeneratorV8.pm with V8StringResource
https://bugs.webkit.org/show_bug.cgi?id=103391

Reviewed by Adam Barth.

This is an incremental effort for fixing bug 103331.
I confirmed that this patch causes no performance regression
for the micro benchmarks (https://bugs.webkit.org/attachment.cgi?id=176178).

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrSetter):
(GenerateEventListenerCallback):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::TestEventTargetV8Internal::addEventListenerCallback):
(WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::addEventListenerCallback):
(WebCore::TestObjV8Internal::removeEventListenerCallback):

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

7 years ago[CSS Regions] Elements using transforms are not repainted correctly when rendered...
achicu@adobe.com [Tue, 27 Nov 2012 22:23:24 +0000 (22:23 +0000)]
[CSS Regions] Elements using transforms are not repainted correctly when rendered in a region
https://bugs.webkit.org/show_bug.cgi?id=102826

Reviewed by David Hyatt.

Source/WebCore:

When the page is composited, all the elements will have a composited repaint container. In that case we will
never catch the repaints in the RenderFlowThread, but they will go directly to the RenderView.
There's a single case when the parent composited layer of an element inside the RenderFlowThread will get
its own repaints. That case only happens when the parent composited layer is also part of the same flow thread.
Right now compositing is disabled for elements inside the RenderFlowThread, so that case doesn't even happen yet.
That will be fixed in https://bugs.webkit.org/show_bug.cgi?id=84900.

Test: fast/repaint/region-painting-in-composited-view.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::containerForRepaint):

LayoutTests:

Added test file to check for repainting inside a RenderFlowThread when the page is in composited mode.

* fast/repaint/region-painting-in-composited-view-expected.html: Added.
* fast/repaint/region-painting-in-composited-view.html: Added.

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

7 years agoUnreviewed, win compile fix take 2.
tony@chromium.org [Tue, 27 Nov 2012 22:17:28 +0000 (22:17 +0000)]
Unreviewed, win compile fix take 2.

Try again to force this file to recompile.

* rendering/RenderingAllInOne.cpp:

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

7 years agoUnreviewed, updating TestExpectations after input slider change.
tony@chromium.org [Tue, 27 Nov 2012 22:11:54 +0000 (22:11 +0000)]
Unreviewed, updating TestExpectations after input slider change.

* platform/efl/TestExpectations:
* platform/mac/TestExpectations:

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

7 years agoUnreviewed, win compile fix.
tony@chromium.org [Tue, 27 Nov 2012 22:01:53 +0000 (22:01 +0000)]
Unreviewed, win compile fix.

Touch RenderingAllInOne.cpp to force it to rebuild.

* rendering/RenderingAllInOne.cpp:

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

7 years agoUnreviewed Qt gardening.
jchaffraix@webkit.org [Tue, 27 Nov 2012 21:58:24 +0000 (21:58 +0000)]
Unreviewed Qt gardening.

* platform/qt/TestExpectations:
Skipped fast/table/css-table-max-height.html as it is showing a 12px difference.
The test is actually passing but the output wouldn't make it obvious that it is the case.

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

7 years agoPDFPlugin: Scroll bars do not grow on hover
timothy_horton@apple.com [Tue, 27 Nov 2012 21:56:44 +0000 (21:56 +0000)]
PDFPlugin: Scroll bars do not grow on hover
https://bugs.webkit.org/show_bug.cgi?id=103382
<rdar://problem/12555262>

Reviewed by Beth Dakin.

PDFPlugin needs to forward relevant mouse events to the scrollbars.
In addition, it needs to implement currentMousePosition so ScrollableArea and friends
can find the mouse position at arbitrary times.

I also took this opportunity to factor some coordinate space conversion functions out.

* WebProcess/Plugins/PDF/PDFPlugin.h:
(WebKit::PDFPlugin::currentMousePosition): Added. Return the last mouse position in our coordinate space.
(WebKit::PDFPlugin::convertFromRootViewToPlugin): Added.
(WebKit::PDFPlugin::convertFromPluginToPDFView): Added.
(PDFPlugin):
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::convertFromRootViewToPlugin): Convert a point from content space to plugin space, via the transform we get in geometryDidChange.
(WebKit::PDFPlugin::convertFromPluginToPDFView): Convert a point from plugin space to PDFLayerController's flipped coordinate space.
(WebKit::PDFPlugin::geometryDidChange): Use convertFromPluginToPDFView.
(WebKit::PDFPlugin::nsEventForWebMouseEvent): Cache the mouse position in plugin space instead of PDFLayerController space. Use our new conversion functions.
(WebKit::PDFPlugin::handleMouseEvent): Forward relevant mouse events to scrollbars:
Determine which scrollbar the mouse is over now, and which it was previously over, and use that to:
If the mouse is moved over a scrollbar, send mouseEntered to the scrollbar.
If the mouse is moved out of a scrollbar, send mouseExited to the scrollbar.
If the mouse is currently over a scrollbar, send mouseMoved/Up/Down to the scrollbar instead of PDFLayerController.
If the mouse is currently over the scroll corner, bail, because nobody should get those events.

Export a few WebCore::Scrollbar methods to WebKit(2).

* WebCore.exp.in:

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

7 years agoEntering Tab View after a bunch of YouTube pages were opened in background tabs makes...
mitz@apple.com [Tue, 27 Nov 2012 21:52:47 +0000 (21:52 +0000)]
Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
https://bugs.webkit.org/show_bug.cgi?id=103358

Reviewed by Adele Peterson.

To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
prevent media from starting automatically when the view is put in a window.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
(WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
* UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
to true, the value matching the current behavior.
(WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
(WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
process creation parameters.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
m_mayStartMediaWhenInWindow.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
parameters.
(WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
conditional on m_mayStartMediaWhenInWindow.
(WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
already in a window when changing from false to true, starts m_setCanStartMediaTimer.
* WebProcess/WebPage/WebPage.h:
(WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
* WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.

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

7 years agoRegression(r129406): Fix the scope of the WidgetHierarchyUpdateSuspensionScope in...
tsepez@chromium.org [Tue, 27 Nov 2012 21:50:15 +0000 (21:50 +0000)]
Regression(r129406): Fix the scope of the WidgetHierarchyUpdateSuspensionScope in Element::Attach().
https://bugs.webkit.org/show_bug.cgi?id=100803

Reviewed by Abhishek Arya.

Source/WebCore:

Ensures that the suspension scope has gone out of scope before calling into
resumePostAttachCallbacks().

Test: fast/dom/adopt-node-crash-2.html

* dom/Element.cpp:
(WebCore::Element::attach):

LayoutTests:

* fast/dom/adopt-node-crash-2-expected.txt: Added.
* fast/dom/adopt-node-crash-2.html: Added.

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

7 years agoRemove hidden limiter div in the input slider shadow DOM
tony@chromium.org [Tue, 27 Nov 2012 21:39:15 +0000 (21:39 +0000)]
Remove hidden limiter div in the input slider shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=102993

Reviewed by Ojan Vafai.

Source/WebCore:

The shadow DOM for input sliders would have a hidden div (the TrackLimiterElement)
the size of the thumb which would limit the position of thumb since the width of
the thumb takes up space in the track. This patch simplifies the shadow DOM by
removing this hidden div and computing the position of the thumb taking the size of
the thumb into account.

No new tests, covered by existing tests in fast/forms.

* css/mediaControlsChromium.css:
(input[type="range"]::-webkit-media-slider-container > div): We were depending on the behavior of the limiter having negative margins, causing the slider div
to overflow. Moving the negative margin to the slider produces the same effect.
* css/mediaControlsChromiumAndroid.css:
(input[type="range"]::-webkit-media-slider-container > div): Ditto.
* html/RangeInputType.cpp:
(WebCore::RangeInputType::createShadowSubtree): Remove limiter div.
* html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderContainer::layout): Adjust the available space for the thumb and correctly position in the vertical case.
(WebCore::SliderThumbElement::setPositionFromPoint): Adjust the usable track size and simplify RTL code (no need to account for the limiter).
(WebCore): Delete limiter code.
* html/shadow/SliderThumbElement.h:
(WebCore): Delete limiter code.
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::layout): Delete limiter code.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSliderTicks): Simplify code for painting tick marks.

LayoutTests:

Pixel results should be the same, but the render tree for RenderSlider has one less div.

* platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
* platform/chromium-linux/fast/forms/box-shadow-override-expected.txt:
* platform/chromium-linux/fast/forms/input-appearance-height-expected.txt:
* platform/chromium-linux/fast/forms/range/input-appearance-range-expected.txt:
* platform/chromium-linux/fast/forms/range/range-thumb-height-percentage-expected.txt:
* platform/chromium-linux/fast/forms/range/slider-padding-expected.txt:
* platform/chromium-linux/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/chromium-linux/fast/forms/range/slider-thumb-stylability-expected.txt:
* platform/chromium-linux/fast/multicol/client-rects-expected.txt:
* platform/chromium-linux/fast/repaint/slider-thumb-drag-release-expected.txt:
* platform/chromium-linux/fast/repaint/slider-thumb-float-expected.txt:
* platform/chromium-win/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/chromium-win/fast/layers/video-layer-expected.txt:
* platform/chromium-win/media/audio-controls-rendering-expected.txt:
* platform/chromium-win/media/audio-repaint-expected.txt:
* platform/chromium-win/media/controls-after-reload-expected.txt:
* platform/chromium-win/media/controls-strict-expected.txt:
* platform/chromium-win/media/controls-styling-expected.txt:
* platform/chromium-win/media/controls-styling-strict-expected.txt:
* platform/chromium-win/media/controls-without-preload-expected.txt:
* platform/chromium-win/media/media-controls-clone-expected.txt:
* platform/chromium-win/media/media-document-audio-repaint-expected.txt:
* platform/chromium-win/media/video-controls-rendering-expected.txt:
* platform/chromium-win/media/video-display-toggle-expected.txt:
* platform/chromium-win/media/video-no-audio-expected.txt:
* platform/chromium-win/media/video-playing-and-pause-expected.txt:
* platform/chromium-win/media/video-zoom-controls-expected.txt:
* platform/chromium-win/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.txt:

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

7 years agoRemove use of deprecated logging from webkitpy.common and webkitpy.layout_tests
zandobersek@gmail.com [Tue, 27 Nov 2012 21:32:06 +0000 (21:32 +0000)]
Remove use of deprecated logging from webkitpy.common and webkitpy.layout_tests
https://bugs.webkit.org/show_bug.cgi?id=103408

Reviewed by Dirk Pranke.

Remove the use of the deprecated log and error methods by replacing them with
logging through Python's logging.Logger objects.

This patch covers such changes in webkitpy.common and webkitpy.layout_tests and also
updates any affected unit test.

* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLogEntry._parse_entry):
* Scripts/webkitpy/common/checkout/checkout.py:
* Scripts/webkitpy/common/checkout/checkout_unittest.py:
(CheckoutTest.test_apply_patch):
* Scripts/webkitpy/common/checkout/deps_mock.py:
(MockDEPS.write_variable):
* Scripts/webkitpy/common/checkout/scm/detection.py:
(SCMDetector.default_scm):
* Scripts/webkitpy/common/checkout/scm/detection_unittest.py:
(SCMDetectorTest.test_detect_scm_system):
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git._check_git_architecture):
(Git._commit_on_branch):
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.ensure_clean_working_directory):
(SCM.ensure_no_local_commits):
(SCM.will.commit_locally_with_message):
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.apply_reverse_diff):
* Scripts/webkitpy/common/net/bugzilla/attachment.py:
(Attachment._validate_flag_value):
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla._fetch_bug_page):
(Bugzilla.bug_id_for_attachment_id):
(Bugzilla.authenticate):
(Bugzilla._commit_queue_flag):
(Bugzilla.add_attachment_to_bug):
(Bugzilla.add_patch_to_bug):
(Bugzilla.create_bug):
(Bugzilla.clear_attachment_flags):
(Bugzilla.set_flag_on_attachment):
(Bugzilla.obsolete_attachment):
(Bugzilla.add_cc_to_bug):
(Bugzilla.post_comment_to_bug):
(Bugzilla.close_bug_as_fixed):
(Bugzilla.reassign_bug):
(reopen_bug):
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
(MockBugzilla.create_bug):
(MockBugzilla.reassign_bug):
(MockBugzilla.set_flag_on_attachment):
(MockBugzilla.post_comment_to_bug):
(MockBugzilla.add_attachment_to_bug):
(MockBugzilla.add_patch_to_bug):
(MockBugzilla.reopen_bug):
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
(test_add_cc_to_bug):
(_assert_reopen):
(test_reopen_bug):
* Scripts/webkitpy/common/net/buildbot/buildbot_mock.py:
(MockBuilder.force_build):
* Scripts/webkitpy/common/net/credentials.py:
(Credentials._run_security_tool):
* Scripts/webkitpy/common/net/credentials_unittest.py:
(_assert_security_call):
* Scripts/webkitpy/common/net/irc/irc_mock.py:
(MockIRC.post):
(MockIRC.disconnect):
* Scripts/webkitpy/common/net/irc/ircproxy.py:
(IRCProxy.__init__):
(IRCProxy.disconnect):
* Scripts/webkitpy/common/net/irc/ircproxy_unittest.py:
(IRCProxyTest.test_trivial):
* Scripts/webkitpy/common/net/layouttestresults.py:
(ORWTResultsHTMLParser._failures_from_fail_row):
* Scripts/webkitpy/common/net/layouttestresults_unittest.py:
(test_failures_from_fail_row):
* Scripts/webkitpy/common/net/networktransaction.py:
* Scripts/webkitpy/common/net/resultsjsonparser.py:
(JSONTestResult._tokenize):
(JSONTestResult._failure_types_from_actual_result):
* Scripts/webkitpy/common/net/statusserver.py:
(StatusServer.update_status):
(StatusServer.update_svn_revision):
* Scripts/webkitpy/common/net/statusserver_mock.py:
(MockStatusServer.release_work_item):
(MockStatusServer.update_work_items):
(MockStatusServer.submit_to_ews):
(MockStatusServer.update_status):
* Scripts/webkitpy/common/net/unittestresults.py:
(UnitTestResults.results_from_string):
* Scripts/webkitpy/common/system/executive_mock.py:
(MockExecutive.running_pids):
(MockExecutive.run_and_throw_if_fail):
(MockExecutive.run_command):
(MockExecutive.popen):
* Scripts/webkitpy/common/system/user_mock.py:
(MockUser.confirm):
(MockUser.open_url):
* Scripts/webkitpy/common/system/workspace_unittest.py:
(WorkspaceTest.test_create_zip):
(WorkspaceTest.test_create_zip_exception):
* Scripts/webkitpy/common/watchlist/watchlist_mock.py:
(MockWatchList.determine_cc_and_messages):
* Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
(ChromiumWinTest.test_setup_environ_for_server_register_cygwin):
* Scripts/webkitpy/layout_tests/port/efl_unittest.py:
(EflPortTest.test_show_results_html_file):
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
(GtkPortTest.test_show_results_html_file):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(test_show_results_html_file):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(test_build_driver):
* Scripts/webkitpy/layout_tests/port/qt_unittest.py:
(QtPortTest.test_show_results_html_file):
* Scripts/webkitpy/layout_tests/port/win_unittest.py:
(WinPortTest.test_show_results_html_file):
* Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:
(XvfbDriverTest.assertDriverStartSuccessful):
(XvfbDriverTest.test_start_no_pixel_tests):
(XvfbDriverTest.test_start_pixel_tests):
(XvfbDriverTest.test_start_arbitrary_worker_number):
(XvfbDriverTest.test_start_next_worker):
(XvfbDriverTest.test_stop):
* Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
(TestLayoutTestApacheHttpd.test_start_cmd):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(test_run_test_pause_before_testing):
(test_run_memory_test):
(_test_run_with_json_output):
(test_run_respects_no_results):
(test_run_generates_and_show_results_page):
(test_run_respects_no_show_results):
* Scripts/webkitpy/tool/bot/feeders_unittest.py:
(FeedersTest.test_commit_queue_feeder):
* Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
(FlakyTestReporterTest.test_create_bug_for_flaky_test):
(test_report_flaky_tests_creating_bug):
* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
(IRCCommandTest.test_rollout_updates_working_copy):
* Scripts/webkitpy/tool/bot/ircbot_unittest.py:
(IRCBotTest.test_exception_during_command):
(IRCBotTest.test_hi):
(IRCBotTest.test_help):
(IRCBotTest.test_restart):
(IRCBotTest.test_rollout):
(IRCBotTest.test_revert):
(IRCBotTest.test_roll_chromium_deps):
(IRCBotTest.test_roll_chromium_deps_to_lkgr):
(IRCBotTest.test_multi_rollout):
(IRCBotTest.test_rollout_with_r_in_svn_revision):
(IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
(IRCBotTest.test_rollout_bananas):
(IRCBotTest.test_rollout_invalidate_revision):
(IRCBotTest.test_rollout_invalidate_reason):
(test_multi_rollout_invalidate_reason):
(test_rollout_no_reason):
(test_multi_rollout_no_reason):
* Scripts/webkitpy/tool/bot/sheriff_unittest.py:
(SheriffTest.test_post_blame_comment_on_bug):
* Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py:
(ApplyWatchListLocalTest.test_args_parsing):
(test_args_parsing_with_bug):
* Scripts/webkitpy/tool/commands/download_unittest.py:
(test_land_cowboy):
(test_check_style):
(test_create_rollout):
(test_create_rollout_resolved):
(test_rollout):
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(AbstractEarlyWarningSystemTest.test_failing_tests_message):
(EarlyWarningSytemTest._default_expected_logs):
(EarlyWarningSytemTest._test_builder_ews):
(EarlyWarningSytemTest._test_testing_ews):
* Scripts/webkitpy/tool/commands/openbugs_unittest.py:
(OpenBugsTest.test_args_parsing):
* Scripts/webkitpy/tool/commands/queries_unittest.py:
(QueryCommandsTest.test_bugs_to_commit):
(QueryCommandsTest.test_patches_in_commit_queue):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(FeederQueueTest.test_feeder_queue):
(AbstractPatchQueueTest.test_next_patch):
(AbstractPatchQueueTest.test_upload_results_archive_for_patch):
(CommitQueueTest.test_commit_queue):
(test_commit_queue_failure):
(test_commit_queue_failure_with_failing_tests):
(test_rollout):
(test_rollout_lands):
(test_auto_retry):
(test_manual_reject_during_processing):
(test_report_flaky_tests):
(StyleQueueTest.test_style_queue_with_style_exception):
(test_style_queue_with_watch_list_exception):
* Scripts/webkitpy/tool/commands/queuestest.py:
(QueuesTest._default_begin_work_queue_logs):
* Scripts/webkitpy/tool/commands/roll_unittest.py:
(RollCommandsTest.test_update_chromium_deps):
* Scripts/webkitpy/tool/commands/upload_unittest.py:
(UploadCommandsTest.test_assign_to_committer):
(test_post):
(test_attach_to_bug):
(test_attach_to_bug_no_description_or_comment):
(test_land_safely):
(test_prepare):
(test_upload):
(test_mark_bug_fixed):
* Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:
(ApplyWatchListTest.test_apply_watch_list_local):
* Scripts/webkitpy/tool/steps/commit_unittest.py:
(CommitTest._test_check_test_expectations):
* Scripts/webkitpy/tool/steps/runtests_unittest.py:
(RunTestsTest.test_webkit_run_unit_tests):
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest._assert_step_output_with_bug):
(StepsTest._assert_post_diff_output_for_bug):
(StepsTest.test_post_diff):
(StepsTest.test_post_diff_for_commit):
(StepsTest.test_ensure_bug_is_open_and_assigned):
(StepsTest.test_runtests_args):
* Scripts/webkitpy/tool/steps/suggestreviewers_unittest.py:
(SuggestReviewersTest.test_basic):
* Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:
(ValidateChangeLogsTest._assert_start_line_produces_output):

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

7 years ago[chromium] Implement full-featured image cache
hclam@chromium.org [Tue, 27 Nov 2012 21:22:22 +0000 (21:22 +0000)]
[chromium] Implement full-featured image cache
https://bugs.webkit.org/show_bug.cgi?id=99784

Reviewed by Stephen White.

Source/WebCore:

Implement a thread-safe image cache to be used with deferred image
decoding. Image cache can now be accessed on any thread.

The patch implements the following logic:
1. Mutex to protect all cache operations.
2. Cache indexing using key (ImageFrameGenerator*, SkISize scaledSize)
3. Cache lookup.
4. Cache insertion.
5. Generation of cache entry by scaling full size image.
6. Generation of cache entries by decoding and scaling.

Classes involved:

ImageDecodingStore

Responsible for owning cache entries and indexing. Pruning and memory
management will be added later.

ImageFrameGenerator

Responsible for generating new cache enties and insert them into
ImageDecodingStore.

LazyDecodingPixelRef

Responsible for cache lookup and lazy generation of cache entries
using ImageFrameGenerator. There is a mutex to protect concurrent
lock operations.

These items are not implemented in this patch:
1. Cache pruning.
2. Setting cache memory limit.
3. Cache deletion.
4. Caching incomplete images and ImageDecoder.

Unit tests added in ImageFrameGeneratorTest.cpp.
Layout tests are under platform/chromium/virtual/fast/images.

* platform/graphics/chromium/DeferredImageDecoder.cpp:
(WebCore::DeferredImageDecoder::~DeferredImageDecoder):
(WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
(WebCore::DeferredImageDecoder::setEnabled):
(WebCore):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::createLazyDecodingBitmap):
* platform/graphics/chromium/DeferredImageDecoder.h:
(DeferredImageDecoder):
* platform/graphics/chromium/ImageDecodingStore.cpp:
(WebCore::ImageDecodingStore::instance):
(WebCore::ImageDecodingStore::initializeOnce):
(WebCore::ImageDecodingStore::shutdown):
(WebCore::ImageDecodingStore::lockCompleteCache):
Lookup complete cache entry using hash key, increment use count.
(WebCore::ImageDecodingStore::lockIncompleteCache): TODO.
(WebCore::ImageDecodingStore::unlockCache):
Lookup cache entry using hash key, decrement use count.
(WebCore):
(WebCore::ImageDecodingStore::insertAndLockCache):
Insert new cache entry and increment use count.
(WebCore::ImageDecodingStore::prune): TODO.
* platform/graphics/chromium/ImageDecodingStore.h:
(WebCore):
(ImageDecodingStore):
(WebCore::ImageDecodingStore::CacheEntry::create):
(WebCore::ImageDecodingStore::CacheEntry::createAndUse):
(CacheEntry):
(WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
(WebCore::ImageDecodingStore::CacheEntry::~CacheEntry):
* platform/graphics/chromium/ImageFrameGenerator.cpp:
(WebCore::ImageFrameGenerator::ImageFrameGenerator):
(WebCore::ImageFrameGenerator::setData):
(WebCore::ImageFrameGenerator::decodeAndScale):
Method for creating new cache entries. This is protected by a mutex
to prevent concurrent operations. Which means only one thread can
generate new cache entries for a set of encoded data.
(WebCore):
(WebCore::ImageFrameGenerator::tryToLockCache):
Tries to lookup a cache entry.
(WebCore::ImageFrameGenerator::tryToScale):
Tries to lookup a full size cache entry and generate a scaled version.
(WebCore::ImageFrameGenerator::tryToDecodeAndScale):
Tries to decode and scale.
* platform/graphics/chromium/ImageFrameGenerator.h:
(WebCore):
(ImageDecoderFactory):
(WebCore::ImageFrameGenerator::create):
(ImageFrameGenerator):
(WebCore::ImageFrameGenerator::setImageDecoderFactoryForTesting):
* platform/graphics/chromium/LazyDecodingPixelRef.cpp:
(WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::onLockPixels):
(WebCore::LazyDecodingPixelRef::onUnlockPixels):
* platform/graphics/chromium/LazyDecodingPixelRef.h:
(WebCore):
(LazyDecodingPixelRef):
* platform/graphics/chromium/ScaledImageFragment.cpp:
(WebCore::ScaledImageFragment::ScaledImageFragment):
* platform/graphics/chromium/ScaledImageFragment.h:
(WebCore):
(WebCore::ScaledImageFragment::create):
(ScaledImageFragment):
(WebCore::ScaledImageFragment::scaledSize):
* platform/graphics/chromium/SkSizeHash.h: Added.
(WTF):

Source/WebKit/chromium:

Added ImageFrameGeneratorTest to test cache logic and generation
of new cache entries.

ImageFrameGeneratorTest.cacheHit
Test that a complete cached entry is reused.

ImageFrameGeneratorTest.cacheMissWithScale
Cache miss for a scaled image but cache hit on a full size image.
Scaled image is created from cached full size image.

ImageFrameGeneratorTest.cacheMissWithDecodeAndScale
Cache miss for both scaled image and full size image.

ImageFrameGeneratorTest.cacheMissWithIncompleteDecode
Test the logic for handling incomplete cache objects.

* WebKit.gypi:
* src/WebKit.cpp:
(WebKit::initializeWithoutV8):
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setDeferredImageDecodingEnabled):
* tests/DeferredImageDecoderTest.cpp:
(WebCore::DeferredImageDecoderTest::SetUp):
(WebCore::DeferredImageDecoderTest::decoderBeingDestroyed):
(WebCore::DeferredImageDecoderTest::frameBufferRequested):
(DeferredImageDecoderTest):
(WebCore::DeferredImageDecoderTest::frameStatus):
* tests/ImageFrameGeneratorTest.cpp: Added.
(WebCore):
(WebCore::fullSize):
(WebCore::scaledSize):
(MockImageDecoderFactory):
(WebCore::MockImageDecoderFactory::create):
(WebCore::MockImageDecoderFactory::MockImageDecoderFactory):
(ImageFrameGeneratorTest):
(WebCore::ImageFrameGeneratorTest::SetUp):
(WebCore::ImageFrameGeneratorTest::TearDown):
(WebCore::ImageFrameGeneratorTest::decoderBeingDestroyed):
(WebCore::ImageFrameGeneratorTest::frameBufferRequested):
(WebCore::ImageFrameGeneratorTest::frameStatus):
(WebCore::ImageFrameGeneratorTest::createCompleteImage):
(WebCore::ImageFrameGeneratorTest::setFrameStatus):
(WebCore::TEST_F):
* tests/MockImageDecoder.h:
(MockImageDecoderClient):
(WebCore::MockImageDecoder::frameBufferAtIndex):

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

7 years agoUnreviewed gardening: fast/frames/frame-name-reset.html crashing intermittently
rjkroege@chromium.org [Tue, 27 Nov 2012 21:22:08 +0000 (21:22 +0000)]
Unreviewed gardening: fast/frames/frame-name-reset.html crashing intermittently
https://bugs.webkit.org/show_bug.cgi?id=103451

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed gardening: platform/chromium/virtual/gpu/fast/canvas/font-update.html
rjkroege@chromium.org [Tue, 27 Nov 2012 21:14:03 +0000 (21:14 +0000)]
Unreviewed gardening: platform/chromium/virtual/gpu/fast/canvas/font-update.html
https://bugs.webkit.org/show_bug.cgi?id=103449

* platform/chromium/TestExpectations:

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

7 years agoExpanding variable names in ConsoleMessage.
mkwst@chromium.org [Tue, 27 Nov 2012 21:05:40 +0000 (21:05 +0000)]
Expanding variable names in ConsoleMessage.
https://bugs.webkit.org/show_bug.cgi?id=103436

Reviewed by Adam Barth.

Variable names like 'm' should be replaced with full words, like
'myOhMyThisIsAnAwesomeVariable' (or something more descriptive).

* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
* inspector/ConsoleMessage.h:
(ConsoleMessage):

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

7 years agoUse-after-free in media player handling
commit-queue@webkit.org [Tue, 27 Nov 2012 21:00:23 +0000 (21:00 +0000)]
Use-after-free in media player handling
https://bugs.webkit.org/show_bug.cgi?id=103426

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-11-27
Reviewed by Eric Carlson.

Source/WebCore:

Fixed use-after-free bugs caused by the MediaSource not being closed before the HTMLMediaElement or the MediaPlayer
is destroyed. Closing the MediaSource causes it to clear its reference to the MediaPlayer which prevents
the use-after-free problems from happening.

Test: http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::clearMediaPlayer):

LayoutTests:

- Added a test to verify that the MediaSource gets closed when the HTMLMediaElement is destroyed
  after it is removed from the DOM.
- Updated video-media-source-state-changes-expected.txt to reflect a slight change in event dispatch ordering.

* http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction-expected.txt: Added.
* http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html: Added.
* http/tests/media/media-source/video-media-source-state-changes-expected.txt:

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

7 years agoIndexedDB: Remove IDBDatabase.setVersion API
dgrogan@chromium.org [Tue, 27 Nov 2012 20:45:42 +0000 (20:45 +0000)]
IndexedDB: Remove IDBDatabase.setVersion API
https://bugs.webkit.org/show_bug.cgi?id=94972

Reviewed by Tony Chang.

Source/WebCore:

This has been out of the spec for over a year. No other browser has
implemented it for close to a year.

Tests - removed.html

* Modules/indexeddb/IDBCallbacks.h:
(IDBCallbacks):
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::IDBDatabase):
* Modules/indexeddb/IDBDatabase.h:
(IDBDatabase):
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(IDBDatabaseBackendInterface):
* Modules/indexeddb/IDBRequest.cpp:
* Modules/indexeddb/IDBRequest.h:

Source/WebKit/chromium:

* src/IDBCallbacksProxy.cpp:
* src/IDBCallbacksProxy.h:
(IDBCallbacksProxy):
* src/IDBDatabaseBackendProxy.cpp:
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/WebIDBCallbacksImpl.cpp:
* src/WebIDBCallbacksImpl.h:
(WebIDBCallbacksImpl):
* src/WebIDBDatabaseImpl.cpp:
* src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):

LayoutTests:

* storage/indexeddb/removed-expected.txt:
* storage/indexeddb/resources/removed.js:
(test):

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

7 years agoLog to console when autofocus is blocked by sandbox attribute.
mkwst@chromium.org [Tue, 27 Nov 2012 20:44:03 +0000 (20:44 +0000)]
Log to console when autofocus is blocked by sandbox attribute.
https://bugs.webkit.org/show_bug.cgi?id=103255

Reviewed by Ojan Vafai.

Source/WebCore:

Adding a short log message when autofocus is blocked by a document's
sandbox flags, as it's currently a black box.

Test: fast/forms/autofocus-in-sandbox-without-allow-scripts.html

* html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):

LayoutTests:

* fast/forms/autofocus-in-sandbox-without-allow-scripts-expected.txt: Added.
* fast/forms/autofocus-in-sandbox-without-allow-scripts.html: Added.

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

7 years agoUnreviewed gardening: ImageOnlyFailure in fast/canvas/font-update.html
rjkroege@chromium.org [Tue, 27 Nov 2012 20:40:31 +0000 (20:40 +0000)]
Unreviewed gardening: ImageOnlyFailure in fast/canvas/font-update.html
https://bugs.webkit.org/show_bug.cgi?id=103447

* platform/chromium/TestExpectations:

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

7 years ago[BlackBerry] http:// origins can navigate to privileged local:// origins
zhajiang@rim.com [Tue, 27 Nov 2012 20:32:13 +0000 (20:32 +0000)]
[BlackBerry]  origins can navigate to privileged local:// origins
https://bugs.webkit.org/show_bug.cgi?id=103437

Patch by Jacky Jiang  <zhajiang@rim.com>.
Reviewed by Yong Li.

PR: 251489
When we aren't allowed to display the destination origin, we shouldn't
even create the window for it. In this way we can block the remote
origins(like http://) window.open local origins(like file:// and
local://) and avoid further security issues.
Chrome and Safari will open a blank window and fail to load. Firefox
will fail to open the window and report a load failure error which has
the same behavior as us. I would prefer this way as the window would
be useless and the calls after that would be harmful to us.

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::createWindow):

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

7 years agoUnreviewed gardening. Add bug numbers to flaky tests.
yael@webkit.org [Tue, 27 Nov 2012 20:27:54 +0000 (20:27 +0000)]
Unreviewed gardening. Add bug numbers to flaky tests.

* platform/efl/TestExpectations:

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

7 years ago[BlackBerry] Remove unnecessary backing store suspension in InputHandler::ensureFocus...
commit-queue@webkit.org [Tue, 27 Nov 2012 20:27:14 +0000 (20:27 +0000)]
[BlackBerry] Remove unnecessary backing store suspension in InputHandler::ensureFocusTextElementVisible
https://bugs.webkit.org/show_bug.cgi?id=103441

Patch by Andrew Lo <anlo@rim.com> on 2012-11-27
Reviewed by Rob Buis.
Internally reviewed by Mike Fenton.

Remove unnecessary backing store suspension in
InputHandler::ensureFocusTextElementVisible.

Not necessary anymore since both zoom and scroll adjustments
happen in an animation.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

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

7 years agoGardening: Updated TestExpecations for failure in
rjkroege@chromium.org [Tue, 27 Nov 2012 20:21:16 +0000 (20:21 +0000)]
Gardening: Updated TestExpecations for failure in
http/tests/canvas/canvas-slow-font-loading.html
https://bugs.webkit.org/show_bug.cgi?id=103446

* platform/chromium/TestExpectations:

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

7 years agoAttempted build fix after http://trac.webkit.org/changeset/135888.
dino@apple.com [Tue, 27 Nov 2012 20:09:18 +0000 (20:09 +0000)]
Attempted build fix after trac.webkit.org/changeset/135888.

* WebCore.exp.in:
* WebCore.order:

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

7 years agoBuild fix after r135890. #else, not #elif.
rniwa@webkit.org [Tue, 27 Nov 2012 20:00:54 +0000 (20:00 +0000)]
Build fix after r135890. #else, not #elif.

* platform/graphics/ca/PlatformCALayer.h:
(PlatformCALayer):

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

7 years agoHTMLCollection on Document should be stored on NodeListsNodeData like other HTMLColle...
rniwa@webkit.org [Tue, 27 Nov 2012 19:58:46 +0000 (19:58 +0000)]
HTMLCollection on Document should be stored on NodeListsNodeData like other HTMLCollections and LiveNodeLists
https://bugs.webkit.org/show_bug.cgi?id=103364

Reviewed by Anders Carlsson.

Replaced the HTMLCollection storage in Document by NodeListsNodeData used by other HTMLCollection's
and LiveNodeList's. Now NodeListsNodeData is the only storage for HTMLCollection and LiveNodeList.

* dom/Document.cpp:
(WebCore::Document::Document): Removed code for m_collection since it has been removed.
(WebCore::Document::~Document): Ditto.
(WebCore::Document::registerNodeList): Renamed.
(WebCore::Document::unregisterNodeList): Ditto.
(WebCore::Document::ensureCachedCollection): Renamed from cachedCollection to match the convetion
used elsewhere. Also use NodeListNodeData::addCacheWithAtomicName now that m_collection is gone.
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):
(WebCore::Document::all):
(WebCore::Document::windowNamedItems): Use addCacheWithAtomicName.
(WebCore::Document::documentNamedItems): Ditto.
(WebCore::Document::reportMemoryUsage): Removed code for m_collection since it has been removed.
* dom/Document.h:
(WebCore::Document): Removed m_collections, m_documentNamedItemCollections, and
m_windowNamedItemCollections.
* dom/Element.cpp:
(WebCore::Element::ensureCachedHTMLCollection): Merged ElementRareData::ensureCachedHTMLCollection.
(WebCore::Element::cachedHTMLCollection): Merged ElementRareData::cachedHTMLCollection.
* Source/WebCore/dom/ElementRareData.h: Removed ensureCachedHTMLCollection, cachedHTMLCollection,
and removeCachedHTMLCollection since they're no longer used.
* dom/LiveNodeList.h:
(WebCore::LiveNodeListBase::LiveNodeListBase): Call registerNodeList now that LiveNodeList
and HTMLCollection share the same storage in all nodes.
(WebCore::LiveNodeListBase::~LiveNodeListBase): Ditto about unregisterNodeList.
(WebCore::LiveNodeList): Removed the calls to registerNodeList and unregisterNodeList since they
are now called in the base class.
* dom/NameNodeList.h:
(WebCore::NameNodeList::create):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::addCacheWithAtomicName): Pass in CollectionType as the second argument
to T::create. This is used in HTMLNameCollection::create. Sevearl LiveNodeList constructors and
create functions have been modified to support this.
(WebCore::NodeListsNodeData::adoptTreeScope):
(WebCore::NodeListsNodeData::namedNodeListKey): CollectionType is no longer restricted in its range.
* dom/TagNodeList.h:
(WebCore::TagNodeList::create):
(WebCore::HTMLTagNodeList::create):
* html/CollectionType.h: Deleted a bunch of unused inline functions and constants, and cleanup enum.
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection): Removed the call to registerNodeListCache since it's called
in LiveNodeListBase now.
(WebCore::HTMLCollection::~HTMLCollection): Ditto. Also replaced calls to removeCachedHTMLCollection
of Element and Document by a call to NodeListsNodeData::removeCacheWithAtomicName.
* html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
(WebCore::HTMLFormControlsCollection::create):
* html/HTMLFormControlsCollection.h:
(HTMLFormControlsCollection):
* html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::HTMLNameCollection):
(WebCore::HTMLNameCollection::~HTMLNameCollection):
* html/HTMLNameCollection.h:
(WebCore::HTMLNameCollection::create):
(HTMLNameCollection):
* html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
(WebCore::HTMLOptionsCollection::create):
* html/HTMLOptionsCollection.h:
(HTMLOptionsCollection):
* html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
(WebCore::HTMLTableRowsCollection::create):
* html/HTMLTableRowsCollection.h:
(HTMLTableRowsCollection):
* html/LabelsNodeList.h:
(WebCore::LabelsNodeList::create):
* html/RadioNodeList.h:
(WebCore::RadioNodeList::create):

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

7 years agoUnreviewed. Skip some flaky video tests on Windows.
roger_fong@apple.com [Tue, 27 Nov 2012 19:56:41 +0000 (19:56 +0000)]
Unreviewed. Skip some flaky video tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=103442

* platform/win/TestExpectations:

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

7 years agomax-height property not respected in case of tables
commit-queue@webkit.org [Tue, 27 Nov 2012 19:52:43 +0000 (19:52 +0000)]
max-height property not respected in case of tables
https://bugs.webkit.org/show_bug.cgi?id=98633

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-11-27
Reviewed by Julien Chaffraix.

Source/WebCore:

The max-height property determines the maximum computed height an element can have. In case of tables
the computed height was not being limited by the max-height property. The current patch fixes the same.

Test: fast/table/css-table-max-height.html

* rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
  Helper function to compute height from the given style height.
  This function handles style height of type fixed, percent and viewport percent.
  As height of type 'calculated' gets internally resolved to either fixed or percent
  there is no special handling required for the same.

(WebCore):
(WebCore::RenderTable::layout):
  Logic to compute the logical height of an element such that it does not exceed the max-height value given that
  min-width < Content height < max-height, when min-height < max-height.
  However max-height value is not respected if either min-height > max-height or Content height > max-height.

* rendering/RenderTable.h:
(RenderTable):
  Function definition for the newly add function convertStyleLogicalHeightToComputedHeight().

LayoutTests:

* fast/table/css-table-max-height-expected.txt: Added.
* fast/table/css-table-max-height.html: Added.

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

7 years agoWindows specific implementation of usesTileCacheLayer needed after r133056.
roger_fong@apple.com [Tue, 27 Nov 2012 19:34:40 +0000 (19:34 +0000)]
Windows specific implementation of usesTileCacheLayer needed after r133056.
https://bugs.webkit.org/show_bug.cgi?id=103321

Reviewed by Simon Fraser.

After r133056 it no longer suffices to use the existing usesTileCacheLayer method on Windows.
The change resulted in 3 crashing tests:
compositing/rotated-tiled-clamped
compositing/rotated-tiled-preserve3d-clamped
fast/events/tabindex-focus-blur-all

* platform/win/TestExpectations:
Remove the tests below from the Windows skip list.

* platform/win/compositing/tiling/rotated-tiled-clamped-expected.txt: Added.
* platform/win/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Added.
Add Windows specific results for tests added in r133056.

* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::usesTileCacheLayer):
(PlatformCALayer):
Adding in platform specific method for Windows that returns false for this method.

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

7 years ago[EFL] Gardening of failing tests
commit-queue@webkit.org [Tue, 27 Nov 2012 19:31:39 +0000 (19:31 +0000)]
[EFL] Gardening of failing tests
https://bugs.webkit.org/show_bug.cgi?id=103434

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-27

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/efl/fast/js/global-constructors-expected.txt:

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

7 years agoCanvas does not draw any text if the font is not fully loaded yet
commit-queue@webkit.org [Tue, 27 Nov 2012 19:25:54 +0000 (19:25 +0000)]
Canvas does not draw any text if the font is not fully loaded yet
https://bugs.webkit.org/show_bug.cgi?id=103392

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-11-27
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Update CanvasRenderingContext2D::drawTextInternal() so that the
text is being drawn, even if custom fonts are still being loaded.
Without this, WebKit was not drawing any text on the canvas if
the needed font is custom and is not fully loaded yet. This seems
broken.

The new behavior is according to specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html

The specification says: "If a font is used before it is fully
loaded, or if the font style source object does not have that
font in scope at the time the font is to be used, then it must be
treated as if it was an unknown font, falling back to another as
described by the relevant CSS specifications."

Test: http/tests/canvas/canvas-slow-font-loading.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* platform/graphics/Font.cpp:
(WebCore::Font::drawText): Add argument to specify the behavior
when custom fonts are not ready. By default, it will not draw
anything (same behavior as before). However, the Canvas code
can now request that a fallback font is used if the custom
font is not fully loaded yet.
* platform/graphics/Font.h: #undef Complex if defined to avoid
conflicting with Complex value in CodePath enum. X11/X.h is
defining Complex to 0.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawBidiText):
* platform/graphics/GraphicsContext.h:
(WebCore):
(GraphicsContext):

LayoutTests:

Add canvas test to check that text is drawn using a fallback font
if the primary font is not fully loaded yet.

* http/tests/canvas/canvas-slow-font-loading-expected.html: Added.
* http/tests/canvas/canvas-slow-font-loading.html: Added.

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

7 years agoUnreviewed gardening. fast/loader/submit-form-while-parsing-2.html is still flaky
yael@webkit.org [Tue, 27 Nov 2012 19:23:04 +0000 (19:23 +0000)]
Unreviewed gardening. fast/loader/submit-form-while-parsing-2.html is still flaky
so put it back in TestExpectations.

* platform/efl/TestExpectations:

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

7 years agoNo need for ExceptionCode in HTMLMediaElement::load
dino@apple.com [Tue, 27 Nov 2012 19:19:24 +0000 (19:19 +0000)]
No need for ExceptionCode in HTMLMediaElement::load
https://bugs.webkit.org/show_bug.cgi?id=103438

Reviewed by Eric Carlson.

After https://bugs.webkit.org/show_bug.cgi?id=103318, there is no
need for the ExceptionCode parameter in load(). The HTML5 spec says
that all errors in loading are communicated via state.
http://dev.w3.org/html5/spec/media-elements.html#dom-media-load

Of the 29 tests exercising load(), none of them were exercising
exceptions (obviously).

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::load):
(WebCore::HTMLMediaElement::resume):
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:

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

7 years agoLayout Test transitions/transition-shorthand-delay.html should usePauseAPI
commit-queue@webkit.org [Tue, 27 Nov 2012 19:16:27 +0000 (19:16 +0000)]
Layout Test transitions/transition-shorthand-delay.html should usePauseAPI
https://bugs.webkit.org/show_bug.cgi?id=103402

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-27
Reviewed by Simon Fraser.

PauseAPI works when pausing during delay in transitions now, using it
should fix the flakiness.

* platform/efl/TestExpectations:
* transitions/transition-shorthand-delay.html:

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

7 years agoREGRESSION (r125578): word-wrapping in absolute position with nbsp, word-spacing...
robert@webkit.org [Tue, 27 Nov 2012 19:15:04 +0000 (19:15 +0000)]
REGRESSION (r125578): word-wrapping in absolute position with nbsp, word-spacing and custom font
https://bugs.webkit.org/show_bug.cgi?id=101443

Reviewed by David Hyatt.

Source/WebCore:

Leading non-breaking space in a text run should always get word-spacing applied. When RenderText
calculates the preferred with of a run of text it breaks it up into word segments that contain
no breaking spaces and calculates the width of each. So when calculating the width of '&nbsp;b'
it needs to add word-spacing to the leading non-breaking space as it does not get collapsed away.

Test: fast/text/word-space-nbsp.html

* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):

LayoutTests:

* fast/text/word-space-nbsp-expected.html: Added.
* fast/text/word-space-nbsp.html: Added.

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

7 years ago[BlackBerry] EventLoop should end when WebKit thread is exiting
yoli@rim.com [Tue, 27 Nov 2012 19:08:05 +0000 (19:08 +0000)]
[BlackBerry] EventLoop should end when WebKit thread is exiting
https://bugs.webkit.org/show_bug.cgi?id=103301

Reviewed by Rob Buis.
RIM PR# 194379.
Internally reviewed by Joe Mason.

Break the nested event loop when WebKit thread has been asked to quit.

* platform/blackberry/EventLoopBlackBerry.cpp:
(WebCore::EventLoop::cycle):

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

7 years agoobjc/objc-runtime.h does not exist on all PLATFORM(MAC)
psolanki@apple.com [Tue, 27 Nov 2012 18:58:42 +0000 (18:58 +0000)]
objc/objc-runtime.h does not exist on all PLATFORM(MAC)
https://bugs.webkit.org/show_bug.cgi?id=101780

Reviewed by Brent Fulgham.

Clean up header includes so we don't include objc/objc-runtime.h.

Source/WebCore:

No new tests because no functional changes.

* bridge/objc/objc_header.h:
* page/mac/EventHandlerMac.mm:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
* platform/graphics/mac/WebLayer.mm:
* platform/mac/WebCoreObjCExtras.mm:
* platform/mac/WebVideoFullscreenController.mm:

Source/WebKit/mac:

* Carbon/HIWebView.mm:
(UpdateCommandStatus): Use wtfObjcMsgSend template instead of objc_msgSend.
* Plugins/WebNetscapePluginView.mm:
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck _continueWithPolicy:]): Use wtfObjcMsgSend template instead of objc_msgSend.
* Plugins/WebPluginController.mm:
* WebCoreSupport/WebCachedFramePlatformData.h:
* WebCoreSupport/WebDeviceOrientationClient.mm:
* WebView/WebDelegateImplementationCaching.mm:
* WebView/WebHTMLView.mm:
* WebView/WebPDFDocumentExtras.mm:
* WebView/WebPolicyDelegate.mm:
(-[WebPolicyDecisionListener _usePolicy:]): Use wtfObjcMsgSend template instead of objc_msgSend.
* WebView/WebView.mm:

Source/WebKit2:

* PluginProcess/mac/PluginProcessShim.mm:
* UIProcess/API/mac/PDFViewController.mm:

Source/WTF:

* wtf/Functional.h:
* wtf/ObjcRuntimeExtras.h: Include objc/message.h here so we don't rely on proper ordering
of includes in files that include this header.

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
* DumpRenderTree/mac/ObjCPlugin.m:
* TestWebKitAPI/mac/InstanceMethodSwizzler.h:
* WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:

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

7 years agoPlumbing showPaintRects out of InspectorPageAgent to use a different drawing implemen...
commit-queue@webkit.org [Tue, 27 Nov 2012 18:52:30 +0000 (18:52 +0000)]
Plumbing showPaintRects out of InspectorPageAgent to use a different drawing implementation if available.
https://bugs.webkit.org/show_bug.cgi?id=102452

Patch by Eberhard Graether <egraether@google.com> on 2012-11-27
Reviewed by Pavel Feldman.

This change makes the showPaintRects setting in the Web Inspector's settings notify InspectorClient
when changed. And the default paint rects drawing is not used if an alternative is available.
This allows Chromium to draw the paint rects in the compositor's HUDLayer.

Source/Platform:

* chromium/public/WebLayerTreeView.h:
(WebLayerTreeView):
(WebKit::WebLayerTreeView::setShowPaintRects):

Source/WebCore:

No new tests.

* inspector/InspectorClient.h:
(WebCore::InspectorClient::overridesShowPaintRects):
(WebCore::InspectorClient::setShowPaintRects):
(InspectorClient):
* inspector/InspectorPageAgent.cpp:
(PageAgentState):
(WebCore::InspectorPageAgent::restore):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::setShowPaintRects):
(WebCore::InspectorPageAgent::didPaint):

Source/WebKit/chromium:

* public/WebView.h:
(WebView):
* src/InspectorClientImpl.cpp:
(WebKit::InspectorClientImpl::overridesShowPaintRects):
(WebKit):
(WebKit::InspectorClientImpl::setShowPaintRects):
* src/InspectorClientImpl.h:
(InspectorClientImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setShowPaintRects):
(WebKit):
* src/WebViewImpl.h:
(WebViewImpl):

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

7 years agoUnreviewed gardening, fixing lint errors in TestExpectations.
tony@chromium.org [Tue, 27 Nov 2012 18:45:43 +0000 (18:45 +0000)]
Unreviewed gardening, fixing lint errors in TestExpectations.

* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:

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

7 years ago [WK2] WebPageProxy::relatedPages() cannot assume that this page is known...
ap@apple.com [Tue, 27 Nov 2012 18:36:27 +0000 (18:36 +0000)]
    [WK2] WebPageProxy::relatedPages() cannot assume that this page is known to process
        https://bugs.webkit.org/show_bug.cgi?id=103433
        <rdar://problem/12543513>

        Reviewed by Jessie Berlin.

        * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::relatedPages): Removed an incorrect
        assertion, and modified code to not rely on its condition being true.

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

7 years ago[chromium] Unreviewed build fix on Linux clang.
tony@chromium.org [Tue, 27 Nov 2012 18:32:50 +0000 (18:32 +0000)]
[chromium] Unreviewed build fix on Linux clang.

../../third_party/WebKit/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp:1055:63: error:
C++98 requires an accessible copy constructor for class 'WebKit::WebCachedURLRequest' when binding
a reference to a temporary; was private [-Werror,-Wbind-to-temporary-copy]

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

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

7 years agoUnreviewed cleanup.
allan.jensen@digia.com [Tue, 27 Nov 2012 18:30:27 +0000 (18:30 +0000)]
Unreviewed cleanup.

Remove leftover file that was replaced by PlatformScreenQt.cpp 4 years ago.

* platform/qt/ScreenQt.cpp: Removed.

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

7 years agoUnreviewed gardening. Remove from TestExpectations tests that are passing.
yael@webkit.org [Tue, 27 Nov 2012 18:16:27 +0000 (18:16 +0000)]
Unreviewed gardening. Remove from TestExpectations tests that are passing.

* platform/efl/TestExpectations:

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

7 years agofreeV8NPObject: Skip trying to remove object from per context data's ObjectMap if...
commit-queue@webkit.org [Tue, 27 Nov 2012 18:14:08 +0000 (18:14 +0000)]
freeV8NPObject: Skip trying to remove object from per context data's ObjectMap if the object does not exist in the map.
https://bugs.webkit.org/show_bug.cgi?id=103356

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-27
Reviewed by Adam Barth.

Before introducing per context data, it used to be the case that we would ignore removing v8 object
from context data's map if we couldn't find it. With perContextData change, this turned into an ASSERT
instead and we had crash reports.
Related crbug.com/154462.

Source/WebCore:

Test: platform/chromium/plugins/release-frame-content-window.html

* bindings/v8/NPV8Object.cpp:
(WebCore::freeV8NPObject):

LayoutTests:

* platform/chromium/plugins/release-frame-content-window-expected.txt: Added.
* platform/chromium/plugins/release-frame-content-window.html: Added.
* platform/chromium/plugins/resources/empty.html: Added.
* platform/chromium/plugins/resources/empty2.html: Added.

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