WebKit-https.git
6 years agoUnreviewed, rolling out r140051.
dominicc@chromium.org [Fri, 18 Jan 2013 01:58:12 +0000 (01:58 +0000)]
Unreviewed, rolling out r140051.
http://trac.webkit.org/changeset/140051
https://bugs.webkit.org/show_bug.cgi?id=107210

html-parser-srcdoc.html failing on Chromium Linux Perf and
Chromium Mac Perf with a lot of error spew about blocked
script execution in 'about:srcdoc' (Requested by dominicc on
#webkit).

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

* Parser/html-parser-srcdoc.html: Removed.
* Skipped:

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

6 years ago[chromium] Test expectations update
hclam@chromium.org [Fri, 18 Jan 2013 01:47:51 +0000 (01:47 +0000)]
[chromium] Test expectations update
https://bugs.webkit.org/show_bug.cgi?id=107209

Mark this test as crash on debug builds:
fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html

This crash seems to be caused by r140024.

* platform/chromium/TestExpectations:

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

6 years ago[chromium] Disable a unit test
hclam@chromium.org [Fri, 18 Jan 2013 01:35:24 +0000 (01:35 +0000)]
[chromium] Disable a unit test
https://bugs.webkit.org/show_bug.cgi?id=107206

Unreviewed. Disable a failing test due to 140025.

* tests/WebFrameTest.cpp:

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

6 years agoTop layer fails for inline elements
falken@chromium.org [Fri, 18 Jan 2013 01:34:29 +0000 (01:34 +0000)]
Top layer fails for inline elements
https://bugs.webkit.org/show_bug.cgi?id=106538

Reviewed by Hajime Morita.

Source/WebCore:

This patch makes position 'static' and 'relative' compute to
'absolute' for elements in the top layer, as mandated by the
Fullscreen spec.[1] By doing so, we also fix a crash that occurred in
RenderLayer::rebuildZOrderLists when an inline element wrapped in an
anonymous block was added to the top layer.

[1]: http://fullscreen.spec.whatwg.org/#new-stacking-layer

Tests: fast/dom/HTMLDialogElement/element-removed-from-top-layer-has-original-position.html
       fast/dom/HTMLDialogElement/top-layer-position-relative.html
       fast/dom/HTMLDialogElement/top-layer-position-static.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle): Set position 'absolute'
for an element in the top layer. Typically, absolutely positioned
elements also automatically get display 'block', but it seems we must do
that manually here. We require display 'block' to ensure the renderer is not
considered inline and consequently wrapped in an anonymous block.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::rebuildZOrderLists): Check node() so we don't
crash on, e.g., an anonymous block. We don't expect top layer
renderers to have anonymous blocks anymore, but we nevertheless
shouldn't crash if some other renderer is parented by RenderView.

LayoutTests:

* fast/dom/HTMLDialogElement/element-removed-from-top-layer-has-original-position-expected.html: Added.
* fast/dom/HTMLDialogElement/element-removed-from-top-layer-has-original-position.html: Added.
* fast/dom/HTMLDialogElement/top-layer-position-relative-expected.html: Added.
* fast/dom/HTMLDialogElement/top-layer-position-relative.html: Added.
* fast/dom/HTMLDialogElement/top-layer-position-static-expected.html: Added.
* fast/dom/HTMLDialogElement/top-layer-position-static.html: Added.

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

6 years ago[chromium] Test expectations update
hclam@chromium.org [Fri, 18 Jan 2013 01:29:49 +0000 (01:29 +0000)]
[chromium] Test expectations update
https://bugs.webkit.org/show_bug.cgi?id=107204

Mark this test as flaky:
fast/events/touch/multi-touch-inside-iframes.html

* platform/chromium/TestExpectations:

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

6 years agoFix crash accessing RenderView's layer's backing when not composited
simon.fraser@apple.com [Fri, 18 Jan 2013 01:07:13 +0000 (01:07 +0000)]
Fix crash accessing RenderView's layer's backing when not composited
https://bugs.webkit.org/show_bug.cgi?id=107203

Reviewed by Benjamin Poulain.

The RenderView isn't always layer-backed in WebKit1, so null-check the backing.

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

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

6 years agoRemove NodeListsNodeData when it's no longer needed
rniwa@webkit.org [Fri, 18 Jan 2013 00:35:57 +0000 (00:35 +0000)]
Remove NodeListsNodeData when it's no longer needed
https://bugs.webkit.org/show_bug.cgi?id=107074

Reviewed by Darin Adler.

PerformanceTests:

Added a micro benchmark to see the benefit of removing NodeListsNodeData.
The test traverses all elements in the html5 specification page and accesses childNodes.

Don't enable this test for now since it's really a micro benchmark specifically
designed to test this patch.

* DOM/TraverseChildNodes.html: Added.
* Skipped: Don't enable newly added test by default.
* resources/results-template.html: Compare against the unscaled unit (e.g. "bytes") as
opposed to scaled units such as "K bytes".
* resources/runner.js:
(.start): Moved the code to call currentTest.setup from measureRunsPerSecondOnce so that
it'll be ran for all test types, namely of PerfTestRunner.measureTime.
(.measureRunsPerSecondOnce):

Source/WebCore:

Remove NodeListsNodeData when the last node list is removed from it.

If we detect that we have only one node list left in the data structure,
we'll simply destroy the entire "this" object to free up the memory space.

This reduced the memory usage of the micro benchmark by roughly 3%.

Performance Tests: DOM/TraverseChildNodes.html

* dom/Node.cpp:
(WebCore::Node::clearNodeLists): Added.
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::removeChildNodeList):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCacheWithName):
(WebCore::NodeListsNodeData::removeCacheWithQualifiedName):
(WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList): Added.
Removes "this" NodeListsNodeData if there is only one node list left.

Tools:

Generalize the warning a little so that it's also ignored on PerformanceTests/DOM/TraverseChildNodes.html

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):

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

6 years agoHeap-use-after-free in WebCore::RenderBlock::checkFloatsInCleanLine
inferno@chromium.org [Fri, 18 Jan 2013 00:22:41 +0000 (00:22 +0000)]
Heap-use-after-free in WebCore::RenderBlock::checkFloatsInCleanLine
https://bugs.webkit.org/show_bug.cgi?id=90802

Reviewed by Julien Chaffraix.

Source/WebCore:

Test: fast/multicol/float-not-removed-crash.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::moveChildrenTo):
1. When fullRemoveInsert is True, make sure to clear the
floating objects from our list (similar to positioned objects).
Our children are getting moved to another block and we won't
get notified when they are going away.
2. Remove the redundant hasPositionedObjects check since it
is already done inside removePositionedObjects.

LayoutTests:

* fast/multicol/float-not-removed-crash-expected.txt: Added.
* fast/multicol/float-not-removed-crash.html: Added.

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

6 years agoMake it possible for the root background to be painted into its own GraphicsLayer
simon.fraser@apple.com [Fri, 18 Jan 2013 00:10:53 +0000 (00:10 +0000)]
Make it possible for the root background to be painted into its own GraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=107177

Source/WebCore:

Reviewed by Dave Hyatt.

Make it possible to paint the root background into its own GraphicsLayer, and enable
this when the root background has background-images that are all background-attachment: fixed.

This is a step towards optimizing scrolling on pages with fixed root backgrounds.

Tests: platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer.html
       platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html.html
       platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html.html
       platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed.html
       platform/mac/tiled-drawing/fixed-background/fixed-body-background.html
       platform/mac/tiled-drawing/fixed-background/fixed-html-background.html
       platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background.html

* rendering/PaintInfo.h:
(WebCore::PaintInfo::skipRootBackground): Utility function to check the paintBehavior flag.
(WebCore::PaintInfo::paintRootBackgroundOnly): Ditto.
* rendering/PaintPhase.h: New paint behavior flags to indicate that we should skip painting
the root background, and only paint the root background.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint): When we're only painting the root background, avoid painting column
rules, and bail early.
(WebCore::RenderBlock::paintObject): Don't paint children if we're just painting the root background.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange): If this box can paint the root background, tell the compositor
when the fixedness of those backgrounds changes.
(WebCore::RenderBox::paintRootBoxFillLayers): If the paintBehavior flag is set to skip painting the root
background, bail. This will be true for the non-background GraphicsLayers which are painting the root.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents): We can bail early if we're not a root-like renderer and the
flag is set to paint the root background only. This avoids walking the whole layer tree when just painting
into the root background GraphicsLayer.
Migrate layer paint flags into PaintBehavior flags, and use them.
* rendering/RenderLayer.h: Layer painting flags that replicate the paintBehavior flags.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking): Init the m_backgroundLayerPaintsFixedRootBackground bit.
(WebCore::RenderLayerBacking::~RenderLayerBacking): Clear the background layer.
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): No need to handle the transparent background
stuff here. We'll do it later in updateRootLayerConfiguration().
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Actually make a background layer now
if the compositor says we should.
Call updateRootLayerConfiguration() to adjust the background color and opaqueness of the background/primary layers.
(WebCore::RenderLayerBacking::updateInternalHierarchy): Parent the m_backgroundLayer in the containment layer,
not m_graphicsLayer (this is a bug fix).
(WebCore::RenderLayerBacking::updateDrawsContent):
(WebCore::RenderLayerBacking::setBackgroundLayerPaintsFixedRootBackground):
(WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
(WebCore::RenderLayerBacking::updateBackgroundColor): This no longer needs to update the tile cache
background color; updateRootLayerConfiguration() does this now.
(WebCore::RenderLayerBacking::updateRootLayerConfiguration): Update the opaqueness and background color
of the background and/or main graphics layers.
(WebCore::RenderLayerBacking::setContentsNeedDisplay): Invalidate the background layer if we have one.
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Invalidate the background layer if we have one.
This will be optimized to only repaint the background if it was the background that changed.
(WebCore::RenderLayerBacking::paintIntoLayer): Take a GraphicsLayer, not a RenderLayer argument.
Adjust the paintFlags if we're being asked to paint the background layer, or if we have one, but are painting the foreground.
(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
(WebCore::RenderLayerBacking::reportMemoryUsage):
* rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::backgroundLayer):
(WebCore::RenderLayerBacking::backgroundLayerPaintsFixedRootBackground):
(RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged): If we're told that the fixed-ness of
the root background changed and we're using a TileCache, we need to re-evaluate compositing (this could be
optimized to only update the root layer).
(WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer): For the root (RenderView's) layer,
check whether the renderer that will paint the root (taking background propagation into account) has
background images that are all fixed.
(WebCore::RenderLayerCompositor::fixedRootBackgroundLayer): Accessor for the GraphicsLayer that paints
the root background (will be used later).
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::hasEntirelyFixedBackground): Returns true there are background images
and all are fixed.
* rendering/RenderObject.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations): This function paints a solid color if we know that the root
isn't going to fill the viewport; we want to avoid this painting if we're not painting the root background
in this pass.
* rendering/style/RenderStyle.cpp:
(WebCore::allLayersAreFixed):
(WebCore::RenderStyle::hasEntirelyFixedBackground): New helper function.
* rendering/style/RenderStyle.h:

LayoutTests:

Reviewed by Dave Hyatt.

New tests with results for a fixed root background layer when using tiled drawing.

* platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-html-background-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-html-background-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-html-background.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background.html: Added.

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

6 years agoRef test images are upside-down in WebKit2
simon.fraser@apple.com [Fri, 18 Jan 2013 00:10:40 +0000 (00:10 +0000)]
Ref test images are upside-down in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=105457

Reviewed by Sam "Speedy" Weinig.

The bitmap context created in TestInvocation::dumpPixelsAndCompareWithExpected()
from the window snapshot contained a flipped copy of the image, causing all ref
and pixel images to be upside-down.

* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

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

6 years agoAllow PaintInfo to carry all PaintBehavior flags
simon.fraser@apple.com [Fri, 18 Jan 2013 00:10:31 +0000 (00:10 +0000)]
Allow PaintInfo to carry all PaintBehavior flags
https://bugs.webkit.org/show_bug.cgi?id=106980

