WebKit-https.git
7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 16 Jan 2013 02:38:07 +0000 (02:38 +0000)]
[Chromium] Unreviewed gardening.

Add expectations for this test:

inspector/extensions/extensions-reload.html

This is flakily slow on the Chromium Win7 Release bot.

* platform/chromium/TestExpectations:

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

7 years agoGet rid of a straggling dependency on SafariThemeConstants in RenderThemeWin.
roger_fong@apple.com [Wed, 16 Jan 2013 02:21:45 +0000 (02:21 +0000)]
Get rid of a straggling dependency on SafariThemeConstants in RenderThemeWin.

Rubberstamped by Timothy Horton.

* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::supportsClosedCaptioning):
* rendering/RenderThemeWin.h:

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

7 years agoBuild fix after r139357. The port name of MacWK2EWS should be 'mac-wk2'.
rniwa@webkit.org [Wed, 16 Jan 2013 02:12:33 +0000 (02:12 +0000)]
Build fix after r139357. The port name of MacWK2EWS should be 'mac-wk2'.

* Scripts/webkitpy/common/config/ports.py:
(MacWK2Port):

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

7 years agoGroup all request parameters which are used to match CSS Rules into a parameter object.
hayato@chromium.org [Wed, 16 Jan 2013 02:06:05 +0000 (02:06 +0000)]
Group all request parameters which are used to match CSS Rules into a parameter object.
https://bugs.webkit.org/show_bug.cgi?id=106879

Reviewed by Dimitri Glazkov.

Introduces a MatchRequest which groups all request parameters to match CSS rules.

Factoring, no change in behavior.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRules):
(WebCore::StyleResolver::collectMatchingRulesForRegion):
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::matchHostRules):
(WebCore::StyleResolver::matchAuthorRules):
(WebCore::StyleResolver::matchUserRules):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
* css/StyleResolver.h:
(WebCore::StyleResolver::MatchRequest::MatchRequest):
(MatchRequest):
(StyleResolver):

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

7 years agoUnreviewed. Fix build break by r139796.
gyuyoung.kim@samsung.com [Wed, 16 Jan 2013 02:02:52 +0000 (02:02 +0000)]
Unreviewed. Fix build break by r139796.

* ewk/ewk_frame.cpp:
(ewk_frame_text_matches_mark):

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

7 years agoAdd the ability for a RenderLayerBacking to have a layer that renders backgrounds.
simon.fraser@apple.com [Wed, 16 Jan 2013 02:01:39 +0000 (02:01 +0000)]
Add the ability for a RenderLayerBacking to have a layer that renders backgrounds.
https://bugs.webkit.org/show_bug.cgi?id=106961

Reviewed by Dean Jackson.

In some cases we need a compositing layer to render its background into
a separate GraphicsLayer (e.g. for background-attachment: fixed in some scenarios).

To support this, have RenderLayer optionally create a GraphicsLayer for the background.
Currently nothing causes background layers to get created.

Having a background layer requires that we add an additional containment layer
which encloses the background, primary and foreground layers, since the
background layer has to be composited behind the primary content. This containment
layer gets any transform, including page scale on the RenderView's layer.

No new tests; there's no way to create a background layer yet. This was tested during
development by forcing a background layer.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateDebugIndicators): Show borders on both new layers
and repaint counters on the background layer.
(WebCore::RenderLayerBacking::destroyGraphicsLayers): Clear the two new layers.
(WebCore::RenderLayerBacking::updateTransform): If we have a containment layer, it
takes the transform (and clear the transform on the primary layer).
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Make the background
layer if we need one (currently never).
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Position and size
the containment layer if we have one. If we do, then the m_graphicsLayer will
be at 0,0 in that containment layer. The background layer is also sized similarly
to the foreground layer.
(WebCore::RenderLayerBacking::updateInternalHierarchy): Adapt to the new hierarchy
with containment and background layers if we have them.
(WebCore::RenderLayerBacking::updateBackgroundLayer): Here's where we create the background
and containment layers.
(WebCore::RenderLayerBacking::childForSuperlayers): If we have a containment layer, that's
what gets attached to our parent.
(WebCore::RenderLayerBacking::getCurrentTransform): The containment layer gets the transform
if we have one, so check that here.
(WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
(WebCore::RenderLayerBacking::reportMemoryUsage):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::deviceOrPageScaleFactorChanged): We need to start notifying
about page/device scale on the containment layer if there is one (since it takes page scale), so
use childForSuperlayers() rather than just getting the primary layer.

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

7 years agoRemove Key3 and Challenge Response fields from Websocket implementation and Web Inspe...
commit-queue@webkit.org [Wed, 16 Jan 2013 01:48:37 +0000 (01:48 +0000)]
Remove Key3 and Challenge Response fields from Websocket implementation and Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=105738.

Patch by Pan Deng <pan.deng@intel.com> on 2013-01-15
Reviewed by Kent Tamura.

Key3 and Challenge Response fields were obsoleted in IETF websocket spec, this patch removes related
code in Websocket and Web Inspector

No new tests as no new functionality added.

* Modules/websockets/WebSocketHandshakeRequest.cpp: remove Key3 related code
* Modules/websockets/WebSocketHandshakeRequest.h:
(WebSocketHandshakeRequest):
* Modules/websockets/WebSocketHandshakeResponse.cpp: remove Challenge response related code
* Modules/websockets/WebSocketHandshakeResponse.h:
(WebSocketHandshakeResponse):
* inspector/Inspector.json: remove Key3 and Challenge response fields definition
* inspector/InspectorResourceAgent.cpp: remove Key3 and Challenge response field from inspector agent
(WebCore):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
(WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
* inspector/front-end/RequestHeadersView.js: remove Key3 and Challenge response item from front-end.
(WebInspector.RequestHeadersView.prototype._refreshRequestHeaders):
(WebInspector.RequestHeadersView.prototype._refreshResponseHeaders):
(WebInspector.RequestHeadersView.prototype._refreshHeaders):

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

7 years agoUse MADV_FREE_REUSABLE to return JIT memory to OS
psolanki@apple.com [Wed, 16 Jan 2013 01:33:30 +0000 (01:33 +0000)]
Use MADV_FREE_REUSABLE to return JIT memory to OS
https://bugs.webkit.org/show_bug.cgi?id=106830
<rdar://problem/11437701>

Reviewed by Geoffrey Garen.

Use MADV_FREE_REUSABLE to return JIT memory on OSes that have the underlying madvise bug
fixed.

* jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC::FixedVMPoolExecutableAllocator::notifyPageIsFree):

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

7 years agoASSERT(!m_queue.killed() && m_threadID) hit in StorageThread::scheduleTask on low...
antti@apple.com [Wed, 16 Jan 2013 01:07:31 +0000 (01:07 +0000)]
ASSERT(!m_queue.killed() && m_threadID) hit in StorageThread::scheduleTask on low memory warning
https://bugs.webkit.org/show_bug.cgi?id=106960

Reviewed by Mark Rowe.

We were scheduling a memory clearing task to terminated StorageThreads.

Remove thread from the active thread list when terminate is scheduled. Add when thread is started.

* storage/StorageThread.cpp:
(WebCore::activeStorageThreads):
(WebCore::StorageThread::StorageThread):
(WebCore::StorageThread::~StorageThread):
(WebCore::StorageThread::start):
(WebCore::StorageThread::terminate):
(WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):

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

7 years agoUnreviewed mac rebaseline for r139798.
eae@chromium.org [Wed, 16 Jan 2013 00:45:22 +0000 (00:45 +0000)]
Unreviewed mac rebaseline for r139798.

* http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt: Added.
* platform/mac-wk2/svg/zoom/page: Removed.
* platform/mac/TestExpectations:
* platform/mac/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt: Removed.
* platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:

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

7 years agoFix typos in WebKitFeatures.cmake
commit-queue@webkit.org [Wed, 16 Jan 2013 00:18:07 +0000 (00:18 +0000)]
Fix typos in WebKitFeatures.cmake
https://bugs.webkit.org/show_bug.cgi?id=106952

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-01-15
Reviewed by Martin Robinson.

* Source/cmake/WebKitFeatures.cmake:
Replace "Toogle" with "Toggle".

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

7 years agoDon't do indiscriminate cast & call in StylePropertySet::PropertyReference::cssName...
macpherson@chromium.org [Wed, 16 Jan 2013 00:16:22 +0000 (00:16 +0000)]
Don't do indiscriminate cast & call in StylePropertySet::PropertyReference::cssName() on release builds.
https://bugs.webkit.org/show_bug.cgi?id=106867

Reviewed by Darin Adler.

Check CSSValue::isVariableValue() before casting to CSSVariableValue.

Covered by existing variables tests.

* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::PropertyReference::cssName):

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

7 years ago[Sub pixel layout] RTL cells with padding wraps
eae@chromium.org [Wed, 16 Jan 2013 00:14:57 +0000 (00:14 +0000)]
[Sub pixel layout] RTL cells with padding wraps
https://bugs.webkit.org/show_bug.cgi?id=106843

Source/WebCore:

Reviewed by Levi Weintraub.

At certain zoom levels table cells with padding wraps for rtl
content.

Test: fast/sub-pixel/table-rtl-padding.html

* rendering/RenderTable.h: Override paddingStart/End to return
integer values for padding as we do elsewhere in the table code.

LayoutTests:

Reviewed by Levi Weintraub.

Add test for rtl tables with padding.

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

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

7 years agoUse-after-free in AXObjectCache::notificationPostTimerFired
dmazzoni@google.com [Wed, 16 Jan 2013 00:13:15 +0000 (00:13 +0000)]
Use-after-free in AXObjectCache::notificationPostTimerFired
https://bugs.webkit.org/show_bug.cgi?id=106106

Reviewed by Ryosuke Niwa.

Source/WebCore:

Fixes a crash that occurs when a Node is adopted by another document,
in particular one that isn't part of the page, and then deleted,
which wasn't triggering the code that removed the Node from
AXObjectCache. Now, a Node is removed from the AXObjectCache whenever
its Document changes.

Test: accessibility/crash-adopt-node-from-new-document.html

* dom/Node.cpp:
(WebCore::Node::didMoveToNewDocument):

LayoutTests:

Test that demonstrates the crash when a Node with an
AccessibilityObject changes its document and then isn't removed from
the AXObjectCache when it's deleted.

* accessibility/crash-adopt-node-from-new-document-expected.txt: Added.
* accessibility/crash-adopt-node-from-new-document.html: Added.

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

7 years agoExtend sheriffbot's "help" command to be able to get help on individual commands
commit-queue@webkit.org [Wed, 16 Jan 2013 00:02:22 +0000 (00:02 +0000)]
Extend sheriffbot's "help" command to be able to get help on individual commands
https://bugs.webkit.org/show_bug.cgi?id=106629

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-15
Reviewed by Eric Seidel.

Added a help command to sheriffbot.
Fixed some style issues and ordered the commands alphabetically.

