[Chromium] Re-expose layoutTestController as various fuzzers depend on it
https://bugs.webkit.org/show_bug.cgi?id=93282

Reviewed by Ryosuke Niwa.

Unfortunately, various fuzzers used in the Chromium project still depends on
window.layoutTestController. Re-expose the object while they're making the transition.

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::bindJSObjectsToWindow):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium-Android] Store test executable, data and fonts in /data/local/tmp
https://bugs.webkit.org/show_bug.cgi?id=91910

/data/local/tmp is a directory with permission 0777 by default.
Place DumpRenderTree resources here so that both the native test app and
the NRWT script can access them even if adb shell isn't running as root.

Reviewed by Adam Barth.

* DumpRenderTree/chromium/TestShellAndroid.cpp:
(createFIFO): Set fifo mode to 0666 to allow unrooted adb shell to access.
* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.driver_cmd_line):
(ChromiumAndroidDriver.__init__):
(ChromiumAndroidDriver._setup_test):
(ChromiumAndroidDriver._push_executable):
* Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:
(ChromiumAndroidPortTest.make_port):
(ChromiumAndroidPortTest.test_expectations_files):
(ChromiumAndroidDriverTest.test_drt_cmd_line):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: clean up logging, part 1
https://bugs.webkit.org/show_bug.cgi?id=93018

Reviewed by Ojan Vafai.

remove --print, --help-printing from nrwt, add three new options:
--quiet, which just logs warnings,errors, and unexpected results
--debug-rwt-logging, a new name for --verbose
--details, to get the old --print trace-everything behavior

This patch does not implement the new "one line per test"
--verbose behavior specified in bug 88702, and there's a bunch
of internal cleanup I can do in printing.py that I'll defer to
a later patch to make things easier to review.

This patch deletes a lot of unit tests that are no longer
necessary since there aren't so many logging combinations.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(run):
(main):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(parse_args):
(passing_run):
(StreamTestingMixin.assertContains):
(MainTest.test_child_processes_2):
(MainTest.test_child_processes_min):
(MainTest.test_full_results_html):
(MainTest.test_no_tests_found):
(MainTest.test_no_tests_found_2):
(MainTest.test_repeat_each_iterations_num_tests):
(MainTest.test_additional_platform_directory):
(RebaselineTest.assertBaselines):
* Scripts/webkitpy/layout_tests/views/printing.py:
(print_options):
(Printer.__init__):
(Printer.enabled):
(Printer.print_unexpected_results):
* Scripts/webkitpy/layout_tests/views/printing_unittest.py:
(TestUtilityFunctions.test_print_options):
(Testprinter.get_result_summary):
(Testprinter.test_configure_and_cleanup):
(Testprinter.test_print_config):
(Testprinter.test_print_one_line_summary):
(Testprinter.test_print_unexpected_results):
(test_details):
(test_default):
(test_quiet):
(test_verbose):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124789 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Adding APIs to Chromium WebKit API to allow for creating and monitoring frame hierarchy.
https://bugs.webkit.org/show_bug.cgi?id=93127

Patch by Nasko Oskov <nasko@chromium.org> on 2012-08-06
Reviewed by Adam Barth.

Add support in the API to monitor and create frame hierarchy to allow replicating it
across different instances of WebKit.

* public/WebDocument.h:
(WebDocument): Added createElement.
* public/WebFrame.h: Added assignedName.
* public/WebFrameClient.h:
(WebFrameClient):
(WebKit::WebFrameClient::didCreateFrame): Added to allow embedders to know when frames are created.
(WebKit::WebFrameClient::willCheckAndDispatchMessageEvent): Added the target frame as a parameter.
* public/WebNode.h:
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::willCheckAndDispatchMessageEvent):
* src/WebDocument.cpp:
(WebKit::WebDocument::createElement): Added to allow for creating frame elements.
(WebKit):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::uniqueName): Added to migrate callers to the matching WebCore API.
(WebKit):
(WebKit::WebFrameImpl::assignedName): Returns the name given to a frame, as opposed
to the unique name, generated by WebKit.
(WebKit::WebFrameImpl::createChildFrame): Added call to the frame client's didCreateFrame.
* src/WebFrameImpl.h:
(WebFrameImpl):
* src/WebNode.cpp:
(WebKit::WebNode::appendChild): Added to allow for adding elements to the DOM.
(WebKit):
* tests/WebFrameTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124790 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Not reviewed, linting TestExpectations.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: WebInspector.linkifyStringAsFragment gives wrong typeof lineNumber
https://bugs.webkit.org/show_bug.cgi?id=93019

Patch by John J. Barton <johnjbarton@chromium.org> on 2012-08-06
Reviewed by Pavel Feldman.

Source/WebCore:

Add test for WebInspector.linkifyStringAsFragment()

* inspector/front-end/ResourceUtils.js:
(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):

LayoutTests:

parseInt the RegExp match for lineNumber
New test case added to linkify.html

* inspector/debugger/linkifier-expected.txt:
* inspector/debugger/linkifier.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
need tests to ensure flexboxes play nicely with box-sizing
https://bugs.webkit.org/show_bug.cgi?id=70771

