setNeedsLayout(true, false) is super confusing to read and should use an enum instead
https://bugs.webkit.org/show_bug.cgi?id=82369

Reviewed by Julien Chaffraix.

I replaced all uses of the markParents bool with a MarkingBehavior
enum (which has two values: MarkContainingBlockChain and MarkOnlyThis).
I'm not sure the naming is perfect (as it's not clear to me if markParents is
used to mean the same thing in these 3 functions), but hopefully this code is more
clear.  I welcome further suggested adjustment from layout experts.

* page/FrameView.cpp:
(WebCore::FrameView::scheduleRelayout):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::adjustPositionedBlock):
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
(WebCore::RenderBlock::removePositionedObjects):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlock::adjustBlockChildForPagination):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutRunsAndFloats):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::positionNewFloatOnLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::positionLineBox):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::gatherFlexChildrenInfo):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::layout):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setPreferredLogicalWidthsDirty):
* rendering/RenderObject.h:
(RenderObject):
(WebCore::RenderObject::setNeedsLayout):
(WebCore::RenderObject::setChildNeedsLayout):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layoutSpecialExcludedChild):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::layoutSpecialExcludedChild):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::layout):
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layout):
* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::layout):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: CodeGeneratorInspector.py: switch Runtime, Network and DOM domains to typed API
https://bugs.webkit.org/show_bug.cgi?id=81558

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-03-28
Reviewed by Pavel Feldman.

Client code is switched to typed API (all InspectorObject and InspectorArray types are
replaced with generated types from TypeBuilder according to Inspector.json).

Missing array of int specialization is added. Code generator now has a check against
misspelled (non-existing) domain names.

* inspector/CodeGeneratorInspector.py:
(Generator.go): check against misspelled domain names added.
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::evaluate):
(WebCore::InjectedScript::callFunctionOn):
(WebCore::InjectedScript::evaluateOnCallFrame):
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::wrapObject):
(WebCore::InjectedScript::wrapNode):
(WebCore::InjectedScript::wrapSerializedObject):
(WebCore::InjectedScript::makeEvalCall):
* inspector/InjectedScript.h:
(InjectedScript):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::loadEventFired):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
(WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
* inspector/InspectorDOMAgent.h:
(InspectorDOMAgent):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
* inspector/InspectorPageAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
* inspector/InspectorResourceAgent.h:
(InspectorResourceAgent):
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::evaluate):
(WebCore::InspectorRuntimeAgent::callFunctionOn):
(WebCore::InspectorRuntimeAgent::getProperties):
* inspector/InspectorRuntimeAgent.h:
(InspectorRuntimeAgent):
* inspector/InspectorValues.h:
(InspectorArray):
(WebCore::InspectorArray::pushInt):
(WebCore):
* inspector/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h:
(ScriptCallFrame):
* inspector/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::buildInspectorArray):
* inspector/ScriptCallStack.h:
(ScriptCallStack):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
More flaky tests.

Unreviewed, expectations update.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use xcrun to find nm and ranlib on OS X builds
<http://webkit.org/b/82466>

Reviewed by Dan Bernstein.

* Scripts/build-webkit: Use xcrun to find ranlib.
* Scripts/webkitdirs.pm:
(determineNmPath): Added.  Use xcrun to find nm on OS X.
(nmPath): Added.
* Scripts/webkitperl/features.pm:
(libraryContainsSymbol): Use nmPath().

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Fix tiled layer assert for huge layers
https://bugs.webkit.org/show_bug.cgi?id=82486

Reviewed by James Robinson.

Source/WebCore:

Test: TiledLayerChromiumTest.hugeLayerUpdateCrash

TilingData::numTiles() is calculated as the product of two ints and so
can potentially overflow, causing numTiles() to be incorrect. To avoid
calling code accidentally falling into this trap, remove this function
and all code that uses tile index from TilingData.  This requires
fixing up a bunch of callers of TilingData and CCLayerTilingData.