* Scripts/webkitpy/tool/bot/irc_command.py:
(IRCCommand):
(IRCCommand.execute):
(IRCCommand.usage):
(IRCCommand.help):
(CreateBug):
(CreateBug.execute):
(Help):
(Help.execute):
(Help._post_command_help):
(Hi):
(Hi.execute):
(Restart):
(RollChromiumDEPS):
(RollChromiumDEPS._parse_args):
(RollChromiumDEPS._expand_irc_nickname):
(RollChromiumDEPS.execute):
(Rollout):
(Rollout._extract_revisions):
(Rollout.execute):
(Sheriffs):
(Sheriffs.execute):
(Whois):
(Whois.execute):
* Scripts/webkitpy/tool/bot/ircbot_unittest.py:
(IRCBotTest.test_help):

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

7 years agoAdd Canvas blend modes to Cairo
commit-queue@webkit.org [Tue, 15 Jan 2013 23:58:42 +0000 (23:58 +0000)]
Add Canvas blend modes to Cairo
https://bugs.webkit.org/show_bug.cgi?id=105074

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-01-15
Reviewed by Martin Robinson.

Source/WebCore:

Blend mode implementation for cairo. If BlendMode is normal, use
CompositeOperator; otherwise, consider CompositeOperator is
source-over.

Add toCairoOperator(BlendMode) to translate BlendMode to matching
cairo_operator_t.

* platform/graphics/cairo/BitmapImageCairo.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::toCairoOperator):
* platform/graphics/cairo/CairoUtilities.h:
(WebCore):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):

LayoutTests:

Unskip fast/canvas/canvas-blend-image.html and
fast/canvas/canvas-blend-solid.html

Add platform specific expected files because currently, expected
results are not correct.

* platform/gtk/TestExpectations:
* platform/gtk/fast/canvas/canvas-blend-image-expected.txt: Added.
* platform/gtk/fast/canvas/canvas-blend-solid-expected.txt: Added.

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

7 years agoImplement matching by the voice attribute for WebVTT ::cue pseudo element
commit-queue@webkit.org [Tue, 15 Jan 2013 23:49:31 +0000 (23:49 +0000)]
Implement matching by the voice attribute for WebVTT ::cue pseudo element
https://bugs.webkit.org/show_bug.cgi?id=106762

Patch by Dima Gorbik <dgorbik@apple.com> on 2013-01-15
Reviewed by Eric Carlson.

Source/WebCore:

Implemented matching cue WebVTT elements by a voice attribute by adding a WebVTT specific voice attribute.
For DOM trees title attribute is used instead as this is required by specs.

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): set a title argument instead of a voice attribute for the DOM tree.
* html/track/TextTrackCue.h:
(WebCore::TextTrackCue::voiceAttributeName):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::constructTreeFromToken):

LayoutTests:

* media/track/captions-webvtt/styling.vtt:
* media/track/track-css-matching-expected.txt:
* media/track/track-css-matching.html:

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

7 years agoSome ScrollingCoördinator-related cleanup in RenderLayerBacking
simon.fraser@apple.com [Tue, 15 Jan 2013 23:46:18 +0000 (23:46 +0000)]
Some ScrollingCoördinator-related cleanup in RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=106950

Reviewed by Beth Dakin.

Wrap up code that gets the ScrollingCoordinator into a utility function.
Pull code out of updateGraphicsLayerGeometry() that registers layers with
the ScrollingCoordinator, for cleanliness.

* rendering/RenderLayerBacking.cpp:
(WebCore::scrollingCoordinatorFromLayer):
(WebCore::RenderLayerBacking::adjustTileCacheCoverage):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::registerScrollingLayers):
(WebCore::RenderLayerBacking::attachToScrollingCoordinatorWithParent):
(WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):

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

7 years agoCrash when saving history with no items in it.
commit-queue@webkit.org [Tue, 15 Jan 2013 23:45:14 +0000 (23:45 +0000)]
Crash when saving history with no items in it.
https://bugs.webkit.org/show_bug.cgi?id=104261

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-01-15
Reviewed by Darin Adler.

* WebHistory.cpp:
(WebHistory::saveHistoryGuts): Added null pointer check

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=106940
bdakin@apple.com [Tue, 15 Jan 2013 23:43:27 +0000 (23:43 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=106940
Suspend CSS animations for background tabs

Reviewed by Simon Fraser.

* page/Page.cpp:
(WebCore::Page::setVisibilityState):

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

7 years agoUnreviewed, rolling out r139790.
leviw@chromium.org [Tue, 15 Jan 2013 23:40:29 +0000 (23:40 +0000)]
Unreviewed, rolling out r139790.
http://trac.webkit.org/changeset/139790
https://bugs.webkit.org/show_bug.cgi?id=106948

The patch is failing its own test.

Source/JavaScriptCore:

* bytecode/GlobalResolveInfo.h: Removed property svn:mergeinfo.

Source/WebCore:

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::parserRemoveChild):
(WebCore::ContainerNode::parserAppendChild):
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::execute):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::runScript):

LayoutTests:

* fast/dom/MutationObserver/parser-mutations-expected.txt: Removed.
* fast/dom/MutationObserver/parser-mutations.html: Removed.

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

7 years agoREGRESSION (r121599): incorrect border scaling when zoomed
eae@chromium.org [Tue, 15 Jan 2013 23:21:34 +0000 (23:21 +0000)]
REGRESSION (r121599): incorrect border scaling when zoomed
https://bugs.webkit.org/show_bug.cgi?id=106944

Source/WebCore:

Reviewed by Levi Weintraub.

Fix bug in ApplyPropertyComputeLength::applyValue where zooming
of non-pixel values was incorrect.

Test: fast/sub-pixel/zoomed-em-border.html

* css/StyleBuilder.cpp:
(WebCore::ApplyPropertyComputeLength::applyValue):

LayoutTests:

Reviewed by Levi Weintraub.

Add test for zoomed em border and restore expectations for
zoom-replaced-intrinsic-ratio-001 to the pre r121599 state.

* fast/sub-pixel/zoomed-em-border-expected.html: Added.
* fast/sub-pixel/zoomed-em-border.html: Added.
* platform/chromium-linux/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:

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

7 years agoRename RenderLayerBacking's m_containmentLayer to m_childContainmentLayer to better...
simon.fraser@apple.com [Tue, 15 Jan 2013 23:17:01 +0000 (23:17 +0000)]
Rename RenderLayerBacking's m_containmentLayer to m_childContainmentLayer to better describe its purpose
https://bugs.webkit.org/show_bug.cgi?id=106947

Reviewed by Dean Jackson.

Simple rename of m_containmentLayer to m_childContainmentLayer. I'll
be adding another "container" layer for background layers shortly,
and wanted to improve clarity.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::destroyGraphicsLayers):
(WebCore::RenderLayerBacking::updateInternalHierarchy):
(WebCore::RenderLayerBacking::updateClippingLayers):
(WebCore::RenderLayerBacking::parentForSublayers):
(WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
(WebCore::RenderLayerBacking::reportMemoryUsage):
* rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::hasClippingLayer):
(WebCore::RenderLayerBacking::clippingLayer):
(WebCore::RenderLayerBacking::hasTileCacheFlatteningLayer):
(WebCore::RenderLayerBacking::tileCacheFlatteningLayer):
(RenderLayerBacking):

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

7 years agoAdd a new set of WebKit2 APIs for text search and
enrica@apple.com [Tue, 15 Jan 2013 23:00:59 +0000 (23:00 +0000)]
Add a new set of WebKit2 APIs for text search and
search results management.
https://bugs.webkit.org/show_bug.cgi?id=106834.
<rdar://problem/12597159>

Source/WebCore:

Reviewed by Simon Fraser.

Adding new API to perform text search in WebKit2 without using
the stock UI. The new interface provides all the information
necessary to write a custom UI for search.

Added new TextWebKitAPI test.

* WebCore.exp.in: Added new exported methods.
* editing/Editor.cpp:
(WebCore::Editor::countMatchesForText): Added new parameter to store
all the ranges relative to the matches found.
* editing/Editor.h: Modified the interface of countMatchesForText and removed
the other definition of countMatchesForText with a different signature.
* page/Page.cpp:
(WebCore::Page::findStringMatchingRanges): Added.
(WebCore::Page::markAllMatchesForText): Changed to use the new unified
countMatchesForText.
* page/Page.h:

Source/WebKit/mac:

Reviewed by Simon Fraser.

Adding new API to perform text search in WebKit2 without using
the stock UI. The new interface provides all the information
necessary to write a custom UI for search.

Added new TextWebKitAPI test.

* WebView/WebHTMLView.mm:
(-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]):
Modified to reflect the changes to Editor::countMatchesForText interface.

Source/WebKit2:

Reviewed by Simon Fraser.

Adding new API to perform text search in WebKit2 without using
the stock UI. The new interface provides all the information
necessary to write a custom UI for search. The main logic is
implemented in the new functions added to FindController.

Added new TextWebKitAPI test.

* UIProcess/API/C/WKPage.cpp:
(WKPageFindStringMatches): Added.
(WKPageGetImageForFindMatch): Added.
(WKPageSelectFindMatch): Added.
(WKPageSetPageFindMatchesClient): Added.
* UIProcess/API/C/WKPage.h: Added the new API definitions.
* UIProcess/WebFindClient.cpp: Added new client callbacks.
(WebKit::WebFindMatchesClient::didFindStringMatches):
(WebKit::WebFindMatchesClient::didGetImageForMatchResult):
* UIProcess/WebFindClient.h:
(WebFindMatchesClient): Added.
* UIProcess/WebPageProxy.cpp: Added proxy methods.
(WebKit::WebPageProxy::initializeFindMatchesClient):
(WebKit::WebPageProxy::findStringMatches):
(WebKit::WebPageProxy::getImageForFindMatch):
(WebKit::WebPageProxy::selectFindMatch):
(WebKit::WebPageProxy::didGetImageForFindMatch):
(WebKit::WebPageProxy::didFindStringMatches):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::findStringMatches): Finds all the matching
text according to the find options. All the matching text ranges are
stored in a vector until the next call to findStringMatches or until
hideFindUI is called. The message that is sent back to the UI process
contains a vector containing an entry for each find match (i.e. for each
range) and each entry is represented by a vector of the corresponding
text rects. It also returns the index in the vector of matches corresponding
to the first match after the user selection.
If there is no selection the index is always 0 and if there are no
matches after the user selection, the index returned is -1.
(WebKit::FindController::getFindIndicatorBitmapAndRect): Helper function
to share code between updateFindIndicator and getImageForFindMatch.
(WebKit::FindController::getImageForFindMatch): Creates the image corresponding
to the text matched at the given match index.
(WebKit::FindController::selectFindMatch): creates a selection for the range
corresponding to the given match index.
(WebKit::FindController::hideFindUI): Added logic to clear the vector
of matched ranges.
(WebKit::FindController::updateFindIndicator): Updated to use the
new helper function getFindIndicatorBitmapAndRect.
* WebProcess/WebPage/FindController.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::findStringMatches):
(WebKit::WebPage::getImageForFindMatch):
(WebKit::WebPage::selectFindMatch):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Tools:

