WebKit-https.git
7 years agoUnreviewed WK2 buildfix after r142518.
ossy@webkit.org [Mon, 11 Feb 2013 23:42:27 +0000 (23:42 +0000)]
Unreviewed WK2 buildfix after r142518.

* DerivedSources.pri:

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

7 years ago[HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
rafaelw@chromium.org [Mon, 11 Feb 2013 23:34:55 +0000 (23:34 +0000)]
[HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
https://bugs.webkit.org/show_bug.cgi?id=109338

Reviewed by Adam Barth.

Source/WebCore:

This patch adds the logic to clear the stack of open elements back to the first <template> when EOF
is hit. This allows a <body> to be generated if the initial <template> was opened inside of <head>.

Tests added to html5lib.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore):
(WebCore::HTMLTreeBuilder::popAllTemplates):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processEndOfFile):
* html/parser/HTMLTreeBuilder.h:
(HTMLTreeBuilder):

LayoutTests:

* html5lib/resources/template.dat:

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

7 years agoNonStringCell and Object are practically the same thing for the purpose of speculation
fpizlo@apple.com [Mon, 11 Feb 2013 23:34:05 +0000 (23:34 +0000)]
NonStringCell and Object are practically the same thing for the purpose of speculation
https://bugs.webkit.org/show_bug.cgi?id=109492

Reviewed by Mark Hahnenberg.

Removed isNonStringCellSpeculation, and made all callers use isObjectSpeculation.

Changed isNonStringCellOrOtherSpeculation to be isObjectOrOtherSpeculation.

I believe this is correct because even weird object types like JSNotAnObject end up
being "objects" from the standpoint of our typesystem. Anyway, the assumption that
"is cell but not a string" equates to "object" is an assumption that is already made
in other places in the system so there's little value in being paranoid about it.

* bytecode/SpeculatedType.h:
(JSC::isObjectSpeculation):
(JSC::isObjectOrOtherSpeculation):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGNode.h:
(Node):
(JSC::DFG::Node::shouldSpeculateObjectOrOther):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

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

7 years agoRenderText::isAllCollapsibleWhitespace() shouldn't upconvert string to 16-bit.
akling@apple.com [Mon, 11 Feb 2013 23:28:41 +0000 (23:28 +0000)]
RenderText::isAllCollapsibleWhitespace() shouldn't upconvert string to 16-bit.
<http://webkit.org/b/109354>

Reviewed by Eric Seidel.

254 KB progression on Membuster3.

* rendering/RenderText.cpp:
(WebCore::RenderText::isAllCollapsibleWhitespace):

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

7 years agoFix code style violations in GIFImageReader.{cc|h}
hclam@chromium.org [Mon, 11 Feb 2013 23:21:32 +0000 (23:21 +0000)]
Fix code style violations in GIFImageReader.{cc|h}
https://bugs.webkit.org/show_bug.cgi?id=109007

Reviewed by Stephen White.

This is just a style clean up for GIFImageReader.{cc|h}.

There's going to be a lot changes in these two files and style check
will add a lot of noise in later reviews. Fix style problems first.

There is no change in logic at all. Just style fixes.

No new tests.

* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::initFrameBuffer):
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::outputRow):
(GIFImageReader::doLZW):
(GIFImageReader::read):
* platform/image-decoders/gif/GIFImageReader.h:
(GIFFrameContext):
(GIFFrameContext::GIFFrameContext):
(GIFFrameContext::~GIFFrameContext):
(GIFImageReader::GIFImageReader):
(GIFImageReader::~GIFImageReader):
(GIFImageReader):
(GIFImageReader::imagesCount):
(GIFImageReader::loopCount):
(GIFImageReader::globalColormap):
(GIFImageReader::globalColormapSize):
(GIFImageReader::frameContext):

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

7 years ago[CSS Exclusions] Handle shape-outside changing a float's overhang behavior
commit-queue@webkit.org [Mon, 11 Feb 2013 23:17:12 +0000 (23:17 +0000)]
[CSS Exclusions] Handle shape-outside changing a float's overhang behavior
https://bugs.webkit.org/show_bug.cgi?id=106927

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-02-11
Reviewed by Julien Chaffraix.

Source/WebCore:

When the position on a shape outside causes a float to spill out into
another block than it's container, it was not being drawn correctly. It
became apparent that in order to fix this properly, the approach to
positioning shape outsides and floats needed to be changed. The new
approach also fixes some other outstanding issues, like hit detection.

When a float has a shape outside, inline and float layout happens
using the exclusion shape bounds instead of the float's box.  The
effect of this is that the float itself no longer has any effect on
layout, both with respect to positioning of the float's siblings as
well as positioning the float's box. This means that when the float is
positioned, it is the shape's box that must obey the positioning rules
for floats. When the shape is given a position relative to the float's
box, the rules for float positioning determine where the shape sits
in the parent, causing the float's box to be offset by the position of
the shape. Since the float's box does not affect layout (due to the
shape), this is similar to relative positioning in that the offset is
a paint time occurrence.

So the new approach is to implement positioning of shape outside on
floats similar to how relative positioning is implemented, using a
RenderLayer.

This is also tested by the existing tests for shape outside on floats positioning.

Test: fast/exclusions/shape-outside-floats/shape-outside-floats-overhang.html

* rendering/ExclusionShapeOutsideInfo.h:
(WebCore::ExclusionShapeOutsideInfo::shapeLogicalOffset): Utility method to create a LayoutSize for computing the layer offset.
(ExclusionShapeOutsideInfo):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState): Check for floats with shape outside as well as in flow positioning.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::flipFloatForWritingModeForChild): Remove old positioning implementation.
(WebCore::RenderBlock::paintFloats): Remove old positioning implementation.
(WebCore::RenderBlock::blockSelectionGaps): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderBlock::positionNewFloats): Remove old positioning implementation.
(WebCore::RenderBlock::addOverhangingFloats): Remove FIXME.
(WebCore::positionForPointRespectingEditingBoundaries): Check for floats with shape outside as well as in flow positioning.
* rendering/RenderBlock.h:
(RenderBlock): Remove old positioning implementation.
(WebCore::RenderBlock::xPositionForFloatIncludingMargin): Remove old positioning implementation.
(WebCore::RenderBlock::yPositionForFloatIncludingMargin): Remove old positioning implementation.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderBox::offsetFromContainer): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderBox::computeRectForRepaint): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderBox::layoutOverflowRectForPropagation): Check for floats with shape outside as well as in flow positioning.
* rendering/RenderBox.h: Make floats with shape outside get a layer.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintOffset): Method to return in flow
    positioning offset + offset from shape outside on floats.
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject): Add paintOffset method.
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderInline::computeRectForRepaint): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderInline::mapLocalToContainer): Check for floats with shape outside as well as in flow positioning.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderLayer::calculateClipRects): Check for floats with shape outside as well as in flow positioning.
* rendering/RenderLayer.h:
(WebCore::RenderLayer::paintOffset): Rename offsetForInFlowPosition to reflect that it's not just for
    in flow positioning, it also reflects shape outside position on floats.
(RenderLayer):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasPaintOffset): Determines if this object is in flow positioined or is a float with shape outside.
* rendering/style/RenderStyle.h: Add hasPaintOffset method, analagous to method with same name on RenderObject.

LayoutTests:

This is also tested by the existing tests for shape outside on floats positioning.

* fast/exclusions/shape-outside-floats/shape-outside-floats-overhang-expected.html: Added.
* fast/exclusions/shape-outside-floats/shape-outside-floats-overhang.html: Added.

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

7 years agoFrameView::setScrollPosition should clamp scroll position before handing it to
timothy_horton@apple.com [Mon, 11 Feb 2013 23:13:40 +0000 (23:13 +0000)]
FrameView::setScrollPosition should clamp scroll position before handing it to
ScrollingCoordinator instead of depending on ScrollView to do this
https://bugs.webkit.org/show_bug.cgi?id=109497
<rdar://problem/12631789>

Reviewed by Simon Fraser.

Clamp scroll position before handing it to ScrollingCoordinator. Also, like ScrollView does,
bail out if we've already scrolled to the clamped scroll position.

Test: platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls.html

* page/FrameView.cpp:
(WebCore::FrameView::setScrollPosition):

Adjust some test results which previously expected out-of-bounds scrolling to happen.

Add a test that ensures that out-of-bounds scrolling doesn't happen.

* platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls.html: Added.
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt:
* platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:

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

7 years agoThe threaded HTML parser should pass all the fast/parser tests
abarth@webkit.org [Mon, 11 Feb 2013 23:11:24 +0000 (23:11 +0000)]
The threaded HTML parser should pass all the fast/parser tests
https://bugs.webkit.org/show_bug.cgi?id=109486

Reviewed by Tony Gentilcore.

Source/WebCore:

This patch fixes the last two test failures in fast/parser, which were
crashes caused by not having a tokenizer when document.close() was
called. (The tokenizer is created lazily by calls to document.write,
which might not happen before document.close).

fast/parser/document-close-iframe-load.html
fast/parser/document-close-nested-iframe-load.html

In addition, I've added a new test to make sure we flush the tokenizer
properly in these cases.

Test: fast/parser/document-close-iframe-load-partial-entity.html

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::prepareToStopParsing):
(WebCore::HTMLDocumentParser::pumpTokenizer):

LayoutTests:

* fast/parser/document-close-iframe-load-partial-entity-expected.txt: Added.
* fast/parser/document-close-iframe-load-partial-entity.html: Added.

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

7 years ago[texmap] Implement frames-per-second debug counter
bruno.abinader@basyskom.com [Mon, 11 Feb 2013 23:07:43 +0000 (23:07 +0000)]
[texmap] Implement frames-per-second debug counter
https://bugs.webkit.org/show_bug.cgi?id=107942

Reviewed by Noam Rosenthal.

Adds FPS counter via WEBKIT_SHOW_FPS=<interval> environment variable,
where <interval> is the period in seconds (i.e. =1.5) between FPS
updates on screen. It is measured by counting
CoordinatedGraphicsScene::paintTo* calls and is painted using
drawRepaintCounter() after TextureMapperLayer has finished painting its
contents.

Visual debugging feature, no need for new tests.

* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
(WebCore::CoordinatedGraphicsScene::updateFPS):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

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

7 years agoUnreviewed Chromium rebaselining after r142500.
jchaffraix@webkit.org [Mon, 11 Feb 2013 23:00:43 +0000 (23:00 +0000)]
Unreviewed Chromium rebaselining after r142500.

* platform/chromium-linux/fast/repaint/selection-after-remove-expected.png:
* platform/chromium-mac-lion/fast/repaint/selection-after-remove-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/selection-after-remove-expected.png:
* platform/chromium-mac/fast/repaint/selection-after-remove-expected.png:
* platform/chromium-win/fast/repaint/selection-after-remove-expected.png:
Slight painting regression that brings us back to pre-r132591 baselines.

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

7 years agoFold MarkupTokenBase into HTMLToken now that it has no other subclasses
eric@webkit.org [Mon, 11 Feb 2013 23:00:36 +0000 (23:00 +0000)]
Fold MarkupTokenBase into HTMLToken now that it has no other subclasses
https://bugs.webkit.org/show_bug.cgi?id=109483

Reviewed by Adam Barth.

This deletes an epic amount of template yuck, as well as removes
a vtable !?! from HTMLToken.

This paves the way for further cleanup of HTMLToken now that we
can see the whole object at once.
We'll also probably re-create an HTMLToken.cpp again, now that we're
free from the chains of template nonsense.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/HTMLToken.h:
(WebCore::findAttributeInVector):
(WebCore):
(HTMLToken):
(Attribute):
(Range):
(WebCore::HTMLToken::HTMLToken):
(WebCore::HTMLToken::clear):
(WebCore::HTMLToken::isUninitialized):
(WebCore::HTMLToken::type):
(WebCore::HTMLToken::makeEndOfFile):
(WebCore::HTMLToken::startIndex):
(WebCore::HTMLToken::endIndex):
(WebCore::HTMLToken::setBaseOffset):
(WebCore::HTMLToken::end):
(WebCore::HTMLToken::data):
(WebCore::HTMLToken::isAll8BitData):
(WebCore::HTMLToken::name):
(WebCore::HTMLToken::appendToName):
(WebCore::HTMLToken::nameString):
(WebCore::HTMLToken::selfClosing):
(WebCore::HTMLToken::setSelfClosing):
(WebCore::HTMLToken::beginStartTag):
(WebCore::HTMLToken::beginEndTag):
(WebCore::HTMLToken::addNewAttribute):
(WebCore::HTMLToken::beginAttributeName):
(WebCore::HTMLToken::endAttributeName):
(WebCore::HTMLToken::beginAttributeValue):
(WebCore::HTMLToken::endAttributeValue):
(WebCore::HTMLToken::appendToAttributeName):
(WebCore::HTMLToken::appendToAttributeValue):
(WebCore::HTMLToken::attributes):
(WebCore::HTMLToken::eraseValueOfAttribute):
(WebCore::HTMLToken::ensureIsCharacterToken):
(WebCore::HTMLToken::characters):
(WebCore::HTMLToken::appendToCharacter):
(WebCore::HTMLToken::comment):
(WebCore::HTMLToken::beginComment):
(WebCore::HTMLToken::appendToComment):
(WebCore::HTMLToken::eraseCharacters):
* html/parser/HTMLTokenTypes.h:
* html/parser/XSSAuditor.h:
* xml/parser/MarkupTokenBase.h: Removed.

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

