Generate a list of builders/test suites from the buildbot json
https://bugs.webkit.org/show_bug.cgi?id=102443

Reviewed by Dirk Pranke.

Instead of the cludgy things we do now to track which bots run which tests,
we generate all that data from the buildbots' json files.
This is the minimal amount to keep everything working. Once this lands,
we can also do a bunch of followup cleanup.

For now we commit the generated data. In theory, in the future, we could
have the test results server generate the data on the fly.

For the sake of easily understanding what changes when we run the generate script,
also checkin a pretty printed version of the output. The pretty printed version
is too large to serve as part of the flakiness dashboard though.

This also has the benefit of making the dashboard load much faster since
we no longer ever need to block on requests to buildbot.

* TestResultServer/generate_builders_json.py: Added.
(master_json_url):
(builder_json_url):
(cached_build_json_url):
(fetch_json):
(insert_builder_and_test_data):
(main):
* TestResultServer/generate_builders_json_unittest.py: Added.
(GenerateBuildersJsonTest):
(GenerateBuildersJsonTest.test_master_json_url):
(GenerateBuildersJsonTest.test_builder_json_url):
(GenerateBuildersJsonTest.test_cached_build_json_url):
(GenerateBuildersJsonTest.test_generate_json_data):
(GenerateBuildersJsonTest.test_generate_json_data.dummy_fetch_json):
* TestResultServer/static-dashboards/builders-pretty.jsonp: Added.
* TestResultServer/static-dashboards/builders.js:
(LOAD_BUILDBOT_DATA):
(BuilderGroup):
(BuilderGroup.prototype.append):
(BuilderGroup.prototype.master):
(requestBuilderList):
* TestResultServer/static-dashboards/builders.jsonp: Added.
* TestResultServer/static-dashboards/builders_unittests.js: Added.
* TestResultServer/static-dashboards/dashboard_base.js:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(showPopupForBuild):
(htmlForTestResults):
(htmlForIndividualTestOnAllBuildersWithResultsLinks):
(loadExpectationsLayoutTests):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(resetGlobals):
(test):
* TestResultServer/static-dashboards/loader.js:
* TestResultServer/static-dashboards/loader_unittests.js:
* TestResultServer/static-dashboards/run-embedded-unittests.html:
* TestResultServer/static-dashboards/run-unittests.html:
* TestResultServer/static-dashboards/timeline_explorer.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Store MutationObserver callback in a hidden property for V8
https://bugs.webkit.org/show_bug.cgi?id=102555

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-20
Reviewed by Adam Barth.

.:

Test for reference cycle leaks with mutation observers. There doesn't seem
to be a way to check this for v8, but if you manually run you can see if it
leaks observers.

* ManualTests/leak-cycle-observer-wrapper.html: Added.

Source/WebCore:

To prevent circular reference leaks we should store the MutationObserver
callback in a hidden property on the wrapper of the observer.

This is done by extending the code generator to support a new owner
argument to ::create() that lets you set the owner of the callback where
the hidden property should be stored.

Test: ManualTests/leak-cycle-observer-wrapper.html

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
* bindings/scripts/test/V8/V8TestCallback.cpp: rebaselined.
* bindings/scripts/test/V8/V8TestCallback.h: rebaselined.
* bindings/v8/V8HiddenPropertyName.h:
* bindings/v8/custom/V8MutationObserverCustom.cpp:
(WebCore::V8MutationObserver::constructorCallback):

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