Added new test for the new WebKit2 API for
text search.

Reviewed by Simon Fraser.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/FindMatches.mm: Added.

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

7 years ago[chromium] route more webkit_support and webviewhost callbacks through WebTestDelegate
leviw@chromium.org [Tue, 15 Jan 2013 22:46:47 +0000 (22:46 +0000)]
[chromium] route more webkit_support and webviewhost callbacks through WebTestDelegate
https://bugs.webkit.org/show_bug.cgi?id=106904

Reverting 139794. It broke the build. It appears that a header file,
WebTextDirection.h, was left out.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner::setTitleTextDirection):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::shouldStayOnPageAfterHandlingBeforeUnload):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldStayOnPageAfterHandlingBeforeUnload):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::didReceiveTitle):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::didReceiveTitle):

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

7 years ago[Compositor] Do not disable overlap testing for layers in front of 3D transformed...
achicu@adobe.com [Tue, 15 Jan 2013 22:30:54 +0000 (22:30 +0000)]
[Compositor] Do not disable overlap testing for layers in front of 3D transformed layers
https://bugs.webkit.org/show_bug.cgi?id=106721

Reviewed by Simon Fraser.

Source/WebCore:

RenderLayerCompositor is checking for overlapping layers and tries to figure out all the layers that need
to be drawn using composited layers. It doesn't know anything about animations yet and it only works with "start"
and "end" states. However, it knows that animations might happen, so in that cases it will avoid to do any optimizations,
as layers might get moved.

The overlapping layers optimization was also disabled for 3D layers. However, 3D layers can be computed in WebKit and
can be checked for overlap using just the "start"/"stop" states. In this patch I enable that optimization for 3D layers, too.
The result is that more layers are drawn in software mode now, so I've updated a couple of test results.

Tests: compositing/layer-creation/overlap-transformed-3d.html
       compositing/layer-creation/overlap-transformed-preserved-3d.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

LayoutTests:

Added two more tests for the case when 3D layers covered by a 2D layer in front. One is using flat style and the
other is using the preserve-3d mode.

Also, updated a couple of existing test results as some of the composited layers are not needed anymore.

* compositing/geometry/ancestor-overflow-change-expected.txt:
* compositing/geometry/clip-expected.txt:
* compositing/geometry/clip-inside-expected.txt:
* compositing/geometry/foreground-layer-expected.txt:
* compositing/layer-creation/overlap-animation-clipping-expected.txt:
* compositing/layer-creation/overlap-animation-container-expected.txt:
* compositing/layer-creation/overlap-transformed-3d-expected.txt: Added.
* compositing/layer-creation/overlap-transformed-3d.html: Added.
* compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt: Added.
* compositing/layer-creation/overlap-transformed-preserved-3d.html: Added.
* compositing/layer-creation/overlap-transforms-expected.txt:
* compositing/overflow/clip-descendents-expected.txt:
* css3/filters/filtered-compositing-descendant-expected.txt:
* platform/chromium-win/compositing/geometry/ancestor-overflow-change-expected.txt: Removed. There should be no difference now.
* platform/chromium-win/css3/filters/filtered-compositing-descendant-expected.txt: Removed. There should be no difference now.
* platform/chromium/compositing/geometry/ancestor-overflow-change-expected.txt:
* platform/chromium/compositing/geometry/clip-expected.txt:
* platform/chromium/compositing/geometry/clip-inside-expected.txt:
* platform/chromium/compositing/geometry/foreground-layer-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-animation-clipping-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-animation-container-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt: Added.
* platform/chromium/compositing/layer-creation/overlap-transforms-expected.txt:
* platform/chromium/compositing/overflow/clip-descendents-expected.txt:
* platform/chromium/css3/filters/filtered-compositing-descendant-expected.txt:

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

7 years agoIndexedDB: Fix tests which depend upon V8 event listener behavior
jsbell@chromium.org [Tue, 15 Jan 2013 22:27:58 +0000 (22:27 +0000)]
IndexedDB: Fix tests which depend upon V8 event listener behavior
https://bugs.webkit.org/show_bug.cgi?id=106731

Ensure consistent use of callback(evt) { preamble(evt); ... } pattern, which addresses
running in JSC and in V8 under Workers. Also add worker test wrappers.

Reviewed by Tony Chang.

* storage/indexeddb/cursor-advance-expected.txt:
* storage/indexeddb/cursor-advance-workers-expected.txt: Added.
* storage/indexeddb/cursor-advance-workers.html: Added.
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt: Added.
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html: Added.
* storage/indexeddb/resources/cursor-advance.js:
(prepareDatabase):
(testPrefetchInRange.prefetch):
(testPrefetchInRange):
(testPrefetchOutOfRange.prefetch):
(testPrefetchOutOfRange):
(testBadAdvance.advanceBadly):
(testBadAdvance):
(testEdges.request.onsuccess):
(testEdges):
(testDelete.deleteSecond):
(testDelete):
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
(onOpenSuccess):

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

7 years ago[chromium] route more webkit_support and webviewhost callbacks through WebTestDelegate
jochen@chromium.org [Tue, 15 Jan 2013 22:21:43 +0000 (22:21 +0000)]
[chromium] route more webkit_support and webviewhost callbacks through WebTestDelegate
https://bugs.webkit.org/show_bug.cgi?id=106904

Reviewed by Adam Barth.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::notifyDone):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestRunner::WebTestDelegate::setDeviceScaleFactor):
(WebTestRunner::WebTestDelegate::setFocus):
(WebTestRunner::WebTestDelegate::setAcceptAllCookies):
(WebTestRunner::WebTestDelegate::pathToLocalResource):
(WebTestRunner::WebTestDelegate::setLocale):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::setAlwaysAcceptCookies):
(WebTestRunner):
(WebTestRunner::TestRunner::setWindowIsKey):
(WebTestRunner::TestRunner::pathToLocalResource):
(WebTestRunner::TestRunner::setBackingScaleFactor):
(WebTestRunner::TestRunner::setPOSIXLocale):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(WebTestRunner::TestRunner::taskList):
(TestRunner):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::setDeviceScaleFactor):
(WebViewHost::setFocus):
(WebViewHost::setAcceptAllCookies):
(WebViewHost::pathToLocalResource):
(WebViewHost::setLocale):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

7 years agoRename LayerTreeHostCAMac to LayerTreeHostMac.
andersca@apple.com [Tue, 15 Jan 2013 22:20:51 +0000 (22:20 +0000)]
Rename LayerTreeHostCAMac to LayerTreeHostMac.

Rubber-stamped by Deth Bakin.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/LayerTreeHost.cpp:
* WebProcess/WebPage/mac/LayerTreeHostMac.h: Renamed from Source/WebKit2/WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h.
* WebProcess/WebPage/mac/LayerTreeHostMac.mm: Renamed from Source/WebKit2/WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm.

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

7 years agoHTML parser should queue MutationRecords for its operations
commit-queue@webkit.org [Tue, 15 Jan 2013 22:17:06 +0000 (22:17 +0000)]
HTML parser should queue MutationRecords for its operations
https://bugs.webkit.org/show_bug.cgi?id=89351

Patch by Elliott Sprehn <esprehn@gmail.com> on 2013-01-15
Reviewed by Eric Seidel.

Source/WebCore:

Generate mutation records inside the parser. This is done by using a
ChildListMutationScope in the ContainerNode::parser* methods and then
adding delivery before each <script> element would be processed by
the parser.

Test: fast/dom/MutationObserver/parser-mutations.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::parserRemoveChild):
(WebCore::ContainerNode::parserAppendChild):
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::execute):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::runScript):

LayoutTests:

Add tests for parser generated mutations.

XXX: This needs a bunch more tests observing the adoption
agency algorithm to catch parserInsertBefore and parserRemoveChild
mutations.

* fast/dom/MutationObserver/parser-mutations-expected.txt: Added.
* fast/dom/MutationObserver/parser-mutations.html: Added.

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

7 years agoUnreviewed, rolling out r139782.
ojan@chromium.org [Tue, 15 Jan 2013 22:15:35 +0000 (22:15 +0000)]
Unreviewed, rolling out r139782.
http://trac.webkit.org/changeset/139782
https://bugs.webkit.org/show_bug.cgi?id=106939

Source/WebCore:

Broke preferred widths on list markers.

* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::layout):
(WebCore::RenderListMarker::computePreferredLogicalWidths):

LayoutTests:

* fast/lists/marker-preferred-margins-expected.txt: Added.
* fast/lists/marker-preferred-margins.html: Added.
Adding a new test to cover the case that broke.

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

7 years agoHeap-use-after-free in WebCore::RenderObject::willBeRemovedFromTree
esprehn@chromium.org [Tue, 15 Jan 2013 22:14:29 +0000 (22:14 +0000)]
Heap-use-after-free in WebCore::RenderObject::willBeRemovedFromTree
https://bugs.webkit.org/show_bug.cgi?id=106384

Reviewed by Abhishek Arya.

Source/WebCore:

Always walk up from beforeChild until the parent() is the owner of the
child list, otherwise we can end up in situations where
newChild->parent() == owner but newChild->nextSibling()->parent() != owner
which is a recipe for security bugs. Previously we only walked up through
anonymous blocks, but missed anonymous inline blocks like those generated
by <ruby>.

Test: fast/css-generated-content/bug-106384.html

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::insertChildNode):

LayoutTests:

Add a test for <ruby> and generated content causing asserts and
crashes.

* fast/css-generated-content/bug-106384-expected.txt: Added.
* fast/css-generated-content/bug-106384.html: Added.

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

7 years ago[BlackBerry] Don't overwrite field dir with current locale.
mifenton@rim.com [Tue, 15 Jan 2013 22:04:29 +0000 (22:04 +0000)]
[BlackBerry] Don't overwrite field dir with current locale.
https://bugs.webkit.org/show_bug.cgi?id=106932

Reviewed by Yong Li.

PR 212267.

Remove uncalled onInputLocaleChanged and stop re-writing the dir
on input focus which prevented RTL fields from rendering properly.

Reviewed Internally by Eli Fidler.

* Api/WebPage.cpp:
* Api/WebPage.h:
* Api/WebPage_p.h:
(WebPagePrivate):
* WebKitSupport/InputHandler.cpp:
* WebKitSupport/InputHandler.h:
(InputHandler):

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

7 years agoTests with WontFix expectation are (indirectly) skipped
zandobersek@gmail.com [Tue, 15 Jan 2013 22:03:13 +0000 (22:03 +0000)]
Tests with WontFix expectation are (indirectly) skipped
https://bugs.webkit.org/show_bug.cgi?id=105860

Reviewed by Dirk Pranke.