Reviewed by Beth Dakin.

In r139908 I missed one instance of the PaintInfo constructor that should take PaintBehaviorNormal
instead of "false".

* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::paintIntoRect):

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

6 years ago[chromium] Test expectations update
hclam@chromium.org [Fri, 18 Jan 2013 00:08:58 +0000 (00:08 +0000)]
[chromium] Test expectations update

Unreviewed build fix. Update test expectations to reflect crashing tests:
http/tests/appcache/fail-on-update.html
http/tests/appcache/fail-on-update-2.html

* platform/chromium/TestExpectations:

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

6 years ago[Template] Avoid reading beyond the end of the buffer in preload scanner when check...
rafaelw@chromium.org [Fri, 18 Jan 2013 00:06:54 +0000 (00:06 +0000)]
[Template] Avoid reading beyond the end of the buffer in preload scanner when check for </template>
https://bugs.webkit.org/show_bug.cgi?id=107143

Reviewed by Adam Barth.

This patch corrects to use AtomicString constructor which takes an explicit size. Additionally, the logic
for exiting early is slightly improved.

No new tests.

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

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

6 years ago[TexMap] Match initializing members in GraphicsLayerTransform to initializing members...
commit-queue@webkit.org [Fri, 18 Jan 2013 00:04:37 +0000 (00:04 +0000)]
[TexMap] Match initializing members in GraphicsLayerTransform to initializing members in GraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=107090

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-17
Reviewed by Noam Rosenthal.

GraphicsLayer initializes m_anchorPoint to FloatPoint3D(0.5, 0.5, 0) and
m_preserves3D to false, while GraphicsLayerTransform initializes m_anchorPoint
to FloatPoint3D(0, 0, 0) and m_flattening (= !m_preserves3D) to false. It is a
potential bug. This patch corrects initialization of GraphicsLayerTransform.

Covered by existing compositing pixel tests.

* platform/graphics/GraphicsLayerTransform.cpp:
(WebCore::GraphicsLayerTransform::GraphicsLayerTransform):

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

6 years agoScriptDebugServer::didExecuteProgram should not try to pop stack if there is no stack...
fpizlo@apple.com [Thu, 17 Jan 2013 23:52:40 +0000 (23:52 +0000)]
ScriptDebugServer::didExecuteProgram should not try to pop stack if there is no stack to pop
https://bugs.webkit.org/show_bug.cgi?id=107186

Reviewed by Geoffrey Garen.

No new tests, because I'm not sure how to test this. I can repro it on a gnarly web site,
but I don't know how to create a reduced case that triggers it.

* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::didExecuteProgram):

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

6 years agoBuild fix. Bad merge.
timothy@apple.com [Thu, 17 Jan 2013 23:25:59 +0000 (23:25 +0000)]
Build fix. Bad merge.

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

6 years ago[GTK] IndexedDB: Add LevelDB headers to include path if IndexedDB is enabled
commit-queue@webkit.org [Thu, 17 Jan 2013 23:23:09 +0000 (23:23 +0000)]
[GTK] IndexedDB: Add LevelDB headers to include path if IndexedDB is enabled
https://bugs.webkit.org/show_bug.cgi?id=107181

Patch by Michael Pruett <michael@68k.org> on 2013-01-17
Reviewed by Martin Robinson.

No new tests as this is just a build change.

* GNUmakefile.am:

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

6 years agoThe threaded html parser hangs when parsing empty documents (and about:blank)
eric@webkit.org [Thu, 17 Jan 2013 23:21:25 +0000 (23:21 +0000)]
The threaded html parser hangs when parsing empty documents (and about:blank)
https://bugs.webkit.org/show_bug.cgi?id=107160

Reviewed by Tony Gentilcore.

This is covered by many existing tests including the html5lib suite.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::finish):

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

6 years agoimageSmoothingEnabled frequent, unpredictable crashes
commit-queue@webkit.org [Thu, 17 Jan 2013 23:17:24 +0000 (23:17 +0000)]
imageSmoothingEnabled frequent, unpredictable crashes
https://bugs.webkit.org/show_bug.cgi?id=107161

Patch by Alexis Hetu <sugoi@chromium.org> on 2013-01-17
Reviewed by Stephen White.

Source/WebCore:

Added a NULL pointer check to fix a crash.

Test: fast/canvas/canvas-imageSmoothingEnabled-zero-size.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):

LayoutTests:

Added a layout test for setting image smoothing enabled on a 0 sized
canvas.

* fast/canvas/canvas-imageSmoothingEnabled-zero-size-expected.txt: Added.
* fast/canvas/canvas-imageSmoothingEnabled-zero-size.html: Added.

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

6 years agoUnreviewed, rolling out r140049.
commit-queue@webkit.org [Thu, 17 Jan 2013 23:08:43 +0000 (23:08 +0000)]
Unreviewed, rolling out r140049.
http://trac.webkit.org/changeset/140049
https://bugs.webkit.org/show_bug.cgi?id=107187

Breaks lots of stuff (Requested by schenney on #webkit).

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

Source/WebCore:

* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::setPreserveAspectRatioString):
(WebCore):
(WebCore::SVGViewSpec::viewTarget):
(WebCore::SVGViewSpec::transform):
(WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
(WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
(WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
* svg/SVGViewSpec.h:
(SVGViewSpec):
(WebCore::SVGViewSpec::viewBoxAnimated):
(WebCore::SVGViewSpec::preserveAspectRatioAnimated):
* svg/SVGViewSpec.idl:

LayoutTests:

* svg/dom/SVGViewSpec-invalid-ref-crash-expected.txt: Removed.
* svg/dom/SVGViewSpec-invalid-ref-crash.html: Removed.

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

6 years agoThreaded parser hangs when encountering an unmatched </script> tag
eric@webkit.org [Thu, 17 Jan 2013 23:06:00 +0000 (23:06 +0000)]
Threaded parser hangs when encountering an unmatched </script> tag
https://bugs.webkit.org/show_bug.cgi?id=107170

Reviewed by Adam Barth.

The bug was that the BackgroundHTMLParser naively yields to the
main thread every time it encounters a </script>
(as we may have to run script on the main thread).  However, not every
</script> results in script execution, so the main thread needs to know
how to tell the BackgroundHTMLParser to continue in cases where no
script execution is needed.

This whole infrastructure will be replaced when we let the BackgroundHTMLParser
continue speculatively tokenizing after yielding.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::TokenDelivery::TokenDelivery):
(TokenDelivery):
(WebCore::TokenDelivery::execute):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):

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

6 years ago REGRESSION (r139516): NetworkResourceLoadScheduler::receivedRedirect is not...
ap@apple.com [Thu, 17 Jan 2013 23:02:50 +0000 (23:02 +0000)]
    REGRESSION (r139516): NetworkResourceLoadScheduler::receivedRedirect is not called.

        Rubber-stamped by Brady Eidson.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::willSendRequest): Reverted a small part of r139516.

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

6 years agoCoordinated Graphics: Remove redundant behaviors in LayerTreeRenderer.
commit-queue@webkit.org [Thu, 17 Jan 2013 22:55:06 +0000 (22:55 +0000)]
Coordinated Graphics: Remove redundant behaviors in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=107084

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-17
Reviewed by Noam Rosenthal.

There are two changes.
1. It is redundant to call GraphicsLayer::removeFromParent() or
GraphicsLayer::removeAllChildren() before deleting GraphicsLayer, because the
destructor of GraphicsLayerTextureMapper removes a parent and all children.
2. LayerTreeRenderer::setRootLayerID() does not need to remove all children of
rootLayer because this method can be called only once.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::setRootLayerID):
(WebKit::LayerTreeRenderer::purgeGLResources):

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

6 years agoFix build.
timothy@apple.com [Thu, 17 Jan 2013 22:54:57 +0000 (22:54 +0000)]
Fix build.

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

6 years agoAdd a version of the html-parser benchmark which uses srcdoc instead of document...
eric@webkit.org [Thu, 17 Jan 2013 22:53:14 +0000 (22:53 +0000)]
Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser
https://bugs.webkit.org/show_bug.cgi?id=107158

Reviewed by Ryosuke Niwa.

Currently this test even opts-in to the threaded parser if available.
We'll remove that line when the threaded parser becomes default or goes away.

* Parser/html-parser-srcdoc.html: Added.

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

6 years agoStop the background parser when canceling parsing to avoid crashing on many layout...
eric@webkit.org [Thu, 17 Jan 2013 22:52:51 +0000 (22:52 +0000)]
Stop the background parser when canceling parsing to avoid crashing on many layout tests
https://bugs.webkit.org/show_bug.cgi?id=107159

Reviewed by Adam Barth.

Covered by many existing tests.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::stopParsing):

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

6 years agoSVGViewSpec fails when corresponding element has been removed
schenney@chromium.org [Thu, 17 Jan 2013 22:51:03 +0000 (22:51 +0000)]
SVGViewSpec fails when corresponding element has been removed
https://bugs.webkit.org/show_bug.cgi?id=106957

Reviewed by Dirk Schulze.

Source/WebCore:

When JS holds an SVGViewSpec object while deleting the object that
defines the spec (an SVGSVGElement, or one of a few others) the
pointer to the target is cleared in the SVGViewSpec but the methods
that serve JS queries do not check and try to access the now null
target. This atch fixes the prooblem, throwing JS exceptions where
possible and returning null where necessary.

Test: svg/dom/SVGViewSpec-invalid-ref-crash.html

* svg/SVGViewSpec.cpp:
(WebCore):
(WebCore::SVGViewSpec::viewTarget): Check for null target and throw an exception.
(WebCore::SVGViewSpec::transform): Check for null target and return
null. It is not possible to throw an exception here because it leads
to an invalid cast in the code generated from IDLs.
(WebCore::SVGViewSpec::viewBoxAnimated): Check for null target and throw an exception.
(WebCore::SVGViewSpec::preserveAspectRatioAnimated): Check for null target and throw an exception.
(WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): ASSERT non-null target
(WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): ASSERT non-null target
(WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): ASSERT non-null target
* svg/SVGViewSpec.h:
(SVGViewSpec): Add Exception arguments to getter methods.
* svg/SVGViewSpec.idl: Mark attributes as throwing exceptions.

LayoutTests:

Test for the situation in which the target of an SVGViewSpec is
removed while the view spec lives on in JS.

* svg/dom/SVGViewSpec-invalid-ref-crash-expected.txt: Added.
* svg/dom/SVGViewSpec-invalid-ref-crash.html: Added.

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

6 years agoIndexedDB: Remove unnecessary call to IDBDatabaseBackendInterface::metadata()
alecflett@chromium.org [Thu, 17 Jan 2013 22:46:46 +0000 (22:46 +0000)]
IndexedDB: Remove unnecessary call to IDBDatabaseBackendInterface::metadata()
https://bugs.webkit.org/show_bug.cgi?id=107142

Reviewed by Kentaro Hara.

This call isn't necessary, and probably slipped through an earlier review
because of the mention of 'm_metadata'.

No new tests, as this code has no side effects and all tests sill pass.

* Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::count):

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

6 years agoTable layout does not need to explicitly call computePreferredLogicalWidths
ojan@chromium.org [Thu, 17 Jan 2013 22:41:14 +0000 (22:41 +0000)]
Table layout does not need to explicitly call computePreferredLogicalWidths
https://bugs.webkit.org/show_bug.cgi?id=106931

Reviewed by Julien Chaffraix.

Code shouldn't need to explicitly call computePreferredLogicalWidths.
It should only get called as a by-product of calling minPreferredLogicalWidth
or maxPreferredLogicalWidth.

Instead, make it clear that the calling code is just trying to clear
preferred width dirty bits.

* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
The computePreferredLogicalWidths call on the table cell is redundant
with the minPreferredLogicalWidth call on the next line.

* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcWidthArray):
We only need to clear the dirty bit here. Table cells don't use
their preferred widths in fixed table layout calculations.

* rendering/RenderTableCell.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::clearPreferredLogicalWidthsDirtyBits):
* rendering/RenderTableCol.h:

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

