webkitpy: consolidate webkit-base-finding code
https://bugs.webkit.org/show_bug.cgi?id=102007

Reviewed by Eric Seidel.

This patch creates a new "WebKitFinder" class that other
modules can use to find the top of the WebKit tree and
commonly used subdirectories. This logic was in the
webkitpy.layout_test.port classes but wasn't specific to those
classes and now can be used by other modules without needing a port
(e.g., by the check-webkit-style python linter).

This code is somewhat redundant with the code for find_checkout_root()
in the scm modules, but it does not rely on the presence of a version
control system to work. This is a requirement for some uses of the
tree (e.g., Chromium tester checkouts).

This patch removes most of the logic from the layout_tests.port.config
module and makes that as private as possible. Now we just need to move
the default_configuration and flag_from_configuration logic into
DeprecatedPort (or someplace else appropriate) and we can finish
getting rid of the Config class (but that is a separate patch).

* Scripts/webkitpy/common/webkit_finder.py: Added.
(WebKitFinder):
(WebKitFinder.__init__):
(WebKitFinder.webkit_base):
(WebKitFinder.path_from_webkit_base):
(WebKitFinder.path_to_script):
(WebKitFinder.layout_tests_dir):
(WebKitFinder.perf_tests_dir):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.__init__):
(Port):
(Port.webkit_base):
(Port.path_from_webkit_base):
(Port.path_to_script):
(Port.layout_tests_dir):
(Port.perf_tests_dir):
(Port.set_option_default):
(Port._run_script):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_diff_text):
* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort._determine_driver_path_statically):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
* Scripts/webkitpy/layout_tests/port/config.py:
(Config.__init__):
(Config.build_directory):
(Config.default_configuration):
(Config._read_configuration):
* Scripts/webkitpy/layout_tests/port/config_mock.py: Removed.
* Scripts/webkitpy/layout_tests/port/config_unittest.py:
(ConfigTest.test_default_configuration__standalone):
(ConfigTest.test_default_configuration__scripterror):
* Scripts/webkitpy/layout_tests/port/driver_unittest.py:
(DriverTest.make_port):
(DriverTest.test_no_timeout):
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort.show_results_html_file):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(TestWebKitPort.__init__):
(PortTestCase.make_port):
* Scripts/webkitpy/layout_tests/port/win_unittest.py:
(WinPortTest.test_expectations_files):
* Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:
(XvfbDriverTest.make_driver):
(XvfbDriverTest.test_stop):
* Scripts/webkitpy/style/checkers/python.py:
(Pylinter.__init__):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CF]: XMLHttpRequest "timeout" events firing as "error" events
https://bugs.webkit.org/show_bug.cgi?id=102271

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-11-14
Reviewed by David Kilzer.

Initialize the tiemout flag if the error results from a timeout
in the USE(CFNETWORK) cases.

No new tests. This is covered by http/tests/xmlhttprequest/timeout
tests on ports that USE(CFNETWORK).

* platform/network/cf/ResourceErrorCF.cpp:
(WebCore::ResourceError::ResourceError):
* platform/network/mac/ResourceErrorMac.mm:
(WebCore::ResourceError::ResourceError):

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