WebKit-https.git
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

7 years agoUnreviewed, GTK gardening. Flag some flaky media tests after r137271.
philn@webkit.org [Wed, 12 Dec 2012 16:49:23 +0000 (16:49 +0000)]
Unreviewed, GTK gardening. Flag some flaky media tests after r137271.

* platform/gtk/TestExpectations:

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

7 years agoFix slow test so it passes consistently now that we have multipart support
kov@webkit.org [Wed, 12 Dec 2012 16:43:30 +0000 (16:43 +0000)]
Fix slow test so it passes consistently now that we have multipart support
in soup.

Reviewed by Martin Robinson.

The multipart-wait-before-boundary test waits for 30 seconds before
sending the boundary. That is a bit long in itself, but it is exactly
the timeout used for slow tests in some platforms. This change reduces
the wait to 20 seconds, which should be enough for the test, and marks
the test as slow for GTK+.

* http/tests/multipart/resources/multipart-wait-before-boundary.php: wait
for 20 seconds instead of 30, before sending the boundary.
* platform/gtk/TestExpectations: mark test above as slow.

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

7 years ago[GTK] Add sections documentation to WebKit2 GTK+ API
spena@igalia.com [Wed, 12 Dec 2012 16:11:04 +0000 (16:11 +0000)]
[GTK] Add sections documentation to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=104484

Reviewed by Martin Robinson.

Many of the sections in the WebKit2 GTK+ API documentation were
missing. This commit adds new documentation, in some cases
adapting it from WebKitGtk+ and in others writing it from the
scratch.

It also removes the WebKitWebViewBase class from the documentation
index, since it is not really relevant.

* UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
* UIProcess/API/gtk/WebKitContextMenu.cpp:
* UIProcess/API/gtk/WebKitContextMenuItem.cpp:
* UIProcess/API/gtk/WebKitCookieManager.cpp:
* UIProcess/API/gtk/WebKitDownload.cpp:
* UIProcess/API/gtk/WebKitError.cpp:
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
* UIProcess/API/gtk/WebKitFindController.cpp:
* UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
* UIProcess/API/gtk/WebKitPlugin.cpp:
* UIProcess/API/gtk/WebKitPrintOperation.cpp:
* UIProcess/API/gtk/WebKitSecurityManager.cpp:
* UIProcess/API/gtk/WebKitURIRequest.cpp:
* UIProcess/API/gtk/WebKitURIResponse.cpp:
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
* UIProcess/API/gtk/WebKitVersion.cpp:
* UIProcess/API/gtk/WebKitWebContext.cpp:
* UIProcess/API/gtk/WebKitWebInspector.cpp:
* UIProcess/API/gtk/WebKitWebResource.cpp:
(webkit_web_resource_class_init):
* UIProcess/API/gtk/WebKitWebView.cpp:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:

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

7 years agoWeb Inspector: Native Memory Instrumentation: remove fake root MemoryObjectInfo.
loislo@chromium.org [Wed, 12 Dec 2012 16:06:34 +0000 (16:06 +0000)]
Web Inspector: Native Memory Instrumentation: remove fake root MemoryObjectInfo.
https://bugs.webkit.org/show_bug.cgi?id=104796

Reviewed by Yury Semikhatsky.

It was not a good idea to introduce a fake root MemoryObjectInfo.
It makes a problem when we visit an object without its own MemoryObjectType.

Example: RenderBox has a global pointer to a hash map.
HashMap doesn't have its own object type because it is a generic container.
It will inherit object type from the fake root memory object info.
The same could happen for another container in another class with other MemoryObjectType.

This fact forces me to create custom process method for root objects
because they need to have their own MemoryObjectInfo with customisable memory object type.

Source/JavaScriptCore:

Drive by fix: InstrumentedPointer* was replaced with Wrapper* because actually it is using
for instrumented and not instrumented object classes.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

Source/WebCore:

Drive by fix: InstrumentedPointer* was replaced with Wrapper* because actually it is using
for instrumented and not instrumented object classes.

* inspector/MemoryInstrumentationImpl.cpp:
(WebCore::MemoryInstrumentationImpl::processDeferredObjects):
(WebCore::MemoryInstrumentationImpl::deferObject):
(WebCore::MemoryInstrumentationImpl::reportMemoryUsage):
* inspector/MemoryInstrumentationImpl.h:
(MemoryInstrumentationImpl):