6 years ago[BlackBerry] InRegionScroller should notify client before it deletes all the scrollables
yoli@rim.com [Thu, 17 Jan 2013 22:38:23 +0000 (22:38 +0000)]
[BlackBerry] InRegionScroller should notify client before it deletes all the scrollables
https://bugs.webkit.org/show_bug.cgi?id=107162

Reviewed by Rob Buis.
Internally reviewed by Gen Mak and Mike Fenton.

Move the notification code from notifyInRegionScrollStopped() to reset() as there are
other places where reset() gets called.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::reset):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):

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

6 years ago[CSS Grid Layout] Updating -webkit-grid-rows or -webkit-grid-columns doesn't work...
jchaffraix@webkit.org [Thu, 17 Jan 2013 22:35:24 +0000 (22:35 +0000)]
[CSS Grid Layout] Updating -webkit-grid-rows or -webkit-grid-columns doesn't work as expected
https://bugs.webkit.org/show_bug.cgi?id=107062

Reviewed by Tony Chang.

Source/WebCore:

Tests: fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html
       fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html

This change makes -webkit-grid-rows and -webkit-grid-columns dynamic change properly
relayout their children, thus making them work!

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGridItems):
Fixed the logic to force a grid item relayout if the grid area size changes. This is the
safest approach as margins or paddings can also be a percent of the grid area's size.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
Fixed a dumb mistake.

LayoutTests:

* fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update-expected.txt: Added.
* fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html: Added.
* fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update-expected.txt: Added.
* fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html: Added.

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

6 years agoMake logging console messages to STDOUT work in WebKit2 via a new setting.
timothy@apple.com [Thu, 17 Jan 2013 22:32:22 +0000 (22:32 +0000)]
Make logging console messages to STDOUT work in WebKit2 via a new setting.

https://bugs.webkit.org/show_bug.cgi?id=107157

Reviewed by Joseph Pecoraro.

Source/WebCore:

* page/Console.cpp:
(WebCore::Console::addMessage): Check logsPageMessagesToSystemConsoleEnabled().
(WebCore::internalAddMessage): Ditto. Refactored to return early and drop printExceptions argument.
(WebCore::Console::error): Removed call to shouldPrintExceptions().
(WebCore::Console::log): Ditto.
(WebCore::Console::warn): Ditto.
(WebCore::Console::dir): Ditto.
(WebCore::Console::dirxml): Ditto.
(WebCore::Console::clear): Ditto.
(WebCore::Console::trace): Ditto.
(WebCore::Console::assertCondition): Ditto.
* page/Settings.in: Added logsPageMessagesToSystemConsoleEnabled.

Source/WebKit2:

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled): Added.
(WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled): Added.
* UIProcess/API/C/WKPreferencesPrivate.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::createInspectorPageGroup): Enable logging in debug builds.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Set new setting in WebCore.

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

6 years ago[BlackBerry] Fix selection handle appearance for RTL text.
mifenton@rim.com [Thu, 17 Jan 2013 22:31:42 +0000 (22:31 +0000)]
[BlackBerry] Fix selection handle appearance for RTL text.
https://bugs.webkit.org/show_bug.cgi?id=107043

Reviewed by Rob Buis.

PR 263585.

Invert the reported selection handle position if to match
the visual order instead of the logical order to create the
desired appearance for RTL text and directional selections.

Reviewed Internally by Gen Mak and Nima Ghanavatian.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):

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

6 years ago[chromium] Fix layout test expectations.
hclam@chromium.org [Thu, 17 Jan 2013 22:23:29 +0000 (22:23 +0000)]
[chromium] Fix layout test expectations.

Not reviewed. Update layout test expectations.

http/tests/appcache/fail-on-update.html is crashing, mark it so.

* platform/chromium/TestExpectations:

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

6 years agoTeach Functional.h about WeakPtr
abarth@webkit.org [Thu, 17 Jan 2013 22:17:12 +0000 (22:17 +0000)]
Teach Functional.h about WeakPtr
https://bugs.webkit.org/show_bug.cgi?id=107105

Reviewed by Anders Carlsson.

A common pattern in cross-thread communication is to call member
functions of an object on a remote thread. If the caller's reference to
the object on the remote thread is a WeakPtr, the caller usually wants
to validate that the object still exists when the call actually takes
place.

It's possible to do this manually for every cross-thread call, but that
is tiresome and error prone. Instead, we can teach bind to validate
WeakPtr arguments when passed as the "this" parameter to a member
function.

* wtf/Functional.h:
(WTF::ParamStorageTraits::validate):

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

6 years agoUnreviewed, rolling out r140023.
commit-queue@webkit.org [Thu, 17 Jan 2013 22:06:13 +0000 (22:06 +0000)]
Unreviewed, rolling out r140023.
http://trac.webkit.org/changeset/140023
https://bugs.webkit.org/show_bug.cgi?id=107176

Broke some tests (Requested by anttik on #webkit).

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

Source/WebCore:

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createReplacementRunIn):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
(WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
(WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
(WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
* rendering/RenderDeprecatedFlexibleBox.h:
(RenderDeprecatedFlexibleBox):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::RenderDetailsMarker):
* rendering/RenderDetailsMarker.h:
(RenderDetailsMarker):
* rendering/RenderDialog.h:
(WebCore::RenderDialog::RenderDialog):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::RenderFieldset):
* rendering/RenderFieldset.h:
(RenderFieldset):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
* rendering/RenderFlowThread.h:
* rendering/RenderFullScreen.cpp:
(RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
(RenderFullScreen::RenderFullScreen):
(RenderFullScreen::wrapRenderer):
* rendering/RenderFullScreen.h:
(RenderFullScreen):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid):
* rendering/RenderGrid.h:
(RenderGrid):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
* rendering/RenderImage.h:
(RenderImage):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
(WebCore::RenderInline::addChildIgnoringContinuation):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollCornerStyle):
(WebCore::RenderLayer::updateResizerStyle):
(WebCore::RenderLayer::createReflection):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::styleDidChange):
* rendering/RenderListItem.h:
(RenderListItem):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::RenderListMarker):
* rendering/RenderListMarker.h:
(RenderListMarker):
* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
* rendering/RenderMediaControlElements.h:
(RenderMediaVolumeSliderContainer):
(RenderMediaControlTimeDisplay):
(RenderTextTrackContainerElement):
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::ensureColumnSets):
* rendering/RenderMultiColumnBlock.h:
(RenderMultiColumnBlock):
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
* rendering/RenderNamedFlowThread.h:
(RenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
* rendering/RenderObject.h:
(WebCore::RenderObject::setIsAnonymous):
(RenderObject):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
* rendering/RenderRegion.h:
(RenderRegion):
* rendering/RenderRegionSet.cpp:
(WebCore::RenderRegionSet::RenderRegionSet):
* rendering/RenderRegionSet.h:
(RenderRegionSet):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
* rendering/RenderReplaced.h:
(RenderReplaced):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::RenderReplica):
* rendering/RenderReplica.h:
(RenderReplica):
* rendering/RenderRuby.cpp:
(WebCore::createAnonymousRubyInlineBlock):
(WebCore::RenderRubyAsInline::RenderRubyAsInline):
(WebCore):
(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
* rendering/RenderRuby.h:
(RenderRubyAsInline):
(RenderRubyAsBlock):
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::RenderRubyBase):
* rendering/RenderRubyBase.h:
(RenderRubyBase):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::createRubyBase):
(WebCore::RenderRubyRun::staticCreateRubyRun):
* rendering/RenderRubyRun.h:
(RenderRubyRun):
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::RenderRubyText):
* rendering/RenderRubyText.h:
(RenderRubyText):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::updateScrollbarPart):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::RenderScrollbarPart):
* rendering/RenderScrollbarPart.h:
(RenderScrollbarPart):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::RenderSearchField):
* rendering/RenderSearchField.h:
(RenderSearchField):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::createAnonymousWithParentRenderer):
* rendering/RenderTable.h:
(RenderTable):
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::RenderTableCaption):
* rendering/RenderTableCaption.h:
(RenderTableCaption):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::createAnonymousWithParentRenderer):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::RenderTableCol):
* rendering/RenderTableCol.h:
(RenderTableCol):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::RenderTableRow):
(WebCore::RenderTableRow::createAnonymousWithParentRenderer):
* rendering/RenderTableRow.h:
(RenderTableRow):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::createAnonymousWithParentRenderer):
* rendering/RenderTableSection.h:
(RenderTableSection):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* rendering/RenderTextControl.h:
(RenderTextControl):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
* rendering/RenderTextControlMultiLine.h:
(RenderTextControlMultiLine):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::RenderTextTrackCue):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
* rendering/RenderWidget.h:
(RenderWidget):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
(WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
(RenderMathMLBlock):
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createGlyph):
* rendering/mathml/RenderMathMLOperator.h:
(RenderMathMLOperator):
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::RenderMathMLRow):
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLRow.h:
(RenderMathMLRow):
* rendering/style/ContentData.cpp:
(WebCore::ImageContentData::createRenderer):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::RenderSVGInline):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGTSpan.cpp:
(WebCore::RenderSVGTSpan::RenderSVGTSpan):
* rendering/svg/RenderSVGTSpan.h:
(RenderSVGTSpan):
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::RenderSVGTextPath):
* rendering/svg/RenderSVGTextPath.h:
(RenderSVGTextPath):

Source/WebKit/chromium:

* tests/RenderTableCellTest.cpp:
* tests/RenderTableRowTest.cpp:

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

6 years agoEach NetworkConnectionToWebProcess should keep its own map of NetworkResourceLoaders
beidson@apple.com [Thu, 17 Jan 2013 21:55:47 +0000 (21:55 +0000)]
Each NetworkConnectionToWebProcess should keep its own map of NetworkResourceLoaders
https://bugs.webkit.org/show_bug.cgi?id=107166

Reviewed by Alexey Proskuryakov.

NetworkConnectionToWebProcess now keeps its own id->loader map so it can directly address them as needed:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
* NetworkProcess/NetworkConnectionToWebProcess.h:

NetworkResourceLoadScheduler no longer keeps an identifier -> loader map:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
* NetworkProcess/NetworkResourceLoadScheduler.h:

There is no longer such a thing as NetworkConnectionToWebProcessObserver:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
* NetworkProcess/NetworkResourceLoader.h:

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

6 years ago Fix a logic error in AuthenticationChallengeMac
ap@apple.com [Thu, 17 Jan 2013 21:50:50 +0000 (21:50 +0000)]
    Fix a logic error in AuthenticationChallengeMac
        https://bugs.webkit.org/show_bug.cgi?id=107164

        Reviewed by Brady Eidson.

        No new tests, as this is not currently observable.

        * platform/network/cf/AuthenticationCF.cpp:
        (WebCore::createCF): Added a FIXME about making this more like Mac counterpart.

        * platform/network/cf/AuthenticationChallenge.h:
        (AuthenticationChallenge): Corrected an slightly misleading explanation.

        * platform/network/mac/AuthenticationMac.mm:
        (WebCore::AuthenticationChallenge::setAuthenticationClient): Don't create a dummy
        m_nsChallenge object in place of a nil one.

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

6 years agoRemove unused finishWasCalled() method
tonyg@chromium.org [Thu, 17 Jan 2013 21:37:18 +0000 (21:37 +0000)]
Remove unused finishWasCalled() method
https://bugs.webkit.org/show_bug.cgi?id=107148

Reviewed by Eric Seidel.

Based on patch by Eric Seidel.

No new tests because no new functionality.