7 years agoPluginProcess should quit immediately if idle in response to low-memory notifications
barraclough@apple.com [Mon, 11 Feb 2013 22:58:03 +0000 (22:58 +0000)]
PluginProcess should quit immediately if idle in response to low-memory notifications
https://bugs.webkit.org/show_bug.cgi?id=109103
<rdar://problem/12679827>

Reviewed by Brady Eidson.

Source/WebCore:

This patch allows a process to set a custom callback for low memory warnings
(defaulting to the current behaviour, as implemented in releaseMemory).

* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::MemoryPressureHandler):
    - Initialize m_lowMemoryHandler to releaseMemory.
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):
    - Cleaned up spacing.
(WebCore::MemoryPressureHandler::releaseMemory):
    - Added null implementation for non-Mac builds.
* platform/MemoryPressureHandler.h:
(WebCore::MemoryPressureHandler::setLowMemoryHandler):
    - Added method to set m_lowMemoryHandler.
* platform/mac/MemoryPressureHandlerMac.mm:
(WebCore::MemoryPressureHandler::respondToMemoryPressure):
    - Changed to call releaseMemory via m_lowMemoryHandler.

Source/WebKit2:

PluginProcess now installs a MemoryPressureHandler for the process, providing
a custom callback which will call terminate if appropriate (if the plugin is not
currently in use).

* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::lowMemoryHandler):
    - Custom callback to terminate if appropriate.
(WebKit::PluginProcess::initializeProcess):
    - Install the MemoryPressureHandler.
(WebKit::PluginProcess::shouldTerminate):
    - This method now also needs to be callable in situations where it might return false.
* PluginProcess/PluginProcess.h:
(PluginProcess):
    - Added declaration for lowMemoryHandler.

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

7 years agoREGRESSION (r133807): Sticky-position review bar on bugzilla review page is jumpy
simon.fraser@apple.com [Mon, 11 Feb 2013 22:57:36 +0000 (22:57 +0000)]
REGRESSION (r133807): Sticky-position review bar on bugzilla review page is jumpy
https://bugs.webkit.org/show_bug.cgi?id=104276
<rdar://problem/12827187>

Reviewed by Tim Horton.

When committing new scrolling tree state, if the root node has a scroll
position update, we would handle that before updating the state of child
nodes (with possibly new viewport constraints). That would cause incorrect
child layer updates.

Fix by adding a second 'update' phase that happens after child nodes,
and moving the scroll position update into that.

Scrolling tests only dump the state tree, so cannot test the bug.

* page/FrameView.cpp:
(WebCore::FrameView::setScrollPosition): If the scroll position didn't
actually change, don't request a scroll position update from the ScrollingCoordinator.
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateTreeFromStateNode): Keep track of the scrolling node so
that we can call updateAfterChildren() on it.
* page/scrolling/ScrollingTreeNode.h:
(ScrollingTreeNode):
(WebCore::ScrollingTreeNode::updateAfterChildren):
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
* page/scrolling/ScrollingTreeScrollingNode.h:
(ScrollingTreeScrollingNode):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
In the current bug the scrolling tree was scheduled for commit because of a
scroll position request, but if only the viewport constraints change, we also need
to commit the tree.
* page/scrolling/mac/ScrollingTreeFixedNode.h:
(ScrollingTreeFixedNode):
* page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
(ScrollingTreeScrollingNodeMac):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren): Move code here
that updates things that have to happen after children.
* page/scrolling/mac/ScrollingTreeStickyNode.h:
(ScrollingTreeStickyNode):
* page/scrolling/mac/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::updateBeforeChildren):

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

7 years agoBuild fix for Windows after r142509
benjamin@webkit.org [Mon, 11 Feb 2013 22:47:44 +0000 (22:47 +0000)]
Build fix for Windows after r142509

* WebKit.vcproj/WebKitExports.def.in:

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

7 years agoMove the PluginProcessCrashed message to PluginProcessConnectionManager
andersca@apple.com [Mon, 11 Feb 2013 22:40:11 +0000 (22:40 +0000)]
Move the PluginProcessCrashed message to PluginProcessConnectionManager
https://bugs.webkit.org/show_bug.cgi?id=109493

Reviewed by Andreas Kling.

This is in preparation for making PluginProcessConnectionManager a connection queue client.

* DerivedSources.make:
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didClose):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
* WebProcess/Plugins/PluginProcessConnectionManager.h:
(PluginProcessConnectionManager):
* WebProcess/Plugins/PluginProcessConnectionManager.messages.in: Added.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
(WebKit::WebProcess::webResourceLoadScheduler):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/WebProcess.messages.in:

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

7 years agoUnreviewed. Build fix for Win7 Release.
roger_fong@apple.com [Mon, 11 Feb 2013 22:33:19 +0000 (22:33 +0000)]
Unreviewed. Build fix for Win7 Release.
Because of InspectorAllInOne.cpp static globals must be named differently in files included by InspectorAllInOne.
This was the case for UserInitiatedProfileName. Also removed the repeated HeapProfileType definition in
InspectorHeapProfilerAgent.cpp since it wasn't being used anyways.

* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore):
(WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):

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

7 years agoUnreviewed. Rolled Chromium DEPS to r181770.
fmalita@chromium.org [Mon, 11 Feb 2013 22:24:17 +0000 (22:24 +0000)]
Unreviewed.  Rolled Chromium DEPS to r181770.

* DEPS:

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

7 years agoDFG CompareEq(a, null) and CompareStrictEq(a, const) are unsound with respect to...
fpizlo@apple.com [Mon, 11 Feb 2013 22:23:08 +0000 (22:23 +0000)]
DFG CompareEq(a, null) and CompareStrictEq(a, const) are unsound with respect to constant folding
https://bugs.webkit.org/show_bug.cgi?id=109387

Reviewed by Oliver Hunt and Mark Hahnenberg.

Lock in the decision to use a non-speculative constant comparison as early as possible
and don't let the CFA change it by folding constants. This might be a performance
penalty on some really weird code (FWIW, I haven't seen this on benchmarks), but on
the other hand it completely side-steps the unsoundness that the bug speaks of.

Rolling back in after adding 32-bit path.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::isConstantForCompareStrictEq):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStrictEq):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

7 years agoSegmentedString's copy ctor should copy all fields
tonyg@chromium.org [Mon, 11 Feb 2013 22:22:48 +0000 (22:22 +0000)]
SegmentedString's copy ctor should copy all fields
https://bugs.webkit.org/show_bug.cgi?id=109477

Reviewed by Adam Barth.

This fixes http/tests/inspector-enabled/document-write.html (and likely others) for the threaded HTML parser.

No new tests because covered by existing tests.

* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::SegmentedString):

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

7 years agoIndexedDB: database connections don't close after versionchange transaction aborts
jsbell@chromium.org [Mon, 11 Feb 2013 22:13:19 +0000 (22:13 +0000)]
IndexedDB: database connections don't close after versionchange transaction aborts
https://bugs.webkit.org/show_bug.cgi?id=102298

Reviewed by Tony Chang.

Source/WebCore:

Per spec, close the database if the "versionchange" transaction aborts.

Tests: storage/indexeddb/aborted-versionchange-closes.html
       storage/indexeddb/lazy-index-population.html
       storage/objectstore-basics.html

* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::onAbort): Tell the IDBDatabase (connection) to close if
this was a "versionchange" transaction.

LayoutTests:

Added dedicated test, updated tests dependent on buggy behavior.

* storage/indexeddb/aborted-versionchange-closes-expected.txt: Added.
* storage/indexeddb/aborted-versionchange-closes.html: Added.
* storage/indexeddb/lazy-index-population-expected.txt:
* storage/indexeddb/lazy-index-population.html: Remove manual closing.
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics-workers-expected.txt:
* storage/indexeddb/resources/aborted-versionchange-closes.js: Added.
* storage/indexeddb/resources/objectstore-basics.js: Removed dependency on bug.

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

7 years ago[EFL] fast/forms/number/number-l10n-input.html is failing
ch.dumez@sisa.samsung.com [Mon, 11 Feb 2013 21:59:31 +0000 (21:59 +0000)]
[EFL] fast/forms/number/number-l10n-input.html is failing
https://bugs.webkit.org/show_bug.cgi?id=109440

Reviewed by Laszlo Gombos.

Source/WebCore:

Use LocaleICU instead of LocaleNone on EFL port. The EFL
port already depends on ICU library and we get additional
functionality this way.

No new tests, already covered by existing tests.

* CMakeLists.txt:
* PlatformBlackBerry.cmake:
* PlatformEfl.cmake:
* PlatformWinCE.cmake:

LayoutTests:

Unskip fast/forms/number/number-l10n-input.html on EFL port
now that it passes.

* platform/efl/TestExpectations:

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

7 years agoRename Visual Studio solution folders to avoid conflicts with project names
bfulgham@webkit.org [Mon, 11 Feb 2013 21:48:36 +0000 (21:48 +0000)]
Rename Visual Studio solution folders to avoid conflicts with project names
https://bugs.webkit.org/show_bug.cgi?id=109484

Reviewed by Tim Horton.

* WebKit.vcxproj/WebKit.sln: Rename several solution folders (e.g.,
WTF, WebCore, WebKit, JavaScriptCore) so that they do not conflict
with projects using the same name.

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

7 years agoRemove failure expectation now that this test is passing.
abarth@webkit.org [Mon, 11 Feb 2013 21:48:33 +0000 (21:48 +0000)]
Remove failure expectation now that this test is passing.

* platform/chromium/TestExpectations:

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

7 years agoKill TestRunner::setMinimumTimerInterval; implement the feature with InternalSettings
benjamin@webkit.org [Mon, 11 Feb 2013 21:41:01 +0000 (21:41 +0000)]
Kill TestRunner::setMinimumTimerInterval; implement the feature with InternalSettings
https://bugs.webkit.org/show_bug.cgi?id=109349

Reviewed by Sam Weinig.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

Expose setMinimumTimerInterval() and implement the backup/restore to keep
a consistent state between tests.

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setMinimumTimerInterval):
(WebCore):
* testing/InternalSettings.h:
(Backup):
(InternalSettings):
* testing/InternalSettings.idl:

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):

Source/WebKit/mac:

* WebView/WebView.mm:
* WebView/WebViewPrivate.h:

Source/WebKit/qt:

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit2:

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):

Tools:

Get rid of TestRunner's setMinimumTimerInterval and all the related functions.

This also fixes an oddity:
TestRunners were initialized with a minimum timer interval of 10 milliseconds instead
of using the default value. All with the same copy of an outdated comment.

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
* DumpRenderTree/chromium/TestRunner/public/WebPreferences.h:
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp:
(WebTestRunner::WebPreferences::reset):
(WebTestRunner::WebPreferences::applyTo):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::reset):
* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/mac/TestRunnerMac.mm:
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
* DumpRenderTree/qt/TestRunnerQt.cpp:
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunner):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/wx/TestRunnerWx.cpp:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):

LayoutTests:

Update the tests to use InternalSettings.

* fast/dom/timer-increase-min-interval-and-reset-part-1.html:
* fast/dom/timer-increase-min-interval-repeating.html:
* fast/dom/timer-increase-min-interval.html:
* fast/dom/timer-increase-then-decrease-min-interval-repeating.html:
* fast/dom/timer-increase-then-decrease-min-interval.html:

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

7 years agoDFG TypeOf implementation should have its backend code aligned to what the CFA does
fpizlo@apple.com [Mon, 11 Feb 2013 21:39:35 +0000 (21:39 +0000)]
DFG TypeOf implementation should have its backend code aligned to what the CFA does
https://bugs.webkit.org/show_bug.cgi?id=109385

Reviewed by Sam Weinig.

The problem was that if we ended up trying to constant fold, but didn't succeed
because of prediction mismatches, then we would also fail to do filtration.

Rearranged the control flow in the CFA to fix that.

As far as I know, this is asymptomatic - it's sort of OK for the CFA to prove less
things, which is what the bug was.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):

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

7 years agoSource/WebCore: Source/WebCore: Snapshotted plug-in should use shadow root
dino@apple.com [Mon, 11 Feb 2013 21:34:50 +0000 (21:34 +0000)]
Source/WebCore: Source/WebCore: Snapshotted plug-in should use shadow root
https://bugs.webkit.org/show_bug.cgi?id=108284

Reviewed by Simon Fraser.

Take three - relanding after rollout in r142400 that was caused by a global
selector interfering with CSS Instrumentation in the Inspector.

A snapshotted plugin needs to indicate to the user that it can be clicked
to be restarted. Previously this was done with an image that had embedded
text. Instead, we now use an internal shadow root to embed some markup that
will display instructions that can be localised.

The UA stylesheet for plug-ins provides a default styling for the label, which
can be overridden by ports.

In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
since it is only responsible for drawing a paused plug-in. The snapshot creation
can work with the default renderer, but a shadow root requires something like
RenderBlock in order to draw its children. We swap from one renderer to another when
necessary either by creating the shadow root or by explicitly detaching and attaching
the plugin element.

Unfortunately this is difficult to test, because the snapshotting requires
time to execute, and also a PluginView to be instantiated.

* css/plugIns.css:
(object::-webkit-snapshotted-plugin-content): New rules for a default label style.

* platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
* platform/LocalizedStrings.h:
* platform/blackberry/LocalizedStringsBlackBerry.cpp:
* platform/chromium/LocalizedStringsChromium.cpp:
* platform/efl/LocalizedStringsEfl.cpp:
* platform/gtk/LocalizedStringsGtk.cpp:
* platform/qt/LocalizedStringsQt.cpp:

* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
that RenderSnapshottedPlugIn no longer is an embedded object.

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
(WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
(WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
(WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
    a renderer, otherwise use the typical plug-in path.
(WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
    need to give it to the renderer.
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
* html/HTMLPlugInImageElement.h:
(HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
    should show immediately.
(WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
    to swap to the Shadow Root.
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
    in being recreated. Make sure we reattach so that a plugin renderer will be created.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
    displayState for snapshots.
* html/HTMLPlugInImageElement.h:
(HTMLPlugInImageElement): The new methods listed above.
(WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
    a snapshot should be immediately labeled.

* page/ChromeClient.h: No need for plugInStartLabelImage any more.

* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
(WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
(WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
(WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
(WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
(WebCore::RenderSnapshottedPlugIn::getCursor):
(WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
* rendering/RenderSnapshottedPlugIn.h:
(RenderSnapshottedPlugIn): New inheritance. Some method renaming.

Source/WebKit2: Snapshotted plug-in should use shadow root
https://bugs.webkit.org/show_bug.cgi?id=108284

Reviewed by Simon Fraser.

Take three of this commit - after rollout in r142400 and r142405.
We no longer have any need for plugInStartLabelImage.

* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
* WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
* WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.

Tools: Remove use of plugInStartLabelImage
https://bugs.webkit.org/show_bug.cgi?id=108273

Reviewed by Simon Fraser.

Take two - after rollout in r142405.
Removed plugInStartLabelImage entry from client structure.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):

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

7 years agoCSP reports for blocked 'data:' URLs should report the scheme only.
mkwst@chromium.org [Mon, 11 Feb 2013 21:29:46 +0000 (21:29 +0000)]
CSP reports for blocked 'data:' URLs should report the scheme only.
https://bugs.webkit.org/show_bug.cgi?id=109429

Reviewed by Adam Barth.

Source/WebCore:

https://dvcs.w3.org/hg/content-security-policy/rev/001dc8e8bcc3 changed
the CSP 1.1 spec to require that blocked URLs that don't refer to
generally resolvable schemes (e.g. 'data:', 'javascript:', etc.) be
stripped down to their scheme in violation reports.

Test: http/tests/security/contentSecurityPolicy/report-blocked-data-uri.html

* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):
    If the blocked URL is a web-resolvable scheme, apply the current
    stripping logic to it, otherwise, strip it to the scheme only.
* platform/KURL.h:
(KURL):
    Move KURL::isHierarchical() out into KURL's public API.

LayoutTests:

* http/tests/security/contentSecurityPolicy/report-blocked-data-uri-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-blocked-data-uri.html: Added.

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

7 years agoScrollingTree node maps keep getting larger
simon.fraser@apple.com [Mon, 11 Feb 2013 21:28:18 +0000 (21:28 +0000)]
ScrollingTree node maps keep getting larger
https://bugs.webkit.org/show_bug.cgi?id=109348

Reviewed by Sam Weinig.

When navigating between pages, nodes would get left in the ScrollingTree's
node map, and the ScrollingStateTree's node map, so these would get larger
and larger as you browse.

Simplify map maintenance by clearing the map when setting a new root node
(which happens on the first commit of a new page). Also, don't keep root nodes
around, but create them afresh for each page, which simplifies their ID
management.

This is closer to the original behavior; keeping the root nodes around was
a fix for bug 99668, but we avoid regressing that fix by bailing early
from frameViewLayoutUpdated() if there is no root state node (we'll get
called again anyway).

This now allows state nodeIDs to be purely read-only.

* page/scrolling/ScrollingStateNode.h:
* page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::clear):
(WebCore::ScrollingStateTree::removeNode):
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateTreeFromStateNode):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):

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

7 years agoMove m_stateNodeMap from ScrollingCoordinatorMac to ScrollingStateTree
simon.fraser@apple.com [Mon, 11 Feb 2013 21:28:12 +0000 (21:28 +0000)]
Move m_stateNodeMap from ScrollingCoordinatorMac to ScrollingStateTree
https://bugs.webkit.org/show_bug.cgi?id=109361

Reviewed by Sam Weinig.

The map of scrolling node IDs to ScollingStateNodes was maintained by
ScrollingCoordinatorMac, rather than ScrollingStateTree. This is different
from the ScrollingTree (which owns its node map), and added some amount
of to-and-fro between ScrollingStateTree and ScrollingCoordinatorMac.

Having ScrollingCoordinatorMac maintain the map of IDs to state nodes
simplifies things.

No behavior change.

* page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::detachNode):
(WebCore::ScrollingStateTree::clear):
(WebCore::ScrollingStateTree::removeNode):
(WebCore::ScrollingStateTree::stateNodeForID):
* page/scrolling/ScrollingStateTree.h:
(ScrollingStateTree): Remove some stale comments.
(WebCore::ScrollingStateTree::removedNodes):
* page/scrolling/mac/ScrollingCoordinatorMac.h:
(ScrollingCoordinatorMac):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinatorMac::recomputeWheelEventHandlerCountForFrameView):
(WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
(WebCore::ScrollingCoordinatorMac::requestScrollPositionUpdate):
(WebCore::ScrollingCoordinatorMac::attachToStateTree):
(WebCore::ScrollingCoordinatorMac::detachFromStateTree):
(WebCore::ScrollingCoordinatorMac::clearStateTree):
(WebCore::ScrollingCoordinatorMac::updateScrollingNode):
(WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):

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

7 years agoBuild fix.
mrowe@apple.com [Mon, 11 Feb 2013 21:26:48 +0000 (21:26 +0000)]
Build fix.

* platform/mac/PlatformSpeechSynthesizerMac.mm: Fix the case in the include.

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

7 years agoThe plug-in process connection manager doesn't need to be heap allocated
andersca@apple.com [Mon, 11 Feb 2013 21:26:00 +0000 (21:26 +0000)]
The plug-in process connection manager doesn't need to be heap allocated
https://bugs.webkit.org/show_bug.cgi?id=109479

Reviewed by Andreas Kling.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::pluginProcessConnectionManager):
(WebKit::WebProcess::pluginProcessCrashed):
* WebProcess/WebProcess.h:
(WebKit):
(WebProcess):

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

7 years agoUnreviewed. Rolled Chromium DEPS to r181742. Requested by
commit-queue@webkit.org [Mon, 11 Feb 2013 21:24:03 +0000 (21:24 +0000)]
Unreviewed.  Rolled Chromium DEPS to r181742.  Requested by
fmalita_ via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-11

* DEPS:

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

7 years agoRegression(r131539): Heap-use-after-free in WebCore::RenderBlock::willBeDestroyed
jchaffraix@webkit.org [Mon, 11 Feb 2013 21:11:11 +0000 (21:11 +0000)]
Regression(r131539): Heap-use-after-free in WebCore::RenderBlock::willBeDestroyed
https://bugs.webkit.org/show_bug.cgi?id=107189

Reviewed by Abhishek Arya.

Source/WebCore:

Test: fast/dynamic/continuation-detach-crash.html

This patch reverts r131539 and the following changes (r132591 and r139664).
This means we redo detaching from the bottom-up which solves the regression.
It fixes the attached test case as we re-attach child nodes before detaching
the parent. It seems wrong to do but this avoid a stale continuation.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::detach): Detach the children first, then ourself.
* dom/Node.cpp:
(WebCore::Node::detach): Clear the renderer instead of ASSERT'ing.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed): Removed the code to clear the associated node's renderer.
(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
Moved the repainting logic back into removeChildNode from destroyAndCleanupAnonymousWrappers.
(WebCore::RenderObjectChildList::destroyLeftoverChildren): Re-added the code to clear the associated node's
renderer.
* rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::setText): Re-added the code to set the associated node's renderer.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::detach):
* dom/Node.cpp:
(WebCore::Node::detach):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::destroyLeftoverChildren):
(WebCore::RenderObjectChildList::removeChildNode):
* rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::setText):

LayoutTests:

* fast/dynamic/continuation-detach-crash-expected.txt: Added.
* fast/dynamic/continuation-detach-crash.html: Added.

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

7 years agoMove setFrameFlatteningEnabled from layoutTestController to window.internals.settings
tony@chromium.org [Mon, 11 Feb 2013 21:04:50 +0000 (21:04 +0000)]
Move setFrameFlatteningEnabled from layoutTestController to window.internals.settings
https://bugs.webkit.org/show_bug.cgi?id=87149

Reviewed by Simon Fraser.

Source/WebKit2:

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add setFrameFlatteningEnabled to the list of overridable values.

Tools:

Remove testRunner.setFrameFlatteningEnabled from DRT and WTR. WebKit API
methods are left because there may be users of it. Add a test for Apple Mac
to ensure that the API for the preference still works using overridePreference.

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
* DumpRenderTree/efl/TestRunnerEfl.cpp:
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
* DumpRenderTree/mac/TestRunnerMac.mm:
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
* DumpRenderTree/qt/TestRunnerQt.cpp:
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunner):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/wx/TestRunnerWx.cpp:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):

LayoutTests:

Update tests to use internal.settings.setFrameFlatteningEnabled, which is automatically
generated from Settings.in.
Add a Mac only test that uses overridePreference to test the API.

* fast/frames/flattening/crash-svg-document.html:
* fast/frames/flattening/frameset-flattening-advanced.html:
* fast/frames/flattening/frameset-flattening-grid.html:
* fast/frames/flattening/frameset-flattening-simple.html:
* fast/frames/flattening/frameset-flattening-subframe-resize.html:
* fast/frames/flattening/frameset-flattening-subframesets.html:
* fast/frames/flattening/iframe-flattening-crash.html:
* fast/frames/flattening/iframe-flattening-fixed-height.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height.html:
* fast/frames/flattening/iframe-flattening-fixed-width.html:
* fast/frames/flattening/iframe-flattening-nested.html:
* fast/frames/flattening/iframe-flattening-offscreen.html:
* fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html:
* fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html:
* fast/frames/flattening/iframe-flattening-out-of-view.html:
* fast/frames/flattening/iframe-flattening-selection-crash.html:
* fast/frames/flattening/iframe-flattening-simple.html:
* fast/frames/flattening/iframe-tiny.html:
* fast/spatial-navigation/snav-iframe-flattening-simple.html:
* fast/text-autosizing/narrow-iframe-flattened.html:
* http/tests/misc/iframe-flattening-3level-nesting-with-blocking-resource.html:
* platform/chromium/TestExpectations: Chromium doesn't use frame flattening on mobile either.
* plugins/frameset-with-plugin-frame.html:
* fast/frames/flattening/crash-svg-document.html:
* fast/frames/flattening/frameset-flattening-advanced.html:
* fast/frames/flattening/frameset-flattening-grid.html:
* fast/frames/flattening/frameset-flattening-simple.html:
* fast/frames/flattening/frameset-flattening-subframe-resize.html:
* fast/frames/flattening/frameset-flattening-subframesets.html:
* fast/frames/flattening/iframe-flattening-crash.html:
* fast/frames/flattening/iframe-flattening-fixed-height.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height.html:
* fast/frames/flattening/iframe-flattening-fixed-width.html:
* fast/frames/flattening/iframe-flattening-nested.html:
* fast/frames/flattening/iframe-flattening-offscreen.html:
* fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html:
* fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html:
* fast/frames/flattening/iframe-flattening-out-of-view.html:
* fast/frames/flattening/iframe-flattening-selection-crash.html:
* fast/frames/flattening/iframe-flattening-simple.html:
* fast/frames/flattening/iframe-tiny.html:
* fast/spatial-navigation/snav-iframe-flattening-simple.html:
* fast/text-autosizing/narrow-iframe-flattened.html:
* http/tests/misc/iframe-flattening-3level-nesting-with-blocking-resource.html:
* platform/chromium/TestExpectations:
* platform/mac/fast/frames/flattening/set-preference-expected.txt: Added.
* platform/mac/fast/frames/flattening/set-preference.html: Added.
* plugins/frameset-with-plugin-frame.html:

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

7 years agoUnreviewed, rolling out r142491.
commit-queue@webkit.org [Mon, 11 Feb 2013 20:43:37 +0000 (20:43 +0000)]
Unreviewed, rolling out r142491.
http://trac.webkit.org/changeset/142491
https://bugs.webkit.org/show_bug.cgi?id=109470

broke the 32 bit build (Requested by jessieberlin on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-11

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStrictEq):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

7 years agoMake WebVTTTokenizer stop inheriting from MarkupTokenizerBase
eric@webkit.org [Mon, 11 Feb 2013 20:41:49 +0000 (20:41 +0000)]
Make WebVTTTokenizer stop inheriting from MarkupTokenizerBase
https://bugs.webkit.org/show_bug.cgi?id=109411

Reviewed by Adam Barth.

Moved InputStreamPreprocessor into its own header file so it can be
used by both WebVTTTokenizer and HTMLTokenizer.

Also split out kEndOfFileMarker from InputStreamPreprocessor<T> so that
it can be used w/o a specific instantiation of the template class.
This also made it possible to fix three old fixmes about wanting to share
that constant.

Again, separating WebVTT code from Markup* base classes made it simpler
at the cost of a little copy/paste code.  WebVTT tokenization is remarkably
simple compared to HTML.

