[Chromium] Unreviewed rebaselining after Skia roll @6773.

* platform/chromium-win/fast/borders/borderRadiusDotted02-expected.png:
* platform/chromium-win/fast/borders/borderRadiusDotted03-expected.png:
* platform/chromium-win/fast/borders/borderRadiusDotted04-expected.png:
* platform/chromium-win/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add --profiler=PROFILER option to run-perf-tests to allow specifying which profiler to use on platforms with many
https://bugs.webkit.org/show_bug.cgi?id=104891

Reviewed by Dirk Pranke.

I also implemented a very simple "Sample" Profiler using
Mac OS X's /usr/bin/sample command line tool.

I also moved the map(unicode, args) call into Executive.popen
so that all callers don't have to do it themselves.

The real reason for this abstraction is to make it easy
to support both perf and pprof on linux which seem to
be about equally popular among those I ask in the Chrome team.

* Scripts/webkitpy/common/system/executive.py:
(Executive.popen):
* Scripts/webkitpy/common/system/profiler.py:
(ProfilerFactory.create_profiler):
(ProfilerFactory):
(ProfilerFactory.available_profilers_by_name):
(ProfilerFactory.default_profiler_name):
(Sample):
(Sample.__init__):
(Sample.attach_to_pid):
(Sample.profile_after_exit):
(IProfiler.attach_to_pid):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.__init__):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move MutationObserver tests to fast/dom/MutationObserver
https://bugs.webkit.org/show_bug.cgi?id=104948

Reviewed by Ryosuke Niwa.

This seems like a more sensible location, and in line with other DOM features.

* fast/dom/MutationObserver/: Renamed from LayoutTests/fast/mutation/.
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk-wk2/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Small fixes for WebPluginContainer::setWebLayer
https://bugs.webkit.org/show_bug.cgi?id=104953

Reviewed by James Robinson.

Source/WebKit/chromium:

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl): Allow
WebPlugin to clean up dangling pointers.

Tools:

* DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp: Clean up
dangling pointers, force correct invalidation of the layer.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Revert r137407 - it didn't actually work right.
https://bugs.webkit.org/show_bug.cgi?id=101976

Unreviewed, build fix.

Turns out that rebaselining was completely broken with this change :(
We're passing in a list of test names rather than the list of
failureInfo objects.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
(.):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
(.):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results_unittests.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make --profile output easier to understand for pprof on linux
https://bugs.webkit.org/show_bug.cgi?id=104957

Reviewed by Dirk Pranke.

pprof is kinda mysterious, so we print some information
on how to use it, and how to learn how to read the sample dump.
This is similar to what we've done for perf output for Chromium Android.

* Scripts/webkitpy/common/system/profiler.py:
(GooglePProf._pprof_path):
(GooglePProf.profile_after_exit):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mark one test as failing and rebaseline another after r137646

Unreviewed chromium gardening.

* platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Added.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Switch the gradient drawing code to use bearing angles
https://bugs.webkit.org/show_bug.cgi?id=104616

Patch by Tab Atkins <tabatkins@google.com> on 2012-12-13
Reviewed by Dean Jackson.

Source/WebCore:

Switch the gradient math from polar-coordinate angles to bearing angles.
To make this possible without behavior changes,
switch the m_deprecatedType boolean to an m_gradientType enum,
and fix all usages accordingly.

No new tests, as this is a refactoring and should have no behavior changes. Existing tests suffice.

* css/CSSGradientValue.cpp:
(WebCore::endPointsFromAngle):
This is the only mechanical change. The rest are just fixing the plumbing around the boolean->enum change.

* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::sortStopsIfNeeded):
(WebCore::CSSGradientValue::addStops):
(WebCore::CSSLinearGradientValue::customCssText):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::customCssText):
* css/CSSGradientValue.h:
(WebCore::CSSGradientValue::gradientType):
(WebCore::CSSGradientValue::CSSGradientValue):
(WebCore::CSSLinearGradientValue::create):
(WebCore::CSSLinearGradientValue::CSSLinearGradientValue):
(WebCore::CSSRadialGradientValue::create):
(WebCore::CSSRadialGradientValue::CSSRadialGradientValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseDeprecatedGradient):
(WebCore::CSSParser::parseDeprecatedLinearGradient):
(WebCore::CSSParser::parseDeprecatedRadialGradient):

LayoutTests:

This change alters a few pixels on the linux baseline.
It may or may not trigger similar failures on Windows and Mac - we'll see.

* platform/chromium-linux/fast/gradients/css3-linear-angle-gradients-expected.png:
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Possible JS re-entrancy caused by UI event handler
https://bugs.webkit.org/show_bug.cgi?id=84862

Reviewed by Rob Buis.

Fix an obvious bug in previous patch.

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


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137671 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: move rundetails, summarize_results into test_run_results
https://bugs.webkit.org/show_bug.cgi?id=104963

Reviewed by Eric Seidel.

More cleanup; this the plain-old-data functions out of manager.py
and into test_run_results next to the other aggregate data structures.

