Remove RefPtr from DateInputType::m_pickerElement
https://bugs.webkit.org/show_bug.cgi?id=94330

Reviewed by Kent Tamura.

To avoid reference cycles of RefPtr<Node>s, we want to remove
unnecessary RefPtr<Node>s. The rationale is describe in bug 94324.

DateInputType::m_pickerElement does not need to be a RefPtr<Node>,
because it is guaranteed to point to a shadow DOM tree of the DateInputType
node, which is guaranteed to exist in the subtree of the DateInputType node.

No tests. No change in behavior.

* html/DateInputType.cpp:
(WebCore::DateInputType::DateInputType):
(WebCore::DateInputType::createShadowSubtree):
(WebCore::DateInputType::destroyShadowSubtree):
* html/DateInputType.h:
(DateInputType):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed trivial follow-up fix to r125873: Add missing adoptRef to avoid leaks.

* bridge/qt/qt_instance.cpp:
(JSC::Bindings::WeakMap::set):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] [WK2] Free Eina Strbuf with eina_strbuf_free() instead of eina_strbuf_string_free()
https://bugs.webkit.org/show_bug.cgi?id=94312

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-17
Reviewed by Kenneth Rohde Christiansen.

eina_strbuf_string_free() frees the contents of a string buffer but not the
buffer, so eina_strbuf_free() must be used to free the buffer.

Contents of the buffer has already been take care by stealing it with
eina_strbuf_string_steal(), so no reason to call eina_strbuf_string_free().

* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(serverCallback):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: enhance external test-runner and add cleanup code
https://bugs.webkit.org/show_bug.cgi?id=94231

Patch by John J. Barton <johnjbarton@chromium.org> on 2012-08-17
Reviewed by Pavel Feldman.

add 'click on test result to select for next run' feature.
remember the users size for the inspector popup.
refactor server URLs to one location at top of file.
use the same value for both tests and scanner servers.
remove one extra instruction on the page.
refactor clean up code.
close the two popup windows if the test-runner.html is reloaded.

* inspector/front-end/test-runner.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Rename WebKitWebView print-requested signal to print
https://bugs.webkit.org/show_bug.cgi?id=94306

Reviewed by Martin Robinson.

WebKitWebView::print-requested is inconsistent with the rest of
the API. It's a true_handled signal that allows users to implement
their own print dialog, or block printing, or rely on
defaults. The signal should be WebKitWebView::print like other
signals (create, close, decide_policy, etc.)

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init):
(webkitWebViewPrintFrame):
* UIProcess/API/gtk/WebKitWebView.h:
(_WebKitWebViewClass):
* UIProcess/API/gtk/tests/TestPrinting.cpp:
(webViewPrintCallback):
(testWebViewPrint):
(beforeAll):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] QtWebKit fails to build with OpenGL support on QNX
https://bugs.webkit.org/show_bug.cgi?id=93278

Patch by Milian Wolff <milian.wolff@kdab.com> on 2012-08-17
Reviewed by Noam Rosenthal.

Change the order in which we define WTF_USE_3D_GRAPHICS and ENABLE_WEBGL.
First, we now defined WTF_USE_3D_GRAPHICS=1, but only if QT_CONFIG
contains opengl. Furthermore, we disable this feature on win32-* as usual,
but now also disable it on QNX.

Then, we set ENABLE_WEBGL=1 but only if we previously set WTF_USE_3D_GRAPHICS=1.

* qmake/mkspecs/features/features.prf:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add tracing for active composited animations
https://bugs.webkit.org/show_bug.cgi?id=84210

Reviewed by James Robinson.

