WebKit-https.git
7 years agoREGRESSION (r137432): The /webkit2/WebKitCookieManager/accept-policy unit test is...
commit-queue@webkit.org [Thu, 13 Dec 2012 11:10:34 +0000 (11:10 +0000)]
REGRESSION (r137432): The /webkit2/WebKitCookieManager/accept-policy unit test is failing
https://bugs.webkit.org/show_bug.cgi?id=104790

Patch by Joaquim Rocha <jrocha@igalia.com> on 2012-12-13
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

The cookies accept policy and the cookies persistent storage type
were not being correctly assigned.

* UIProcess/WebContext.cpp: Set the default value of the cookie
accept policy.
(WebKit::WebContext::WebContext):
* UIProcess/gtk/WebContextGtk.cpp: Fix setting the cookies persistent
storage type (it was mistakenly assigning the policy instead) and
set the accept policy which was missing.
(WebKit::WebContext::platformInitializeWebProcess):

Tools:

Unskip the GTK accept policy test.

* Scripts/run-gtk-tests:
(TestRunner):

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

7 years ago[EFL] Remove redundant pipe write to prevent pipe buffer full.
commit-queue@webkit.org [Thu, 13 Dec 2012 11:00:12 +0000 (11:00 +0000)]
[EFL] Remove redundant pipe write to prevent pipe buffer full.
https://bugs.webkit.org/show_bug.cgi?id=101135

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-12-13
Reviewed by Gyuyoung Kim.

To prevent a source of a deadlock, remove the redundant pipe write
in wakeUp() function.

EFL uses ecore_pipe_write() to wake up main run loop, and the function
uses POSIX pipe write with O_NONBLOCK disabled.
With O_NONBLOCK disabled, when written data is more than PIPE_BUF,
pipe write will be blocked until it can be written.

Currently, every wakeUp() function calls ecore_pipe_write() to invoke
wakeUpEvent() callback. And this can make pipe buffer full status
which is the one reason of the lockup problem described in Bug 99494.

* platform/RunLoop.h:
(RunLoop):
* platform/efl/RunLoopEfl.cpp:
(WebCore::RunLoop::RunLoop):
(WebCore::RunLoop::wakeUpEvent):
(WebCore::RunLoop::wakeUp):

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

7 years ago[Qt] Fix missing doc dependency to examples
hausmann@webkit.org [Thu, 13 Dec 2012 10:56:09 +0000 (10:56 +0000)]
[Qt] Fix missing doc dependency to examples

Patch by Jerome Pasion <Jerome.Pasion@digia.com> on 2012-12-13
Reviewed by Simon Hausmann.

* Source/qtwebkit.qdocconf:

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

7 years ago[Qt] Fix deleteAllCookies() invalid SQL statement
allan.jensen@digia.com [Thu, 13 Dec 2012 10:27:32 +0000 (10:27 +0000)]
[Qt] Fix deleteAllCookies() invalid SQL statement
https://bugs.webkit.org/show_bug.cgi?id=101580

Patch by Antti Harju <antti.harju@ixonos.com> on 2012-12-13
Reviewed by Jocelyn Turcotte.

* platform/network/qt/CookieJarQt.cpp:
(WebCore::SharedCookieJarQt::deleteAllCookies):

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

7 years agoSafari spends a lot of time in WebCore::findSimpleWordBoundary while selecting text...
rniwa@webkit.org [Thu, 13 Dec 2012 10:09:15 +0000 (10:09 +0000)]
Safari spends a lot of time in WebCore::findSimpleWordBoundary while selecting text on large scrabutility.com page
https://bugs.webkit.org/show_bug.cgi?id=104884

Reviewed by Hajime Morita.

We don't need to do anything in AlternativeTextController if selection is already outside of the editable region.

No new tests are added since this is only a performance improvement, and doesn't change any asymptotic behavior.

* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::respondToChangedSelection):

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

7 years ago[Mac][WK2] Unreviewed, spelling-unified-emulation.html fails after 137571
g.czajkowski@samsung.com [Thu, 13 Dec 2012 09:42:42 +0000 (09:42 +0000)]
[Mac][WK2] Unreviewed, spelling-unified-emulation.html fails after 137571

Replace the "zzz" word with "buzz" for mac-wk2.

* platform/mac-wk2/editing/spelling/spelling-unified-emulation-expected.txt:

Change-Id: I6434a60e9dc1aab9abda218977255f8649468aa2

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

7 years agoplugin snapshotting accepts bad snapshot after 5 seconds
jonlee@apple.com [Thu, 13 Dec 2012 09:29:45 +0000 (09:29 +0000)]
plugin snapshotting accepts bad snapshot after 5 seconds
https://bugs.webkit.org/show_bug.cgi?id=104886
<rdar://problem/12838753>

Reviewed by Maciej Stachowiak.

* WebProcess/Plugins/PluginView.cpp: Increase to 60 tries, equating to a little over 60 seconds total.

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

7 years agoUnreviewed. Adding myself to committers list.
xingnan.wang@intel.com [Thu, 13 Dec 2012 09:26:46 +0000 (09:26 +0000)]
Unreviewed. Adding myself to committers list.

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

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

7 years agoCrash in PlugInOriginHash with empty MIME type (104882)
jonlee@apple.com [Thu, 13 Dec 2012 08:42:49 +0000 (08:42 +0000)]
Crash in PlugInOriginHash with empty MIME type (104882)
https://bugs.webkit.org/show_bug.cgi?id=104882
<rdar://problem/12872298>

Reviewed by Filip Pizlo.

The crash occurs because the strings might be null. Add a check for it, but also try to infer a MIME type
in case the markup does not include a type attribute, but we can find it from the extension in the URL.

* platform/KURL.cpp: Add a new function mimeTypeFromURL() which tries to return the implied MIME type
based on the URL provided. If nothing was found, return a null string.
(WebCore::mimeTypeFromURL): Factored out from FrameLoader::defaultObjectContentType().
* platform/KURL.h:

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::defaultObjectContentType): Refactor to use mimeTypeFromURL().
* plugins/PlugInOriginHash.cpp:
(WebCore::addCaseFoldedCharacters): Add a check for an empty string.
(WebCore::PlugInOriginHash::hash): If the service type is empty, try to infer the MIME type.

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

7 years agoRegression(r137486): Broke EFL build
christophe.dumez@intel.com [Thu, 13 Dec 2012 08:29:24 +0000 (08:29 +0000)]
Regression(r137486): Broke EFL build
https://bugs.webkit.org/show_bug.cgi?id=104883

Unreviewed EFL build fix.

Fix EFL build break after r137486 due to missing WebCore::
namespace.

No new tests, no behavior change for layout tests.

* platform/NotImplemented.h:

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

7 years ago[EFL][GTK] spelling-unified-emulation.html fails - word "zzz" cannot be found by...
g.czajkowski@samsung.com [Thu, 13 Dec 2012 07:57:29 +0000 (07:57 +0000)]
[EFL][GTK] spelling-unified-emulation.html fails - word "zzz" cannot be found by enchant
https://bugs.webkit.org/show_bug.cgi?id=104787

Reviewed by Hajime Morita.

Replace the "zzz" word with "buzz".
The problematic sound of snoring can not be found by enchant (spellchecker backend
for EFL and GTK+ WebKit ports) as this word doesn't exist in English dictionary.

* editing/spelling/spelling-unified-emulation-expected.txt:
* editing/spelling/spelling-unified-emulation.html:
* platform/efl-wk2/TestExpectations:

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

7 years agoAdd support for tracking hit test rectangles to enable fast event rejection in the...
leviw@chromium.org [Thu, 13 Dec 2012 07:21:58 +0000 (07:21 +0000)]
Add support for tracking hit test rectangles to enable fast event rejection in the compositor
https://bugs.webkit.org/show_bug.cgi?id=103914

Reviewed by Simon Fraser.

Source/WebCore:

Adding support for tracking hit test target regions for the purpose of performing initial hit testing
in the compositor to avoid blocking scrolling on the main thread while waiting to hit test events that
aren't occuring in regions with handlers. This is initially being done to avoid having to go to the main
thread when scrolling by flicking on touch devices when the flick occurs outside a tracked touch event
region. This patch includes the implementation to turn this on in Chromium.

To accomplish this goal, Document will now keep a counted hash set of nodes with touch event handlers
instead of only an unsigned integer of the total count. ScrollingCoordinator then updates the compositor
when new touch event handlers are registered or removed, or after layout much like how
nonFastScrollableRegions are currently tracked.

This implementation will not properly update the hit test rects when the renderers are inside a sub-
tree that scrolls.

Test: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html

* dom/Document.cpp:
(WebCore::Document::Document): Added a HashCountedSet of touch target nodes. Note: DOMWindow targets
are stored as the Document they point to.
(WebCore::Document::didAddTouchEventHandler): Changed to keep track of the handler instead of a count, and
to update the ScrollingCoordinator with the change.
(WebCore::Document::didRemoveTouchEventHandler): Ditto.
* dom/Document.h:
(WebCore::Document::hasTouchEventHandlers): It's no longer O(1) to get the count of touch handlers, so
expose whether there are any or not.
(WebCore::Document::touchEventTargets):
* dom/Node.cpp:
(WebCore::Node::didMoveToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener): Add the Document to the touch target set instead of DOMWindow.
(WebCore::DOMWindow::removeEventListener):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent):
* page/Frame.cpp:
(WebCore::Frame::setDocument):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::computeAbsoluteTouchEventTargetRects): Walk the renderers for event handler
nodes and generate the absolute hit testing rects.
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setTouchEventTargetRectsChanged): Hook to pass along the hit test rects to
the scrolling tree/compositor.
(ScrollingCoordinator):
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRectsChanged):
(WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects):
* page/scrolling/chromium/ScrollingCoordinatorChromium.h:
(ScrollingCoordinatorChromium):
* testing/Internals.cpp:
(WebCore::Internals::touchEventHandlerCount): Changed to do the work to calculate the actual count since
it's no longer stored as an int in Document.
(WebCore::Internals::touchEventTargetClientRects):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/chromium:

Enabling touch event target region tracking.

* features.gypi:
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::requestTouchEventType):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):

LayoutTests:

* platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Added.
* platform/chromium/fast/events/touch/compositor-touch-hit-rects.html: Added.

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

7 years agoAdd ASSERTions to ensure that CSSPropertys that are variables only ever refer to...
macpherson@chromium.org [Thu, 13 Dec 2012 06:15:10 +0000 (06:15 +0000)]
Add ASSERTions to ensure that CSSPropertys that are variables only ever refer to CSSValues that are variables.
https://bugs.webkit.org/show_bug.cgi?id=104876

Reviewed by Steve Block.

Add assertions to CSSProperty constructors to make that if it is initialized with CSSPropertyVariable that
the value type associated with it is also a variable. This is already asserted at read time, but ASSERTing
here will produce a more useful backtrace.

No new tests as functionality unchanged.

* css/CSSProperty.h:
(WebCore::CSSProperty::CSSProperty):

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

7 years agoNetworkInfoController needs to support destructor
gyuyoung.kim@samsung.com [Thu, 13 Dec 2012 05:51:43 +0000 (05:51 +0000)]
NetworkInfoController needs to support destructor
https://bugs.webkit.org/show_bug.cgi?id=104642

Reviewed by Kentaro Hara.

Though NetworkInfoController can be referenced by each port in order to update network status change,
there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when
controller is destroyed.

Source/WebCore:

* Modules/networkinfo/NetworkInfoClient.h:
(NetworkInfoClient):
* Modules/networkinfo/NetworkInfoConnection.h:
(WebCore::NetworkInfoConnection::networkInfoControllerDestroyed):
* Modules/networkinfo/NetworkInfoController.cpp:
(WebCore::NetworkInfoController::~NetworkInfoController):

Source/WebKit/blackberry:

* WebCoreSupport/NetworkInfoClientBlackBerry.cpp:
(WebCore::NetworkInfoClientBlackBerry::networkInfoControllerDestroyed):
(WebCore):
* WebCoreSupport/NetworkInfoClientBlackBerry.h:
(NetworkInfoClientBlackBerry):

Source/WebKit/efl:

* WebCoreSupport/NetworkInfoClientEfl.cpp:
(WebCore::NetworkInfoClientEfl::networkInfoControllerDestroyed):
(WebCore):
* WebCoreSupport/NetworkInfoClientEfl.h:
(NetworkInfoClientEfl):

Source/WebKit2:

* UIProcess/efl/NetworkInfoProvider.cpp:
(NetworkInfoProvider::networkInfoControllerDestroyed):
* UIProcess/efl/NetworkInfoProvider.h:
(NetworkInfoProvider):
* WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
(WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed):
(WebKit):
* WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
(WebNetworkInfoClient):

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

7 years agoValidity of a radio button is not updated correctly when it is detached from an inval...
tkent@chromium.org [Thu, 13 Dec 2012 05:44:01 +0000 (05:44 +0000)]
Validity of a radio button is not updated correctly when it is detached from an invalid radio group
https://bugs.webkit.org/show_bug.cgi?id=104873

Reviewed by Kentaro Hara.

Source/WebCore:

When a radio button is detached from an invalid radio group,
A) we should update button's validity, and
B) it should be valid.

A is handled by the following code in RadioButtonGroup::remove.
    if (!wasValid) {
        // A radio button not in a group is always valid. We need to make it
        // valid only if the group was invalid.
        button->setNeedsValidityCheck();

B was incomplete.
    bool RadioInputType::valueMissing(const String&) const
    {
        return element()->isInRequiredRadioButtonGroup() && !element()->checkedRadioButtonForGroup();
isInRequiredRadioButtonGroup checked required state of a group with the
name attribute value even if the radio button was already detached from
the group. isInRequiredRadioButtonGroup should check membership of the
radio button precisely.

Tests: Update fast/forms/radio/radio-live-validation-style.html

* dom/CheckedRadioButtons.cpp:
(RadioButtonGroup): Declare contains.
(WebCore::RadioButtonGroup::contains): Added.
(WebCore::CheckedRadioButtons::isInRequiredGroup): Renamed from
isRequiredGroup. This function takes HTMLInputElement* argument.
* dom/CheckedRadioButtons.h:
(CheckedRadioButtons): Rename isRequiredGroup to isInRequiredGroup.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isInRequiredRadioButtonGroup):
Make this non-const becaues RadioButtonGroup::m_members needs non-const
pointers. Use CheckedRadioButtons::isInRequiredGroup.
* html/HTMLInputElement.h:
(HTMLInputElement): Make isInRequiredRadioButtonGroup non-const.

LayoutTests:

* fast/forms/radio/radio-live-validation-style-expected.txt:
* fast/forms/radio/radio-live-validation-style.html: Add a test case.

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

7 years agoContainerNodeAlgorithm::notifyInsertedIntoDocument is not used
shinyak@chromium.org [Thu, 13 Dec 2012 05:31:24 +0000 (05:31 +0000)]
ContainerNodeAlgorithm::notifyInsertedIntoDocument is not used
https://bugs.webkit.org/show_bug.cgi?id=104874

Reviewed by Hajime Morita.

ContainerNodeAlgorithm::notifyInsertedIntoDocument() is not used by anyone. We can remove it safely.

No new tests, no change in behavior.

* dom/ContainerNodeAlgorithms.h:

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

7 years agoMilliseconds field of date/time input UI should respect step attribute
commit-queue@webkit.org [Thu, 13 Dec 2012 03:02:04 +0000 (03:02 +0000)]
Milliseconds field of date/time input UI should respect step attribute
https://bugs.webkit.org/show_bug.cgi?id=104628

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

Source/WebCore:

This patch makes step-up/-down UI of the milliseconds fields respect step attribute
in a special case when the step is divisible by 1000 milliseconds.

Test: fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html

* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditBuilder::visitField):
If step of the element (in milliseconds) is divisible by 1000, use it as the step of the milliseconds field. Otherwise, the millisecond field has step 1.
* html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): Add step and stepBase arguments.
(WebCore::DateTimeMillisecondFieldElement::create): Ditto.
* html/shadow/DateTimeFieldElements.h:
(DateTimeMillisecondFieldElement): Ditto.
* html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement): Ditto.
(WebCore::DateTimeNumericFieldElement::stepDown): Changed to compute next allowed value using roundDown().
(WebCore::DateTimeNumericFieldElement::stepUp): Changed to compute next allowed value using roundUp().
(WebCore::DateTimeNumericFieldElement::roundDown): Added.
(WebCore::DateTimeNumericFieldElement::roundUp): Added.
* html/shadow/DateTimeNumericFieldElement.h:
(DateTimeNumericFieldElement): Add m_step and m_stepBase fields.