Only skip the WontFix expectation if there are no other layout test
expectations (like Failure, ImageOnlyFailure) listed for the test.
This makes it possible to run an expected failure for which there
is no reason or interest to fix. There are some ports that would like
to exercise this behavior as well as specific test cases that should use
such expectations.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser._tokenize_line): Only add the SKIP modifier for a
WONTFIX test if there are no expectations listed. The warning is adjusted
to reflect the new behavior.
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Add
and adjust test cases for these changes.
(ExpectationSyntaxTests.test_wontfix):
(SemanticTests.test_skip_and_wontfix):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 15 Jan 2013 22:01:52 +0000 (22:01 +0000)]
Unreviewed GTK gardening.

Rebaselining after r139767 and r139768.

* platform/gtk/fast/dom/Window/window-properties-performance-expected.txt:
* platform/gtk/fast/media/w3c/test_media_queries-expected.txt:

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

7 years agoBUILD FIX: Add SUPPORTED_PLATFORMS to Base.xcconfig
ddkilzer@apple.com [Tue, 15 Jan 2013 21:49:49 +0000 (21:49 +0000)]
BUILD FIX: Add SUPPORTED_PLATFORMS to Base.xcconfig

* Configurations/Base.xcconfig: Add SUPPORTED_PLATFORMS so that
Xcode knows we can build this project for all three platforms.
Previously the Mac OS X SDKs were missing in the scheme picker.

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

7 years agoRemove bogus assert added in http://trac.webkit.org/changeset/139772.
ojan@chromium.org [Tue, 15 Jan 2013 21:43:17 +0000 (21:43 +0000)]
Remove bogus assert added in trac.webkit.org/changeset/139772.
* rendering/RenderBox.h:
(WebCore::RenderBox::computePreferredLogicalWidths):

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

7 years agoMoving updating of margins from computePreferredLogicalWidths to layout
ojan@chromium.org [Tue, 15 Jan 2013 21:41:47 +0000 (21:41 +0000)]
Moving updating of margins from computePreferredLogicalWidths to layout
https://bugs.webkit.org/show_bug.cgi?id=106939

Reviewed by Levi Weintraub.

The margins don't affect it's preferred width. We should update them
during layout like we do in other classes (e.g. RenderBlock).

* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::layout):
(WebCore::RenderListMarker::computePreferredLogicalWidths):

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

7 years ago[CoordinatedGraphics] Deadlock when running abspos-child-container-changes-from-relat...
dominik.rottsches@intel.com [Tue, 15 Jan 2013 21:40:29 +0000 (21:40 +0000)]
[CoordinatedGraphics] Deadlock when running abspos-child-container-changes-from-relative-to-static.html
https://bugs.webkit.org/show_bug.cgi?id=106884

Reviewed by Benjamin Poulain.

We need to return false if m_waitingForUIProcess is true since otherwise
we'll not really repaint in performScheduledLayerFlush() and the
UI process will wait forever. Returning false leads to executing the layer flush
synchronously and immediately, then acknowledging the
callback to the WebProcess - which resolves the deadlock.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::forceRepaintAsync): Return false in order to trigger a synchronous repaint if m_waitingForUIProcess is true.

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

7 years agoGeneralize DocumentWeakReference into WTF::WeakPtr
abarth@webkit.org [Tue, 15 Jan 2013 21:35:08 +0000 (21:35 +0000)]
Generalize DocumentWeakReference into WTF::WeakPtr
https://bugs.webkit.org/show_bug.cgi?id=106854

Reviewed by Darin Adler.

Source/WebCore:

This patch replaces DocumentWeakReference with WeakPtr. There should be
no change in behavior.

* dom/Document.cpp:
(WebCore):
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::PerformTaskContext::PerformTaskContext):
(PerformTaskContext):
(WebCore::Document::didReceiveTask):
(WebCore::Document::postTask):
(WebCore::Document::reportMemoryUsage):
* dom/Document.h:
(WebCore):
(Document):

Source/WTF:

This patch adds a simple WeakPtr object to WTF. To use WeakPtr, objects
must hold a WeakPtrFactory member variable, which clears the WeakPtrs
when the object is destructed. The underlying storage is a
ThreadSafeRefCounted "WeakReference" object, which is shared by all the
WeakPtrs.

WeakPtr is a generalization of DocumentWeakReference, which is used to
check whether the Document object is alive when tasks arive on the main
thread from worker threads. We plan to use a similar pattern in the
threaded HTML parser, but we want to send tasks to objects other than
Document.

* GNUmakefile.list.am:
* WTF.gypi:
* WTF.pro:
* WTF.vcproj/WTF.vcproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/WeakPtr.h: Added.
(WeakReference):
    - The ThreadSafeRefCounted object shared by all the WeakPtr
      instances. This patch uses ThreadSafeRefCounted so that we can
      use WeakPtrs to cancel cross-thread messages.
(WTF::WeakReference::create):
(WTF::WeakReference::get):
(WTF::WeakReference::clear):
    - When the object is destroyed, WeakPtrFactory calls this function
      to clear all the WeakPtrs.
(WTF::WeakReference::WeakReference):
(WTF::WeakPtr::WeakPtr):
(WTF::WeakPtr::get):
    - We might want to add implicit conversions and Boolean operators
      in the future, but I've kept this class simple for now.
(WTF::WeakPtrFactory::WeakPtrFactory):
(WTF::WeakPtrFactory::~WeakPtrFactory):
(WTF::WeakPtrFactory::createWeakPtr):

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

7 years ago[chromium] add title text direction attribute to TestRunner
jochen@chromium.org [Tue, 15 Jan 2013 21:34:59 +0000 (21:34 +0000)]
[chromium] add title text direction attribute to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=106907

Reviewed by Adam Barth.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::setTitleTextDirection):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::setTitleTextDirection):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::didReceiveTitle):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::didReceiveTitle):

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

7 years agonrwt: change the default # of locked shards on chromium_win to 1
dpranke@chromium.org [Tue, 15 Jan 2013 21:04:09 +0000 (21:04 +0000)]
nrwt: change the default # of locked shards on chromium_win to 1
https://bugs.webkit.org/show_bug.cgi?id=106938

Reviewed by Eric Seidel.

It looks like LigHTTPd might be buggy or unstable if we are
running multiple http tests in parallel; see
http://code.google.com/p/chromium/issues/detail?id=169530 for more
context as well. This change will stop running http tests in parallel
and we can see if this fixes things.

* Scripts/webkitpy/layout_tests/port/chromium_win.py:
(ChromiumWinPort.default_max_locked_shards):
* Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
(ChromiumWinTest.test_path_to_image_diff):
(ChromiumWinTest):
(ChromiumWinTest.test_default_max_locked_shards):

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

7 years ago[User Timing] INVALID_ACCESS_ERR should be thrown if measuring from a 0 Nav Timing...
simonjam@chromium.org [Tue, 15 Jan 2013 20:57:59 +0000 (20:57 +0000)]
[User Timing] INVALID_ACCESS_ERR should be thrown if measuring from a 0 Nav Timing value
https://bugs.webkit.org/show_bug.cgi?id=106935

Reviewed by Tony Gentilcore.

Source/WebCore:

Test: http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure_exception.html

* page/PerformanceUserTiming.cpp:
(WebCore::UserTiming::findExistingMarkStartTime):

LayoutTests:

* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure_exception-expected.txt:
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure_exception.html:

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

7 years ago[chromium] move WebDatabase related methods to TestRunner library
jochen@chromium.org [Tue, 15 Jan 2013 20:49:36 +0000 (20:49 +0000)]
[chromium] move WebDatabase related methods to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=106905

Reviewed by Adam Barth.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestRunner::WebTestDelegate::clearAllDatabases):
(WebTestRunner::WebTestDelegate::setDatabaseQuota):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::clearAllDatabases):
(WebTestRunner):
(WebTestRunner::TestRunner::setDatabaseQuota):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::clearAllDatabases):
(WebViewHost::setDatabaseQuota):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

7 years agoMediaStream API: Rename the [add|remove]Track callbacks to [add|remove]RemoteTrack...
tommyw@google.com [Tue, 15 Jan 2013 20:47:18 +0000 (20:47 +0000)]
MediaStream API: Rename the [add|remove]Track callbacks to [add|remove]RemoteTrack for clarity
https://bugs.webkit.org/show_bug.cgi?id=106791

Reviewed by Adam Barth.

No tests needed.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::addRemoteTrack):
(WebCore::MediaStream::removeRemoteTrack):
* Modules/mediastream/MediaStream.h:
* platform/mediastream/MediaStreamCenter.cpp:
(WebCore::MediaStreamCenter::addMediaStreamTrack):
(WebCore::MediaStreamCenter::removeMediaStreamTrack):
* platform/mediastream/MediaStreamDescriptor.h:
(MediaStreamDescriptorClient):

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

7 years ago[Chromium] Move SocketStreamHandle and SocketStreamHandleInternal to WebCore/platform
pilgrim@chromium.org [Tue, 15 Jan 2013 20:46:19 +0000 (20:46 +0000)]
[Chromium] Move SocketStreamHandle and SocketStreamHandleInternal to WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=106899

Reviewed by Adam Barth.

Part of a larger refactoring series; see tracking bug 106829.

Source/WebCore:

* WebCore.gypi:
* platform/network/chromium/SocketStreamHandle.cpp: Copied from Source/WebKit/chromium/src/SocketStreamHandle.cpp.
(WebCore::SocketStreamHandleInternal::send):
(WebCore::SocketStreamHandleInternal::didOpenStream):
(WebCore::SocketStreamHandleInternal::didSendData):
(WebCore::SocketStreamHandleInternal::didReceiveData):
(WebCore::SocketStreamHandleInternal::didClose):
(WebCore::SocketStreamHandleInternal::didFail):
* platform/network/chromium/SocketStreamHandleInternal.h: Copied from Source/WebKit/chromium/src/SocketStreamHandleInternal.h.

Source/WebKit/chromium:

* WebKit.gyp:
* src/SocketStreamHandle.cpp: Removed.
* src/SocketStreamHandleInternal.h: Removed.

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

7 years agoRenderText::computePreferredLogicalWidths does not need to be public
ojan@chromium.org [Tue, 15 Jan 2013 20:44:25 +0000 (20:44 +0000)]
RenderText::computePreferredLogicalWidths does not need to be public
https://bugs.webkit.org/show_bug.cgi?id=106934

Reviewed by Levi Weintraub.

* rendering/RenderCounter.h:
Add OVERRIDE keyword.
* rendering/RenderText.h:
Make protected.

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

7 years agoCleanup visibility of some computePreferredLogicalWidths calls
ojan@chromium.org [Tue, 15 Jan 2013 20:39:40 +0000 (20:39 +0000)]
Cleanup visibility of some computePreferredLogicalWidths calls
https://bugs.webkit.org/show_bug.cgi?id=106933

Reviewed by Levi Weintraub.

No need for these to be public.

* rendering/RenderBox.h:
(WebCore::RenderBox::computePreferredLogicalWidths):
This should never get called in practice. Add an assert to that effect.

* rendering/RenderGrid.h:
(RenderGrid):
* rendering/RenderReplica.h:
(RenderReplica):
* rendering/RenderScrollbarPart.h:
(RenderScrollbarPart):

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

