WebKit-https.git
5 years ago[iOS] Fix the iOS build; add case statements for kCLAuthorizationStatusAuthorized
dbates@webkit.org [Thu, 25 Sep 2014 02:17:20 +0000 (02:17 +0000)]
[iOS] Fix the iOS build; add case statements for kCLAuthorizationStatusAuthorized
https://bugs.webkit.org/show_bug.cgi?id=137101
<rdar://problem/18449815>

Reviewed by Mark Lam.

* Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
(-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):

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

5 years agoWeb Inspector: subtract elapsed time while debugger is paused from profile nodes
burg@cs.washington.edu [Thu, 25 Sep 2014 00:25:31 +0000 (00:25 +0000)]
Web Inspector: subtract elapsed time while debugger is paused from profile nodes
https://bugs.webkit.org/show_bug.cgi?id=136796

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Rather than accruing no time to any profile node created while the debugger is paused,
we can instead count a node's elapsed time and exclude time elapsed while paused.

Time for a node may elapse in a non-contiguous fashion depending on the interleaving of
didPause, didContinue, willExecute, and didExecute. A node's start time is set to the
start of the last such interval that accrues elapsed time.

* profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::ProfileGenerator):
(JSC::ProfileGenerator::beginCallEntry):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::didPause): Added.
(JSC::ProfileGenerator::didContinue): Added.
* profiler/ProfileGenerator.h:
(JSC::ProfileGenerator::didPause): Deleted.
(JSC::ProfileGenerator::didContinue): Deleted.
* profiler/ProfileNode.h: Rename totalTime to elapsedTime.
(JSC::ProfileNode::Call::Call):
(JSC::ProfileNode::Call::elapsedTime): Added.
(JSC::ProfileNode::Call::setElapsedTime): Added.
(JSC::CalculateProfileSubtreeDataFunctor::operator()):
(JSC::ProfileNode::Call::totalTime): Deleted.
(JSC::ProfileNode::Call::setTotalTime): Deleted.

Source/WebCore:

* inspector/TimelineRecordFactory.cpp:
(WebCore::buildInspectorObject):

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

5 years agoUnreviewed build fix after r173932.
cdumez@apple.com [Wed, 24 Sep 2014 23:29:35 +0000 (23:29 +0000)]
Unreviewed build fix after r173932.

Unreviewed build fix after r173932 for Windows. Use WebCore:: namespace
explicitely in DOMCoreClasses.cpp.

* DOMCoreClasses.cpp:
(DOMElement::createInstance):

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

5 years ago[iOS] run-webkit-tests should support minor versions under devices and create a testi...
dfarler@apple.com [Wed, 24 Sep 2014 23:28:13 +0000 (23:28 +0000)]
[iOS] run-webkit-tests should support minor versions under devices and create a testing device under the right runtime
https://bugs.webkit.org/show_bug.cgi?id=136895

Reviewed by David Kilzer.

Create Device, DeviceType, and Runtime data classes.
Create Simulator class represent simctl output.

Wherever possible, use structured data classes anywhere a raw
identifier or UDID string was used for a cleaner implementation
and to encapsulate the inherent fragility of scraping simctl output.

Create a suitably named testing device if one doesn't exist.

Finally, accurately handle having multiple simulator runtimes (SDKs)
installed in the active Xcode.app bundle.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
* Scripts/webkitpy/port/driver.py:
(IOSSimulatorDriver.cmd_line):
Construct DeviceType and Runtime objects from identifiers passed at the
command line, still providing sensible defaults for 32- and 64-bit testing.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.__init__):
(IOSSimulatorPort.setup_test_run):
(IOSSimulatorPort):
(IOSSimulatorPort.testing_device):
Cache the testing device once it is created or found.
(IOSSimulatorPort.reset_preferences):
Get the device path from the Device object instead of consructing it
in the port class.
(IOSSimulatorPort.simulator_udid): Deleted.
Get the UDID from the testing_device :: Device object itself.
* Scripts/webkitpy/xcode/simulator.py:
Created Device, DeviceType, Runtime, and Simulator classes.
(get_runtimes): Deleted.
(get_devices): Deleted.
(get_device_types): Deleted.
(get_latest_runtime): Deleted.

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

5 years agoAttempt to fix crash seen on bots.
timothy@apple.com [Wed, 24 Sep 2014 23:11:46 +0000 (23:11 +0000)]
Attempt to fix crash seen on bots.

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

5 years agoDo the bmalloc.
ggaren@apple.com [Wed, 24 Sep 2014 22:07:41 +0000 (22:07 +0000)]
Do the bmalloc.
https://bugs.webkit.org/show_bug.cgi?id=132629

Reviewed by Gavin Barraclough.

64-bit only for now, just to try it out.

* wtf/FastMalloc.cpp:

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

5 years agoRemove incorrect use of the BKSProcessAssertionAllowSuspendOnSleep flag for process...
weinig@apple.com [Wed, 24 Sep 2014 22:02:01 +0000 (22:02 +0000)]
Remove incorrect use of the BKSProcessAssertionAllowSuspendOnSleep flag for process suspension in iOS WebKit2
<rdar://problem/18400566>
https://bugs.webkit.org/show_bug.cgi?id=137077

Reviewed by Anders Carlsson.

* UIProcess/ios/ProcessAssertionIOS.mm:
Remove use of the BKSProcessAssertionAllowSuspendOnSleep which does not do what we expect, and instead
causes processes to be suspended "forever" after sleep.

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

5 years agoFix 32-bit Mac build.
timothy@apple.com [Wed, 24 Sep 2014 21:41:06 +0000 (21:41 +0000)]
Fix 32-bit Mac build.

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

5 years agoUse is<HTML*Element>() instead of isHTML*Element() - Part 1
cdumez@apple.com [Wed, 24 Sep 2014 21:25:22 +0000 (21:25 +0000)]
Use is<HTML*Element>() instead of isHTML*Element() - Part 1
https://bugs.webkit.org/show_bug.cgi?id=137068

Reviewed by Ryosuke Niwa.

Start using is<HTML*Element>() instead of isHTML*Element().
Remaining usages will be updated in a follow-up patch to
reduce the size of the change.

Source/WebCore:

No new tests, no behavior change.

* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isSelected):
(WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
(WebCore::AccessibilityListBoxOption::stringValue):
(WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
* accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaTimeline::valueDescription):
* accessibility/AccessibilityMenuListOption.cpp:
(WebCore::AccessibilityMenuListOption::setElement):
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
* 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::isNodeActionElement):
(WebCore::AccessibilityNodeObject::titleElementText):
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):
(WebCore::AccessibilityNodeObject::colorValue):
(WebCore::accessibleNameForNode):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isFileUploadButton):
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::setValue):
(WebCore::AccessibilityRenderObject::accessibilityHitTest):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::addTextFieldChildren):
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::notifyChildrenSelectionChange):
* css/SelectorCheckerTestFunctions.h:
(WebCore::isDisabled):
(WebCore::isEnabled):
(WebCore::isChecked):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectAll):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::isInPasswordField):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_processElement):
* editing/gtk/EditorGtk.cpp:
(WebCore::elementURL):
* editing/ios/EditorIOS.mm:
(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendText):
(WebCore::isPlainTextMarkup):
(WebCore::collectElementsToRemoveFromFragment):
* html/HTMLCollection.cpp:
(WebCore::isMatchingElement):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
* html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::getTextFieldValues):
(WebCore::HTMLFormElement::formElementIndex):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::dispatchLoadEvent):
(WebCore::HTMLImageLoader::notifyFinished):
* html/HTMLNameCollection.cpp:
(WebCore::DocumentNameCollection::elementMatchesIfIdAttributeMatch):
(WebCore::DocumentNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::DocumentNameCollection::elementMatches):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::recalcSelectOptions):
(WebCore::HTMLOptGroupElement::ownerSelectElement):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::index):
(WebCore::HTMLOptionElement::ownerSelectElement):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::add):
(WebCore::HTMLSelectElement::value):
(WebCore::HTMLSelectElement::setValue):
(WebCore::HTMLSelectElement::childShouldCreateRenderer):
(WebCore::HTMLSelectElement::setLength):
(WebCore::HTMLSelectElement::nextValidIndex):
(WebCore::HTMLSelectElement::saveLastSelection):
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::recalcListItems):
(WebCore::HTMLSelectElement::selectedIndex):
(WebCore::HTMLSelectElement::selectOption):
(WebCore::HTMLSelectElement::optionToListIndex):
(WebCore::HTMLSelectElement::listToOptionIndex):
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
(WebCore::HTMLSelectElement::saveFormControlState):
(WebCore::HTMLSelectElement::searchOptionsForValue):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::appendFormData):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::updateSelectedState):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
(WebCore::HTMLSelectElement::lastSelectedListIndex):
(WebCore::HTMLSelectElement::optionAtIndex):
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
(WebCore::HTMLSelectElement::length):
* html/HTMLTagNames.in:
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::isKeyboardFocusable):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::hasImpliedEndTag):
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isSelectScopeMarker):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
* html/shadow/MediaControlElementTypes.cpp:
(WebCore::mediaControlElementType):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::handleFallbackContent):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestObject):
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip):
* page/EventHandler.cpp:
(WebCore::isSubmitImage):
(WebCore::EventHandler::handleMousePressEvent):
* page/FocusController.cpp:
(WebCore::clearSelectionIfNeeded):
* page/FrameView.cpp:
(WebCore::FrameView::addEmbeddedObjectToUpdate):
(WebCore::FrameView::updateEmbeddedObject):
* page/PageSerializer.cpp:
(WebCore::frameOwnerURLAttributeName):
* page/SpatialNavigation.cpp:
(WebCore::canScrollInDirection):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::altDisplayString):
(WebCore::HitTestResult::absoluteImageURL):
(WebCore::HitTestResult::absolutePDFURL):
(WebCore::HitTestResult::isContentEditable):
* rendering/RenderBlockFlow.cpp:
(WebCore::resizeTextPermitted):
* 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::uploadButton):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::updateAltText):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::addFocusRingRects):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
* rendering/RenderMenuList.cpp:
(WebCore::selectedOptionCount):
(RenderMenuList::updateOptionsWidth):
(RenderMenuList::setTextFromOption):
(RenderMenuList::itemText):
(RenderMenuList::itemIsEnabled):
(RenderMenuList::itemIsSelected):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSliderTicks):
* testing/Internals.cpp:
(WebCore::Internals::selectColorInColorChooser):
(WebCore::Internals::wasLastChangeUserEdit):
(WebCore::Internals::isSelectPopupVisible):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):

Source/WebKit/ios:

* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::focusedElementChanged):

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedElementChanged):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::textFieldDidBeginEditing):
(WebEditorClient::textFieldDidEndEditing):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::doTextFieldCommandFromEvent):
(WebEditorClient::textWillBeDeletedInTextField):
(WebEditorClient::textDidChangeInTextArea):
* WebView/WebHTMLRepresentation.mm:
(inputElementFromDOMElement):

Source/WebKit/win:

* DOMCoreClasses.cpp:
(DOMElement::createInstance):
* DOMHTMLClasses.cpp:
(DOMHTMLOptionElement::text):
(DOMHTMLOptionElement::label):
(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):
(DOMHTMLTextAreaElement::form):
(DOMHTMLTextAreaElement::value):
(DOMHTMLTextAreaElement::setValue):
(DOMHTMLTextAreaElement::select):
(DOMHTMLTextAreaElement::isUserEdited):
* WebFrame.cpp:
(inputElementFromDOMElement):

Source/WebKit2:

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
(WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::isTextField):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::focusedElementChanged):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::textDidChangeInTextArea):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::containsAnyFormControls):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setAssistedNodeValue):
(WebKit::WebPage::setAssistedNodeValueAsNumber):
(WebKit::WebPage::setAssistedNodeSelectedIndex):

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

5 years ago[iOS] Remove MediaPlayer::setHasPlaybackTargetAvailabilityListeners
eric.carlson@apple.com [Wed, 24 Sep 2014 21:22:41 +0000 (21:22 +0000)]
[iOS] Remove MediaPlayer::setHasPlaybackTargetAvailabilityListeners
https://bugs.webkit.org/show_bug.cgi?id=137075

Reviewed by Dean Jackson.

No new tests, this just removes unused code.

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setHasPlaybackTargetAvailabilityListeners): Deleted.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setHasPlaybackTargetAvailabilityListeners): Deleted.

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

5 years agoAdd stub implementation of WKPageIsPlayingAudio().
adachan@apple.com [Wed, 24 Sep 2014 20:11:06 +0000 (20:11 +0000)]
Add stub implementation of WKPageIsPlayingAudio().
https://bugs.webkit.org/show_bug.cgi?id=137044

Reviewed by Anders Carlsson.

Also add an isPlayingAudioDidChange callback to WKPageUIClient.

* UIProcess/API/C/WKPage.cpp:
(WKPageIsPlayingAudio):
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/API/C/WKPageUIClient.h:

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

5 years agoMake the Web Inspector use a separate web process.
timothy@apple.com [Wed, 24 Sep 2014 19:58:08 +0000 (19:58 +0000)]
Make the Web Inspector use a separate web process.

https://bugs.webkit.org/show_bug.cgi?id=135120

Reviewed by Anders Carlsson.

Source/WebCore:

* English.lproj/Localizable.strings: Updated.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptGlobalObject.h:
* bindings/js/ScriptState.h:
* inspector/InspectorFrontendHost.h:
* inspector/InspectorPageAgent.h:
* page/Chrome.h:
Exported a few functions and private headers.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::setInspectorFrontendClient):
(WebCore::InspectorController::hasInspectorFrontendClient):
(WebCore::InspectorController::show):
* inspector/InspectorController.h:
Make InspectorFrontendClient a pointer instead of a std::unique_ptr.
This makes it easier to implement InspectorFrontendClient as
part of an existing object that is externally owned.

* testing/Internals.cpp:
(WebCore::Internals::openDummyInspectorFrontend):
(WebCore::Internals::closeDummyInspectorFrontend):
* testing/Internals.h:
Change InspectorFrontendClientDummy from being moved to owned.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js: Updated.

* UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
Move InspectorFrontendHost.loaded to later in the load.
Calling it early just shows the window before we have
a user interface to show.

* UserInterface/Base/Test.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
Match the changes in Main.js.

* UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.savedURL): Change comment.
(InspectorFrontendAPI.appendedToURL): Change comment.
(InspectorFrontendAPI.dispatch): Add an assert and early
return to be safe from unknown commands.
(InspectorFrontendAPI.loadCompleted): Delete _pendingCommands,
no need to keep an empty array around a one time use.

Source/WebKit/ios:

* WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorClient::WebInspectorClient):
Removed m_frontendClient initialization since it is
now a std::unique_ptr that defaults to nullptr.

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::releaseFrontend):
Own WebInspectorFrontendClient instead of moving it.

Source/WebKit/win:

* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::openInspectorFrontend):
* WebCoreSupport/WebInspectorClient.h:
(WebInspectorClient::frontendClient):
Own WebInspectorFrontendClient instead of moving it.

Source/WebKit2:

* CMakeLists.txt:
* DerivedSources.make:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* WebKit2.xcodeproj/project.pbxproj:
Added new WebInspectorUI files and removed WebInspectorFrontendClient.cpp.

* Shared/APIObject.h: Added BundleInspectorUI.

* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:
(WebKit::ChildProcessMainDelegate::getExtraInitializationData):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
Add support for "inspector-process" data, a boolean that is used by
WebProcess::initializeProcessName.