LayoutTests:

* fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-expected.txt:
* fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html:
Changed to use eventSender.keyDown() instead of making keydown event because we need delete-key handling.
Added new helper function test() and changed stepUp/stepDown to use it.
Added test cases for milliseconds field with various step values and step baees.

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

7 years ago[CSS Grid Layout] Include paddings and borders into the grid element's logical height...
jchaffraix@webkit.org [Thu, 13 Dec 2012 02:49:54 +0000 (02:49 +0000)]
[CSS Grid Layout] Include paddings and borders into the grid element's logical height / width
https://bugs.webkit.org/show_bug.cgi?id=104818

Reviewed by Tony Chang.

Source/WebCore:

This change makes RenderGrid add the borders and paddings in the right direction during layout
so that the grid element's size accounts them like any other renderer.

Test: fast/css-grid-layout/grid-element-padding-margin.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computePreferredLogicalWidths):
(WebCore::RenderGrid::layoutGridItems):

LayoutTests:

* fast/css-grid-layout/grid-element-padding-margin-expected.txt: Added.
* fast/css-grid-layout/grid-element-padding-margin.html: Added.

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

7 years agoRename currentMousePosition() to lastKnownMousePosition() and mark it as OVERRIDE.
aestes@apple.com [Thu, 13 Dec 2012 02:44:41 +0000 (02:44 +0000)]
Rename currentMousePosition() to lastKnownMousePosition() and mark it as OVERRIDE.

* WebProcess/Plugins/PDF/PDFPlugin.h:

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

7 years agoUnreviewed. Fix typo in NRWT.
roger_fong@apple.com [Thu, 13 Dec 2012 02:43:12 +0000 (02:43 +0000)]
Unreviewed. Fix typo in NRWT.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.is_reference_html_file):

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

7 years agoInclude Apple Windows in GraphicsLayer::supportsBackgroundColorContent().
roger_fong@apple.com [Thu, 13 Dec 2012 02:33:52 +0000 (02:33 +0000)]
Include Apple Windows in GraphicsLayer::supportsBackgroundColorContent().
https://bugs.webkit.org/show_bug.cgi?id=104852.

Reviewed by Simon Fraser.

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::supportsBackgroundColorContent):

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

7 years agoFix the Chromium build after r137539.
aestes@apple.com [Thu, 13 Dec 2012 02:26:22 +0000 (02:26 +0000)]
Fix the Chromium build after r137539.

* src/ScrollbarGroup.cpp:
(WebKit::ScrollbarGroup::lastKnownMousePosition): Renamed from currentMousePosition().
* src/ScrollbarGroup.h: Ditto.

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

7 years agoUnused parameters on TextureMapperImageBuffer.cpp
commit-queue@webkit.org [Thu, 13 Dec 2012 02:17:49 +0000 (02:17 +0000)]
Unused parameters on TextureMapperImageBuffer.cpp
https://bugs.webkit.org/show_bug.cgi?id=104857

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-12-12
Reviewed by Kentaro Hara.

The updateContents has unused parameter 'textureMapper',
remove the parameter name to fix 'unused parameter' build warning.

* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::updateContents):

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

7 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Thu, 13 Dec 2012 02:13:13 +0000 (02:13 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

7 years agoFix detection of ref test files in old and new run webkit tests.
roger_fong@apple.com [Thu, 13 Dec 2012 02:12:07 +0000 (02:12 +0000)]
Fix detection of ref test files in old and new run webkit tests.
https://bugs.webkit.org/show_bug.cgi?id=104850.

Reviewed by Timothy Horton.

* Scripts/old-run-webkit-tests:
(isUsedInReftest):
Add notref and ref prefix and suffix cases to isUsedinReftest.
* Scripts/webkitpy/layout_tests/port/base.py:
(Port):
(Port.is_reference_html_file):
Typo in NRWT.

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

7 years ago[Shadow] HTMLContentElement::getDistributedNodes() doesn't work correctly if not...
shinyak@chromium.org [Thu, 13 Dec 2012 02:11:01 +0000 (02:11 +0000)]
[Shadow] HTMLContentElement::getDistributedNodes() doesn't work correctly if not in document tree.
https://bugs.webkit.org/show_bug.cgi?id=104345

Reviewed by Hajime Morita.

Source/WebCore:

Since document->updateLayout() does affect nodes in Document, distribution will not occur in
InsertionPoints out of Document. We have to find the element in document tree scope, and start distribution from it.

Test: fast/dom/shadow/get-distributed-nodes-orphan.html

* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::getDistributedNodes):

LayoutTests:

* fast/dom/shadow/get-distributed-nodes-orphan-expected.txt: Added.
* fast/dom/shadow/get-distributed-nodes-orphan.html: Added.

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

7 years agoUnreviewed chromium rebaseline for fast/repaint/delete-into-nested-block.html
eae@chromium.org [Thu, 13 Dec 2012 02:09:01 +0000 (02:09 +0000)]
Unreviewed chromium rebaseline for fast/repaint/delete-into-nested-block.html

* platform/chromium-linux/fast/repaint/delete-into-nested-block-expected.png:
* platform/chromium-mac-lion/fast/repaint/delete-into-nested-block-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/delete-into-nested-block-expected.png:
* platform/chromium-mac/fast/repaint/delete-into-nested-block-expected.png:
* platform/chromium-win/fast/repaint/delete-into-nested-block-expected.png:
* platform/chromium/TestExpectations:

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

7 years agorework ChromiumAndroidDriver.start() et. al to avoid funky layering
dpranke@chromium.org [Thu, 13 Dec 2012 01:58:16 +0000 (01:58 +0000)]
rework ChromiumAndroidDriver.start() et. al to avoid funky layering
https://bugs.webkit.org/show_bug.cgi?id=104856

Reviewed by Eric Seidel.

r137523 / bug 10357 introduced some back-and-forth hopping during
driver.start() in the chromium android port. This patch cleans it
up a bit.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver.__init__):
(ChromiumAndroidDriver._start_once):
* Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.start):
(Driver._start):

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

7 years agoVersioning.
lforschler@apple.com [Thu, 13 Dec 2012 01:45:18 +0000 (01:45 +0000)]
Versioning.

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

7 years ago[WIN] Implement WebCore::fileSystemRepresentation() for !USE(CF)
paroga@webkit.org [Thu, 13 Dec 2012 01:33:41 +0000 (01:33 +0000)]
[WIN] Implement WebCore::fileSystemRepresentation() for !USE(CF)
https://bugs.webkit.org/show_bug.cgi?id=104456

Reviewed by Brent Fulgham.

Convert the UTF-16 path to the system default Windows ANSI code page (usually Windows Latin1).

* platform/win/FileSystemWin.cpp:
(WebCore::fileSystemRepresentation):

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

7 years ago[Texmap] Remove lowp/highp indicators as they're not needed with ANGLE.
commit-queue@webkit.org [Thu, 13 Dec 2012 01:32:18 +0000 (01:32 +0000)]
[Texmap] Remove lowp/highp indicators as they're not needed with ANGLE.
https://bugs.webkit.org/show_bug.cgi?id=104707

Patch by No'am Rosenthal <noam@webkit.org> on 2012-12-12
Reviewed by Kenneth Rohde Christiansen.

lowp/highp indicator were needed for GLES2, but ANGLE does not require them.

Covered by existing tests.

* platform/graphics/texmap/TextureMapperShaderManager.cpp:
(WebCore::getShaderSpec):

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

7 years ago[chromium] Expose quickRedirectComing via WebDataSource
creis@chromium.org [Thu, 13 Dec 2012 01:28:38 +0000 (01:28 +0000)]
[chromium] Expose quickRedirectComing via WebDataSource
https://bugs.webkit.org/show_bug.cgi?id=104586

Reviewed by Nate Chapin.

Exposes whether the current navigation is a client redirect, and
thus should replace the current history item.

* public/WebDataSource.h:
(WebDataSource): Adds isClientRedirect.
* src/WebDataSourceImpl.cpp:
(WebKit::WebDataSourceImpl::isClientRedirect):
(WebKit):
* src/WebDataSourceImpl.h:
(WebDataSourceImpl):

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

7 years agoRebaseline some tiled scrolling results that were affected by r137387.
simon.fraser@apple.com [Thu, 13 Dec 2012 01:18:41 +0000 (01:18 +0000)]
Rebaseline some tiled scrolling results that were affected by r137387.

* platform/mac/tiled-drawing/tiled-drawing-zoom-expected.txt:
* platform/mac/tiled-drawing/use-tiled-drawing-expected.txt:

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

7 years agoDon't dispatch fake mousemove events when we don't know where the cursor is
aestes@apple.com [Thu, 13 Dec 2012 01:04:35 +0000 (01:04 +0000)]
Don't dispatch fake mousemove events when we don't know where the cursor is
https://bugs.webkit.org/show_bug.cgi?id=104861

Reviewed by Sam Weinig.

When EventHandler is instantiated or cleared, it sets the current mouse
position to (0, 0), even though this is probably not where the mouse
cursor really is (and we won't know until the mouse moves into the WebView).
If a fake mousemove event fires and the page has an element at (0, 0)
that responds to mousemove, we might end up changing the cursor or
displaying a tooltip at the current mouse position, even if it is
outside the WebView.

Fake mousemove events are dispatched in order to update a cursor that
is already over the WebView. Don't dispatch the event if we don't know
this to be true.

* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): Instantiate m_mousePositionIsUnknown to true.
(WebCore::EventHandler::clear): Reset m_mousePositionIsUnknown to true.
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Return early if the mouse position is unknown.
(WebCore::EventHandler::setLastKnownMousePosition): Set the mouse position from the PlatformMouseEvent and set m_mousePositionIsUnknown to false.
(WebCore::EventHandler::handleMousePressEvent): Call setLastKnownMousePosition() instead of setting the position directly.
(WebCore::EventHandler::handleMouseDoubleClickEvent): Ditto.
(WebCore::EventHandler::handleMouseMoveEvent): Ditto.
(WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
(WebCore::EventHandler::updateSelectionForMouseDrag): Rename currentMouse(Global)Position to lastKnownMouse(Global)Position.
(WebCore::EventHandler::handleAutoscroll): Ditto.
(WebCore::EventHandler::updatePanScrollState): Ditto.
(WebCore::EventHandler::lastKnownMousePosition): Ditto.
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): Ditto.
(WebCore::EventHandler::fakeMouseMoveEventTimerFired): Ditto.
(WebCore::EventHandler::hoverTimerFired): Ditto.
* page/FrameView.cpp:
(WebCore::FrameView::lastKnownMousePosition): Ditto.
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::lastKnownMousePosition): Ditto.
* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]): Ditto.
(-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]): Ditto.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::panScrollFromPoint): Ditto.
(WebCore::RenderLayer::autoscroll): Ditto.
(WebCore::RenderLayer::lastKnownMousePosition): Ditto.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::panScroll): Ditto.
(WebCore::RenderListBox::autoscroll): Ditto.
(WebCore::RenderListBox::lastKnownMousePosition): Ditto.

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

7 years agoUnreviewed. Skip some captions tests on Windows. Failing on both Mac and Windows.
roger_fong@apple.com [Thu, 13 Dec 2012 01:04:11 +0000 (01:04 +0000)]
Unreviewed. Skip some captions tests on Windows. Failing on both Mac and Windows.

* platform/win/TestExpectations:

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

7 years agoRemove some spurious ChangeLog entries that webkit-patch included in my last commit
mrobinson@webkit.org [Thu, 13 Dec 2012 00:45:39 +0000 (00:45 +0000)]
Remove some spurious ChangeLog entries that webkit-patch included in my last commit

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

7 years agoSource/WebCore: Try to fix the GTK+ debug bulid
mrobinson@webkit.org [Thu, 13 Dec 2012 00:40:47 +0000 (00:40 +0000)]
Source/WebCore: Try to fix the GTK+ debug bulid

Logging.h is no longer included in headers, so we need to include it manually in
files that require logging macros.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Include Logging.h.

Source/WebKit/gtk: [Coverity] [GTK] Remove some redundant null checks in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=104570

Reviewed by Daniel Bates.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::elementDoesAutoCompleteForElementWithId): Remove a redundant null check.

Tools: [Coverity] [GTK] Remove some redundant null checks in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=104570

Reviewed by Daniel Bates.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(descriptionSuitableForTestResult): Remove a redundant null check.

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

7 years agoUnreviewed, rolling out r137524.
commit-queue@webkit.org [Thu, 13 Dec 2012 00:32:18 +0000 (00:32 +0000)]
Unreviewed, rolling out r137524.
http://trac.webkit.org/changeset/137524
https://bugs.webkit.org/show_bug.cgi?id=104859

Causes m_deletionHasBegun assertion failures in
MutationObserver tests (Requested by aklein on #webkit).

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

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::suggestedMIMEType):
* dom/Document.h:
(WebCore::Node::isDocumentNode):
(WebCore):
(WebCore::Node::treeScope):
(WebCore::Node::Node):
* dom/Element.cpp:
(WebCore::Element::createRareData):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::ElementRareData):
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::setDocument):
(WebCore):
(WebCore::Node::setTreeScope):
(WebCore::Node::createRareData):
(WebCore::Node::attach):
(WebCore::Node::reportMemoryUsage):
* dom/Node.h:
(WebCore):
(WebCore::NodeRareDataBase::treeScope):
(WebCore::NodeRareDataBase::setTreeScope):
(NodeRareDataBase):
(WebCore::NodeRareDataBase::NodeRareDataBase):
(Node):
(WebCore::Node::inDocument):
(WebCore::Node::documentInternal):
* dom/NodeRareData.cpp:
(SameSizeAsNodeRareData):
(WebCore::NodeRareData::reportMemoryUsage):
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
* dom/TreeScope.cpp:
(SameSizeAsTreeScope):
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::setParentTreeScope):
* dom/TreeScope.h:
(WebCore):
(TreeScope):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

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

7 years agoFix build warning when ENABLE_INSPECTOR is disabled
commit-queue@webkit.org [Thu, 13 Dec 2012 00:29:46 +0000 (00:29 +0000)]
Fix build warning when ENABLE_INSPECTOR is disabled
https://bugs.webkit.org/show_bug.cgi?id=104757

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2012-12-12
Reviewed by Kentaro Hara.