This will make it immediately possible to pull MarkupTokenizerBase up into
HTMLTokenizer and further simplify the code.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::markEndOfFile):
* html/parser/HTMLInputStream.h:
(WebCore::HTMLInputStream::markEndOfFile):
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
* html/parser/InputStreamPreprocessor.h: Added.
(WebCore):
(InputStreamPreprocessor):
(WebCore::InputStreamPreprocessor::InputStreamPreprocessor):
(WebCore::InputStreamPreprocessor::nextInputCharacter):
(WebCore::InputStreamPreprocessor::peek):
(WebCore::InputStreamPreprocessor::advance):
(WebCore::InputStreamPreprocessor::skipNextNewLine):
(WebCore::InputStreamPreprocessor::reset):
(WebCore::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
* html/track/WebVTTTokenizer.cpp:
(WebCore::WebVTTTokenizer::WebVTTTokenizer):
(WebCore::WebVTTTokenizer::nextToken):
* html/track/WebVTTTokenizer.h:
(WebVTTTokenizer):
(WebCore::WebVTTTokenizer::haveBufferedCharacterToken):
(WebCore::WebVTTTokenizer::bufferCharacter):
(WebCore::WebVTTTokenizer::emitAndResumeIn):
(WebCore::WebVTTTokenizer::emitEndOfFile):
(WebCore::WebVTTTokenizer::shouldSkipNullCharacters):
* xml/parser/MarkupTokenizerBase.h:
(MarkupTokenizerBase):
(WebCore::MarkupTokenizerBase::bufferCharacter):

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

7 years ago[Chromium] FilterTypeSaturatingBrightness enum
fmalita@chromium.org [Mon, 11 Feb 2013 20:37:51 +0000 (20:37 +0000)]
[Chromium] FilterTypeSaturatingBrightness enum
https://bugs.webkit.org/show_bug.cgi?id=109380

Introduce a new WebFilterOperation::FilterType enum (FilterTypeSaturatingBrightness)
to support existing interntal clients which rely on the current saturating brightness
behavior (in preparation of switching to the new brightness implementation).

Reviewed by James Robinson.

* chromium/public/WebFilterOperation.h:
(WebKit::WebFilterOperation::amount):
(WebKit::WebFilterOperation::createSaturatingBrightnessFilter):
(WebKit::WebFilterOperation::setAmount):

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

7 years agoUnreviewed. Windows 7 Debug mode build fix.
roger_fong@apple.com [Mon, 11 Feb 2013 20:36:32 +0000 (20:36 +0000)]
Unreviewed. Windows 7 Debug mode build fix.

* DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:

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

7 years ago[Chromium] Replace correct misspelled range in WebKit::WebFrameImpl::replaceMisspelle...
commit-queue@webkit.org [Mon, 11 Feb 2013 20:23:48 +0000 (20:23 +0000)]
[Chromium] Replace correct misspelled range in WebKit::WebFrameImpl::replaceMisspelledRange
https://bugs.webkit.org/show_bug.cgi?id=108513

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-11
Reviewed by Tony Chang.

WebKit::WebFrameImpl::replaceMisspelledRange is going to be used by Chromium instead of
WebKit::WebFrameImpl::replaceSelection for correcting misspellings. The current implementation
of WebKit::WebFrameImpl::replaceMisspelledRange sometimes replaces the wrong range. This change
uses Range::create instead of TextIterator::rangeFromLocationAndLength to select the correct
range. This change also disables smart replace in WebKit::WebFrameImpl::replaceMisspelledRange
to avoid introducing spaces around misspellings.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::replaceMisspelledRange): Replace correct misspelled range.
* tests/WebFrameTest.cpp: Add unit test for WebKit::WebFrameImpl::replaceMisspelledRange method.

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

7 years ago[WK2][Notifications] Missing early return in populateCopyOfNotificationPermissions
commit-queue@webkit.org [Mon, 11 Feb 2013 19:53:23 +0000 (19:53 +0000)]
[WK2][Notifications] Missing early return in populateCopyOfNotificationPermissions
https://bugs.webkit.org/show_bug.cgi?id=108459

Patch by Claudio Saavedra <csaavedra@igalia.com> on 2013-02-11
Reviewed by Alexey Proskuryakov.

* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
Providers might return 0 and we will end up with a null-pointer dereference.
Early check against this.

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

7 years agodocument.write during window.onload can trigger DumpRenderTree to dump the render...
abarth@webkit.org [Mon, 11 Feb 2013 19:48:56 +0000 (19:48 +0000)]
document.write during window.onload can trigger DumpRenderTree to dump the render tree
https://bugs.webkit.org/show_bug.cgi?id=109465

Reviewed by Eric Seidel.

Source/WebCore:

This patch is a partial revert of
http://trac.webkit.org/changeset/142378. It's not safe to call
checkComplete during the load event. We'll need to find another way of
calling checkComplete at the right time.

Test: fast/parser/document-write-during-load.html

* dom/Document.cpp:
(WebCore::Document::decrementActiveParserCount):

LayoutTests:

* fast/parser/document-write-during-load-expected.txt: Added.
* fast/parser/document-write-during-load.html: Added.

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

7 years agoDFG CompareEq(a, null) and CompareStrictEq(a, const) are unsound with respect to...
fpizlo@apple.com [Mon, 11 Feb 2013 19:21:10 +0000 (19:21 +0000)]
DFG CompareEq(a, null) and CompareStrictEq(a, const) are unsound with respect to constant folding
https://bugs.webkit.org/show_bug.cgi?id=109387

Reviewed by Oliver Hunt.

Lock in the decision to use a non-speculative constant comparison as early as possible
and don't let the CFA change it by folding constants. This might be a performance
penalty on some really weird code (FWIW, I haven't seen this on benchmarks), but on
the other hand it completely side-steps the unsoundness that the bug speaks of.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::isConstantForCompareStrictEq):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStrictEq):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

7 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 11 Feb 2013 19:13:38 +0000 (19:13 +0000)]
Unreviewed EFL gardening.

Mark fast/flexbox/line-clamp-link-after-ellipsis.html as failing
on EFL port. This test was introduced in r142335.

* platform/efl/TestExpectations:

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

7 years agoUnreviewed fix after r13954 for !ENABLE(JIT) builds.
ossy@webkit.org [Mon, 11 Feb 2013 18:16:40 +0000 (18:16 +0000)]
Unreviewed fix after r13954 for !ENABLE(JIT) builds.

* llint/LowLevelInterpreter.cpp:

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

7 years agoWeb Inspector: Timeline: invalidate and force locations are same for Layout records...
caseq@chromium.org [Mon, 11 Feb 2013 18:15:24 +0000 (18:15 +0000)]
Web Inspector: Timeline: invalidate and force locations are same for Layout records caused by style recalculaiton
https://bugs.webkit.org/show_bug.cgi?id=109294

Reviewed by Pavel Feldman.

Source/WebCore:

Use the stack that caused style recalculation as a cause for relayout performed due to
layout invalidation caused by style recalculation.

* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.prototype.reset):
(WebInspector.TimelinePresentationModel.Record):

LayoutTests:

* inspector/timeline/timeline-layout-reason-expected.txt: Added.
* inspector/timeline/timeline-layout-reason.html: Added.
* inspector/timeline/timeline-test.js:
(initialize_Timeline.step2):
(initialize_Timeline.InspectorTest.evaluateWithTimeline): Extracted "performActions" step from performActionsAndPrint()
(initialize_Timeline.):
(initialize_Timeline.InspectorTest.performActionsAndPrint):
(initialize_Timeline.InspectorTest.findPresentationRecord.findByType):
(initialize_Timeline.InspectorTest.findPresentationRecord):

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

7 years ago[BlackBerry] Set mouse document position for mouse event in DRT.
commit-queue@webkit.org [Mon, 11 Feb 2013 18:11:32 +0000 (18:11 +0000)]
[BlackBerry] Set mouse document position for mouse event in DRT.
https://bugs.webkit.org/show_bug.cgi?id=109094.

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-02-11
Reviewed by Rob Buis.

RIM PR 246976.
Internally Reviewed by Nima Ghanavatian & Genevieve Mak.

Set mouse document position when we create mouse event in DRT.

* DumpRenderTree/blackberry/EventSender.cpp:
(setMouseEventDocumentPos):
(mouseDownCallback):
(mouseUpCallback):
(mouseMoveToCallback):

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

7 years agoWeb Inspector: [Extension API] adjust inspectedWindow.eval() callback parameters...
caseq@chromium.org [Mon, 11 Feb 2013 18:05:33 +0000 (18:05 +0000)]
Web Inspector: [Extension API] adjust inspectedWindow.eval() callback parameters to expose non-exceptional error
https://bugs.webkit.org/show_bug.cgi?id=108640

Reviewed by Vsevolod Vlasov.

Source/WebCore:

- only set first parameter to eval() callback iff expression successfully evaluates;
- use object, not bool as second parameter;
- pass exceptions and extension errors as second parameter if evaluate failed;
- minor drive-by changes in ExtensionAPI utilities.

* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
(injectedExtensionAPI.InspectedWindow.prototype.):
(injectedExtensionAPI.InspectedWindow.prototype.eval):
(injectedExtensionAPI.extractCallbackArgument):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype.):
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
(WebInspector.ExtensionStatus):

LayoutTests:

Rebase tests following change in exception parameter to inspectedWindow.eval() callback.

* inspector/extensions/extensions-eval-expected.txt:
* inspector/extensions/extensions-eval.html:
* inspector/extensions/extensions-sidebar-expected.txt:

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

7 years agoWeb Inspector: [Extensions API] expose ExtensionServerClient to tests so tests use...
caseq@chromium.org [Mon, 11 Feb 2013 18:01:01 +0000 (18:01 +0000)]
Web Inspector: [Extensions API] expose ExtensionServerClient to tests so tests use same port as extensions API
https://bugs.webkit.org/show_bug.cgi?id=109443

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Promote extensionServer var to the outer closure, so it may be accessed by platform-specific (or test) code.

* inspector/front-end/ExtensionAPI.js:
(buildExtensionAPIInjectedScript):

LayoutTests:

- replace additional message ports used for evaluating code in front-end with normal extension transport.

* http/tests/inspector/extensions-test.js:
(initialize_ExtensionsTest.window.buildPlatformExtensionAPI):
(initialize_ExtensionsTest.InspectorTest._replyToExtension):
(initialize_ExtensionsTest.onEvaluate):
* http/tests/inspector/resources/extension-main.js:
* inspector/extensions/extensions-audits.html:

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

7 years agoMove WebVTTToken off of MarkupTokenBase
eric@webkit.org [Mon, 11 Feb 2013 17:54:50 +0000 (17:54 +0000)]
Move WebVTTToken off of MarkupTokenBase
https://bugs.webkit.org/show_bug.cgi?id=109410

Reviewed by Tony Gentilcore.

This introduces a small amount of "copy/paste" code
but actually makes WebVTTToken much smaller and simpler!
This also frees the HTMLParser to have its Token class
back to itself so we can tune it to make HTML faster.

* html/track/WebVTTToken.h:
(WebVTTToken):
(WebCore::WebVTTToken::WebVTTToken):
(WebCore::WebVTTToken::appendToName):
(WebCore::WebVTTToken::type):
(WebCore::WebVTTToken::name):
(WebCore::WebVTTToken::ensureIsCharacterToken):
(WebCore::WebVTTToken::appendToCharacter):
(WebCore::WebVTTToken::beginEmptyStartTag):
(WebCore::WebVTTToken::beginStartTag):
(WebCore::WebVTTToken::beginEndTag):
(WebCore::WebVTTToken::beginTimestampTag):
(WebCore::WebVTTToken::makeEndOfFile):
(WebCore::WebVTTToken::clear):

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

7 years ago[V8] IndexedDB: Minor GC can collect IDBDatabase wrapper with versionchange handler
jsbell@chromium.org [Mon, 11 Feb 2013 17:28:22 +0000 (17:28 +0000)]
[V8] IndexedDB: Minor GC can collect IDBDatabase wrapper with versionchange handler
https://bugs.webkit.org/show_bug.cgi?id=108670

Reviewed by Kentaro Hara.

Source/WebCore:

Prevent IDBDatabase's wrapper from being GC'd while the database is open if it has
listeners, as those listeners may close the database in response to events.

Also, removed extraneous super-calls from hasPendingActivity() overrides.

Test: storage/indexeddb/database-wrapper.html

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::hasPendingActivity): Implemented.
* Modules/indexeddb/IDBDatabase.h: Declared.
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::hasPendingActivity): Simplified.
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::hasPendingActivity): Simplified.

LayoutTests:

* storage/indexeddb/database-wrapper-expected.txt: Added.
* storage/indexeddb/database-wrapper.html: Added.
* storage/indexeddb/resources/database-wrapper.js: Added.
(test):
(openDB):
(onUpgradeNeeded):
(openSuccess.get request.onsuccess):
(onVersionChange):
(collectGarbage):
(openAgain):
(onBlocked):
(openAgainSuccess):

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

7 years ago[BlackBerry] Add form navigation control state tracking.
mifenton@rim.com [Mon, 11 Feb 2013 17:17:45 +0000 (17:17 +0000)]
[BlackBerry] Add form navigation control state tracking.
https://bugs.webkit.org/show_bug.cgi?id=109300

Reviewed by Rob Buis.

Add form navigation control state tracking.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::focusNextField):
(WebKit):
(BlackBerry::WebKit::WebPage::focusPreviousField):
(BlackBerry::WebKit::WebPage::submitForm):
* Api/WebPage.h:
* Api/WebPageClient.h:
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::InputHandler):
(BlackBerry::WebKit::InputHandler::setElementUnfocused):
(BlackBerry::WebKit::InputHandler::updateFormState):
* WebKitSupport/InputHandler.h:
(InputHandler):

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

7 years agoJSC build failing with verbose debug mode
rgabor@webkit.org [Mon, 11 Feb 2013 17:01:06 +0000 (17:01 +0000)]
JSC build failing with verbose debug mode
https://bugs.webkit.org/show_bug.cgi?id=109441

Reviewed by Darin Adler.

Fixing some verbose messages which caused build errors.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::mergeToSuccessors):
* dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::performBlockCFA):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::eliminate):
* dfg/DFGPredictionInjectionPhase.cpp:
(JSC::DFG::PredictionInjectionPhase::run):

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