* UIProcess/API/C/WKInspector.cpp:
(WKInspectorIsDebuggingJavaScript):
(WKInspectorToggleJavaScriptDebugging):
(WKInspectorIsProfilingJavaScript):
(WKInspectorToggleJavaScriptProfiling):
* UIProcess/API/C/WKInspector.h:
Stub out functions we don't support but need to keep for nightly compatibility.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorPageGroups::createInspectorPageGroup):
(WebKit::WebInspectorProxy::WebInspectorProxy):
(WebKit::WebInspectorProxy::invalidate):
(WebKit::WebInspectorProxy::connect):
(WebKit::WebInspectorProxy::showConsole):
(WebKit::WebInspectorProxy::showResources):
(WebKit::WebInspectorProxy::showMainResourceForFrame):
(WebKit::WebInspectorProxy::attach):
(WebKit::WebInspectorProxy::detach):
(WebKit::WebInspectorProxy::inspectorContext):
(WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend):
(WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::open):
(WebKit::WebInspectorProxy::didClose):
(WebKit::WebInspectorProxy::attachAvailabilityChanged):
* UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::isConnected):
(WebKit::WebInspectorProxy::canAttach):
* UIProcess/WebInspectorProxy.messages.in:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformAttach):
* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter close]):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformDidClose):
(WebKit::WebInspectorProxy::platformHide):
(WebKit::WebInspectorProxy::platformSave):
(WebKit::WebInspectorProxy::platformAppend):
(WebKit::WebInspectorProxy::platformAttach):
Changed how the Inspector page is created by making it in a new WebContext for
the Inspector. This removes us from the main process pool and guarantees no process
sharing for our user interface. Also send new WebInspectorUI messages to the Inspector
page and not the inspected page when appropriate.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getLaunchOptions): Add "inspector-process" to extraInitializationData
if the context is the Inspector context. This is used by WebProcess::initializeProcessName.

* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::openInspectorFrontend):
(WebKit::WebInspectorClient::closeInspectorFrontend):
(WebKit::WebInspectorClient::bringFrontendToFront):
* WebProcess/WebCoreSupport/WebInspectorClient.h:
Remove the InspectorFrontendChannel class from WebInspectorClient and clean up a little.
InspectorFrontendChannel implementation moved to WebInspector.

* WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: Removed. Superseded by WebInspectorUI.

* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::create):
(WebKit::WebInspector::WebInspector):
(WebKit::WebInspector::createInspectorPage):
(WebKit::WebInspector::closeFrontend):
(WebKit::WebInspector::openInNewTab):
(WebKit::WebInspector::showConsole):
(WebKit::WebInspector::showResources):
(WebKit::WebInspector::showMainResourceForFrame):
(WebKit::WebInspector::startPageProfiling):
(WebKit::WebInspector::stopPageProfiling):
(WebKit::WebInspector::canAttachWindow):
(WebKit::WebInspector::updateDockingAvailability):
(WebKit::WebInspector::sendMessageToBackend):
(WebKit::WebInspector::sendMessageToFrontend):
(WebKit::WebInspector::remoteFrontendConnected):
(WebKit::WebInspector::remoteFrontendDisconnected):
* WebProcess/WebPage/WebInspector.h:
(WebKit::WebInspector::didClose):
(WebKit::WebInspector::didReceiveInvalidMessage):
(WebKit::WebInspector::setAttached):
* WebProcess/WebPage/WebInspector.messages.in:
Stop taking an optional InspectorFrontendChannel and inherit it instead. Create a connection that
can be passed to the other web process for WebInspectorUI to use. Stop referencing Inspector's page
directly, since it is in another process now.

* WebProcess/WebPage/WebInspectorUI.cpp: Added.
(WebKit::WebInspectorUI::create):
(WebKit::WebInspectorUI::WebInspectorUI):
(WebKit::WebInspectorUI::establishConnection):
(WebKit::WebInspectorUI::windowObjectCleared):
(WebKit::WebInspectorUI::frontendLoaded):
(WebKit::WebInspectorUI::moveWindowBy):
(WebKit::WebInspectorUI::bringToFront):
(WebKit::WebInspectorUI::closeWindow):
(WebKit::WebInspectorUI::requestSetDockSide):
(WebKit::WebInspectorUI::setDockSide):
(WebKit::WebInspectorUI::changeAttachedWindowHeight):
(WebKit::WebInspectorUI::changeAttachedWindowWidth):
(WebKit::WebInspectorUI::setToolbarHeight):
(WebKit::WebInspectorUI::openInNewTab):
(WebKit::WebInspectorUI::save):
(WebKit::WebInspectorUI::append):
(WebKit::WebInspectorUI::inspectedURLChanged):
(WebKit::WebInspectorUI::showConsole):
(WebKit::WebInspectorUI::showResources):
(WebKit::WebInspectorUI::showMainResourceForFrame):
(WebKit::WebInspectorUI::startPageProfiling):
(WebKit::WebInspectorUI::stopPageProfiling):
(WebKit::WebInspectorUI::didSave):
(WebKit::WebInspectorUI::didAppend):
(WebKit::WebInspectorUI::sendMessageToFrontend):
(WebKit::WebInspectorUI::sendMessageToBackend):
(WebKit::WebInspectorUI::evaluateCommandOnLoad):
(WebKit::WebInspectorUI::evaluateExpressionOnLoad):
(WebKit::WebInspectorUI::evaluatePendingExpressions):
* WebProcess/WebPage/WebInspectorUI.h: Added.
(WebKit::WebInspectorUI::page):
(WebKit::WebInspectorUI::didClose):
(WebKit::WebInspectorUI::didReceiveInvalidMessage):
(WebKit::WebInspectorUI::attachedBottom):
(WebKit::WebInspectorUI::attachedRight):
(WebKit::WebInspectorUI::detached):
(WebKit::WebInspectorUI::evaluateCommandOnLoad):
* WebProcess/WebPage/WebInspectorUI.messages.in: Added.
* WebProcess/WebPage/efl/WebInspectorUIEfl.cpp: Added.
(WebKit::WebInspectorUI::canSave):
(WebKit::WebInspectorUI::localizedStringsURL):
* WebProcess/WebPage/gtk/WebInspectorUIGtk.cpp: Added.
(WebKit::WebInspectorUI::canSave):
(WebKit::WebInspectorUI::localizedStringsURL):
* WebProcess/WebPage/mac/WebInspectorUIMac.mm: Added.
(WebKit::WebInspectorUI::canSave):
(WebKit::WebInspectorUI::localizedStringsURL):
Implement the InspectorFrontendClient and handle a connection to the inspected page's WebInspector.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::inspector):
(WebKit::WebPage::inspectorUI):
(WebKit::WebPage::didReceiveMessage):
Setup as a listener for WebInspectorUI messages.

* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::isInspectorPage): It is an Inspector page if we have a m_inspectorUI.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::initializeProcessName):
Name the process "%@ Web Inspector" if it is an Inspector content process. Processes in that
context are not shared with multiple pages.

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

5 years ago[Yosemite] Button text doesn't go white while pushing the button, like it does for...
dino@apple.com [Wed, 24 Sep 2014 19:57:12 +0000 (19:57 +0000)]
[Yosemite] Button text doesn't go white while pushing the button, like it does for real buttons
https://bugs.webkit.org/show_bug.cgi?id=137054
rdar://problem/17559038

Reviewed by NOBODY (OOPS!).

On Yosemite and above, system buttons paint with white-ish text when they
are pressed. Since this isn't exposed by API, I've hardcoded the value
into RenderThemeMac.

The actual state is exposed by adding a :active rule to html.css that
uses a new CSSValueKeyword: ActiveButtonText.

Unfortunately I can't find a way to test this, because the active state isn't
testable. We should really expose the Inspector's forcePseudoState function into
window.internals.

* css/CSSValueKeywords.in: Add "activebuttontext".
* css/html.css:
(input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): New rule for active
button elements.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::systemColor): Handle CSSValueActivebuttontext as black.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor): Handle CSSValueActivebuttontext as
white with 75% opacity.

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

5 years agoAdd a deprecated stub for WKPreferencesSetMultithreadedWebGLEnabled (and Get)
dino@apple.com [Wed, 24 Sep 2014 19:52:14 +0000 (19:52 +0000)]
Add a deprecated stub for WKPreferencesSetMultithreadedWebGLEnabled (and Get)
https://bugs.webkit.org/show_bug.cgi?id=137071

Reviewed by Brent Fulgham.

Put in stubs for WKPreferencesSetMultithreadedWebGLEnabled and
WKPreferencesGetMultithreadedWebGLEnabled. These were removed in
r173776 but are still needed for nightly builds to link
(or will be once Yosemite nightlies are available).

* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKPreferencesSetMultithreadedWebGLEnabled):
(WKPreferencesGetMultithreadedWebGLEnabled):

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

5 years ago[Windows] Tentative fix for Windows test bots.
roger_fong@apple.com [Wed, 24 Sep 2014 19:24:57 +0000 (19:24 +0000)]
[Windows] Tentative fix for Windows test bots.
* Scripts/webkitpy/common/system/path.py:
(_CygPath.convert):

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

5 years agoAdd New Test for overrideMimeType in XMLHttpRequest.
commit-queue@webkit.org [Wed, 24 Sep 2014 17:30:02 +0000 (17:30 +0000)]
Add New Test for overrideMimeType in XMLHttpRequest.
https://bugs.webkit.org/show_bug.cgi?id=137057

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-09-24
Reviewed by Alexey Proskuryakov.

As part of bug: https://bugs.webkit.org/show_bug.cgi?id=136699, add more tests to test overrideMimeType for all states.

* http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror-expected.txt: Added.
* http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror.html: Added.

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

5 years agoChange more build.webkit.org links to https
ap@apple.com [Wed, 24 Sep 2014 17:26:00 +0000 (17:26 +0000)]
Change more build.webkit.org links to https
https://bugs.webkit.org/show_bug.cgi?id=137049

Reviewed by Csaba Osztrogonác.

Fix appspot, svn.webkit.org and Trac links.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
* BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/index.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ViewController.js:
(ViewController.prototype._domForBuildName):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
(.):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js:
(EWS):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitTestHistory.js:
(TestHistory):
* BuildSlaveSupport/build.webkit.org-config/templates/root.html:

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

5 years ago[iOS] Fix the iOS build after <http://trac.webkit.org/changeset/173893>
dbates@webkit.org [Wed, 24 Sep 2014 16:59:44 +0000 (16:59 +0000)]
[iOS] Fix the iOS build after <trac.webkit.org/changeset/173893>
(https://bugs.webkit.org/show_bug.cgi?id=137007)

Add closing parenthesis characters that were inadvertently removed in <http://trac.webkit.org/changeset/173893>.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setAssistedNodeSelectedIndex):
(WebKit::WebPage::getAssistedNodeInformation):

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

5 years agoUpdate the list of u-szeged contributors.
llango.u-szeged@partner.samsung.com [Wed, 24 Sep 2014 16:11:20 +0000 (16:11 +0000)]
Update the list of u-szeged contributors.

Rubber-stamped by Csaba Osztrogonác <ossy@webkit.org>.

Tools:

* Scripts/webkitpy/common/config/contributors.json:

Websites/webkit.org:

* team.html:

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

5 years agoUse is<SVG*Element>() instead of isSVG*Element()
cdumez@apple.com [Wed, 24 Sep 2014 15:56:26 +0000 (15:56 +0000)]
Use is<SVG*Element>() instead of isSVG*Element()
https://bugs.webkit.org/show_bug.cgi?id=137058

Reviewed by Dirk Schulze.

Use is<SVG*Element>() instead of isSVG*Element() and drop support for
generated isSVG*Element().

No new tests, no behavior change.

* css/CSSCursorImageValue.cpp:
(WebCore::resourceReferencedByCursorElement):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::useSVGZoomRulesForLength):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/ScriptElement.cpp:
(WebCore::toScriptElementIfPossible):
* dom/make_names.pl:
(printTypeHelpers):
* editing/gtk/EditorGtk.cpp:
(WebCore::elementURL):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absoluteImageURL):
(WebCore::HitTestResult::isLiveLink):
* rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromCircleElement):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* rendering/svg/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
* svg/SVGAltGlyphDefElement.cpp:
(WebCore::SVGAltGlyphDefElement::hasValidGlyphElements):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::hasValidGlyphElements):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::hasValidAttributeType):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::rootElement):
* svg/SVGElement.cpp:
(WebCore::SVGElement::isOutermostSVGSVGElement):
(WebCore::SVGElement::ownerSVGElement):
(WebCore::SVGElement::viewportElement):
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::build):
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::findLightElement):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::ensureGlyphCache):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::associatedFontElement):
(WebCore::SVGFontFaceElement::rebuildFontFace):
* svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::srcValue):
(WebCore::SVGFontFaceSrcElement::childrenChanged):
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::invalidateGlyphCache):
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::insertedInto):
(WebCore::SVGHKernElement::removedFrom):
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):
* svg/SVGLocatable.cpp:
(WebCore::isViewportElement):
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::pathElement):
(WebCore::SVGMPathElement::notifyParentOfPathChange):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::invalidateMPathDependencies):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::collectPatternAttributes):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setupInitialView):
* svg/SVGUseElement.cpp:
(WebCore::dumpInstanceTree):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::insertedInto):
(WebCore::SVGVKernElement::removedFrom):

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

5 years agoUnreviewed. Add more free icons for the Web Inspector in GTK+
carlosgc@webkit.org [Wed, 24 Sep 2014 12:53:29 +0000 (12:53 +0000)]
Unreviewed. Add more free icons for the Web Inspector in GTK+

Patch by Andres Gomez <agomez@igalia.com> on 2014-09-24

