Get rid of the last uses of deprecatedCharactersWithNullTermination()
https://bugs.webkit.org/show_bug.cgi?id=118159

Reviewed by Andreas Kling.

Replace calls to deprecatedCharactersWithNullTermination() with charactersWithNullTermination().data().

Source/WebKit/win:

* COMPropertyBag.h:
(::GetPropertyInfo):
* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::runOpenPanel):
* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorFrontendClient::updateWindowTitle):
* WebDownloadCFNet.cpp:
(WebDownload::didFinish):
* WebKitSystemBits.cpp:
(WebVolumeFreeSize):
* WebLocalizableStrings.cpp:
(LocalizedString::operator LPCTSTR):
* WebView.cpp:
(WebView::setToolTip):

Tools:

* DumpRenderTree/win/DumpRenderTree.cpp:
(findFontFallback):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] Add Mavericks system font to Test systems
https://bugs.webkit.org/show_bug.cgi?id=118109

Reviewed by Simon Fraser.

OS X Mavericks uses a different font for system controls. Tell DRT and
WKTR about them otherwise they use a fallback font. Unfortunately the
fonts are hidden (not found in the list of available fonts) so I
had to add them manually.

Even though there is only one at the moment, I implemented this
as a set so it will be easier to add new fonts if necessary.

* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet): Fixed typo.
(systemHiddenFontFamilySet): New method that returns the system control font.
(drt_NSFontManager_availableFonts): Merge the hidden fonts.
* WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
(WTR::allowedFontFamilySet): Fixed typo.
(WTR::systemHiddenFontFamilySet): As above.
(WTR::wtr_NSFontManager_availableFonts):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Add WK2 C API to handle touch events.
https://bugs.webkit.org/show_bug.cgi?id=108915

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2013-06-27
Reviewed by Gyuyoung Kim.

Touch events for our target platforms differ (XInput2, Wayland, Tizen) so
for the EFL port we want to be able to feed events manually.

To keep our current API for desktop EFL/Enlightenment working, we convert
our currently limited EFL events to the new EFL specific C EwkTouchPoint
and EwkTouchEvent type.

EwkTouchPoint and EwkTouchEvent are exposed as WKTouchPointRef and
WKTouchEventRef, so they are opaque in the applications.

The WKViewSendTouchEvent can be used for any use-case (platform/product)
not involving the EFL events.

At the same time we make sure to avoid using WK2 internals in our EFL API
implementation.

* PlatformEfl.cmake:
* Shared/API/c/efl/WKBaseEfl.h:
* Shared/APIObject.h:
* Shared/NativeWebTouchEvent.h:
(WebKit::NativeWebTouchEvent::nativeEvent):
* Shared/efl/NativeWebTouchEventEfl.cpp:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
* Shared/efl/WebEventFactory.cpp:
(WebKit::toWebPlatformTouchPointState):
(WebKit::toWebEventType):
(WebKit::toWebEventModifiers):
(WebKit::WebEventFactory::createWebTouchEvent):
* Shared/efl/WebEventFactory.h:
* UIProcess/API/C/efl/WKAPICastEfl.h:
* UIProcess/API/C/efl/WKEventEfl.cpp: Added.
(WKTouchPointCreate):
(WKTouchEventCreate):
* UIProcess/API/C/efl/WKEventEfl.h: Added.
* UIProcess/API/C/efl/WKViewEfl.cpp:
(WKViewSendTouchEvent):
* UIProcess/API/C/efl/WKViewEfl.h:
* UIProcess/API/efl/EwkView.cpp:
(toWKTouchPointState):
(toWKEventModifiers):
(EwkView::feedTouchEvent):
(EwkView::feedTouchEvents):
* UIProcess/efl/EwkTouchEvent.cpp: Added.
(WebKit::EwkTouchEvent::EwkTouchEvent):
* UIProcess/efl/EwkTouchEvent.h: Added.
(WebKit::EwkTouchEvent::create):
(WebKit::EwkTouchEvent::eventType):
(WebKit::EwkTouchEvent::touchPoints):
(WebKit::EwkTouchEvent::modifiers):
(WebKit::EwkTouchEvent::timestamp):
(WebKit::EwkTouchEvent::type):
* UIProcess/efl/EwkTouchPoint.cpp: Added.
(WebKit::EwkTouchPoint::EwkTouchPoint):
* UIProcess/efl/EwkTouchPoint.h: Added.
(WebKit::EwkTouchPoint::create):
(WebKit::EwkTouchPoint::id):
(WebKit::EwkTouchPoint::state):
(WebKit::EwkTouchPoint::screenPosition):
(WebKit::EwkTouchPoint::position):
(WebKit::EwkTouchPoint::radius):
(WebKit::EwkTouchPoint::rotationAngle):
(WebKit::EwkTouchPoint::forceFactor):
(WebKit::EwkTouchPoint::type):
* UIProcess/efl/WebViewEfl.cpp:
(WebKit::WebViewEfl::sendTouchEvent):
* UIProcess/efl/WebViewEfl.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use DeferrableOneShotTimer for deleting decoded data
https://bugs.webkit.org/show_bug.cgi?id=118150