Also this cleans up a bunch of test code and reduces duplication.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_look_for_new_crash_logs):
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.__init__):
(TestRunResults.add):
(RunDetails):
(RunDetails.__init__):
(_interpret_test_failures):
(summarize_results):
* Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py: Added.
(get_result):
(run_results):
(summarized_results):
(InterpretTestFailuresTest):
(InterpretTestFailuresTest.setUp):
(InterpretTestFailuresTest.test_interpret_test_failures):
(SummarizedResultsTest):
(SummarizedResultsTest.setUp):
(SummarizedResultsTest.test_no_svn_revision):
(SummarizedResultsTest.test_svn_revision):
(SummarizedResultsTest.test_summarized_results_wontfix):
* Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
(BuildBotPrinterTests.get_printer):
(BuildBotPrinterTests.test_print_unexpected_results):
(BuildBotPrinterTests.test_print_results):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r137661.
http://trac.webkit.org/changeset/137661
https://bugs.webkit.org/show_bug.cgi?id=104891

broke unit tests, run-webkit-tests

* Scripts/webkitpy/common/system/executive.py:
(Executive._run_command_with_teed_output):
(Executive.run_command):
(Executive.popen):
* Scripts/webkitpy/common/system/profiler.py:
(ProfilerFactory.create_profiler):
(GooglePProf.profile_after_exit):
(IProfiler.attach_to_pid):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.__init__):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137673 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a missing nullity check in RenderObject::containingBlock
https://bugs.webkit.org/show_bug.cgi?id=104961

Reviewed by Adrienne Walker.

Adds a missing nullity check in an assert.

No new tests, no change in functionality.

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


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137674 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rubber-stamped by Tim Horton.

This test needs updates results after http://trac.webkit.org/changeset/137393

* platform/mac/svg/css/shadow-changes-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137676 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Resource Timing] Don't report resources with data: urls
https://bugs.webkit.org/show_bug.cgi?id=104868

Reviewed by Tony Gentilcore.

Source/WebCore:

Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url.html

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::loadDone):

LayoutTests:

* http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url-expected.txt: Added.
* http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137677 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Event dispatch: Avoid heap allocations in ensureEventAncestors() typical case.
<http://webkit.org/b/104938>

Reviewed by Anders Carlsson.

Give the EventTarget and EventContext vectors an inline capacity of 32 (no science here, just a
non-zero number.) As these vectors are created on the stack already, this is merely using a bit
more stack space to avoid malloc()ing all the gosh-darn time.

Looks like ~6% improvement on Dromaeo/jslib-event-prototype.

* dom/EventDispatcher.cpp:
(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
(WebCore::EventDispatcher::ensureEventAncestors):
* dom/EventDispatcher.h:
(EventRelatedTargetAdjuster):
(EventDispatcher):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Expose a WebLayerTreeView getter on WebWidget to make it easier for the embedder to interface with the compositor
https://bugs.webkit.org/show_bug.cgi?id=104968

Patch by James Robinson <jamesr@chromium.org> on 2012-12-13
Reviewed by Adrienne Walker.

This is an intermediate step on the way to https://code.google.com/p/chromium/issues/detail?id=156175.

* public/WebWidget.h:
(WebKit):
(WebWidget):
(WebKit::WebWidget::layerTreeView):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::webLayerTreeView):
(WebKit):
* src/WebViewImpl.h:
(WebViewImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r137645, r137646, and r137667.
http://trac.webkit.org/changeset/137645
http://trac.webkit.org/changeset/137646
http://trac.webkit.org/changeset/137667
https://bugs.webkit.org/show_bug.cgi?id=104911

Breaks some overflow layout tests

Source/WebCore:

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateDescendantDependentFlags):
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::usesCompositedScrolling):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::dirtyZOrderLists):
(WebCore::RenderLayer::dirtyNormalFlowList):
(WebCore::RenderLayer::updateLayerListsIfNeeded):
(WebCore::RenderLayer::shouldBeNormalFlowOnly):
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):
(WebCore::RenderLayer::styleChanged):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):
* testing/InternalSettings.cpp:
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:

Tools:

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.virtual_test_suites):

LayoutTests:

* compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Removed.
* compositing/overflow/automatically-opt-into-composited-scrolling.html: Removed.
* platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Removed.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Removed.
* platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Removed.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Support op_typeof in the DFG
https://bugs.webkit.org/show_bug.cgi?id=98898

Reviewed by Filip Pizlo.

Adds a TypeOf node to the DFG to support op_typeof.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
  We try to determine the result early here, and substitute in a constant.
  Otherwise we leave the node intact, and set the result type to SpecString.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
  Parse op_typeof
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
  TypeOf nodes can be subjected to pure CSE
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
  We can handle typeof.
* dfg/DFGNodeType.h:
(DFG):
  Define the node.
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
  Add operationTypeOf to support the non-trivial cases.
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
  Actual codegen
* runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
(JSC):
* runtime/Operations.h:
(JSC):
  Some refactoring to allow us to get the type string for an
  object without needing a callframe.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test fast/events/mouse-cursor-image-set.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=104945

Patch by Rick Byers <rbyers@chromium.org> on 2012-12-13
Reviewed by Beth Dakin.

Fix typo that prevented one of the images from being reliably pre-loaded.
A deeper fix to avoid these class of issues is tracked by
https://bugs.webkit.org/show_bug.cgi?id=104952

* fast/events/mouse-cursor-image-set.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Coordinated Graphics: Reorder messages to CoordinatedLayerTreeHostProxy
https://bugs.webkit.org/show_bug.cgi?id=103843

Patch by Huang Dongsung <luxtella@company100.net> on 2012-12-13
Reviewed by Noam Rosenthal.

Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
lifecycle. LayerTreeRenderer, CoordinatedLayerTreeHost and CoordinatedLayerTreeHostProxy
have the same lifecycle to WebPage and the root layer is reused even if loading
new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
than twice.

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

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