* UserInterface/Images/gtk/AUTHORS:
* UserInterface/Images/gtk/ApplicationCache.png: Added.
* UserInterface/Images/gtk/ApplicationCache@2x.png: Added.
* UserInterface/Images/gtk/BottomUpTree.svg: Added.
* UserInterface/Images/gtk/Breakpoint.png: Added.
* UserInterface/Images/gtk/Breakpoint@2x.png: Added.
* UserInterface/Images/gtk/BreakpointButton.svg:
* UserInterface/Images/gtk/BreakpointInactive.png: Added.
* UserInterface/Images/gtk/BreakpointInactive@2x.png: Added.
* UserInterface/Images/gtk/BreakpointInactiveButton.svg:
* UserInterface/Images/gtk/COPYING:
* UserInterface/Images/gtk/COPYING_CCBYSA3: Copied from Source/WebInspectorUI/UserInterface/Images/gtk/COPYING.
* UserInterface/Images/gtk/ClippingCSS.png: Added.
* UserInterface/Images/gtk/ClippingCSS@2x.png: Added.
* UserInterface/Images/gtk/ClippingGeneric.png: Added.
* UserInterface/Images/gtk/ClippingGeneric@2x.png: Added.
* UserInterface/Images/gtk/ClippingJS.png: Added.
* UserInterface/Images/gtk/ClippingJS@2x.png: Added.
* UserInterface/Images/gtk/CloseTimeline.png: Added.
* UserInterface/Images/gtk/CloseTimeline@2x.png: Added.
* UserInterface/Images/gtk/ColorIcon.png: Added.
* UserInterface/Images/gtk/ColorIcon@2x.png: Added.
* UserInterface/Images/gtk/Colors.png: Added.
* UserInterface/Images/gtk/Colors@2x.png: Added.
* UserInterface/Images/gtk/ColorsLarge.png: Added.
* UserInterface/Images/gtk/ColorsLarge@2x.png: Added.
* UserInterface/Images/gtk/Database.png: Added.
* UserInterface/Images/gtk/Database@2x.png: Added.
* UserInterface/Images/gtk/DatabaseTable.png: Added.
* UserInterface/Images/gtk/DatabaseTable@2x.png: Added.
* UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg: Added.
* UserInterface/Images/gtk/Issues.svg: Added.
* UserInterface/Images/gtk/IssuesEnabled.svg: Added.
* UserInterface/Images/gtk/LayerBorders.svg: Added.
* UserInterface/Images/gtk/LessColumns.svg: Added.
* UserInterface/Images/gtk/LocalStorage.png: Added.
* UserInterface/Images/gtk/LocalStorage@2x.png: Added.
* UserInterface/Images/gtk/Locked.svg: Added.
* UserInterface/Images/gtk/Logs.svg: Added.
* UserInterface/Images/gtk/Memory.svg: Added.
* UserInterface/Images/gtk/MoreColumns.svg: Added.
* UserInterface/Images/gtk/Native.svg: Added.
* UserInterface/Images/gtk/NavigationItemAngleBrackets.svg: Added.
* UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg: Added.
* UserInterface/Images/gtk/NavigationItemBug.svg: Added.
* UserInterface/Images/gtk/NavigationItemCurleyBraces.svg: Added.
* UserInterface/Images/gtk/NavigationItemFile.svg: Added.
* UserInterface/Images/gtk/NavigationItemLayers.svg: Added.
* UserInterface/Images/gtk/NavigationItemLog.svg: Added.
* UserInterface/Images/gtk/NavigationItemMagnifyingGlass.svg: Added.
* UserInterface/Images/gtk/NavigationItemStopwatch.svg: Added.
* UserInterface/Images/gtk/NavigationItemStorage.svg: Added.
* UserInterface/Images/gtk/NavigationItemTrash.svg: Added.
* UserInterface/Images/gtk/NavigationItemVariable.svg: Added.
* UserInterface/Images/gtk/Network.png: Added.
* UserInterface/Images/gtk/Network@2x.png: Added.
* UserInterface/Images/gtk/NetworkLarge.png: Added.
* UserInterface/Images/gtk/NetworkLarge@2x.png: Added.
* UserInterface/Images/gtk/Pause.svg: Added.
* UserInterface/Images/gtk/Percent.svg: Added.
* UserInterface/Images/gtk/Plus.svg: Added.
* UserInterface/Images/gtk/PseudoElement.svg: Added.
* UserInterface/Images/gtk/Reflection.svg: Added.
* UserInterface/Images/gtk/Reload.svg: Added.
* UserInterface/Images/gtk/Request.svg: Added.
* UserInterface/Images/gtk/Response.svg: Added.
* UserInterface/Images/gtk/ResultLine.svg: Added.
* UserInterface/Images/gtk/Resume.svg: Added.
* UserInterface/Images/gtk/SessionStorage.png: Added.
* UserInterface/Images/gtk/SessionStorage@2x.png: Added.
* UserInterface/Images/gtk/ShadowDOM.svg: Added.
* UserInterface/Images/gtk/SourceCode.svg: Added.
* UserInterface/Images/gtk/SplitToggleDown.svg: Added.
* UserInterface/Images/gtk/SplitToggleUp.svg: Added.
* UserInterface/Images/gtk/StepInto.svg: Added.
* UserInterface/Images/gtk/StepOut.svg: Added.
* UserInterface/Images/gtk/StepOver.svg: Added.
* UserInterface/Images/gtk/StyleRuleAuthor.svg: Added.
* UserInterface/Images/gtk/StyleRuleInherited.svg: Added.
* UserInterface/Images/gtk/StyleRuleInheritedElement.svg: Added.
* UserInterface/Images/gtk/StyleRuleInspector.svg: Added.
* UserInterface/Images/gtk/StyleRuleUser.svg: Added.
* UserInterface/Images/gtk/StyleRuleUserAgent.svg: Added.
* UserInterface/Images/gtk/Time.svg: Added.
* UserInterface/Images/gtk/TimelineRecordAnimation.svg: Added.
* UserInterface/Images/gtk/TimelineRecordEvent.svg: Added.
* UserInterface/Images/gtk/TimelineRecordLayout.svg: Added.
* UserInterface/Images/gtk/TimelineRecordPaint.svg: Added.
* UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg: Added.
* UserInterface/Images/gtk/TimelineRecordStyle.svg: Added.
* UserInterface/Images/gtk/TimelineRecordTimer.svg: Added.
* UserInterface/Images/gtk/Undock.svg: Added.
* UserInterface/Images/gtk/UserInputPrompt.svg: Added.
* UserInterface/Images/gtk/UserInputPromptPrevious.svg: Added.
* UserInterface/Images/gtk/UserInputResult.svg: Added.
* UserInterface/Images/gtk/Warning.svg: Added.
* UserInterface/Images/gtk/Weight.svg: Added.

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

5 years agoUnreviewed, rolling out r173839.
commit-queue@webkit.org [Wed, 24 Sep 2014 09:14:32 +0000 (09:14 +0000)]
Unreviewed, rolling out r173839.
https://bugs.webkit.org/show_bug.cgi?id=137062

NumberConstruct should no longer use static tables (Requested
by dpino on #webkit).

Reverted changeset:

"Simple ES6 feature: Number constructor extras"
https://bugs.webkit.org/show_bug.cgi?id=131707
http://trac.webkit.org/changeset/173839

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

5 years agoRemove the style marking from :nth-child()
commit-queue@webkit.org [Wed, 24 Sep 2014 07:56:52 +0000 (07:56 +0000)]
Remove the style marking from :nth-child()
https://bugs.webkit.org/show_bug.cgi?id=137055

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-24
Reviewed by Andreas Kling.

Source/WebCore:

Previously, :nth-child() had to mark the RenderStyle as unique in order
to prevent it from being used for style sharing.

After r173229, :nth-child() use the more generic element marking
"StyleIsAffectedByPreviousSibling".

In StyleResolver::canShareStyleWithElement(), StyleIsAffectedByPreviousSibling
is already used to prevent style sharing of those elements, making the "Unique"
flag redundant.

Since it is now useless, remove the style marking from SelectorChecker and the CSS JIT.

Tests: fast/css/nth-child-style-sharing-even.html
       fast/css/nth-child-style-sharing-fixed-integer.html
       fast/css/nth-child-style-sharing-odd.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::setElementChildIndexAndUpdateStyle): Deleted.
* rendering/style/RenderStyle.h:

LayoutTests:

Add basic tests for style sharing with :nth-child().

* fast/css/nth-child-style-sharing-even-expected.html: Added.
* fast/css/nth-child-style-sharing-even.html: Added.
* fast/css/nth-child-style-sharing-fixed-integer-expected.html: Added.
* fast/css/nth-child-style-sharing-fixed-integer.html: Added.
* fast/css/nth-child-style-sharing-odd-expected.html: Added.
* fast/css/nth-child-style-sharing-odd.html: Added.

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

5 years ago2014-09-23 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 24 Sep 2014 05:10:18 +0000 (05:10 +0000)]
2014-09-23  Geoffrey Garen  <ggaren@apple.com>

        Rolled out r173346.

            bmalloc should honor the FastMalloc statistics API
            https://bugs.webkit.org/show_bug.cgi?id=136592

        This didn't really work. Because we allow ranges with and without
        physical pages to merge, and we allow double-committing and
        double-decommitting, we can't rely on commit actions to track memory
        footprint.

        * wtf/FastMalloc.cpp:
        (WTF::fastMallocStatistics):

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

5 years ago2014-09-23 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 24 Sep 2014 05:07:19 +0000 (05:07 +0000)]
2014-09-23  Geoffrey Garen  <ggaren@apple.com>

        Rolled out r173346.

            bmalloc should honor the FastMalloc statistics API
            https://bugs.webkit.org/show_bug.cgi?id=136592

        This didn't really work. Because we allow ranges with and without
        physical pages to merge, and we allow double-committing and
        double-decommitting, we can't rely on commit actions to track memory
        footprint.

        * bmalloc/Heap.cpp:
        (bmalloc::Heap::size): Deleted.
        (bmalloc::Heap::capacity): Deleted.
        * bmalloc/Heap.h:
        * bmalloc/VMHeap.cpp:
        (bmalloc::VMHeap::VMHeap):
        (bmalloc::VMHeap::allocateSmallChunk):
        (bmalloc::VMHeap::allocateMediumChunk):
        (bmalloc::VMHeap::allocateLargeChunk):
        * bmalloc/VMHeap.h:
        (bmalloc::VMHeap::allocateSmallPage):
        (bmalloc::VMHeap::allocateMediumPage):
        (bmalloc::VMHeap::allocateLargeRange):
        (bmalloc::VMHeap::deallocateSmallPage):
        (bmalloc::VMHeap::deallocateMediumPage):
        (bmalloc::VMHeap::deallocateLargeRange):
        (bmalloc::VMHeap::size): Deleted.
        (bmalloc::VMHeap::capacity): Deleted.
        * bmalloc/bmalloc.h:
        (bmalloc::api::heapSize): Deleted.
        (bmalloc::api::heapCapacity): Deleted.

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

5 years agoAdd support for is<HTML*Element>() for type checking
cdumez@apple.com [Wed, 24 Sep 2014 03:31:50 +0000 (03:31 +0000)]
Add support for is<HTML*Element>() for type checking
https://bugs.webkit.org/show_bug.cgi?id=137015

Reviewed by Benjamin Poulain.

Add support for is<HTML*Element>() for type checking while keeping
support for the legacy toHTML*Element() form until the code base is
ported.

toHTML*Element() helpers are now macros to the new is<HTML*Element>()
type checking helpers.

No new tests, no behavior change.

* dom/Document.cpp:
(WebCore::Document::setTitle):
* dom/Element.cpp:
(WebCore::Element::childShouldCreateRenderer):
* dom/Element.h:
(WebCore::is):
(WebCore::downcast):
(WebCore::isElementOfType): Deleted.
* dom/ElementAncestorIterator.h:
(WebCore::lineageOfType):
* dom/ElementIterator.h:
(WebCore::findElementAncestorOfType):
* dom/ElementTraversal.h:
(WebCore::Traversal<ElementType>::firstChildTemplate):
(WebCore::Traversal<ElementType>::lastChildTemplate):
(WebCore::Traversal<ElementType>::firstWithinTemplate):
(WebCore::Traversal<ElementType>::lastWithinTemplate):
(WebCore::Traversal<ElementType>::nextTemplate):
(WebCore::Traversal<ElementType>::previous):
(WebCore::Traversal<ElementType>::nextSibling):
(WebCore::Traversal<ElementType>::previousSibling):
(WebCore::Traversal<ElementType>::nextSkippingChildren):
* dom/TypedElementDescendantIterator.h:
(WebCore::TypedElementDescendantIteratorAdapter<ElementType>::from):
(WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::from):
* dom/make_names.pl:
(printTypeHelpers):

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

5 years agoThe style resolution cache applies properties incorrectly whenever direction != ltr
benjamin@webkit.org [Wed, 24 Sep 2014 03:17:44 +0000 (03:17 +0000)]
The style resolution cache applies properties incorrectly whenever direction != ltr
https://bugs.webkit.org/show_bug.cgi?id=137052

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-23
Reviewed by Andreas Kling.

Source/WebCore:

The optimization r135021 introduced a bug whenever the direction of subtree is not
uniform in the whole page.

When StyleResolver::applyMatchedProperties() resolves the style, some properties are
resolved differently based on the writing-mode and the direction.

In isCacheableInMatchedPropertiesCache(), the cases for writing-mode are already handled
by not caching any style with anything else than the default.
The direction was ignored, causing the bugs solved here.

Tests: css3/flexbox/flex-flow-2.html
       fast/css/style-resolver-cache-direction-1.html
       fast/css/style-resolver-cache-direction-2.html
       fast/css/style-resolver-cache-direction-3.html

* css/StyleResolver.cpp:
(WebCore::isCacheableInMatchedPropertiesCache):

LayoutTests:

* css3/flexbox/flex-flow-2-expected.txt: Added.
* css3/flexbox/flex-flow-2.html: Added.
The test flex-flow.html should have uncovered the bug. It did not because it uses
:nth-child(), which disable style optimizations.

flex-flow-2.html is a copy of flex-flow.html using classes instead of :nth-child().
This would have caught the bug.

* fast/css/style-resolver-cache-direction-1-expected.html: Added.
* fast/css/style-resolver-cache-direction-1.html: Added.
* fast/css/style-resolver-cache-direction-2-expected.html: Added.
* fast/css/style-resolver-cache-direction-2.html: Added.
* fast/css/style-resolver-cache-direction-3-expected.html: Added.
* fast/css/style-resolver-cache-direction-3.html: Added.
New basic tests for the fix.

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

5 years agoHave CSS classes' methods return more references
cdumez@apple.com [Wed, 24 Sep 2014 01:45:40 +0000 (01:45 +0000)]
Have CSS classes' methods return more references
https://bugs.webkit.org/show_bug.cgi?id=137036

Reviewed by Ryosuke Niwa.

Have CSS classes' methods return more references instead of pointers
when possible.

No new tests, no behavior change.

* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::style):
* css/CSSFontFaceRule.h:
* css/CSSGroupingRule.cpp:
(WebCore::CSSGroupingRule::cssRules):
* css/CSSGroupingRule.h:
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::media):
* css/CSSImportRule.h:
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::style):
* css/CSSPageRule.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::style):
* css/CSSStyleRule.h:
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::style):
* css/WebKitCSSKeyframeRule.h:
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::cssRules):
* css/WebKitCSSKeyframesRule.h:
* css/WebKitCSSViewportRule.cpp:
(WebCore::WebKitCSSViewportRule::style):
* css/WebKitCSSViewportRule.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyleSheet::setRuleSelector):
(WebCore::InspectorStyleSheet::deleteRule):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::styleForId):
(WebCore::InspectorStyleSheet::ruleIndexByStyle):
(WebCore::InspectorStyleSheet::ruleId):
(WebCore::InspectorStyleSheet::revalidateStyle):

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

5 years ago[Windows] Enable CSS Supports Rule on Windows.
roger_fong@apple.com [Wed, 24 Sep 2014 00:52:37 +0000 (00:52 +0000)]
[Windows] Enable CSS Supports Rule on Windows.

* win/tools/vsprops/FeatureDefines.props:
* css/CSSAllInOne.cpp:

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

5 years ago[Windows] More debugging for the Windows bots.
roger_fong@apple.com [Wed, 24 Sep 2014 00:46:22 +0000 (00:46 +0000)]
[Windows] More debugging for the Windows bots.
* Scripts/webkitpy/common/system/path.py:
(_CygPath):

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

5 years agoUnreviewed. Fix for r173899, those tabs should be spaces.
roger_fong@apple.com [Wed, 24 Sep 2014 00:16:25 +0000 (00:16 +0000)]
Unreviewed. Fix for r173899, those tabs should be spaces.
* Scripts/webkitpy/port/driver.py:
(Driver._command_from_driver_input):
(Driver): Deleted.

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

5 years ago[Windows] More windows test gardening of some fast/dom tests.
roger_fong@apple.com [Wed, 24 Sep 2014 00:08:40 +0000 (00:08 +0000)]
[Windows] More windows test gardening of some fast/dom tests.
* platform/win/TestExpectations:
* platform/win/fast/dom/NavigatorContentUtils: Added.
* platform/win/fast/dom/NavigatorContentUtils/is-protocol-handler-registered-expected.txt: Added.
* platform/win/fast/dom/navigator-detached-no-crash-expected.txt: Added.

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

5 years ago[Win] 64-bit Build fix after r173882.
bfulgham@apple.com [Tue, 23 Sep 2014 23:58:09 +0000 (23:58 +0000)]
[Win] 64-bit Build fix after r173882.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add correct 64-bit mangled symbol name.

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