Additionally, TilingData::numTiles() has long been a confusing
function name in some contexts, so rename to bool hasEmptyBounds().

Also, remove TilingData::intersectDrawQuad because there are no
clients of that function.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::reserveTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
(WebCore::TiledLayerChromium::prepareToUpdateIdle):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):
* platform/graphics/chromium/cc/CCLayerTilingData.cpp:
(WebCore::CCLayerTilingData::tileRect):
* platform/graphics/chromium/cc/CCLayerTilingData.h:
(WebCore::CCLayerTilingData::hasEmptyBounds):
(WebCore::CCLayerTilingData::tileBounds):
(WebCore::CCLayerTilingData::isEmpty):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::appendQuads):
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::create):
(WebCore::Texture::updateSubRect):
* platform/graphics/gpu/TilingData.cpp:
(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileBoundsWithBorder):
(WebCore::TilingData::tileBoundsNormalized):
* platform/graphics/gpu/TilingData.h:
(WebCore::TilingData::hasEmptyBounds):
(TilingData):
(WebCore::TilingData::assertTile):

Source/WebKit/chromium:

Add test for updating a huge layer that would assert prior to this
code. Fix up TilingData tests to use a testing class that provides a
safe version of numTiles().

* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):
(WTF):
* tests/TilingDataTest.cpp:
(TestTiling):
(WebCore::TestTiling::TestTiling):
(WebCore::TestTiling::numTiles):
(WebCore):
(WebCore::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Update worker-multi-port-expected.txt.

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

Reviewed by James Robinson.

* platform/chromium-win/fast/workers/worker-multi-port-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
"Sticky" or slow scrolling on some sites
https://bugs.webkit.org/show_bug.cgi?id=82512
<rdar://problem/11000372>

Reviewed by Andreas Kling.

When we're in the slow mode and have to update the scroll layer position on the main thread,
get it from the scrolling thread so we'll be in sync with the scrolling tree when the main thread is busy.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
* page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::mainFrameScrollPosition):
(WebCore):
(WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):
* page/scrolling/ScrollingTree.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix inspector tests when running in internal builds.

<rdar://problem/11050694>

Reviewed by Tim Hatcher.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] layer->clipRect() is not initialized for layers that create a renderSurface.
https://bugs.webkit.org/show_bug.cgi?id=74147

Reviewed by Adrienne Walker.

Source/WebCore:

Added 3 additional unit tests; Modified existing unit tests and layout tests.

The layer's clipRect and usesLayerClipping information was not
being initialized for layers that created a renderSurface. (It
was, however, being initialized for the renderSurface itself.)
This patch adds a unit test that reproduces that this is an error,
other unit tests to tightly test the value of clipRect being
initialized, and adds the logic to properly initialize the
clipRect.

Before this patch, this bug was causing flashing on tab-switch on
the apple iphone page. Even worse, with partial swap enabled, the
layers would simply disappear, because the first frame the
clipRect is uninitialized and the layer is not drawn, and the
second frame onwards, the damage tracker correctly things nothing
is damaged, so it doesn't draw that layer again until other damage
causes it to be redrawn.

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):

Source/WebKit/chromium:

Added 3 more unit tests. One reproduces the clipRect problem in an
integrated manner, the other two directly test that clipRects are
properly initialized.

* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore::TEST):
(WebCore):
* tests/CCLayerTreeTestCommon.h:
(WebKitTests):

LayoutTests:

* platform/chromium/test_expectations.txt: marked test as needing rebaselining

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
test-webkitpy should support files, directories, and packages as command line args
https://bugs.webkit.org/show_bug.cgi?id=76765

Reviewed by Adam Barth.

This patch adds support for specifying files, directories, and
packages to test-webkitpy along with the already existing
support for modules, test classes, and individual test names.

Also, fix a bug in filesystem_mock where we wouldn't normalize a
path containing a reference to the current directory properly,
for example, '/foo/./bar.py'.

* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.normpath):
* Scripts/webkitpy/test/main.py:
(Tester._configure_logging):
(Tester._run_tests):
* Scripts/webkitpy/test/test_finder.py:
(TestDirectoryTree.find_modules):
(TestDirectoryTree.subpath):
(TestFinder.is_dotted_name):
(TestFinder.find_names):
(TestFinder):
(TestFinder._find_names_for_arg):
(TestFinder._find_in_trees):
(TestFinder._default_names):
* Scripts/webkitpy/test/test_finder_unittest.py:
(TestFinderTest.setUp):
(TestFinderTest.tearDown):
(TestFinderTest.check_names):
(TestFinderTest.test_default_names):
(TestFinderTest):
(TestFinderTest.test_paths):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112437 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Incorrect foreignObject hit test results when overlapping other SVG elements
https://bugs.webkit.org/show_bug.cgi?id=82059

Patch by Florin Malita <fmalita@google.com> on 2012-03-28
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Test: svg/hittest/foreign-object-background.svg

Foreign content needs to be hit-tested atomically due to the (pseudo)
stacking context established by FOs.

* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
Hit test all phases on FO HitTestForeground.

LayoutTests:

* svg/hittest/foreign-object-background-expected.txt: Added.
* svg/hittest/foreign-object-background.svg: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add tracing events around CCLayerTreeHostImpl visibility.
https://bugs.webkit.org/show_bug.cgi?id=82501

Patch by Michal Mocny <mmocny@google.com> on 2012-03-28
Reviewed by James Robinson.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::setVisible):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
extract-built-product build step should fail if unzipping fails
https://bugs.webkit.org/show_bug.cgi?id=82493

Reviewed by Simon Fraser.

Forward non-zero exit code from subprocesses so that the master can detect any failures
and bail out early.

* BuildSlaveSupport/built-product-archive:
(main):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
More Chromium rebaselines from the expected failures tab in garden-o-matic.
They all looked like straightforward text-rendering or anti-aliasing issues,
except for some where the new results were clearly just more correct.

* fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png: Copied from LayoutTests/platform/efl/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png.
* platform/chromium-linux/fast/dom/HTMLInputElement/input-image-alt-text-expected.png:
* platform/chromium-linux/fast/dynamic/containing-block-change-expected.png: Added.
* platform/chromium-linux/fast/dynamic/first-letter-display-change-expected.png: Added.
* platform/chromium-linux/fast/dynamic/window-resize-scrollbars-test-expected.png:
* platform/chromium-linux/fast/events/updateLayoutForHitTest-expected.png: Renamed from LayoutTests/platform/efl/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png.
* platform/chromium-linux/fast/events/updateLayoutForHitTest-expected.txt: Added.
* platform/chromium-mac-leopard/fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
* platform/chromium-mac-leopard/fast/dom/getElementsByClassName/011-expected.txt: Added.
* platform/chromium-mac-leopard/fast/dynamic/containing-block-change-expected.png: Added.
* platform/chromium-mac-leopard/fast/dynamic/window-resize-scrollbars-test-expected.png: Added.
* platform/chromium-mac-leopard/fast/events/updateLayoutForHitTest-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/dom/52776-expected.png:
* platform/chromium-mac-snowleopard/fast/dom/52776-expected.txt:
* platform/chromium-mac-snowleopard/fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/dynamic/containing-block-change-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/dynamic/window-resize-scrollbars-test-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/encoding/utf-16-big-endian-expected.png:
* platform/chromium-mac-snowleopard/fast/encoding/utf-16-little-endian-expected.png:
* platform/chromium-mac-snowleopard/fast/events/reveal-link-when-focused-expected.png:
* platform/chromium-mac-snowleopard/fast/events/updateLayoutForHitTest-expected.png: Added.
* platform/chromium-mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
* platform/chromium-mac/fast/dynamic/containing-block-change-expected.png: Added.
* platform/chromium-mac/fast/dynamic/window-resize-scrollbars-test-expected.png: Added.
* platform/chromium-mac/fast/dynamic/window-resize-scrollbars-test-expected.txt: Added.
* platform/chromium-mac/fast/encoding/utf-16-big-endian-expected.png: Added.
* platform/chromium-mac/fast/encoding/utf-16-big-endian-expected.txt: Added.
* platform/chromium-mac/fast/encoding/utf-16-little-endian-expected.png: Added.
* platform/chromium-mac/fast/encoding/utf-16-little-endian-expected.txt: Added.
* platform/chromium-mac/fast/events/reveal-link-when-focused-expected.png: Added.
* platform/chromium-mac/fast/events/updateLayoutForHitTest-expected.png: Added.
* platform/chromium-mac/fast/events/updateLayoutForHitTest-expected.txt: Added.
* platform/chromium-win/fast/dom/HTMLInputElement/input-image-alt-text-expected.png:
* platform/chromium-win/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt:
* platform/chromium-win/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png: Renamed from LayoutTests/platform/gtk/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png.
* platform/chromium-win/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt: Added.
* platform/chromium-win/fast/dynamic/containing-block-change-expected.png: Added.
* platform/chromium-win/fast/dynamic/containing-block-change-expected.txt: Added.
* platform/chromium-win/fast/dynamic/first-letter-display-change-expected.png: Added.
* platform/chromium-win/fast/dynamic/window-resize-scrollbars-test-expected.png:
* platform/chromium-win/fast/dynamic/window-resize-scrollbars-test-expected.txt:
* platform/chromium/fast/dom/Window/get-set-properties-expected.txt:
* platform/chromium/fast/dom/Window/window-property-descriptors-expected.txt: Copied from LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt.
* platform/chromium/fast/dom/Window/window-property-shadowing-expected.txt:
* platform/chromium/test_expectations.txt:
* platform/efl/fast/dom/Window/window-property-descriptors-expected.txt: Renamed from LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt.
* platform/mac/fast/dynamic/first-letter-display-change-expected.txt: Renamed from LayoutTests/fast/dynamic/first-letter-display-change-expected.txt.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
flakiness dashboard should only keep the last 500 runs
https://bugs.webkit.org/show_bug.cgi?id=82530

Reviewed by Ojan Vafai.

If a bot has an overly large amount of failing tests, then
storing 750 runs' worth takes a lot of memory and CPU time to
process and we end up getting killed by AppEngine; this cases
data corruption and confusion down the road when we have to
retry the upload of the data and the tests show up as multiple
runs.

* TestResultServer/model/jsonresults.py:
(JsonResults.update_file):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
download-built-product build step should detect 404 errors
https://bugs.webkit.org/show_bug.cgi?id=82491

Reviewed by Ryosuke Niwa.

Pass --fail to curl so that it reports 404 errors.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DownloadBuiltProduct): Pass --fail to curl so that it reports errors.
* BuildSlaveSupport/built-product-archive:
(extractBuiltProduct): Remove trailing whitespace.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Deleting a paragraph of text should not add elements for typing style
https://bugs.webkit.org/show_bug.cgi?id=82401

Reviewed by Enrica Casucci.

Source/WebCore: 

This behavior was explicitly supported by DeleteSelectionCommand but it doesn't match TextEdit or Firefox.
We're changing our behavior to match TextEdit and Firefox in this patch.

The behavior is tested by an existing test, which was renamed to deleting-text-rests-typing-style.html in this patch.

Test: editing/execCommand/deleting-text-rests-typing-style.html

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):

LayoutTests: 

Rebaselined the tests per behavior changes. Also renamed 19653-3.html to deleting-text-rests-typing-style.html
which tests this behavioral change.