Reviewed by Andreas Kling.

Up to 1% of page load time can be used under CachedScript::script() for restarting
the decoded data deletion timer.
        
Using DeferrableOneShotTimer instead of a plain Timer avoids unnecessary low level timer access.

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::destroyDecodedDataIfNeeded):
(WebCore::CachedResource::decodedDataDeletionTimerFired):
(WebCore::CachedResource::decodedDataDeletionTimerDelay):

    Adopt DeferrableOneShotTimer.

* loader/cache/CachedResource.h:
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::script):
(WebCore::CachedScript::decodedDataDeletionTimerDelay):
        
    Keep using zero delay for scripts.

* platform/Timer.h:
(WebCore::DeferrableOneShotTimer::stop):
        
    Avoid unnecessary restart after stopping and starting again.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152148 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Adopt is/toHTMLInputElement for code cleanup
https://bugs.webkit.org/show_bug.cgi?id=118130

Reviewed by Antti Koivisto.

To enhance readability, this patch adopts is/toHTMLInputElement.
This also helps out to reduce duplicated use of static_cast.

Source/WebCore:

* accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaTimeline::valueDescription):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::isNativeTextControl):
(WebCore::AccessibilityNodeObject::isNativeImage):
(WebCore::AccessibilityNodeObject::isInputImage):
(WebCore::AccessibilityNodeObject::isReadOnly):
(WebCore::AccessibilityNodeObject::valueForRange):
(WebCore::AccessibilityNodeObject::maxValueForRange):
(WebCore::AccessibilityNodeObject::minValueForRange):
(WebCore::AccessibilityNodeObject::actionElement):
(WebCore::AccessibilityNodeObject::titleElementText):
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):
(WebCore::AccessibilityNodeObject::text):
(WebCore::AccessibilityNodeObject::colorValue):
(WebCore::accessibleNameForNode):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isFileUploadButton):
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::url):
(WebCore::AccessibilityRenderObject::setValue):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::addTextFieldChildren):
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::element):
* accessibility/ios/AccessibilityObjectIOS.mm:
(WebCore::AccessibilityObject::accessibilityPasswordFieldLength):
* bindings/js/JSHTMLInputElementCustom.cpp:
(WebCore::JSHTMLInputElement::selectionStart):
(WebCore::JSHTMLInputElement::setSelectionStart):
(WebCore::JSHTMLInputElement::selectionEnd):
(WebCore::JSHTMLInputElement::setSelectionEnd):
(WebCore::JSHTMLInputElement::selectionDirection):
(WebCore::JSHTMLInputElement::setSelectionDirection):
(WebCore::JSHTMLInputElement::setSelectionRange):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::isInPasswordField):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
* html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::getTextFieldValues):
* html/HTMLInputElement.h:
(WebCore::isHTMLInputElement):
(WebCore::toHTMLInputElement):
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::isKeyboardFocusable):
* html/shadow/MediaControlElementTypes.cpp:
(WebCore::mediaControlElementType):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents):
(WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
(WebCore::InputFieldSpeechButtonElement::startSpeechInput):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip):
* page/EventHandler.cpp:
(WebCore::isSubmitImage):
(WebCore::EventHandler::handleMousePressEvent):
* page/FocusController.cpp:
(WebCore::clearSelectionIfNeeded):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::getURLForImageNode):
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
* platform/qt/RenderThemeQtMobile.cpp:
(WebCore::RenderThemeQtMobile::paintSliderTrack):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::altDisplayString):
(WebCore::HitTestResult::absoluteImageURL):
(WebCore::HitTestResult::isContentEditable):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::hasLineIfEmpty):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::sizesLogicalWidthToFitContent):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::updateFromElement):
(WebCore::RenderButton::canHaveGeneratedChildren):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::isOpen):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::updateFromElement):
(WebCore::RenderFileUploadControl::maxFilenameWidth):
(WebCore::RenderFileUploadControl::paintObject):
(WebCore::RenderFileUploadControl::uploadButton):
(WebCore::RenderFileUploadControl::fileTextValue):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::updateAltText):
* testing/Internals.cpp:
(WebCore::Internals::selectColorInColorChooser):

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::webContext):
(BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
* WebCoreSupport/CredentialTransformData.cpp:
(WebCore::CredentialTransformData::findPasswordFormFields):
* WebCoreSupport/EditorClientBlackBerry.cpp:
(WebCore::EditorClientBlackBerry::shouldSpellCheckFocusedField):
* WebKitSupport/DOMSupport.cpp:
(BlackBerry::WebKit::DOMSupport::isPasswordElement):
(BlackBerry::WebKit::DOMSupport::inputElementText):
(BlackBerry::WebKit::DOMSupport::isDateTimeInputField):
(BlackBerry::WebKit::DOMSupport::isColorInputField):
(BlackBerry::WebKit::DOMSupport::elementIdOrNameIndicatesNoAutocomplete):
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::elementType):
(BlackBerry::WebKit::InputHandler::setInputValue):
(BlackBerry::WebKit::InputHandler::extractedTextRequest):
(BlackBerry::WebKit::InputHandler::showTextInputTypeSuggestionBox):