7 years agoRenaming CleanWorkingDirectory step to DiscardLocalChanges to make
commit-queue@webkit.org [Tue, 15 Jan 2013 20:03:10 +0000 (20:03 +0000)]
Renaming CleanWorkingDirectory step to DiscardLocalChanges to make
functionality match the name.
https://bugs.webkit.org/show_bug.cgi?id=106870

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-01-15
Reviewed by Adam Barth.

* Scripts/webkitpy/tool/commands/download.py:
(Clean):
(Update):
(Build):
(BuildAndTest):
(CheckStyle):
(BuildAttachment):
(BuildAndTestAttachment):
(AbstractPatchApplyingCommand):
(ApplyWatchList):
(AbstractPatchLandingCommand):
(CreateRollout):
* Scripts/webkitpy/tool/steps/__init__.py:
* Scripts/webkitpy/tool/steps/cleanworkingdirectory.py:
(CleanWorkingDirectory.options):
(CleanWorkingDirectory.run):
* Scripts/webkitpy/tool/steps/cleanworkingdirectory_unittest.py:
* Scripts/webkitpy/tool/steps/discardlocalchanges.py: Copied from Tools/Scripts/webkitpy/tool/steps/cleanworkingdirectory.py.
* Scripts/webkitpy/tool/steps/discardlocalchanges_unittest.py: Copied from Tools/Scripts/webkitpy/tool/steps/cleanworkingdirectory_unittest.py.

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

7 years ago[CSS Filters] brightness() function doesn't work as specified
krit@webkit.org [Tue, 15 Jan 2013 20:02:20 +0000 (20:02 +0000)]
[CSS Filters] brightness() function doesn't work as specified
https://bugs.webkit.org/show_bug.cgi?id=106674

Source/WebCore:

Reviewed by Dean Jackson.

The brightness filter implementation modified the intercept instead of the slope on
the feComponentTransfer function. The passed amount acts as multiplier for each
color chanel now.

Existing tests cover the changes and were updated.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseBuiltinFilterArguments):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::setFilters):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build):

LayoutTests:

Negative brightness values are possible but are meaningless. Modify the tests
to mainly use positive amounts for brightness tests.

Reviewed by Dean Jackson.

* css3/filters/effect-brightness-clamping-hw.html:
* css3/filters/effect-brightness-hw.html:
* css3/filters/effect-combined-hw.html:
* css3/filters/effect-combined.html:
* css3/filters/multiple-filters-invalidation.html:
* css3/filters/null-effect-check.html:
* css3/filters/script-tests/filter-property-parsing-invalid.js:
* css3/filters/script-tests/filter-property-parsing.js:

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

7 years ago[Autotools] Add support for WebKit2-only builds
zandobersek@gmail.com [Tue, 15 Jan 2013 19:49:50 +0000 (19:49 +0000)]
[Autotools] Add support for WebKit2-only builds
https://bugs.webkit.org/show_bug.cgi?id=106889

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-15
Reviewed by Gustavo Noronha Silva.

.:

* GNUmakefile.am: Only copy the WebKit1 documentation into the destination
directory if building WebKit1.
* configure.ac: Add a configuration option for disabling the WebKit1 build.
Only conditionally copy WebKit1-specific targets from the input files. Some
small style changes to the WebKit2 configuration flag included as well.

Source/WebKit/gtk:

* GNUmakefile.am: Only build the WebKit1-specific targets if actually
building WebKit1. This puts the libwebkitgtk library, the pkg-config file
and the WebKit1-specific unit tests under the ENABLE_WEBKIT1 Automake
conditional.

Tools:

* GNUmakefile.am: Only build the GtkLauncher and DumpRenderTree if building WebKit1.
* Scripts/build-webkit: Pass along the information on whether to build WebKit1 when
building the GTK port through build-webkit.
* Scripts/webkitdirs.pm:
(buildAutotoolsProject): Add the --disable-webkit1 configuration flag to the build
arguments when not building WebKit1.
(buildGtkProject): Pass along the information on whether to build WebKit1 when building
through the Autotools build system.

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

7 years ago[GTK] Enable Performance Timeline, Resource Timing, Navigation Timing features
zandobersek@gmail.com [Tue, 15 Jan 2013 19:47:31 +0000 (19:47 +0000)]
[GTK] Enable Performance Timeline, Resource Timing, Navigation Timing features
https://bugs.webkit.org/show_bug.cgi?id=106197

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-15
Reviewed by Martin Robinson.

Source/WebCore:

No new tests - existing layout tests are being unskipped, only a few fail
(but their failures are of cross-platform nature).

* GNUmakefile.features.am.in: Add feature defines for all three features.
They are disabled by default for now.
* GNUmakefile.list.am: Add missing build targets.
* bindings/gobject/GNUmakefile.am: Ditto.
* bindings/js/JSPerformanceEntryCustom.cpp: Added the necessary custom bindings.
Mimics the custom V8 bindings.
(WebCore):
(WebCore::toJS):

Tools:

* Scripts/webkitperl/FeatureList.pm: Add the configuration options for all three
features. Enable them on GTK, meaning they will be enabled in development builds
(i.e. when building with build-webkit).

LayoutTests:

Unskip related tests, add a few expectations for still-failing tests.

* platform/gtk/TestExpectations:

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

7 years ago[GTK] Enable CSS Image Resolution feature
zandobersek@gmail.com [Tue, 15 Jan 2013 19:46:01 +0000 (19:46 +0000)]
[GTK] Enable CSS Image Resolution feature
https://bugs.webkit.org/show_bug.cgi?id=99038

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-15
Reviewed by Gustavo Noronha Silva.

Tools:

Enable the CSS Image Resolution feature for the development
builds of the GTK port.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Remove the failure expectation for the fast/css/image-resolution directory,
the single layout test inside it now passes.

* platform/gtk/TestExpectations:

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

7 years ago[GTK] Stop passing the unstable features flag to configure script when using build...
zandobersek@gmail.com [Tue, 15 Jan 2013 19:42:41 +0000 (19:42 +0000)]
[GTK] Stop passing the unstable features flag to configure script when using build-webkit
https://bugs.webkit.org/show_bug.cgi?id=106579

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-15
Reviewed by Gustavo Noronha Silva.

The --enable-unstable-features flag is not required to be passed anymore
to the configure script as it was removed in r138252.

* Scripts/webkitdirs.pm:
(buildAutotoolsProject):

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

7 years ago[Autotools] Unify JavaScriptCore sources list, regardless of target OS
zandobersek@gmail.com [Tue, 15 Jan 2013 19:41:02 +0000 (19:41 +0000)]
[Autotools] Unify JavaScriptCore sources list, regardless of target OS
https://bugs.webkit.org/show_bug.cgi?id=106007

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-15
Reviewed by Gustavo Noronha Silva.

Include the Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp target
in the general sources list as it is guarded by the ENABLE_EXECUTABLE_ALLOCATOR_FIXED
feature define. This define is only used on 64-bit architecture and indirectly depends
on enabling either JIT or YARR JIT feature. Both of these defines are disabled on
Windows OS when using 64-bit architecture so there's no need to add this target to
sources only when the target OS is Windows.

* GNUmakefile.list.am:

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

7 years ago[chromium] Unreviewed, fix a bug where we don't properly shutdown lighttpd.
tony@chromium.org [Tue, 15 Jan 2013 19:35:07 +0000 (19:35 +0000)]
[chromium] Unreviewed, fix a bug where we don't properly shutdown lighttpd.

* Scripts/webkitpy/layout_tests/servers/http_server.py:
(Lighttpd._check_and_kill): Pass /pid so taskkill.exe doesn't error out on us.
* Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
(TestHttpServer.test_win32_start_and_stop):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 15 Jan 2013 19:25:38 +0000 (19:25 +0000)]
Unreviewed GTK gardening.

Remove a few failure expectations for tests that now pass.

* platform/gtk/TestExpectations:

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

7 years agoUnprefixed transitionend event doesn't seem to be implemented, which breaks many...
alexis@webkit.org [Tue, 15 Jan 2013 19:17:42 +0000 (19:17 +0000)]
Unprefixed transitionend event doesn't seem to be implemented, which breaks many sites
https://bugs.webkit.org/show_bug.cgi?id=105647

Reviewed by Julien Chaffraix.

Source/WebCore:

Add support for transitionend event delivery as part as the unprefixing
work on CSS Transitions. This patch adds some code in EventTarget to
figure out if the current event to dispatch has a prefixed version or
not. Then from the list of listeners we deduce which event should be delivered
(prefixed or unprefixed).

In the case of the CSS Transitions, WebKit will now behave as follow :
if an event listener is attached to the prefixed version of the
transition end event then only the prefixed event will be send.
If an event listener is attached to the unprefixed version
of the transition end event then only the unprefixed event will be
send. If there are event listeners on both unprefixed and prefixed
events then only the unprefixed event will be send.

The behavior was discussed here :
http://lists.webkit.org/pipermail/webkit-dev/2013-January/023301.html.

Tests: transitions/transition-end-event-unprefixed-01.html
       transitions/transition-end-event-unprefixed-02.html

* dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded): Register the prefixed
listener too as transitionend listeners so that we properly dispatch
events for them.
* dom/EventNames.h:
(WebCore): Add the new transitionend name.
* dom/EventTarget.cpp:
(WebCore::createMatchingPrefixedEvent):
(WebCore::prefixedType):
(WebCore::EventTarget::fireEventListeners): Find out if somebody is
listening for unprefixed events, if so we always send the unprefixed
event, if not then we create a prefixed event and send it.
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::sendTransitionEvent): Always create by
default unprefixed events.

LayoutTests:

Cover that event delivery is correct : we received unprefixed events.

* transitions/transition-end-event-helpers.js:
(recordTransitionEndEvent):
* transitions/transition-end-event-unprefixed-01-expected.txt: Added.
* transitions/transition-end-event-unprefixed-01.html: Added.
* transitions/transition-end-event-unprefixed-02-expected.txt: Added.
* transitions/transition-end-event-unprefixed-02.html: Added.

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

7 years agoUpstream iOS changes for ANGLE project
ddkilzer@apple.com [Tue, 15 Jan 2013 19:17:09 +0000 (19:17 +0000)]
Upstream iOS changes for ANGLE project
<http://webkit.org/b/106913>

Reviewed by Joseph Pecoraro.

* ANGLE.xcodeproj/project.pbxproj:
- Use $(INSTALL_PATH_PREFIX) with CopyFiles build phase paths.
- Add iOS.xcconfig to project.
* Configurations/ANGLE.xcconfig:
- Use INSTALL_PATH_ACTUAL instead of INSTALL_PATH.  (See below.)
- Use $(INSTALL_PATH_PREFIX) with PUBLIC_HEADERS_FOLDER_PATH.
* Configurations/Base.xcconfig:
- Include iOS.xcconfig.
- Add per-platform values for GCC_ENABLE_OBJC_GC and
  GCC_MODEL_TUNING.
- Define INSTALL_PATH when building for macosx SDK.
* Configurations/iOS.xcconfig: Add.  Note that missing include
files are simply ignored without an error by Xcode.

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