Reviewed by Tony Chang.

Source/WebCore:

Anytime we grab the width/height off of the RenderStyle, we need to adjust
it for box-sizing. Fortunately, we only do this two places in RenderFlexibleBox.
Also, delete crossAxisLength since it's unused.

Test: css3/flexbox/box-sizing.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
* rendering/RenderFlexibleBox.h:

LayoutTests:

* css3/flexbox/box-sizing-expected.txt: Added.
* css3/flexbox/box-sizing.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test: Windows specific tests needed for fast/css/getComputedStyle/computed-style.html & computed-style-without-renderer.html
https://bugs.webkit.org/show_bug.cgi?id=93033

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-06
Reviewed by Tim Horton.

Windows specific computed-style and computed-style-without-renderer tests are needed since CSS3 Flexbox is disabled on windows,
see https://bugs.webkit.org/show_bug.cgi?id=92047, new CSS3 Flexbox properties no longer used.

* platform/win/fast/css/getComputedStyle/computed-style-expected.txt: Added.
* platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124794 268f45cc-cd09-0410-ab3c-d52691b4dbfc
change bots to pass --debug-rwt-logging instead of --verbose to new-run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=93043

Reviewed by Ryosuke Niwa.

in preparation for the cleanup of the logging flags in new-run-webkit-tests.

* Scripts/run-webkit-tests:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium/mac] Unbreak debug builds with the 10.7 SDK
https://bugs.webkit.org/show_bug.cgi?id=93202

Reviewed by James Robinson.

FMGetATSFontRefFromFont() is not available with the 10.7 SDK
when targetting 10.6. Don't delete this code completely yet,
it's still used with the 10.6 SDK when targetting 10.6 (which
chromium's build bots use).

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MediaSource should use it's own list of source URLs
https://bugs.webkit.org/show_bug.cgi?id=93285

Reviewed by Eric Carlson.

r124780 added MediaSource objects to PublicURLManager's streamURLs list,
piggy-backing on MEDIA_STREAM.  This patch creates a sourceURLs list so
that MediaSource can stand on its own.

Test: builds on Andriod even when MEDIA_STREAM is disabled.

* html/DOMURL.cpp:
(WebCore::DOMURL::createObjectURL):
* html/PublicURLManager.h:
(WebCore::PublicURLManager::contextDestroyed):
(PublicURLManager):
(WebCore::PublicURLManager::sourceURLs):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
If the Apple Java plug-in is blocked and no runtime is installed, don't load it
https://bugs.webkit.org/show_bug.cgi?id=93289
<rdar://problem/11730092>

Reviewed by Dan Bernstein.

Source/WebKit2:

If the Apple Java plug-in is blocked, but there's no Java runtime installed (or the Java plug-in is disabled),
don't even include it in the plug-in info store.

* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::shouldBlockPlugin):
Since this is static now, it shouldn't be const.

* UIProcess/Plugins/PluginInfoStore.h:
(PluginInfoStore):
shouldBlockPlugin can be static.

* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::shouldUsePlugin):
Return false if the Apple Java plug-in is blocked but Java isn't installed or enabled.

(WebKit::PluginInfoStore::shouldBlockPlugin):
Since this is static now, it shouldn't be const.

WebKitLibraries:

Add WKJLIsRuntimeAndWebComponentsInstalled().

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: clean up printing.py
https://bugs.webkit.org/show_bug.cgi?id=93026

Reviewed by Dirk Pranke.

This patch cleans up the implementation of printing.py now
that we're not using all the original complexity.

There should be no changes in functionality and everything
should be covered by the existing tests.

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.__init__):
(Printer.__del__):
(Printer.print_config):
(Printer.print_found):
(Printer.print_expected):
(Printer.print_workers_and_shards):
(Printer):
(Printer._print_expected_results_of_type):
(Printer.print_results):
(Printer._print_timing_statistics):
(Printer._print_aggregate_test_statistics):
(Printer._print_individual_test_times):
(Printer._print_test_list_timing):
(Printer._print_directory_timings):
(Printer._print_statistics_for_test_timings):
(Printer._print_result_summary):
(Printer._print_result_summary_entry):
(Printer._print_one_line_summary):
(Printer.print_finished_test):
(Printer._print_test_result):
(Printer._print_test_trace):
(Printer._print_baseline):
(Printer._print_unexpected_test_result):
(Printer._print_progress):
(Printer._print_unexpected_results):
(Printer._print_unexpected_results.add_result):
(Printer._print_quiet):
(Printer._print_default):
(Printer._print_debug):
(Printer._print_for_bot):
(Printer.write_update):
(Printer.writeln):
* Scripts/webkitpy/layout_tests/views/printing_unittest.py:
(Testprinter.get_printer):
(Testprinter.test_print_config):
(Testprinter.test_print_one_line_summary):
(Testprinter.test_print_unexpected_results):
(test_details):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: handle errors from image diff better
https://bugs.webkit.org/show_bug.cgi?id=92934

Reviewed by Ojan Vafai.

Currently if ImageDiff crashes, returns a weird exit code, or
produces any stderr output, it's basically swallowed. This
change ensures that we log errors to stderr, and also appends
the error to the stderr for the test (so it'll show up in
results.html).

