[V8] Pass Isolate to throwError()s in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=86976

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to throwError()s in CodeGeneratorV8.pm.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateParametersCheck):
(GenerateConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateFunctionCallString):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptStateVoidCallback):
(WebCore::TestObjV8Internal::withScriptStateObjCallback):
(WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
(WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
(WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
(WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
(WebCore::TestObjV8Internal::overloadedMethod5Callback):
(WebCore::V8TestObj::constructorCallback):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117725 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Enable datalist for input type email
https://bugs.webkit.org/show_bug.cgi?id=85356

Reviewed by Kent Tamura.

Source/WebCore:

No new tests. Covered in fast/forms/datalist/input-list.html

* rendering/RenderThemeChromiumCommon.cpp:
(WebCore::RenderThemeChromiumCommon::supportsDataListUI):

LayoutTests:

* platform/chromium/fast/forms/datalist/input-list-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Delete obsolete Chromium WebKit API method
https://bugs.webkit.org/show_bug.cgi?id=86933

Implementation was previously removed in r17512 and callers are updated.

Reviewed by Adam Barth.

* public/WebIDBIndex.h: Delete storeName()
(WebKit::WebIDBIndex::name):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Pass Isolate to throwError()s in bindings/v8/*.{h,cpp}
https://bugs.webkit.org/show_bug.cgi?id=86977

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to throwError()s in bindings/v8/*.{h,cpp}
except for a couple of non-trivial cases. I'll upload a follow-up patch
for the non-trivial cases.

No tests. No change in behavior.

* bindings/v8/DateExtension.cpp:
(WebCore::DateExtension::OnSleepDetected):
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::transferArrayBuffers):
(WebCore::SerializedScriptValue::SerializedScriptValue):
* bindings/v8/SerializedScriptValue.h:
* bindings/v8/V8NPObject.cpp:
(WebCore::npObjectInvokeImpl):
(WebCore::npObjectPropertyEnumerator):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::checkNewLegal):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSGlobalData ScratchBuffers Are Not Visited During Garbage Collection
https://bugs.webkit.org/show_bug.cgi?id=86553

Reviewed by Gavin Barraclough.

Scratch buffers can contain the only reference to live objects.
Therefore visit scratch buffer contents as conservative roots.
Changed the scratch buffers to be a struct with an "active"
length and the actual buffer.  The users of the scratch
buffer emit code where needed to set and clear the active
length as appropriate.  During marking, the active count is
used for conservative marking.

* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::debugCall):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGThunks.cpp:
(JSC::DFG::osrExitGenerationThunkGenerator):
* heap/Heap.cpp:
(JSC::Heap::markRoots):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::gatherConservativeRoots):
* runtime/JSGlobalData.h:
(JSC::ScratchBuffer::ScratchBuffer):
(ScratchBuffer):
(JSC::ScratchBuffer::allocationSize):
(JSC::ScratchBuffer::setActiveLength):
(JSC::ScratchBuffer::activeLength):
(JSC::ScratchBuffer::activeLengthPtr):
(JSC::ScratchBuffer::dataBuffer):
(JSGlobalData):
(JSC::JSGlobalData::scratchBufferForSize):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Pass Isolate to V8Utilities::createFunctionCallback()
https://bugs.webkit.org/show_bug.cgi?id=86978

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to V8Utilities::createFunctionCallback().

No tests. No change in behavior.

* bindings/v8/V8Utilities.cpp:
(WebCore::throwTypeMismatchException):
* bindings/v8/V8Utilities.h:
(WebCore):
(WebCore::createFunctionOnlyCallback):
* bindings/v8/custom/V8GeolocationCustom.cpp:
(WebCore::V8Geolocation::getCurrentPositionCallback):
(WebCore::V8Geolocation::watchPositionCallback):
* bindings/v8/custom/V8NotificationCustom.cpp:
(WebCore::V8Notification::requestPermissionCallback):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Using createContextualFragment to insert a <script> does not cause the script to execute
https://bugs.webkit.org/show_bug.cgi?id=12234

Reviewed by Adam Barth.

Source/WebCore: 

Renamed FragmentScriptingAllowed and FragmentScriptingNotAllowed to DisallowScriptingContent
and AllowScriptingContent as these two flags are used in code for non-fragment cases and they
indicate whether attributes and elements that can invoke scripting should be removed or not.

To fix the bug, added a new value AllowScriptingContentAndDoNotMarkAlreadyStarted unset
already-started and parser-inserted flags [1] on script elements in addition to allowing
scripting contents.

While the HTML5 specification and the DOM Parsing and Serialization specification [2] state that
we should set these flags in the parser and later unset them, doing so would require traversing
the parsed fragment to find relevant script elements. We short circuit this logic by simply not
setting parser-inserted and already-started flags in createContextualFragment.

[1] http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#already-started
[2] http://html5.org/specs/dom-parsing.html#dom-range-createcontextualfragment

Tests: fast/dom/Range/create-contextual-fragment-script-not-ran.html
       fast/dom/Range/create-contextual-fragment-script-unmark-already-started.html

* dom/DocumentFragment.h:
(DocumentFragment):
* dom/Element.cpp:
(WebCore::Element::parserSetAttributes):
(WebCore::Element::setAttributeNS):
* dom/Element.h:
(Element):
* dom/FragmentScriptingPermission.h:
* dom/Range.cpp:
(WebCore::Range::createContextualFragment): Removed FragmentScriptingPermission from the argument
list since no one uses it. Always use AllowScriptingContentAndDoNotMarkAlreadyStarted instead.
* dom/Range.h:
* editing/markup.h:
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::HTMLConstructionSite):
(WebCore::HTMLConstructionSite::insertScriptElement): Pass false to both parserInserted and
alreadyStarted when the scripting permission is AllowScriptingContentAndDoNotMarkAlreadyStarted.
Also call parserSetAttributes when the scripting permission is either AllowScriptingContent or
AllowScriptingContentAndDoNotMarkAlreadyStarted.
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
(WebCore::HTMLTreeBuilder::processEndTag):
* html/parser/HTMLTreeBuilder.h:
(FragmentParsingContext):
* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/chromium/DragDataChromium.cpp:
(WebCore::DragData::asFragment):
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::documentFragment):
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::asFragment):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::fragmentFromCFHTML):
(WebCore::fragmentFromHTML):
* xml/XMLErrors.cpp:
(WebCore::createXHTMLParserErrorHeader):
(WebCore::XMLErrors::insertErrorMessageBlock):
* xml/parser/NewXMLDocumentParser.h:
(NewXMLDocumentParser):
* xml/parser/XMLDocumentParser.h:
(XMLDocumentParser):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::endElementNs):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::parseEndElement):

Source/WebKit/mac: 

Renamed FragmentScriptingNotAllowed to DisallowScriptingContent.

* WebView/WebFrame.mm:
(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]):

LayoutTests: 

Added regressions tests to ensure createContextualFragment doesn't execute script elements
immediately as they are parsed and it doesn't mark those script elements as already started.

The behavior of innerHTML is tested elsewhere and this patch does not affect its behavior.

* fast/dom/Range/create-contextual-fragment-script-not-ran-expected.txt: Added.
* fast/dom/Range/create-contextual-fragment-script-not-ran.html: Added.
* fast/dom/Range/create-contextual-fragment-script-unmark-already-started-expected.txt: Added.
* fast/dom/Range/create-contextual-fragment-script-unmark-already-started.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Pass Isolate to V8NPObject::npObjectGetProperty() and V8NPObject::npObjectSetProperty()
https://bugs.webkit.org/show_bug.cgi?id=86979

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to V8NPObject::npObjectGetProperty()
and V8NPObject::npObjectSetProperty().

No tests. No change in behavior.

* bindings/v8/V8NPObject.cpp:
(WebCore::npObjectGetProperty):
(WebCore::npObjectNamedPropertyGetter):
(WebCore::npObjectIndexedPropertyGetter):
(WebCore::npObjectGetNamedProperty):
(WebCore::npObjectGetIndexedProperty):
(WebCore::npObjectQueryProperty):
(WebCore::npObjectSetProperty):
(WebCore::npObjectNamedPropertySetter):
(WebCore::npObjectIndexedPropertySetter):
(WebCore::npObjectSetNamedProperty):
(WebCore::npObjectSetIndexedProperty):
* bindings/v8/V8NPObject.h:
(WebCore):
* bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
(WebCore::npObjectNamedGetter):
(WebCore::npObjectNamedSetter):
(WebCore::npObjectIndexedGetter):
(WebCore::npObjectIndexedSetter):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Pass Isolate to throwError()s in V8 custom bindings (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=86980

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to throwError()s in V8 custom bindings.

No tests. No change in behavior.

* bindings/v8/custom/V8ArrayBufferCustom.cpp:
(WebCore::V8ArrayBuffer::constructorCallback):
* bindings/v8/custom/V8ArrayBufferViewCustom.h:
(WebCore::constructWebGLArrayWithArrayBufferArgument):
(WebCore::constructWebGLArray):
* bindings/v8/custom/V8AudioContextCustom.cpp:
(WebCore::V8AudioContext::constructorCallback):
* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::V8Blob::constructorCallback):
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::V8CSSStyleDeclaration::namedPropertySetter):
* bindings/v8/custom/V8ClipboardCustom.cpp:
(WebCore::V8Clipboard::clearDataCallback):
(WebCore::V8Clipboard::setDragImageCallback):
* bindings/v8/custom/V8DOMFormDataCustom.cpp:
(WebCore::V8DOMFormData::appendCallback):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::V8DOMStringMap::namedPropertySetter):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8DirectoryEntryCustom.cpp:
(WebCore::V8DirectoryEntry::getDirectoryCallback):
(WebCore::V8DirectoryEntry::getFileCallback):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::V8Document::evaluateCallback):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Pass Isolate to throwError()s in V8 custom bindings (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=86981

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to throwError()s in V8 custom bindings.

No tests. No change in behavior.

* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::v8HTMLImageElementConstructorCallback):
* bindings/v8/custom/V8HistoryCustom.cpp:
(WebCore::V8History::pushStateCallback):
(WebCore::V8History::replaceStateCallback):
* bindings/v8/custom/V8IntentConstructor.cpp:
(WebCore::V8Intent::constructorCallback):
* bindings/v8/custom/V8MessagePortCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
(WebCore::V8NotificationCenter::createHTMLNotificationCallback):
(WebCore::V8NotificationCenter::createNotificationCallback):
(WebCore::V8NotificationCenter::requestPermissionCallback):
* bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
(WebCore::V8SQLResultSetRowList::itemCallback):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::V8SQLTransaction::executeSqlCallback):
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
(WebCore::V8SQLTransactionSync::executeSqlCallback):
* bindings/v8/custom/V8StorageCustom.cpp:
(WebCore::storageSetter):
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::constructorCallback):
(WebCore::V8WebKitMutationObserver::observeCallback):
* bindings/v8/custom/V8WebSocketCustom.cpp:
(WebCore::V8WebSocket::constructorCallback):
(WebCore::V8WebSocket::sendCallback):
(WebCore::V8WebSocket::closeCallback):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::V8WorkerContext::importScriptsCallback):
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
(WebCore::V8XMLHttpRequest::constructorCallback):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
(WebCore::V8XMLHttpRequest::openCallback):
(WebCore::V8XMLHttpRequest::sendCallback):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Add GCancellable parameter to all methods using gio async pattern
https://bugs.webkit.org/show_bug.cgi?id=86843

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add a private macro WEBKIT_DEFINE_ASYNC_DATA_STRUCT() to make it
easier to define temporary structs used in async operations.

* UIProcess/API/gtk/WebKitCookieManager.cpp:
(GetAcceptPolicyAsyncData):
(webkitCookieManagerGetAcceptPolicyCallback):
(webkit_cookie_manager_get_accept_policy):
(webkit_cookie_manager_get_accept_policy_finish):
(GetDomainsWithCookiesAsyncData):
(webkitCookieManagerGetDomainsWithCookiesCallback):
(webkit_cookie_manager_get_domains_with_cookies):
(webkit_cookie_manager_get_domains_with_cookies_finish):
* UIProcess/API/gtk/WebKitCookieManager.h:
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_get_plugins):
* UIProcess/API/gtk/WebKitWebResource.cpp:
(ResourceGetDataAsyncData):
(resourceDataCallback):
(webkit_web_resource_get_data):
(webkit_web_resource_get_data_finish):
* UIProcess/API/gtk/WebKitWebResource.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(ValidateEditingCommandAsyncData):
(didValidateCommand):
(webkit_web_view_can_execute_editing_command):
(webkit_web_view_can_execute_editing_command_finish):
(RunJavaScriptAsyncData::~RunJavaScriptAsyncData):
(RunJavaScriptAsyncData):
(webkitWebViewRunJavaScriptCallback):
(webkit_web_view_run_javascript):
(webkit_web_view_run_javascript_finish):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/tests/TestCookieManager.cpp:
* UIProcess/API/gtk/tests/TestResources.cpp:
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
* UIProcess/API/gtk/tests/TestWebViewEditor.cpp:
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::runJavaScriptAndWaitUntilFinished):

Tools:

* MiniBrowser/gtk/BrowserWindow.c:
(browser_window_load_uri):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Pass Isolate to throwNotEnoughArgumentsError()
https://bugs.webkit.org/show_bug.cgi?id=86983

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to throwNotEnoughArgumentsError().

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateArgumentsCountCheck):
(GenerateEventConstructorCallback):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::Float64ArrayV8Internal::fooCallback):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
(WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::constructorCallback):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::TestEventTargetV8Internal::itemCallback):
(WebCore::TestEventTargetV8Internal::dispatchEventCallback):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
(WebCore::V8TestInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
(WebCore::TestObjV8Internal::intMethodWithArgsCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsCallback):
(WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
(WebCore::TestObjV8Internal::methodReturningSequenceCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjV8Internal::serializedValueCallback):
(WebCore::TestObjV8Internal::idbKeyCallback):
(WebCore::TestObjV8Internal::optionsObjectCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
(WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
(WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjV8Internal::overloadedMethod1Callback):
(WebCore::TestObjV8Internal::overloadedMethod2Callback):
(WebCore::TestObjV8Internal::overloadedMethod3Callback):
(WebCore::TestObjV8Internal::overloadedMethod4Callback):
(WebCore::TestObjV8Internal::overloadedMethod5Callback):
(WebCore::TestObjV8Internal::overloadedMethod6Callback):
(WebCore::TestObjV8Internal::overloadedMethod7Callback):
(WebCore::TestObjV8Internal::overloadedMethod11Callback):
(WebCore::TestObjV8Internal::overloadedMethod12Callback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
(WebCore::TestObjV8Internal::convert1Callback):
(WebCore::TestObjV8Internal::convert2Callback):
(WebCore::TestObjV8Internal::convert3Callback):
(WebCore::TestObjV8Internal::convert4Callback):
(WebCore::TestObjV8Internal::convert5Callback):
(WebCore::TestObjV8Internal::strictFunctionCallback):
(WebCore::V8TestObj::constructorCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
* bindings/v8/ScriptController.cpp:
(WebCore::setValueAndClosePopupCallback):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::throwNotEnoughArgumentsError):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/custom/V8AudioContextCustom.cpp:
(WebCore::V8AudioContext::constructorCallback):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::V8DataView::getInt8Callback):
(WebCore::V8DataView::getUint8Callback):
(WebCore::V8DataView::setInt8Callback):
(WebCore::V8DataView::setUint8Callback):
* bindings/v8/custom/V8DirectoryEntryCustom.cpp:
(WebCore::V8DirectoryEntry::getDirectoryCallback):
(WebCore::V8DirectoryEntry::getFileCallback):
* bindings/v8/custom/V8IntentConstructor.cpp:
(WebCore::V8Intent::constructorCallback):
* bindings/v8/custom/V8SVGLengthCustom.cpp:
(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::getObjectParameter):
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
(WebCore::V8WebGLRenderingContext::getExtensionCallback):
(WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
(WebCore::V8WebGLRenderingContext::getParameterCallback):
(WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
(WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
(WebCore::V8WebGLRenderingContext::getUniformCallback):
(WebCore::vertexAttribAndUniformHelperf):
(WebCore::uniformHelperi):
(WebCore::uniformMatrixHelper):
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::constructorCallback):
(WebCore::V8WebKitMutationObserver::observeCallback):
* bindings/v8/custom/V8WebSocketCustom.cpp:
(WebCore::V8WebSocket::constructorCallback):
(WebCore::V8WebSocket::sendCallback):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::openCallback):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Minor style fixes in web intents code are needed
https://bugs.webkit.org/show_bug.cgi?id=86986

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-21
Reviewed by Adam Barth.

Source/WebKit:

Fix minor ordering issues in CMake files.

* CMakeLists.txt:
* PlatformEfl.cmake:

Source/WebKit/efl:

* ewk/EWebKit.h: Add new intent headers.
* ewk/ewk_frame.h: Add missing underscores to EwkIntentRequest type.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Forms] Move numeric related methods in HTMLInputElement class to another place
https://bugs.webkit.org/show_bug.cgi?id=82034

Reviewed by Kent Tamura.

This patch moves step and range related methods into StepRange class
for ease of using step calculation other than double floating point
number arithmetic, e.g. decimal, long double, and so on.

New class StepRange::StepDescription holds values for calculating
stepped value, defaultStep, defaultStepBase, integer rounding flags,
step scale factor instead of virtual methods in InputType class.

No new tests because of this patch doesn't change behavior.

* WebCore.xcodeproj/project.pbxproj: Set attribute of StepRange.h to "Private" for including it in HTMLInputElement.cpp.
* html/BaseDateAndTimeInputType.cpp:
(WebCore::InputType::rangeOverflow): Moved to use InputType class.
(WebCore::InputType::rangeUnderflow): Moved to use InputType class.
(WebCore::BaseDateAndTimeInputType::stepMismatch): Moved to use stepRange.
* html/BaseDateAndTimeInputType.h:
(BaseDateAndTimeInputType): Removed method declaration for stepBase.
* html/DateInputType.cpp:
(WebCore::DateInputType::setupStepRange): Added.
* html/DateInputType.h:
(DateInputType): Removed method declarations.
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::defaultStep): Removed.
(WebCore::DateTimeInputType::maximum): Removed.
(WebCore::DateTimeInputType::minimum): Removed.
(WebCore::DateTimeInputType::setupStepRange): Added
(WebCore::DateTimeInputType::stepScaleFactor): Removed.
* html/DateTimeInputType.h:
(DateTimeInputType): Removed deprecated method declarations.
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::defaultStep): Removed.
(WebCore::DateTimeLocalInputType::maximum): Removed.
(WebCore::DateTimeLocalInputType::minimum): Removed.
(WebCore::DateTimeLocalInputType::setupStepRange): Added.
(WebCore::DateTimeLocalInputType::stepScaleFactor): Removed.
* html/DateTimeLocalInputType.h:
(DateTimeLocalInputType):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isInRange): Changed to call InputType::isInRange.
(WebCore::HTMLInputElement::isOutOfRange): Changed to call InputType::isOutOfRange.
(WebCore::HTMLInputElement::setupStepRange): Added.
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/InputType.cpp:
(WebCore::InputType::acceptableError): Moved to StepRange class.
(WebCore::InputType::alignValueForStep): Moved to StepRange class.
(WebCore::InputType::minimum): Changed to use StepRange class.
(WebCore::InputType::maximum): Changed to use StepRange class.
(WebCore::InputType::parseToDouble): Changed to have ASSERT_NOT_REACHED.
(WebCore::InputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
(WebCore::InputType::validationMessage):  Changed to use StepRange class.
(WebCore::InputType::applyStep):  Changed to use StepRange class.
(WebCore::InputType::getAllowedValueStep):  Changed to use StepRange class.
(WebCore::InputType::isInRange): Added.
(WebCore::InputType::isOutOfRange): Added.
(WebCore::InputType::rangeOverflow): Changed to use StepRange class.
(WebCore::InputType::rangeUnderflow): Changed to use StepRange class.
(WebCore::InputType::setupStepRange): Added.
(WebCore::InputType::stepUpFromRenderer):  Changed to use StepRange class.
(WebCore::InputType::stepMismatch): Changed to use StepRange class.
* html/InputType.h:
(InputType):
* html/MonthInputType.cpp:
(WebCore::MonthInputType::defaultStep): Removed.
(WebCore::MonthInputType::maximum): Removed.
(WebCore::MonthInputType::minimum): Removed.
(WebCore::MonthInputType::setupStepRange): Added.
(WebCore::MonthInputType::stepScaleFactor): Removed.
* html/MonthInputType.h:
(MonthInputType):
* html/NumberInputType.cpp:
(WebCore):
(WebCore::NumberInputType::defaultStep): Removed.
(WebCore::NumberInputType::maximum): Removed.
(WebCore::NumberInputType::minimum): Removed.
(WebCore::NumberInputType::rangeOverflow): Moved to InputType class.
(WebCore::NumberInputType::rangeUnderflow): Moved to InputType class.
(WebCore::NumberInputType::setupStepRange): Added.
(WebCore::NumberInputType::stepMismatch): Moved to InputType class.
(WebCore::NumberInputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
(WebCore::NumberInputType::stepScaleFactor): Removed.
* html/NumberInputType.h:
(NumberInputType):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::defaultStep): Removed.
(WebCore::RangeInputType::maximum): Removed.
(WebCore::RangeInputType::minimum): Removed.
(WebCore::RangeInputType::setupStepRange): Added.
(WebCore::RangeInputType::stepScaleFactor): Removed.
(WebCore::RangeInputType::handleKeydownEvent): Changed to use StepRange class.
(WebCore::RangeInputType::fallbackValue): Changed to use StepRange class.
(WebCore::RangeInputType::sanitizeValue): Changed to use StepRange class.
* html/RangeInputType.h:
(RangeInputType):
* html/StepRange.cpp:
(WebCore::StepRange::StepRange): Added.
(WebCore::StepRange::clampValue): Changed for member variable name changes.
(WebCore::StepRange::hasStep): Added.
(WebCore::StepRange::maximum): Added.
(WebCore::StepRange::minimum): Added.
(WebCore::StepRange::step): Added.
(WebCore::StepRange::stepBase): Added.
(WebCore::StepRange::stepDecimalPlaces): Added.
(WebCore::StepRange::stepScaleFactor): Added.
(WebCore::StepRange::setHasStep): Added.
(WebCore::StepRange::setup): Added.
(WebCore::StepRange::parse): Added.
* html/StepRange.h:
(StepDescription): Added
(WebCore::StepRange::StepDescription::StepDescription):
(WebCore::StepRange::acceptableError): Moved from InputType class.
(WebCore::StepRange::alignValueForStep): Moved from InputType class.
(WebCore::StepRange::defaultValue): Changed for member variable name changes.
(WebCore::StepRange::proportionFromValue): Changed for member variable name changes.
(WebCore::StepRange::valueFromProportion): Changed for member variable name changes.
* html/TimeInputType.cpp:
(WebCore::TimeInputType::defaultStep): Removed.
(WebCore::TimeInputType::maximum): Removed.
(WebCore::TimeInputType::minimum): Removed.
(WebCore::TimeInputType::setupStepRange): Added.
(WebCore::TimeInputType::stepScaleFactor): Removed.
* html/TimeInputType.h:
(TimeInputType):
* html/WeekInputType.cpp:
(WebCore):
(WebCore::WeekInputType::defaultStep): Removed.
(WebCore::WeekInputType::maximum): Removed.
(WebCore::WeekInputType::minimum): Removed.
(WebCore::WeekInputType::setupStepRange): Added.
(WebCore::WeekInputType::stepScaleFactor): Removed.
* html/WeekInputType.h:
(WeekInputType):
* html/shadow/SliderThumbElement.cpp:
(WebCore::sliderPosition): Changed to use StepRange class.
(WebCore::SliderThumbElement::setPositionFromPoint): Changed to use StepRange class.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, build fix.

* html/StepRange.h:
(WebCore::StepRange::StepDescription::StepDescription):
Remove ASSERT_NOT_REACHED.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-21

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, build fix.

* html/StepRange.cpp:
(WebCore::StepRange::StepRange): Remove another ASSERT_NOT_REACHED.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, build fix.

* html/StepRange.cpp:
(WebCore::StepRange::parseStep): Remove bogus asssetions.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL().
<http://webkit.org/b/86935>
<rdar://problem/11480012>

Reviewed by Anders Carlsson.

Source/WebCore:

- Correctly set m_retainOrReleaseIconRequested to true in retainIconForPageURL().
  This was causing the assertions, as we would end up doing nothing until the first
  icon release request came in.

- Require that m_urlsToRetainOrReleaseLock be held when accessing m_retainOrReleaseIconRequested.
  This removes a possible race condition in double checked locking.

- Swap over the retain/release work queues while holding m_urlsToRetainOrReleaseLock
  and release it right away to avoid sitting on the lock while updating the database.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::synchronousIconForPageURL):
(WebCore::IconDatabase::retainIconForPageURL):
(WebCore::IconDatabase::releaseIconForPageURL):
(WebCore::IconDatabase::retainedPageURLCount):
(WebCore::IconDatabase::performURLImport):
(WebCore::IconDatabase::syncThreadMainLoop):
(WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
* loader/icon/IconDatabase.h:
(IconDatabase):

Source/WTF:

Added a swap() to HashCountedSet.

* wtf/HashCountedSet.h:
(HashCountedSet::swap):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Implement WebViewImpl::textInputInfo() for Android
https://bugs.webkit.org/show_bug.cgi?id=86440

Reviewed by Darin Fisher.

This patch adds WebView::textInputInfo(), which describes the text
input that currently has focus.  Android is planning to use this to
determine what sort of keyboard or text entry UI to show.  This API
subsumes the textInputType() API, which will be removed once the
clients have been updated.

* WebKit.gyp:
* public/WebTextInputInfo.h: Added.
(WebKit):
(WebTextInputInfo):
(WebKit::WebTextInputInfo::WebTextInputInfo):
(WebKit::operator==):
(WebKit::operator!=):
* public/WebTextInputType.h:
* public/WebWidget.h:
(WebWidget):
(WebKit::WebWidget::textInputInfo):
(WebKit::WebWidget::textInputType):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::textInputInfo):
(WebKit):
(WebKit::WebViewImpl::textInputType):
* src/WebViewImpl.h:
(WebViewImpl):


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