* dom/DocumentParser.h:
(DocumentParser):
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::append):
* html/parser/HTMLDocumentParser.cpp:
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
* html/parser/HTMLViewSourceParser.cpp:
* html/parser/HTMLViewSourceParser.h:
(HTMLViewSourceParser):
* xml/parser/NewXMLDocumentParser.cpp:
(WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
(WebCore::NewXMLDocumentParser::finish):
* xml/parser/NewXMLDocumentParser.h:
(NewXMLDocumentParser):
* xml/parser/XMLDocumentParser.cpp:
* xml/parser/XMLDocumentParser.h:
(XMLDocumentParser):

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

6 years ago[chromium] Double-tap zoom should take into account accessibility fontScaleFactor
commit-queue@webkit.org [Thu, 17 Jan 2013 21:23:29 +0000 (21:23 +0000)]
[chromium] Double-tap zoom should take into account accessibility fontScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=107123

Patch by John Mellor <johnme@chromium.org> on 2013-01-17
Reviewed by Adam Barth.

Platforms which support Text Autosizing (currently just Chrome for
Android) may provide a textAutosizingFontScaleFactor (defaults to 1.0).

This value is intended to be chosen by the user to indicate how large
they want text to appear, for example Chrome for Android has a "Text
scaling" slider in Settings > Accessibility that lets you choose a value
in the range 50% - 200% (defaults to 100%*).

For text in wide columns that typically gets autosized, this value is
applied by multiplying the textAutosizingMultiplier computed for each
cluster by the textAutosizingFontScaleFactor. Double-tap zoom will fit
the column to the screen (ignoring the textAutosizingFontScaleFactor)
since the column is wide. This part already works.

For text in narrow columns that doesn't get autosized, the
textAutosizingFontScaleFactor is not applied through Text Autosizing,
and instead needs to be applied by adjusting the double-tap zoom level.
When double-tapping on narrow columns, instead of fitting the column to
the screen (which would often zoom in excessively far), the existing
logic in computeScaleAndScrollForHitRect applies a maximum zoom level
called the legibleScale. This value needs to be multiplied by the
textAutosizingFontScaleFactor, so that we zoom in proportionately
further on non-autosized narrow columns, hence the effective text size
(taking into account zoom) will have increased in proportion to the
textAutosizingFontScaleFactor as expected.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
    Multiplies legibleScale (the maximum zoom level) by the
    textAutosizingFontScaleFactor.
* tests/WebFrameTest.cpp:
    Added WebFrameTest.DivAutoZoomScaleFontScaleFactorTest based on
    WebFrameTest.DivAutoZoomScaleBoundsTest to test the interaction
    between textAutosizingFontScaleFactor and the double-tap zoom logic.
    Also did minor cleanup to WebFrameTest.DivAutoZoomScaleBoundsTest.

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

6 years ago[chromium] Layout test rebaselines.
hclam@chromium.org [Thu, 17 Jan 2013 21:11:49 +0000 (21:11 +0000)]
[chromium] Layout test rebaselines.

Not reviewed. Rebaselines to fix build.

* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:

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

6 years agoRemove an incorrect ASSERT() after r140002.
timothy_horton@apple.com [Thu, 17 Jan 2013 21:08:13 +0000 (21:08 +0000)]
Remove an incorrect ASSERT() after r140002.

Reviewed by Simon Fraser.

setRootCompositingLayer(null) is valid now.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):

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

6 years agoMathML padding overrides only need to be on RenderMathMLRoot
ojan@chromium.org [Thu, 17 Jan 2013 20:55:57 +0000 (20:55 +0000)]
MathML padding overrides only need to be on RenderMathMLRoot
https://bugs.webkit.org/show_bug.cgi?id=107151

Reviewed by Tony Chang.

RenderMathMLRoot is the only class that uses these.
No need for them to be on the generic MathML superclass.

* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::RenderMathMLRoot):
(WebCore::RenderMathMLRoot::paddingTop):
(WebCore::RenderMathMLRoot::paddingBottom):
(WebCore::RenderMathMLRoot::paddingLeft):
(WebCore::RenderMathMLRoot::paddingRight):
(WebCore::RenderMathMLRoot::paddingBefore):
(WebCore::RenderMathMLRoot::paddingAfter):
(WebCore::RenderMathMLRoot::paddingStart):
(WebCore::RenderMathMLRoot::paddingEnd):
* rendering/mathml/RenderMathMLRoot.h:

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

6 years agoObjective-C API: Clean up JSValue
mhahnenberg@apple.com [Thu, 17 Jan 2013 20:51:56 +0000 (20:51 +0000)]
Objective-C API: Clean up JSValue
https://bugs.webkit.org/show_bug.cgi?id=107156

Reviewed by Oliver Hunt.

JSContext m_protectCounts, protect, unprotect are all now unnecessary overhead, and should all be removed.
These exist to handle the context going away before the value does; the context needs to be able to unprotect
values early.  Since the value is now keeping the context alive there is no longer any danger of this happening;
instead we should just protect/unprotect the value in JSValue's init/dealloc methods.

* API/JSContext.mm:
(-[JSContext dealloc]):
* API/JSContextInternal.h:
* API/JSValue.mm:
(-[JSValue initWithValue:inContext:]):
(-[JSValue dealloc]):

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

6 years agoDFG Node::ref() and Node::deref() should not return bool, and should have postfixRef...
fpizlo@apple.com [Thu, 17 Jan 2013 20:45:06 +0000 (20:45 +0000)]
DFG Node::ref() and Node::deref() should not return bool, and should have postfixRef variants
https://bugs.webkit.org/show_bug.cgi?id=107147

Reviewed by Mark Hahnenberg.

This small refactoring will enable a world where ref() returns Node*, which is useful for
https://bugs.webkit.org/show_bug.cgi?id=106868.  Also, while this refactoring does lead to
slightly less terse code, it's also slightly more self-explanatory.  I could never quite
remember what the meaning of the bool return from ref() and deref() was.

* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::collectGarbage):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::ref):
(JSC::DFG::Graph::deref):
* dfg/DFGNode.h:
(JSC::DFG::Node::ref):
(Node):
(JSC::DFG::Node::postfixRef):
(JSC::DFG::Node::deref):
(JSC::DFG::Node::postfixDeref):

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

6 years ago32-bit build for Qt5 on Mac OS fails.
commit-queue@webkit.org [Thu, 17 Jan 2013 20:40:39 +0000 (20:40 +0000)]
32-bit build for Qt5 on Mac OS fails.
https://bugs.webkit.org/show_bug.cgi?id=107094

We need to define NS_BUILD_32_LIKE_64 for 32-bit build for Mac OS.
Fixed 32-bit build detection for support Qt5.

Source/WebCore:

Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17
Reviewed by Benjamin Poulain.

* Target.pri:

Source/WebKit:

Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17
Reviewed by Benjamin Poulain.

* WebKit1.pro:

Source/WebKit2:

Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17
Reviewed by Benjamin Poulain.

* Target.pri:

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

6 years ago[Chromium] svg/custom/foreign-object-skew-expected.png differs Debug/Release on SnowL...
schenney@chromium.org [Thu, 17 Jan 2013 20:38:12 +0000 (20:38 +0000)]
[Chromium] svg/custom/foreign-object-skew-expected.png differs Debug/Release on SnowLeopard
https://bugs.webkit.org/show_bug.cgi?id=99138

Unreviewed test expectations update.

* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png: Use the Release result.
* platform/chromium/TestExpectations: Mark the test as failing, and won't fix.

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

6 years agoIndexedDB: Prevent crash dereferencing null if script context has stopped
jsbell@chromium.org [Thu, 17 Jan 2013 20:37:54 +0000 (20:37 +0000)]
IndexedDB: Prevent crash dereferencing null if script context has stopped
https://bugs.webkit.org/show_bug.cgi?id=107146

Reviewed by Tony Chang.

We have crash reports from Chromium users (but no local repro) for a crash coming
from IDBRequest::dispatchEvent() that looks like it's calling toV8Context() after
the script execution context has stopped. The dispatch shouldn't be occurring
and we ASSERT as such, but something weird is going on during Worker tear down.
If this patch prevents the crash it would indicate that stop() is called before
dispatchEvent() which shouldn't be happening, and would let us continue chasing
the issue.

No new tests - this shouldn't be happening.

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):

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

6 years agoReplaced specifiers variable with is_debug in builders.py
commit-queue@webkit.org [Thu, 17 Jan 2013 20:37:14 +0000 (20:37 +0000)]
Replaced specifiers variable with is_debug in builders.py
https://bugs.webkit.org/show_bug.cgi?id=107057

Patch by Timothy Loh <timloh@google.com> on 2013-01-17
Reviewed by Dirk Pranke.

Replaced specifiers variable with is_debug in builders.py to simplify
Bug 106259. The other specifiers are not used elsewhere in the code.
Fixed builder_name_for_port_name to return a debug builder if we don't
have a release builder.

* Scripts/webkitpy/layout_tests/port/builders.py:
(all_port_names):
(builder_name_for_port_name):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineExpectations.test_rebaseline_expectations):

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

6 years ago[chromium] Make new-style page scale work with fixed layout
aelias@chromium.org [Thu, 17 Jan 2013 20:26:25 +0000 (20:26 +0000)]
[chromium] Make new-style page scale work with fixed layout
https://bugs.webkit.org/show_bug.cgi?id=106951

Reviewed by Adam Barth.

This makes non-CSS-transform page scaling work with fixed-layout mode,
including viewport tag support.

- dispatchViewportPropertiesDidChange() now works entirely with DIP
pixels instead of physical pixels, and is made compatible with
separating deviceScaleFactor from pageScaleFactor.

- In this mode, the "layout viewport" size in the pinch-zoom model is
made a first-class concept separate from the device size.  This
is a viewport with the same aspect ratio as the device but with the
layout width of the page.  This viewport is used:
  - As FrameView::visibleContentRect.
  - Returned from WebView::size().
  - Given to the compositor as layoutViewportSize.

- m_deviceScaleInCompositor is deleted as it's clearer to use the
applyDeviceScaleInCompositor setting directly.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::size):
(WebKit):
(WebKit::WebViewImpl::resize):
(WebKit::WebViewImpl::setPageScaleFactor):
(WebKit::WebViewImpl::setDeviceScaleFactor):
(WebKit::WebViewImpl::layoutSize):
(WebKit::WebViewImpl::computePageScaleFactorLimits):
(WebKit::WebViewImpl::dipSize):
(WebKit::WebViewImpl::didChangeContentsSize):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit::WebViewImpl::updateLayerTreeViewport):
* src/WebViewImpl.h:
(WebViewImpl):

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

6 years agoNested fixed position element not staying with parent
robert@webkit.org [Thu, 17 Jan 2013 20:20:11 +0000 (20:20 +0000)]
Nested fixed position element not staying with parent
https://bugs.webkit.org/show_bug.cgi?id=65477

Reviewed by David Hyatt.

Source/WebCore:

Tests: fast/inline/fixed-pos-moves-with-abspos-inline-parent.html
       fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html
       fast/inline/fixed-pos-moves-with-abspos-parent.html
       fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedLayout):
If an absolute position element inside a relative positioned container moves, and the absolute element has a fixed position
child, neither the container nor the fixed element learn of the movement since posChildNeedsLayout() is only marked as far as the
relative positioned container. So if our positioned objects list can contain fixed position elements perform the
checks in markFixedPositionObjectForLayoutIfNeeded for each fixed pos object in the container's positioned object list.
(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
For a fixed position element in the positioned objects list that has a static x or y position check for an absolute positioned ancestor
and if we find one, see if the static x or y position of the fixed pos element has changed. If it has, mark it for layout.
(WebCore):
(WebCore::RenderBlock::layoutPositionedObjects):
A fixed position element with an absolute position ancestor has no way of learning if the latter has changed position. So perform the
checks in markFixedPositionObjectForLayoutIfNeeded for each fixed pos object in the container's positioned object list.
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock): Use new helper function canContainFixedPositionObjects().
* rendering/RenderObject.h:
(WebCore::RenderObject::canContainFixedPositionObjects):
(RenderObject):

LayoutTests:

* fast/inline/fixed-pos-moves-with-abspos-inline-parent-expected.txt: Added.
* fast/inline/fixed-pos-moves-with-abspos-inline-parent.html: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent-expected.txt: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor-expected.txt: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent.html: Added.
* fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent-expected.txt: Added.
* fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent.html: Added.

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