Most importantly, it'll cause diff_image() to fail and we'll
report ImageHashMismatch ... this may be kinda untrue, but I
think it's better than ignoring the error.

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_image):
(SingleTestRunner._compare_output_with_reference):
* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(write_test_result):
* Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py:
(TestResultWriterTest.test_reftest_diff_image.ImageDiffTestPort.diff_image):
(TestResultWriterTest):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.diff_image):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.diff_image):
* Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py:
(ChromiumPortTestCase.test_diff_image_crashed):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):
* Scripts/webkitpy/layout_tests/port/image_diff.py:
(ImageDiffer.diff_image):
(ImageDiffer._read):
* Scripts/webkitpy/layout_tests/port/image_diff_unittest.py:
(TestImageDiffer.test_diff_image):
* Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
(MockDRTPortTest.test_diff_image_crashed):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(PortTestCase.test_diff_image):
(PortTestCase):
(PortTestCase.test_diff_image_crashed):
(PortTestCase.test_diff_image_crashed.make_proc):
* Scripts/webkitpy/layout_tests/port/server_process_mock.py:
(MockServerProcess.__init__):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.diff_image):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_tolerance.ImageDiffTestPort.diff_image):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
run-webkit-tests should have ability to add description to its JSON output
https://bugs.webkit.org/show_bug.cgi?id=93296

Reviewed by Dirk Pranke.

PerformanceTests: 

Parse description and show it with the WebKit revision on the results page. Also use bar graphs
instead of line graphs since we're not depicting the time series here per arv's suggestion.
Finally, add the ability to adjust y-axis between the adjusted value and 0 (plot even doesn't adjust
y-axis automatically now) by a mouse click.

* resources/results-template.html:

Tools: 

Add --description option.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
(PerfTestsRunner._generate_and_show_results):
(PerfTestsRunner._generate_results_dict):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(test_run_with_description):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(124789): EWS errors out because --print option is missing
https://bugs.webkit.org/show_bug.cgi?id=93299

Unreviewed.

The --print option doesn't exist anymore.  Let's try --quiet instead.

* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):
* Scripts/webkitpy/tool/steps/runtests_unittest.py:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] REGRESSION(r124714): webkit_unit_tests asserts in Debug
https://bugs.webkit.org/show_bug.cgi?id=93297

Patch by Adrienne Walker <enne@google.com> on 2012-08-06
Reviewed by James Robinson.

This is a quick fix to get debug unit tests working again by
implementing a virtual function that has ASSERT_NOT_REACHED in the
base class version.

* tests/ScrollAnimatorNoneTest.cpp:
(MockScrollableArea::scrollPosition):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Use GraphicsLayerAnimation in LayerTreeCoordinator
https://bugs.webkit.org/show_bug.cgi?id=93147

Reviewed by Kenneth Rohde Christiansen

Allow controlling animations outside of WebCore. This is an intermediate step before moving
to threaded animations.

CoordinatedGraphicsLayer maintains the GraphicsLayerAnimation structures, and applies the
animation interpolation at the right time, before syncing the rest of the layer info and
the visible contents rect.

This also allows sending shorter IPC messages for animated opacity/transform changes,
without the rest of the layer info.

* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::setLayerAnimatedOpacity):
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::setLayerAnimatedTransform):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setAnimatedOpacity):
(WebKit):
(WebKit::LayerTreeRenderer::setAnimatedTransform):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::didChangeAnimatedProperties):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimatedProperties):
(WebCore::CoordinatedGraphicsLayer::syncCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
    account for the animated transform in the visible rect.

(WebCore::CoordinatedGraphicsLayer::addAnimation):
(WebCore::CoordinatedGraphicsLayer::pauseAnimation):
(WebCore::CoordinatedGraphicsLayer::removeAnimation):
(WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
(WebCore::CoordinatedGraphicsLayer::setAnimatedTransform):
(WebCore::CoordinatedGraphicsLayer::setAnimatedOpacity):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit):
(WebKit::LayerTreeCoordinator::setLayerAnimatedOpacity):
(WebKit::LayerTreeCoordinator::setLayerAnimatedTransform):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Testcase LayoutTests/editing/input/editable-container-with-word-wrap-normal.html failing on Mac
https://bugs.webkit.org/show_bug.cgi?id=93287

Patch by Pravin D <pravind.2k4@gmai.com> on 2012-08-06
Reviewed by Ryosuke Niwa.

The testcase uses 'End' keypress event emulation to scroll the caret to the end of the line. As the behavior of 'End' keypress
is platform dependent, replacing it platform independent code.

* editing/input/editable-container-with-word-wrap-normal-expected.txt:
* editing/input/editable-container-with-word-wrap-normal.html:
  Replaced 'End' keypress event with testRunner's execCommand() to make testcase behavior independent of platform.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add twiz@{chromium|google}.org to the set of non-committer contributors.
https://bugs.webkit.org/show_bug.cgi?id=93288

Patch by Jeff Timanus <twiz@chromium.org> on 2012-08-06
Reviewed by Adam Barth.

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

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