Source/WTF:

Drive by fix: InstrumentedPointer* was replaced with Wrapper* because actually it is using
for instrumented and not instrumented object classes.

* wtf/MemoryInstrumentation.cpp:
(WTF::MemoryInstrumentation::MemoryInstrumentation):
(WTF::MemoryInstrumentation::WrapperBase::WrapperBase):
(WTF::MemoryInstrumentation::WrapperBase::process):
(WTF::MemoryInstrumentation::WrapperBase::processRootObjectRef):
(WTF):
* wtf/MemoryInstrumentation.h:
(WTF::MemoryInstrumentation::addRootObject):
(MemoryInstrumentation):
(WrapperBase):
(WTF::MemoryInstrumentation::WrapperBase::~WrapperBase):
(Wrapper):
(OwningTraits):
(WTF::MemoryInstrumentation::OwningTraits::addRootObject):
(WTF::MemoryInstrumentation::addObjectImpl):
(WTF::::Wrapper):
(WTF::::callReportMemoryUsage):

Tools:

* TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:

Drive by fix: InstrumentedPointer* was replaced with Wrapper* because actually it is using
for instrumented and not instrumented object classes.

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

7 years ago[EFL [WebGL] [Wk2] Resizing the canvas breaks WebGL.
commit-queue@webkit.org [Wed, 12 Dec 2012 15:55:45 +0000 (15:55 +0000)]
[EFL [WebGL] [Wk2] Resizing the canvas breaks WebGL.
https://bugs.webkit.org/show_bug.cgi?id=104535.

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-12
Reviewed by Kenneth Rohde Christiansen.

GraphicsContext3DEfl does not re-create the surface on canvas resize, this
conflicted with the logic in coordinated graphics Layer.
CoordinatedGraphicsLayer checks for GraphicsSurfaceToken to decide if the surface
in UI-Process should be recreated or not. With this
patch we also check for size of the platform Layer.

Source/WebCore:

* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::createGraphicsSurfaces):
* platform/graphics/efl/GraphicsContext3DPrivate.cpp:
(GraphicsContext3DPrivate::didResizeCanvas):
(GraphicsContext3DPrivate::platformLayerSize):
* platform/graphics/efl/GraphicsContext3DPrivate.h:
(GraphicsContext3DPrivate):

Source/WebKit2:

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):

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

7 years agoWeb Inspector: Crash in InspectorDOMAgent::pushNodePathToFrontend when inspecting...
commit-queue@webkit.org [Wed, 12 Dec 2012 15:54:20 +0000 (15:54 +0000)]
Web Inspector: Crash in InspectorDOMAgent::pushNodePathToFrontend when inspecting document with CSS generated content
https://bugs.webkit.org/show_bug.cgi?id=104780

Patch by Antoine Quint <graouts@apple.com> on 2012-12-12
Reviewed by Pavel Feldman.

Source/WebCore:

The pushNodePathForRenderLayerToFrontend() method added to InspectorDOMAgent naively assumed
that all RenderLayers have a Node associated to them. However, in the case of CSS generated
content, that will not be the case and we would call into pushNodePathToFrontend() with a 0
parameter that would hit the first ASSERT in this method. We're now checking that we indeed
have an associated node for the provided RenderLayer and return 0 in case we don't, without
calling into pushNodePathToFrontend().

Test: inspector-protocol/layer-tree-generated-content.html

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::pushNodePathForRenderLayerToFrontend):

LayoutTests:

Adding a new test for the LayerTreeAgent to check that it does not crash when inspecting
a page with CSS generated content, and correctly returns nodeId === 0 in the situation
where there is no Node associated with a given RenderLayer.

* inspector-protocol/layer-tree-generated-content-expected.txt: Added.
* inspector-protocol/layer-tree-generated-content.html: Added.

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

7 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 12 Dec 2012 15:52:08 +0000 (15:52 +0000)]
[EFL] Unreviewed gardening.

Rebaselining tests with anonymous empty blocks aftter r137336.
Floating elements rebaselined after r137331.
Newly intrduced reftest is failing, introduced in r137368.
Unskipping a few new passed that had something to do with AC.