Use UNUSED_PARAM macro to fix build warning -Wunused-parameter.

No new tests, no behavior change.

* inspector/InspectorCanvasInstrumentation.h:
(WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::startConsoleTiming):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
(WebCore::InspectorInstrumentation::addProfile):
(WebCore::InspectorInstrumentation::profilerEnabled):
(WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
* inspector/InspectorCounters.h:
(WebCore::InspectorCounters::incrementCounter):
(WebCore::InspectorCounters::decrementCounter):
* inspector/InspectorDatabaseInstrumentation.h:
(WebCore::InspectorInstrumentation::didOpenDatabase):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
(WebCore::InspectorInstrumentation::isDebuggerPaused):
(WebCore::InspectorInstrumentation::willInsertDOMNode):
(WebCore::InspectorInstrumentation::didInsertDOMNode):
(WebCore::InspectorInstrumentation::willRemoveDOMNode):
(WebCore::InspectorInstrumentation::willModifyDOMAttr):
(WebCore::InspectorInstrumentation::didModifyDOMAttr):
(WebCore::InspectorInstrumentation::didRemoveDOMAttr):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
(WebCore::InspectorInstrumentation::frameWindowDiscarded):
(WebCore::InspectorInstrumentation::mediaQueryResultChanged):
(WebCore::InspectorInstrumentation::didPushShadowRoot):
(WebCore::InspectorInstrumentation::willPopShadowRoot):
(WebCore::InspectorInstrumentation::didCreateNamedFlow):
(WebCore::InspectorInstrumentation::willRemoveNamedFlow):
(WebCore::InspectorInstrumentation::didUpdateRegionLayout):
(WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
(WebCore::InspectorInstrumentation::handleTouchEvent):
(WebCore::InspectorInstrumentation::handleMousePress):
(WebCore::InspectorInstrumentation::forcePseudoState):
(WebCore::InspectorInstrumentation::characterDataModified):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
(WebCore::InspectorInstrumentation::didScheduleResourceRequest):
(WebCore::InspectorInstrumentation::didInstallTimer):
(WebCore::InspectorInstrumentation::didRemoveTimer):
(WebCore::InspectorInstrumentation::willCallFunction):
(WebCore::InspectorInstrumentation::didCallFunction):
(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
(WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent):
(WebCore::InspectorInstrumentation::willDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::willHandleEvent):
(WebCore::InspectorInstrumentation::didHandleEvent):
(WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
(WebCore::InspectorInstrumentation::willEvaluateScript):
(WebCore::InspectorInstrumentation::didEvaluateScript):
(WebCore::InspectorInstrumentation::didCreateIsolatedContext):
(WebCore::InspectorInstrumentation::willFireTimer):
(WebCore::InspectorInstrumentation::didFireTimer):
(WebCore::InspectorInstrumentation::didBeginFrame):
(WebCore::InspectorInstrumentation::didCancelFrame):
(WebCore::InspectorInstrumentation::didInvalidateLayout):
(WebCore::InspectorInstrumentation::willLayout):
(WebCore::InspectorInstrumentation::didLayout):
(WebCore::InspectorInstrumentation::didScroll):
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
(WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent):
(WebCore::InspectorInstrumentation::willPaint):
(WebCore::InspectorInstrumentation::didPaint):
(WebCore::InspectorInstrumentation::willScrollLayer):
(WebCore::InspectorInstrumentation::didScrollLayer):
(WebCore::InspectorInstrumentation::willComposite):
(WebCore::InspectorInstrumentation::didComposite):
(WebCore::InspectorInstrumentation::willRecalculateStyle):
(WebCore::InspectorInstrumentation::didRecalculateStyle):
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
(WebCore::InspectorInstrumentation::willMatchRule):
(WebCore::InspectorInstrumentation::didMatchRule):
(WebCore::InspectorInstrumentation::willProcessRule):
(WebCore::InspectorInstrumentation::didProcessRule):
(WebCore::InspectorInstrumentation::applyUserAgentOverride):
(WebCore::InspectorInstrumentation::applyScreenWidthOverride):
(WebCore::InspectorInstrumentation::applyScreenHeightOverride):
(WebCore::InspectorInstrumentation::shouldApplyScreenWidthOverride):
(WebCore::InspectorInstrumentation::applyEmulatedMedia):
(WebCore::InspectorInstrumentation::shouldApplyScreenHeightOverride):
(WebCore::InspectorInstrumentation::willSendRequest):
(WebCore::InspectorInstrumentation::continueAfterPingLoader):
(WebCore::InspectorInstrumentation::markResourceAsCached):
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
(WebCore::InspectorInstrumentation::willReceiveResourceData):
(WebCore::InspectorInstrumentation::didReceiveResourceData):
(WebCore::InspectorInstrumentation::willReceiveResourceResponse):
(WebCore::InspectorInstrumentation::didReceiveResourceResponse):
(WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
(WebCore::InspectorInstrumentation::continueWithPolicyDownload):
(WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
(WebCore::InspectorInstrumentation::didReceiveData):
(WebCore::InspectorInstrumentation::didFinishLoading):
(WebCore::InspectorInstrumentation::didFailLoading):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient):
(WebCore::InspectorInstrumentation::willLoadXHR):
(WebCore::InspectorInstrumentation::didFailXHRLoading):
(WebCore::InspectorInstrumentation::didFinishXHRLoading):
(WebCore::InspectorInstrumentation::didReceiveXHRResponse):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::scriptImported):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
(WebCore::InspectorInstrumentation::didReceiveScriptResponse):
(WebCore::InspectorInstrumentation::domContentLoadedEventFired):
(WebCore::InspectorInstrumentation::loadEventFired):
(WebCore::InspectorInstrumentation::frameDetachedFromParent):
(WebCore::InspectorInstrumentation::didCommitLoad):
(WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
(WebCore::InspectorInstrumentation::willDestroyCachedResource):
(WebCore::InspectorInstrumentation::willWriteHTML):
(WebCore::InspectorInstrumentation::didWriteHTML):
(WebCore::InspectorInstrumentation::didUseDOMStorage):
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
(WebCore::InspectorInstrumentation::didStartWorkerContext):
(WebCore::InspectorInstrumentation::workerContextTerminated):
(WebCore::InspectorInstrumentation::didCreateWebSocket):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorInstrumentation::didCloseWebSocket):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
(WebCore::InspectorInstrumentation::didSendWebSocketFrame):
(WebCore::InspectorInstrumentation::networkStateChanged):
(WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
(WebCore::InspectorInstrumentation::didRequestAnimationFrame):
(WebCore::InspectorInstrumentation::didCancelAnimationFrame):
(WebCore::InspectorInstrumentation::willFireAnimationFrame):
(WebCore::InspectorInstrumentation::didFireAnimationFrame):
(WebCore::InspectorInstrumentation::overrideGeolocationPosition):
(WebCore::InspectorInstrumentation::overrideDeviceOrientation):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::didFail):

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

7 years agoReinstate CIFilter code for Lion
dino@apple.com [Thu, 13 Dec 2012 00:22:23 +0000 (00:22 +0000)]
Reinstate CIFilter code for Lion
https://bugs.webkit.org/show_bug.cgi?id=104847

Reviewed by Simon Fraser.

This basically reverts r137500 for Lion, because some
CAFilter types are not available there.

Covered by existing tests, with the warning that Lion
baselines will need updating.

* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::setFilters): Put an ugly #if in to
detect OS X 10.7, and rename caFilter variable to
filter.

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

7 years ago[BlackBerry] Ensure InRegionScrollableArea is valid before using.
commit-queue@webkit.org [Thu, 13 Dec 2012 00:13:55 +0000 (00:13 +0000)]
[BlackBerry] Ensure InRegionScrollableArea is valid before using.
https://bugs.webkit.org/show_bug.cgi?id=104832

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-12-12
Reviewed by Antonio Gomes.

Make sure the InRegionScrollableArea we are about to scroll is
still valid by ensuring its present in our cache of scrollable areas.
Internal PR: 258475
Internal Review: Gen Mak

We cache a RefPtr for each scrollable area at the time we discover them,
but this cache can get cleared anytime and then the references will be
released. If a request comes in to scroll a region which no longer
exists we have to ignore it.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
(BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
(BlackBerry::WebKit::InRegionScrollerPrivate::isValidScrollableLayerWebKitThread):
(WebKit):
(BlackBerry::WebKit::InRegionScrollerPrivate::isValidScrollableNode):
* Api/InRegionScroller_p.h:
(WebCore):
(InRegionScrollerPrivate):
* WebKitSupport/InRegionScrollableArea.cpp:
(BlackBerry::WebKit::InRegionScrollableArea::cachedScrollableLayer):
(WebKit):
(BlackBerry::WebKit::InRegionScrollableArea::cachedScrollableNode):
* WebKitSupport/InRegionScrollableArea.h:
(InRegionScrollableArea):

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

7 years ago[EFL] Refactor duplicate code into EflInspectorUtilities
commit-queue@webkit.org [Thu, 13 Dec 2012 00:05:51 +0000 (00:05 +0000)]
[EFL] Refactor duplicate code into EflInspectorUtilities
https://bugs.webkit.org/show_bug.cgi?id=104329

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2012-12-12
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Move duplicate work into EflInspectorUtilities.

No new tests, refactoring.

* PlatformEfl.cmake:
* platform/efl/EflInspectorUtilities.cpp: Added.
(WebCore):
(WebCore::inspectorResourcePath):
* platform/efl/EflInspectorUtilities.h: Added.
(WebCore):

Source/WebKit/efl:

Remove duplicated work to get the resource path for inspector.
And use WebCore::inspectorResourcePath().

* WebCoreSupport/InspectorClientEfl.cpp:
(WebCore::InspectorClientEfl::inspectorFilesPath):

Source/WebKit2:

Remove duplicated work to get the resource path for inspector.
And use WebCore::inspectorResourcePath().

* UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
(WebKit::WebInspectorServer::platformResourceForPath):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::inspectorBaseURL):

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

7 years agoFixing a chromium build breakage due to r137520.
mark.lam@apple.com [Wed, 12 Dec 2012 23:56:59 +0000 (23:56 +0000)]
Fixing a chromium build breakage due to r137520.
https://bugs.webkit.org/show_bug.cgi?id=104741.

Not reviewed.

Added #ifdef !PLATFORM(CHROMIUM) for one function chromium doesn't use.

No new tests.

* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::initialize):
* Modules/webdatabase/DatabaseTracker.h:
(DatabaseTracker):

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

7 years agoREGRESSION (Subpixel layout): Gray vertical lines appear when moving insertion point...
eae@chromium.org [Wed, 12 Dec 2012 23:53:52 +0000 (23:53 +0000)]
REGRESSION (Subpixel layout): Gray vertical lines appear when moving insertion point to right on Mac
https://bugs.webkit.org/show_bug.cgi?id=102402

Reviewed by Simon Fraser.

Source/WebCore:

Round paintOffset in CaretBase::paintCaret to ensure that caret is painted at an integer pixel boundary.

Test: fast/sub-pixel/input-caret-on-subpixel-bound.html

* editing/FrameSelection.cpp:
(WebCore::CaretBase::paintCaret): Round paintOffset to ensure it is on a pixel boundary.

LayoutTests:

Add test for caret painting in input field with a subpixel position and padding.

* fast/sub-pixel/input-caret-on-subpixel-bound-expected.html: Added.
* fast/sub-pixel/input-caret-on-subpixel-bound.html: Added.

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

7 years agoREGRESSION(137336): Generated run-ins are not placed correctly
commit-queue@webkit.org [Wed, 12 Dec 2012 23:43:19 +0000 (23:43 +0000)]
REGRESSION(137336): Generated run-ins are not placed correctly
https://bugs.webkit.org/show_bug.cgi?id=104840

Patch by Elliott Sprehn <esprehn@gmail.com> on 2012-12-12
Reviewed by Abhishek Arya.

Source/WebCore:

Now that :before and :after are not anonymous we no longer need special
handling for run-ins. Currently placeRunInIfNeeded will only place
a generated content run-in if a special flag is passed, but I removed
the call with the flag as it wasn't needed in r137336. This patch just
removes all special handling for generated content run-ins.

Test: fast/css-generated-content/generated-runin.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
(WebCore::RenderBlock::placeRunInIfNeeded):
(WebCore::RenderBlock::createReplacementRunIn):
    Lots of simplfication since there's no more anonymous run-ins.
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderObject.h:

LayoutTests:

Add a test for dynamically adding a generated content run-in.

* fast/css-generated-content/generated-runin-expected.html: Added.
* fast/css-generated-content/generated-runin.html: Added.

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

7 years agoUnreviewed. Unskipping some track tests after r137507.
roger_fong@apple.com [Wed, 12 Dec 2012 23:40:37 +0000 (23:40 +0000)]
Unreviewed. Unskipping some track tests after r137507.

* platform/win/TestExpectations:

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

7 years agoDon't unconditionally repaint compositing layers when their size changes
simon.fraser@apple.com [Wed, 12 Dec 2012 23:33:05 +0000 (23:33 +0000)]
Don't unconditionally repaint compositing layers when their size changes
https://bugs.webkit.org/show_bug.cgi?id=104461

Reviewed by James Robinson.

In r137215 I attempted to avoid excessive repainting when compositing layers
change size. This caused stretched layers when layer size changed as a result
of bounds constraining in updateCompositedBounds(), so was conditionalized
based on whether constraining happend, in r137248.

However, the TileCache layer was affected by constraining, erroneously:
shouldClipCompositedBounds() returned true of the tile cache layer. This
is pointless, because we only constrain to the document bounds (or enclosing
overflow), and the tile cache is already the size of the document bounds.

So, disable size constraining for the tile cache layer, and fix
a confusing comment in updateCompositedBounds() that refers to the
view's bounds, rather than the document's bounds.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldClipCompositedBounds):
(WebCore::RenderLayerBacking::updateCompositedBounds):

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

7 years agoUnreviewed test expectations update: tweak flakiness of resource timing tests.
adamk@chromium.org [Wed, 12 Dec 2012 23:20:20 +0000 (23:20 +0000)]
Unreviewed test expectations update: tweak flakiness of resource timing tests.

* platform/chromium/TestExpectations:

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

7 years ago[Refactoring] Replace Node's Document pointer with a TreeScope pointer
commit-queue@webkit.org [Wed, 12 Dec 2012 23:20:20 +0000 (23:20 +0000)]
[Refactoring] Replace Node's Document pointer with a TreeScope pointer
https://bugs.webkit.org/show_bug.cgi?id=59816

Patch by Elliott Sprehn <esprehn@gmail.com> on 2012-12-12
Reviewed by Ryosuke Niwa.

Instead of giving every node in a shadow a rare data, which can be quite
large, we replace the Document pointer in Node with a TreeScope pointer
and we give TreeScope a pointer to it's document scope.

This introduces no branches in document() because in the common
case document() becomes equivalent to m_treeScope->m_documentScope where
the documentScope is actually m_treeScope so this shouldn't introduce a
perf regression.

Note also that TreeScope can never be null after r136328, and the document
pointer is only null for DocumentType nodes so we can use a special
no-document TreeScope for this case that always returns null from
documentScope().

No new tests, no change in behavior.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::suggestedMIMEType):
* dom/Document.h:
(WebCore::Node::isDocumentNode):
(WebCore::Node::Node):
* dom/Element.cpp:
(WebCore::Element::createRareData):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::ElementRareData):
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::createRareData):
(WebCore::Node::attach):
(WebCore::Node::reportMemoryUsage):
* dom/Node.h:
(WebCore):
(WebCore::NodeRareDataBase::NodeRareDataBase):
(NodeRareDataBase):
(WebCore::Node::treeScope):
(WebCore::Node::inDocument):
(WebCore::Node::documentInternal):
(WebCore::Node::setTreeScope):
(Node):
* dom/NodeRareData.cpp:
(WebCore::NodeRareData::reportMemoryUsage):
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
* dom/TreeScope.cpp:
(SameSizeAsTreeScope):
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::setParentTreeScope):
* dom/TreeScope.h:
(WebCore):
(TreeScope):
(WebCore::TreeScope::documentScope):
(WebCore::TreeScope::noDocumentInstance):
    Returns a special tree scope that has no document for use with
    DocumentType nodes.
