2014-02-05 Brent Fulgham Wheel events don't latch to inner scrollable elements https://bugs.webkit.org/show_bug.cgi?id=128225 Reviewed by Beth Dakin. * page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEvent): Identify the case where we have hit the end of a scroll, and treat that as a valid 'handled' case. If the scroll event is just starting, treat end-of-scroll as unhandled so the parent element can handle things. * page/WheelEventDeltaTracker.h: (WebCore::WheelEventDeltaTracker::isFirstWheelEvent): Added. 2014-02-06 Commit Queue Unreviewed, rolling out r163542. http://trac.webkit.org/changeset/163542 https://bugs.webkit.org/show_bug.cgi?id=128324 Caused many assertion failures (Requested by ap on #webkit). * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): * bindings/js/JSEventListener.h: (WebCore::JSEventListener::jsFunction): 2014-02-06 Frédéric Wang Do not draw multi-characters in italic. https://bugs.webkit.org/show_bug.cgi?id=44208 Reviewed by Chris Fleizach. This test prevents multi-char to be drawn in italic and prepare further improvements to MathML token and mfenced elements (bugs 124838 and bug 99620). Test: mathml/presentation/tokenElements-dynamic.html * CMakeLists.txt: * GNUmakefile.list.am: * WebCore.vcxproj/WebCore.vcxproj: * WebCore.vcxproj/WebCore.vcxproj.filters: * WebCore.xcodeproj/project.pbxproj: * css/mathml.css: (mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose): * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::didAttachRenderers): (WebCore::MathMLTextElement::childrenChanged): (WebCore::MathMLTextElement::createElementRenderer): * rendering/RenderObject.h: (WebCore::RenderObject::isRenderMathMLToken): * rendering/mathml/RenderMathMLToken.cpp: Added. (WebCore::RenderMathMLToken::RenderMathMLToken): (WebCore::RenderMathMLToken::addChild): (WebCore::RenderMathMLToken::createWrapperIfNeeded): (WebCore::RenderMathMLToken::updateTokenContent): (WebCore::RenderMathMLToken::updateStyle): (WebCore::RenderMathMLToken::styleDidChange): (WebCore::RenderMathMLToken::updateFromElement): * rendering/mathml/RenderMathMLToken.h: Added. (WebCore::RenderMathMLToken::element): (WebCore::RenderMathMLToken>): 2014-02-06 Zoltan Horvath [CSS Shapes] Simplify BasicShapeInset creation https://bugs.webkit.org/show_bug.cgi?id=128314 Reviewed by David Hyatt. Introduce convertToLengthSize helper function in order to simplify and make BasicShapeInset more readable. No new tests, no behavior change. * css/BasicShapeFunctions.cpp: (WebCore::convertToLengthSize): (WebCore::basicShapeForValue): 2014-02-06 Anders Carlsson Try to fix the Windows build. * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveResponse): 2014-01-29 Sergio Villar Senin [CSS Grid Layout] getComputedStyle() is wrong for grid-definition-{columns|rows} https://bugs.webkit.org/show_bug.cgi?id=127033 Reviewed by Andreas Kling. Tests: fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html fast/css-grid-layout/non-grid-columns-rows-get-set.html fast/css-grid-layout/non-grid-element-repeat-get-set.html fast/css-grid-layout/non-named-grid-line-get-set.html According to the specs getComputedStyle() should return the used values instead of the resolved values for compatibility with early implementations. This means that grid-definition-{columns|rows} are now layout dependent as we need to compute the used values for grid track sizes. Updated the outcome of existing tests and added a bunch of new ones that check the behavior of the different properties outside grid containers. * css/CSSComputedStyleDeclaration.cpp: (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::isLayoutDependent): (WebCore::ComputedStyleExtractor::propertyValue): * rendering/RenderGrid.cpp: (WebCore::RenderGrid::GridIterator::GridIterator): (WebCore::RenderGrid::computedUsedBreadthOfGridTracks): (WebCore::RenderGrid::computeUsedBreadthOfMinLength): (WebCore::RenderGrid::computeUsedBreadthOfMaxLength): (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength): (WebCore::RenderGrid::computeNormalizedFractionBreadth): (WebCore::RenderGrid::gridTrackSize): (WebCore::RenderGrid::minContentForChild): (WebCore::RenderGrid::maxContentForChild): (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems): (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth): (WebCore::RenderGrid::growGrid): (WebCore::RenderGrid::autoPlacementMajorAxisDirection): (WebCore::RenderGrid::autoPlacementMinorAxisDirection): (WebCore::RenderGrid::layoutGridItems): (WebCore::RenderGrid::resolveGridPositionsFromAutoPlacementPosition): (WebCore::RenderGrid::resolveGridPositionsFromStyle): (WebCore::RenderGrid::gridAreaBreadthForChild): (WebCore::RenderGrid::populateGridPositions): (WebCore::RenderGrid::findChildLogicalPosition): * rendering/RenderGrid.h: 2014-02-06 Anders Carlsson Modernize CrossOriginPreflightResultCache https://bugs.webkit.org/show_bug.cgi?id=128309 Reviewed by Antti Koivisto. Use std::chrono::steady_clock instead of currentTime() for determining when cache items expire, Use std::unique_ptr instead of OwnPtr, use NeverDestroyed, get rid of unnecessary container typedefs now that we have auto. Finally, de-indent the entire class declaration. * loader/CrossOriginPreflightResultCache.cpp: (WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache): (WebCore::parseAccessControlMaxAge): (WebCore::CrossOriginPreflightResultCacheItem::parse): (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest): (WebCore::CrossOriginPreflightResultCache::shared): (WebCore::CrossOriginPreflightResultCache::appendEntry): (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): * loader/CrossOriginPreflightResultCache.h: (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem): * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveResponse): 2014-02-06 Gurpreet Kaur Menclose with no notation attribute does not display anything. https://bugs.webkit.org/show_bug.cgi?id=127889 Reviewed by Chris Fleizach. Menclose with no notation attribute should behave same as menclose with notation attribute with value as longdiv. By default the division symbol should be displayed. For empty and invalid notation attribute nothing should be displayed. Tests: mathml/presentation/menclose-notation-default-longdiv.html mathml/presentation/menclose-notation-invalid-empty.html * mathml/MathMLMencloseElement.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths): (WebCore::RenderMathMLMenclose::paint): Added style for menclose with no notation attribute and handled this condition in paint also where for longdiv we are explicitly drawing the division symbol. 2014-02-05 Mark Hahnenberg Heap::writeBarrier shouldn't be static https://bugs.webkit.org/show_bug.cgi?id=127807 Reviewed by Geoffrey Garen. Currently it looks up the Heap in which to fire the write barrier by using the cell passed to it. Almost every call site already has a reference to the VM or the Heap itself. It seems wasteful to look it up all over again. * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): * bindings/js/JSEventListener.h: (WebCore::JSEventListener::jsFunction): 2014-02-06 Brady Eidson IDB: storage/indexeddb/mozilla/clear.html fails and https://bugs.webkit.org/show_bug.cgi?id=128282 Reviewed by David Kilzer. Covered by storage/indexeddb/mozilla/clear.html (and probably others) Update the value deserializer to take into account whether or not there was an IDBKey: * bindings/js/IDBBindingUtilities.cpp: (WebCore::deserializeIDBValueBuffer): * bindings/js/IDBBindingUtilities.h: * Modules/indexeddb/IDBRequest.cpp: (WebCore::IDBRequest::onSuccess): Call the new form of deserializeIDBValueBuffer. * Modules/indexeddb/IDBDatabaseBackend.cpp: (WebCore::IDBDatabaseBackend::clearObjectStore): Update logging. * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::setActive): Update logging. * Modules/indexeddb/IDBTransactionBackend.cpp: (WebCore::IDBTransactionBackend::commit): Fix ASSERTs to reflect multi-process worlds. 2014-02-06 Csaba Osztrogonác Re-enable simple line layout on non-Mac platforms https://bugs.webkit.org/show_bug.cgi?id=123338 Reviewed by Anders Carlsson. * rendering/SimpleLineLayout.cpp: (WebCore::SimpleLineLayout::canUseFor): 2014-02-06 Koop Mast Use system default compiler instead of gcc, as final fall through. https://bugs.webkit.org/show_bug.cgi?id=126773 Reviewed by Alexey Proskuryakov. * dom/make_names.pl: 2014-02-06 Eric Carlson No need to enterFullscreen() when already in fullscreen https://bugs.webkit.org/show_bug.cgi?id=128276 Reviewed by Jer Noble. No new tests, this is just cleanup. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::updatePlayState): Don't call enterFullscreen() if already there. (WebCore::HTMLMediaElement::enterFullscreen): Return early if m_isFullscreen is already true. 2014-02-06 Radu Stavila [CSS Regions] Null dereference applying animation with CSS regions https://bugs.webkit.org/show_bug.cgi?id=128218 Reviewed by Andrei Bucur. The first issue (the null dereference) was caused by the checkForZoomChange method not guarding against a null parentStyle parameter, as the checkForGenericFamilyChange method does, which in the crashing scenario is called just before the faulty checkForZoomChange method. The second issue was an assert which was caused by the fact that detaching is performed in a certain situation if the element has a renderer or if it's inside a named flow. However, when reattaching and asserting the element has no renderer, the "inside named flow" condition was no longer considered. Test: fast/regions/animation-element-in-region-flowed-to-other-thread.html * css/StyleResolver.cpp: (WebCore::StyleResolver::checkForZoomChange): * style/StyleResolveTree.cpp: (WebCore::Style::attachChildren): 2014-02-06 László Langó Create a HTMLUnknownElement when using createElement('image') https://bugs.webkit.org/show_bug.cgi?id=125896 Reviewed by Antti Koivisto. Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/fd8a7b65f3300fb9245db24d5ed240c80b7f76ad * html/HTMLTagNames.in: 2014-02-06 Youenn Fablet [XHR] Ensure response return null when error flag is set for blob and arraybuffer https://bugs.webkit.org/show_bug.cgi?id=127050 Reviewed by Alexey Proskuryakov. Added a check in JSXMLHttpRequest::response to ensure response return null when error flag is set for blob and arraybuffer This check also applies to document and json response types (no change in behavior for those types but code path change) Added assertions in the related XMLHttpRequest blob and array buffer getters Minor code clean-up. The test cases check all four response types in case of timeout and abort Tests: http/tests/xmlhttprequest/onabort-response-getters.html http/tests/xmlhttprequest/ontimeout-response-getters.html * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response): * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didCacheResponseJSON): (WebCore::XMLHttpRequest::responseXML): (WebCore::XMLHttpRequest::responseBlob): (WebCore::XMLHttpRequest::responseArrayBuffer): 2014-02-05 Gavin Barraclough Change Page, FocusController to use ViewState https://bugs.webkit.org/show_bug.cgi?id=126533 Reviewed by Tim Horton. These classes currently maintain a set of separate fields to represent the view state; combine these into a single field, and allow WebPage to send the combined update rather than individual changes. Maintain existing interface for WebKit1 clients. * WebCore.exp.in: - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle. * page/FocusController.cpp: (WebCore::FocusController::FocusController): - Initialize combined m_viewState. (WebCore::FocusController::setFocused): - Calls setViewState. (WebCore::FocusController::setFocusedInternal): - setFocused -> setFocusedInternal. (WebCore::FocusController::setViewState): - Added, update all ViewState flags. (WebCore::FocusController::setActive): - Calls setViewState. (WebCore::FocusController::setActiveInternal): - setActive -> setActiveInternal. (WebCore::FocusController::setContentIsVisible): - Calls setViewState. (WebCore::FocusController::setContentIsVisibleInternal): - setContentIsVisible -> setContentIsVisibleInternal. * page/FocusController.h: (WebCore::FocusController::isActive): (WebCore::FocusController::isFocused): (WebCore::FocusController::contentIsVisible): - Implemented in terms of ViewState. * page/Page.cpp: (WebCore::Page::Page): - Initialize using PageInitialViewState. (WebCore::Page::setIsInWindow): - Calls setViewState. (WebCore::Page::setIsInWindowInternal): - setIsInWindow -> setIsInWindowInternal. (WebCore::Page::setIsVisuallyIdleInternal): - setIsVisuallyIdle -> setIsVisuallyIdleInternal. (WebCore::Page::setViewState): - Added, update all ViewState flags, including FocusController. (WebCore::Page::setIsVisible): - Calls setViewState. (WebCore::Page::setIsVisibleInternal): - setIsVisible -> setIsVisibleInternal. (WebCore::Page::visibilityState): - m_isVisible -> isVisible() (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged): - m_isVisible -> isVisible() * page/Page.h: (WebCore::Page::isVisible): (WebCore::Page::isInWindow): - Implemented in terms of ViewState. (WebCore::Page::scriptedAnimationsSuspended): - Combined member fields into ViewState::Flags. 2014-02-05 Simon Fraser Transfer the non-fast-scrollable region to the UI process for iOS https://bugs.webkit.org/show_bug.cgi?id=128293 Reviewed by Benjamin Poulain. Two main changes to support sending the non-fast scrollable region to the UI process for iOS: 1. Add ScrollingCoordinator::frameViewNonFastScrollableRegionChanged(), which is called when we've updated the touch event region (this can happen independenly of layout). When called we just scheduled a scrolling tree commit with the new region. 2. Avoid thinking that we have a new root node with every remote scrolling transaction. This was a side-effect of reconstructing the scrolling state tree in the UI process, and caused us to try to grab a nonFastScrollableRegion from a node which never had one set. * WebCore.exp.in: * page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged): * page/scrolling/AsyncScrollingCoordinator.h: * page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): * page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::frameViewNonFastScrollableRegionChanged): * page/scrolling/ScrollingStateTree.h: (WebCore::ScrollingStateTree::setHasNewRootStateNode): * page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::commitNewTreeState): (WebCore::ScrollingTree::isPointInNonFastScrollableRegion): * page/scrolling/ScrollingTree.h: 2014-02-05 Benjamin Poulain [iOS] Synchronize the WKContentView and UIScrollView updates with the tiles being commited https://bugs.webkit.org/show_bug.cgi?id=127886 Reviewed by Simon Fraser. The updates of the views on the UIProcess side was completely disconnected from the tiles updates from the DrawingArea. There is a non-negligible time between the size/scale update and the new tiles coming, which causes visual glitches. There are three main cases where the tiles and content would be out of sync with the UIViews: -When loading a new page with different content width of a different viewport. -When a page changes its viewport. -When the viewport-constrainted viewport size changes. To fix the issue, WKView is modified to maintain the old state of WKContentView and UIScrollView until the new tiles are available. Geometry/scale update are split in two phases: 1) A source (the page or the user) changes parameters of the geometry. The WebProcess updates its layout accordingly. At this point, the UIViews are unchanged and are left with the old parameters. 2) Eventually, new tiles come and commitLayerTree() is called on the drawing area proxy. At that point, WKContentView and its UIScrollView are updated to match the committed size and scale for the page. * WebCore.exp.in: * WebCore.xcodeproj/project.pbxproj: * page/ViewportConfiguration.cpp: Added. (WebCore::constraintsAreAllRelative): (WebCore::ViewportConfiguration::ViewportConfiguration): (WebCore::ViewportConfiguration::setDefaultConfiguration): (WebCore::ViewportConfiguration::setContentsSize): (WebCore::ViewportConfiguration::setMinimumLayoutSize): (WebCore::ViewportConfiguration::setViewportArguments): (WebCore::ViewportConfiguration::layoutSize): (WebCore::ViewportConfiguration::initialScale): (WebCore::ViewportConfiguration::minimumScale): (WebCore::ViewportConfiguration::maximumScale): (WebCore::ViewportConfiguration::allowsUserScaling): (WebCore::viewportArgumentValueIsValid): (WebCore::applyViewportArgument): (WebCore::ViewportConfiguration::updateConfiguration): (WebCore::ViewportConfiguration::layoutWidth): (WebCore::ViewportConfiguration::layoutHeight): * page/ViewportConfiguration.h: Added. (WebCore::ViewportConfigurationConfiguration::ViewportConfigurationConfiguration): (WebCore::ViewportConfiguration::defaultConfiguration): (WebCore::ViewportConfiguration::contentsSize): (WebCore::ViewportConfiguration::minimumLayoutSize): (WebCore::ViewportConfiguration::viewportArguments): 2014-02-05 Benjamin Poulain SelectorCodeGenerator::generateElementHasTagName should match the local name before the namespace https://bugs.webkit.org/show_bug.cgi?id=128167 Reviewed by Sam Weinig. The local name is a stricter filter than the namespace, it should always run first. * cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName): 2014-02-05 Benjamin Poulain Add HTMLNames::classAttr as a regular name in SVGElement::isAnimatableAttribute https://bugs.webkit.org/show_bug.cgi?id=128166 Reviewed by Sam Weinig. For historical reasons, classAttr was treated separately. There is no reasons for that anymore. * svg/SVGElement.cpp: (WebCore::SVGElement::isAnimatableAttribute): 2014-02-05 Simon Fraser Support encoding and decoding of Regions https://bugs.webkit.org/show_bug.cgi?id=128284 Reviewed by Anders Carlsson. Region changes to make it encodable: Make Region::Span public and give it a default constructor. Allow getting and setting of Shape internals, and a way to update the Region bounds after changing the shape. Also add a way to test for valid spans and segments. * platform/graphics/Region.cpp: (WebCore::Region::Shape::isValid): (WebCore::Region::updateBoundsFromShape): * platform/graphics/Region.h: (WebCore::Region::isValid): (WebCore::Region::Span::Span): (WebCore::Region::shapeSegments): (WebCore::Region::shapeSpans): (WebCore::Region::setShapeSegments): (WebCore::Region::setShapeSpans): (WebCore::Region::Shape::segments): (WebCore::Region::Shape::spans): (WebCore::Region::Shape::setSegments): (WebCore::Region::Shape::setSpans): 2014-02-05 Andreas Kling Rebaseline the bindings tests after Oliver's hackery. * bindings/scripts/test/JS/: 2014-02-05 Ryuan Choi [EFL][GTK] Share plugin's implementation between EFL and Gtk ports. https://bugs.webkit.org/show_bug.cgi?id=70592 Reviewed by Gyuyoung Kim. Merge common logics of PluginViewGtk.cpp and PluginViewEfl.cpp to PluginViewX11.cpp. So, this patch improves the windowless plugin support for the EFL port. * GNUmakefile.am: Add include path for gtk2xtbin.h header file. * GNUmakefile.list.am: Added PluginViewX11.cpp into source lists. * PlatformEfl.cmake: Ditto. * PlatformGTK.cmake: Ditto. * plugins/PluginView.h: Added getRootWindow and getPluginDisply which implement platform specific code. * plugins/efl/PluginViewEfl.cpp: (WebCore::PluginView::getRootWindow): (WebCore::PluginView::platformGetValueStatic): Turn on NPNVSupportsWindowless support. (WebCore::PluginView::getPluginDisplay): (WebCore::PluginView::platformStart): * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::getRootWindow): (WebCore::setXButtonEventSpecificFields): (WebCore::setXMotionEventSpecificFields): (WebCore::setXCrossingEventSpecificFields): (WebCore::PluginView::getPluginDisplay): (WebCore::PluginView::platformStart): * plugins/x11/PluginViewX11.cpp: Moved common logics from PluginViewGtk.cpp (WebCore::PluginView::dispatchNPEvent): (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::handleFocusInEvent): (WebCore::PluginView::invalidateRect): (WebCore::PluginView::invalidateRegion): (WebCore::PluginView::handleFocusOutEvent): (WebCore::PluginView::initXEvent): (WebCore::PluginView::paint): (WebCore::PluginView::setParent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::setNPWindowIfNeeded): 2014-02-05 Anders Carlsson Fix a warning. * platform/mac/ContentFilterMac.mm: (WebCore::ContentFilter::ContentFilter): Remove an unnecessary comparison. 2014-02-05 Csaba Osztrogonác Fix the !ENABLE(PAGE_VISIBILITY_API) build https://bugs.webkit.org/show_bug.cgi?id=127907 Reviewed by Brent Fulgham. * page/Page.cpp: (WebCore::Page::setIsVisible): 2014-02-05 Oliver Hunt Change custom getter signature to make the base reference an object pointer https://bugs.webkit.org/show_bug.cgi?id=128279 Reviewed by Geoffrey Garen. Update everything to the new calling convention. * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::cssPropertyGetterPixelOrPosPrefixCallback): (WebCore::cssPropertyGetterCallback): * bindings/js/JSDOMBinding.cpp: (WebCore::objectToStringFunctionGetter): * bindings/js/JSDOMBinding.h: * bindings/js/JSDOMMimeTypeArrayCustom.cpp: (WebCore::JSDOMMimeTypeArray::nameGetter): * bindings/js/JSDOMPluginArrayCustom.cpp: (WebCore::JSDOMPluginArray::nameGetter): * bindings/js/JSDOMPluginCustom.cpp: (WebCore::JSDOMPlugin::nameGetter): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::nonCachingStaticFunctionGetter): (WebCore::childFrameGetter): (WebCore::indexGetter): (WebCore::namedItemGetter): * bindings/js/JSHTMLAllCollectionCustom.cpp: (WebCore::JSHTMLAllCollection::nameGetter): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::JSHTMLCollection::nameGetter): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::nameGetter): * bindings/js/JSHTMLFormControlsCollectionCustom.cpp: (WebCore::JSHTMLFormControlsCollection::nameGetter): * bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::nameGetter): * bindings/js/JSHTMLFrameSetElementCustom.cpp: (WebCore::JSHTMLFrameSetElement::nameGetter): * bindings/js/JSHistoryCustom.cpp: (WebCore::nonCachingStaticBackFunctionGetter): (WebCore::nonCachingStaticForwardFunctionGetter): (WebCore::nonCachingStaticGoFunctionGetter): * bindings/js/JSLocationCustom.cpp: (WebCore::nonCachingStaticReplaceFunctionGetter): (WebCore::nonCachingStaticReloadFunctionGetter): (WebCore::nonCachingStaticAssignFunctionGetter): * bindings/js/JSNamedNodeMapCustom.cpp: (WebCore::JSNamedNodeMap::nameGetter): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginElementPropertyGetter): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSRTCStatsResponseCustom.cpp: (WebCore::JSRTCStatsResponse::nameGetter): * bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::nameGetter): * bindings/js/JSStyleSheetListCustom.cpp: (WebCore::JSStyleSheetList::nameGetter): * bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader): (GenerateImplementation): * bridge/runtime_array.cpp: (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::indexGetter): * bridge/runtime_array.h: * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): * bridge/runtime_object.h: 2014-02-04 Andy Estes Buffer incoming data in ContentFilter when using NEFilterSource https://bugs.webkit.org/show_bug.cgi?id=127979 Reviewed by Sam Weinig. WebFilterEvaluator buffers incoming data and returns it to us as replacement data if the load is allowed. NEFilterSource doesn't do this, so we need to do our own buffering. * platform/ContentFilter.h: Forward-declared NSMutableData and added m_originalData. * platform/mac/ContentFilterMac.mm: (WebCore::ContentFilter::ContentFilter): Constructed m_originalData with an initial capacity (if we know the expected content size). (WebCore::ContentFilter::addData): Buffered incoming data if we are using NEFilterSource. (WebCore::ContentFilter::finishedAddingData): (WebCore::ContentFilter::getReplacementData): Returned m_originalData if the load wasn't blocked. 2014-02-05 Andreas Kling Remove ENABLE(DIRECTORY_UPLOAD). This is a non-standard Chrome extension that none of the WebKit ports have even been building. Rubber-stamped by Ryosuke Niwa. * Configurations/FeatureDefines.xcconfig: * fileapi/File.cpp: * fileapi/File.h: * fileapi/File.idl: * html/FileInputType.cpp: (WebCore::FileInputType::handleDOMActivateEvent): (WebCore::FileInputType::createFileList): (WebCore::FileInputType::receiveDroppedFiles): * html/FileInputType.h: * html/HTMLAttributeNames.in: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseAttribute): * html/HTMLInputElement.idl: * loader/EmptyClients.h: * page/Chrome.cpp: * page/Chrome.h: * page/ChromeClient.h: * platform/FileChooser.h: * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): 2014-02-05 Brady Eidson IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails https://bugs.webkit.org/show_bug.cgi?id=128257 Reviewed by Sam Weinig. Tests: storage/indexeddb/mozilla/autoincrement-indexes.html Add some IDBKeyData utility methods for WK2 to use: * Modules/indexeddb/IDBKeyData.cpp: (WebCore::IDBKeyData::setArrayValue): (WebCore::IDBKeyData::setStringValue): (WebCore::IDBKeyData::setDateValue): (WebCore::IDBKeyData::setNumberValue): * Modules/indexeddb/IDBKeyData.h: * WebCore.exp.in: 2014-02-05 Andreas Kling Turn on ENABLE(8BIT_TEXTRUN) for everyone. Reviewed by Anders Carlsson. * platform/graphics/TextRun.h: (WebCore::TextRun::TextRun): (WebCore::TextRun::subRun): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::constructTextRun): * rendering/RenderBlock.h: 2014-02-05 Enrica Casucci WK2: Caret, selections and autocorrection bubbles are incorrectly positioned when inside an iframe. https://bugs.webkit.org/show_bug.cgi?id=128264 Reviewed by Simon Fraser. Adding new exported function. * WebCore.exp.in: 2014-02-05 Antti Koivisto ElementRuleCollector should not use StyleResolver::State https://bugs.webkit.org/show_bug.cgi?id=128247 Reviewed by Andreas Kling. Make ElementRuleCollector more reusable. * css/ElementRuleCollector.cpp: (WebCore::ElementRuleCollector::collectMatchingRules): (WebCore::ElementRuleCollector::sortAndTransferMatchedRules): (WebCore::ElementRuleCollector::matchAuthorRules): (WebCore::ElementRuleCollector::matchUARules): (WebCore::ElementRuleCollector::ruleMatches): (WebCore::ElementRuleCollector::collectMatchingRulesForList): (WebCore::ElementRuleCollector::matchAllRules): * css/ElementRuleCollector.h: (WebCore::ElementRuleCollector::ElementRuleCollector): Pass the objects that are actually needed rather than the entire State. 2014-02-05 Brent Fulgham [Mac] Correct copy/paste error in scrolling code. https://bugs.webkit.org/show_bug.cgi?id=128258 Reviewed by Anders Carlsson. * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm: (WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection): Use 'setWidth' when dealing with width metrics. 2014-02-05 Yuki Sekiguchi Ruby base oddly justify its text when the text is ideograph and it contains
on Mac. https://bugs.webkit.org/show_bug.cgi?id=106417 Reviewed by David Hyatt. Ruby base always justify even if a line have hard break. Even if next leaf child is line break, InlineTextBox allow trailing expansion. This make
expanded, and there is odd space at the end of the line. Test: fast/text/ruby-justification-br.html * rendering/InlineTextBox.h: (WebCore::InlineTextBox::expansionBehavior): - If next leaf child is line break, we should forbid trailing expansion. 2014-02-05 Andreas Kling FrameLoader::stateMachine() should return a reference. There is always a FrameLoaderStateMatchine, so return it by reference since it can never be null. Reviewed by Anders Carlsson. * history/PageCache.cpp: (WebCore::logCanCachePageDecision): * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::finishedLoading): (WebCore::DocumentLoader::commitData): (WebCore::DocumentLoader::maybeLoadEmpty): * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::createDocument): (WebCore::DocumentWriter::begin): * loader/FrameLoader.cpp: (WebCore::FrameLoader::prepareForHistoryNavigation): * loader/FrameLoader.h: (WebCore::FrameLoader::stateMachine): * loader/HistoryController.cpp: (WebCore::HistoryController::restoreScrollPositionAndViewState): (WebCore::HistoryController::saveDocumentState): * loader/NavigationScheduler.cpp: (WebCore::NavigationScheduler::scheduleLocationChange): (WebCore::NavigationScheduler::scheduleFormSubmission): * loader/ProgressTracker.cpp: (WebCore::ProgressTracker::incrementProgress): * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::storeResourceTimingInitiatorInformation): * page/Frame.cpp: (WebCore::Frame::injectUserScripts): * page/FrameView.cpp: (WebCore::FrameView::qualifiesAsVisuallyNonEmpty): 2014-02-04 Myles C. Maxfield Move characterAt index checks from InlineIterator to RenderText https://bugs.webkit.org/show_bug.cgi?id=128224 Reviewed by Simon Fraser. Move characterAt index checks from InlineIterator to RenderText so that all RenderText calls are covered. Few safe instances are now covered with uncheckedCharacterAt. Merged from Blink: http://src.chromium.org/viewvc/blink?view=revision&revision=150830 Test: fast/text/character-at-crash.html * rendering/InlineIterator.h: (WebCore::InlineIterator::characterAt): * rendering/RenderText.cpp: (WebCore::RenderText::computePreferredLogicalWidths): * rendering/RenderText.h: (WebCore::RenderText::operator[]): (WebCore::RenderText::uncheckedCharacterAt): (WebCore::RenderText::characterAt): 2014-02-05 Andreas Kling Remove leftover seamless iframe logic from containerForRepaint(). The parent-flow-thread-in-different-document case is no longer relevant after