* platform/efl/TestExpectations:
* platform/efl/css1/formatting_model/floating_elements-expected.png: Added.
* platform/efl/css1/formatting_model/floating_elements-expected.txt:
* platform/efl/fast/css-generated-content/table-row-group-to-inline-expected.png:
* platform/efl/fast/css-generated-content/table-row-group-to-inline-expected.txt:
* platform/efl/fast/css/empty-generated-content-expected.png:
* platform/efl/fast/css/empty-generated-content-expected.txt:
* platform/efl/http/tests/misc/acid3-expected.txt:

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

7 years agoWeb Inspector: [Crash] Clear cached stylesheet rules in InspectorStyleSheet::deleteRule()
apavlov@chromium.org [Wed, 12 Dec 2012 15:01:31 +0000 (15:01 +0000)]
Web Inspector: [Crash] Clear cached stylesheet rules in InspectorStyleSheet::deleteRule()
https://bugs.webkit.org/show_bug.cgi?id=104806

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Cached rules (m_flatRules) should get cleared whenever a rule is deleted.

Test: inspector/styles/undo-add-rule-crash.html

* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::deleteRule):

LayoutTests:

* inspector/styles/undo-add-rule-crash-expected.txt: Added.
* inspector/styles/undo-add-rule-crash.html: Added.

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

7 years agoUnreviewed, rolling out r136975.
senorblanco@chromium.org [Wed, 12 Dec 2012 15:00:23 +0000 (15:00 +0000)]
Unreviewed, rolling out r136975.
http://trac.webkit.org/changeset/136975
https://bugs.webkit.org/show_bug.cgi?id=90405

Correctness issues.

Source/WebCore:

* dom/Element.cpp:
* dom/Element.h:
(Element):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::ElementRareData):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::applyFilters):
* rendering/FilterEffectRenderer.cpp:
(WebCore::createCustomFilterEffect):
(WebCore::FilterEffectRenderer::buildReferenceFilter):
(WebCore::FilterEffectRenderer::build):
* rendering/FilterEffectRenderer.h:
(FilterEffectRenderer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::registerResource):
* rendering/svg/SVGResources.cpp:
(WebCore::SVGResources::buildCachedResources):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::addResourcesFromRenderObject):
(WebCore::SVGResourcesCache::clientStyleChanged):
(WebCore::SVGResourcesCache::resourceDestroyed):
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::addPendingResource):
(WebCore::SVGDocumentExtensions::isElementPendingResources):
(WebCore::SVGDocumentExtensions::isElementPendingResource):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
* svg/SVGDocumentExtensions.h:
(WebCore):
(SVGDocumentExtensions):
* svg/SVGElement.cpp:
(WebCore::SVGElement::hasPendingResources):
(WebCore):
(WebCore::SVGElement::setHasPendingResources):
(WebCore::SVGElement::clearHasPendingResourcesIfPossible):
* svg/SVGElement.h:
(SVGElement):
(WebCore::SVGElement::buildPendingResource):
* svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::SVGElementRareData):
(WebCore::SVGElementRareData::hasPendingResources):
(WebCore::SVGElementRareData::setHasPendingResources):
(SVGElementRareData):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):

LayoutTests:

* css3/filters/effect-reference-after-expected.txt: Removed.
* css3/filters/effect-reference-after.html: Removed.
* css3/filters/effect-reference-delete-crash-expected.txt: Removed.
* css3/filters/effect-reference-delete-crash.html: Removed.
* css3/filters/effect-reference-delete-expected.txt: Removed.
* css3/filters/effect-reference-delete.html: Removed.
* css3/filters/effect-reference-rename-expected.txt: Removed.
* css3/filters/effect-reference-rename.html: Removed.
* css3/filters/effect-reference-reset-style-delete-crash-expected.txt: Removed.
* css3/filters/effect-reference-reset-style-delete-crash.html: Removed.
* css3/filters/script-tests/effect-reference-delete-crash.js: Removed.
* css3/filters/script-tests/effect-reference-reset-style-delete-crash.js: Removed.
* platform/chromium-linux/css3/filters/effect-reference-after-expected.png: Removed.
* platform/chromium-linux/css3/filters/effect-reference-delete-expected.png: Removed.
* platform/chromium-linux/css3/filters/effect-reference-rename-expected.png: Removed.
* svg/filters/filter-cycle-expected.html: Removed.
* svg/filters/filter-cycle.html: Removed.

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