7 years agoRemove AttributeBase now that NEW_XML is gone
eric@webkit.org [Mon, 11 Feb 2013 16:52:27 +0000 (16:52 +0000)]
Remove AttributeBase now that NEW_XML is gone
https://bugs.webkit.org/show_bug.cgi?id=109408

Reviewed by Adam Barth.

Just deleting code.  HTMLToken::Attribute is now just
the real class and not a typedef.

* html/parser/CompactHTMLToken.cpp:
(WebCore::CompactHTMLToken::CompactHTMLToken):
* html/parser/HTMLTokenizer.cpp:
(WebCore::AtomicHTMLToken::nameForAttribute):
* xml/parser/MarkupTokenBase.h:
(WebCore):
(MarkupTokenBase):
(Attribute):
(Range):

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

7 years ago[BlackBerry] Add graphics subdirectory to include path.
commit-queue@webkit.org [Mon, 11 Feb 2013 16:24:09 +0000 (16:24 +0000)]
[BlackBerry] Add graphics subdirectory to include path.
https://bugs.webkit.org/show_bug.cgi?id=109437

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2013-02-11
Reviewed by Rob Buis.

Add browser/platform/graphics to include path.

Internal review by Jeff Rogers.

* Scripts/webkitdirs.pm:
(blackberryCMakeArguments):

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

7 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 11 Feb 2013 16:19:59 +0000 (16:19 +0000)]
Unreviewed EFL gardening.

Skip fast/forms/number/number-l10n-input.html that was added in r142122
but fails on EFL port.

* platform/efl/TestExpectations:

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

7 years ago[EFL][WKTR] Regression(r141836) fast/dom/Window/mozilla-focus-blur.html started failing
ch.dumez@sisa.samsung.com [Mon, 11 Feb 2013 16:06:58 +0000 (16:06 +0000)]
[EFL][WKTR] Regression(r141836) fast/dom/Window/mozilla-focus-blur.html started failing
https://bugs.webkit.org/show_bug.cgi?id=109438

Reviewed by Kenneth Rohde Christiansen.

Some refactoring in r141836 caused the view not to get focus if the focused
frame is not the main one. The idea of the code was to remove focus from the
view if the focused frame was not the main one, and then focus the view again.
However, after the refactoring, the second step never happened: Focus was
removed but not given again.

* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::focus):

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

7 years agoUnreviewed revert test fix attempt and skip it.
vsevik@chromium.org [Mon, 11 Feb 2013 16:00:21 +0000 (16:00 +0000)]
Unreviewed revert test fix attempt and skip it.

* inspector/editor/text-editor-home-button.html:
* platform/chromium/TestExpectations:

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

7 years agoRename PreloadTask to StartTagScanner to match its purpose
eric@webkit.org [Mon, 11 Feb 2013 15:58:46 +0000 (15:58 +0000)]
Rename PreloadTask to StartTagScanner to match its purpose
https://bugs.webkit.org/show_bug.cgi?id=109406

Reviewed by Sam Weinig.

As discussed in bug 107807.

* html/parser/HTMLPreloadScanner.cpp:
(WebCore::StartTagScanner::StartTagScanner):
(WebCore::StartTagScanner::processAttributes):
(WebCore::HTMLPreloadScanner::processToken):

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

7 years agoWeb Inspector: WebInspector.Project refactorings.
vsevik@chromium.org [Mon, 11 Feb 2013 15:50:38 +0000 (15:50 +0000)]
Web Inspector: WebInspector.Project refactorings.
https://bugs.webkit.org/show_bug.cgi?id=109433

Reviewed by Alexander Pavlov.

Source/WebCore:

This change prepares Workspace and Project to migration to project-per-domain mode for network based projects.
Renamed WebInspector.WorkspaceProvider to WebInspector.ProjectDelegate.
Renamed Project.name() to Project.id() and delegated it to project delegate.
Added Project.displayName() method that is delegated to project delegate.
SimpleWorkspaceProvider is now responsible for creation of SimpleWorkspaceDelegates and
isolates various mappings from Project/ProjectDelegate concept.
UISourceCode is now created based on path in the project.
UISourceCode uri is now calculated based on project and path (right now uri is equal to path).

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/FileSystemProjectDelegate.js: Renamed from Source/WebCore/inspector/front-end/FileSystemWorkspaceProvider.js.
(WebInspector.FileSystemProjectDelegate):
(WebInspector.FileSystemProjectDelegate.prototype.id):
(WebInspector.FileSystemProjectDelegate.prototype.type):
(WebInspector.FileSystemProjectDelegate.prototype.displayName):
(WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
(WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
(WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
(WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
(WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
(WebInspector.FileSystemProjectDelegate.prototype._contentTypeForPath):
(WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
(WebInspector.FileSystemProjectDelegate.prototype._populate):
(WebInspector.FileSystemProjectDelegate.prototype._addFile):
(WebInspector.FileSystemProjectDelegate.prototype._removeFile):
(WebInspector.FileSystemProjectDelegate.prototype.reset):
(WebInspector.FileSystemUtils):
(WebInspector.FileSystemUtils.errorHandler):
(WebInspector.FileSystemUtils.requestFileSystem):
(.fileSystemLoaded):
(.innerCallback):
(WebInspector.FileSystemUtils.requestFilesRecursive):
(.fileEntryLoaded):
(.fileLoaded):
(.readerLoadEnd):
(WebInspector.FileSystemUtils.requestFileContent):
(.fileWriterCreated.fileTruncated):
(.fileWriterCreated):
(.writerEnd):
(WebInspector.FileSystemUtils.setFileContent):
(WebInspector.FileSystemUtils._getDirectory):
(.toArray):
(WebInspector.FileSystemUtils._readDirectory):
(WebInspector.FileSystemUtils._requestEntries):
* inspector/front-end/IsolatedFileSystemModel.js:
(WebInspector.IsolatedFileSystemModel.prototype._innerAddFileSystem):
* inspector/front-end/SimpleWorkspaceProvider.js:
(WebInspector.SimpleProjectDelegate):
(WebInspector.SimpleProjectDelegate.prototype.id):
(WebInspector.SimpleProjectDelegate.prototype.displayName):
(WebInspector.SimpleProjectDelegate.prototype.requestFileContent):
(WebInspector.SimpleProjectDelegate.prototype.setFileContent):
(WebInspector.SimpleProjectDelegate.prototype.searchInFileContent):
(WebInspector.SimpleProjectDelegate.prototype.addFile):
(WebInspector.SimpleProjectDelegate.prototype._uniquePath):
(WebInspector.SimpleProjectDelegate.prototype.removeFile):
(WebInspector.SimpleProjectDelegate.prototype.reset):
(WebInspector.SimpleWorkspaceProvider):
(WebInspector.SimpleWorkspaceProvider.uriForURL):
(WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
(WebInspector.SimpleWorkspaceProvider.prototype.addUniqueFileForURL):
(WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
(WebInspector.SimpleWorkspaceProvider.prototype.removeFile):
(WebInspector.SimpleWorkspaceProvider.prototype.reset):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode):
(WebInspector.UISourceCode.prototype.path):
(WebInspector.UISourceCode.prototype.uri):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/Workspace.js:
(WebInspector.FileDescriptor):
(WebInspector.ProjectDelegate):
(WebInspector.ProjectDelegate.prototype.id):
(WebInspector.ProjectDelegate.prototype.displayName):
(WebInspector.ProjectDelegate.prototype.requestFileContent):
(WebInspector.ProjectDelegate.prototype.setFileContent):
(WebInspector.ProjectDelegate.prototype.searchInFileContent):
(WebInspector.Project):
(WebInspector.Project.prototype.id):
(WebInspector.Project.prototype.type):
(WebInspector.Project.prototype.displayName):
(WebInspector.Project.prototype.isServiceProject):
(WebInspector.Project.prototype._fileAdded):
(WebInspector.Project.prototype._fileRemoved):
(WebInspector.Project.prototype._reset):
(WebInspector.Project.prototype.uiSourceCode):
(WebInspector.Project.prototype.uiSourceCodeForOriginURL):
(WebInspector.Project.prototype.uiSourceCodeForURI):
(WebInspector.Project.prototype.uiSourceCodes):
(WebInspector.Project.prototype.requestFileContent):
(WebInspector.Project.prototype.setFileContent):
(WebInspector.Project.prototype.searchInFileContent):
(WebInspector.Project.prototype.dispose):
(WebInspector.Workspace.prototype.uiSourceCode):
(WebInspector.Workspace.prototype.uiSourceCodeForURI):
(WebInspector.Workspace.prototype.addProject):
(WebInspector.Workspace.prototype.removeProject):
(WebInspector.Workspace.prototype.project):
(WebInspector.Workspace.prototype.uiSourceCodes):
(WebInspector.Workspace.prototype.projectForUISourceCode):
* inspector/front-end/inspector.html:

LayoutTests:

* inspector/debugger/live-edit-breakpoints.html:
* inspector/uisourcecode-revisions.html:

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

7 years agoWeb Inspector: fix closure compiler warnings in the profiler code
yurys@chromium.org [Mon, 11 Feb 2013 15:45:46 +0000 (15:45 +0000)]
Web Inspector: fix closure compiler warnings in the profiler code
https://bugs.webkit.org/show_bug.cgi?id=109432

Reviewed by Pavel Feldman.

Updated type annotations to match the code.

* inspector/front-end/NativeMemorySnapshotView.js:
* inspector/front-end/ProfilesPanel.js:

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

7 years ago[QT] Regression (r142444): Broke qt linux minimal build
commit-queue@webkit.org [Mon, 11 Feb 2013 15:44:27 +0000 (15:44 +0000)]
[QT] Regression (r142444): Broke qt linux minimal build
https://bugs.webkit.org/show_bug.cgi?id=109423

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2013-02-11
Reviewed by Kenneth Rohde Christiansen.

Test: cssom/cssvalue-comparison.html

* css/CSSValue.cpp:
(WebCore::CSSValue::equals):

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

7 years agoWeb Inspector: introduce WebInspector.TextUtils
commit-queue@webkit.org [Mon, 11 Feb 2013 15:40:18 +0000 (15:40 +0000)]
Web Inspector: introduce WebInspector.TextUtils
https://bugs.webkit.org/show_bug.cgi?id=109289

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

Add new WebInspector.TextUtils file and extract commonly used
text-operation subroutines from DefaultTextEditor into it.

No new tests: no change in behaviour.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._isWord):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._rangeForCtrlArrowMove):
(WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
* inspector/front-end/TextUtils.js: Added.
(WebInspector.TextUtils.isStopChar):
(WebInspector.TextUtils.isWordChar):
(WebInspector.TextUtils.isSpaceChar):
(WebInspector.TextUtils.isWord):
(WebInspector.TextUtils.isBraceChar):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

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

7 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 11 Feb 2013 15:26:44 +0000 (15:26 +0000)]
Unreviewed EFL gardening.

- Rebaseline fast/dynamic/002.html on EFL port after r142015.
- Skip several compositing test cases that started failing after r142112.
- Skip several new Kronos WebGL conformance tests that are failing on EFL WK2.

* platform/efl-wk2/TestExpectations:
* platform/efl/fast/dynamic/002-expected.png:
* platform/efl/fast/dynamic/002-expected.txt:

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

7 years agoAdd basysKom to domainAffiliations in team.html
bruno.abinader@basyskom.com [Mon, 11 Feb 2013 15:12:34 +0000 (15:12 +0000)]
Add basysKom to domainAffiliations in team.html
https://bugs.webkit.org/show_bug.cgi?id=109306

Reviewed by Laszlo Gombos.

Register basysKom as contributing company in
http://www.webkit.org/team.html.

* team.html:

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

7 years agoAdd intel.com to team.html
mikhail.pozdnyakov@intel.com [Mon, 11 Feb 2013 15:09:35 +0000 (15:09 +0000)]
Add intel.com to team.html
https://bugs.webkit.org/show_bug.cgi?id=109424

Reviewed by Kenneth Rohde Christiansen.

* team.html:

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

7 years ago[GTK] Don't generate documentation if building neither WebKit1 nor WebKit2
zandobersek@gmail.com [Mon, 11 Feb 2013 15:05:29 +0000 (15:05 +0000)]
[GTK] Don't generate documentation if building neither WebKit1 nor WebKit2
https://bugs.webkit.org/show_bug.cgi?id=109420

Reviewed by Philippe Normand.

Don't generate the GTK documentation if neither of the WebKit1 and WebKit2
layers was built. This just results in unnecessary errors being spewed out
by the gtkdoc utilities.

* Scripts/webkitdirs.pm:
(buildAutotoolsProject):

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

7 years agoAdding the svn:ignore property that the previous commit (done through webkit-patch...
zandobersek@gmail.com [Mon, 11 Feb 2013 15:03:12 +0000 (15:03 +0000)]
Adding the svn:ignore property that the previous commit (done through webkit-patch) failed to.

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

7 years ago* Source/WebCore: Modified property svn:ignore, adding GNUmakefile.features.am
zandobersek@gmail.com [Mon, 11 Feb 2013 14:59:57 +0000 (14:59 +0000)]
* Source/WebCore: Modified property svn:ignore, adding GNUmakefile.features.am
to the list of paths to be ignored.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 11 Feb 2013 14:47:20 +0000 (14:47 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Adding a failure expectation for the
cssom/cssvalue-comparison.html, the test was added in r142444 and is failing
due to CSS image-set functionality not yet enabled in the GTK port.

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

7 years ago[GTK][Clang] Build errors in LocalizedStringsGtk.cpp
zandobersek@gmail.com [Mon, 11 Feb 2013 14:43:33 +0000 (14:43 +0000)]
[GTK][Clang] Build errors in LocalizedStringsGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=109418

Reviewed by Philippe Normand.

Use the C++ isfinite(float) and abs(float) (instead of fabsf(float))
methods by including the WTF MathExtras.h header. Use a static cast to
an integer type on the float return value of the abs(float) method call
instead of the C-style cast.

No new tests - no new functiolnality.

* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::localizedMediaTimeDescription):

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

7 years agoUnreviewed build fix for the WTFURL backend of KURL.
zandobersek@gmail.com [Mon, 11 Feb 2013 14:42:07 +0000 (14:42 +0000)]
Unreviewed build fix for the WTFURL backend of KURL.

* platform/KURL.cpp:
(WebCore::KURL::isSafeToSendToAnotherThread): m_urlImpl is of RefPtr type so use
the appropriate operator on it when calling the isSafeToSendToAnotherThread method.

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

7 years agoRange::collapsed callers should explicitly ASSERT_NO_EXCEPTION.
mkwst@chromium.org [Mon, 11 Feb 2013 13:55:18 +0000 (13:55 +0000)]
Range::collapsed callers should explicitly ASSERT_NO_EXCEPTION.
https://bugs.webkit.org/show_bug.cgi?id=108921

Reviewed by Jochen Eisinger.

For clarity and consistency, this patch adjusts Range::collapsed() to
drop the default value of the ExceptionCode parameter it accepts. The
three call sites that called the method with no arguments (all part of
Editor::rangeOfString) will now explicitly ASSERT_NO_EXCEPTION.

* dom/Range.h:
(Range):
* editing/Editor.cpp:
(WebCore::Editor::rangeOfString):

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

7 years agoWeb Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
commit-queue@webkit.org [Mon, 11 Feb 2013 13:54:01 +0000 (13:54 +0000)]
Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
https://bugs.webkit.org/show_bug.cgi?id=108653

Patch by Alexei Filippov <alph@chromium.org> on 2013-02-11
Reviewed by Yury Semikhatsky.

Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
In fact these two profile types have not too much in common. So put each into its own domain.
It should also help when Profiles panel gets split into several tools.
This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
change the original InspectorProfilerAgent.

PerformanceTests:

* inspector/heap-snapshot-performance-test.js:
(test.performanceTest.cleanup):

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/Inspector.json:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorHeapProfilerAgent.cpp: Added.
(WebCore):
(WebCore::InspectorHeapProfilerAgent::create):
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::resetState):
(WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
(WebCore::InspectorHeapProfilerAgent::setFrontend):
(WebCore::InspectorHeapProfilerAgent::clearFrontend):
(WebCore::InspectorHeapProfilerAgent::restore):
(WebCore::InspectorHeapProfilerAgent::collectGarbage):
(WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
(WebCore::InspectorHeapProfilerAgent::hasHeapProfiler):
(WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
(WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
(WebCore::InspectorHeapProfilerAgent::removeProfile):
(WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
(WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::reportMemoryUsage):
* inspector/InspectorHeapProfilerAgent.h: Added.
(WebCore):
(InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::clearProfiles):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
* inspector/InstrumentingAgents.h:
(WebCore):
(InstrumentingAgents):
(WebCore::InstrumentingAgents::inspectorHeapProfilerAgent):
(WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
* inspector/front-end/HeapSnapshotDataGrids.js:
* inspector/front-end/HeapSnapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapProfileHeader.prototype.startSnapshotTransfer):
(WebInspector.HeapProfileHeader.prototype.saveToFile.onOpen):
(WebInspector.HeapProfileHeader.prototype.saveToFile):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype._clearProfiles):
(WebInspector.ProfilesPanel.prototype._garbageCollectButtonClicked):
(WebInspector.ProfilesPanel.prototype._removeProfileHeader):
(WebInspector.ProfilesPanel.prototype._populateProfiles.var):
(WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
(WebInspector.ProfilesPanel.prototype._populateProfiles):
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
(WebInspector.ProfilesPanel.prototype.revealInView):
(WebInspector.HeapProfilerDispatcher):
(WebInspector.HeapProfilerDispatcher.prototype.addProfileHeader):
(WebInspector.HeapProfilerDispatcher.prototype.addHeapSnapshotChunk):
(WebInspector.HeapProfilerDispatcher.prototype.finishHeapSnapshot):
(WebInspector.HeapProfilerDispatcher.prototype.resetProfiles):
(WebInspector.HeapProfilerDispatcher.prototype.reportHeapSnapshotProgress):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
* inspector/front-end/inspector.js:
(WebInspector.doLoadedDone):

Source/WebKit/chromium:

* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgent::shouldInterruptForMessage):

LayoutTests:

* inspector-protocol/heap-profiler/resources/heap-snapshot-common.js:
(InspectorTest.takeHeapSnapshot.InspectorTest.eventHandler.string_appeared_here):
(InspectorTest.takeHeapSnapshot):
* inspector-protocol/nmi-webaudio-leak-test.html:
* inspector/profiler/heap-snapshot-get-profile-crash.html:
* inspector/profiler/heap-snapshot-inspect-dom-wrapper.html:
* inspector/profiler/heap-snapshot-loader.html:
* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest):

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

7 years agoUse IGNORE_EXCEPTION for Editor::countMatchesForText's ignored exceptions.
mkwst@chromium.org [Mon, 11 Feb 2013 13:51:02 +0000 (13:51 +0000)]
Use IGNORE_EXCEPTION for Editor::countMatchesForText's ignored exceptions.
https://bugs.webkit.org/show_bug.cgi?id=109372

Reviewed by Jochen Eisinger.

Rather than implicitly ignoring exceptions, we should use the
IGNORE_EXCEPTION macro for clarity.

* editing/Editor.cpp:
(WebCore::Editor::countMatchesForText):

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

7 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 11 Feb 2013 13:12:46 +0000 (13:12 +0000)]
Unreviewed EFL gardening.

Rebaseline EFL expectation for fast/js/global-constructors.html after
r142205.

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

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

7 years ago[Qt] Unreviewed. Fix minimal build after r142444.
kadam@inf.u-szeged.hu [Mon, 11 Feb 2013 12:55:01 +0000 (12:55 +0000)]
[Qt] Unreviewed. Fix minimal build after r142444.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2013-02-11

* css/CSSValue.cpp:
(WebCore::CSSValue::equals):

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

7 years agoUnreviewed r142439 follow-up: test fix.
vsevik@chromium.org [Mon, 11 Feb 2013 12:47:48 +0000 (12:47 +0000)]
Unreviewed r142439 follow-up: test fix.

* inspector/editor/text-editor-home-button.html:

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

7 years agoUnreviewed change to add myself to the Inspector IDLs watchlist.
graouts@apple.com [Mon, 11 Feb 2013 12:46:33 +0000 (12:46 +0000)]
Unreviewed change to add myself to the Inspector IDLs watchlist.

* Scripts/webkitpy/common/config/watchlist:

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

7 years ago[EFL] Stop using smart pointers for Ecore_Timer
ch.dumez@sisa.samsung.com [Mon, 11 Feb 2013 12:44:34 +0000 (12:44 +0000)]
[EFL] Stop using smart pointers for Ecore_Timer
https://bugs.webkit.org/show_bug.cgi?id=109409

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Stop using a smart pointer for Ecore_Timer in RunLoop::TimerBase. This
is a bad idea because the timer handle becomes invalid as soon as the
timer callback returns ECORE_CALLBACK_CANCEL. This may lead to crashes
on destruction because OwnPtr calls ecore_timer_del() on an invalid
handle.

No new tests, already covered by exiting tests.

* platform/RunLoop.h:
(TimerBase):
* platform/efl/RunLoopEfl.cpp:
(WebCore::RunLoop::TimerBase::timerFired):
(WebCore::RunLoop::TimerBase::start):
(WebCore::RunLoop::TimerBase::stop):

Source/WTF:

Remove support in OwnPtr for EFL's Ecore_Timer. It is a bad idea to use
OwnPtr for Ecore_Timer because the timer handle may become invalid.

* wtf/OwnPtrCommon.h:
(WTF):
* wtf/efl/OwnPtrEfl.cpp:

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

7 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 11 Feb 2013 12:38:46 +0000 (12:38 +0000)]
Unreviewed EFL gardening.

Mark 2 webgl/conformance test cases as crashing on EFL WK2.

* platform/efl-wk2/TestExpectations:

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

7 years agoWeb Inspector: Allow SplitView to keep the sidebar size as a fraction of the containe...
commit-queue@webkit.org [Mon, 11 Feb 2013 12:15:58 +0000 (12:15 +0000)]
Web Inspector: Allow SplitView to keep the sidebar size as a fraction of the container size
https://bugs.webkit.org/show_bug.cgi?id=109414

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

SplitView now interprets defaultSidebarWidth and defaultSidebarHeight values between 0 and 1 as
fractions of the total container size. The sidebar then will grow or shrink along with the container.
When the sidebar is resized manually the updated ratio is stored in the settings.

* inspector/front-end/SplitView.js:
(WebInspector.SplitView):
(WebInspector.SplitView.prototype._removeAllLayoutProperties):
(WebInspector.SplitView.prototype._updateTotalSize):
(WebInspector.SplitView.prototype._innerSetSidebarSize):
(WebInspector.SplitView.prototype._saveSidebarSize):

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

7 years ago[GTK][EFL] Shares WebKit-GTK's DumpRenderTree accessibility implementation with other...
commit-queue@webkit.org [Mon, 11 Feb 2013 11:51:43 +0000 (11:51 +0000)]
[GTK][EFL] Shares WebKit-GTK's DumpRenderTree accessibility implementation with other Webkit ports
https://bugs.webkit.org/show_bug.cgi?id=105007

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-02-11
Reviewed by Martin Robinson.

Shares specific ATK's accessibility implementation.
Keeps platform specific methods in EFL and GTK's directories.

* DumpRenderTree/atk/AccessibilityCallbacks.h: Renamed from Tools/DumpRenderTree/gtk/AccessibilityCallbacks.h.
* DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp: Renamed from Tools/DumpRenderTree/gtk/AccessibilityCallbacks.cpp.
(printAccessibilityEvent):
(axObjectEventListener):
(connectAccessibilityCallbacks):
(disconnectAccessibilityCallbacks):
* DumpRenderTree/atk/AccessibilityControllerAtk.cpp: Copied from Tools/DumpRenderTree/gtk/AccessibilityControllerGtk.cpp.
(AccessibilityController::AccessibilityController):
(AccessibilityController::~AccessibilityController):
(AccessibilityController::elementAtPoint):
(AccessibilityController::setLogFocusEvents):
(AccessibilityController::setLogScrollingStartEvents):
(AccessibilityController::setLogValueChangeEvents):
(AccessibilityController::setLogAccessibilityEvents):
(AccessibilityController::addNotificationListener):
(AccessibilityController::removeNotificationListener):
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp: Copied from Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp.
(coreAttributeToAtkAttribute):
(roleToString):
(replaceCharactersForResults):
(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::~AccessibilityUIElement):
(AccessibilityUIElement::getLinkedUIElements):
(AccessibilityUIElement::getDocumentLinks):
(AccessibilityUIElement::getChildren):
(AccessibilityUIElement::getChildrenWithRange):
(AccessibilityUIElement::rowCount):
(AccessibilityUIElement::columnCount):
(AccessibilityUIElement::childrenCount):
(AccessibilityUIElement::elementAtPoint):
(AccessibilityUIElement::linkedUIElementAtIndex):
(AccessibilityUIElement::getChildAtIndex):
(AccessibilityUIElement::indexOfChild):
(attributeSetToString):
(AccessibilityUIElement::allAttributes):
(AccessibilityUIElement::attributesOfLinkedUIElements):
(AccessibilityUIElement::attributesOfDocumentLinks):
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(AccessibilityUIElement::attributesOfChildren):
(AccessibilityUIElement::parameterizedAttributeNames):
(AccessibilityUIElement::role):
(AccessibilityUIElement::subrole):
(AccessibilityUIElement::roleDescription):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
(AccessibilityUIElement::x):
(AccessibilityUIElement::y):
(AccessibilityUIElement::width):
(AccessibilityUIElement::height):
(AccessibilityUIElement::clickPointX):
(AccessibilityUIElement::clickPointY):
(AccessibilityUIElement::orientation):
(AccessibilityUIElement::intValue):
(AccessibilityUIElement::minValue):
(AccessibilityUIElement::maxValue):
(AccessibilityUIElement::valueDescription):
(checkElementState):
(AccessibilityUIElement::isEnabled):
(AccessibilityUIElement::insertionPointLineNumber):
(AccessibilityUIElement::isPressActionSupported):
(AccessibilityUIElement::isIncrementActionSupported):
(AccessibilityUIElement::isDecrementActionSupported):
(AccessibilityUIElement::isRequired):
(AccessibilityUIElement::isFocused):
(AccessibilityUIElement::isSelected):
(AccessibilityUIElement::hierarchicalLevel):
(AccessibilityUIElement::ariaIsGrabbed):
(AccessibilityUIElement::ariaDropEffects):
(AccessibilityUIElement::isExpanded):
(AccessibilityUIElement::isChecked):
(AccessibilityUIElement::attributesOfColumnHeaders):
(AccessibilityUIElement::attributesOfRowHeaders):
(AccessibilityUIElement::attributesOfColumns):
(AccessibilityUIElement::attributesOfRows):
(AccessibilityUIElement::attributesOfVisibleCells):
(AccessibilityUIElement::attributesOfHeader):
(AccessibilityUIElement::indexInTable):
(indexRangeInTable):
(AccessibilityUIElement::rowIndexRange):
(AccessibilityUIElement::columnIndexRange):
(AccessibilityUIElement::lineForIndex):
(AccessibilityUIElement::boundsForRange):
(AccessibilityUIElement::stringForRange):
(AccessibilityUIElement::attributedStringForRange):
(AccessibilityUIElement::attributedStringRangeIsMisspelled):
(AccessibilityUIElement::uiElementForSearchPredicate):
(AccessibilityUIElement::cellForColumnAndRow):
(AccessibilityUIElement::selectedTextRange):
(AccessibilityUIElement::setSelectedTextRange):
(AccessibilityUIElement::stringAttributeValue):
(AccessibilityUIElement::numberAttributeValue):
(AccessibilityUIElement::boolAttributeValue):
(AccessibilityUIElement::isAttributeSettable):
(AccessibilityUIElement::isAttributeSupported):
(alterCurrentValue):
(AccessibilityUIElement::increment):
(AccessibilityUIElement::decrement):
(AccessibilityUIElement::press):
(AccessibilityUIElement::showMenu):
(AccessibilityUIElement::disclosedRowAtIndex):
(AccessibilityUIElement::ariaOwnsElementAtIndex):
(AccessibilityUIElement::ariaFlowToElementAtIndex):
(AccessibilityUIElement::selectedRowAtIndex):
(AccessibilityUIElement::rowAtIndex):
(AccessibilityUIElement::disclosedByRow):
(AccessibilityUIElement::accessibilityValue):
(AccessibilityUIElement::documentEncoding):
(AccessibilityUIElement::documentURI):
(AccessibilityUIElement::url):
(AccessibilityUIElement::addNotificationListener):
(AccessibilityUIElement::removeNotificationListener):
(AccessibilityUIElement::isFocusable):
(AccessibilityUIElement::isSelectable):
(AccessibilityUIElement::isMultiSelectable):
(AccessibilityUIElement::isSelectedOptionActive):
(AccessibilityUIElement::isVisible):
(AccessibilityUIElement::isOffScreen):
(AccessibilityUIElement::isCollapsed):
(AccessibilityUIElement::isIgnored):
(AccessibilityUIElement::hasPopup):
(AccessibilityUIElement::takeFocus):
(AccessibilityUIElement::takeSelection):
(AccessibilityUIElement::addSelection):
(AccessibilityUIElement::removeSelection):
(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):
* DumpRenderTree/efl/CMakeLists.txt: Adds ATK headers, libraries, new sources.
* DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
(AccessibilityController::focusedElement):
(AccessibilityController::rootElement):
(AccessibilityController::accessibleElementById):
* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
(AccessibilityUIElement::helpText):
* GNUmakefile.am: Adds renamed sources.

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

7 years agoWeb Inspector: highlight DOM nodes on hover while debugging
pfeldman@chromium.org [Mon, 11 Feb 2013 11:49:43 +0000 (11:49 +0000)]
Web Inspector: highlight DOM nodes on hover while debugging
https://bugs.webkit.org/show_bug.cgi?id=109355

Reviewed by Vsevolod Vlasov.

Along with showing the popover, highlight the remote object as node.

* inspector/front-end/ObjectPopoverHelper.js:
(WebInspector.ObjectPopoverHelper.prototype.):
(WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
(WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):

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

7 years agoUnreviewed gardening. Marked editing/spelling/spellcheck-async.html
haraken@chromium.org [Mon, 11 Feb 2013 11:42:07 +0000 (11:42 +0000)]
Unreviewed gardening. Marked editing/spelling/spellcheck-async.html
as [ Pass Failure ].

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed gardening. Added [Timeout] to http/tests/misc/window-dot-stop.html.
haraken@chromium.org [Mon, 11 Feb 2013 11:36:39 +0000 (11:36 +0000)]
Unreviewed gardening. Added [Timeout] to http/tests/misc/window-dot-stop.html.

* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: displaying whitespace characters is broken
commit-queue@webkit.org [Mon, 11 Feb 2013 11:29:03 +0000 (11:29 +0000)]
Web Inspector: displaying whitespace characters is broken
https://bugs.webkit.org/show_bug.cgi?id=109412

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

Add "pointer-events: none" rule for pseudo-class "before", which
maintains rendering of whitespace characters.

No new tests.

* inspector/front-end/inspectorSyntaxHighlight.css:
(.webkit-whitespace::before):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 11 Feb 2013 11:17:28 +0000 (11:17 +0000)]
Unreviewed GTK gardening.

Adjusted expectations for two flaky crashers.
Removed failure expectations for tests that pass.

* platform/gtk/TestExpectations:

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

7 years agoWeb Inspector: Implement position-based sourcemapping for stylesheets
apavlov@chromium.org [Mon, 11 Feb 2013 11:05:45 +0000 (11:05 +0000)]
Web Inspector: Implement position-based sourcemapping for stylesheets
https://bugs.webkit.org/show_bug.cgi?id=109168

Source/WebCore:

Reviewed by Vsevolod Vlasov.

This change introduces support for position-based source maps for CSS stylesheets.
Sourcemaps and originating resources (sass, scss, etc.) are loaded synchronously
upon the CSS UISourceCode addition. RangeBasedSourceMap is removed as it is not used.

Test: http/tests/inspector/stylesheet-source-mapping.html

* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel):
(WebInspector.CSSStyleModel.prototype.setSourceMapping):
(WebInspector.CSSStyleModel.prototype.rawLocationToUILocation):
(WebInspector.CSSStyleModel.LiveLocation.prototype.uiLocation):
(WebInspector.CSSLocation):
(WebInspector.CSSProperty):
(WebInspector.CSSProperty.parsePayload):
* inspector/front-end/CompilerScriptMapping.js:
(WebInspector.CompilerScriptMapping):
(WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
* inspector/front-end/SASSSourceMapping.js:
(WebInspector.SASSSourceMapping):
(WebInspector.SASSSourceMapping.prototype._styleSheetChanged.callback):
(WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
(WebInspector.SASSSourceMapping.prototype._reloadCSS):
(WebInspector.SASSSourceMapping.prototype._resourceAdded.didRequestContent):
(WebInspector.SASSSourceMapping.prototype._resourceAdded):
(WebInspector.SASSSourceMapping.prototype._loadAndProcessSourceMap):
(WebInspector.SASSSourceMapping.prototype.loadSourceMapForStyleSheet):
(WebInspector.SASSSourceMapping.prototype._bindUISourceCode):
(WebInspector.SASSSourceMapping.prototype.rawLocationToUILocation):
(WebInspector.SASSSourceMapping.prototype.uiLocationToRawLocation):
(WebInspector.SASSSourceMapping.prototype._reset):
* inspector/front-end/SourceMap.js:
(WebInspector.SourceMap):
(WebInspector.SourceMap.load):
(WebInspector.SourceMap.prototype.findEntry):
(WebInspector.SourceMap.prototype.findEntryReversed):
(WebInspector.SourceMap.prototype._parseMap):
* inspector/front-end/StylesSourceMapping.js:
(WebInspector.StylesSourceMapping):
(WebInspector.StylesSourceMapping.prototype._bindUISourceCode):
* inspector/front-end/inspector.js:

LayoutTests:

Added test for the stylesheet source mappings, followed the API changes,
removed RangeBasedSourceMap tests as this type of sourcemap is gone.

Reviewed by Vsevolod Vlasov.

* http/tests/inspector/compiler-script-mapping-expected.txt:
* http/tests/inspector/compiler-script-mapping.html:
* http/tests/inspector/resources/example.css.map: Added.
* http/tests/inspector/resources/example.scss: Added.
* http/tests/inspector/stylesheet-source-mapping-expected.txt: Added.
* http/tests/inspector/stylesheet-source-mapping.html: Added.
* inspector/styles/range-based-mapping-expected.txt: Removed.
* inspector/styles/range-based-mapping.html: Removed.

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

7 years agoImplement CSSValue::equals(const CSSValue&) to optimise CSSValue comparison
commit-queue@webkit.org [Mon, 11 Feb 2013 11:00:54 +0000 (11:00 +0000)]
Implement CSSValue::equals(const CSSValue&) to optimise CSSValue comparison
https://bugs.webkit.org/show_bug.cgi?id=102901

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2013-02-11
Reviewed by Antti Koivisto.

Source/WebCore:

Added comparison method to CSSValue and its children, so that the
css values could be compared efficiently. Before this patch, CSSValue
objects were compared using strings that were generated by the cssText() method.

Test: cssom/cssvalue-comparison.html

* css/CSSAspectRatioValue.cpp:
(WebCore::CSSAspectRatioValue::equals):
(WebCore):
* css/CSSAspectRatioValue.h:
(CSSAspectRatioValue):
* css/CSSBasicShapes.cpp:
(WebCore::CSSBasicShapeRectangle::equals):
(WebCore):
(WebCore::CSSBasicShapeCircle::equals):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::CSSBasicShapePolygon::equals):
* css/CSSBasicShapes.h:
(CSSBasicShapeRectangle):
(CSSBasicShapeCircle):
(CSSBasicShapeEllipse):
(CSSBasicShapePolygon):
* css/CSSBorderImageSliceValue.cpp:
(WebCore::CSSBorderImageSliceValue::equals):
(WebCore):
* css/CSSBorderImageSliceValue.h:
(CSSBorderImageSliceValue):
* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcValue::equals):
(WebCore):
(WebCore::CSSCalcPrimitiveValue::equals):
(CSSCalcPrimitiveValue):
(WebCore::CSSCalcPrimitiveValue::type):
(WebCore::CSSCalcBinaryOperation::equals):
(CSSCalcBinaryOperation):
(WebCore::CSSCalcBinaryOperation::type):
* css/CSSCalculationValue.h:
(WebCore::CSSCalcExpressionNode::equals):
(CSSCalcExpressionNode):
(CSSCalcValue):
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::equals):
(WebCore):
* css/CSSCanvasValue.h:
(CSSCanvasValue):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
(WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
* css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::equals):
(WebCore):
* css/CSSCrossfadeValue.h:
(CSSCrossfadeValue):
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::equals):
(WebCore):
* css/CSSCursorImageValue.h:
(CSSCursorImageValue):
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::equals):
(WebCore):
* css/CSSFontFaceSrcValue.h:
(CSSFontFaceSrcValue):
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::equals):
(WebCore):
* css/CSSFunctionValue.h:
(CSSFunctionValue):
* css/CSSGradientValue.cpp:
(WebCore::CSSLinearGradientValue::equals):
(WebCore):
(WebCore::CSSRadialGradientValue::equals):
* css/CSSGradientValue.h:
(WebCore::CSSGradientColorStop::operator==):
(CSSLinearGradientValue):
(CSSRadialGradientValue):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::equals):
(WebCore):
* css/CSSImageValue.h:
(CSSImageValue):
* css/CSSInheritedValue.h:
(WebCore::CSSInheritedValue::equals):
(CSSInheritedValue):
* css/CSSInitialValue.h:
(WebCore::CSSInitialValue::equals):
(CSSInitialValue):
* css/CSSLineBoxContainValue.h:
(WebCore::CSSLineBoxContainValue::equals):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::equals):
(WebCore):
* css/CSSPrimitiveValue.h:
(CSSPrimitiveValue):
* css/CSSReflectValue.cpp:
(WebCore::CSSReflectValue::equals):
(WebCore):
* css/CSSReflectValue.h:
(CSSReflectValue):
* css/CSSTimingFunctionValue.cpp:
(WebCore::CSSCubicBezierTimingFunctionValue::equals):
(WebCore):
(WebCore::CSSStepsTimingFunctionValue::equals):
* css/CSSTimingFunctionValue.h:
(WebCore::CSSLinearTimingFunctionValue::equals):
(CSSLinearTimingFunctionValue):
(CSSCubicBezierTimingFunctionValue):
(CSSStepsTimingFunctionValue):
* css/CSSUnicodeRangeValue.cpp:
(WebCore::CSSUnicodeRangeValue::equals):
(WebCore):
* css/CSSUnicodeRangeValue.h:
(CSSUnicodeRangeValue):
* css/CSSValue.cpp:
(WebCore):
(WebCore::compareCSSValues):
(WebCore::CSSValue::equals):
* css/CSSValue.h:
(CSSValue):
(WebCore):
(WebCore::compareCSSValueVector):
(WebCore::compareCSSValuePtr):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::removeAll):
(WebCore::CSSValueList::hasValue):
(WebCore::CSSValueList::equals):
(WebCore):
* css/CSSValueList.h:
(CSSValueList):
* css/CSSVariableValue.h:
(WebCore::CSSVariableValue::equals):
(CSSVariableValue):
* css/Counter.h:
(Counter):
(WebCore::Counter::equals):
* css/DashboardRegion.h:
(WebCore::DashboardRegion::equals):
* css/FontFeatureValue.cpp:
(WebCore::FontFeatureValue::equals):
(WebCore):
* css/FontFeatureValue.h:
(FontFeatureValue):
* css/FontValue.cpp:
(WebCore::FontValue::equals):
(WebCore):
* css/FontValue.h:
(FontValue):
* css/MediaQueryExp.h:
(WebCore::MediaQueryExp::operator==):
* css/Pair.h:
(WebCore::Pair::equals):
(Pair):
* css/Rect.h:
(WebCore::RectBase::equals):
(RectBase):
* css/ShadowValue.cpp:
(WebCore::ShadowValue::equals):
(WebCore):
* css/ShadowValue.h:
(ShadowValue):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::get4Values):
(WebCore::StylePropertySet::propertyMatches):
* css/WebKitCSSArrayFunctionValue.cpp:
(WebCore::WebKitCSSArrayFunctionValue::equals):
(WebCore):
* css/WebKitCSSArrayFunctionValue.h:
(WebKitCSSArrayFunctionValue):
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::equals):
(WebCore):
* css/WebKitCSSFilterValue.h:
(WebKitCSSFilterValue):
* css/WebKitCSSMixFunctionValue.cpp:
(WebCore::WebKitCSSMixFunctionValue::equals):
(WebCore):
* css/WebKitCSSMixFunctionValue.h:
(WebKitCSSMixFunctionValue):
* css/WebKitCSSSVGDocumentValue.cpp:
(WebCore::WebKitCSSSVGDocumentValue::equals):
(WebCore):
* css/WebKitCSSSVGDocumentValue.h:
(WebKitCSSSVGDocumentValue):
* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::equals):
(WebCore):
* css/WebKitCSSShaderValue.h:
(WebKitCSSShaderValue):
* css/WebKitCSSTransformValue.h:
(WebCore::WebKitCSSTransformValue::equals):
* editing/EditingStyle.cpp:
(WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
* svg/SVGColor.cpp:
(WebCore::SVGColor::equals):
(WebCore):
* svg/SVGColor.h:
(SVGColor):
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::equals):
(WebCore):
* svg/SVGPaint.h:
(SVGPaint):