7 years agoMake AtomicMarkupTokenBase use a bare UChar* for external characters
tonyg@chromium.org [Tue, 15 Jan 2013 19:06:25 +0000 (19:06 +0000)]
Make AtomicMarkupTokenBase use a bare UChar* for external characters
https://bugs.webkit.org/show_bug.cgi?id=106919

Reviewed by Eric Seidel.

This allows an arbitrary backing for external characters which is necessary for the threaded HTML parser.

No new tests because no new functionality.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
* xml/parser/MarkupTokenBase.h:
(WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
(WebCore::AtomicMarkupTokenBase::characters):
(AtomicMarkupTokenBase):
(WebCore::AtomicMarkupTokenBase::charactersLength):
(WebCore::AtomicMarkupTokenBase::clearExternalCharacters):
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processCharacter):

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

7 years ago[BlackBerry] Manual zoom propagates to next page load
zhajiang@rim.com [Tue, 15 Jan 2013 19:00:28 +0000 (19:00 +0000)]
[BlackBerry] Manual zoom propagates to next page load
https://bugs.webkit.org/show_bug.cgi?id=106914

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by Yong Li.
Internally reviewed by Eli Fidler and Jakob Petsovits.

PR: 280481
During load committed, the web page scale was reset. However, UI thread
still kept the old scale in UserInterfaceViewportAccessor so that it
blitted the contents at the old scale although WebKit thread could
update the UI thread scale later when finished the load.
We should update the scale of the UI thread right after we reset it in
WebKit thread to keep them in sync.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::resetScales):

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

7 years agoANGLE should build with -Wshorten-64-to-32
ddkilzer@apple.com [Tue, 15 Jan 2013 18:56:19 +0000 (18:56 +0000)]
ANGLE should build with -Wshorten-64-to-32
<http://webkit.org/b/106798>
<http://code.google.com/p/angleproject/issues/detail?id=396>

Reviewed by Kenneth Russell.

Most changes below are simply to document issues with #pragma
statements per request by upstream.  The change to osinclude.h
is the only bug fix, which defines OS_TLSIndex in terms of
pthread_key_t instead of unsigned int since pthread_key_t is a
64-bit value on 64-bit Mac OS X.

* Configurations/Base.xcconfig: Enable -Wshorten-64-to-32 by
setting GCC_WARN_64_TO_32_BIT_CONVERSION to YES.
* src/compiler/Intermediate.cpp:
(TIntermTraverser::hash): Add #pragmas for clang to ignore
-Wshorten-64-to-32 warning.
* src/compiler/MapLongVariableNames.cpp:
(LongNameMap::Size): Ditto.
* src/compiler/ShaderLang.cpp:
(getVariableInfo): Ditto.
(ShGetInfo): Ditto.
* src/compiler/ValidateLimitations.cpp:
(ValidateLimitations::validateFunctionCall): Ditto.
* src/compiler/glslang.l: Ditto.
* src/compiler/glslang_lex.cpp: Ditto.
* src/compiler/osinclude.h: Change type of OS_TLSIndex to
pthread_key_t.  Define OS_INVALID_TLS_INDEX by using
static_cast<OS_TLSIndex>(-1).
* src/compiler/preprocessor/Input.cpp:
(pp::Input::Input): Add #pragmas for clang to ignore
-Wshorten-64-to-32 warning.
* src/compiler/preprocessor/Tokenizer.cpp: Ditto.
* src/compiler/preprocessor/Tokenizer.l: Ditto.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 15 Jan 2013 18:54:27 +0000 (18:54 +0000)]
Unreviewed GTK gardening.

Adding failure/crash/missing expectations for accessibility tests after
r139444, r139534 and r139663.
Adding platform-specific baselines for two scrolling coordinator tests that are
required after r139686.

* platform/gtk/TestExpectations:
* platform/gtk/scrollingcoordinator: Added.
* platform/gtk/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Added.
* platform/gtk/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Added.

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

7 years agoMicrodata: propertiesCollection[name] should return undefined if item doesn't have...
arko@motorola.com [Tue, 15 Jan 2013 18:49:17 +0000 (18:49 +0000)]
Microdata: propertiesCollection[name] should return undefined if item doesn't have a property named 'name'
https://bugs.webkit.org/show_bug.cgi?id=106849

Reviewed by Kentaro Hara.

Source/WebCore:

We should return undefined if hasNamedItem() is false.

Test: fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html

* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::V8HTMLCollection::namedPropertyGetter):

LayoutTests:

* fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name-expected.txt: Added.
* fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html: Added.

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

7 years ago[GTK] Fix build after r139665
commit-queue@webkit.org [Tue, 15 Jan 2013 18:34:07 +0000 (18:34 +0000)]
[GTK] Fix build after r139665
https://bugs.webkit.org/show_bug.cgi?id=106917

Patch by Michael Pruett <michael@68k.org> on 2013-01-15
Reviewed by Dean Jackson.

* GNUmakefile.list.am:

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=106855
eae@chromium.org [Tue, 15 Jan 2013 18:22:11 +0000 (18:22 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=106855
https://bugs.webkit.org/show_bug.cgi?id=106855

Reviewed by Levi Weintraub.

Speed up zoomed-offset-size.html test and remove SLOW modifier
from TestExpectations.

* fast/images/zoomed-offset-size-expected.txt:
* fast/images/zoomed-offset-size.html:
* platform/chromium/TestExpectations:

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

7 years agoMove parent pointer from TreeShared to subclass
antti@apple.com [Tue, 15 Jan 2013 18:11:30 +0000 (18:11 +0000)]
Move parent pointer from TreeShared to subclass
https://bugs.webkit.org/show_bug.cgi?id=106910

Reviewed by Darin Adler.

This simplifies both TreeShared and clients, and makes code dealing with parents more understandable in general.

* dom/Document.h:
(WebCore::Node::Node):
* dom/Node.cpp:
(WebCore::Node::reportMemoryUsage):
* dom/Node.h:

    Add m_parentOrHostNode variable (matching the accessor names).

(Node):
(WebCore::Node::hasTreeSharedParent):
(WebCore::Node::parentNode):
(WebCore::Node::setParentOrHostNode):
(WebCore::Node::parentOrHostNode):
* platform/TreeShared.h:
(WebCore):
(WebCore::TreeShared::TreeShared):
(WebCore::TreeShared::deref):

    Call subclass hasTreeSharedParent() to figure out if it is time to delete.

(TreeShared):

    Remove parent pointer and accessors.
    Remove ParentNodeType template parameter.
    Remove now unnecessay reportMemoryUsage().

(WebCore::adopted):
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::SVGElementInstance):
* svg/SVGElementInstance.h:

    Add m_parentInstance variable.

(WebCore::SVGElementInstance::setParentOrHostNode):
(WebCore::SVGElementInstance::parentNode):
(SVGElementInstance):
(WebCore::SVGElementInstance::hasTreeSharedParent):

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

7 years agoAllow tiled WKViews to have transparent backgrounds
simon.fraser@apple.com [Tue, 15 Jan 2013 18:10:28 +0000 (18:10 +0000)]
Allow tiled WKViews to have transparent backgrounds
https://bugs.webkit.org/show_bug.cgi?id=106400

Source/WebCore:

Reviewed by Anders Carlsson.

When WKViews were set to have transparent backgrounds, they still
obscured content behind the view, for several reasons.

First, when in tiled scrolling mode, WKView set the background
of its layer to opaque white. Fix by using the clearColor (effectively
removing the background color) if the view has a non-opaque background.

Second, RenderLayerBacking just looked at FrameViews's isTransparent()
when deciding to make TileCache tiles non-opaque, but it also needs to
consider FrameViews with a non-opaque base background color. The
same logic was necessary to avoid setting an opaque white background
color on the TileCache layer.

Finally, for views with non-opaque backgrounds, we don't want to display
linen, so RenderLayerCompositor::requiresOverhangAreasLayer() was changed
to return false in that case.

View transparency is not testable in layout tests.

* page/FrameView.cpp:
(WebCore::FrameView::hasOpaqueBackground):
* page/FrameView.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateBackgroundColor):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):

Source/WebKit2:

Reviewed by Anders Carlsson.

When WKViews were set to have transparent backgrounds, they still
obscured content behind the view, for several reasons.

First, when in tiled scrolling mode, WKView set the background
of its layer to opaque white. Fix by using the clearColor (effectively
removing the background color) if the view has a non-opaque background.

Second, RenderLayerBacking just looked at FrameViews's isTransparent()
when deciding to make TileCache tiles non-opaque, but it also needs to
consider FrameViews with a non-opaque base background color. The
same logic was necessary to avoid setting an opaque white background
color on the TileCache layer.

Finally, for views with non-opaque backgrounds, we don't want to display
linen, so RenderLayerCompositor::requiresOverhangAreasLayer() was changed
to return false in that case.

* UIProcess/API/mac/WKView.mm:
(-[WKView updateLayer]):

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

7 years agoRenderView does not need to override computePreferredLogicalWidth
ojan@chromium.org [Tue, 15 Jan 2013 17:54:22 +0000 (17:54 +0000)]
RenderView does not need to override computePreferredLogicalWidth
https://bugs.webkit.org/show_bug.cgi?id=106852

Reviewed by Levi Weintraub.

Calling minPreferredLogicalWidth calls computePreferredLogicalWidth,
which happens a few lines later in layoutWithFlattening. No need
to call it explicitly.

* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::layoutWithFlattening):
* rendering/RenderView.cpp:
* rendering/RenderView.h:

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

7 years agoUnreviewed gardening. Marking the deferred version of
leviw@chromium.org [Tue, 15 Jan 2013 17:50:55 +0000 (17:50 +0000)]
Unreviewed gardening. Marking the deferred version of
fast/images/zoomed-offset-size.html as slow.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed. Adding Michael Pruett as contributor.
jsbell@chromium.org [Tue, 15 Jan 2013 17:24:04 +0000 (17:24 +0000)]
Unreviewed. Adding Michael Pruett as contributor.

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

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

7 years agoUnreviewed, remove file that was accidentally added to the wrong patch.
vsevik@chromium.org [Tue, 15 Jan 2013 17:13:07 +0000 (17:13 +0000)]
Unreviewed, remove file that was accidentally added to the wrong patch.

* inspector/front-end/FileSystemWorkspaceProvider.js: Removed.

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

7 years ago[Chromium] Incorrect opaque region tracking for PlatformContextSkia::drawRRect
fmalita@chromium.org [Tue, 15 Jan 2013 16:57:55 +0000 (16:57 +0000)]
[Chromium] Incorrect opaque region tracking for PlatformContextSkia::drawRRect
https://bugs.webkit.org/show_bug.cgi?id=106898

Reviewed by Stephen White.

Source/WebCore:

Since drawRRect() doesn't cover the whole bounding rect, it needs to pass a didDrawBounded
notification down to the opaque region tracker (instead of didDrawRect as it currently
does).

Test: platform/chromium/compositing/rounded-corners.html