7 years agoUnreviewed, rolling out r137000.
senorblanco@chromium.org [Wed, 12 Dec 2012 14:58:35 +0000 (14:58 +0000)]
Unreviewed, rolling out r137000.
http://trac.webkit.org/changeset/137000

Precursor to rolling out r136975.

* platform/chromium-linux/css3/filters/effect-reference-after-expected.png: Renamed from LayoutTests/platform/chromium-win/css3/filters/effect-reference-after-expected.png.
* platform/chromium-linux/css3/filters/effect-reference-delete-expected.png: Renamed from LayoutTests/platform/chromium-win/css3/filters/effect-reference-delete-expected.png.
* platform/chromium-linux/css3/filters/effect-reference-rename-expected.png: Renamed from LayoutTests/platform/chromium-win/css3/filters/effect-reference-rename-expected.png.
* platform/chromium-mac/css3/filters/effect-reference-after-expected.png: Removed.
* platform/chromium-mac/css3/filters/effect-reference-delete-expected.png: Removed.
* platform/chromium-mac/css3/filters/effect-reference-rename-expected.png: Removed.

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

7 years ago[Qt] Unreviewed gardening, remove duplicated expectations and fix broken expectations.
ossy@webkit.org [Wed, 12 Dec 2012 14:56:59 +0000 (14:56 +0000)]
[Qt] Unreviewed gardening, remove duplicated expectations and fix broken expectations.

* platform/qt-4.8/TestExpectations:
* platform/qt-5.0-wk2/TestExpectations:
* platform/qt-mac/TestExpectations:
* platform/qt/TestExpectations:

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

7 years agoUnreviewed, rolling out r137022.
senorblanco@chromium.org [Wed, 12 Dec 2012 14:54:57 +0000 (14:54 +0000)]
Unreviewed, rolling out r137022.
http://trac.webkit.org/changeset/137022

Precursor to rollout of 136975.

* rendering/svg/SVGResources.cpp:
(WebCore::SVGResources::buildCachedResources):

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

7 years agoUnreviewed, rolling out r137027.
senorblanco@chromium.org [Wed, 12 Dec 2012 14:53:44 +0000 (14:53 +0000)]
Unreviewed, rolling out r137027.
http://trac.webkit.org/changeset/137027

Precursor to rollout of 136975.

* dom/ElementRareData.h:
(ElementRareData):

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

7 years agoUnreviewed. Marked inspector-protocol/take-heap-snapshot.html as CRASH only in Debug...
yurys@chromium.org [Wed, 12 Dec 2012 13:39:48 +0000 (13:39 +0000)]
Unreviewed. Marked inspector-protocol/take-heap-snapshot.html as CRASH only in Debug mode, it passes in Release.

* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: add memory used by memory allocator itself to NMI
commit-queue@webkit.org [Wed, 12 Dec 2012 13:32:48 +0000 (13:32 +0000)]
Web Inspector: add memory used by memory allocator itself to NMI
https://bugs.webkit.org/show_bug.cgi?id=93372

Make native memory instrumentation report memory retained
for the memory allocator internal purposes.

Patch by Alexei Filippov <alph@chromium.org> on 2012-12-12
Reviewed by Yury Semikhatsky.

Source/Platform:

* chromium/public/Platform.h:
(Platform):
(WebKit::Platform::memoryAllocatorWasteInBytes):

Source/WebCore:

* inspector/front-end/NativeMemorySnapshotView.js:
(WebInspector.MemoryBlockViewProperties._initialize):
* platform/chromium/MemoryUsageSupportChromium.cpp:
(WebCore::MemoryUsageSupport::memoryUsageByComponents):

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

7 years agoUnreviewed gardening. Marked inspector-protocol/take-heap-snapshot.html as CRASH.
haraken@chromium.org [Wed, 12 Dec 2012 13:31:13 +0000 (13:31 +0000)]
Unreviewed gardening. Marked inspector-protocol/take-heap-snapshot.html as CRASH.

* platform/chromium/TestExpectations:

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

7 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Wed, 12 Dec 2012 13:24:03 +0000 (13:24 +0000)]
[Qt] Unreviewed gardening.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-12-12

