createRareData should return a PassOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=103851

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-12-04
Reviewed by Eric Seidel.

createRareData should return a PassOwnPtr, not an OwnPtr since it's
transfering ownership.

* dom/Element.cpp:
(WebCore::Element::createRareData):
* dom/Element.h:
(Element):
* dom/Node.cpp:
(WebCore::Node::createRareData):
* dom/Node.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Automatically handle suspend and resume of post attach callbacks
https://bugs.webkit.org/show_bug.cgi?id=103910

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-12-04
Reviewed by Eric Seidel.

Use RAII to handle suspend and resume of post attach callbacks since
they should always be called in pairs.

No new tests, just refactoring.

* dom/ContainerNode.h:
(PostAttachCallbackDisabler):
(WebCore::PostAttachCallbackDisabler::PostAttachCallbackDisabler):
(WebCore::PostAttachCallbackDisabler::~PostAttachCallbackDisabler):
(ContainerNode):
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* dom/Element.cpp:
(WebCore::Element::attach):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::attach):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::attach):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::attach):
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136574 268f45cc-cd09-0410-ab3c-d52691b4dbfc
setIsInTopLayer is not really a setter
https://bugs.webkit.org/show_bug.cgi?id=103912

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-12-04
Reviewed by Eric Seidel.

Element::setInTopLayer isn't just a setter, it also adds the element
to the top layer vector in the document which changes it's display and
causes a reattach.

To make this more obvious make HTMLDialogElement use the methods on
Document and make those update the state boolean.

There also doesn't seem to be any reason for setInTopLayer
or isInTopLayer to be virtual, it appears it was a typo.

No new tests, just refactoring.

* dom/Document.cpp:
(WebCore::Document::addToTopLayer):
(WebCore::Document::removeFromTopLayer):
* dom/Element.cpp:
(WebCore::Element::setIsInTopLayer):
* dom/Element.h:
* html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::close):
(WebCore::HTMLDialogElement::showModal):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136575 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, mark css3/filters/effect-reference-hw.html as failing rather than crashing.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Simplify ShadowRoot::cloneNode(bool,ExceptionCode)
https://bugs.webkit.org/show_bug.cgi?id=103928

Patch by Elliott Sprehn <esprehn@gmail.com> on 2012-12-04
Reviewed by Dimitri Glazkov.

ShadowRoot can never be cloned and ShadowRoot::cloneNode(bool) always
returns null so there's no reason to have code in the cloneNode method
for script that acts as if it may not return null.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::cloneNode):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136577 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Properly create the header links in the code review tool
https://bugs.webkit.org/show_bug.cgi?id=104037

Reviewed by Adam Barth.

Right now, we just prepend "header" to the two existing links and change
the first link to point to the header. The problem is that jQuery's prepend
method just prepends to each item in the jQuery object instead of adding
the item to the beginning of the list as this code assumed.

* code-review-test.html:
* code-review.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: derive per-thread, per-worker stats from result summaries
https://bugs.webkit.org/show_bug.cgi?id=103943

Reviewed by Ojan Vafai.

This patch changes the manager and printing code to pull more
information from the ResultSummary object rather than tracking
additional statistics on the side. This allows us to consolidate
a bunch of logic and remove a bunch of free-floating lists and dicts of
of values. We add the shard_name and worker_name to each TestResult,
and then modify print_timing_statistics() and upload_json_files()
to just need the result summaries.

Note that this patch also changes the timing statistics slightly
so that the individual test times are the times to run just the
tests themselves (TestResult.test_run_time) and do not include the
times taken to run the ref tests, compute diffs, etc. The aggregated
per-worker and per-shard statistics still use the total time to
process each test (TestResult.total_run_time).

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.__init__):
(LayoutTestRunner.run_tests):
(LayoutTestRunner._handle_finished_test_list):
(LayoutTestRunner._handle_finished_test):
(Worker.handle):
(Worker._run_test):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(summarize_results):
(Manager.run):
(Manager._upload_json_files):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ResultSummaryTest.summarized_results):
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator.__init__):
(JSONLayoutResultsGenerator._get_test_timing):
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.__init__):
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_results):
(Printer._print_timing_statistics):
(Printer):
(Printer._print_worker_statistics):
(Printer._print_aggregate_test_statistics):
(Printer._print_individual_test_times):
(Printer._print_directory_timings):
* Scripts/webkitpy/layout_tests/views/printing_unittest.py:
(Testprinter.test_print_unexpected_results.get_unexpected_results):
(Testprinter):

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