20% regression on dom_perf/DomDivWalk
https://bugs.webkit.org/show_bug.cgi?id=106726

Reviewed by Hajime Morita.

This patch moves the checks in Element::removedFrom for Fullscreen and top layer flags
into a slow path. The idea is for the two checks for Fullscreen and top layer
to be replaced by one faster check in the fast path.

The plan is to migrate the Fullscreen implementation to use top layer, so this is just a
short-term fix for the perf regression.

No new tests: no functionality change

* dom/Element.cpp:
(WebCore::Element::removedFrom): Create a slow path to move the Fullscreen and top layer checks into.
* dom/Node.cpp:
(WebCore::Node::setIsInTopLayer): To allow for cleaner code in Element::removedFrom, define
setIsInTopLayer and isInTopLayer even when the feature flag is off.
* dom/Node.h:
(WebCore::Node::isInTopLayer): Ditto.
(Node):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add monitoring of patches and queues to the QueueStatusServer
https://bugs.webkit.org/show_bug.cgi?id=107612

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-22
Reviewed by Adam Barth.

Created classes for recording events into the datastore and integrated them into the existing handlers.
Code for presenting the recorded data will come in a separate patch.

* QueueStatusServer/app.yaml:
* QueueStatusServer/config/__init__.py: Added.
* QueueStatusServer/config/logging.py: Copied from Tools/QueueStatusServer/model/queuestatus.py.
* QueueStatusServer/config/messages.py: Copied from Tools/QueueStatusServer/model/queuestatus.py.
* QueueStatusServer/handlers/nextpatch.py:
(NextPatch.get):
(NextPatch._assign_patch):
* QueueStatusServer/handlers/releasepatch.py:
(ReleasePatch.post):
* QueueStatusServer/handlers/updatestatus.py:
(UpdateStatus.post):
* QueueStatusServer/handlers/updateworkitems.py:
(UpdateWorkItems._parse_work_items_string):
(UpdateWorkItems):
(UpdateWorkItems._update_work_items_from_request):
(UpdateWorkItems._queue_from_request):
(UpdateWorkItems.post):
* QueueStatusServer/loggers/__init__.py: Added.
* QueueStatusServer/loggers/recordbotevent.py: Copied from Tools/QueueStatusServer/model/queuestatus.py.
(RecordBotEvent):
(RecordBotEvent.activity):
* QueueStatusServer/loggers/recordpatchevent.py: Added.
(RecordPatchEvent):
(RecordPatchEvent.added):
(RecordPatchEvent.retrying):
(RecordPatchEvent.started):
(RecordPatchEvent.stopped):
(RecordPatchEvent.updated):
(RecordPatchEvent._get_patches_waiting):
* QueueStatusServer/model/patchlog.py: Copied from Tools/QueueStatusServer/model/queuestatus.py.
(PatchLog):
(PatchLog.lookup):
(PatchLog.calculate_wait_duration):
(PatchLog.calculate_process_duration):
* QueueStatusServer/model/queuelog.py: Copied from Tools/QueueStatusServer/handlers/nextpatch.py.
(QueueLog):
(QueueLog.get_current):
(QueueLog.create_key):
* QueueStatusServer/model/queuestatus.py:
(QueueStatus.is_retry_request):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Make an Isolate parameter mandatory in throwTypeError()
https://bugs.webkit.org/show_bug.cgi?id=107632

Reviewed by Adam Barth.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateParametersCheck):
(GenerateConstructorHeader):
(JSValueToNative):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::constructorCallback):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::constructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
(WebCore::V8TestObj::constructorCallback):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
(WebCore::V8TestOverloadedConstructors::constructorCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
* bindings/v8/V8Binding.h:
(WebCore):
(WebCore::toRefPtrNativeArray):
(WebCore::toV8Sequence):
* bindings/v8/V8NodeFilterCondition.cpp:
(WebCore::V8NodeFilterCondition::acceptNode):
* bindings/v8/V8Utilities.cpp:
(WebCore::extractTransferables):
(WebCore::getMessagePortArray):


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