* platform/qt/TestExpectations: Skip test because ENABLE(MOUSE_CURSOR_SCALE) is disabled on Qt.
* platform/qt/fast/css-generated-content/table-row-group-to-inline-expected.txt: rebaselining after r137336.
* platform/qt/fast/css/empty-generated-content-expected.txt: rebaselining after r137336.
* platform/qt/http/tests/misc/acid3-expected.txt: rebaselining after r137336.

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

7 years ago[Qt] Unskip compositing tests
ossy@webkit.org [Wed, 12 Dec 2012 13:21:15 +0000 (13:21 +0000)]
[Qt] Unskip compositing tests
https://bugs.webkit.org/show_bug.cgi?id=104129

Unreviewed gardening, skip only failing tests.

* platform/qt-5.0-wk1/TestExpectations:

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

7 years agoUnreviewed, rolling out r137438.
commit-queue@webkit.org [Wed, 12 Dec 2012 13:01:21 +0000 (13:01 +0000)]
Unreviewed, rolling out r137438.
http://trac.webkit.org/changeset/137438
https://bugs.webkit.org/show_bug.cgi?id=104798

assertion reached when removing tile (Requested by tmpsantos
on #webkit).

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

Source/WebCore:

* page/Frame.cpp:
(WebCore::Frame::setTiledBackingStoreEnabled):
* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::TiledBackingStore):
(WebCore::TiledBackingStore::setTileCreationDelay):
(WebCore::TiledBackingStore::coverWithTilesIfNeeded):
(WebCore::TiledBackingStore::updateTileBuffers):
(WebCore::TiledBackingStore::createTiles):
(WebCore::TiledBackingStore::isTileBufferUpdatesSuspended):
(WebCore::TiledBackingStore::startTileBufferUpdateTimer):
(WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
(WebCore::TiledBackingStore::startBackingStoreUpdateTimer):
(WebCore::TiledBackingStore::backingStoreUpdateTimerFired):
* platform/graphics/TiledBackingStore.h:
(TiledBackingStore):
(WebCore::TiledBackingStore::tileCreationDelay):
* platform/graphics/TiledBackingStoreClient.h:
(WebCore::TiledBackingStoreClient::tiledBackingStoreUpdatesAllowed):

Source/WebKit2:

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::CoordinatedGraphicsLayer::setContentsScale):
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::adjustVisibleRect):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
(WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
(WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(CoordinatedLayerTreeHost):

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

7 years ago[Qt] Unreviewed typo fix after r137446.
ossy@webkit.org [Wed, 12 Dec 2012 12:56:57 +0000 (12:56 +0000)]
[Qt] Unreviewed typo fix after r137446.

* WebCore.pri:

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

7 years ago[GTK] Remove the last of unnecessary configuration options in configure.ac
zandobersek@gmail.com [Wed, 12 Dec 2012 12:25:45 +0000 (12:25 +0000)]
[GTK] Remove the last of unnecessary configuration options in configure.ac
https://bugs.webkit.org/show_bug.cgi?id=104793

Reviewed by Martin Robinson.

.:

Remove the last of the configuration options that don't introduce any dependencies and/or
are enabled by default in the GNUmakefile.features.am.in file.

* configure.ac:

Source/WebCore:

Remove the feature define overriding that's based on the automake variables which are
not set anymore due to the corresponding configuration options being removed.

No new tests - no new functionality.

* GNUmakefile.am:

Tools:

Removing the filters and indexed database features from the list of features
being configurable through the configure script. This is not the case anymore
as the corresponding configuration options are being removed.

* Scripts/webkitdirs.pm:
(buildAutotoolsProject):

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

7 years ago[GTK][WK2] New API to detect display/execution of insecure content
mario@webkit.org [Wed, 12 Dec 2012 12:01:24 +0000 (12:01 +0000)]
[GTK][WK2] New API to detect display/execution of insecure content
https://bugs.webkit.org/show_bug.cgi?id=104578

Reviewed by Martin Robinson.

Source/WebKit2:

Added new API and documentation for detecting insecure content.

Implemented needed functions from C API's WKPageLoaderClient

* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didDisplayInsecureContentForFrame): Implemented.
(didRunInsecureContentForFrame): Ditto.
(attachLoaderClientToView): Added newly implemented functions.

Added new 'insecure-content-detected' signal to API.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init): Installed new signal.
(webkitWebViewInsecureContentDetected): Helper function aded to
private API to emit the new signal from the page loader client.
* UIProcess/API/gtk/WebKitWebView.h:
(_WebKitWebViewClass): Added new signal.

* UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype of the
new helper function webkitWebViewInsecureContentDetected().

Added new unit tests.

* UIProcess/API/gtk/tests/TestSSL.cpp:
(testSSL): Updated to the new variable name for the https server.
(testInsecureContent): New unit test.
(httpsServerCallback): Renamed from serverCallback() and updated
to return HTML content linking to external resources in an
insecure (plain http) server, to be used by the new test.
(httpServerCallback): New callback for a new http server, that
will serve a script and an image when requested.
(beforeAll): Run the new http server, besides the https one.
(afterAll): Delete both the http and the https server.

Updated documentation with new API.

* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added references
to the new WebKitInsecureContentEvent enum type.

Tools:

Add coding style exception for 'readability/enum_casing' in GTK.

The GTK+ API use upper case, underscore separated, words in
certain types of enums (e.g. signals, properties).

* Scripts/webkitpy/style/checker.py: Added exception, both for
WebKitGTK+ and WebKit2GTK+.

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

7 years agoFix QNX Qt build by enabling JIT.
commit-queue@webkit.org [Wed, 12 Dec 2012 11:39:10 +0000 (11:39 +0000)]
Fix QNX Qt build by enabling JIT.
https://bugs.webkit.org/show_bug.cgi?id=102794

Patch by Sergio Martins <sergio.martins@kdab.com> on 2012-12-12
Reviewed by Simon Hausmann.

JIT is working, so enable it. Otherwise LLINT gets enabled, and
that doesn't compile.

YARR_JIT is crashing at this time though, so disable it.

* wtf/Platform.h:

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

7 years ago[chromium] Fix build on chromium-win
jochen@chromium.org [Wed, 12 Dec 2012 11:36:06 +0000 (11:36 +0000)]
[chromium] Fix build on chromium-win

Unreviewed build-fix.

MSVS indeed doesn't have snprintf, adding wtf/StringExtras.h include
to work around that.

* DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp:

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

7 years ago[GTK][AC] GraphicsLayers are not shown on the viewport
joone.hur@intel.com [Wed, 12 Dec 2012 11:34:46 +0000 (11:34 +0000)]
[GTK][AC] GraphicsLayers are not shown on the viewport
https://bugs.webkit.org/show_bug.cgi?id=104670

Reviewed by Gustavo Noronha Silva.

GraphicsLayers are not shown on the viewport because the container(GtkClutterEmbed)
is not resized and shown, so this patch allows it to fit to the viewport.

* WebCoreSupport/AcceleratedCompositingContext.h:
* WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
(WebKit::AcceleratedCompositingContext::renderLayersToWindow):
(WebKit::AcceleratedCompositingContext::setRootCompositingLayer):
(WebKit::AcceleratedCompositingContext::resizeRootLayer):
(WebKit::AcceleratedCompositingContext::layerFlushTimerFiredCallback):
(WebKit::AcceleratedCompositingContext::scheduleLayerFlush):

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

7 years ago[Qt] Fix build on Mac
hausmann@webkit.org [Wed, 12 Dec 2012 11:21:53 +0000 (11:21 +0000)]
[Qt] Fix build on Mac

Reviewed by Csaba Osztrogon√°c.

On Mac OS X we have sqlite as a system library available.

Source/WebCore:

* WebCore.pri:

Tools:

* qmake/mkspecs/features/features.prf:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 12 Dec 2012 11:12:21 +0000 (11:12 +0000)]
Unreviewed GTK gardening.

Skipping another unit test that regressed in r137432.

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

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

7 years ago[Qt] Fix linkage against SQLite
hausmann@webkit.org [Wed, 12 Dec 2012 10:46:55 +0000 (10:46 +0000)]
[Qt] Fix linkage against SQLite
https://bugs.webkit.org/show_bug.cgi?id=104781

Reviewed by Csaba Osztrogon√°c.

Detect SQLite either through pkg-config, from the SQLITE3SRCDIR
environment variable or from qtbase via a qt5.git build. Bail out early
with an error message if neither option applies.