LayoutTests:

New layout test to verify that CSSValue objects comparison works properly.

* cssom/cssvalue-comparison-expected.txt: Added.
* cssom/cssvalue-comparison.html: Added.

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

7 years ago[Web Inspector] Network panel, sort by "transferSize" instead of "resourceSize".
commit-queue@webkit.org [Mon, 11 Feb 2013 10:24:02 +0000 (10:24 +0000)]
[Web Inspector] Network panel, sort by "transferSize" instead of "resourceSize".
https://bugs.webkit.org/show_bug.cgi?id=109142.

Patch by Pan Deng <pan.deng@intel.com> on 2013-02-11
Reviewed by Vsevolod Vlasov.

Sort by "transferSize" as it is the primary rather than "resoureSize".

No new tests.

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkDataGridNode.SizeComparator):

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

7 years agoUnreviewed gardening. Mark svg/custom/foreign-object-skew.svg
haraken@chromium.org [Mon, 11 Feb 2013 10:22:03 +0000 (10:22 +0000)]
Unreviewed gardening. Mark svg/custom/foreign-object-skew.svg
as [ ImageOnlyFailure Pass ].

* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: [Resources] Prefactorings in DataGrid and CookieTable
commit-queue@webkit.org [Mon, 11 Feb 2013 10:11:46 +0000 (10:11 +0000)]
Web Inspector: [Resources] Prefactorings in DataGrid and CookieTable
https://bugs.webkit.org/show_bug.cgi?id=109141

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