(WebCore::TreeScope::setDocumentScope):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveTreeToNewDocument):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

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

7 years agoAdd support for run-perf-tests --chromium-android --profile
eric@webkit.org [Wed, 12 Dec 2012 23:14:22 +0000 (23:14 +0000)]
Add support for run-perf-tests --chromium-android --profile
https://bugs.webkit.org/show_bug.cgi?id=103587

Reviewed by Dirk Pranke.

This makes it possible to profile PerformanceTests on an Android device
using run-perf-tests --chromium-android --profile.
CPU profiling on Android is sadly non-trivial, but this goes a long
ways towards making it more accessible to non-Android developers.

Although this script requires your device to be flashed with a
userdebug build (an annoyingly non-trivial endeavor for external contributors)
it endeavors to detect and explain the common errors encountered
while trying to setup a device for perf-based profiling.

* Scripts/webkitpy/common/system/profiler.py:
(GooglePProf.profile_after_exit): Discovered that pprof will just hang if passed a missing file.
* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(AndroidPerf):
(AndroidPerf.__init__):
(AndroidPerf.check_configuration):
(AndroidPerf.print_setup_instructions):
(_file_exists_on_device):
(_run_adb_command):
(attach_to_pid):
(_perf_version_string):
(_find_perfhost_binary):
(_perfhost_path):
(_first_ten_lines_of_profile):
(profile_after_exit):
(ChromiumAndroidDriver.__init__):
(ChromiumAndroidDriver.__init__.methods):
(ChromiumAndroidDriver._find_or_create_symfs):
(ChromiumAndroidDriver._start_once):
(ChromiumAndroidDriver):
(ChromiumAndroidDriver._run_post_start_tasks):
(ChromiumAndroidDriver._pid_from_android_ps_output):
(ChromiumAndroidDriver._pid_on_target):
* Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:
(ChromiumAndroidDriverTest.test_pid_from_android_ps_output):
(AndroidPerfTest):
(AndroidPerfTest.test_perf_output_regexp):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver._setup_environ_for_driver):
(Driver):
(Driver._start):
(Driver._run_post_start_tasks):
(Driver._pid_on_target):

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

7 years agoUnreviewed test expectations update: tweak flakiness of various tests.
adamk@chromium.org [Wed, 12 Dec 2012 23:13:02 +0000 (23:13 +0000)]
Unreviewed test expectations update: tweak flakiness of various tests.

* platform/chromium/TestExpectations:

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

7 years agoRebaselining platform/mac/accessibility/internal-link-anchors2-expected.txt after...
dmazzoni@google.com [Wed, 12 Dec 2012 23:04:59 +0000 (23:04 +0000)]
Rebaselining platform/mac/accessibility/internal-link-anchors2-expected.txt after r137512
https://bugs.webkit.org/show_bug.cgi?id=101650

This was just a merge error, the correct expectation wasn't checked in.

Unreviewed

* platform/mac/accessibility/internal-link-anchors2-expected.txt:

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

7 years agoEncapsulate externally used webdatabase APIs in DatabaseManager.
mark.lam@apple.com [Wed, 12 Dec 2012 23:04:20 +0000 (23:04 +0000)]
Encapsulate externally used webdatabase APIs in DatabaseManager.
https://bugs.webkit.org/show_bug.cgi?id=104741.

Reviewed by Sam Weinig.

Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase,
and DatabaseContext directly. This is to prepare for upcoming webkit2
refactoring.

Source/WebCore:

No new tests.

* CMakeLists.txt:
* Modules/webdatabase/DatabaseManager.cpp: Added.
(WebCore::DatabaseManager::manager):
(WebCore::DatabaseManager::DatabaseManager):
(WebCore::DatabaseManager::initialize):
(WebCore::DatabaseManager::setClient):
(WebCore::DatabaseManager::isAvailable):
(WebCore::DatabaseManager::setIsAvailable):
(WebCore::DatabaseManager::hasOpenDatabases):
(WebCore::DatabaseManager::stopDatabases):
(WebCore::DatabaseManager::fullPathForDatabase):
(WebCore::DatabaseManager::databaseDirectoryPath):
(WebCore::DatabaseManager::setDatabaseDirectoryPath):
(WebCore::DatabaseManager::hasEntryForOrigin):
(WebCore::DatabaseManager::origins):
(WebCore::DatabaseManager::databaseNamesForOrigin):
(WebCore::DatabaseManager::detailsForNameAndOrigin):
(WebCore::DatabaseManager::usageForOrigin):
(WebCore::DatabaseManager::quotaForOrigin):
(WebCore::DatabaseManager::setQuota):
(WebCore::DatabaseManager::deleteAllDatabases):
(WebCore::DatabaseManager::deleteOrigin):
(WebCore::DatabaseManager::deleteDatabase):
(WebCore::DatabaseManager::closeDatabasesImmediately):
(WebCore::DatabaseManager::interruptAllDatabasesForContext):
* Modules/webdatabase/DatabaseManager.h: Added.
(DatabaseManager):
(WebCore::DatabaseManager::~DatabaseManager):
* Modules/webdatabase/DatabaseManagerClient.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseTrackerClient.h.
(WebCore::DatabaseManagerClient::~DatabaseManagerClient):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::setClient):
* Modules/webdatabase/DatabaseTracker.h:
(DatabaseTracker):
* Modules/webdatabase/DatabaseTrackerClient.h: Removed.
* Target.pri:
* WebCore.exp.in:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
(WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
* page/DOMWindow.cpp:
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadShutdownStartTask::performTask):
(WebCore::WorkerThread::stop):

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):

Source/WebKit/chromium:

* src/ChromeClientImpl.cpp:
* src/WebDatabase.cpp:
(WebKit::WebDatabase::closeDatabaseImmediately):
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableDatabase):
(WebKit::WebRuntimeFeatures::isDatabaseEnabled):

Source/WebKit/efl:

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::exceededDatabaseQuota):
* ewk/ewk_security_origin.cpp:
(ewk_security_origin_web_database_usage_get):
(ewk_security_origin_web_database_quota_get):
(ewk_security_origin_web_database_quota_set):
(ewk_security_origin_web_database_get_all):
* ewk/ewk_settings.cpp:
(ewk_settings_web_database_path_set):
* ewk/ewk_web_database.cpp:
(ewk_web_database_display_name_get):
(ewk_web_database_expected_size_get):
(ewk_web_database_filename_get):
(ewk_web_database_size_get):
(ewk_web_database_remove):
(ewk_web_database_remove_all):

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::exceededDatabaseQuota):
* webkit/webkitfavicondatabase.cpp:
* webkit/webkiticondatabase.cpp:
* webkit/webkitsecurityorigin.cpp:
(webkit_security_origin_get_web_database_usage):
(webkit_security_origin_get_web_database_quota):
(webkit_security_origin_set_web_database_quota):
(webkit_security_origin_get_all_web_databases):
* webkit/webkitwebdatabase.cpp:
(webkit_web_database_get_display_name):
(webkit_web_database_get_expected_size):
(webkit_web_database_get_size):
(webkit_web_database_get_filename):
(webkit_web_database_remove):
(webkit_remove_all_web_databases):
(webkit_get_web_database_directory_path):
(webkit_set_web_database_directory_path):
* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

Source/WebKit/mac:

* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager origins]):
(-[WebDatabaseManager databasesWithOrigin:]):
(-[WebDatabaseManager detailsForDatabase:withOrigin:]):
(-[WebDatabaseManager deleteAllDatabases]):
(-[WebDatabaseManager deleteOrigin:]):
(-[WebDatabaseManager deleteDatabase:withOrigin:]):
(WebKitInitializeDatabasesIfNecessary):
* Storage/WebDatabaseManagerClient.h: Copied from Source/WebKit/mac/Storage/WebDatabaseTrackerClient.h.
(WebDatabaseManagerClient):
* Storage/WebDatabaseManagerClient.mm: Copied from Source/WebKit/mac/Storage/WebDatabaseTrackerClient.mm.
(WebDatabaseManagerClient::sharedWebDatabaseManagerClient):
(WebDatabaseManagerClient::WebDatabaseManagerClient):
(WebDatabaseManagerClient::~WebDatabaseManagerClient):
(DidModifyOriginData::dispatchToMainThread):
(DidModifyOriginData::DidModifyOriginData):
(DidModifyOriginData):
(WebDatabaseManagerClient::dispatchDidModifyOrigin):
(WebDatabaseManagerClient::dispatchDidModifyDatabase):
* Storage/WebDatabaseQuotaManager.mm:
(-[WebDatabaseQuotaManager usage]):
(-[WebDatabaseQuotaManager quota]):
(-[WebDatabaseQuotaManager setQuota:]):
* Storage/WebDatabaseTrackerClient.h: Removed.
* Storage/WebDatabaseTrackerClient.mm: Removed.
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):
* WebKit.order:
* WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/qt:

* Api/qwebdatabase.cpp:
(QWebDatabase::displayName):
(QWebDatabase::expectedSize):
(QWebDatabase::size):
(QWebDatabase::fileName):
(QWebDatabase::removeDatabase):
(QWebDatabase::removeAllDatabases):
* Api/qwebsecurityorigin.cpp:
(QWebSecurityOrigin::databaseUsage):
(QWebSecurityOrigin::databaseQuota):
(QWebSecurityOrigin::setDatabaseQuota):
(QWebSecurityOrigin::allOrigins):
(QWebSecurityOrigin::databases):
* Api/qwebsettings.cpp:
(QWebSettingsPrivate::apply):
(QWebSettings::setOfflineStoragePath):
(QWebSettings::offlineStoragePath):
* WebCoreSupport/ChromeClientQt.cpp:

Source/WebKit/win:

* WebDatabaseManager.cpp:
(WebDatabaseManager::sharedWebDatabaseManager):
(WebDatabaseManager::origins):
(WebDatabaseManager::databasesWithOrigin):
(WebDatabaseManager::detailsForDatabase):
(WebDatabaseManager::deleteAllDatabases):
(WebDatabaseManager::deleteOrigin):
(WebDatabaseManager::deleteDatabase):
(WebDatabaseManager::setQuota):
(WebKitInitializeWebDatabasesIfNecessary):
* WebDatabaseManager.h:
(WebDatabaseManager):
* WebSecurityOrigin.cpp:
(WebSecurityOrigin::usage):
(WebSecurityOrigin::quota):
(WebSecurityOrigin::setQuota):
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit/wx:

* WebKitSupport/ChromeClientWx.cpp:
(WebCore::ChromeClientWx::exceededDatabaseQuota):
* WebView.cpp:
(WebKit::WebView::SetDatabaseDirectory):
(WebKit::WebView::GetDatabaseDirectory):
(WebKit::WebView::SetDatabasesEnabled):
(WebKit::WebView::AreDatabasesEnabled):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::exceededDatabaseQuota):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::initialize):
(WebKit::WebDatabaseManager::WebDatabaseManager):
(WebKit::WebDatabaseManager::getDatabasesByOrigin):
(WebKit::WebDatabaseManager::getDatabaseOrigins):
(WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManager::deleteAllDatabases):
(WebKit::WebDatabaseManager::setQuotaForOrigin):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

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

7 years ago[chromium] don't write additional idl files to a gyp temp file
tony@chromium.org [Wed, 12 Dec 2012 23:01:06 +0000 (23:01 +0000)]
[chromium] don't write additional idl files to a gyp temp file
https://bugs.webkit.org/show_bug.cgi?id=104831

Reviewed by Kentaro Hara.

The <|( command doesn't work for files like <(PRODUCT_DIR) or <(SHARED_INTERMEDIATE_DIR).
For additional_idl_files, pass it as a parameter instead of a file listing the filenames.
There are currently only 3 files in this variable. This shouldn't overflow the command
line since the limit on Windows is 8k and with this change, we're still only around 4.5k.
Also, the longest part of the command line is the list of defines. If needed, we could put
that in a file instead.

No new tests, this is a refactoring of the build files.

* WebCore.gyp/WebCore.gyp: Don't use <|( for additional_idl_files.
* bindings/scripts/generate-bindings.pl: Change --additionalIdlFilesList to
--additionalIdlFiles, which is a shell argument containing the filenames.

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

7 years ago[Qt][GTK] new fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-002...
mihnea@adobe.com [Wed, 12 Dec 2012 22:56:53 +0000 (22:56 +0000)]
[Qt][GTK] new fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-002.html fails since introduced in r136857
https://bugs.webkit.org/show_bug.cgi?id=104351

Reviewed by Alejandro G. Castro.

For the platforms gtk/qt that do not have subpixel-layout enabled, adjust the top of the shape-inside box in the expected file.
This is similar to the approach taken for https://bugs.webkit.org/show_bug.cgi?id=100996.

* fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-002-expected.html:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:

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

7 years agonrwt: remove deprecated ORWT compatibility command line flags
dpranke@chromium.org [Wed, 12 Dec 2012 22:40:08 +0000 (22:40 +0000)]
nrwt: remove deprecated ORWT compatibility command line flags
https://bugs.webkit.org/show_bug.cgi?id=104301

Reviewed by Eric Seidel.

The command line flags for --noshow-results, --[no-]launch-safari,
and --use-remote-links-to-tests were for compatibility with
old-run-webkit-tests, but the compatibility is not needed any more
since NRWT is basically default and the scripts that passed the
old flags have been updated.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
(parse_args):

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

7 years agoImplement OfflineAudioContext constructor
crogers@google.com [Wed, 12 Dec 2012 22:35:44 +0000 (22:35 +0000)]
Implement OfflineAudioContext constructor
https://bugs.webkit.org/show_bug.cgi?id=104188

Reviewed by Kentaro Hara.

Source/WebCore:

The Web Audio layout tests have relied on an undocumented way (in the specification) to render
audio faster than realtime using an OfflineAudioContext.  We want to expose a proper OfflineAudioContext
object and constructor instead of piggybacking off of the normal AudioContext.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::isSampleRateRangeGood):
* Modules/webaudio/AudioContext.h:
(AudioContext):
* Modules/webaudio/DOMWindowWebAudio.idl:
* Modules/webaudio/OfflineAudioContext.cpp: Added.
(WebCore):
(WebCore::OfflineAudioContext::create):
(WebCore::OfflineAudioContext::OfflineAudioContext):
(WebCore::OfflineAudioContext::~OfflineAudioContext):
* Modules/webaudio/OfflineAudioContext.h: Added.
(WebCore):
(OfflineAudioContext):
* Modules/webaudio/OfflineAudioContext.idl: Added.
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitOfflineAudioContextEnabled):
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContextConstructor::constructJSAudioContext):
* bindings/v8/custom/V8AudioContextCustom.cpp:
(WebCore::V8AudioContext::constructorCallbackCustom):