6 years agoMake renderer constructors take Element where possible
antti@apple.com [Thu, 17 Jan 2013 20:14:07 +0000 (20:14 +0000)]
Make renderer constructors take Element where possible
https://bugs.webkit.org/show_bug.cgi?id=107138

Reviewed by David Hyatt.

Tighter typing prevents bugs and enables optimizations.

The patch changes how anonymous rendererer are constructed. Previously Document* as the node parameter
indicated that the renderer was anonymous. This forced the code to operate on ContainerNodes (Document
is not an Element). Now anonymous renderers are constructed by passing null and the document is set by
separate setDocumentForAnonymous() call. The patch uses RenderFoo::createAnonymous() pattern consistently.

Most constructors are switched to take Element. RenderBlock still takes ContainerNode due to a few subclasses
(RenderView and RenderFlowThread) that pass in a Document.

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAnonymous):
(WebCore):
(WebCore::RenderBlock::createReplacementRunIn):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
(WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
(WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
(WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
(WebCore::RenderDeprecatedFlexibleBox::createAnonymous):
(WebCore):
* rendering/RenderDeprecatedFlexibleBox.h:
(RenderDeprecatedFlexibleBox):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::RenderDetailsMarker):
* rendering/RenderDetailsMarker.h:
(RenderDetailsMarker):
* rendering/RenderDialog.h:
(WebCore::RenderDialog::RenderDialog):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::RenderFieldset):
* rendering/RenderFieldset.h:
(RenderFieldset):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):
* rendering/RenderFlowThread.cpp:
(WebCore):
(WebCore::RenderFlowThread::RenderFlowThread):
* rendering/RenderFlowThread.h:
* rendering/RenderFullScreen.cpp:
(RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
(RenderFullScreen::RenderFullScreen):
(RenderFullScreen::createAnonymous):
(RenderFullScreen::wrapRenderer):
* rendering/RenderFullScreen.h:
(RenderFullScreen):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid):
* rendering/RenderGrid.h:
(RenderGrid):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::createAnonymous):
(WebCore):
* rendering/RenderImage.h:
(RenderImage):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
(WebCore::RenderInline::createAnonymous):
(WebCore):
(WebCore::RenderInline::addChildIgnoringContinuation):
* rendering/RenderInline.h:
(RenderInline):
(WebCore::RenderInline::node):

    Add version with covariant Element return type.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollCornerStyle):
(WebCore::RenderLayer::updateResizerStyle):
(WebCore::RenderLayer::createReflection):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::styleDidChange):
* rendering/RenderListItem.h:
(RenderListItem):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::RenderListMarker):
(WebCore::RenderListMarker::createAnonymous):
(WebCore):
* rendering/RenderListMarker.h:
(RenderListMarker):
* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
* rendering/RenderMediaControlElements.h:
(RenderMediaVolumeSliderContainer):
(RenderMediaControlTimeDisplay):
(RenderTextTrackContainerElement):
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::ensureColumnSets):
* rendering/RenderMultiColumnBlock.h:
(RenderMultiColumnBlock):
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::createAnonymous):
(WebCore):
* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
* rendering/RenderNamedFlowThread.h:
(RenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
* rendering/RenderObject.h:

     Passed in null node indicates that the renderer is anonymous. Remove now unnecessary setIsAnonymous() function.

(WebCore::RenderObject::isAnonymous):
(WebCore::RenderObject::setDocumentForAnonymous):
(RenderObject):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
* rendering/RenderRegion.h:
(RenderRegion):
* rendering/RenderRegionSet.cpp:
(WebCore::RenderRegionSet::RenderRegionSet):
* rendering/RenderRegionSet.h:
(RenderRegionSet):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
* rendering/RenderReplaced.h:
(RenderReplaced):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::RenderReplica):
(WebCore::RenderReplica::createAnonymous):
(WebCore):
* rendering/RenderReplica.h:
(RenderReplica):
* rendering/RenderRuby.cpp:
(WebCore::createAnonymousRubyInlineBlock):
(WebCore::RenderRubyAsInline::RenderRubyAsInline):
(WebCore):
(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
* rendering/RenderRuby.h:
(RenderRubyAsInline):
(RenderRubyAsBlock):
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::RenderRubyBase):
(WebCore::RenderRubyBase::createAnonymous):
(WebCore):
* rendering/RenderRubyBase.h:
(RenderRubyBase):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::createRubyBase):
(WebCore::RenderRubyRun::staticCreateRubyRun):
* rendering/RenderRubyRun.h:
(RenderRubyRun):
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::RenderRubyText):
* rendering/RenderRubyText.h:
(RenderRubyText):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::updateScrollbarPart):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::RenderScrollbarPart):
(WebCore::RenderScrollbarPart::createAnonymous):
(WebCore):
* rendering/RenderScrollbarPart.h:
(RenderScrollbarPart):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::RenderSearchField):
* rendering/RenderSearchField.h:
(RenderSearchField):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::createAnonymousWithParentRenderer):
* rendering/RenderTable.h:
(RenderTable):
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::RenderTableCaption):
* rendering/RenderTableCaption.h:
(RenderTableCaption):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::createAnonymousWithParentRenderer):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::RenderTableCol):
* rendering/RenderTableCol.h:
(RenderTableCol):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::RenderTableRow):
(WebCore::RenderTableRow::createAnonymousWithParentRenderer):
* rendering/RenderTableRow.h:
(RenderTableRow):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::createAnonymousWithParentRenderer):
* rendering/RenderTableSection.h:
(RenderTableSection):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* rendering/RenderTextControl.h:
(RenderTextControl):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
* rendering/RenderTextControlMultiLine.h:
(RenderTextControlMultiLine):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::RenderTextTrackCue):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
* rendering/RenderWidget.h:
(RenderWidget):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
(WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
(RenderMathMLBlock):
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createGlyph):
* rendering/mathml/RenderMathMLOperator.h:
(RenderMathMLOperator):
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::RenderMathMLRow):
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLRow.h:
(RenderMathMLRow):
* rendering/style/ContentData.cpp:
(WebCore::ImageContentData::createRenderer):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::RenderSVGInline):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGTSpan.cpp:
(WebCore::RenderSVGTSpan::RenderSVGTSpan):
* rendering/svg/RenderSVGTSpan.h:
(RenderSVGTSpan):
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::RenderSVGTextPath):
* rendering/svg/RenderSVGTextPath.h:
(RenderSVGTextPath):

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

6 years ago[BlackBerry] Update Authentication Type and Scheme implementation
leoyang@rim.com [Thu, 17 Jan 2013 20:05:37 +0000 (20:05 +0000)]
[BlackBerry] Update Authentication Type and Scheme implementation
https://bugs.webkit.org/show_bug.cgi?id=107045
PR #281292

Reviewed by Yong Li.

Reviewed internally by Joe Mason. A typo is also fixed by Joe Mason.

The BlackBerry platform layer has defined both authentication type and authentication scheme.
This patch is adapting the porting layer to the platform layer change.

No functionalities changed no new tests.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::notifyAuthReceived):
* platform/network/blackberry/NetworkJob.h:
(NetworkJob):
* platform/network/blackberry/NetworkManager.cpp:
(WebCore::NetworkManager::startJob):

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

6 years ago[GTK] Build with LevelDB when IndexedDB is enabled
commit-queue@webkit.org [Thu, 17 Jan 2013 20:02:36 +0000 (20:02 +0000)]
[GTK] Build with LevelDB when IndexedDB is enabled
https://bugs.webkit.org/show_bug.cgi?id=103220

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-17
Reviewed by Gustavo Noronha Silva.

.:

* configure.ac: Detect whether the IndexedDatabase feature is enabled. We cannot
use the typical approach for feature detection since we need to adjust the automake
file output based on whether or not IndexedDatabase is enabled.

Source/ThirdParty:

Add the leveldb 1.9.0 source code to the ThirdParty dependencies.
We cannot depend on leveldb provided by the distribution, because
it sometimes breaks API compatibility.

* leveldb: Imported from the 1.9.0 leveldb source tarball.

Source/WebCore:

No new tests. This is just a build change. IndexedDatabase support
is already covered by the suite of storage layout tests.

* GNUmakefile.am: Add the leveldb convenience library.
* GNUmakefile.list.am: Add the list of sources.

Source/WebKit/gtk:

* GNUmakefile.am: When IndexedDatabase is enabled add the leveldb convenience
library to the shared library link phase.

Source/WebKit2:

* GNUmakefile.am: When IndexedDatabase is enabled add the leveldb convenience
library to the shared library link phase.

Tools:

* Scripts/webkitpy/style/checker.py: Do not style check the leveldb source code
as it does not conform to WebKit style.

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

6 years agoWire BackgroundHTMLParser to HTMLDocumentParser
tonyg@chromium.org [Thu, 17 Jan 2013 19:52:07 +0000 (19:52 +0000)]
Wire BackgroundHTMLParser to HTMLDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=107140

Reviewed by Adam Barth.

With this patch, we now pass the majority of html5lib and fast/parser tests with threaded HTML parsing enabled.

No new tests because covered by existing fast/parser tests.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::TokenDelivery::execute):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::~HTMLDocumentParser):
(WebCore::HTMLDocumentParser::processingData):
(WebCore::HTMLDocumentParser::resumeParsingAfterYield):
(WebCore::HTMLDocumentParser::canTakeNextToken):
(WebCore::HTMLDocumentParser::feedTokens):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore):
(WebCore::HTMLDocumentParser::startBackgroundParser):
(WebCore::HTMLDocumentParser::stopBackgroundParser):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::finish):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
* html/parser/HTMLDocumentParser.h:
(WebCore):
(HTMLDocumentParser):
(WebCore::HTMLDocumentParser::hasPreloadScanner):
(WebCore::HTMLDocumentParser::shouldUseThreading):

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

6 years agoMediaStream API: Move all ExtraDataContainers into anonymous namespaces
tommyw@google.com [Thu, 17 Jan 2013 19:48:14 +0000 (19:48 +0000)]
MediaStream API: Move all ExtraDataContainers into anonymous namespaces
https://bugs.webkit.org/show_bug.cgi?id=107128

Reviewed by Kentaro Hara.

Tests not needed.

* platform/chromium/support/WebMediaStreamDescriptor.cpp:
* platform/chromium/support/WebMediaStreamSource.cpp:
* platform/chromium/support/WebRTCSessionDescriptionRequest.cpp:
* platform/chromium/support/WebRTCVoidRequest.cpp:

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

6 years agoWeb Inspector: InstrumentingAgents should be registered in InspectorInstrumentation...
yurys@chromium.org [Thu, 17 Jan 2013 19:42:17 +0000 (19:42 +0000)]
Web Inspector: InstrumentingAgents should be registered in InspectorInstrumentation only when there is a front-end
https://bugs.webkit.org/show_bug.cgi?id=107127

Reviewed by Vsevolod Vlasov.

InspectorInstrumentation::registerInstrumentingAgents is called when front-end
is connected to corresponding InspectorController. When the front-end disconnects
InspectorInstrumentation::unregisterInstrumentingAgents is called.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):

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

6 years ago[CSS Regions] Content flows incorrectly in autoheight regions with min/max-height set
commit-queue@webkit.org [Thu, 17 Jan 2013 19:35:41 +0000 (19:35 +0000)]
[CSS Regions] Content flows incorrectly in autoheight regions with min/max-height set
https://bugs.webkit.org/show_bug.cgi?id=102099

Patch by Andrei Bucur <abucur@adobe.com> on 2013-01-17
Reviewed by David Hyatt.

Source/WebCore:

The current layout algorithm for auto-height regions is gives wrong results when the max-height property is set on them. The reason is we
consider the max-height restriction too late in the layout, when applying a forced break. This is what happens when content is laid out
in an auto-height region.
1. The content flows without a limit until a forced break appears. If there's no forced break in the content, one is forced anyway at the end
of the layout.
2. The region where the forced break is placed is not always the one where content is laid out because of max-height restrictions.
3. All the regions with max-height are iterated and their height accumulated until the break offset is reached and the region at that point is ended.
This gives wrong results because the forced break position in the content was computed assuming there's only one region where the content is laid out.
The regions with max-height could have generated unforced breaks at their height and the forced break actually should have a different position.