Source/WebKit/efl:

* ewk/ewk_view.cpp:
(ewk_view_input_method_state_set):

Source/WebKit/mac:

* DOM/WebDOMOperations.mm:
(-[DOMHTMLInputElement _setAutofilled:]):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedNodeChanged):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::textFieldDidBeginEditing):
(WebEditorClient::textFieldDidEndEditing):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::doTextFieldCommandFromEvent):
(WebEditorClient::textWillBeDeletedInTextField):
* WebView/WebHTMLRepresentation.mm:
(inputElementFromDOMElement):

Source/WebKit/qt:

* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::setInputMethodState):
* WebCoreSupport/QWebPageAdapter.cpp:
(QWebPageAdapter::inputMethodQuery):

Source/WebKit/win:

* DOMCoreClasses.cpp:
(DOMElement::createInstance):
* DOMHTMLClasses.cpp:
(DOMHTMLInputElement::form):
(DOMHTMLInputElement::disabled):
(DOMHTMLInputElement::readOnly):
(DOMHTMLInputElement::setType):
(DOMHTMLInputElement::value):
(DOMHTMLInputElement::setValue):
(DOMHTMLInputElement::setValueForUser):
(DOMHTMLInputElement::select):
(DOMHTMLInputElement::setSelectionStart):
(DOMHTMLInputElement::selectionStart):
(DOMHTMLInputElement::setSelectionEnd):
(DOMHTMLInputElement::selectionEnd):
(DOMHTMLInputElement::isTextField):
(DOMHTMLInputElement::rectOnScreen):
(DOMHTMLInputElement::replaceCharactersInRange):
(DOMHTMLInputElement::selectedRange):
(DOMHTMLInputElement::setAutofilled):
(DOMHTMLInputElement::isAutofilled):
(DOMHTMLInputElement::isUserEdited):
* WebFrame.cpp:
(inputElementFromDOMElement):

Source/WebKit2:

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
(WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::createAnnotationElement):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::focusedNodeChanged):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::containsAnyFormControls):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152149 268f45cc-cd09-0410-ab3c-d52691b4dbfc
HTMLAudioElement doesn't have to know about isVideo function
https://bugs.webkit.org/show_bug.cgi?id=118116

Reviewed by Eric Carlson.

Minor code cleanup to remove isVideo function from HTMLAudioElement.
We can use default function in HTMLMediaElement as hasVideo does.

* html/HTMLAudioElement.h:
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::isVideo):


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