LayoutTests:

Switch Web Audio layout tests to use OfflineAudioContext constructor.

* inspector-protocol/nmi-webaudio.html:
* inspector-protocol/resources/audio-context.html:
* webaudio/audiobuffersource-loop-comprehensive.html:
* webaudio/audiobuffersource-loop-points.html:
* webaudio/audiobuffersource-multi-channels.html:
* webaudio/audiobuffersource-playbackState.html:
* webaudio/audiobuffersource-playbackrate.html:
* webaudio/audiobuffersource-start.html:
* webaudio/audiobuffersource.html:
* webaudio/audiochannelmerger-stereo.html:
* webaudio/audiochannelsplitter.html:
* webaudio/audionode-connect-order.html:
* webaudio/audionode-expected.txt:
* webaudio/audioparam-connect-audioratesignal.html:
* webaudio/audioparam-summingjunction.html:
* webaudio/automatic-pull-node.html:
* webaudio/biquad-allpass.html:
* webaudio/biquad-bandpass.html:
* webaudio/biquad-highpass.html:
* webaudio/biquad-highshelf.html:
* webaudio/biquad-lowpass.html:
* webaudio/biquad-lowshelf.html:
* webaudio/biquad-notch.html:
* webaudio/biquad-peaking.html:
* webaudio/convolution-mono-mono.html:
* webaudio/delaynode-max-default-delay.html:
* webaudio/delaynode-max-nondefault-delay.html:
* webaudio/delaynode-maxdelay.html:
* webaudio/delaynode-maxdelaylimit.html:
* webaudio/delaynode-scheduling.html:
* webaudio/delaynode.html:
* webaudio/distance-exponential.html:
* webaudio/distance-inverse.html:
* webaudio/distance-linear.html:
* webaudio/gain.html:
* webaudio/javascriptaudionode-zero-input-channels.html:
* webaudio/javascriptaudionode.html:
* webaudio/mediaelementaudiosourcenode-gc.html:
* webaudio/mixing.html:
* webaudio/note-grain-on-play.html:
* webaudio/note-grain-on-timing.html:
* webaudio/oscillator-basic.html:
* webaudio/panner-equalpower-stereo.html:
* webaudio/panner-equalpower.html:
* webaudio/realtimeanalyser-fft-sizing.html:
* webaudio/resources/audio-codec-test.js:
(runDecodingTest):
* webaudio/resources/audioparam-testing.js:
(createAudioGraphAndTest):
* webaudio/resources/javascriptaudionode-testing.js:
(runJSNodeTest):
* webaudio/sample-accurate-scheduling.html:
* webaudio/stereo2mono-down-mixing.html:
* webaudio/up-mixing-mono-51.html:
* webaudio/up-mixing-mono-stereo.html:
* webaudio/up-mixing-stereo-51.html:
* webaudio/waveshaper.html:

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

7 years ago <rdar://problem/12862512> Crashes in NetworkResourceLoadScheduler::receivedRe...
ap@apple.com [Wed, 12 Dec 2012 22:31:55 +0000 (22:31 +0000)]
    <rdar://problem/12862512> Crashes in NetworkResourceLoadScheduler::receivedRedirect
        https://bugs.webkit.org/show_bug.cgi?id=104844

        Reviewed by Sam Weinig.

        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
        (WebKit::NetworkResourceLoadScheduler::receivedRedirect): The load may be already
        canceled.

        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::didReceiveResponse): Expanded logging a little.

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

7 years ago.: [BlackBerry] Update Media Controls for BlackBerry Platform
commit-queue@webkit.org [Wed, 12 Dec 2012 22:18:30 +0000 (22:18 +0000)]
.: [BlackBerry] Update Media Controls for BlackBerry Platform
https://bugs.webkit.org/show_bug.cgi?id=104443
https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=204748

Update Media Controls for BlackBerry platform to allow audio, embedded video and fullscreen video controls to be positioned and styled differently.

Patch by John Griggs <jgriggs@rim.com> on 2012-12-12
Reviewed by Rob Buis.

* Source/cmake/OptionsBlackBerry.cmake:

Source/WebCore: [BlackBerry] Update Media Controls for BlackBerry Platform
https://bugs.webkit.org/show_bug.cgi?id=104443
https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=204748

Patch by John Griggs <jgriggs@rim.com> on 2012-12-12
Reviewed by Rob Buis.

Update Media Controls for BlackBerry platform to allow audio, embedded video and fullscreen video controls to be positioned and styled differently.

BlackBerry-specific update to Media Controls - No new tests required.

* PlatformBlackBerry.cmake:
* css/mediaControlsBlackBerry.css:
(audio):
(audio::-webkit-media-controls-embedded-panel, video::-webkit-media-controls-embedded-panel):
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(video::-webkit-media-controls-button-group-container, audio::-webkit-media-controls-button-group-container):
(video::-webkit-media-controls-fullscreen-time-display-container, audio::-webkit-media-controls-fullscreen-time-display-container):
(video::-webkit-media-controls-time-display-container, audio::-webkit-media-controls-time-display-container):
(video::-webkit-media-controls-fullscreen-play-button, audio::-webkit-media-controls-fullscreen-play-button):
(video::-webkit-media-controls-play-button, audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-fullscreen-timeline-container, video::-webkit-media-controls-fullscreen-timeline-container):
(video::-webkit-media-controls-timeline-container, audio::-webkit-media-controls-timeline-container):
(audio::-webkit-media-controls-fullscreen-current-time-display, video::-webkit-media-controls-fullscreen-current-time-display):
(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
(video::-webkit-media-controls-fullscreen-time-remaining-display, audio::-webkit-media-controls-fullscreen-time-remaining-display):
(video::-webkit-media-controls-time-remaining-display, audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-fullscreen-timeline, video::-webkit-media-controls-fullscreen-timeline):
(video::-webkit-media-controls-fullscreen-fullscreen-button, audio::-webkit-media-controls-fullscreen-fullscreen-button):
(video::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-audio-mute-button):
(video::-webkit-media-controls-audio-mute-button):
(audio::-webkit-media-controls-volume-slider-container):
(video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider):
(video::-webkit-media-controls-volume-slider):
(video::-webkit-media-controls-fullscreen-button-divider, audio::-webkit-media-controls-fullscreen-button-divider):
(video::-webkit-media-controls-fullscreen-button-container, video::-webkit-media-controls-play-button-container, audio::-webkit-media-controls-fullscreen-button-container, audio::-webkit-media-controls-play-button-container):
* css/mediaControlsBlackBerryFullscreen.css: Added.
(body:-webkit-full-page-media):
(video:-webkit-full-screen::-webkit-media-controls-embedded-panel):
(video:-webkit-full-screen::-webkit-media-controls-panel):
(video:-webkit-full-screen::-webkit-media-controls-button-group-container):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-display-container):
(video:-webkit-full-screen::-webkit-media-controls-time-display-container):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-play-button):
(video:-webkit-full-screen::-webkit-media-controls-play-button):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-timeline-container):
(video:-webkit-full-screen::-webkit-media-controls-timeline-container):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-current-time-display):
(video:-webkit-full-screen::-webkit-media-controls-current-time-display):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-remaining-display):
(video:-webkit-full-screen::-webkit-media-controls-time-remaining-display):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-timeline):
(video:-webkit-full-screen::-webkit-media-controls-timeline):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-fullscreen-button):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-button):
(video:-webkit-full-screen::-webkit-media-controls-audio-mute-button):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider-container):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-divider):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-container, video:-webkit-full-screen::-webkit-media-controls-play-button-container):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-container):
(video:-webkit-full-screen::-webkit-media-controls-play-button-container):
(video:-webkit-full-screen::-webkit-media-controls-placeholder):
* html/shadow/MediaControlsBlackBerry.cpp: Added.
(WebCore):
(WebCore::MediaControlButtonGroupContainerElement::MediaControlButtonGroupContainerElement):
(WebCore::MediaControlButtonGroupContainerElement::create):
(WebCore::MediaControlButtonGroupContainerElement::shadowPseudoId):
(WebCore::MediaControlTimeDisplayContainerElement::MediaControlTimeDisplayContainerElement):
(WebCore::MediaControlTimeDisplayContainerElement::create):
(WebCore::MediaControlTimeDisplayContainerElement::shadowPseudoId):
(WebCore::MediaControlEmbeddedPanelElement::MediaControlEmbeddedPanelElement):
(WebCore::MediaControlEmbeddedPanelElement::create):
(WebCore::MediaControlEmbeddedPanelElement::shadowPseudoId):
(WebCore::MediaControlEmbeddedPanelElement::startDrag):
(WebCore::MediaControlEmbeddedPanelElement::continueDrag):
(WebCore::MediaControlEmbeddedPanelElement::endDrag):
(WebCore::MediaControlEmbeddedPanelElement::startTimer):
(WebCore::MediaControlEmbeddedPanelElement::stopTimer):
(WebCore::MediaControlEmbeddedPanelElement::transitionTimerFired):
(WebCore::MediaControlEmbeddedPanelElement::setPosition):
(WebCore::MediaControlEmbeddedPanelElement::resetPosition):
(WebCore::MediaControlEmbeddedPanelElement::makeOpaque):
(WebCore::MediaControlEmbeddedPanelElement::makeTransparent):
(WebCore::MediaControlEmbeddedPanelElement::defaultEventHandler):
(WebCore::MediaControlEmbeddedPanelElement::setCanBeDragged):
(WebCore::MediaControlEmbeddedPanelElement::setIsDisplayed):
(WebCore::MediaControlFullscreenTimeDisplayContainerElement::MediaControlFullscreenTimeDisplayContainerElement):
(WebCore::MediaControlFullscreenTimeDisplayContainerElement::create):
(WebCore::MediaControlFullscreenTimeDisplayContainerElement::shadowPseudoId):
(WebCore::MediaControlFullscreenButtonContainerElement::MediaControlFullscreenButtonContainerElement):
(WebCore::MediaControlFullscreenButtonContainerElement::create):
(WebCore::MediaControlFullscreenButtonContainerElement::shadowPseudoId):
(WebCore::MediaControlFullscreenButtonDividerElement::MediaControlFullscreenButtonDividerElement):
(WebCore::MediaControlFullscreenButtonDividerElement::create):
(WebCore::MediaControlFullscreenButtonDividerElement::shadowPseudoId):
(WebCore::MediaControlPlayButtonContainerElement::MediaControlPlayButtonContainerElement):
(WebCore::MediaControlPlayButtonContainerElement::create):
(WebCore::MediaControlPlayButtonContainerElement::shadowPseudoId):
(WebCore::MediaControlPlaceholderElement::MediaControlPlaceholderElement):
(WebCore::MediaControlPlaceholderElement::create):
(WebCore::MediaControlPlaceholderElement::shadowPseudoId):
(WebCore::MediaControlFullscreenPlayButtonElement::MediaControlFullscreenPlayButtonElement):
(WebCore::MediaControlFullscreenPlayButtonElement::create):
(WebCore::MediaControlFullscreenPlayButtonElement::defaultEventHandler):
(WebCore::MediaControlFullscreenPlayButtonElement::updateDisplayType):
(WebCore::MediaControlFullscreenPlayButtonElement::shadowPseudoId):
(WebCore::MediaControlFullscreenFullscreenButtonElement::MediaControlFullscreenFullscreenButtonElement):
(WebCore::MediaControlFullscreenFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenFullscreenButtonElement::defaultEventHandler):
(WebCore::MediaControlFullscreenFullscreenButtonElement::shadowPseudoId):
(WebCore::MediaControlFullscreenFullscreenButtonElement::setIsFullscreen):
(WebCore::MediaControlFullscreenTimelineContainerElement::MediaControlFullscreenTimelineContainerElement):
(WebCore::MediaControlFullscreenTimelineContainerElement::create):
(WebCore::MediaControlFullscreenTimelineContainerElement::shadowPseudoId):
(WebCore::MediaControlFullscreenTimelineElement::MediaControlFullscreenTimelineElement):
(WebCore::MediaControlFullscreenTimelineElement::create):
(WebCore::MediaControlFullscreenTimelineElement::defaultEventHandler):
(WebCore::MediaControlFullscreenTimelineElement::willRespondToMouseClickEvents):
(WebCore::MediaControlFullscreenTimelineElement::setPosition):
(WebCore::MediaControlFullscreenTimelineElement::setDuration):
(WebCore::MediaControlFullscreenTimelineElement::shadowPseudoId):
(WebCore::MediaControlFullscreenTimeRemainingDisplayElement::create):
(WebCore::MediaControlFullscreenTimeRemainingDisplayElement::MediaControlFullscreenTimeRemainingDisplayElement):
(WebCore::MediaControlFullscreenTimeRemainingDisplayElement::shadowPseudoId):
(WebCore::MediaControlFullscreenCurrentTimeDisplayElement::create):
(WebCore::MediaControlFullscreenCurrentTimeDisplayElement::MediaControlFullscreenCurrentTimeDisplayElement):
(WebCore::MediaControlFullscreenCurrentTimeDisplayElement::shadowPseudoId):
(WebCore::MediaControlAudioMuteButtonElement::MediaControlAudioMuteButtonElement):
(WebCore::MediaControlAudioMuteButtonElement::create):
(WebCore::MediaControlAudioMuteButtonElement::defaultEventHandler):
(WebCore::MediaControlAudioMuteButtonElement::shadowPseudoId):
(WebCore::MediaControlsBlackBerry::MediaControlsBlackBerry):
(WebCore::MediaControls::create):
(WebCore::MediaControlsBlackBerry::createControls):
(WebCore::MediaControlsBlackBerry::setMediaController):
(WebCore::MediaControlsBlackBerry::show):
(WebCore::MediaControlsBlackBerry::hide):
(WebCore::MediaControlsBlackBerry::makeOpaque):
(WebCore::MediaControlsBlackBerry::makeTransparent):
(WebCore::MediaControlsBlackBerry::reset):
(WebCore::MediaControlsBlackBerry::bufferingProgressed):
(WebCore::MediaControlsBlackBerry::playbackStarted):
(WebCore::MediaControlsBlackBerry::playbackProgressed):
(WebCore::MediaControlsBlackBerry::playbackStopped):
(WebCore::MediaControlsBlackBerry::updateCurrentTimeDisplay):
(WebCore::MediaControlsBlackBerry::reportedError):
(WebCore::MediaControlsBlackBerry::changedMute):
(WebCore::MediaControlsBlackBerry::enteredFullscreen):
(WebCore::MediaControlsBlackBerry::exitedFullscreen):
(WebCore::MediaControlsBlackBerry::showVolumeSlider):
(WebCore::MediaControlsBlackBerry::toggleVolumeSlider):
(WebCore::MediaControlsBlackBerry::shouldHideControls):
* html/shadow/MediaControlsBlackBerry.h: Added.
(WebCore):
(MediaControlButtonGroupContainerElement):
(MediaControlTimeDisplayContainerElement):
(MediaControlEmbeddedPanelElement):
(MediaControlFullscreenTimeDisplayContainerElement):
(MediaControlFullscreenButtonContainerElement):
(MediaControlFullscreenButtonDividerElement):
(MediaControlPlayButtonContainerElement):
(MediaControlPlaceholderElement):
(MediaControlFullscreenPlayButtonElement):
(MediaControlFullscreenFullscreenButtonElement):
(MediaControlFullscreenTimelineContainerElement):
(MediaControlFullscreenTimelineElement):
(MediaControlFullscreenTimeRemainingDisplayElement):
(MediaControlFullscreenCurrentTimeDisplayElement):
(MediaControlAudioMuteButtonElement):
(MediaControlsBlackBerry):
* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore):
(WebCore::RenderThemeBlackBerry::extraFullScreenStyleSheet):
(WebCore::RenderThemeBlackBerry::adjustSliderThumbSize):
(WebCore::RenderThemeBlackBerry::paintSliderTrackRect):
(WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
(WebCore::RenderThemeBlackBerry::adjustSliderTrackStyle):
(WebCore::RenderThemeBlackBerry::paintMediaRewindButton):
(WebCore::RenderThemeBlackBerry::paintMediaMuteButton):
(WebCore::RenderThemeBlackBerry::paintMediaFullscreenButton):
(WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
(WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
(WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb):
* platform/blackberry/RenderThemeBlackBerry.h:
(WebCore::RenderThemeBlackBerry::usesVerticalVolumeSlider):
(RenderThemeBlackBerry):

Tools: [BlackBerry] Update Media Controls
https://bugs.webkit.org/show_bug.cgi?id=104443
https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=204748

Update Media Controls for BlackBerry platform to allow audio, embedded video and fullscreen video controls to be positioned and styled differently.

Patch by John Griggs <jgriggs@rim.com> on 2012-12-12
Reviewed by Rob Buis.

BlackBerry-specific update to Media Controls - No new tests required.

* Scripts/webkitperl/FeatureList.pm:

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

7 years ago[BlackBerry] Fix word matching algorithm to account for adjacent divs with no whitesp...
mifenton@rim.com [Wed, 12 Dec 2012 21:51:21 +0000 (21:51 +0000)]
[BlackBerry] Fix word matching algorithm to account for adjacent divs with no whitespace between them.
https://bugs.webkit.org/show_bug.cgi?id=104837

Reviewed by Rob Buis.

PR 258038.

Fix selection at the end of content editable text block.

The next character may be in the next block bypassing the distance
comparison logic we have, remove the check for next character being
whitespace

Reviewed Internally by Nima Ghanavatian.

* WebKitSupport/DOMSupport.cpp:
(BlackBerry::WebKit::DOMSupport::visibleSelectionForClosestActualWordStart):

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

7 years agoAX: textUnderElement should consider alt text, but skip links and controls
dmazzoni@google.com [Wed, 12 Dec 2012 21:50:51 +0000 (21:50 +0000)]
AX: textUnderElement should consider alt text, but skip links and controls
https://bugs.webkit.org/show_bug.cgi?id=101650

Reviewed by Chris Fleizach.

Source/WebCore:

Getting inner text from an element now ignores focusable descendants and
containers, but uses alternative text.

The computation of textUnderElement is now recursive. This caused a crash
if it was called by accessibilityIsIgnored during object destruction,
so I simplified accessibilityIsIgnored to not actually call textUnderElement,
without affecting test results, which should actually be a decent speedup.

Test: accessibility/button-title-uses-inner-img-alt.html
Test: accessibility/focusable-div.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore):
(WebCore::shouldUseAccessiblityObjectInnerText):
(WebCore::AccessibilityNodeObject::textUnderElement):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):

LayoutTests:

Adds new tests to show that getting inner text from an element now ignores
focusable descendants and containers, but uses alternative text.

Updates and rebaselines several tests to reflect the new logic.

* accessibility/button-title-uses-inner-img-alt-expected.txt: Added.
* accessibility/button-title-uses-inner-img-alt.html: Added.
* accessibility/focusable-div-expected.txt: Extended with more test cases.
* accessibility/focusable-div.html: Extended with more test cases.
* platform/chromium/TestExpectations: Un-skip test that now passes.
* platform/chromium/accessibility/image-link-expected.txt: Rebaseline
* platform/mac/accessibility/image-link-expected.txt: Rebaseline
* platform/mac/accessibility/internal-link-anchors2-expected.txt: Rebaseline
* platform/mac/accessibility/static-text-role-uses-text-under-element-expected.txt: Rebaseline
* platform/mac/accessibility/static-text-role-uses-text-under-element.html: Fix
* platform/mac/accessibility/table-with-aria-role-expected.txt: Rebaseline

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

7 years agoUnreviewed, rolling out r137490.
commit-queue@webkit.org [Wed, 12 Dec 2012 21:36:03 +0000 (21:36 +0000)]
Unreviewed, rolling out r137490.
http://trac.webkit.org/changeset/137490
https://bugs.webkit.org/show_bug.cgi?id=104838

Breaks Chromium build due to references to
WebSharedWorkerRepository (Requested by aklein on #webkit).

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

* public/platform/WebKitPlatformSupport.h:
(WebKit):
(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::sharedWorkerRepository):
* src/SharedWorkerRepository.cpp:
(WebKit::sharedWorkerRepository):
(WebCore::SharedWorkerRepository::isAvailable):

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

7 years agoWeb Inspector: follow up to r136974: handle visibility shortcut in keydown event...
commit-queue@webkit.org [Wed, 12 Dec 2012 21:33:54 +0000 (21:33 +0000)]
Web Inspector: follow up to r136974: handle visibility shortcut in keydown event of ElementsTreeOutline.element
https://bugs.webkit.org/show_bug.cgi?id=104694

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

Typing H in the StylesSidebarPane caused toggling of the selected elements visibility. This change only handles
the H keydown when the ElementsPanel is focused.

No new tests.

* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline):
(WebInspector.ElementsTreeOutline.prototype._onkeydown):
(WebInspector.ElementsTreeOutline.prototype.handleShortcut):
* inspector/front-end/KeyboardShortcut.js:
(WebInspector.KeyboardShortcut.hasNoModifiers):

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

7 years agoFix target element handling in SVGSMILElement.
pdr@google.com [Wed, 12 Dec 2012 21:31:59 +0000 (21:31 +0000)]
Fix target element handling in SVGSMILElement.
https://bugs.webkit.org/show_bug.cgi?id=104495

Reviewed by Abhishek Arya.

Source/WebCore:

This patch fixes two bugs that led to stale target elements in SVGSMILElement.

r122449 changed the <use> code to call removeAllElementReferencesForTarget to rebuild
dependent <use> trees. This contained a bug where element references would be incorrectly
removed. removeAllElementReferencesForTarget calls svgAttributeChanged(href) on all
references, which can then re-add the references back. The bug is that
removeAllElementReferencesForTarget removes a newly-added reference as the last step.

r136906 changed targetElement() to no longer be lazily resolved so any changes to an
animation's href attribute needed to be tracked. r136906 refactored the code but did not
fix a bug where animation elements not in the document would not react to
svgAttributeChanged(href).

The combination of these two bugs allowed stale targetElement references to exist. A
target element could be removed from the document without dependent animation elements
receiving a notification (bug 1) and not reacting to notifications they received (bug 2).

This patch updates SVGUseElement::buildInstanceTree to only rebuild (not remove) the
elements referencing the target by adding rebuildAllElementReferencesForTarget. This patch
also updates SVGSMILElement to correctly react to svgAttributeChanged() notifications
for href changes even when not in the document.

Test: svg/animations/target-condition-crash.html

* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget):
(WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget):

    Refactored so that we can notify element references to update without removing
    references.