* platform/graphics/skia/PlatformContextSkia.h:
(WebCore::PlatformContextSkia::drawRRect):

Source/WebKit/chromium:

* tests/PlatformContextSkiaTest.cpp:
(WebCore::TEST):
(WebCore):

LayoutTests:

* platform/chromium-linux/platform/chromium/compositing/rounded-corners-expected.png: Added.
* platform/chromium-linux/platform/chromium/compositing/rounded-corners-expected.txt: Added.
* platform/chromium/TestExpectations:
* platform/chromium/compositing/rounded-corners.html: Added.

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

7 years agoUnreviewed. Update my email addresses.
victor@rosedu.org [Tue, 15 Jan 2013 16:35:41 +0000 (16:35 +0000)]
Unreviewed. Update my email addresses.

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

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

7 years ago[GTK] Waiting on the gdb process will lead to deadlock
zandobersek@gmail.com [Tue, 15 Jan 2013 16:03:37 +0000 (16:03 +0000)]
[GTK] Waiting on the gdb process will lead to deadlock
https://bugs.webkit.org/show_bug.cgi?id=106906

Reviewed by Philippe Normand.

Use communicate() rather than wait() on the Popen object that's running the gdb
command. This avoids the deadlock that occurs on the GTK builders.

* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort._get_gdb_output):

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

7 years ago[Qt] WebGL does not require accelerated compositing
allan.jensen@digia.com [Tue, 15 Jan 2013 16:01:56 +0000 (16:01 +0000)]
[Qt] WebGL does not require accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=106892

Reviewed by Jocelyn Turcotte.

Allow the creation of WebGL canvas even when accelerated compositing is not enabled.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):

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

7 years agoUnreviewed failing test skip.
vsevik@chromium.org [Tue, 15 Jan 2013 15:57:41 +0000 (15:57 +0000)]
Unreviewed failing test skip.
https://bugs.webkit.org/show_bug.cgi?id=106883

* platform/efl/TestExpectations:

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

7 years agoWeb Inspector: refactor DefaultTextEditor's paintLine method
commit-queue@webkit.org [Tue, 15 Jan 2013 15:50:11 +0000 (15:50 +0000)]
Web Inspector: refactor DefaultTextEditor's paintLine method
https://bugs.webkit.org/show_bug.cgi?id=106893

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-15
Reviewed by Pavel Feldman.

Move render ranges functionality out of paintLine method into separate subroutine.

No new tests: no change in behaviour.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype._renderRanges): Added.
(WebInspector.TextEditorMainPanel.prototype._paintLine):
(WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):

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

7 years agodisplay:inline's hover behavior is not applied to ::before and ::after pseudo elements
commit-queue@webkit.org [Tue, 15 Jan 2013 15:42:55 +0000 (15:42 +0000)]
display:inline's hover behavior is not applied to ::before and ::after pseudo elements
https://bugs.webkit.org/show_bug.cgi?id=91723

Patch by Elliott Sprehn <esprehn@gmail.com> on 2013-01-15
Reviewed by Eric Seidel.

Source/WebCore:

When hovering over the anonymous text renderers inside :before and :after
we would correctly detect a hit in InlineTextBox::nodeAtPoint, but would
then fail to set the correct node for the hit test because in
RenderObject::updateHitTestResult node() is null. Instead we should walk
up the render tree to the PseudoElement and treat it as if we hit that.

Test: fast/css-generated-content/hover-inline.html

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

LayoutTests:

Add a test that hovering generated content inside an inline element causes
the element to become hovered.

* fast/css-generated-content/hover-inline-expected.txt: Added.
* fast/css-generated-content/hover-inline.html: Added.

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

7 years agoGraphicsSurface: Canvas with WebGL content is painted off by one pixel
zeno.albisser@digia.com [Tue, 15 Jan 2013 15:41:34 +0000 (15:41 +0000)]
GraphicsSurface: Canvas with WebGL content is painted off by one pixel
https://bugs.webkit.org/show_bug.cgi?id=106446

When painting to TextureMapper the provided targetRect is in contents
coordinate system. This leads to an off by one pixel error when painting
outlines of 1px.
This needs to be taken into account in the transformation matrix
and in the TextureMapperGL::drawTexture call.

Test: fast/canvas/webgl/webgl-composite-modes.html

Reviewed by Noam Rosenthal.

* platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurface::platformPaintToTextureMapper):
* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
(WebCore::GraphicsSurface::platformPaintToTextureMapper):
* platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
(WebCore::GraphicsSurface::platformPaintToTextureMapper):

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

7 years ago[Chromium] media/track/track-css-cue-lifetime.html Win7 dbg times out since r139562
commit-queue@webkit.org [Tue, 15 Jan 2013 15:12:11 +0000 (15:12 +0000)]
[Chromium] media/track/track-css-cue-lifetime.html Win7 dbg times out since r139562
https://bugs.webkit.org/show_bug.cgi?id=106853

Patch by Dima Gorbik <dgorbik@apple.com> on 2013-01-15
Reviewed by Eric Carlson.

The amount of seeks may be reduced significantly since they may be slow.

* media/track/track-css-cue-lifetime-expected.txt:
* media/track/track-css-cue-lifetime.html:

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

7 years ago[GTK] Limit the number of frames printed out when backtracing with gdb
zandobersek@gmail.com [Tue, 15 Jan 2013 15:10:14 +0000 (15:10 +0000)]
[GTK] Limit the number of frames printed out when backtracing with gdb
https://bugs.webkit.org/show_bug.cgi?id=106901

Reviewed by Philippe Normand.

Printing an unlimited number of frames when dumping the gdb backtracing
output can cause timeouts in the builders. This patch limits the number
of frames that are printed out to 1024.

* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort._get_gdb_output):

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

7 years ago[V8] Make an Isolate parameter mandatory in SerializedScriptValue methods
haraken@chromium.org [Tue, 15 Jan 2013 13:49:57 +0000 (13:49 +0000)]
[V8] Make an Isolate parameter mandatory in SerializedScriptValue methods
https://bugs.webkit.org/show_bug.cgi?id=106800

Reviewed by Adam Barth.

SerializedScriptValue methods are used by both V8 bindings
and WebCore. So they should support both an Isolate-version
method and an non-Isolate version method.

There are two ways to accomplish that:

[1] Use an optional Isolate parameter.

[2] Implement two versions and delegate the non-Isolate
version method to the Isolate version method.

I would prefer the approach [2], because I'd like to statically
make sure that we never pass a 0 Isolate. If we take the approach
[1], we need to insert ASSERT(isolate) here and there.

This patch implements the approach [2].

No tests. No change in behavior.

* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::create):
(WebCore):
(WebCore::SerializedScriptValue::nullValue):
(WebCore::SerializedScriptValue::undefinedValue):
(WebCore::SerializedScriptValue::booleanValue):
(WebCore::SerializedScriptValue::numberValue):
(WebCore::SerializedScriptValue::SerializedScriptValue):
* bindings/v8/SerializedScriptValue.h:
(SerializedScriptValue):

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

7 years ago[CSS] Rename the enum, from "ETextAlignLast" to "TextAlignLast"
commit-queue@webkit.org [Tue, 15 Jan 2013 13:31:49 +0000 (13:31 +0000)]
[CSS] Rename the enum, from "ETextAlignLast" to "TextAlignLast"
https://bugs.webkit.org/show_bug.cgi?id=106887

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2013-01-15
Reviewed by Alexis Menard.

No new tests are added since there is no behavior changes.

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextAlignLast):
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData):

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

7 years agoMediaStream API: Fixing crashing bug in MediaStream
tommyw@google.com [Tue, 15 Jan 2013 10:45:04 +0000 (10:45 +0000)]
MediaStream API: Fixing crashing bug in MediaStream
https://bugs.webkit.org/show_bug.cgi?id=106886

Reviewed by Eric Seidel.

Source/WebCore:

Fixing crashing bug during destruction.

No new tests needed.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::contextDestroyed):

LayoutTests:

Removing obsolete exception.

* platform/chromium/TestExpectations:

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

7 years ago[Qt][CSS Shaders] Make custom filter render in Wk1 mode
allan.jensen@digia.com [Tue, 15 Jan 2013 10:01:57 +0000 (10:01 +0000)]
[Qt][CSS Shaders] Make custom filter render in Wk1 mode
https://bugs.webkit.org/show_bug.cgi?id=101532

Reviewed by Noam Rosenthal.

Handle ValidatedCustomFilterOperations which are used by WebKit1. To keep the cache of compiled programs working,
the cache has been updated to use CustomFilterProgramInfo as a hash key. CustomFilterProgramInfo is an existing
class specifically designed for this purpose.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::getPassesRequiredForFilter):
(WebCore::TextureMapperGL::removeCachedCustomFilterProgram):
(WebCore::TextureMapperGL::drawUsingCustomFilter):
(WebCore::BitmapTextureGL::applyFilters):
* platform/graphics/texmap/TextureMapperGL.h:
(TextureMapperGL):

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

7 years ago[Qt] Gardening
ossy@webkit.org [Tue, 15 Jan 2013 09:51:00 +0000 (09:51 +0000)]
[Qt] Gardening

Skip failing tests after r139609.
https://bugs.webkit.org/show_bug.cgi?id=104909

Skip failing inspector/editor/text-editor-formatter.html test.
https://bugs.webkit.org/show_bug.cgi?id=106883

Patch by Szilard Ledan <szledan@inf.u-szeged.hu> on 2013-01-15
Reviewed by Csaba Osztrogonác.

* platform/qt/TestExpectations:
* platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png: Added after r139686.
* platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Added after r139686.
* platform/qt/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png: Added after r139686.
* platform/qt/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Added after r139686.

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

7 years agoWeb Inspector: [Canvas] introduce CallArgument type into the protocol
aandrey@chromium.org [Tue, 15 Jan 2013 09:46:29 +0000 (09:46 +0000)]
Web Inspector: [Canvas] introduce CallArgument type into the protocol
https://bugs.webkit.org/show_bug.cgi?id=106640

Reviewed by Yury Semikhatsky.

Source/WebCore:

CallArgument type abstraction to describe arguments of a canvas context call.
Drive-by: Introduce a CanvasContext to fix the wrong contextId value in the protocol.
The contextId should point to the Resource that represents a context (2D or 3D canvas).

* inspector/InjectedScriptCanvasModuleSource.js:
(.):
* inspector/Inspector.json:
* inspector/front-end/CanvasProfileView.js:

LayoutTests:

Replaced hacky stub with actual Cache implementation.

* inspector/profiler/webgl/webgl-profiler-get-error.html:

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

7 years agoAllow zero values as results from the runFunction.
dominicc@chromium.org [Tue, 15 Jan 2013 09:42:25 +0000 (09:42 +0000)]
Allow zero values as results from the runFunction.
https://bugs.webkit.org/show_bug.cgi?id=102500

Reviewed by Kentaro Hara.

DOM/DOMWalk.js fails on the Chromium Win perf bot because one or
more parts of the test usually return zero at some point.

* resources/runner.js: Accept merely non-negative results.

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