5 years ago[Windows] Add some logging to debug a problem with the Windows bots that causes layou...
roger_fong@apple.com [Tue, 23 Sep 2014 23:34:49 +0000 (23:34 +0000)]
[Windows] Add some logging to debug a problem with the Windows bots that causes layout tests to exit early.
* Scripts/webkitpy/port/driver.py:
(Driver):

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

5 years agoDebuggerCallFrame::invalidate() should invalidate all DebuggerScope chains.
mark.lam@apple.com [Tue, 23 Sep 2014 22:29:35 +0000 (22:29 +0000)]
DebuggerCallFrame::invalidate() should invalidate all DebuggerScope chains.
<https://webkit.org/b/137045>

Reviewed by Geoffrey Garen.

DebuggerCallFrame::invalidate() currently invalidates all DebuggerCallFrames
in the debugger stack, but only invalidates the DebuggerScope chain of the
top most frame.  We should also invalidate all the DebuggerScope chains of
the other frames in the debugger stack.

* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::invalidate):
* debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::invalidateChain):

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

5 years agoUnreviewed build fix after r173893.
cdumez@apple.com [Tue, 23 Sep 2014 22:27:38 +0000 (22:27 +0000)]
Unreviewed build fix after r173893.

Partial revert of r173893 to fix debug builds.

Source/WebCore:

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::text):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::isPlaceholderShown):
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
* dom/Element.cpp:
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::updateName):
(WebCore::Element::updateId):
* editing/Editor.cpp:
(WebCore::Editor::selectionForCommand):
(WebCore::findFirstMarkable):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectAll):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::matchesReadWritePseudoClass):
(WebCore::HTMLElement::directionality):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateDocNamedItem):
* html/HTMLPlugInImageElement.cpp:
(WebCore::addPlugInsFromNodeListMatchingPlugInOrigin):
* html/HTMLTextFormControlElement.cpp:
(WebCore::enclosingTextFormControl):
* page/FrameView.cpp:
(WebCore::FrameView::addEmbeddedObjectToUpdate):
(WebCore::FrameView::updateEmbeddedObject):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absolutePDFURL):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintContents):
(WebCore::RenderEmbeddedObject::layout):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::plugInImageElement):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::textFormControlElement):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
* testing/Internals.cpp:
(WebCore::Internals::visiblePlaceholder):

Source/WebKit/win:

* DOMHTMLClasses.cpp:
(DOMHTMLDocument::URL):
(DOMHTMLDocument::body):
(DOMHTMLDocument::forms):

Source/WebKit2:

* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::value):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::initializePlugin):
(WebKit::PluginView::pluginSnapshotTimerFired):
(WebKit::PluginView::pluginDidReceiveUserInteraction):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):

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

5 years agoImplement snapping behavior for Mac overflow scrolling
bfulgham@apple.com [Tue, 23 Sep 2014 22:16:25 +0000 (22:16 +0000)]
Implement snapping behavior for Mac overflow scrolling
https://bugs.webkit.org/show_bug.cgi?id=135774

Patch by Wenson Hsieh <wenson_hsieh@apple.com> on 2014-09-22
Reviewed by Beth Dakin.

Hooks into AxisScrollSnapAnimator to implement overflow scroll snapping on Mac.

We need to find a way to test this!

* dom/Element.cpp:
(WebCore::Element::dispatchWheelEvent):
* page/EventHandler.cpp:
(WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis):
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::handleWheelEvent):
(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):
(WebCore::ScrollAnimator::scrollOffsetInAxis):
(WebCore::ScrollAnimator::immediateScrollInAxis):
(WebCore::ScrollAnimator::startScrollSnapTimer):
(WebCore::ScrollAnimator::stopScrollSnapTimer):
(WebCore::ScrollAnimator::horizontalScrollSnapTimerFired):
(WebCore::ScrollAnimator::verticalScrollSnapTimerFired):
* platform/ScrollAnimator.h:
* platform/mac/AxisScrollSnapAnimator.h:
* platform/mac/AxisScrollSnapAnimator.mm:
(WebCore::AxisScrollSnapAnimator::AxisScrollSnapAnimator):
(WebCore::AxisScrollSnapAnimator::beginScrollSnapAnimation):
(WebCore::AxisScrollSnapAnimator::endScrollSnapAnimation):
(WebCore::AxisScrollSnapAnimator::initializeGlideParameters):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollInfoAfterLayout):

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

5 years agoUse downcast<HTML*Element>() instead of toHTML*Element()
cdumez@apple.com [Tue, 23 Sep 2014 22:03:15 +0000 (22:03 +0000)]
Use downcast<HTML*Element>() instead of toHTML*Element()
https://bugs.webkit.org/show_bug.cgi?id=137007

Reviewed by Benjamin Poulain.

Source/WebCore:

Use downcast<HTML*Element>() instead of toHTML*Element() and drop
transition macros for toHTML*Element().

This patch also cleans up the surrounding code.

No new tests, no behavior change.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::AXObjectCache::labelChanged):
* accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute):
(WebCore::AccessibilityListBox::addChildren):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isSelected):
(WebCore::AccessibilityListBoxOption::stringValue):
(WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
* accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaTimeline::valueDescription):
* accessibility/AccessibilityMenuListOption.cpp:
(WebCore::AccessibilityMenuListOption::isEnabled):
(WebCore::AccessibilityMenuListOption::isSelected):
(WebCore::AccessibilityMenuListOption::setSelected):
(WebCore::AccessibilityMenuListOption::stringValue):
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::addChildren):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::isNativeTextControl):
(WebCore::AccessibilityNodeObject::isNativeImage):
(WebCore::AccessibilityNodeObject::isInputImage):
(WebCore::AccessibilityNodeObject::isMultiSelectable):
(WebCore::AccessibilityNodeObject::isReadOnly):
(WebCore::AccessibilityNodeObject::valueForRange):
(WebCore::AccessibilityNodeObject::maxValueForRange):
(WebCore::AccessibilityNodeObject::minValueForRange):
(WebCore::isNodeActionElement):
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):
(WebCore::AccessibilityNodeObject::text):
(WebCore::AccessibilityNodeObject::stringValue):
(WebCore::AccessibilityNodeObject::colorValue):
(WebCore::accessibleNameForNode):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isFileUploadButton):
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::labelElementContainer):
(WebCore::AccessibilityRenderObject::internalLinkElement):
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::url):
(WebCore::AccessibilityRenderObject::setValue):
(WebCore::AccessibilityRenderObject::getDocumentLinks):
(WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
(WebCore::AccessibilityRenderObject::accessibilityHitTest):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::addTextFieldChildren):
(WebCore::AccessibilityRenderObject::stringValueForMSAA):
(WebCore::AccessibilityRenderObject::isLinked):
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::inputElement):
(WebCore::AccessibilitySliderThumb::elementRect):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::title):
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::notifyChildrenSelectionChange):
* accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
(optionFromSelection):
(webkitAccessibleSelectionGetSelectionCount):
* accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
(webkitAccessibleTableGetCaption):
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetDescription):
* accessibility/ios/AccessibilityObjectIOS.mm:
(WebCore::AccessibilityObject::accessibilityPasswordFieldLength):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSNodeCustom.cpp:
(WebCore::isReachableFromDOM):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/SelectorCheckerTestFunctions.h:
(WebCore::isChecked):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* css/StyleSheetList.cpp:
(WebCore::StyleSheetList::getNamedItem):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::isPlaceholderShown):
* dom/CurrentScriptIncrementer.h:
(WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
* dom/DataTransfer.cpp:
(WebCore::DataTransfer::setDragImage):
* dom/Document.cpp:
(WebCore::Document::setTitle):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::iconURLs):
* dom/DocumentOrderedMap.cpp:
(WebCore::keyMatchesMapName):
(WebCore::keyMatchesLowercasedMapName):
(WebCore::keyMatchesLowercasedUsemap):
(WebCore::DocumentOrderedMap::getElementByMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
(WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/Element.cpp:
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::updateName):
(WebCore::Element::updateId):
(WebCore::Element::updateLabel):
(WebCore::Element::ensureCachedHTMLCollection):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
* dom/ScriptElement.cpp:
(WebCore::toScriptElementIfPossible):
* dom/VisitedLinkState.cpp:
(WebCore::linkHashForElement):
(WebCore::VisitedLinkState::determineLinkStateSlowCase):
* dom/make_names.pl:
(printTypeHelpers):
* editing/Editor.cpp:
(WebCore::Editor::selectionForCommand):
(WebCore::imageElementFromImageDocument):
(WebCore::findFirstMarkable):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectAll):
(WebCore::scanForForm):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::nonBoundaryShadowTreeRootNode):
(WebCore::VisibleSelection::isInPasswordField):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_processElement):
* editing/ios/EditorIOS.mm:
(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
* editing/markup.cpp:
(WebCore::isPlainTextMarkup):
* html/ColorInputType.cpp:
(WebCore::ColorInputType::suggestions):
* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::findAssociatedForm):
* html/HTMLAnchorElement.cpp:
(WebCore::appendServerMapMousePosition):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::imageElement):
* html/HTMLCollection.cpp:
(WebCore::isMatchingElement):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::matchesReadWritePseudoClass):
(WebCore::HTMLElement::setInnerHTML):
(WebCore::HTMLElement::directionality):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor):
(WebCore::shouldAutofocus):
* html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::formControlElements):
(WebCore::HTMLFormControlsCollection::formImageElements):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::getTextFieldValues):
(WebCore::HTMLFormElement::assertItemCanBeInPastNamesMap):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::notifyFinished):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::dataList):
(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::shadowSelect):
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::virtualForm):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLNameCollection.cpp:
(WebCore::DocumentNameCollection::elementMatchesIfIdAttributeMatch):
(WebCore::DocumentNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::DocumentNameCollection::elementMatches):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateDocNamedItem):
(WebCore::HTMLObjectElement::containsJavaApplet):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::recalcSelectOptions):
(WebCore::HTMLOptGroupElement::ownerSelectElement):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::ownerDataListElement):
(WebCore::HTMLOptionElement::ownerSelectElement):
* html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::add):
* html/HTMLOptionsCollection.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::addPlugInsFromNodeListMatchingPlugInOrigin):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::hasPlaceholderLabelOption):
(WebCore::HTMLSelectElement::value):
(WebCore::HTMLSelectElement::setValue):
(WebCore::HTMLSelectElement::saveLastSelection):
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::recalcListItems):
(WebCore::HTMLSelectElement::selectedIndex):
(WebCore::HTMLSelectElement::selectOption):
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
(WebCore::HTMLSelectElement::saveFormControlState):
(WebCore::HTMLSelectElement::searchOptionsForValue):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::appendFormData):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::updateSelectedState):
(WebCore::HTMLSelectElement::lastSelectedListIndex):
(WebCore::HTMLSelectElement::optionAtIndex):
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::detailsElement):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::caption):
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::findParentTable):
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::rowIndex):
* html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::rowAfter):
(WebCore::HTMLTableRowsCollection::lastRow):
(WebCore::HTMLTableRowsCollection::customElementAfter):
* html/HTMLTableRowsCollection.h:
* html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::cloneNode):
* html/HTMLTextFormControlElement.cpp:
(WebCore::enclosingTextFormControl):
* html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::elementMatches):
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::descendentVideoElement):
(WebCore::ancestorVideoElement):
(WebCore::MediaDocument::replaceMediaElementTimerFired):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::isKeyboardFocusable):
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::updateTickMarkValues):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::insert):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
* html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::rendererIsNeeded):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
* html/shadow/MeterShadowElement.cpp:
(WebCore::MeterShadowElement::meterElement):
* html/shadow/ProgressShadowElement.cpp:
(WebCore::ProgressShadowElement::progressElement):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::handleFallbackContent):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestObject):
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip):
* page/DragController.cpp:
(WebCore::DragController::draggableElement):
* page/EventHandler.cpp:
(WebCore::isSubmitImage):
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocusDirectionally):
* page/FrameView.cpp:
(WebCore::FrameView::addEmbeddedObjectToUpdate):
(WebCore::FrameView::updateEmbeddedObject):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
* page/SpatialNavigation.cpp:
(WebCore::FocusCandidate::FocusCandidate):
* page/ios/FrameIOS.mm:
(WebCore::ancestorRespondingToClickEvents):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::altDisplayString):
(WebCore::HitTestResult::absolutePDFURL):
(WebCore::HitTestResult::enterFullscreenForVideo):
(WebCore::HitTestResult::mediaControlsEnabled):
(WebCore::HitTestResult::isLiveLink):
(WebCore::HitTestResult::isContentEditable):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::updateFromElement):
* rendering/RenderCounter.cpp:
(WebCore::planCounter):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintContents):
(WebCore::RenderEmbeddedObject::layout):
* rendering/RenderFieldset.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::inputElement):
(WebCore::RenderFileUploadControl::uploadButton):
* rendering/RenderFrame.cpp:
(WebCore::RenderFrame::frameElement):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::frameSetElement):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::canvasElement):
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::iframeElement):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::paintAreaElementFocusRing):
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::imageMap):
(WebCore::RenderImage::updateAltText):
* rendering/RenderLayerBacking.cpp:
(WebCore::canvasCompositingStrategy):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateConfiguration):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::selectElement):
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::updateListMarkerNumbers):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::marqueeSpeed):
* rendering/RenderMenuList.cpp:
(WebCore::selectedOptionCount):
(RenderMenuList::selectElement):
(RenderMenuList::updateOptionsWidth):
(RenderMenuList::setTextFromOption):
(RenderMenuList::itemText):
(RenderMenuList::itemIsSelected):
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::meterElement):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::progressElement):
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::element):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::plugInImageElement):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::textFormControlElement):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::textAreaElement):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::inputElement):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSliderTicks):
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::videoElement):
* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::imageForRenderer):
* svg/svgtags.in:
Generate helpers to SVGAElement so that isSVGAElement() can be used
instead of hasTagName(SVGNames::aTag). I did such update in this
patch.

* testing/Internals.cpp:
(WebCore::Internals::visiblePlaceholder):
(WebCore::Internals::wasLastChangeUserEdit):
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
(WebCore::Internals::isSelectPopupVisible):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):

Source/WebKit/ios:

Use downcast<HTML*Element>() instead of toHTML*Element().

* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::focusedElementChanged):

Source/WebKit/mac:

Use downcast<HTML*Element>() instead of toHTML*Element().

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

Source/WebKit/win:

Use downcast<HTML*Element>() instead of toHTML*Element().

* DOMHTMLClasses.cpp:
(DOMHTMLDocument::URL):
(DOMHTMLDocument::body):
(DOMHTMLDocument::forms):
(DOMHTMLFormElement::action):
(DOMHTMLFormElement::method):
(DOMHTMLSelectElement::options):
(DOMHTMLSelectElement::activateItemAtIndex):
(DOMHTMLOptionElement::text):
(DOMHTMLOptionElement::label):
(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::replaceCharactersInRange):
(DOMHTMLInputElement::selectedRange):
(DOMHTMLInputElement::setAutofilled):
(DOMHTMLInputElement::isAutofilled):
(DOMHTMLInputElement::isUserEdited):
(DOMHTMLTextAreaElement::form):
(DOMHTMLTextAreaElement::value):
(DOMHTMLTextAreaElement::setValue):
(DOMHTMLTextAreaElement::select):
(DOMHTMLTextAreaElement::isUserEdited):
(DOMHTMLIFrameElement::contentFrame):
* WebFrame.cpp:
(formElementFromDOMElement):
(inputElementFromDOMElement):

Source/WebKit2:

Use downcast<HTML*Element>() instead of toHTML*Element().

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
(WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::isTextField):
(WebKit::InjectedBundleNodeHandle::htmlTableCellElementCellAbove):
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
(WebKit::PDFPluginChoiceAnnotation::commit):
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::createAnnotationElement):
(WebKit::PDFPluginTextAnnotation::value):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::initializePlugin):
(WebKit::PluginView::pluginSnapshotTimerFired):
(WebKit::PluginView::pluginDidReceiveUserInteraction):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::focusedElementChanged):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::textDidChangeInTextArea):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setAssistedNodeValue):
(WebKit::WebPage::setAssistedNodeValueAsNumber):
(WebKit::WebPage::setAssistedNodeSelectedIndex):
(WebKit::isAssistableNode): Deleted.
(WebKit::WebPage::getAssistedNodeInformation): Deleted.

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

5 years agoRenamed DebuggerCallFrameScope to DebuggerPausedScope.
mark.lam@apple.com [Tue, 23 Sep 2014 21:24:01 +0000 (21:24 +0000)]
Renamed DebuggerCallFrameScope to DebuggerPausedScope.
<https://webkit.org/b/137042>

Reviewed by Michael Saboff.

DebuggerPausedScope is a better name for this data structure because it
is meant for tracking the period within which the debugger is paused,
and doing clean ups after the pause ends.

* debugger/Debugger.cpp:
(JSC::DebuggerPausedScope::DebuggerPausedScope):
(JSC::DebuggerPausedScope::~DebuggerPausedScope):
(JSC::Debugger::pauseIfNeeded):
(JSC::DebuggerCallFrameScope::DebuggerCallFrameScope): Deleted.
(JSC::DebuggerCallFrameScope::~DebuggerCallFrameScope): Deleted.
* debugger/Debugger.h:
* debugger/DebuggerCallFrame.h:

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

5 years agoHave DataTransfer::files() return a reference
cdumez@apple.com [Tue, 23 Sep 2014 21:21:17 +0000 (21:21 +0000)]
Have DataTransfer::files() return a reference
https://bugs.webkit.org/show_bug.cgi?id=137039

Reviewed by Ryosuke Niwa.

Have DataTransfer::files() return a reference instead of a pointer as
it can never return null.

No new tests, no behavior change.

* dom/DataTransfer.cpp:
(WebCore::DataTransfer::files):
* dom/DataTransfer.h:

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

5 years agoHave NamedNodeMap::element() and DOMStringMap::element() return a reference
cdumez@apple.com [Tue, 23 Sep 2014 21:17:28 +0000 (21:17 +0000)]
Have NamedNodeMap::element() and DOMStringMap::element() return a reference
https://bugs.webkit.org/show_bug.cgi?id=137040

Reviewed by Ryosuke Niwa.

Have NamedNodeMap::element() and DOMStringMap::element() return a
reference instead of a pointer as they can never return null.

No new tests, no behavior change.

* dom/DatasetDOMStringMap.h:
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::element):

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

5 years agoWeb Inspector: Remove UserInterface/Images/gtk from Apple builds
timothy@apple.com [Tue, 23 Sep 2014 21:08:36 +0000 (21:08 +0000)]
Web Inspector: Remove UserInterface/Images/gtk from Apple builds
https://bugs.webkit.org/show_bug.cgi?id=136955

Reviewed by Joseph Pecoraro.

* Scripts/copy-user-interface-resources.pl:
Remove Images/Legacy and Images/gtk on Mac and Windows builds by looking
at the MAC_OS_X_VERSION_MAJOR and OFFICIAL_BUILD environment vars.

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

5 years agoREGRESSION (r171197): Clip's content is drawn behind Safari window when entering...
jer.noble@apple.com [Tue, 23 Sep 2014 21:04:53 +0000 (21:04 +0000)]
REGRESSION (r171197): Clip's content is drawn behind Safari window when entering Full Screen youtube html5 first time
https://bugs.webkit.org/show_bug.cgi?id=137029

Reviewed by Brent Fulgham.

In r171197, we ordered the full screen window on- and off-screen so that the fullscreen animation went to the
correct screen, which introduced a subtle glitch at the beginning and end of an animation. For entering, ensure
that the window is scaled to its starting size before ordering on-screen. For exiting, order the window off-
screen before resetting its clipping rect.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):

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

5 years ago[Tools] git-commit uses wrong ChangeLog when run from a subdirectory
jer.noble@apple.com [Tue, 23 Sep 2014 20:54:14 +0000 (20:54 +0000)]
[Tools] git-commit uses wrong ChangeLog when run from a subdirectory
https://bugs.webkit.org/show_bug.cgi?id=137031

Reviewed by Joseph Pecoraro.

commit-log-editor is run from the top of the Git checkout, even when git-commit is invoked
from a subdirectory, making the parsed locations of ChangeLog files incorrect. Git provides
a mapping prefix in the GIT_PREFIX environment variable, so apply this prefix to the parsed
ChangeLog locations before passing them to createCommitMessage().

* Scripts/commit-log-editor:

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

5 years ago[CLoop] - Fix CLoop on the 32-bit Big-Endians
commit-queue@webkit.org [Tue, 23 Sep 2014 20:21:51 +0000 (20:21 +0000)]
[CLoop] - Fix CLoop on the 32-bit Big-Endians
https://bugs.webkit.org/show_bug.cgi?id=137020

Patch by Tomas Popela <tpopela@redhat.com> on 2014-09-23
Reviewed by Mark Lam.

* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:

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

5 years agoHave DOMImplementation::document() and Element::attributes() return references
cdumez@apple.com [Tue, 23 Sep 2014 19:53:08 +0000 (19:53 +0000)]
Have DOMImplementation::document() and Element::attributes() return references
https://bugs.webkit.org/show_bug.cgi?id=137035

Reviewed by Andreas Kling.

Have DOMImplementation::document() and Element::attributes() return
references instead of pointers as they can never return null.

No new tests, no behavior change.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
Update the JS Bindings code generator to use WTF::getPtr() in a couple
more places so that the implementation can return references instead
of pointers even when [GenerateIsReachable=xxx] IDL extended attribute
is used.

* dom/DOMImplementation.h:
(WebCore::DOMImplementation::document):
* dom/Element.cpp:
(WebCore::Element::attributes):
* dom/Element.h:
(WebCore::Node::attributes):

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

5 years agoHave Document::ensureTemplateDocument() return a reference
cdumez@apple.com [Tue, 23 Sep 2014 19:30:18 +0000 (19:30 +0000)]
Have Document::ensureTemplateDocument() return a reference
https://bugs.webkit.org/show_bug.cgi?id=137033

Reviewed by Ryosuke Niwa.

Have Document::ensureTemplateDocument() return a reference instead of
a pointer as it can never return null.

No new tests, no behavior change.

* dom/Document.cpp:
(WebCore::Document::ensureTemplateDocument):
* dom/Document.h:
* editing/markup.cpp:
(WebCore::createFragmentForInnerOuterHTML):
* html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::content):
(WebCore::HTMLTemplateElement::didMoveToNewDocument):

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

5 years agoHave Document::accessSVGExtensions() return a reference
cdumez@apple.com [Tue, 23 Sep 2014 18:44:41 +0000 (18:44 +0000)]
Have Document::accessSVGExtensions() return a reference
https://bugs.webkit.org/show_bug.cgi?id=137030

Reviewed by Ryosuke Niwa.

Have Document::accessSVGExtensions() return a reference instead of a
pointer as it can never return null.

No new tests, no behavior change.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild):
(WebCore::ContainerNode::removeChildren):
* dom/Document.cpp:
(WebCore::Document::commonTeardown):
(WebCore::Document::implicitClose):
(WebCore::Document::accessSVGExtensions):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::~Element):
(WebCore::Element::removedFrom):
* editing/markup.cpp:
(WebCore::isPlainTextMarkup):
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::buildReferenceFilter):
* rendering/svg/RenderSVGResource.cpp:
(WebCore::removeFromCacheAndInvalidateDependencies):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::svgExtensionsFromElement):
* rendering/svg/RenderSVGResourceContainer.h:
(WebCore::getRenderSVGResourceContainerById):
(WebCore::getRenderSVGResourceById):
* rendering/svg/SVGResources.cpp:
(WebCore::registerPendingResource):
(WebCore::SVGResources::buildCachedResources):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::resourcesCacheFromRenderer):
(WebCore::SVGResourcesCache::resourceDestroyed):
* svg/SVGElement.cpp:
(WebCore::SVGElement::~SVGElement):
(WebCore::SVGElement::reportAttributeParsingError):
(WebCore::SVGElement::removedFrom):
(WebCore::SVGElement::viewportElement):
(WebCore::SVGElement::attributeChanged):
(WebCore::SVGElement::buildPendingResourcesIfNeeded):
(WebCore::SVGElement::accessDocumentSVGExtensions): Deleted.
* svg/SVGElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::parseAttribute):
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::parseAttribute):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::clearResourceReferences):
(WebCore::SVGFEImageElement::buildPendingResource):
* svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseViewBox):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::insertedInto):
(WebCore::SVGFontFaceElement::removedFrom):
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::buildPendingResource):
(WebCore::SVGMPathElement::clearResourceReferences):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::parseAttribute):
(WebCore::SVGPathElement::invalidateMPathDependencies):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::parseAttribute):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::~SVGSVGElement):
(WebCore::SVGSVGElement::insertedInto):
(WebCore::SVGSVGElement::removedFrom):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::detachTarget):
(WebCore::SVGTRefElement::buildPendingResource):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::clearResourceReferences):
(WebCore::SVGTextPathElement::buildPendingResource):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::clearResourceReferences):
(WebCore::SVGUseElement::buildPendingResource):
(WebCore::SVGUseElement::toClipPath):
(WebCore::SVGUseElement::buildInstanceTree):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::clearResourceReferences):
(WebCore::SVGSMILElement::buildPendingResource):

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

5 years agoWeb Inspector: Should be able to attach a debugger to a JSContext before anything...
commit-queue@webkit.org [Tue, 23 Sep 2014 18:38:24 +0000 (18:38 +0000)]
Web Inspector: Should be able to attach a debugger to a JSContext before anything is executed
https://bugs.webkit.org/show_bug.cgi?id=136893

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-23
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Adds new remote inspector protocol handling for automatic inspection.
Debuggers can signal they have enabled automatic inspection, and
when debuggables are created the current application will pause to
see if the debugger will inspect or decline to inspect the debuggable.

* inspector/remote/RemoteInspectorConstants.h:
* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspector.mm:
(Inspector::globalAutomaticInspectionState):
(Inspector::RemoteInspector::RemoteInspector):
(Inspector::RemoteInspector::start):
When first starting, check the global "is there an auto-inspect" debugger state.
This is necessary so that the current application knows if it should pause or
not when a debuggable is created, even without having connected to webinspectord yet.

(Inspector::RemoteInspector::updateDebuggableAutomaticInspectCandidate):
When a debuggable has enabled remote inspection, take this path to propose
it as an automatic inspection candidate if there is an auto-inspect debugger.

(Inspector::RemoteInspector::sendAutomaticInspectionCandidateMessage):
Send the automatic inspection candidate message.

(Inspector::RemoteInspector::receivedSetupMessage):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::setupSucceeded):
After attempting to open an inspector, unpause if it was for the
automatic inspection candidate.

(Inspector::RemoteInspector::waitingForAutomaticInspection):
When running a nested runloop, check if we should remain paused.

(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
If by the time we connect to webinspectord we have a candidate, then
immediately send the candidate message.

(Inspector::RemoteInspector::stopInternal):
(Inspector::RemoteInspector::xpcConnectionFailed):
In error cases, clear our state.

(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::receivedAutomaticInspectionConfigurationMessage):
(Inspector::RemoteInspector::receivedAutomaticInspectionRejectMessage):
Update state when receiving new messages.

* inspector/remote/RemoteInspectorDebuggable.h:
* inspector/remote/RemoteInspectorDebuggable.cpp:
(Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
Special case when a debuggable is newly allowed to be debuggable.

(Inspector::RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection):
Run a nested run loop while this is an automatic inspection candidate.

* inspector/JSGlobalObjectInspectorController.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
When the inspector starts via automatic inspection automatically pause.
We plan on removing this condition by having the frontend signal to the
backend when it is completely initialized.

* inspector/remote/RemoteInspectorDebuggableConnection.h:
* inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorDebuggableConnection::setup):
Pass on the flag of whether or not this was automatic inspection.

* runtime/JSGlobalObjectDebuggable.h:
* runtime/JSGlobalObjectDebuggable.cpp:
(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::pauseWaitingForAutomaticInspection):
When pausing in a JSGlobalObject we need to release the API lock.

Source/WebCore:

Automatic inspection is currently disabled for web pages.
This just updates the interfaces that changed.

* WebCore.exp.in:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::show):
* inspector/InspectorController.h:
* page/PageDebuggable.cpp:
(WebCore::PageDebuggable::connect):
* page/PageDebuggable.h:
* testing/Internals.cpp:
(WebCore::Internals::openDummyInspectorFrontend):

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit2:

* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::remoteFrontendConnected):

Source/WTF:

Currently automatic inspection only happens in processes that have a
debugger attached. That condition may change in the future, but this
function can stand on its own in WTF. It may be useful in the future
to perhaps continue though ASSERTs if you have a debugger attached.

* wtf/Assertions.cpp:
* wtf/Assertions.h:

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

5 years agobmalloc: Allocation should be more precise
ggaren@apple.com [Tue, 23 Sep 2014 18:24:02 +0000 (18:24 +0000)]
bmalloc: Allocation should be more precise
https://bugs.webkit.org/show_bug.cgi?id=136993

Reviewed by Gavin Barraclough.

13% reduction in heap size on the MallocBench *_memory_warning benchmarks.

This patch teaches the allocator to merge adjacent free lines into a
single allocatable range. This allows us to shrink the size of an
individual line without increasing fragmentation or the rate of allocator
slow paths.

We'll only take more slow paths when available memory is sparse, which
is exactly when it's worth it. When available memory is dense, we'll
take fewer slow paths.

* bmalloc.xcodeproj/project.pbxproj:
* bmalloc/Algorithm.h:
(bmalloc::divideRoundingUp):

* bmalloc/Allocator.cpp:
(bmalloc::Allocator::Allocator): Updated for interface changes.

(bmalloc::Allocator::scavenge): Scavenge by object instead of by line.
Now that we merge lines, it's not convenient to scavenge by line.

(bmalloc::Allocator::allocateSmallBumpRange):
(bmalloc::Allocator::allocateMediumBumpRange): Allocate whole ranges
instead of individual lines.

(bmalloc::Allocator::allocateSlowCase):
(bmalloc::Allocator::allocateSmallLine): Deleted.
(bmalloc::Allocator::allocateMediumLine): Deleted.
(bmalloc::Allocator::allocateMedium): Deleted.
* bmalloc/Allocator.h:
(bmalloc::Allocator::allocateFastCase): Folded medium allocations
into the standard fast path with small allocations. Since a BumpAllocator
just allocates out of an arbitrary range, it doesn't need to distinguish
between small and medium lines.

* bmalloc/BumpAllocator.h:
(bmalloc::BumpAllocator::size):
(bmalloc::BumpAllocator::BumpAllocator):
(bmalloc::BumpAllocator::init):
(bmalloc::BumpAllocator::refill):
(bmalloc::BumpAllocator::line): Deleted. No need to track line information
anymore: the heap just gives us a pointer and a pre-computed number of
objects, and we allocate them.

* bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::processObjectLog): Updated for interface changes.