* svg/SVGDocumentExtensions.h:
(SVGDocumentExtensions):
* svg/SVGElement.cpp:
(WebCore::SVGElement::~SVGElement):
(WebCore::SVGElement::removedFrom):

    Similar to SVGUseElement::buildShadowAndInstanceTree, this callsite was updated to
    only rebuild references instead of removing them.

(WebCore::SVGElement::attributeChanged):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::buildShadowAndInstanceTree):

    The comment indicates we just want to rebuild (not remove). This callsite has been
    updated to use the new rebuildAllElementReferencesForTarget function.

(WebCore::SVGUseElement::buildInstanceTree):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::buildPendingResource):
(WebCore::SVGSMILElement::removedFrom):

    Previously, if an SVGSMILElement was not in the document, only clearResourceReferences
    would be called when the target changed. This has been refactored to reset the
    targetElement if the element needs to build resources but is not in the document.

    I looked at moving this into clearResourceReferences (since the target element might
    be considered a reference) but we run into issues calling pure virtual functions in
    the destructor. The current implementation seemed the cleanest.

    SVGSMILElement::removedFrom was cleaned up to match the rest of the code. The comment
    in removedFrom appears to be stale since disconnectConditions does not kill the element.

(WebCore::SVGSMILElement::svgAttributeChanged):

    Removed the bad !inDocument() checks that broke href change notifications.

(WebCore::SVGSMILElement::setTargetElement):

LayoutTests:

* svg/animations/target-condition-crash-expected.txt: Added.
* svg/animations/target-condition-crash.html: Added.

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

7 years ago[chromium] Minimize memcpy for encoded image data in ImageFrameGenerator
hclam@chromium.org [Wed, 12 Dec 2012 21:29:25 +0000 (21:29 +0000)]
[chromium] Minimize memcpy for encoded image data in ImageFrameGenerator
https://bugs.webkit.org/show_bug.cgi?id=103797

Reviewed by Stephen White.

Source/WebCore:

Added a new class ThreadSafeDataTransport to help transporting data in
SharedBuffer from one thread to another. This class is designed to minimize
thread contention and memory copy.

It is implemented using a data queue. New data segments are copied into
this queue. The queue is then consolidated with existing data when user
requests access to the final SharedBuffer.

Memory is copied into and out of the queue but this approach avoid
copying the entire SharedBuffer.

ImageFrameGenerator is now using this class for data transport between
threads.

Unit tests in ThreadSafeDataTransportTest. Also existing ImageFrameGeneratorTest passes.

* WebCore.gypi:
* platform/graphics/chromium/ImageFrameGenerator.cpp:
(WebCore::ImageFrameGenerator::ImageFrameGenerator):
(WebCore::ImageFrameGenerator::setData):
(WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
Added logic to skip decoding if there's no new data.
(WebCore::ImageFrameGenerator::decode):
* platform/graphics/chromium/ImageFrameGenerator.h:
(ImageFrameGenerator):
* platform/graphics/chromium/ThreadSafeDataTransport.cpp: Added.
(WebCore):
(WebCore::ThreadSafeDataTransport::ThreadSafeDataTransport):
(WebCore::ThreadSafeDataTransport::~ThreadSafeDataTransport):
(WebCore::ThreadSafeDataTransport::setData):
(WebCore::ThreadSafeDataTransport::data):
(WebCore::ThreadSafeDataTransport::hasNewData):
* platform/graphics/chromium/ThreadSafeDataTransport.h: Added.
(WebCore):
(ThreadSafeDataTransport):

Source/WebKit/chromium:

Added unit tests for ThreadSafeDataTransport.

Added unit tests for ImageFrameGenerator to test behavior with and without
new data.

New tests:
ThreadSafeDataTransportTest.hasNewData
ThreadSafeDataTransportTest.setData
ImageFrameGeneratorTest.cacheMissWithIncompleteDecodeNoNewData

* WebKit.gypi:
* tests/ThreadSafeDataTransportTest.cpp: Added.
(WebCore):
(WebCore::TEST):

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

7 years agoEnable VIDEO_TRACK on Windows.
roger_fong@apple.com [Wed, 12 Dec 2012 21:26:40 +0000 (21:26 +0000)]
Enable VIDEO_TRACK on Windows.
https://bugs.webkit.org/show_bug.cgi?id=104706.

Reviewed by Timothy Horton.

Enable VIDEO_TRACK on Windows and update project property files.

* DerivedSources.cpp:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/copyForwardingHeaders.cmd:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* html/HTMLElementsAllInOne.cpp:
* rendering/RenderingAllInOne.cpp:
* win/tools/vsprops/FeatureDefines.vsprops:

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

7 years agoAdding myself to SkiaGraphics watchlist
junov@google.com [Wed, 12 Dec 2012 21:16:38 +0000 (21:16 +0000)]
Adding myself to SkiaGraphics watchlist

Unreviewed

* Scripts/webkitpy/common/config/watchlist:

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

7 years agoOSR exit compiler should emit code for resetting the execution counter that matches...
fpizlo@apple.com [Wed, 12 Dec 2012 21:11:41 +0000 (21:11 +0000)]
OSR exit compiler should emit code for resetting the execution counter that matches the logic of ExecutionCounter.cpp
https://bugs.webkit.org/show_bug.cgi?id=104791

Reviewed by Oliver Hunt.

The OSR exit compiler wants to make it so that every OSR exit does the equivalent
of:

codeBlock->m_jitExecuteCounter.setNewThreshold(
    codeBlock->counterValueForOptimizeAfterLongWarmUp());

This logically involves:

- Resetting the counter to zero.
- Setting m_activeThreshold to counterValueForOptimizeAfterLongWarmUp().
- Figuring out the scaled threshold, subtracting the count so far (which is zero,
  so this part is a no-op), and clipping (ExecuteCounter::clippedThreshold()).
- Setting m_counter to the negated clipped threshold.
- Setting m_totalCount to the previous count so far (which is zero) plus the
  clipped threshold.

Because of the reset, which sets the count-so-far to zero, this amounts to:

- Setting m_activeThreshold to counterValueForOptimizeAfterLongWarmUp().
- Figuring out the clipped scaled threshold.
- Setting m_counter to the negated clipped scaled threshold.
- Setting m_totalCount to the (positive) clipped scaled threshold.

The code was previously not doing this, but now is. This is performance neutral.
The only change in behavior over what the code was previously doing (setting the
m_counter to the negated scaled threshold, without clipping, and then setting
the m_totalCount to the clipped scaled threshold) is that this will respond more
gracefully under memory pressure and will ensure that we get more value profile
LUBing before triggering recompilation. More LUBing is almost always a good
thing.

* dfg/DFGOSRExitCompiler.cpp:
(JSC::DFG::OSRExitCompiler::handleExitCounts):

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

7 years agoRebaselining fast/backgrounds/gradient-background-leakage-2-expected.html after r137473
junov@google.com [Wed, 12 Dec 2012 21:07:12 +0000 (21:07 +0000)]
Rebaselining fast/backgrounds/gradient-background-leakage-2-expected.html after r137473
https://bugs.webkit.org/show_bug.cgi?id=103409

Unreviewed

* platform/chromium-linux/fast/backgrounds/gradient-background-leakage-2-expected.png:
* platform/chromium-mac/fast/backgrounds/gradient-background-leakage-2-expected.png:
* platform/chromium-win/fast/backgrounds/gradient-background-leakage-2-expected.png:
* platform/chromium/TestExpectations:

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

7 years agocalendar-picker tests have image diffs on cr-mac after r137473
junov@google.com [Wed, 12 Dec 2012 20:55:10 +0000 (20:55 +0000)]
calendar-picker tests have image diffs on cr-mac after r137473
https://bugs.webkit.org/show_bug.cgi?id=104825

Unreviewed

* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoREGRESSION: r137481 caused a build failure with GTK
noam.rosenthal@nokia.com [Wed, 12 Dec 2012 20:42:17 +0000 (20:42 +0000)]
REGRESSION: r137481 caused a build failure with GTK
https://bugs.webkit.org/show_bug.cgi?id=104826

Unreviewed build fix.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::prepareBackingStore):
    Brought back #if PLATFORM(QT) to surround the dynamic_cast call.

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