This removes the usage of $$QT.core.sources and the dependency on Qt's
system-sqlite configure setting. We should always favour a system
library over a copy in Qt.

Source/WebCore:

* Target.pri:
* WebCore.pri:

Tools:

* qmake/mkspecs/features/features.prf:

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

7 years agoUnreviewed gardening.
zandobersek@gmail.com [Wed, 12 Dec 2012 10:46:12 +0000 (10:46 +0000)]
Unreviewed gardening.

Adding failure expectations for tests that regressed in r137365 on GTK, Qt and EFL.

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

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

7 years ago[TexMap] Uninitialized m_context pointer in TextureMapper
allan.jensen@digia.com [Wed, 12 Dec 2012 10:44:46 +0000 (10:44 +0000)]
[TexMap] Uninitialized m_context pointer in TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=104785

Reviewed by Kenneth Rohde Christiansen.

* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::TextureMapper):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::TextureMapperGL):

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

7 years agoMediaStream API: Change the data channel descriptor pattern to a handler pattern
tommyw@google.com [Wed, 12 Dec 2012 10:42:40 +0000 (10:42 +0000)]
MediaStream API: Change the data channel descriptor pattern to a handler pattern
https://bugs.webkit.org/show_bug.cgi?id=104543

Reviewed by Kent Tamura.

Source/Platform:

In short the code is refactured to use the Handler/Client pattern (see RTCPeerConnectionHandler)
instead of the Descriptor pattern.
This will fix lifetime/memory/code structure issues in the chromium port.

* Platform.gypi:
* chromium/public/WebRTCDataChannel.h: Removed.
* chromium/public/WebRTCDataChannelHandler.h: Added.
(WebKit):
(WebRTCDataChannelHandler):
(WebKit::WebRTCDataChannelHandler::~WebRTCDataChannelHandler):
* chromium/public/WebRTCDataChannelHandlerClient.h: Added.
(WebKit):
(WebRTCDataChannelHandlerClient):
(WebKit::WebRTCDataChannelHandlerClient::~WebRTCDataChannelHandlerClient):
* chromium/public/WebRTCPeerConnectionHandler.h:
(WebKit):
(WebKit::WebRTCPeerConnectionHandler::createDataChannel):
* chromium/public/WebRTCPeerConnectionHandlerClient.h:
(WebKit):
(WebKit::WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel):

Source/WebCore:

In short the code is refactured to use the Handler/Client pattern (see RTCPeerConnectionHandler)
instead of the Descriptor pattern.
This will fix lifetime/memory/code structure issues in the chromium port.