This patch changes the algorithm in this way:
1. From the flow thread perspective all the regions start with a height: max-height for auto-height regions (or LayoutSize.max()/2 if not defined)
or the fixed height value when specified.
2. When the content is laid out, if there's no forced break, the height of the content is correctly estimated because the layout sees unforced breaks
at the max-height values.
3. If a forced break appears, the affected region can be obtained only by looking at the break offset in the region chain. If the region has auto-height,
its height is updated by the forced break.
4. At the end of the layout, there's the additional task to clear the height of all the regions that didn't receive content. This can be done optimally
without adding a new iteration through the regions by attaching to the RegionOverset computation loop.

Tests:  fast/regions/autoheight-maxheight-mixed-break.html
        fast/regions/autoheight-maxheight-simple-break.html
        fast/regions/autoheight-maxheight-simple-nobreak.html
        fast/regions/autoheight-minmaxheight-mixed-break-hbt.html
        fast/regions/autoheight-minmaxheight-mixed-break-vlr.html
        fast/regions/autoheight-minmaxheight-mixed-break-vrl.html
        fast/regions/autoheight-minmaxheight-mixed-break.html
        fast/regions/autoheight-minmaxheight-simple-break.html
        fast/regions/autoheight-minmaxheight-simple-nobreak.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::computeLogicalHeight):
(WebCore::RenderFlowThread::regionAtBlockOffset):
(WebCore::RenderFlowThread::pageLogicalHeightForOffset):
(WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
(WebCore::RenderFlowThread::computeOverflowStateForRegions): Attach to the loop in this function to clear the overrideLogicalHeight on empty regions.
(WebCore):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect): Add an ASSERT that a region always has overrideLogicalHeight or a fixed height.
(WebCore::RenderFlowThread::initializeRegionsOverrideLogicalContentHeight): A new function that updates the region chain height to use the max-height value
for auto-height regions.
(WebCore::RenderFlowThread::addForcedRegionBreak):
* rendering/RenderFlowThread.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::pageLogicalHeight): the decorations size is incorrectly considered in the page height.
(WebCore):
(WebCore::RenderRegion::maxPageLogicalHeight): new function that returns the max page size for a region. It shouldn't be called too often
or the returned value can be cached
(WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent): the decorations size is incorrectly considered in the logical height of
the flow thread content.
* rendering/RenderRegion.h:
(RenderRegion):

LayoutTests:

All the tests have a description about how the breaking should happen. They pass if the height of the region chain is
correctly computed by using the max-height, min-height, height and writing mode conditions.

* fast/regions/autoheight-maxheight-mixed-break-expected.txt: Added.
* fast/regions/autoheight-maxheight-mixed-break.html: Added.
* fast/regions/autoheight-maxheight-simple-break-expected.txt: Added.
* fast/regions/autoheight-maxheight-simple-break.html: Added.
* fast/regions/autoheight-maxheight-simple-nobreak-expected.txt: Added.
* fast/regions/autoheight-maxheight-simple-nobreak.html: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-hbt-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-hbt.html: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-vlr-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-vlr.html: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-vrl-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-vrl.html: Added.
* fast/regions/autoheight-minmaxheight-mixed-break.html: Added.
* fast/regions/autoheight-minmaxheight-simple-break-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-simple-break.html: Added.
* fast/regions/autoheight-minmaxheight-simple-nobreak-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-simple-nobreak.html: Added.

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

6 years agoWeb Inspector: Open resource dialog has poor performance.
vsevik@chromium.org [Thu, 17 Jan 2013 19:30:07 +0000 (19:30 +0000)]
Web Inspector: Open resource dialog has poor performance.
https://bugs.webkit.org/show_bug.cgi?id=107122

Reviewed by Pavel Feldman.

Open resource dialog does not make linear number of relayouts on highlight anymore.
Replaced localeCompare with string compare since it is significantly faster.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog.prototype._highlightItems):
(WebInspector.OpenResourceDialog.compareFunction):
(WebInspector.OpenResourceDialog):

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

6 years agoUnreviewed. Rolled Chromium DEPS to r177369. Requested by
commit-queue@webkit.org [Thu, 17 Jan 2013 19:27:09 +0000 (19:27 +0000)]
Unreviewed.  Rolled Chromium DEPS to r177369.  Requested by
ajuma via sheriffbot.

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

* DEPS:

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

6 years agoAdd ontransitionend attribute on HTML elements.
alexis@webkit.org [Thu, 17 Jan 2013 19:26:35 +0000 (19:26 +0000)]
Add ontransitionend attribute on HTML elements.
https://bugs.webkit.org/show_bug.cgi?id=107134

Reviewed by Simon Fraser.

Source/WebCore:

Add ontransitionend attribute on HTML elements to match the prefixed
attribute onwebkittransitionend. As it uses the same plumbing as a
regular event listener, it behaves the same which means that if
ontransitionend only is defined then only the code attached to this
attribute will be called, if only onwebkittransitionend is defined then
only the code attached to this attribute will be called and finally if
both attributes are defined then only the code attached to the
unprefixed attribute will be called.

Tests: transitions/transition-end-event-unprefixed-03.html
       transitions/transition-end-event-unprefixed-04.html

* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseAttribute):
* page/DOMWindow.h:
(DOMWindow):
* page/DOMWindow.idl: only define the property if the unprefixing is
turn on.

LayoutTests:

Add tests to cover the new attribute. It also make sure that event if
we use the old attribute and the new one at the same time only the new
event handler will be called.

* transitions/transition-end-event-unprefixed-03-expected.txt: Added.
* transitions/transition-end-event-unprefixed-03.html: Added.
* transitions/transition-end-event-unprefixed-04-expected.txt: Added.
* transitions/transition-end-event-unprefixed-04.html: Added.

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

6 years agoWidows and orphans test4 fails if isolated
commit-queue@webkit.org [Thu, 17 Jan 2013 19:15:24 +0000 (19:15 +0000)]
Widows and orphans test4 fails if isolated
https://bugs.webkit.org/show_bug.cgi?id=106006

Patch by Andrei Bucur <abucur@adobe.com> on 2013-01-17
Reviewed by Dean Jackson.

Source/WebCore:

To determine if the orphans condition is not respected, every time a fragmentation break is encountered adjustLinePositionForPagination() is called for the current line.
If the index on the line in the block is smaller than the number of orphans specified in the style object, the block is shifted in the next fragmentainer. The index of
the line is obtained by calling RenderBlock::lineCount. However, this only works in a full layout when lineCount() will coincidentally return the index of the line.
In subsequent layouts, during the determineStartPosition() phase, lineCount() returns all the lines in the block so the orphans condition is never triggered.
The patch modifies the lineCount() function to have two optional parameters. The first parameter is the line where lineCount should stop counting lines. The second
is an output boolean parameter indicating if the line was found or not. This change makes the lineCount() more flexible and allows retreiving the index of a
specific line (e.g. the index of the current line inside adjustLinePositionForPagination()).

Tests: fast/multicol/orphans-relayout.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::lineCount): See the detailed description.
(WebCore::RenderBlock::adjustLinePositionForPagination): Make use of the modified lineCount() function.
* rendering/RenderBlock.h:
(RenderBlock):

LayoutTests:

This is the "Basic Orphans" test extracted from fast/multicol/widows-and-orphans.html. It was minimized and modified to include a relayout step.

* fast/multicol/orphans-relayout-expected.txt: Added.
* fast/multicol/orphans-relayout.html: Added.

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

6 years agoREGRESSION (r137487): Crashes in editing/execCommand/indent-paragraphs.html on GTK...
mrobinson@webkit.org [Thu, 17 Jan 2013 19:13:12 +0000 (19:13 +0000)]
REGRESSION (r137487): Crashes in editing/execCommand/indent-paragraphs.html on GTK, EFL
https://bugs.webkit.org/show_bug.cgi?id=105042

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Explicitly handle the situation where the creation of a SoupURI fails. This
can happen if the URI is invalid. In that case the constructor returns null.

No new tests. This patch unskips a failing test.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupRequestAndMessageForHandle): Handle a null Soup URI.

LayoutTests:

Unskip a test which is now passing.

* platform/gtk/TestExpectations:

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

6 years ago.: Enable reuse of cached main resources
japhet@chromium.org [Thu, 17 Jan 2013 19:09:16 +0000 (19:09 +0000)]
.: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Antti Koivisto.

* Source/autotools/symbols.filter: Expose MemoryCache::resourceForURL().

Source/WebCore: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Antti Koivisto.

Test: http/tests/cache/cached-main-resource.html

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
* dom/Document.h:
(Document):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
    MainResourceLoader will take care of it.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
(WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
(WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
    ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
(WebCore::MainResourceLoader::identifier):
* loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
    to better describe when it is used.
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
(WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
(WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
* loader/cache/CachedRawResource.h:
(CachedRawResource):
(RedirectPair):
(WebCore::CachedRawResource::RedirectPair::RedirectPair):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::addClientToSet):: Don't return cached data for a main resource synchronously
* loader/cache/CachedResource.h:
(WebCore::CachedResource::canReuse):
(CachedResource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
* testing/Internals.cpp:
(WebCore::Internals::isLoadingFromMemoryCache):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/win: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Antti Koivisto.

* WebKit.vcproj/WebKitExports.def.in: Expose some MemoryCache symbols for use in Internals.

LayoutTests: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667.

Reviewed by Antti Koivisto.

* http/tests/cache/cached-main-resource-expected.txt: Added.
* http/tests/cache/cached-main-resource.html: Added.
* http/tests/cache/resources/cacheable-iframe.php: Added.
* http/tests/inspector/resource-har-pages-expected.txt:
* http/tests/loading/redirect-methods-expected.txt:
* http/tests/misc/favicon-loads-with-images-disabled-expected.txt:
* http/tests/misc/link-rel-icon-beforeload-expected.txt:

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

6 years ago[EFL][WK2] Fix misuse of ASSERT on ecore_evas_init()
commit-queue@webkit.org [Thu, 17 Jan 2013 19:06:16 +0000 (19:06 +0000)]
[EFL][WK2] Fix misuse of ASSERT on ecore_evas_init()
https://bugs.webkit.org/show_bug.cgi?id=107119

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-01-17
Reviewed by Laszlo Gombos.

Do not use ASSERT on ecore_evas_init(), since the expression inside
the macro compiles out of release builds.

* TestWebKitAPI/PlatformEfl.cmake: Enable API test UserMessage.
* TestWebKitAPI/efl/PlatformWebView.cpp:
(TestWebKitAPI::initEcoreEvas): Remove ASSERT on ecore_evas_init().

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

6 years agoWeb Inspector: [Network] Remove boilerplate CSS selectors.
commit-queue@webkit.org [Thu, 17 Jan 2013 19:04:49 +0000 (19:04 +0000)]
Web Inspector: [Network] Remove boilerplate CSS selectors.
https://bugs.webkit.org/show_bug.cgi?id=107121

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

There are rules that are used for filtration and styling
whose selectors should be autogenerated.

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._injectStyles):
* inspector/front-end/networkLogView.css:

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

6 years ago[WK2] TiledCoreAnimationDrawingArea should unparent its layer tree when requested
timothy_horton@apple.com [Thu, 17 Jan 2013 19:01:08 +0000 (19:01 +0000)]
[WK2] TiledCoreAnimationDrawingArea should unparent its layer tree when requested
https://bugs.webkit.org/show_bug.cgi?id=107108
<rdar://problem/12549879>

Reviewed by Darin Adler and Simon Fraser.

Currently, TiledCoreAnimationDrawingArea returns early if asked to unparent
its layer tree, to prevent flashing when switching tabs. We have new plans
to alleviate the flashing, but first, we should reinstate unparenting the root layer,
to allow underlying libraries to better manage the memory backing all compositing layers.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):

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

6 years agoFix the Mac build sans ENABLE(CSS_FILTERS)
timothy_horton@apple.com [Thu, 17 Jan 2013 18:58:51 +0000 (18:58 +0000)]
Fix the Mac build sans ENABLE(CSS_FILTERS)

Reviewed by Darin Adler.

Include FloatRect in RemoteGraphicsLayer.mm; it's included by chance currently,
via something that must be compiled out without CSS_FILTERS (or SVG, or shaders, or something).

* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:

Move an export from a USE(ACCELERATED_COMPOSITING) block to a ENABLE(CSS_FILTERS)
block, to match the code that backs it.

* WebCore.exp.in:

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

6 years ago[Mac] svg/custom/text-use-click-crash.xhtml added by r139029 hits assertion in enclos...
shinyak@chromium.org [Thu, 17 Jan 2013 18:52:57 +0000 (18:52 +0000)]
[Mac] svg/custom/text-use-click-crash.xhtml added by r139029 hits assertion in enclosingTextFormControl
https://bugs.webkit.org/show_bug.cgi?id=106361

Reviewed by Darin Adler.

Source/WebCore:

When ASSERT hit in enclosingTextFormControl(Position), position.anchorNode() was /use/shadow-root/text,
and position.anchorType() was PositionIsBeforeAnchor. In this case, position.containerNode() should be
ShadowRoot if SHADOW_DOM flag is enabled. However, SHADOW_DOM flag is not enabled in mac port,
position.containerNode() returns 0. This hits ASSERT.

We have two options to solve this problem. (1) is to allow Position to have ShadowRoot as a container node,
but this will affect a lot of code. (2) is to loosen ASSERT condition.

I've chosen (2) option in this patch.

Test: svg/custom/text-use-click-crash.xhtml should cover this.

* html/HTMLTextFormControlElement.cpp:
(WebCore::enclosingTextFormControl):

LayoutTests:

Removed crash test expectation.

* platform/mac/TestExpectations:

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

6 years agoWeb Inspector: Profiler: split "getProfile" to "getCPUProfile" and "loadHeapSnapshot"
commit-queue@webkit.org [Thu, 17 Jan 2013 18:50:59 +0000 (18:50 +0000)]
Web Inspector: Profiler: split "getProfile" to "getCPUProfile" and "loadHeapSnapshot"
https://bugs.webkit.org/show_bug.cgi?id=104545

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-17
Reviewed by Yury Semikhatsky.

Source/WebCore:

This change will allow stronger typing of profiler output.

* inspector/Inspector.json:
Split "getProfile" to "getCPUProfile" and "getHeapSnapshot".
* inspector/InspectorProfilerAgent.cpp: Ditto.
* inspector/InspectorProfilerAgent.h: Ditto.
* inspector/front-end/CPUProfileView.js: Adopd changes.
* inspector/front-end/HeapSnapshotView.js: Ditto.

Source/WebKit/chromium:

Adopt changes: mimic old behavior.

* src/WebDevToolsAgentImpl.cpp: Adopt signature changes.

Tools:

Adopt signature changes.

* BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/WebInspectorShims.js:
(ProfilerAgent.getCPUProfile): Renamed.
(ProfilerAgent.getHeapSnapshot): Added.

LayoutTests:

Adopted new method signatures.

* inspector/profiler/heap-snapshot-get-profile-crash.html:
Adopted new method signatures.
* inspector/profiler/heap-snapshot-loader.html: Ditto.
* inspector/profiler/heap-snapshot-test.js: Ditto.

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

6 years agoWeb Inspector: [Network] Memory leaks when user walks between requests.
commit-queue@webkit.org [Thu, 17 Jan 2013 18:47:21 +0000 (18:47 +0000)]
Web Inspector: [Network] Memory leaks when user walks between requests.
https://bugs.webkit.org/show_bug.cgi?id=107114

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

Unregister event listeners when view is detached.

* inspector/front-end/RequestCookiesView.js: Fixed memory leak.
* inspector/front-end/RequestHeadersView.js: Ditto.
* inspector/front-end/RequestTimingView.js: Ditto.

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

6 years agoWeb Inspector: [Timeline] REGRESSION: Sidebar shrinks when user switches to memory...
commit-queue@webkit.org [Thu, 17 Jan 2013 18:44:12 +0000 (18:44 +0000)]
Web Inspector: [Timeline] REGRESSION: Sidebar shrinks when user switches to memory statistics mode.
https://bugs.webkit.org/show_bug.cgi?id=105857

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-17
Reviewed by Pavel Feldman.

Fix: do not apply constraints to sidebar width while view is offscreen;
constraint check will be applied when view goes visible.

* inspector/front-end/SidebarView.js:
(WebInspector.SidebarView.prototype.applyConstraints): Check if view is
offscreen.

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

6 years agoUnreviewed EFL gardening.
commit-queue@webkit.org [Thu, 17 Jan 2013 18:43:49 +0000 (18:43 +0000)]
Unreviewed EFL gardening.
https://bugs.webkit.org/show_bug.cgi?id=107113

Skipping test with missing expectation result.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-01-17

* platform/efl-wk2/TestExpectations:

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

6 years agoWeb Inspector: [Spectrum] Color picker in CSS editor does not update textual color...
apavlov@chromium.org [Thu, 17 Jan 2013 18:40:51 +0000 (18:40 +0000)]
Web Inspector: [Spectrum] Color picker in CSS editor does not update textual color value
https://bugs.webkit.org/show_bug.cgi?id=107110

Reviewed by Vsevolod Vlasov.

The Spectrum picker was never told to update the textual color upon user-initiated color changes.

* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.):

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

6 years ago Added svn:ignore=*.pyc, so that ud_opcode.pyc and ud_optable.pyc don't show up
ap@apple.com [Thu, 17 Jan 2013 18:40:44 +0000 (18:40 +0000)]
    Added svn:ignore=*.pyc, so that ud_opcode.pyc and ud_optable.pyc don't show up
        in svn stat.

        * disassembler/udis86: Added property svn:ignore.

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

6 years ago[EFL][CMAKE] Compress resource files of inspector
commit-queue@webkit.org [Thu, 17 Jan 2013 18:37:54 +0000 (18:37 +0000)]
[EFL][CMAKE] Compress resource files of inspector
https://bugs.webkit.org/show_bug.cgi?id=106210

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-01-17
Reviewed by Gyuyoung Kim.

Add compressing JavaScript
for smaller package and faster connection of remote web inspector.

* Source/PlatformEfl.cmake:

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

6 years agoRemove unnecessary public method TiledBackingStore::supportsAlpha()
commit-queue@webkit.org [Thu, 17 Jan 2013 18:36:18 +0000 (18:36 +0000)]
Remove unnecessary public method TiledBackingStore::supportsAlpha()
https://bugs.webkit.org/show_bug.cgi?id=107067

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-01-17
Reviewed by Kentaro Hara.

This patch removes unnecessary public method TiledBackingStore::supportsAlpha()
because supportsAlpha() is never called from other classes.

No new tests, no change in behavior.

* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::setSupportsAlpha):
* platform/graphics/TiledBackingStore.h:
(TiledBackingStore):

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

6 years ago[V8] Remove a --es5_readonly flag from V8 initialization and address duplicated code
commit-queue@webkit.org [Thu, 17 Jan 2013 18:34:43 +0000 (18:34 +0000)]
[V8] Remove a --es5_readonly flag from V8 initialization and address duplicated code
https://bugs.webkit.org/show_bug.cgi?id=106790

Patch by Peter Rybin <peter.rybin@gmail.com> on 2013-01-17
Reviewed by Kentaro Hara.

Couple of statements are moved to a newly created method. Old V8 flag setter is removed
according to FIXME and per V8 change http://code.google.com/p/v8/source/detail?r=12415

* bindings/v8/V8Initializer.cpp:
(WebCore::initializeV8Common): newly created method
(WebCore):
(WebCore::V8Initializer::initializeMainThreadIfNeeded):
(WebCore::V8Initializer::initializeWorker):

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

6 years agoFix texImage2D from a WebGL canvas.
commit-queue@webkit.org [Thu, 17 Jan 2013 18:33:13 +0000 (18:33 +0000)]
Fix texImage2D from a WebGL canvas.
https://bugs.webkit.org/show_bug.cgi?id=106941

Patch by John Bauman <jbauman@chromium.org> on 2013-01-17
Reviewed by Kenneth Russell.

Source/WebCore:

Clear the copied image whenever the canvas is modified, even if using
accelerated compositing.

Test: fast/canvas/webgl/tex-image-webgl.html

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::markContextChanged):

LayoutTests:

Add test to ensure doing teximage2d from a webgl canvas works. This
test is the same as a webgl conformance test.

* fast/canvas/webgl/tex-image-webgl-expected.txt: Added.
* fast/canvas/webgl/tex-image-webgl.html: Added.

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

6 years ago[AC] Memory leak in GLXConfigSelector::createConfig()
commit-queue@webkit.org [Thu, 17 Jan 2013 18:29:47 +0000 (18:29 +0000)]
[AC] Memory leak in GLXConfigSelector::createConfig()
https://bugs.webkit.org/show_bug.cgi?id=106657

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-01-17
Reviewed by Laszlo Gombos.

Free the memory returned by glXGetVisualFromFBConfig() using
XFree to avoid a memory leak.

No new tests. No change in behavior.

* platform/graphics/surfaces/glx/GLXConfigSelector.h:
(WebCore::GLXConfigSelector::createConfig):

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

6 years agoUnreviewed, rolling out r139929.
jsbell@chromium.org [Thu, 17 Jan 2013 18:28:20 +0000 (18:28 +0000)]
Unreviewed, rolling out r139929.
http://trac.webkit.org/changeset/139929
https://bugs.webkit.org/show_bug.cgi?id=107141

Speculative fix didn't work (Requested by jsbell on #webkit).

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

* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):

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

6 years ago[Chromium] Test expectations update after Skia shader changes
schenney@chromium.org [Thu, 17 Jan 2013 18:22:45 +0000 (18:22 +0000)]
[Chromium] Test expectations update after Skia shader changes

Unreviewed new GPU expectations

* platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-imageSmoothingEnabled-patterns-expected.png:
* platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-imageSmoothingEnabled-patterns-expected.png:

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

6 years ago Don't use NSApplication run loop in NetworkProcess
ap@apple.com [Thu, 17 Jan 2013 18:08:56 +0000 (18:08 +0000)]
    Don't use NSApplication run loop in NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=107061

        Reviewed by Anders Carlsson.

        Only WebProcess and PluginProcess should use Cocoa APIs that require the run loop.

        * PluginProcess/mac/PluginProcessMac.mm:
        (WebKit::PluginProcess::platformInitializePluginProcess):
        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformInitializeProcess):

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

6 years ago[Chromium} Removing extraneous expectations
schenney@chromium.org [Thu, 17 Jan 2013 16:38:23 +0000 (16:38 +0000)]
[Chromium} Removing extraneous expectations

Unreviewed expectations clean-up

* platform/chromium/TestExpectations:

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

6 years agoFix vprintf_stderr_common() to compile with -Wshorten-64-to-32
ddkilzer@apple.com [Thu, 17 Jan 2013 16:37:17 +0000 (16:37 +0000)]
Fix vprintf_stderr_common() to compile with -Wshorten-64-to-32
<http://webkit.org/b/107126>

Reviewed by Darin Adler.

Fixes the following build error:

    Assertions.cpp:92:22: error: implicit conversion loses integer precision: 'CFIndex' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
            int length = CFStringGetMaximumSizeForEncoding(CFStringGetLength(str), kCFStringEncodingUTF8);
                ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1 error generated.

* wtf/Assertions.cpp:
(vprintf_stderr_common): Use CFIndex type instead of int for the
return value of CFStringGetMaximumSizeForEncoding().

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

6 years ago[Chromium] Final rebaselines after Skia flags changed
schenney@chromium.org [Thu, 17 Jan 2013 16:34:47 +0000 (16:34 +0000)]
[Chromium] Final rebaselines after Skia flags changed
https://bugs.webkit.org/show_bug.cgi?id=106833
https://bugs.webkit.org/show_bug.cgi?id=99138

