Unreviewed test expectations update: tweak flakiness of various tests.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for run-perf-tests --chromium-android --profile
https://bugs.webkit.org/show_bug.cgi?id=103587

Reviewed by Dirk Pranke.

This makes it possible to profile PerformanceTests on an Android device
using run-perf-tests --chromium-android --profile.
CPU profiling on Android is sadly non-trivial, but this goes a long
ways towards making it more accessible to non-Android developers.

Although this script requires your device to be flashed with a
userdebug build (an annoyingly non-trivial endeavor for external contributors)
it endeavors to detect and explain the common errors encountered
while trying to setup a device for perf-based profiling.

* Scripts/webkitpy/common/system/profiler.py:
(GooglePProf.profile_after_exit): Discovered that pprof will just hang if passed a missing file.
* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(AndroidPerf):
(AndroidPerf.__init__):
(AndroidPerf.check_configuration):
(AndroidPerf.print_setup_instructions):
(_file_exists_on_device):
(_run_adb_command):
(attach_to_pid):
(_perf_version_string):
(_find_perfhost_binary):
(_perfhost_path):
(_first_ten_lines_of_profile):
(profile_after_exit):
(ChromiumAndroidDriver.__init__):
(ChromiumAndroidDriver.__init__.methods):
(ChromiumAndroidDriver._find_or_create_symfs):
(ChromiumAndroidDriver._start_once):
(ChromiumAndroidDriver):
(ChromiumAndroidDriver._run_post_start_tasks):
(ChromiumAndroidDriver._pid_from_android_ps_output):
(ChromiumAndroidDriver._pid_on_target):
* Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:
(ChromiumAndroidDriverTest.test_pid_from_android_ps_output):
(AndroidPerfTest):
(AndroidPerfTest.test_perf_output_regexp):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver._setup_environ_for_driver):
(Driver):
(Driver._start):
(Driver._run_post_start_tasks):
(Driver._pid_on_target):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Refactoring] Replace Node's Document pointer with a TreeScope pointer
https://bugs.webkit.org/show_bug.cgi?id=59816

Patch by Elliott Sprehn <esprehn@gmail.com> on 2012-12-12
Reviewed by Ryosuke Niwa.

Instead of giving every node in a shadow a rare data, which can be quite
large, we replace the Document pointer in Node with a TreeScope pointer
and we give TreeScope a pointer to it's document scope.

This introduces no branches in document() because in the common
case document() becomes equivalent to m_treeScope->m_documentScope where
the documentScope is actually m_treeScope so this shouldn't introduce a
perf regression.

Note also that TreeScope can never be null after r136328, and the document
pointer is only null for DocumentType nodes so we can use a special
no-document TreeScope for this case that always returns null from
documentScope().

No new tests, no change in behavior.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::suggestedMIMEType):
* dom/Document.h:
(WebCore::Node::isDocumentNode):
(WebCore::Node::Node):
* dom/Element.cpp:
(WebCore::Element::createRareData):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::ElementRareData):
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::createRareData):
(WebCore::Node::attach):
(WebCore::Node::reportMemoryUsage):
* dom/Node.h:
(WebCore):
(WebCore::NodeRareDataBase::NodeRareDataBase):
(NodeRareDataBase):
(WebCore::Node::treeScope):
(WebCore::Node::inDocument):
(WebCore::Node::documentInternal):
(WebCore::Node::setTreeScope):
(Node):
* dom/NodeRareData.cpp:
(WebCore::NodeRareData::reportMemoryUsage):
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
* dom/TreeScope.cpp:
(SameSizeAsTreeScope):
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::setParentTreeScope):
* dom/TreeScope.h:
(WebCore):
(TreeScope):
(WebCore::TreeScope::documentScope):
(WebCore::TreeScope::noDocumentInstance):
    Returns a special tree scope that has no document for use with
    DocumentType nodes.
(WebCore::TreeScope::setDocumentScope):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveTreeToNewDocument):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed test expectations update: tweak flakiness of resource timing tests.

* platform/chromium/TestExpectations:

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