* bmalloc/Heap.cpp:
(bmalloc::Heap::Heap):
(bmalloc::Heap::initializeLineMetadata): Pre-compute precise metadata
detailing where all objects will lie in memory. After we merge two lines,
we might allocate an object that spans from one line to the next. This
metadata details which bits of memory overlap in that way, and how they
overlap.

(bmalloc::Heap::refillSmallBumpRangeCache):
(bmalloc::Heap::refillMediumBumpRangeCache): Scan a whole page at a time,
and merge adjacent free lines into BumpRanges.

(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateMediumPage):
(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::deallocateMediumLine): Track pages rather than lines,
since we scan for free memory a page at a time.

(bmalloc::Heap::allocateSmallLineSlowCase): Deleted.
(bmalloc::Heap::allocateMediumLineSlowCase): Deleted. Folded into the
fast path.

* bmalloc/Heap.h:
(bmalloc::Heap::derefSmallLine):
(bmalloc::Heap::derefMediumLine):
(bmalloc::Heap::deallocateSmallLine): Deleted.
(bmalloc::Heap::allocateSmallLine): Deleted.
(bmalloc::Heap::deallocateMediumLine): Deleted.
(bmalloc::Heap::allocateMediumLine): Deleted. Updated for interface changes.

* bmalloc/Line.h:
(bmalloc::Line<Traits>::ref):
(bmalloc::Line<Traits>::deref):
(bmalloc::Line<Traits>::concurrentRef): Deleted. We don't pass a derefCount
anymore, since we only ever deref by 1 now.

* bmalloc/MediumAllocator.h:
(bmalloc::MediumAllocator::isNull): Deleted.
(bmalloc::MediumAllocator::MediumAllocator): Deleted.
(bmalloc::MediumAllocator::line): Deleted.
(bmalloc::MediumAllocator::allocate): Deleted.
(bmalloc::MediumAllocator::derefCount): Deleted.
(bmalloc::MediumAllocator::refill): Deleted.
(bmalloc::MediumAllocator::clear): Deleted. Deleted some code that's
been dead for a while, since it doesn't build anymore with this patch.

* bmalloc/Page.h:
(bmalloc::Page::sizeClass):
(bmalloc::Page::setSizeClass):
(bmalloc::Page::smallSizeClass): Deleted.
(bmalloc::Page::setSmallSizeClass): Deleted. Renamed setSmallSizeClass
to sizeClass, since we use it for medium sizes too.

* bmalloc/Sizes.h:
(bmalloc::Sizes::sizeClass):
(bmalloc::Sizes::objectSize): Shrank line sizes to save memory.

(bmalloc::Sizes::smallSizeClassFor): Deleted.
(bmalloc::Sizes::mediumSizeClassFor): Deleted.

* bmalloc/bmalloc.h:
(bmalloc::api::realloc): Now that we have precise objects sizes, realloc
can be a bit more precise. It also has to be, since we can't guarantee
that an object ends at the end of a line anymore.

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

5 years agoW3C test importer should detect manual and reference tests according their filenames
commit-queue@webkit.org [Tue, 23 Sep 2014 18:09:02 +0000 (18:09 +0000)]
W3C test importer should detect manual and reference tests according their filenames
https://bugs.webkit.org/show_bug.cgi?id=133852

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-23
Reviewed by Bem Jones-Bey.

* Scripts/webkitpy/w3c/test_parser.py:
(TestParser.analyze_test): Adding checks based on WPT filename rules.
(TestParser.is_wpt_manualtest): Detecting whether the test is a manual test based on its filename.
(TestParser):
(TestParser.potential_ref_filename): Getting the potential reference filename of a test from its filename.
(TestParser.is_wpt_reftest): Detecting whether the test is a ref test based on its filename.
* Scripts/webkitpy/w3c/test_parser_unittest.py:
(test_analyze_manual_wpt_test): Adding a test for a "-manual.html" file with testharness.js link in it.

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

5 years agoUnreviewed, add Rebecca Hauck as a contributor.
bjonesbe@adobe.com [Tue, 23 Sep 2014 17:32:04 +0000 (17:32 +0000)]
Unreviewed, add Rebecca Hauck as a contributor.

* Scripts/webkitpy/common/config/contributors.json:

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

5 years ago[Win] Correct 64-bit Windows export definitions after r173804.
bfulgham@apple.com [Tue, 23 Sep 2014 17:11:53 +0000 (17:11 +0000)]
[Win] Correct 64-bit Windows export definitions after r173804.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Provide proper
64-bit mangled symbol names.

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

5 years agoSwitch build.webkit.org URLs to https
ddkilzer@apple.com [Tue, 23 Sep 2014 17:11:33 +0000 (17:11 +0000)]
Switch build.webkit.org URLs to https

Reviewed by Lucas Forschler and Alexey Proskuryakov.

* TestResultServer/app.yaml: Update version to this commit
revision.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
* BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/RecentBuildsLoader.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results_unittests.js:
(.):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/templates/root.html:
* Scripts/webkitpy/common/config/urls.py:
* Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
(test_builder_with_name):
* Scripts/webkitpy/tool/commands/queries.py:
(TreeStatus):
* TestResultServer/generate_builders_json.py:
(main):
* TestResultServer/generate_builders_json_unittest.py:
(GenerateBuildersJsonTest.test_generate_json_data.dummy_fetch_json):
(GenerateBuildersJsonTest):
(GenerateBuildersJsonTest.test_generate_json_data):
* TestResultServer/static-dashboards/builders.jsonp:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(loadExpectationsLayoutTests):
* TestResultServer/static-dashboards/timeline_explorer.js:

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

5 years agoW3C test importer should copy .htaccess files
commit-queue@webkit.org [Tue, 23 Sep 2014 17:10:33 +0000 (17:10 +0000)]
W3C test importer should copy .htaccess files
https://bugs.webkit.org/show_bug.cgi?id=136850

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-23
Reviewed by Bem Jones-Bey.

* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.should_skip_file): Helper function to check whether to skip file or not. Added ".htaccess" file specific check.
(TestImporter):
(TestImporter.find_importable_tests): Making use of new helper function.

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

5 years agoTrying to revive bot watcher's dashboard after HSTS.
ap@apple.com [Tue, 23 Sep 2014 16:56:49 +0000 (16:56 +0000)]
Trying to revive bot watcher's dashboard after HSTS.

Unreviewed.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): It looks like XMLHttpRequest may not like HSTS redirects, let's try to avoid these.

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

5 years ago[GTK] Adds implementation of subtle crypto HMAC algorithm
commit-queue@webkit.org [Tue, 23 Sep 2014 16:41:45 +0000 (16:41 +0000)]
[GTK] Adds implementation of subtle crypto HMAC algorithm
https://bugs.webkit.org/show_bug.cgi?id=133320

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-09-23
Reviewed by Philippe Normand.

Source/WebCore:

Tests are already in place under crypto/subtle/hmac-*.html

* crypto/gtk/CryptoAlgorithmHMACGtk.cpp:
(WebCore::getGnutlsDigestAlgorithm):
(WebCore::calculateSignature):
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):

LayoutTests:

* platform/gtk/TestExpectations: Whitelists HMAC related tests that are passing

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

5 years agoUnreviewed, rolling out r173864.
gyuyoung.kim@samsung.com [Tue, 23 Sep 2014 16:14:24 +0000 (16:14 +0000)]
Unreviewed, rolling out r173864.

It still make tests failes on EFL bots

Reverted changeset:

"Unreviewed, EFL gardening. Unskip media test on EFL port.
Almost media tests"
http://trac.webkit.org/changeset/173864

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

5 years ago[GTK] Adds implementation of Subtle Crypto digest algorithms
commit-queue@webkit.org [Tue, 23 Sep 2014 15:17:52 +0000 (15:17 +0000)]
[GTK] Adds implementation of Subtle Crypto digest algorithms
https://bugs.webkit.org/show_bug.cgi?id=133319

Source/WebCore:

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-09-23
Reviewed by Philippe Normand.

Tests are already in place under crypto/subtle/sha-*.html

* crypto/gtk/CryptoDigestGtk.cpp:
(WebCore::CryptoDigest::CryptoDigest):
(WebCore::CryptoDigest::~CryptoDigest):
(WebCore::CryptoDigest::create):
(WebCore::CryptoDigest::addBytes):
(WebCore::CryptoDigest::computeHash):

LayoutTests:

Leaves all crypto/subtle tests skipped and whitelist only those related to
digest algorithms (sha-*.html). When enough crypto algorithms are implemented,
we can invert the approach and blacklist only those tests whose algorithms are
not implemented.

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-09-23
Reviewed by Philippe Normand.

* platform/gtk/TestExpectations: Unskip tests for Subtle-Crypto digest algorithms.

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

5 years agoMake Tools/BuildSlaveSupport/wait-for-SVN-server.py handle server donwtime
commit-queue@webkit.org [Tue, 23 Sep 2014 14:47:21 +0000 (14:47 +0000)]
Make Tools/BuildSlaveSupport/wait-for-SVN-server.py handle server donwtime
https://bugs.webkit.org/show_bug.cgi?id=137026

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-23
Reviewed by Csaba Osztrogonác.

* BuildSlaveSupport/wait-for-SVN-server.py:
(getLatestSVNRevision):
(waitForSVNRevision):

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

5 years agoRemove unlinkZeroFiles from build-webkit
commit-queue@webkit.org [Tue, 23 Sep 2014 09:57:53 +0000 (09:57 +0000)]
Remove unlinkZeroFiles from build-webkit
https://bugs.webkit.org/show_bug.cgi?id=137018

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-23
Reviewed by Csaba Osztrogonác.

* Scripts/build-webkit:
(unlinkZeroFiles): Deleted.

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

5 years ago[GTK] Minibrowser : Add keyboard support for stop page load
commit-queue@webkit.org [Tue, 23 Sep 2014 09:26:14 +0000 (09:26 +0000)]
[GTK] Minibrowser : Add keyboard support for stop page load
https://bugs.webkit.org/show_bug.cgi?id=136857

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-09-23
Reviewed by Philippe Normand.

Keyboard support to stop page load in GTK Minibrowser using F6 and Escape keys.

* MiniBrowser/gtk/BrowserWindow.c:
(stopPageLoad): Callback to stop page load.
(browser_window_init):

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

5 years ago[CSS Grid Layout] Do not grow tracks when the growth factor is 0
svillar@igalia.com [Tue, 23 Sep 2014 08:37:10 +0000 (08:37 +0000)]
[CSS Grid Layout] Do not grow tracks when the growth factor is 0
https://bugs.webkit.org/show_bug.cgi?id=136575

Reviewed by Darin Adler.

A couple of performance optimizations for the track sizing
algorithm. On the one hand we avoid the computation of the
available logical space share if the track has no growth potential
(the current breadth is the maximum breadth) and on the other
hand, we avoid calling RenderGrid::distributeSpaceToTracks() if
the available logical space is not greater than 0.

The combined effect of these two changes is an impressive +16%
improvement in auto-grid-lots-of-data.html performance test.

No new tests as there is no change in the functionality.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::distributeSpaceToTracks):

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

5 years ago[CSS Blending] The composited layers isolated by the page group should blend with...
rosca@adobe.com [Tue, 23 Sep 2014 07:47:21 +0000 (07:47 +0000)]
[CSS Blending] The composited layers isolated by the page group should blend with the default white background color.
https://bugs.webkit.org/show_bug.cgi?id=136563

Reviewed by Simon Fraser.

Source/WebCore:

If a blending layer is not isolated, then it should blend with a white backdrop:
http://dev.w3.org/fxtf/compositing-1/#pagebackdrop

Tests: css3/blending/blend-mode-body-composited-child-background-color.html
       css3/blending/blend-mode-body-composited-child.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
If the isolating composited layer is the root renderer, then it should have a backing store
into which the initial white backdrop will be painted.

LayoutTests:

* css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
* css3/blending/blend-mode-body-composited-child-background-color-expected.html: Added.
* css3/blending/blend-mode-body-composited-child-background-color.html: Added.
* css3/blending/blend-mode-body-composited-child-expected.html: Added.
* css3/blending/blend-mode-body-composited-child.html: Added.
* css3/blending/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
* css3/blending/blend-mode-with-composited-descendant-should-have-layer-expected.txt:

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

5 years agoUnreviewed build fix after r173859.
cdumez@apple.com [Tue, 23 Sep 2014 06:00:35 +0000 (06:00 +0000)]
Unreviewed build fix after r173859.

Partial revert to fix debug build after r173859.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::getSVGDocument):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
* page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
* rendering/svg/RenderSVGBlock.h:
(WebCore::RenderSVGBlock::graphicsElement):
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::gradientElement):
* rendering/svg/RenderSVGInline.h:
(WebCore::RenderSVGInline::graphicsElement):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
* rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::graphicsElement):
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* rendering/svg/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateAnimatedValue):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
* svg/SVGElement.cpp:
(WebCore::SVGElement::getBoundingBox):
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::getTransformToElement):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::synchronizePoints):
(WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::synchronizeTextLength):
(WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
(WebCore::SVGTextContentElement::elementFromRenderer):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::toClipPath):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::hasSingleSecurityOrigin):
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize):
(WebCore::SVGImage::embeddedContentBox):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
(WebCore::SVGImage::computeIntrinsicDimensions):
(WebCore::SVGImage::startAnimation):
(WebCore::SVGImage::stopAnimation):

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

5 years agoEnsure that layout is up-to-date before hit-testing via RenderView
simon.fraser@apple.com [Tue, 23 Sep 2014 04:39:35 +0000 (04:39 +0000)]
Ensure that layout is up-to-date before hit-testing via RenderView
https://bugs.webkit.org/show_bug.cgi?id=136651

Reviewed by David Hyatt.

Ensure that layout is up-to-date before we do hit-testing via the RenderView.
Previously, RenderLayer::hitTest() called updateLayout(), but it's better
to push that responsibility onto RenderView before entering the RenderLayer
tree.

Make callers a little more consistent in getting the RenderView via
Frame::contentRenderer(), though perhaps we should remove that and just
call Document::renderView() everywhere.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press): Hit test via the RenderView, rather
than doing so on the RenderView's layer, to ensure that we updateLayout().
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityHitTest): This code calls
hitTest() on arbitrary layers, so needs to explicitly update layout.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::contains):
* page/EventHandler.cpp:
(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::hitTestResultAtPoint): The explicit updateLayout() is
no longer needed.
(WebCore::EventHandler::updateCursor):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::hoverTimerFired):
(WebCore::hitTestResultInFrame):
* page/Frame.cpp:
(WebCore::Frame::contentRenderer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):
* rendering/RenderView.cpp:
(WebCore::RenderView::hitTest): Here's where we ensure that layout is up-to-date.

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

5 years agoUnreviewed, EFL gardening. Unskip media test on EFL port. Almost media tests
gyuyoung.kim@samsung.com [Tue, 23 Sep 2014 04:31:08 +0000 (04:31 +0000)]
Unreviewed, EFL gardening. Unskip media test on EFL port. Almost media tests
are passed except for some tests. Unfortunately what revision fixed this crash on media test.
To maintain media test on EFL port again, this commit unskips those tests.

* platform/efl/TestExpectations:

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

5 years agoUnreviewed, EFL gardening. Unskip batterystatus, which doesn't come to crash anymore.
gyuyoung.kim@samsung.com [Tue, 23 Sep 2014 04:13:53 +0000 (04:13 +0000)]
Unreviewed, EFL gardening. Unskip batterystatus, which doesn't come to crash anymore.

* platform/efl/TestExpectations:

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

5 years ago[Windows] More test expectation gardening.
roger_fong@apple.com [Tue, 23 Sep 2014 03:08:40 +0000 (03:08 +0000)]
[Windows] More test expectation gardening.
* platform/win/TestExpectations: Skip some failing image only failures, unskip some tests reported as now passing.

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