Unreviewed test expectations update

* platform/chromium-linux/fast/borders/outline-alpha-inline-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:
* platform/chromium/TestExpectations:

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

6 years agoWeb Inspector: fix DefaultTextEditor's broken backspace
pfeldman@chromium.org [Thu, 17 Jan 2013 16:15:33 +0000 (16:15 +0000)]
Web Inspector: fix DefaultTextEditor's broken backspace
https://bugs.webkit.org/show_bug.cgi?id=107130

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

Source/WebCore:

Remove css "position: relative;" style from "webkit-line-content" class, which
somehow brakes editing experience. Remove "height: 100%" from text-editor-overlay-highlight
class and cast necessary height via inserting "&nbsp;" into overlay span elements.

No new tests: no change in behaviour.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
* inspector/front-end/textEditor.css:
(.text-editor-overlay-highlight):

LayoutTests:

Fix test expected results to correspond to changes.

* inspector/editor/text-editor-highlight-regexp-expected.txt:

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

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Thu, 17 Jan 2013 15:54:18 +0000 (15:54 +0000)]
Unreviewed GTK gardening.

Adjust and move expectations for tests in svg/ and tables/ as
necessary to cover current testing situation for both WebKit1 and WebKit2.

* platform/gtk-wk1/TestExpectations:
* platform/gtk-wk2/TestExpectations:
* platform/gtk/TestExpectations:

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

6 years agoWeb Inspector: Introduce FileSystemWorkspaceProvider to allow showing files from...
vsevik@chromium.org [Thu, 17 Jan 2013 12:39:55 +0000 (12:39 +0000)]
Web Inspector: Introduce FileSystemWorkspaceProvider to allow showing files from file system in workspace.
https://bugs.webkit.org/show_bug.cgi?id=107021

Reviewed by Pavel Feldman.

Source/WebCore:

Added FileSystemWorkspaceProvider that populates workspace with files
loaded from file systems registered in FileSystemMapping and listens
for FileSystemAdded / FileSystemRemoved events to update workspace.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/FileMapping.js:
(WebInspector.FileMapping.prototype.urlForURI):
(WebInspector.FileMapping.MappingEntry.prototype.urlForURI):
* inspector/front-end/FileSystemMapping.js:
(WebInspector.FileSystemMapping.prototype.uriForPath):
(WebInspector.FileSystemMapping.prototype.addEventListener):
(WebInspector.FileSystemMapping.prototype.removeEventListener):
(WebInspector.FileSystemMappingImpl):
(get WebInspector.FileSystemMappingImpl.prototype.uriForPath):
* inspector/front-end/FileSystemWorkspaceProvider.js: Added.
* inspector/front-end/IsolatedFileSystemModel.js:
(WebInspector.IsolatedFileSystemModel):
(WebInspector.IsolatedFileSystemModel.prototype._innerAddFileSystem):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/Workspace.js:
* inspector/front-end/externs.js:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
* inspector/front-end/navigatorView.css:
(.navigator-other-tree-item .icon):

LayoutTests:

* inspector/file-mapping-expected.txt:

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

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Thu, 17 Jan 2013 12:25:21 +0000 (12:25 +0000)]
Unreviewed GTK gardening.

Removing 4 crash expectations that are obsolete.

* platform/gtk/TestExpectations:

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

6 years agoWeb Inspector: add WebDeToolsAgentImpl as task observer on reattach
yurys@chromium.org [Thu, 17 Jan 2013 11:08:29 +0000 (11:08 +0000)]
Web Inspector: add WebDeToolsAgentImpl as task observer on reattach
https://bugs.webkit.org/show_bug.cgi?id=107106

Reviewed by Pavel Feldman.

Register WebDevToolsAgentImpl as task observer when it client is reattached.

* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::reattach):

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

6 years agoUnreviewed EFL gardening.
g.czajkowski@samsung.com [Thu, 17 Jan 2013 10:32:10 +0000 (10:32 +0000)]
Unreviewed EFL gardening.

Allow to run spellcheck-input-search-crash.html for WK2-EFL.
This test passes after r135595.
It's skipped by global platform/wk2/TestExpectations.

* platform/efl-wk2/TestExpectations:

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

6 years ago[Autotools] Unify WTF sources list regardless of the target OS, Unicode backend
zandobersek@gmail.com [Thu, 17 Jan 2013 10:04:45 +0000 (10:04 +0000)]
[Autotools] Unify WTF sources list regardless of the target OS, Unicode backend
https://bugs.webkit.org/show_bug.cgi?id=105886

Reviewed by Gustavo Noronha Silva.

Rather than including files in the sources list in an OS-specific way,
guard specific files with OS(UNIX|WINDOWS), USE((GLIB|ICU)_UNICODE) guards
and include all of them in the list.

Proper comments for namespace and #if guard closings are also added or adjusted
where necessary in the affected files.

* GNUmakefile.list.am:
* wtf/OSAllocatorPosix.cpp: Add OS(UNIX) guards.
* wtf/OSAllocatorWin.cpp: Add OS(WINDOWS) guards.
* wtf/ThreadSpecificWin.cpp: Ditto.
* wtf/ThreadingWin.cpp: Ditto.
* wtf/unicode/glib/UnicodeGLib.cpp: Add USE(GLIB_UNICODE) guards.
(WTF):
* wtf/unicode/glib/UnicodeGLib.h: Ditto.
(WTF):
* wtf/unicode/icu/CollatorICU.cpp: Style changes.
* wtf/unicode/icu/UnicodeIcu.h: Add USE(ICU_UNICODE) guards.
(WTF):
* wtf/win/OwnPtrWin.cpp: Add OS(WINDOWS) guards.

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

6 years ago[GTK][EFL] NWRT should check that Xvfb is installed
zandobersek@gmail.com [Thu, 17 Jan 2013 09:58:56 +0000 (09:58 +0000)]
[GTK][EFL] NWRT should check that Xvfb is installed
https://bugs.webkit.org/show_bug.cgi?id=71767

Reviewed by Dirk Pranke.

EFL and GTK ports now check that Xvfb is installed before running
layout tests. The command line used to check whether Xvfb is present
is a simple `which Xvfb` that should return 0 as the exit code upon
success.

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort.show_results_html_file):
(EflPort):
(EflPort.check_sys_deps):
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort.check_sys_deps):
* Scripts/webkitpy/layout_tests/port/xvfbdriver.py:
(XvfbDriver):
(XvfbDriver.check_xvfb):

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

6 years agoWeb Inspector: add createOption method to WebInspector.StatusBarComboBox
aandrey@chromium.org [Thu, 17 Jan 2013 09:07:04 +0000 (09:07 +0000)]
Web Inspector: add createOption method to WebInspector.StatusBarComboBox
https://bugs.webkit.org/show_bug.cgi?id=107102

Reviewed by Vsevolod Vlasov.

* inspector/front-end/CPUProfileView.js:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._addFrame):
(WebInspector.ConsoleView.prototype._appendContextOption):
* inspector/front-end/StatusBarButton.js:
(WebInspector.StatusBarButton.prototype.set state):
(WebInspector.StatusBarButton.prototype.set visible):
(WebInspector.StatusBarComboBox.prototype.createOption):

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

6 years ago[EFL][GTK] checkSpellingOfString treats the multiple words as spelled correctly
g.czajkowski@samsung.com [Thu, 17 Jan 2013 08:25:56 +0000 (08:25 +0000)]
[EFL][GTK] checkSpellingOfString treats the multiple words as spelled correctly
https://bugs.webkit.org/show_bug.cgi?id=106662

Reviewed by Antonio Gomes.

Source/WebCore:

No new tests, covered by spelling-backspace-between-lines.html.

TextCheckerEnchant::checkSpellingOfString() method, treats the multiple words
as spelled correctly if one of them is ok. For example, string such as
"OK zz OK" is spelled correctly!

The method at the beginning assumes that the given string is spelled correctly,
then it iterates over the words to find out the misspelled location and length
in the whole string. In checkSpellingOfWord, if the word is ok, we mark
it as spelled correctly and we do return to check the next words. In the fact,
the location and length of the previously misspelled words are overwritten.

* platform/text/enchant/TextCheckerEnchant.cpp:
(WebCore::TextCheckerEnchant::checkSpellingOfWord):
Update of the word's misspeling location and length was moved out the loop.

(WebCore::TextCheckerEnchant::checkSpellingOfString):
Stop checking the next words If the current word is misspelled, to do not overwrite
its misspelled location and length.

LayoutTests:

* platform/efl-wk2/TestExpectations:
Allow running spelling-backspace-between-lines.html for WebKit2-EFL as it's
skipped by platform/wk2/TestExpectations.

* platform/gtk/TestExpectations:
Unskipping spelling-backspace-between-lines.html for WebKit-GTK+.

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

6 years agoWebSpeech: implement voices list
cfleizach@apple.com [Thu, 17 Jan 2013 08:14:30 +0000 (08:14 +0000)]
WebSpeech: implement voices list
https://bugs.webkit.org/show_bug.cgi?id=107014

Reviewed by Adam Barth.

Source/WebCore:

Add in the Mac side code to return a list of voices.
Adds a layout test, which is skipped for now, until the feature is enabled.

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

* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::SpeechSynthesis):
* Modules/speech/SpeechSynthesis.h:
(SpeechSynthesis):
* Modules/speech/mac/SpeechSynthesisMac.mm:
(WebCore::SpeechSynthesis::initializeVoiceList):

LayoutTests:

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

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

6 years agosheriffbot can't tell me who "kov" is
commit-queue@webkit.org [Thu, 17 Jan 2013 07:35:54 +0000 (07:35 +0000)]
sheriffbot can't tell me who "kov" is
https://bugs.webkit.org/show_bug.cgi?id=106184

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

Added glob style searching to the CommitterList contributors_by_search_string function so exact matches are favoured.

* Scripts/webkitpy/common/config/committers.py:
(Account.matches_glob):
(CommitterList.contributors_by_search_string):
* Scripts/webkitpy/common/config/committers_unittest.py:
(CommittersTest.test_committer_lookup):
* Scripts/webkitpy/tool/bot/irc_command.py:
(Whois):

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

6 years agoUpdate sandbox rules after r128003
ap@apple.com [Thu, 17 Jan 2013 07:35:40 +0000 (07:35 +0000)]
Update sandbox rules after r128003
https://bugs.webkit.org/show_bug.cgi?id=106840

Reviewed by Darin Adler.

* WebProcess/com.apple.WebProcess.sb.in: Additional Lion only fixes.

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

6 years agoUpdate GraphicsContext to support winding rule in clip operator for Core Graphics
commit-queue@webkit.org [Thu, 17 Jan 2013 07:23:17 +0000 (07:23 +0000)]
Update GraphicsContext to support winding rule in clip operator for Core Graphics
https://bugs.webkit.org/show_bug.cgi?id=106871

Patch by Rik Cabanier <cabanier@adobe.com> on 2013-01-16
Reviewed by Dirk Schulze.

Changed the interface to GraphicsContext so it's possible to pass the winding
rule to canvasClip() and clip().

No new tests, no change in functionality.

* WebCore.exp.in: Change signature of canvasClip function.
* platform/graphics/GraphicsContext.h: Change canvasClip and clip signature with default winding rule.
* platform/graphics/cairo/GraphicsContextCairo.cpp: Update interface with new signature so it still compiles.
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):
* platform/graphics/cg/GraphicsContextCG.cpp: Update interface with new signature and implement winding rules.
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):
* platform/graphics/openvg/GraphicsContextOpenVG.cpp: Update interface with new signature so it still compiles.
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):
* platform/graphics/qt/GraphicsContextQt.cpp: Update interface with new signature so it still compiles.
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):
* platform/graphics/skia/GraphicsContextSkia.cpp: Update interface with new signature so it still compiles.
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):
* platform/graphics/wince/GraphicsContextWinCE.cpp: Update interface with new signature so it still compiles.
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):
* platform/graphics/wx/GraphicsContextWx.cpp: Update interface with new signature so it still compiles.
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):

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