7 years agoMark fast/css/nested-rounded-corners.html as flaky on Chromium/MountainLion
adamk@chromium.org [Wed, 12 Dec 2012 20:36:31 +0000 (20:36 +0000)]
Mark fast/css/nested-rounded-corners.html as flaky on Chromium/MountainLion

Unreviewed.

* platform/chromium/TestExpectations:

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

7 years agoUse CAFilter rather than CIFilter
dino@apple.com [Wed, 12 Dec 2012 20:19:12 +0000 (20:19 +0000)]
Use CAFilter rather than CIFilter
https://bugs.webkit.org/show_bug.cgi?id=104759

Reviewed by Tim Horton.

Source/WebCore:

In order to get better performance in the simple CSS filter
cases, use CAFilter rather than CIFilter. This involved
defining some platform-specific values inside
PlatformCALayerMac to expose CAFilter.

The great side-effect is that this brings our hardware
output much closer to our software filters. For example,
on a random location in the hue-rotate test.

Software: rgb(255, 148, 16)
Hardware before: rgb(255, 204, 50)
Hardware after: rgb(255, 165, 33)

Still some improvement needed, but better.

Covered by existing tests.

* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(CAColorMatrix): New structure to hold 5x4 matrix representing a color operation.
(PlatformCALayer::setFilters): Use CAFilter objects rather than CIFilter.

LayoutTests:

Update the expected results. They are now much closer to the software case (on Mac).

* css3/filters/composited-reflected-expected.png:
* css3/filters/effect-blur-hw-expected.png:
* css3/filters/effect-brightness-hw-expected.png:
* css3/filters/effect-combined-hw-expected.png:
* css3/filters/effect-contrast-hw-expected.png:
* css3/filters/effect-drop-shadow-hw-expected.png:
* css3/filters/effect-grayscale-hw-expected.png:
* css3/filters/effect-hue-rotate-hw-expected.png:
* css3/filters/effect-invert-hw-expected.png:
* css3/filters/effect-opacity-hw-expected.png:
* css3/filters/effect-saturate-hw-expected.png:
* css3/filters/effect-sepia-hw-expected.png:

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

7 years agoMark the template inert contents test as flaky on cr-win as well.
adamk@chromium.org [Wed, 12 Dec 2012 20:14:31 +0000 (20:14 +0000)]
Mark the template inert contents test as flaky on cr-win as well.

Unreviewed.

* platform/chromium/TestExpectations:

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

7 years ago[Texmap] Consolidate redundant code for ARB_RECT texture
commit-queue@webkit.org [Wed, 12 Dec 2012 20:10:55 +0000 (20:10 +0000)]
[Texmap] Consolidate redundant code for ARB_RECT texture
https://bugs.webkit.org/show_bug.cgi?id=104705

Patch by No'am Rosenthal <noam@webkit.org> on 2012-12-12
Reviewed by Kenneth Rohde Christiansen.

Instead of having a whole different function for RECT textures,
keep the existing functions and pass a flag that tells
TextureMapperGL to use the non-normalized coordinates and the
RECT shaders.

No new tests, refactor only. Tested to not break WebGL on
Qt-Mac.

* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
* platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurface::platformPaintToTextureMapper):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawQuad):
    Compensate for rect textures in drawQuad.

(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::TextureMapperGL::drawTextureWithAntialiasing):
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
    Pass flags to TextureMapperGL::drawQuad instead of a bool.

* platform/graphics/texmap/TextureMapperGL.h:
(TextureMapperGL):
* platform/graphics/texmap/TextureMapperShaderManager.cpp:
(WebCore::getShaderSpec):
* platform/graphics/texmap/TextureMapperShaderManager.h:
(TextureMapperShaderProgram):
    Compensate for the texture-size in the vertex
    shader instead of in the fragment shader.

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

7 years agoUnreviewed, rolling out r137491.
commit-queue@webkit.org [Wed, 12 Dec 2012 20:06:31 +0000 (20:06 +0000)]
Unreviewed, rolling out r137491.
http://trac.webkit.org/changeset/137491
https://bugs.webkit.org/show_bug.cgi?id=104828

broke the builtd (Requested by rfong on #webkit).

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

Source/WebCore:

* DerivedSources.cpp:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/copyForwardingHeaders.cmd:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* html/HTMLElementsAllInOne.cpp:
* platform/NotImplemented.cpp:
(WebCore):
(WebCore::notImplementedLoggingChannel):
* rendering/RenderingAllInOne.cpp:

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops:

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

7 years agoWeb Inspector: remove protocol-externs.js temp file after compile-front-end.py
commit-queue@webkit.org [Wed, 12 Dec 2012 19:45:36 +0000 (19:45 +0000)]
Web Inspector: remove protocol-externs.js temp file after compile-front-end.py
https://bugs.webkit.org/show_bug.cgi?id=98799

Patch by John J. Barton <johnjbarton@chromium.org> on 2012-12-12
Reviewed by Vsevolod Vlasov.

Add os.system rm for protocol-externs.js to the end of the compile script

* inspector/compile-front-end.py:

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

7 years ago[Qt][WK2] Fix the build on Mac
abecsi@webkit.org [Wed, 12 Dec 2012 19:44:24 +0000 (19:44 +0000)]
[Qt][WK2] Fix the build on Mac

Unreviewed build fix.

Add missing virtual destructor with empty
definition to fix missing vtable error
in test util's LoadStartedCatcher.

* UIProcess/API/qt/tests/util.h:
(LoadStartedCatcher::~LoadStartedCatcher):

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

7 years agoWhite space between inline blocks should be affected by word-spacing property
robert@webkit.org [Wed, 12 Dec 2012 19:43:45 +0000 (19:43 +0000)]
White space between inline blocks should be affected by word-spacing property
https://bugs.webkit.org/show_bug.cgi?id=69072

Reviewed by Levi Weintraub.

Source/WebCore:

Allow word-spacing to get added to the spaces between inline blocks in placeBoxesInInlineDirection by setting
needsWordSpacing to true each time an inline block is encountered. This ensures that the next space encountered
in a text run will be treated as a space between two words and will get word-spacing added to it if it is present
in the style.

Tests: fast/css/word-spacing-between-blocks.html
       fast/css/word-spacing-between-inlines.html

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):

LayoutTests:

* fast/css/word-spacing-between-blocks-expected.html: Added.
* fast/css/word-spacing-between-blocks.html: Added.
* fast/css/word-spacing-between-inlines-expected.html: Added.
* fast/css/word-spacing-between-inlines.html: Added.

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

7 years agoMark calendar-picker-appearance tests as ImageOnlyFailures on cr-mac after r137473
adamk@chromium.org [Wed, 12 Dec 2012 19:39:42 +0000 (19:39 +0000)]
Mark calendar-picker-appearance tests as ImageOnlyFailures on cr-mac after r137473

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years agoPre-painting should not paint out-of-view fixed position elements
wangxianzhu@chromium.org [Wed, 12 Dec 2012 19:38:15 +0000 (19:38 +0000)]
Pre-painting should not paint out-of-view fixed position elements
https://bugs.webkit.org/show_bug.cgi?id=104724

Reviewed by James Robinson.

.:

New manual test.

* ManualTests/compositing/fixed-position-out-of-view-scroll-prepaint.html: Added.

Source/WebCore:

Test: ManualTests/compositing/fixed-position-out-of-view-scroll-prepaint.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer): Don't paint out-of-view fixed position elements.

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

7 years agoEnable VIDEO_TRACK on Windows.
roger_fong@apple.com [Wed, 12 Dec 2012 19:36:25 +0000 (19:36 +0000)]
Enable VIDEO_TRACK on Windows.
https://bugs.webkit.org/show_bug.cgi?id=104706.

Reviewed by Timothy Horton.

Enable VIDEO_TRACK on Windows and update project property files.

* DerivedSources.cpp:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/copyForwardingHeaders.cmd:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* html/HTMLElementsAllInOne.cpp:
* rendering/RenderingAllInOne.cpp:
* win/tools/vsprops/FeatureDefines.vsprops:

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

7 years ago[Chromium] Remove all references to sharedWorkerRepository()
pilgrim@chromium.org [Wed, 12 Dec 2012 19:32:12 +0000 (19:32 +0000)]
[Chromium] Remove all references to sharedWorkerRepository()
https://bugs.webkit.org/show_bug.cgi?id=104704

Reviewed by James Robinson.

Now that Chromium calls setSharedWorkerRepository upon
initializing WebKit (
https://chromiumcodereview.appspot.com/10990121/ ) and no longer
tries to override sharedWorkerRepository, it is safe to remove
all references to this function.

* public/platform/WebKitPlatformSupport.h:
(WebKit):
(WebKit::WebKitPlatformSupport::idbFactory):
* src/SharedWorkerRepository.cpp:
(WebKit::sharedWorkerRepository):
(WebCore::SharedWorkerRepository::isAvailable):

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

7 years ago[Resource Timing] Failed resources shouldn't be recorded in the buffer
simonjam@chromium.org [Wed, 12 Dec 2012 19:23:48 +0000 (19:23 +0000)]
[Resource Timing] Failed resources shouldn't be recorded in the buffer
https://bugs.webkit.org/show_bug.cgi?id=104762

Reviewed by Tony Gentilcore.

Source/WebCore:

Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_failures.html

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::loadDone):

LayoutTests:

* http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_failures-expected.txt: Added.
* http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_failures.html: Added.

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

7 years ago[GTK] Add authentication support to DRT and fix exposed issues in the libsoup backend
mrobinson@webkit.org [Wed, 12 Dec 2012 19:20:08 +0000 (19:20 +0000)]
[GTK] Add authentication support to DRT and fix exposed issues in the libsoup backend
https://bugs.webkit.org/show_bug.cgi?id=104285

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Fix issues in the libsoup networking backend that were causing test
failures.

No new tests. This patch unskips authentication tests.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::isAuthenticationFailureStatusCode): Added this helper to catch authentication status codes
and use it everywhere.
(WebCore::applyAuthenticationToRequest): Use an early return instead of an if-statement
and instead of always using manually specified credentials, apply those found in the session
storage as well. Instead of applying the credentials to firstRequest always, accept the request
as a parameter, so this method can be properly used with redirects.
(WebCore::restartedCallback): Instead of creating the KURL directly from soup_uri_to_string
use soupURIToKURL, which preserves the password from the SoupURI. soup_uri_to_string doesn't
include the password. When calling applyAuthenticationToRequest update the new request. Before
applyAuthenticationToRequest always updated the firstRequest. Do not call willSendRequest for
instances when this method is called for authentication handling. willSendRequest should only
be called for server-side redirects.
(WebCore::createSoupRequestAndMessageForHandle): Use soup_requester_request_uri instead of
soup_requester_request. Request::soupURI properly creates a SoupURI with non-null empty strings
when either the username and password are empty.  A null username or password does not trigger
the URI-embedded credential override in SoupAuthenticationManager within libsoup. This is important
because sometimes either the username or password might empty for a request, but the other
part of the credential should still override the per-session credential storage.
(WebCore::ResourceHandle::start): We don't need to clear the username and password from the
internal data structure any longer. These need to be cleared in the CFNetwork backend because
it prevents the same failed per-request credentials from being used over and over again. In our
case we don't use these members during didReceiveAuthenticationChallenge, so this isn't an issue.
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't look at the per-request
m_user/m_pass pair here any longer. We use these when initially creating a request, so we don't
want to re-use them if they fail.
* platform/network/soup/ResourceRequest.h:
(ResourceRequest): Rename urlStringForSoup to soupURI.
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::soupURI): Instead of returning a string for the soup-bound URL
return a SoupURI that properly embeds empty usernames and passwords.

Source/WebKit/gtk:

Add support to DumpRenderTree for running authentication tests. Since the DRT
expects an authentication callback, we add one to DRTSupport to avoid #ifdefs
in platform-independent code for GTK+.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::setAuthenticationCallback): Added.
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk): Add a method to set the authentication callback.
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): When
in DRT mode we need to call the authentication callback instead of popping
up the dialog or ignoring the request.

Tools:

Add support to DumpRenderTree for running authentication tests. Since the DRT
expects an authentication callback, we add one to DRTSupport to avoid #ifdefs
in platform-independent code for GTK+.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues): Reset the authentication password and username.
(authenticationCallback): Added.
(createWebView): Attach the authentiation callback during startup.
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
(soupURIToKURL): soup_uri_to_string does not preserve passwords embedded
in the URL so we add a somewhat messy method of re-adding them when they exist.
It would be nice to use soupURIToKURL here, but it seems we cannot use KURL without
pulling in lots of WebCore code so we use string search and replace.
(TestRunner::queueLoad): Use the new helper.

LayoutTests:

Unskip authentication tests now that authentication support is in
the harness and issues in the libsoup backend are fixed. Also remove
two expected results for tests that now have the same output as
other platforms.

* platform/gtk/TestExpectations:
* platform/gtk/http/tests/misc/401-alternative-content-expected.txt: Removed.
* platform/gtk/http/tests/xmlhttprequest/failed-auth-expected.txt: Removed.

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

7 years agoMake LOG() work in WebProcess and NetworkProcess
ap@apple.com [Wed, 12 Dec 2012 19:07:30 +0000 (19:07 +0000)]
Make LOG() work in WebProcess and NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=104718

Reviewed by Tim Horton.

Source/WebCore:

Split initialization function into a new InitializeLogging.h file, because it's
needed in WebKit, but cannot be included along with WebKit version of this file.
We'd have a confilct between LOG_CHANNEL_PREFIX definitions if we tried.

* WebCore.xcodeproj/project.pbxproj: Make Logging.h a project header, and
InitializeLogging.h a private one.

* GNUmakefile.list.am:
* Target.pri:
* platform/InitializeLogging.h: Added.
* platform/Logging.h:

* platform/blackberry/LoggingBlackBerry.cpp:
* platform/efl/LoggingEfl.cpp:
* platform/gtk/LoggingGtk.cpp:
* platform/mac/LoggingMac.mm:
* platform/qt/LoggingQt.cpp:
* platform/win/LoggingWin.cpp:
* platform/wx/LoggingWx.cpp:
Include InitializeLogging.h where this function is implemented.

* platform/NotImplemented.h:
* platform/NotImplemented.cpp: Added.
Changed to not include WebCore's Logging.h in the header, because NotImplemented.h
is used in WebKits, which have incompatibe logging headers.

Source/WebKit/blackberry:

* Api/BlackBerryGlobal.cpp: Include InitializeLogging.h

Source/WebKit/efl:

* ewk/ewk_main.cpp: Include InitializeLogging.h

Source/WebKit/gtk:

* webkit/webkitglobals.cpp: Include InitializeLogging.h

Source/WebKit/mac:

* WebView/WebView.mm: Use WebCore/InitializeLogging.h to avoid conflicts between
WebCore and WebKit versions of this file.

Source/WebKit/qt:

* WebCoreSupport/InitWebCoreQt.cpp: Include InitializeLogging.h

Source/WebKit/win:

* WebView.cpp: Updated for a new include file to use in WebKits.

Source/WebKit/wx:

* WebView.cpp: Include InitializeLogging.h

Source/WebKit2:

* NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
Initialize WebCore and WebKit2 logging.

* Platform/Logging.cpp: (WebKit::initializeLogChannelsIfNecessary):
Added Network and NetworkScheduling. Re-ordered to match declaration order,
alphabetical clearly doesn't help here.