1) Make deleteCookie method static and move to WebInspector.Cookie
2) Replace resfreshCallback getter/setter in DataGrid with
constructor parameter

* inspector/front-end/CookieItemsView.js: Adopt changes.
* inspector/front-end/CookieParser.js:
(WebInspector.Cookie.prototype.remove): Moved from CookiesTable.
* inspector/front-end/CookiesTable.js: Adopt changes.
* inspector/front-end/DataGrid.js:
Replace setter with constructor parameter.

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

7 years agoWeb Inspector: Don't throw exceptions in WebInspector.Color
commit-queue@webkit.org [Mon, 11 Feb 2013 09:39:32 +0000 (09:39 +0000)]
Web Inspector: Don't throw exceptions in WebInspector.Color
https://bugs.webkit.org/show_bug.cgi?id=104835

Source/WebCore:

Patch by John J. Barton <johnjbarton@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

WebInspector.Color.parse() returns a Color from a string, or null;
Ctor calls now call parse();
In the StylesSideBarPane, test null rather than catch(e).

Added case to inspector/styles/styles-invalid-color-values.html

* inspector/front-end/Color.js:
(WebInspector.Color):
(WebInspector.Color.parse):
(WebInspector.Color.fromRGBA):
(WebInspector.Color.fromRGB):
(WebInspector.Color.prototype.toString):
(WebInspector.Color.prototype._parse.this.alpha.set 0):
(WebInspector.Color.prototype._parse.this.nickname.set 2):
(WebInspector.Color.prototype._parse.this.hsla.set 1):
(WebInspector.Color.prototype._parse.this.rgba.set 0):
(WebInspector.Color.prototype._parse.set WebInspector):
(WebInspector.Color.prototype._parse):
* inspector/front-end/Spectrum.js:
(WebInspector.Spectrum.prototype.get color):
* inspector/front-end/StylesSidebarPane.js:

LayoutTests:

Patch by John J. Barton <johnjbarton@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

Added case to test parsing 'none' from border style

* inspector/styles/styles-invalid-color-values-expected.txt:
* inspector/styles/styles-invalid-color-values.html:

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

7 years agoWeb Inspector: home button behaviour is wrong in DTE
commit-queue@webkit.org [Mon, 11 Feb 2013 09:34:16 +0000 (09:34 +0000)]
Web Inspector: home button behaviour is wrong in DTE
https://bugs.webkit.org/show_bug.cgi?id=109154

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Handle home key shortcut explicitly in TextEditorMainPanel.

New test: inspector/editor/text-editor-home-button.html

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
(WebInspector.TextEditorMainPanel.prototype._handleHomeKey):

LayoutTests:

Add layout test to verify home button behaviour. Exclude this test on
platforms that do not have eventSender object in test shell.

* inspector/editor/editor-test.js:
(initialize_EditorTests.lineWithCursor):
(initialize_EditorTests.InspectorTest.textWithSelection): Added helper method to add selection symbols in text.
* inspector/editor/text-editor-home-button-expected.txt: Added.
* inspector/editor/text-editor-home-button.html: Added.
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

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

7 years ago[chromium] clear the webcache from within the TestRunner library
jochen@chromium.org [Mon, 11 Feb 2013 09:04:50 +0000 (09:04 +0000)]
[chromium] clear the webcache from within the TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=109405

Reviewed by Kentaro Hara.

* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.cpp:
(WebTestRunner::TestInterfaces::resetAll):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::resetTestController):

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

7 years ago[chromium] add a destructor to EventSender
jochen@chromium.org [Mon, 11 Feb 2013 09:02:59 +0000 (09:02 +0000)]
[chromium] add a destructor to EventSender
https://bugs.webkit.org/show_bug.cgi?id=109401

Reviewed by Kentaro Hara.

Otherwise, the compiler will automatically generate a destructor, for
which we need to unnecessarily include WebContextMenuData.h in the
header.

* DumpRenderTree/chromium/TestRunner/src/EventSender.cpp:
(WebTestRunner):
(WebTestRunner::EventSender::~EventSender):
* DumpRenderTree/chromium/TestRunner/src/EventSender.h:
(WebKit):
(EventSender):

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

7 years agoUnreviewed, GTK gardening
philn@webkit.org [Mon, 11 Feb 2013 08:36:49 +0000 (08:36 +0000)]
Unreviewed, GTK gardening

* platform/gtk/TestExpectations: Flagging media tests affected
by bug 108682

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

7 years ago[Qt] Unreviewed gardening. Skip faling test.
kadam@inf.u-szeged.hu [Mon, 11 Feb 2013 08:27:25 +0000 (08:27 +0000)]
[Qt] Unreviewed gardening. Skip faling test.
https://bugs.webkit.org/show_bug.cgi?id=109353.

* platform/qt/TestExpectations:

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

7 years agoAdd ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
inferno@chromium.org [Mon, 11 Feb 2013 08:06:45 +0000 (08:06 +0000)]
Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
https://bugs.webkit.org/show_bug.cgi?id=108981

Reviewed by Eric Seidel.

Source/WebCore:

* Modules/mediastream/RTCStatsResponse.cpp:
(WebCore::RTCStatsResponse::addElement):
(WebCore::RTCStatsResponse::addStatistic):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::skipBuffer):
* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
(WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
* css/WebKitCSSTransformValue.cpp:
(WebCore::transformValueToCssString):
* editing/TextIterator.cpp:
(WebCore::SearchBuffer::search):
* html/HTMLElement.cpp:
(WebCore::parseColorStringWithCrazyLegacyRules):
* html/ImageData.cpp:
(WebCore::ImageData::ImageData):
* html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
* html/track/TextTrackCueList.cpp:
(WebCore::TextTrackCueList::add):
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::getSomeData):
* platform/SharedBufferChunkReader.cpp:
(WebCore::SharedBufferChunkReader::nextChunk):
* platform/audio/HRTFDatabase.cpp:
(WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage):
* platform/graphics/Region.cpp:
(WebCore::Region::Shape::segments_end):
* platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::getValues):
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::inputEffect):
* platform/text/TextCodecUTF8.cpp:
(WebCore::TextCodecUTF8::decode):
* platform/text/mac/TextCodecMac.cpp:
(WebCore::TextCodecMac::decode):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::checkFloatsInCleanLine):
* svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::executeAction):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::calculatePercentForSpline):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::findInstanceTime):

Source/WebKit/chromium:

* src/AutofillPopupMenuClient.cpp:
(WebKit::AutofillPopupMenuClient::getSuggestion):
(WebKit::AutofillPopupMenuClient::getLabel):
(WebKit::AutofillPopupMenuClient::getIcon):
(WebKit::AutofillPopupMenuClient::removeSuggestionAtIndex):
(WebKit::AutofillPopupMenuClient::valueChanged):
(WebKit::AutofillPopupMenuClient::selectionChanged):
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::shouldRunModalDialogDuringPageDismissal):

Source/WTF:

* wtf/BitVector.h:
(WTF::BitVector::quickGet):
(WTF::BitVector::quickSet):
(WTF::BitVector::quickClear):
* wtf/DecimalNumber.h:
(WTF::DecimalNumber::DecimalNumber):
* wtf/SegmentedVector.h:
(WTF::SegmentedVector::ensureSegment):
* wtf/StringPrintStream.cpp:
(WTF::StringPrintStream::vprintf):
* wtf/Vector.h:
(WTF::::insert):
(WTF::::remove):
* wtf/dtoa/utils.h:
(WTF::double_conversion::StringBuilder::SetPosition):
(WTF::double_conversion::StringBuilder::AddSubstring):

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

7 years agoWebSpeech: Implement basic speaking/finished speaking behavior
cfleizach@apple.com [Mon, 11 Feb 2013 07:24:58 +0000 (07:24 +0000)]
WebSpeech: Implement basic speaking/finished speaking behavior
https://bugs.webkit.org/show_bug.cgi?id=107135

Reviewed by Sam Weinig.

Source/WebCore:

Implements the basic functionality of speaking utterances.

In the WebCore side, it manages the speech queue the way the spec defines
(that is, new jobs are appended to a queue and wait for other jobs to finish).

On the Mac side, it instantiates a synthesizer and handles the callbacks for when
jobs are finished. It sends those jobs back to WebCore to dispatch the right events.

Test: platform/mac/fast/speechsynthesis/speech-synthesis-speak.html

* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::SpeechSynthesis):
(WebCore::SpeechSynthesis::paused):
(WebCore::SpeechSynthesis::startSpeakingImmediately):
(WebCore::SpeechSynthesis::speak):
(WebCore):
(WebCore::SpeechSynthesis::fireEvent):
(WebCore::SpeechSynthesis::handleSpeakingCompleted):
(WebCore::SpeechSynthesis::didStartSpeaking):
(WebCore::SpeechSynthesis::didFinishSpeaking):
(WebCore::SpeechSynthesis::speakingErrorOccurred):
* Modules/speech/SpeechSynthesis.h:
(WebCore):
(WebCore::SpeechSynthesis::speaking):
(SpeechSynthesis):
* Modules/speech/SpeechSynthesisEvent.cpp:
(WebCore::SpeechSynthesisEvent::create):
(WebCore):
(WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
* Modules/speech/SpeechSynthesisEvent.h:
(SpeechSynthesisEvent):
(WebCore::SpeechSynthesisEvent::interfaceName):
* Modules/speech/SpeechSynthesisUtterance.h:
(WebCore::SpeechSynthesisUtterance::startTime):
(WebCore::SpeechSynthesisUtterance::setStartTime):
(SpeechSynthesisUtterance):
* platform/PlatformSpeechSynthesisUtterance.cpp:
(WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
* platform/PlatformSpeechSynthesisUtterance.h:
(PlatformSpeechSynthesisUtterance):
(WebCore::PlatformSpeechSynthesisUtterance::setVolume):
(WebCore::PlatformSpeechSynthesisUtterance::setRate):
(WebCore::PlatformSpeechSynthesisUtterance::setPitch):
(WebCore::PlatformSpeechSynthesisUtterance::startTime):
(WebCore::PlatformSpeechSynthesisUtterance::setStartTime):
(WebCore::PlatformSpeechSynthesisUtterance::client):
* platform/PlatformSpeechSynthesizer.cpp:
(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
* platform/PlatformSpeechSynthesizer.h:
(PlatformSpeechSynthesizerClient):
(WebCore::PlatformSpeechSynthesizer::client):
(PlatformSpeechSynthesizer):
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
(-[WebSpeechSynthesisWrapper dealloc]):
(-[WebSpeechSynthesisWrapper convertRateToWPM:]):
(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
(WebCore::PlatformSpeechSynthesizer::speak):

LayoutTests:

* platform/mac/fast/speechsynthesis/speech-synthesis-speak-expected.txt: Added.
* platform/mac/fast/speechsynthesis/speech-synthesis-speak.html: Added.

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