7 years ago[Qt] Fix ImageDiff's image format conversion
abecsi@webkit.org [Tue, 15 Jan 2013 09:33:54 +0000 (09:33 +0000)]
[Qt] Fix ImageDiff's image format conversion
https://bugs.webkit.org/show_bug.cgi?id=106880

Reviewed by Csaba Osztrogonác.

Besides actually doing the conversion this also silences the suspicious warning:
"ignoring return value of function declared with warn_unused_result attribute".

* ImageDiff/qt/ImageDiff.cpp:
(main): QImage::convertToFormat, contrary to the assumed behaviour, returns a
copy of the image in the given format and does not alter the image itself.

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

7 years agoWeb Inspector: Support inspector file system access with isolated file system through...
vsevik@chromium.org [Tue, 15 Jan 2013 09:06:01 +0000 (09:06 +0000)]
Web Inspector: Support inspector file system access with isolated file system through InspectorFrontendHost.
https://bugs.webkit.org/show_bug.cgi?id=105727

Reviewed by Pavel Feldman.

Source/WebCore:

File system access through isolated file system is implemented in inspector.
File system access requests are sent through InspectorFrontendHost.
Introduced IsolatedFileSystemModel encapsulating file system access logic.
Introduced FileSystemMapping that provides mapping between workspace uris and file system pathes.
DOMFileSystem.createIsolatedFileSystem modified to accept optional registeredName parameter.

* Modules/filesystem/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::createIsolatedFileSystem):
* Modules/filesystem/DOMFileSystem.h:
(DOMFileSystem):
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InspectorFrontendClient.h:
(InspectorFrontendClient):
* inspector/InspectorFrontendClientLocal.h:
(WebCore::InspectorFrontendClientLocal::supportsFileSystems):
(WebCore::InspectorFrontendClientLocal::requestFileSystems):
(WebCore::InspectorFrontendClientLocal::addFileSystem):
(WebCore::InspectorFrontendClientLocal::removeFileSystem):
(InspectorFrontendClientLocal):
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::supportsFileSystems):
(WebCore):
(WebCore::InspectorFrontendHost::requestFileSystems):
(WebCore::InspectorFrontendHost::addFileSystem):
(WebCore::InspectorFrontendHost::removeFileSystem):
(WebCore::InspectorFrontendHost::isolatedFileSystem):
* inspector/InspectorFrontendHost.h:
(WebCore):
(InspectorFrontendHost):
* inspector/InspectorFrontendHost.idl:
* inspector/compile-front-end.py:
* inspector/front-end/FileSystemMapping.js: Added.
* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI.fileSystemsLoaded):
(InspectorFrontendAPI.fileSystemRemoved):
(InspectorFrontendAPI.fileSystemAdded):
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.supportsFileSystems):
(.WebInspector.InspectorFrontendHostStub.prototype.requestFileSystems):
(.WebInspector.InspectorFrontendHostStub.prototype.addFileSystem):
(.WebInspector.InspectorFrontendHostStub.prototype.removeFileSystem):
(.WebInspector.InspectorFrontendHostStub.prototype.isolatedFileSystem):
* inspector/front-end/IsolatedFileSystemModel.js: Added.
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
(DOMFileSystem):
(InspectorFrontendHostAPI.prototype.supportsFileSystems):
(InspectorFrontendHostAPI.prototype.requestFileSystems):
(InspectorFrontendHostAPI.prototype.addFileSystem):
(InspectorFrontendHostAPI.prototype.removeFileSystem):
(InspectorFrontendHostAPI.prototype.isolatedFileSystem):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:

Source/WebKit/chromium:

File system access methods plumbing made for Chromium.

* public/WebDevToolsFrontendClient.h:
(WebKit::WebDevToolsFrontendClient::requestFileSystems):
(WebKit::WebDevToolsFrontendClient::addFileSystem):
(WebKit::WebDevToolsFrontendClient::removeFileSystem):
(WebDevToolsFrontendClient):
* src/InspectorFrontendClientImpl.cpp:
(WebKit::InspectorFrontendClientImpl::supportsFileSystems):
(WebKit):
(WebKit::InspectorFrontendClientImpl::requestFileSystems):
(WebKit::InspectorFrontendClientImpl::addFileSystem):
(WebKit::InspectorFrontendClientImpl::removeFileSystem):
* src/InspectorFrontendClientImpl.h:
(InspectorFrontendClientImpl):

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

7 years ago[EFL][WebGL] Add error handling to carefully manage Window backing pixmaps.
commit-queue@webkit.org [Tue, 15 Jan 2013 08:56:42 +0000 (08:56 +0000)]
[EFL][WebGL] Add error handling to carefully manage Window backing pixmaps.
https://bugs.webkit.org/show_bug.cgi?id=106582

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-01-15
Reviewed by Kenneth Rohde Christiansen.

We use XCompositeNameWindowPixmap to create a pixmap that serves as a reference to
the off-screen storage for a Window Handle. We expect the Window to be valid and
the created glx pixmap to be a valid drawable. This may not be true always.
This patch adds support for X Error checks and handles the generated errors.

Covered by existing WebGL layout tests.

* platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore):
(WebCore::handleXPixmapCreationError):
(ScopedXPixmapCreationErrorHandler):
(WebCore::ScopedXPixmapCreationErrorHandler::ScopedXPixmapCreationErrorHandler):
(WebCore::ScopedXPixmapCreationErrorHandler::~ScopedXPixmapCreationErrorHandler):
(WebCore::ScopedXPixmapCreationErrorHandler::isValidOperation):
Helper Class to catch XErrors.

(WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::createPixmap): Added support to check and handle generated XErrors.
(WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):
(WebCore::GraphicsSurfacePrivate::clear): Destroys GL Resources.
(GraphicsSurfacePrivate):

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

7 years ago[EFL] [WebGL] Minor cleanup in PlatformContext.
commit-queue@webkit.org [Tue, 15 Jan 2013 08:54:59 +0000 (08:54 +0000)]
[EFL] [WebGL] Minor cleanup in PlatformContext.
https://bugs.webkit.org/show_bug.cgi?id=106758

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-01-15
Reviewed by Kenneth Rohde Christiansen.

We currently have different implementations of CurrentContextWrapper for EGL and GLX.
This patch cleans up the code to use same implementation for both the backends.

* platform/graphics/opengl/GLPlatformContext.cpp:
(GLCurrentContextWrapper):
(WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
(WebCore::GLCurrentContextWrapper::~GLCurrentContextWrapper):

Common implementation for both EGL and GLX.
(WebCore::createOffScreenContext):
(WebCore::GLPlatformContext::createContext):
* platform/graphics/surfaces/egl/EGLContext.cpp:
* platform/graphics/surfaces/egl/EGLContext.h:
* platform/graphics/surfaces/glx/GLXContext.h:

Removed code related to CurrentContextWrapper.

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

7 years agoplatform/mac/accessibility/progressbar.html fails on Mac WK1 and WK2
rniwa@webkit.org [Tue, 15 Jan 2013 08:30:34 +0000 (08:30 +0000)]
platform/mac/accessibility/progressbar.html fails on Mac WK1 and WK2
https://bugs.webkit.org/show_bug.cgi?id=106850

Reviewed by Chris Fleizach.

The bug was caused by some callers of supportsFocus directly calling that of Node.
Fixed the bug by calling HTMLElement's so that the virtual function on Element gets
called as needed.

* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::supportsFocus):
* html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::supportsFocus):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::supportsFocus):

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

7 years ago[chromium] move remaining methods that just set a boolean flag to TestRunner library
jochen@chromium.org [Tue, 15 Jan 2013 08:19:57 +0000 (08:19 +0000)]
[chromium] move remaining methods that just set a boolean flag to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=106823

Reviewed by Darin Fisher.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::shouldDumpBackForwardList):
(WebTestRunner::WebTestRunner::deferMainResourceDataLoad):
(WebTestRunner::WebTestRunner::shouldDumpSelectionRect):
(WebTestRunner::WebTestRunner::testRepaint):
(WebTestRunner::WebTestRunner::sweepHorizontally):
(WebTestRunner::WebTestRunner::isPrinting):
(WebTestRunner::WebTestRunner::shouldStayOnPageAfterHandlingBeforeUnload):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldDumpBackForwardList):
(WebTestRunner):
(WebTestRunner::TestRunner::deferMainResourceDataLoad):
(WebTestRunner::TestRunner::shouldDumpSelectionRect):
(WebTestRunner::TestRunner::testRepaint):
(WebTestRunner::TestRunner::sweepHorizontally):
(WebTestRunner::TestRunner::isPrinting):
(WebTestRunner::TestRunner::shouldStayOnPageAfterHandlingBeforeUnload):
(WebTestRunner::TestRunner::dumpBackForwardList):
(WebTestRunner::TestRunner::setDeferMainResourceDataLoad):
(WebTestRunner::TestRunner::dumpSelectionRect):
(WebTestRunner::TestRunner::repaintSweepHorizontally):
(WebTestRunner::TestRunner::setPrinting):
(WebTestRunner::TestRunner::setShouldStayOnPageAfterHandlingBeforeUnload):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Tue, 15 Jan 2013 07:20:13 +0000 (07:20 +0000)]
[Chromium] Unreviewed gardening.

Roll Chromium to r176801.

* DEPS: Rollin' on the river.

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Tue, 15 Jan 2013 06:53:34 +0000 (06:53 +0000)]
[Chromium] Unreviewed gardening.

Add XP image expectations for this test; see
<https://bugs.webkit.org/show_bug.cgi?id=106875>:

svg/dynamic-updates/SVGFESpecularLightingElement-remove-lightSource.html

* platform/chromium/TestExpectations:

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

7 years agoRemove nonexistent file in ANGLE Xcode project
ddkilzer@apple.com [Tue, 15 Jan 2013 06:15:57 +0000 (06:15 +0000)]
Remove nonexistent file in ANGLE Xcode project

* ANGLE.xcodeproj/project.pbxproj: Remove references to
ossource_nspr.cpp which was removed in r139665.

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Tue, 15 Jan 2013 05:29:36 +0000 (05:29 +0000)]
[Chromium] Unreviewed gardening.

Add Lion Debug crash expectations for this test; see
<https://bugs.webkit.org/show_bug.cgi?id=106869>:

fast/mediastream/RTCPeerConnection-events.html

* platform/chromium/TestExpectations:

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

7 years agonrwt: stub out show_results_html for mock ports
dpranke@chromium.org [Tue, 15 Jan 2013 05:25:56 +0000 (05:25 +0000)]
nrwt: stub out show_results_html for mock ports
https://bugs.webkit.org/show_bug.cgi?id=106848

Reviewed by Ojan Vafai.

We were accidentally using the underlying ports'
show_results_html_file() implementation, which would, unsurprisingly,
fail in many cases (e.g., running mock-efl on the mac).

No test added since we don't generally add tests for the mock
implementation.

* Scripts/webkitpy/layout_tests/port/mock_drt.py:
(MockDRTPort.show_results_html_file):

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