Existing tests cover this patch.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::create):
(WebCore::RTCDataChannel::RTCDataChannel):
(WebCore::RTCDataChannel::~RTCDataChannel):
(WebCore::RTCDataChannel::label):
(WebCore::RTCDataChannel::reliable):
(WebCore::RTCDataChannel::readyState):
(WebCore::RTCDataChannel::bufferedAmount):
(WebCore::RTCDataChannel::send):
(WebCore::RTCDataChannel::close):
(WebCore::RTCDataChannel::didChangeReadyState):
(WebCore::RTCDataChannel::didReceiveStringData):
(WebCore::RTCDataChannel::didReceiveRawData):
(WebCore::RTCDataChannel::didDetectError):
(WebCore::RTCDataChannel::stop):
* Modules/mediastream/RTCDataChannel.h:
(WebCore):
(RTCDataChannel):
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::didAddRemoteDataChannel):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):
* WebCore.gypi:
* platform/chromium/support/WebRTCDataChannel.cpp: Removed.
* platform/mediastream/RTCDataChannelDescriptor.h: Removed.
* platform/mediastream/RTCDataChannelHandler.h: Copied from Source/WebCore/platform/mediastream/RTCDataChannelDescriptor.cpp.
(WebCore):
(RTCDataChannelHandler):
(WebCore::RTCDataChannelHandler::~RTCDataChannelHandler):
* platform/mediastream/RTCDataChannelHandlerClient.h: Renamed from Source/WebCore/platform/mediastream/RTCDataChannelDescriptor.cpp.
(WebCore):
(RTCDataChannelHandlerClient):
(WebCore::RTCDataChannelHandlerClient::~RTCDataChannelHandlerClient):
* platform/mediastream/RTCPeerConnectionHandler.cpp:
(WebCore):
(WebCore::RTCPeerConnectionHandler::create):
* platform/mediastream/RTCPeerConnectionHandler.h:
(WebCore):
(RTCPeerConnectionHandler):
* platform/mediastream/RTCPeerConnectionHandlerClient.h:
(WebCore):
(RTCPeerConnectionHandlerClient):
* platform/mediastream/chromium/RTCDataChannelHandlerChromium.cpp: Added.
(WebCore):
(WebCore::RTCDataChannelHandlerChromium::create):
(WebCore::RTCDataChannelHandlerChromium::RTCDataChannelHandlerChromium):
(WebCore::RTCDataChannelHandlerChromium::~RTCDataChannelHandlerChromium):
(WebCore::RTCDataChannelHandlerChromium::setClient):
(WebCore::RTCDataChannelHandlerChromium::label):
(WebCore::RTCDataChannelHandlerChromium::isReliable):
(WebCore::RTCDataChannelHandlerChromium::bufferedAmount):
(WebCore::RTCDataChannelHandlerChromium::sendStringData):
(WebCore::RTCDataChannelHandlerChromium::sendRawData):
(WebCore::RTCDataChannelHandlerChromium::close):
(WebCore::RTCDataChannelHandlerChromium::didChangeReadyState):
(WebCore::RTCDataChannelHandlerChromium::didReceiveStringData):
(WebCore::RTCDataChannelHandlerChromium::didReceiveRawData):
(WebCore::RTCDataChannelHandlerChromium::didDetectError):
* platform/mediastream/chromium/RTCDataChannelHandlerChromium.h: Added.
(WebCore):
(RTCDataChannelHandlerChromium):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::createDataChannel):
(WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(WebCore):
(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

* src/AssertMatchingEnums.cpp:

Tools:

Adding mocks to be able to test this refactoring.

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/MockWebRTCDataChannelHandler.cpp: Added.
(DataChannelReadyStateTask):
(DataChannelReadyStateTask::DataChannelReadyStateTask):
(MockWebRTCDataChannelHandler::MockWebRTCDataChannelHandler):
(MockWebRTCDataChannelHandler::setClient):
(MockWebRTCDataChannelHandler::bufferedAmount):
(MockWebRTCDataChannelHandler::sendStringData):
(MockWebRTCDataChannelHandler::sendRawData):
(MockWebRTCDataChannelHandler::close):
* DumpRenderTree/chromium/MockWebRTCDataChannelHandler.h: Added.
(MockWebRTCDataChannelHandler):
(MockWebRTCDataChannelHandler::taskList):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(RTCPeerConnectionReadyStateTask::RTCPeerConnectionReadyStateTask):
(RemoteDataChannelTask::RemoteDataChannelTask):
(MockWebRTCPeerConnectionHandler::createDataChannel):
(MockWebRTCPeerConnectionHandler::stop):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:
(MockWebRTCPeerConnectionHandler):

LayoutTests:

Expanding data channels tests.

* fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
* fast/mediastream/RTCPeerConnection-datachannel.html:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 12 Dec 2012 10:39:26 +0000 (10:39 +0000)]
Unreviewed GTK gardening.

Rebaselining after r137331. r137336, r137393 and other, unknown revisions.
Marking two failures as timing out instead of producing textual diff.

* platform/gtk/TestExpectations:
* platform/gtk/css1/formatting_model/floating_elements-expected.txt:
* platform/gtk/fast/css-generated-content/table-row-group-to-inline-expected.txt:
* platform/gtk/fast/css/empty-generated-content-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:
* platform/gtk/svg/css/shadow-changes-expected.txt:

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

7 years ago[chromium] WebTestPlugin must not depend on WTF::String
jochen@chromium.org [Wed, 12 Dec 2012 10:37:31 +0000 (10:37 +0000)]
[chromium] WebTestPlugin must not depend on WTF::String
https://bugs.webkit.org/show_bug.cgi?id=104783

Reviewed by Kent Tamura.

In a component build, we can't access the WTF that is part of the
WebKit component. Accessing WTF instead will pull in a separate copy
into the TestRunner library. Instead of WTF::String::number use
snprintf() to print numbers.

* DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp:

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