5 years ago[Windows] More test expectation gardening.
roger_fong@apple.com [Tue, 23 Sep 2014 02:25:17 +0000 (02:25 +0000)]
[Windows] More test expectation gardening.
* platform/win/TestExpectations:

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

5 years ago[EFL][WK2] Minibrowser : Add keyboard support for page reload while ignoring cache
commit-queue@webkit.org [Tue, 23 Sep 2014 01:05:55 +0000 (01:05 +0000)]
[EFL][WK2] Minibrowser : Add keyboard support for page reload while ignoring cache
https://bugs.webkit.org/show_bug.cgi?id=136813

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-09-22
Reviewed by Gyuyoung Kim.

Ctrl+r is used for page reload along with F5. Ctrl+Shift+r and Ctrl+F5 is used for page reload while ignoring cache.

* MiniBrowser/efl/main.c:
(on_key_down):

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

5 years agoUse downcast<SVG*Element>() instead of toSVG*Element()
cdumez@apple.com [Tue, 23 Sep 2014 00:55:05 +0000 (00:55 +0000)]
Use downcast<SVG*Element>() instead of toSVG*Element()
https://bugs.webkit.org/show_bug.cgi?id=137004

Reviewed by Benjamin Poulain.

Use downcast<SVG*Element>() instead of toSVG*Element() for casting SVG
Elements and get rid of the transition toSVG*Element() macros.

Also use downcast<MathML*Element>() instead of toMathML*Element() for
casting MathML Elements.

The HTML Elements casting counterparts will be taken care of in a
separate patch.

No new tests, no behavior change.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::accessibilityDescription):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
* bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSCursorImageValue.cpp:
(WebCore::resourceReferencedByCursorElement):
(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchAllRules):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::locateCousinList):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::StyleResolver::locateSharedStyle):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/Element.cpp:
(WebCore::Element::synchronizeAllAttributes):
(WebCore::Element::synchronizeAttribute):
(WebCore::Element::boundsInRootViewSpace):
(WebCore::Element::getBoundingClientRect):
(WebCore::Element::childShouldCreateRenderer):
(WebCore::Element::fastAttributeLookupAllowed):
* dom/EventDispatcher.cpp:
(WebCore::eventTargetRespectingTargetRules):
* dom/ScriptElement.cpp:
(WebCore::toScriptElementIfPossible):
* dom/make_names.pl:
(printTypeHelpers):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::getSVGDocument):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isPhrasingContent):
(WebCore::MathMLElement::childShouldCreateRenderer):
(WebCore::MathMLElement::attributeChanged):
* mathml/MathMLElement.h:
(WebCore::Node::hasTagName):
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::instanceAssociatedWithShadowTreeElement):
* page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::parseColSpanFromDOM):
(WebCore::RenderTableCell::parseRowSpanFromDOM):
(WebCore::RenderTableCell::computePreferredLogicalWidths):
* rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::addChild):
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):
(WebCore::RenderMathMLMenclose::paint):
* rendering/svg/RenderSVGBlock.h:
(WebCore::RenderSVGBlock::graphicsElement):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::foreignObjectElement):
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::gradientElement):
* rendering/svg/RenderSVGGradientStop.h:
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::imageElement):
* rendering/svg/RenderSVGInline.h:
(WebCore::RenderSVGInline::graphicsElement):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::getElementCTM):
(WebCore::RenderSVGModelObject::checkIntersection):
(WebCore::RenderSVGModelObject::checkEnclosure):
* rendering/svg/RenderSVGModelObject.h:
(WebCore::RenderSVGModelObject::element):
* rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::rectElement):
* rendering/svg/RenderSVGResource.cpp:
(WebCore::removeFromCacheAndInvalidateDependencies):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
* rendering/svg/RenderSVGResourceClipper.h:
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceLinearGradient.h:
* rendering/svg/RenderSVGResourceMarker.h:
* rendering/svg/RenderSVGResourceMasker.h:
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::patternElement):
* rendering/svg/RenderSVGResourceRadialGradient.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::svgSVGElement):
* rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::graphicsElement):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::textElement):
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::textPathElement):
(WebCore::RenderSVGTextPath::layoutPath):
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::svgSVGElement):
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromLineElement):
(WebCore::updatePathFromPathElement):
(WebCore::updatePathFromPolygonElement):
(WebCore::updatePathFromPolylineElement):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren):
(WebCore::SVGRenderSupport::applyStrokeStyleToContext):
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* rendering/svg/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
(WebCore::SVGResources::buildCachedResources):
* rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::createElementRenderer):
(WebCore::SVGAElement::defaultEventHandler):
* svg/SVGAltGlyphDefElement.cpp:
(WebCore::SVGAltGlyphDefElement::hasValidGlyphElements):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::hasValidGlyphElements):
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateAnimatedValue):
* svg/SVGAnimatedTransformList.cpp:
(WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
(WebCore::SVGAnimationElement::adjustForInheritance):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::rootElement):
* svg/SVGElement.cpp:
(WebCore::SVGElement::ownerSVGElement):
(WebCore::SVGElement::viewportElement):
(WebCore::SVGElement::getBoundingBox):
(WebCore::SVGElement::childShouldCreateRenderer):
(WebCore::SVGElement::title):
(WebCore::SVGElement::updateRelativeLengthsInformation):
* svg/SVGElement.h:
(WebCore::Node::hasTagName):
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::build):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::buildPendingResource):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::childShouldCreateRenderer):
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::isSVGFilterPrimitiveStandardAttributes):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::ensureGlyphCache):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace):
* svg/SVGFontFaceFormatElement.cpp:
(WebCore::SVGFontFaceFormatElement::childrenChanged):
* svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::srcValue):
(WebCore::SVGFontFaceSrcElement::childrenChanged):
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::childrenChanged):
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::invalidateGlyphCache):
* svg/SVGGraphicsElement.h:
(WebCore::isSVGGraphicsElement):
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::insertedInto):
(WebCore::SVGHKernElement::removedFrom):
* svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::dispatchLoadEvent):
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):
* svg/SVGLinearGradientElement.cpp:
(WebCore::setGradientAttributes):
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::nearestViewportElement):
(WebCore::SVGLocatable::farthestViewportElement):
(WebCore::SVGLocatable::computeCTM):
(WebCore::SVGLocatable::getTransformToElement):
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::buildPendingResource):
(WebCore::SVGMPathElement::pathElement):
(WebCore::SVGMPathElement::notifyParentOfPathChange):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::synchronizeOrientType):
(WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::invalidateMPathDependencies):
(WebCore::SVGPathElement::lookupOrCreateDWrapper):
(WebCore::SVGPathElement::synchronizeD):
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::commitChange):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::collectPatternAttributes):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::synchronizePoints):
(WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
* svg/SVGRadialGradientElement.cpp:
(WebCore::setGradientAttributes):
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setupInitialView):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::synchronizeTextLength):
(WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
(WebCore::SVGTextContentElement::elementFromRenderer):
* svg/SVGTextContentElement.h:
(WebCore::isSVGTextContentElement):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::buildPendingResource):
* svg/SVGUseElement.cpp:
(WebCore::dumpInstanceTree):
(WebCore::SVGUseElement::buildPendingResource):
(WebCore::SVGUseElement::toClipPath):
(WebCore::SVGUseElement::buildInstanceTree):
(WebCore::SVGUseElement::hasCycleUseReferencing):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::insertedInto):
(WebCore::SVGVKernElement::removedFrom):
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewTarget):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::buildPendingResource):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
* svg/animation/SVGSMILElement.h:
(WebCore::isSVGSMILElement):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::hasSingleSecurityOrigin):
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize):
(WebCore::SVGImage::embeddedContentBox):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
(WebCore::SVGImage::computeIntrinsicDimensions):
(WebCore::SVGImage::startAnimation):
(WebCore::SVGImage::stopAnimation):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::platformApplySoftware):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
* svg/properties/SVGPathSegListPropertyTearOff.cpp:
(WebCore::SVGPathSegListPropertyTearOff::contextElement):

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

5 years agoFollow on fix for [iOS] ASSERTION FAILED: WTF::isMainThread() in WebCore::memoryCache...
psolanki@apple.com [Tue, 23 Sep 2014 00:47:06 +0000 (00:47 +0000)]
Follow on fix for [iOS] ASSERTION FAILED: WTF::isMainThread() in WebCore::memoryCache() when using WebKit1
https://bugs.webkit.org/show_bug.cgi?id=136962

Rubber-stamped by Simon Fraser.

Remove the const per review comment. It is not needed.

* loader/cocoa/DiskCacheMonitorCocoa.mm:
(WebCore::DiskCacheMonitor::DiskCacheMonitor):

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

5 years agoMove nodeFromPoint() back to Document where it belongs
simon.fraser@apple.com [Tue, 23 Sep 2014 00:23:54 +0000 (00:23 +0000)]
Move nodeFromPoint() back to Document where it belongs
https://bugs.webkit.org/show_bug.cgi?id=137012

Reviewed by Zalan Bujtas.
Source/WebCore:

nodeFromPoint() was moved into TreeScope for ShadowDOM work, but now we can move
it back to its logical place.

Make versions of elementFromPoint and caretRangeFromPoint that take LayoutPoints,
and change the current scale/offset code to be in layout units (which results
in a small behavior change).

elementFromPoint(int, int) and caretRangeFromPoint(int, int) are still required
for bindings code.

* dom/Document.cpp:
(WebCore::Document::nodeFromPoint):
(WebCore::Document::elementFromPoint):
(WebCore::Document::caretRangeFromPoint):
* dom/Document.h:
(WebCore::Document::elementFromPoint): Move logic from TreeScope::elementFromPoint()
here.
* dom/TreeScope.cpp:
(WebCore::nodeFromPoint): Deleted.
(WebCore::TreeScope::elementFromPoint): Deleted.
* dom/TreeScope.h:

LayoutTests:

All platforms use subpixel layout now, so remove the conditional behavior in this test.
Fix the test to account for scaling now being done in layout units.

* fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:
* fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html:
* platform/mac/fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:

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

5 years agoSplit the test parsing-css-nth-child-of.html in 3
benjamin@webkit.org [Mon, 22 Sep 2014 23:10:47 +0000 (23:10 +0000)]
Split the test parsing-css-nth-child-of.html in 3
https://bugs.webkit.org/show_bug.cgi?id=137013

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-22
Rubber-stamped by Christophe Dumez.

parsing-css-nth-child-of.html tends to be too slow in debug, causing timeout from time to time.

The speed issues will be fixed once we JIT the selector. Since it will take a while before the JIT is ready,
this patch splits the test in three to avoid timeouts on the bots.

* fast/css/parsing-css-nth-child-of-1-expected.txt: Renamed from LayoutTests/fast/css/parsing-css-nth-child-of-expected.txt.
* fast/css/parsing-css-nth-child-of-1.html: Added.
* fast/css/parsing-css-nth-child-of-2-expected.txt: Added.
* fast/css/parsing-css-nth-child-of-2.html: Renamed from LayoutTests/fast/css/parsing-css-nth-child-of.html.
* fast/css/parsing-css-nth-child-of-3-expected.txt: Added.
* fast/css/parsing-css-nth-child-of-3.html: Added.

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

5 years agoAdd the baseline implementation of :nth-child(An+B of selector-list)
benjamin@webkit.org [Mon, 22 Sep 2014 22:09:13 +0000 (22:09 +0000)]
Add the baseline implementation of :nth-child(An+B of selector-list)
https://bugs.webkit.org/show_bug.cgi?id=136975

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-22
Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/css/nth-child-of-classname.html
       fast/css/nth-child-of-complex-selector.html
       fast/css/nth-child-of-compound-selector.html
       fast/css/nth-child-of-tagname.html
       fast/selectors/nth-child-of-basics.html
       fast/selectors/nth-child-of-class-style-update.html
       fast/selectors/nth-child-of-complex-selectors.html
       fast/selectors/nth-child-of-selector-list.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
Pretty basic:
-Go over the previous siblings.
-For each sibling, test the selector list. If it matches, increase the count.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
Skip any case of the new selector. This will be implemented separately.

LayoutTests:

* fast/css/nth-child-of-classname-expected.html: Added.
* fast/css/nth-child-of-classname.html: Added.
* fast/css/nth-child-of-complex-selector-expected.html: Added.
* fast/css/nth-child-of-complex-selector.html: Added.
* fast/css/nth-child-of-compound-selector-expected.html: Added.
* fast/css/nth-child-of-compound-selector.html: Added.
* fast/css/nth-child-of-tagname-expected.html: Added.
* fast/css/nth-child-of-tagname.html: Added.
Cover basic styling and style sharing.

* fast/selectors/nth-child-of-basics-expected.txt: Added.
* fast/selectors/nth-child-of-basics.html: Added.
* fast/selectors/nth-child-of-complex-selectors-expected.txt: Added.
* fast/selectors/nth-child-of-complex-selectors.html: Added.
* fast/selectors/nth-child-of-selector-list-expected.txt: Added.
* fast/selectors/nth-child-of-selector-list.html: Added.
Cover querySelector and styling of various cases.

* fast/selectors/nth-child-of-class-style-update-expected.txt: Added.
* fast/selectors/nth-child-of-class-style-update.html: Added.
Basic case of style invalidation.

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

5 years agoImplement 'vhea', 'vmtx', and 'kern' tables in SVG -> OTF converter
mmaxfield@apple.com [Mon, 22 Sep 2014 22:08:02 +0000 (22:08 +0000)]
Implement 'vhea', 'vmtx', and 'kern' tables in SVG -> OTF converter
https://bugs.webkit.org/show_bug.cgi?id=136971

Reviewed by Darin Adler.

This patch fills in the tables related to vertical metrics and kerning. The vertical metrics tables are
fairly straightforward. On the other hand, the 'kern' table has subtables which can be in a variety
of formats; however, according to Microsoft, Windows only allows one particular format, which doesn't
allow for ranges of glyphs to be described and therefore might lead to a large 'kern' table size. In
the interest of platform agnosticism I have implemented this particular format, and have not actually
witnessed any extremely large 'kern' tables in any of the fonts that I have looked at.

I also added basic support for the horiz-origin-x and horiz-origin-y SVG properties, though support
might not be perfect based on my testing.

Regarding testing, after this patch, almost all of our SVG fonts tests pass (barring tiny rebaselining;
the platform font system calculates slightly different advances than we did. These differences are tiny
and expected from such a dramatic shift in text handling engines.) There are around two dozen failing
tests left that look like they are actually indiciative of code problems.

* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::ensureGlyphCache): Refactor to accept new signature of
SVG*KernElement::build*KerningPair().
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::buildHorizontalKerningPair): Refactor to allow for intermediate data to be
returned, which the SVG -> OTF font converter can use.
* svg/SVGHKernElement.h: New signature for buildHorizontalKerningPair().
* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::GlyphData::GlyphData): Save the glyph's vertical advance along with
the glyph's horizontal advance.
(WebCore::SVGToOTFFontConverter::KerningData::KerningData): This data represents a record in one of
the two 'kern' subtables, and as such needs to be sorted.
(WebCore::SVGToOTFFontConverter::KerningData::operator<): Sort comparator.
(WebCore::SVGToOTFFontConverter::appendHEADTable): Save the unitsPerEm locally to save a conditional.
(WebCore::SVGToOTFFontConverter::appendHHEATable): Ditto.
(WebCore::SVGToOTFFontConverter::appendHMTXTable): Ditto. Also use the horizontal advance as opposed to
the vertical advance.
(WebCore::SVGToOTFFontConverter::appendOS2Table): Save the unitsPerEm locally to save a conditional.
Also if the average advance isn't found in the font, use the missing glyph's advance. If there is no
missing glyph, bail and use the unitsPerEm.
(WebCore::SVGToOTFFontConverter::appendVORGTable): If the default vertical origin isn't found in the
font, use the missing glyphs's vertical origin. If there is no missing glyph, bail and use 0.
(WebCore::SVGToOTFFontConverter::appendVHEATable): Parallel of 'hhea' table, except for vertical info.
(WebCore::SVGToOTFFontConverter::appendVMTXTable): Parallel of 'hmtx' table, except for vertical info.
(WebCore::SVGToOTFFontConverter::appendKerningHelperFields): Computes and appends 4 fields that font
parsers need in order to do a binary search on the kern records.
(WebCore::SVGToOTFFontConverter::addCodepointRanges): For each codepoint in the ranges, look up its
representative glyph and append it to a set.
(WebCore::SVGToOTFFontConverter::addCodepoints): For each codepoint in the range, look up its
representative glyph and append it to a set.
(WebCore::SVGToOTFFontConverter::addGlyphNames): For each glyph name, look up its representative glyph
and append it to a set.
(WebCore::SVGToOTFFontConverter::computeKerningData): Call SVG*KernElement::build*KerningPair() and
iterate through all the data it returned, building up records into a Vector.
(WebCore::SVGToOTFFontConverter::appendKERNTable): Go through the vector that computeKerningData()
returned and actually write out the two subtables. One is for horizontal kerning and the other is for
vertical kerning.
(WebCore::CFFBuilder::CFFBuilder): Use the position of the glyph origin to perform the initial moveto
command.
(WebCore::transcodeGlyphPaths): Get the glyph's origin and pass it to the CFFBuilder.
(WebCore::SVGToOTFFontConverter::appendGlyphData): Templated overloading so that the missing glyph
gets a null SVGGlyphElement pointer but the rest of the glyphs get a non-null one.
(WebCore::SVGToOTFFontConverter::processGlyphElement): Called on both SVGGlyphElements and
SVGMissingGlyphElements, this pulls out information from the element and computs its path information.
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Use the new templated version of
processGlyphElement so we can get the same glyph parsing behavior on SVGMissingGlyphElements. In
addition, populate two maps for the kerning table creation function to use.
(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Append new tables.
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::buildVerticalKerningPair): Refactor to allow for intermediate data to be
returned, which the SVG -> OTF font converter can use.
* svg/SVGVKernElement.h: New signature for buildVerticalKerningPair().

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

5 years ago[Cocoa] Add UI delegate callback when window.close() is called
dbates@webkit.org [Mon, 22 Sep 2014 22:00:49 +0000 (22:00 +0000)]
[Cocoa] Add UI delegate callback when window.close() is called
https://bugs.webkit.org/show_bug.cgi?id=137008
<rdar://problem/17801001>

Reviewed by Anders Carlsson.

Source/WebKit2:

Implement support infrastructure to notify the UI client when window.close() is called.

* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added method declaration for -_webViewClose:.
* UIProcess/Cocoa/UIDelegate.h: Added override declaration for API::UIClient::close().
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate): Wire up delegate method to Objective-C selector, -[WKUIDelegatePrivate _webViewClose:].
(WebKit::UIDelegate::UIClient::close): Added; turns around and calls -[WKUIDelegatePrivate _webViewClose:] (if applicable).

Tools:

Add a test to ensure that -[WKUIDelegatePrivate _webViewClose:] is called on window.close()
for window opened via JavaScript (i.e. window.open()).

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/open-and-close-window.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: Added.

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

5 years agoWebSocket crash when a connection is closed from server side
ap@apple.com [Mon, 22 Sep 2014 21:10:36 +0000 (21:10 +0000)]
WebSocket crash when a connection is closed from server side
https://bugs.webkit.org/show_bug.cgi?id=137009
rdar://problem/18333977
rdar://problem/12708225

Reviewed by Brady Eidson.

I don't think that this can be tested with our test server.

* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel): Added logging.
(WebCore::WebSocketChannel::~WebSocketChannel): Ditto.
(WebCore::WebSocketChannel::close): Protect self, because startClosingHandshake
can release the last reference.
(WebCore::WebSocketChannel::fail): Added an assertion that the channel is always
closed after this function.
(WebCore::WebSocketChannel::startClosingHandshake): Protect self, and don't change
the stack from closed back to closing if after failing to send closing handshake.
(WebCore::WebSocketChannel::processOutgoingFrameQueue): Protect self.

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

5 years agoFTL allocatePropertyStorage code should involve less copy-paste
fpizlo@apple.com [Mon, 22 Sep 2014 20:25:49 +0000 (20:25 +0000)]
FTL allocatePropertyStorage code should involve less copy-paste
https://bugs.webkit.org/show_bug.cgi?id=137006

Reviewed by Michael Saboff.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::allocatePropertyStorage):
(JSC::FTL::LowerDFGToLLVM::reallocatePropertyStorage):
(JSC::FTL::LowerDFGToLLVM::allocatePropertyStorageWithSizeImpl):

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

5 years agoBad cast in isValidColumnSpanner.
hyatt@apple.com [Mon, 22 Sep 2014 19:52:08 +0000 (19:52 +0000)]
Bad cast in isValidColumnSpanner.
https://bugs.webkit.org/show_bug.cgi?id=133380.

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/multicol/multicol-crazy-nesting.html

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::isValidColumnSpanner):
The crawl up the chain looking for unsplittable objects should use containing blocks
and not be casting to parent boxes. You can have an inline in the parent chain, so
this was not the right way to walk up the tree.

LayoutTests:

* fast/multicol/multicol-crazy-nesting-expected.txt: Added.
* fast/multicol/multicol-crazy-nesting.html: Added.

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

5 years agoASSERT in RenderMultiColumnSet::requiresBalancing.
hyatt@apple.com [Mon, 22 Sep 2014 18:55:50 +0000 (18:55 +0000)]
ASSERT in RenderMultiColumnSet::requiresBalancing.
https://bugs.webkit.org/show_bug.cgi?id=136376.

Reviewed by David Kilzer.

Source/WebCore:

Added fast/multicol/multicol-selection.html.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::isValidColumnSpanner):
Don't allow an object to become a spanner if it does not have the flow
thread as its containing block. Otherwise the flow thread won't get notified
of spanner placeholder insertions, and so the spanner ends up orphaned.

LayoutTests:

* fast/multicol/multicol-selection-expected.txt: Added.
* fast/multicol/multicol-selection.html: Added.

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

5 years agoW3C importer should import html files within resources folders
commit-queue@webkit.org [Mon, 22 Sep 2014 18:36:46 +0000 (18:36 +0000)]
W3C importer should import html files within resources folders
https://bugs.webkit.org/show_bug.cgi?id=127548

Patch by Youenn Fablet <youennf@gmail.com> on 2014-09-22
Reviewed by Ryosuke Niwa.

Import HTML files in any folder named "resources" even if file is not detected as a HTML test file

* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.find_importable_tests):

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

5 years ago[Win] Implement cap height in SimpleFontDataWin to enable initial-letter support...
bfulgham@apple.com [Mon, 22 Sep 2014 18:35:23 +0000 (18:35 +0000)]
[Win] Implement cap height in SimpleFontDataWin to enable initial-letter support for Windows.
https://bugs.webkit.org/show_bug.cgi?id=136841

Reviewed by David Hyatt.

* platform/graphics/win/SimpleFontDataCGWin.cpp:
(WebCore::SimpleFontData::platformInit): Add missing calls to set up our fonts.

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

5 years agoSimple ES6 feature: Number constructor extras
commit-queue@webkit.org [Mon, 22 Sep 2014 16:53:37 +0000 (16:53 +0000)]
Simple ES6 feature: Number constructor extras
https://bugs.webkit.org/show_bug.cgi?id=131707

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-09-22
Reviewed by Darin Adler.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h: Added new identifiers.
* runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::getOwnPropertySlot):
(JSC::NumberConstructor::isFunction): Added.
(JSC::numberConstructorEpsilonValue): Added.
(JSC::numberConstructorNegInfinity): Added.
(JSC::numberConstructorPosInfinity): Added.
(JSC::numberConstructorMaxValue): Added.
(JSC::numberConstructorMinValue): Added.
(JSC::numberConstructorMaxSafeInteger): Added.
(JSC::numberConstructorMinSafeInteger): Added.
(JSC::numberConstructorFuncIsFinite): Added.
(JSC::numberConstructorFuncIsInteger): Added.
(JSC::numberConstructorFuncIsNaN): Added.
(JSC::numberConstructorFuncIsSafeInteger): Added.
* runtime/NumberConstructor.h:

LayoutTests:

* js/Object-getOwnPropertyNames-expected.txt:
* js/number-constructor-expected.txt: Added.
* js/number-constructor.html: Added.
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/number-constructor.js: Added.

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

5 years agoUpdate HTMLMediaElement logging
eric.carlson@apple.com [Mon, 22 Sep 2014 15:51:24 +0000 (15:51 +0000)]
Update HTMLMediaElement logging
https://bugs.webkit.org/show_bug.cgi?id=136991

Reviewed by Alexey Proskuryakov.

No new tests, only logging was changed.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):

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

5 years agoFTL should store the four bytes of the cell header using a 32-bit store rather than...
fpizlo@apple.com [Mon, 22 Sep 2014 15:34:29 +0000 (15:34 +0000)]
FTL should store the four bytes of the cell header using a 32-bit store rather than four 8-bit stores
https://bugs.webkit.org/show_bug.cgi?id=136992

Reviewed by Sam Weinig.

LLVM ought to be able to do this optimization for us given how the code was written, but
any such lower-level attempts to optimize this would get into trouble with the weird
object materialization logic I'll be introducing in bug 136330. So, this brings the
merging of the byte stores into the FTL lowering so that we can control it explicitly.

* ftl/FTLAbstractHeap.h:
(JSC::FTL::AbstractHeap::changeParent):
* ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::allocateCell):

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

5 years agoREGRESSION(r173631): It broke the !ENABLE(VIDEO) build
evab.u-szeged@partner.samsung.com [Mon, 22 Sep 2014 15:00:52 +0000 (15:00 +0000)]
REGRESSION(r173631): It broke the !ENABLE(VIDEO) build
https://bugs.webkit.org/show_bug.cgi?id=136946

Reviewed by Jer Noble.

No new tests required, no new functionality.

* page/DragController.cpp:
(WebCore::DragController::startDrag):

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

5 years ago[CSSRegions] Use nullptr in regions code
mihnea@adobe.com [Mon, 22 Sep 2014 14:47:53 +0000 (14:47 +0000)]
[CSSRegions] Use nullptr in regions code
https://bugs.webkit.org/show_bug.cgi?id=137001

Reviewed by Andrei Bucur.

No new tests as no new functionality is introduced.

* dom/DOMNamedFlowCollection.cpp:
(WebCore::DOMNamedFlowCollection::item):
(WebCore::DOMNamedFlowCollection::namedItem):
* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::flowByName):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getLayerListForRegion):
(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::regionAtBlockOffset):
(WebCore::RenderFlowThread::mapFromFlowToRegion):
(WebCore::RenderFlowThread::firstRegion):
(WebCore::RenderFlowThread::lastRegion):
(WebCore::RenderFlowThread::currentActiveRenderBox):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::nextRendererForElement):

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

5 years ago[GTK] Test /webkit2/WebKitWebView/can-show-mime-type fails if evince browser plugin...
carlosgc@webkit.org [Mon, 22 Sep 2014 11:15:08 +0000 (11:15 +0000)]
[GTK] Test /webkit2/WebKitWebView/can-show-mime-type fails if evince browser plugin is installed
https://bugs.webkit.org/show_bug.cgi?id=136998

Reviewed by Philippe Normand.

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewCanShowMIMEType): Remove the check of PDF as
unsupported MIME type.

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

5 years ago[kn] Kannada Translation for webkit - Updated
berto@igalia.com [Mon, 22 Sep 2014 11:10:49 +0000 (11:10 +0000)]
[kn] Kannada Translation for webkit - Updated
https://bugs.webkit.org/show_bug.cgi?id=116941

Patch by Shankar Prasad <svenkate@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

* kn.po:

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

5 years agoUnreviewed. Fix WebKitGTKTranslations rule in watchlist.
carlosgc@webkit.org [Mon, 22 Sep 2014 09:53:52 +0000 (09:53 +0000)]
Unreviewed. Fix WebKitGTKTranslations rule in watchlist.

In r145081 GTK+ translations were moved from Source/WebKit/gtk/po/
to Source/WebCore/platform/gtk/po/ but the rule was not updated.

* Scripts/webkitpy/common/config/watchlist: Use
Source/WebCore/platform/gtk/po/ as directory to watch for
WebKitGTKTranslations rule and add berto and myself to the list of
watchers.

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

5 years ago[l10n] [mr] WebKitGTK+ Marathi Translations
berto@igalia.com [Mon, 22 Sep 2014 09:48:17 +0000 (09:48 +0000)]
[l10n] [mr] WebKitGTK+ Marathi Translations
https://bugs.webkit.org/show_bug.cgi?id=136979

Patch by Sandeep Shedmake <sandeep.shedmake@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

* mr.po:

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

5 years agoFix syntaxError in watchlist since r173594
ryuan.choi@gmail.com [Mon, 22 Sep 2014 08:51:53 +0000 (08:51 +0000)]
Fix syntaxError in watchlist since r173594
https://bugs.webkit.org/show_bug.cgi?id=136996

Reviewed by Philippe Normand.

* Scripts/webkitpy/common/config/watchlist: Removed unnecessary comma.

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

5 years ago[l10n] Updated Polish translation of WebKitGTK+
berto@igalia.com [Mon, 22 Sep 2014 08:36:24 +0000 (08:36 +0000)]
[l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=136976

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

* pl.po:

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

5 years ago[l10n] Updated Hebrew translation of WebKitGTK+
berto@igalia.com [Mon, 22 Sep 2014 08:34:46 +0000 (08:34 +0000)]
[l10n] Updated Hebrew translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=136678

Patch by Yosef Or Boczko <yoseforb@gnome.org> on 2014-09-22
Reviewed by Philippe Normand.

* he.po:

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

5 years agoWebkit Tamil translations updated
berto@igalia.com [Mon, 22 Sep 2014 08:33:46 +0000 (08:33 +0000)]
Webkit Tamil translations updated
https://bugs.webkit.org/show_bug.cgi?id=136816

Patch by Shantha kumar <shantha.thamizh@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

* ta.po:

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

5 years ago[as] Updated Assamese translations of WebKitGtk+
berto@igalia.com [Mon, 22 Sep 2014 08:32:34 +0000 (08:32 +0000)]
[as] Updated Assamese translations of WebKitGtk+
https://bugs.webkit.org/show_bug.cgi?id=136908

Patch by Nilamdyuti Goswami <ngoswami@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

* as.po:

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

5 years agoOdia (or_IN) translation for webkit
berto@igalia.com [Mon, 22 Sep 2014 08:30:41 +0000 (08:30 +0000)]
Odia (or_IN) translation for webkit
https://bugs.webkit.org/show_bug.cgi?id=136920

Patch by Manoj Kumar Giri <mgiri@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

* or.po:

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

5 years agoWebkit Gujarati Translations
berto@igalia.com [Mon, 22 Sep 2014 08:28:41 +0000 (08:28 +0000)]
Webkit Gujarati Translations
https://bugs.webkit.org/show_bug.cgi?id=136525

Patch by Sweta Kothari <swkothar@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

* gu.po:

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