This patch issues the trace events from the animations. Animations will
report when they start and finish on the main and impl threads (via
TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
change state.

Source/WebCore:

No new tests, only changes tracing behavior.

* platform/graphics/chromium/cc/CCActiveAnimation.cpp:
(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::~CCActiveAnimation):
(WebCore::CCActiveAnimation::setRunState):
(WebCore::CCActiveAnimation::clone):
(WebCore):
(WebCore::CCActiveAnimation::cloneAndInitialize):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(WebCore::CCActiveAnimation::isControllingInstance):
(CCActiveAnimation):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
(WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
(WebCore::CCLayerAnimationController::tickAnimations):

Source/WebKit/chromium:

* src/WebAnimationImpl.cpp:
(WebKit::WebAnimationImpl::cloneToCCAnimation):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] [WK2] Add unit tests for vibration_client_callbacks_set API
https://bugs.webkit.org/show_bug.cgi?id=93890

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-17
Reviewed by Kenneth Rohde Christiansen.

This patch covers unit testing of the Vibration API as delivered.

* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(VibrationCbData):
(vibrateCallback):
(cancelVibrationCallback):
(loadVibrationHTMLString):
(TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed trivial build fix: Correct file name in bindings/js/DOMTransaction.h used in HEADERS

* Target.pri:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
https://bugs.webkit.org/show_bug.cgi?id=93897

Reviewed by NOBODY (OOPS!).

Source/WebCore:

Before r125428 run-time methods (wrapped signals, slots or invokable functions) were subclasses of
JSInternalFunction and therefore real function objects in the JavaScript sense. r125428 changed them
to be just callable objects, but they did not have Function.prototype as prototype anymore for example
nor was their name correct (resulting in a layout test failure).

This patch changes run-time methods back to being real function objects that have a correct name and
have Function.prototype in their prototype change

The objects returned by JSObjectMakeFunctionWithCallbackInjected are light-weight internal function objects
that do not support JSObject{Set/Get}Private. Therefore we inject our own prototype right before the
Function.prototype prototype, which uses private data to store a pointer to our C++ QtRuntimeMethod object.
This complicates the retrieval of the pointer to that instance slightly, which is why this patch introduces
the toRuntimeMethod convenience function that looks up our prototype first and does a check for type-safety.

At the same time the patch removes the length properties from the run-time method itself as well as connect/disconnect.
The length property on a function signifies the number of arguments, but in all three cases that number is
actually variable, because of overloading. That is why we choose not to expose it in the first place.

* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::prototypeForSignalsAndSlots):
(JSC::Bindings::QtRuntimeMethod::call):
(JSC::Bindings::QtRuntimeMethod::jsObjectRef):
(JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
(Bindings):
(JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
* bridge/qt/qt_runtime.h:
(QtRuntimeMethod): Remove unused member variables.

Source/WebKit/qt:

Fixed some test expectations.

* tests/qobjectbridge/tst_qobjectbridge.cpp:
(tst_QObjectBridge::objectDeleted): Since runtime methods are real function objects again, we
can go back to testing Function.prototype.call, as it was done before r125428.
(tst_QObjectBridge::introspectQtMethods_data): Removed tests for the length property.
(tst_QObjectBridge::introspectQtMethods): Changed test expectation of the properties of
run-time methods back to being non-configurable, as before r125428.

LayoutTests:

* platform/qt/Skipped: Unskip test that is now passing.
[Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
https://bugs.webkit.org/show_bug.cgi?id=93897

Reviewed by NOBODY (OOPS!).

Source/WebCore:

Before r125428 run-time methods (wrapped signals, slots or invokable functions) were subclasses of
JSInternalFunction and therefore real function objects in the JavaScript sense. r125428 changed them
to be just callable objects, but they did not have Function.prototype as prototype anymore for example
nor was their name correct (resulting in a layout test failure).

This patch changes run-time methods back to being real function objects that have a correct name and
have Function.prototype in their prototype change

The objects returned by JSObjectMakeFunctionWithCallbackInjected are light-weight internal function objects
that do not support JSObject{Set/Get}Private. Therefore we inject our own prototype right before the
Function.prototype prototype, which uses private data to store a pointer to our C++ QtRuntimeMethod object.
This complicates the retrieval of the pointer to that instance slightly, which is why this patch introduces
the toRuntimeMethod convenience function that looks up our prototype first and does a check for type-safety.

At the same time the patch removes the length properties from the run-time method itself as well as connect/disconnect.
The length property on a function signifies the number of arguments, but in all three cases that number is
actually variable, because of overloading. That is why we choose not to expose it in the first place.

* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::prototypeForSignalsAndSlots):
(JSC::Bindings::QtRuntimeMethod::call):
(JSC::Bindings::QtRuntimeMethod::jsObjectRef):
(JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
(Bindings):
(JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
* bridge/qt/qt_runtime.h:
(QtRuntimeMethod): Remove unused member variables.

Source/WebKit/qt:

Fixed some test expectations.

* tests/qobjectbridge/tst_qobjectbridge.cpp:
(tst_QObjectBridge::objectDeleted): Since runtime methods are real function objects again, we
can go back to testing Function.prototype.call, as it was done before r125428.
(tst_QObjectBridge::introspectQtMethods_data): Removed tests for the length property.
(tst_QObjectBridge::introspectQtMethods): Changed test expectation of the properties of
run-time methods back to being non-configurable, as before r125428.

LayoutTests:

* platform/qt/Skipped: Unskip test that is now passing.
Changed convertQVariantToValue to use the JSC C API
Conversion WIP
Ported valueRealType to C API
Increase use of JSObjectRef - WIP
More conversion WIP
Simplify unboxig
Conversion WIP
Remove leftovers from RuntimeArray
Ported StringList and VariantList conversion to C API