* WebProcess/WebProcess.cpp: (WebKit::WebProcess::WebProcess): Initialize WebKit2
logging in addition to WebCore.

* UIProcess/WebContext.cpp: (WebKit::WebContext::WebContext): Initialize WebKit2
logging in addition to WebCore.

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

7 years agogarden-o-matic should prefer efl/ over efl-wk1/ and efl-wk2/ when rebaselining
dpranke@chromium.org [Wed, 12 Dec 2012 19:05:37 +0000 (19:05 +0000)]
garden-o-matic should prefer efl/ over efl-wk1/ and efl-wk2/ when rebaselining
https://bugs.webkit.org/show_bug.cgi?id=102389

Reviewed by Tony Chang.

The code wasn't aware of both the efl-wk1 and efl-wk2 variants,
because all_port_names() by itself doesn't tell you about the
variants. Work around this for now, and filed bug 104761 to
address the underlying problem.

* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
(BaselineOptimizerTest.test_efl):

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

7 years agoAX: aria-busy should be exposed everywhere, not just on live regions
cfleizach@apple.com [Wed, 12 Dec 2012 19:02:54 +0000 (19:02 +0000)]
AX: aria-busy should be exposed everywhere, not just on live regions
https://bugs.webkit.org/show_bug.cgi?id=104814

Reviewed by Anders Carlsson.

Source/WebCore:

The aria-busy attribute should be exposed on all elements.
This isn't entirely clear in the ARIA spec, but that will be fixed with
ARIA1.1 (ISSUE-538).

Existing tests that dump attributes cover this new behavior.

* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):

LayoutTests:

Update tests that dump all attributes to include aria busy attribute.

* accessibility/transformed-element-expected.txt:
* platform/mac/accessibility/aria-liveregions-attributes-expected.txt:
* platform/mac/accessibility/bounds-for-range-expected.txt:
* platform/mac/accessibility/document-attributes-expected.txt:
* platform/mac/accessibility/document-links-expected.txt:
* platform/mac/accessibility/image-link-expected.txt:
* platform/mac/accessibility/image-map2-expected.txt:
* platform/mac/accessibility/internal-link-anchors-expected.txt:
* platform/mac/accessibility/internal-link-anchors2-expected.txt:
* platform/mac/accessibility/lists-expected.txt:
* platform/mac/accessibility/plugin-expected.txt:
* platform/mac/accessibility/radio-button-group-members-expected.txt:
* platform/mac/accessibility/table-attributes-expected.txt:
* platform/mac/accessibility/table-cell-spans-expected.txt:
* platform/mac/accessibility/table-cells-expected.txt:
* platform/mac/accessibility/table-detection-expected.txt:
* platform/mac/accessibility/table-one-cell-expected.txt:
* platform/mac/accessibility/table-sections-expected.txt:
* platform/mac/accessibility/table-with-aria-role-expected.txt:
* platform/mac/accessibility/table-with-rules-expected.txt:

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

7 years ago[GTK][AC] The non-composited content is not painted
joone.hur@intel.com [Wed, 12 Dec 2012 18:44:29 +0000 (18:44 +0000)]
[GTK][AC] The non-composited content is not painted
https://bugs.webkit.org/show_bug.cgi?id=104819

Reviewed by Gustavo Noronha Silva.

When Accelerated Compositing is enabled, only GraphicsLayers are painted.
This patch allows to paint the non-composited content on the viewport with
GraphicsLayers. Most of the codes are the same as AcceleratedCompositingContextGL.cpp

* WebCoreSupport/AcceleratedCompositingContext.h: Add m_nonCompositedContentLayer.
* WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
(WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
(WebKit::AcceleratedCompositingContext::initialize):
(WebKit):
(WebKit::AcceleratedCompositingContext::~AcceleratedCompositingContext):
(WebKit::AcceleratedCompositingContext::renderLayersToWindow):
(WebKit::AcceleratedCompositingContext::setRootCompositingLayer):
(WebKit::AcceleratedCompositingContext::setNonCompositedContentsNeedDisplay):
(WebKit::AcceleratedCompositingContext::resizeRootLayer):
(WebKit::AcceleratedCompositingContext::scrollNonCompositedContents): Make the non-composited
content scroll.
(WebKit::AcceleratedCompositingContext::layerFlushTimerFiredCallback):
(WebKit::AcceleratedCompositingContext::flushPendingLayerChanges):
(WebKit::AcceleratedCompositingContext::flushAndRenderLayers):
(WebKit::AcceleratedCompositingContext::notifyAnimationStarted):
(WebKit::AcceleratedCompositingContext::paintContents): Paint the non-composited content.

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

7 years ago[chromium] Add destructor to WebPrerender
gavinp@chromium.org [Wed, 12 Dec 2012 18:34:01 +0000 (18:34 +0000)]
[chromium] Add destructor to WebPrerender
https://bugs.webkit.org/show_bug.cgi?id=104820

Reviewed by James Robinson.

When making WebPrerender default constructible and assignable, the destructor should have been moved out of WEBKIT_IMPLEMENTATION.

Source/Platform:

* chromium/public/WebPrerender.h:
(WebKit::WebPrerender::~WebPrerender):
(WebPrerender):

Source/WebCore:

Existing WebKit unit tests should test this, as do chromium browser tests.

* platform/chromium/support/WebPrerender.cpp:
(WebKit::WebPrerender::toPrerender):
(WebKit::WebPrerender::reset):

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

7 years ago[Qt] Animation fails on large layers
allan.jensen@digia.com [Wed, 12 Dec 2012 18:32:01 +0000 (18:32 +0000)]
[Qt] Animation fails on large layers
https://bugs.webkit.org/show_bug.cgi?id=104538

Reviewed by Noam Rosenthal.

The backing tiles had no upper limit defined for the non-GL backend, which could cause them
to allocate pixmaps widier or higher than what the underlying graphics systems can handle.

On top of that GraphicsLayerTextureMapper::prepareBackingStore() would allocate an intermediate
pixmap the size of the dirty rect, which would at least on the first paint be the size of the
entire layer, again causing allocation of pixmaps with dimensions outside of platform bounds.

This patch introduces a limit to the size of image buffer tiles, and adds an alternative path
for painting where the GraphicsLayer paints directly to the tile instead of over an intermediate
pixmap. This alternative path can also be useful later to minimize the amount of pixel copying
happening in full repaints.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::prepareBackingStore):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):
* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::BitmapTexture::updateContents):
* platform/graphics/texmap/TextureMapper.h:
(BitmapTexture):
(TextureMapper):
* platform/graphics/texmap/TextureMapperBackingStore.cpp:
(WebCore::TextureMapperTile::updateContents):
(WebCore::TextureMapperTiledBackingStore::updateContents):
* platform/graphics/texmap/TextureMapperBackingStore.h:
(TextureMapperTile):
(TextureMapperTiledBackingStore):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::updateContents):
(WebCore::TextureMapperImageBuffer::maxTextureSize):
* platform/graphics/texmap/TextureMapperImageBuffer.h:
(BitmapTextureImageBuffer):

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

7 years agoRemove MediaSource 'ended' to 'open' transition when seeking.
acolwell@chromium.org [Wed, 12 Dec 2012 18:30:40 +0000 (18:30 +0000)]
Remove MediaSource 'ended' to 'open' transition when seeking.
https://bugs.webkit.org/show_bug.cgi?id=104583

Reviewed by Eric Carlson.

Source/WebCore:

Remove the 'ended' to 'open' transition on a seek.

No new tests. The following tests were updated to reflect the new behavior.
  http/tests/media/media-source/video-media-source-seek.html
  http/tests/media/media-source/video-media-source-state-changes.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seek):

LayoutTests:

Updated seeking tests to no longer expect the the 'ended' to 'open'
transition on a seek.

* http/tests/media/media-source/video-media-source-seek-expected.txt:
* http/tests/media/media-source/video-media-source-seek.html:
* http/tests/media/media-source/video-media-source-state-changes-expected.txt:
* http/tests/media/media-source/video-media-source-state-changes.html:
* platform/chromium/TestExpectations:

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

7 years ago[CSS Regions] Two regions reftests are failing the image match
mihnea@adobe.com [Wed, 12 Dec 2012 18:19:09 +0000 (18:19 +0000)]
[CSS Regions] Two regions reftests are failing the image match
https://bugs.webkit.org/show_bug.cgi?id=74219

Reviewed by Julien Chaffraix.

Modify the 2 tests that were failing on other platforms (chromium, qt, gtk, efl). The tests were failing because different platforms were having different default font-family, font-size
values. I have explicitly set the font-size, font-family and the line-height for the text that will be paginated in regions. Also changed the text color to yellow,
so that we are able to see how the text lines are displayed in each region.

* fast/regions/positioned-objects-block-static-spanning-regions-expected.html:
* fast/regions/positioned-objects-block-static-spanning-regions-rtl-expected.html:
* fast/regions/positioned-objects-block-static-spanning-regions-rtl.html:
* fast/regions/positioned-objects-block-static-spanning-regions.html:
* platform/chromium/TestExpectations:
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:

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

7 years ago[CSS Grid Layout] Implement CSS parsing and handling for min-content and max-content
jchaffraix@webkit.org [Wed, 12 Dec 2012 17:55:24 +0000 (17:55 +0000)]
[CSS Grid Layout] Implement CSS parsing and handling for min-content and max-content
https://bugs.webkit.org/show_bug.cgi?id=104747

Reviewed by Alexis Menard.

Source/WebCore:

This change adds -webkit-min-content and -webkit-max-content to our <track-breadth> parsing.
The rendering is not plugged in and will probably depend on bug 103311.

Tests: fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
       fast/css-grid-layout/grid-columns-rows-get-set.html:

* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridBreadth):
* css/StyleResolver.cpp:
(WebCore::createGridTrackBreadth):
Straight-forward extension of the new code. We were already serializing back properly
so no need to touch CSSComputedStyleDeclaration.

LayoutTests:

Extended the 2 tests to cover -webkit-min-content and -webkit-max-content.

* fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
* fast/css-grid-layout/grid-columns-rows-get-set.html:
* fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
* fast/css-grid-layout/resources/grid-columns-rows-get-set.js:

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

7 years agoCopying text with ruby inserts new lines around rt elements
rniwa@webkit.org [Wed, 12 Dec 2012 17:53:55 +0000 (17:53 +0000)]
Copying text with ruby inserts new lines around rt elements
https://bugs.webkit.org/show_bug.cgi?id=104765

Reviewed by Dan Bernstein.

Source/WebCore:

Don't emit new lines before and after rt.

Test: editing/pasteboard/copy-paste-ruby-text.html

* editing/TextIterator.cpp:
(WebCore::shouldEmitNewlinesBeforeAndAfterNode):

LayoutTests:

Added a regression test and rebaseline a test as expected.

* editing/pasteboard/copy-paste-ruby-text-expected.txt: Added.
* editing/pasteboard/copy-paste-ruby-text-with-block-expected.txt: Added.
* editing/pasteboard/copy-paste-ruby-text-with-block.html: Added.
* editing/pasteboard/copy-paste-ruby-text.html: Added.
* editing/selection/paragraph-with-ruby-expected.txt:  new lines around "annotation" has been removed
as expected.
* fast/block/line-layout/selection-highlight-crash-expected.txt:
* fast/ruby/after-doesnt-crash-expected.txt:
* fast/ruby/before-doesnt-crash-expected.txt:
* fast/ruby/parse-rp-expected.txt:
* fast/ruby/ruby-line-height-expected.txt:
* fast/ruby/ruby-text-indent-expected.txt:
* fast/ruby/rubyDOM-insert-rt-block-1-expected.txt:
* fast/ruby/rubyDOM-insert-rt-block-2-expected.txt:
* fast/ruby/rubyDOM-insert-rt-block-3-expected.txt:
* fast/ruby/rubyDOM-remove-rt-block-1-expected.txt:
* fast/ruby/rubyDOM-remove-rt-block-2-expected.txt:
* fast/ruby/rubyDOM-remove-rt-block-3-expected.txt:
* fast/ruby/text-emphasis-expected.txt:

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

7 years agoRebaseline after change to Chromium compositor
adamk@chromium.org [Wed, 12 Dec 2012 17:35:35 +0000 (17:35 +0000)]
Rebaseline after change to Chromium compositor

Unreviewed gardening.

* platform/chromium-linux/compositing/reflections/reflection-in-composited-expected.png:
* platform/chromium/TestExpectations:

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

7 years ago[EFL] Possibility to turn off accessibility feature for WebKit-EFL.
commit-queue@webkit.org [Wed, 12 Dec 2012 17:31:01 +0000 (17:31 +0000)]
[EFL] Possibility to turn off accessibility feature for WebKit-EFL.
https://bugs.webkit.org/show_bug.cgi?id=103036

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-12-12
Reviewed by Laszlo Gombos.

Guard dependencies for accessibility (ATK), so that they can be turned off.

.:

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

No new tests as there is no new functionality.

* PlatformEfl.cmake:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::AccessibilityObject):
* accessibility/AccessibilityObject.h:
(AccessibilityObject):

Tools:

* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
(AccessibilityUIElement):
* WebKitTestRunner/PlatformEfl.cmake:

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

7 years agoAdd some entries in the watchlist, and register me for them.
simon.fraser@apple.com [Wed, 12 Dec 2012 17:23:07 +0000 (17:23 +0000)]
Add some entries in the watchlist, and register me for them.

* Scripts/webkitpy/common/config/watchlist:

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

7 years agoUse render box background over border draw strategy in cases with background-image
junov@google.com [Wed, 12 Dec 2012 17:11:37 +0000 (17:11 +0000)]
Use render box background over border draw strategy in cases with background-image
https://bugs.webkit.org/show_bug.cgi?id=103409

Reviewed by Simon Fraser.

Source/WebCore:

The BackgroundOverBorderBleedAvoidance mode was not being used in
cases where the background is an opaque image. It was also not
being used in cases with multiple layers. The multiple layer
case is now safe with respect to color bleeding if the top layer
is opaque, thank to the recent addition of layer occlusion culling
in r135629.

No new tests. Testing already covered by the following tests:
fast/backgrounds/background-opaque-images-over-color.html
fast/backgrounds/gradient-background-leakage-2.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::determineBackgroundBleedAvoidance):
(WebCore::RenderBox::backgroundHasOpaqueTopLayer):
* rendering/RenderBox.h:
(RenderBox):

LayoutTests:

Added image failure expectation for
fast/backgrounds/gradient-background-leakage-2.html which needs
new baselines.

* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: instrument static parts of RenderBlock and RenderBox
loislo@chromium.org [Wed, 12 Dec 2012 16:52:35 +0000 (16:52 +0000)]
Web Inspector: instrument static parts of RenderBlock and RenderBox
https://bugs.webkit.org/show_bug.cgi?id=104660

Reviewed by Yury Semikhatsky.

Plain vanilla instrumentation.

* dom/WebCoreMemoryInstrumentation.cpp:
(WebCore):
(WebCore::WebCoreMemoryInstrumentation::reportMemoryUsage):
* dom/WebCoreMemoryInstrumentation.h:
(WebCoreMemoryTypes):
(WebCoreMemoryInstrumentation):
(WebCore):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::reportStaticMembersMemoryUsage):
(WebCore):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::reportStaticMembersMemoryUsage):
(WebCore):
* rendering/RenderBox.h:
(RenderBox):

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