* editing/deleting/delete-and-cleanup-expected.txt:
* editing/deleting/delete-and-cleanup.html: Elements added for typing styles have been removed.
* editing/deleting/delete-br-012-expected.txt: Ditto.
* editing/deleting/delete-select-all-001-expected.txt: Ditto.
* editing/execCommand/19653-3-expected.txt: Removed.
* editing/execCommand/19653-3.html: Removed.
* editing/execCommand/apply-style-text-decoration-crash-expected.txt:
* editing/execCommand/delete-image-in-anchor-expected.txt: Ditto.
* editing/execCommand/deleting-text-rests-typing-style-expected.txt: Copied from LayoutTests/editing/execCommand/19653-3-expected.txt.
* editing/execCommand/deleting-text-rests-typing-style.html: Copied from LayoutTests/editing/execCommand/19653-3.html.
* editing/inserting/5994480-2-expected.txt:
* editing/inserting/5994480-2.html: Ditto; converted this test to a dump-as-markup test for clarity.
* editing/pasteboard/paste-text-with-style-2-expected.txt: Elements added for typing styles have been removed.
* editing/style/block-style-005-expected.txt:  Ditto.
* editing/pasteboard/select-element-1-expected.txt: Editing delegate dump changed but the final result remains intact.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FileWriter has two race conditions
https://bugs.webkit.org/show_bug.cgi?id=81861

Reviewed by David Levin.

Should make current tests less flaky.

* Modules/filesystem/FileWriter.h:
* Modules/filesystem/FileWriter.cpp:
Track the in-flight operation, whether it be an abort/write/truncate.
Whether an abort comes back as didWrite, didTruncate, or didFail, handle
it appropriately.  Before this fix, the Chromium implementation would
assert in two cases:

If the user calls abort, then write, then abort before the backend
catches up, we'd send both aborts to the backend, even though it hadn't
received the write yet.  Chromium's backend asserts if there's an abort
with no write in progress.  We now record that we've sent an abort and
are waiting for the response.

If the user calls abort while a write/truncate is just finishing, on the
Chromium worker implementation, the completion message could be
thread-hopping back to WebCore at the
WorkerAsyncFileWriterCallbacksBridge while the abort is thread-hopping
in the other direction.  Again, this leads to an abort call to the
backend with no write in progress, and an assert.  We're now robust to
completions coming back when we're expecting an abort, and
https://chromiumcodereview.appspot.com/9764018/ will make the backend
robust to extra abort calls.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap
https://bugs.webkit.org/show_bug.cgi?id=82516

Reviewed by James Robinson.

Source/WebCore:

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::swapBuffers):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::swapBuffers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
(WebCore::CCScheduledActionDrawAndSwapResult::CCScheduledActionDrawAndSwapResult):
(CCScheduledActionDrawAndSwapResult):
(WebCore):
(CCSchedulerClient):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):

Source/WebKit/chromium:

* tests/CCSchedulerTest.cpp:
(WebKitTests::FakeCCSchedulerClient::reset):
(WebKitTests::FakeCCSchedulerClient::hasAction):
(FakeCCSchedulerClient):
(WebKitTests::FakeCCSchedulerClient::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::FakeCCSchedulerClient::scheduledActionDrawAndSwapForced):
(WebKitTests::FakeCCSchedulerClient::setDrawWillHappen):
(WebKitTests::FakeCCSchedulerClient::setSwapWillHappenIfDrawHappens):
(WebKitTests::SchedulerClientThatSetNeedsDrawInsideDraw::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::SchedulerClientThatSetNeedsDrawInsideDraw::scheduledActionDrawAndSwapForced):
(SchedulerClientThatSetNeedsDrawInsideDraw):
(WebKitTests::TEST):
(WebKitTests::SchedulerClientThatSetNeedsCommitInsideDraw::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::SchedulerClientThatSetNeedsCommitInsideDraw::scheduledActionDrawAndSwapForced):
(SchedulerClientThatSetNeedsCommitInsideDraw):
(WebKitTests):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed rebaseline

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