WebKit-https.git
5 years agoDOM timer throttling for hidden plugins
barraclough@apple.com [Wed, 17 Sep 2014 17:00:24 +0000 (17:00 +0000)]
DOM timer throttling for hidden plugins
https://bugs.webkit.org/show_bug.cgi?id=136197

Patch by Gavin Barraclough <barraclough@apple.com> on 2014-09-17
Reviewed by Geoff Garen & Andreas Kling.

For non-visible web pages we slow timers (since they can't be driving animations, etc).
We should do the same for plugins.

Source/WebCore:

There are a few steps to this:
    - JSPluginElementFunctions notifies DOMTimer when script interacts with a plugin.
    - DOMTimerFireState keeps a record of events that occur while a timer is firing.
    - DOMTimer::fired detects timers that interact with invisible/inaudible plugins, and flags itself for throtting.
    - DOMTimer::intervalClampedToMinimum sets timer intervals appropriately.

* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginScriptObject):
    - notify DOMTimer when script interacts with a plugin.
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::isDetectable):
* html/HTMLPlugInElement.h:
    - added isDetectable, to check for visible / audible plugins.
* page/DOMTimer.cpp:
(WebCore::DOMTimerFireState::DOMTimerFireState):
(WebCore::DOMTimerFireState::~DOMTimerFireState):
    - track current DOMTimerFireState.
(WebCore::DOMTimer::DOMTimer):
    - initialize m_throttleState.
(WebCore::DOMTimer::scriptDidInteractWithPlugin):
    - if interaction with a plugin occurs while a timer is firing, record on the DOMTimerFireState.
(WebCore::DOMTimer::fired):
    - set DOMTimerFireState, and update m_throttleState accordingly.
(WebCore::DOMTimer::updateTimerIntervalIfNecessary):
    - remove redundant check of maxTimerNestingLevel (covered by intervalClampedToMinimum).
(WebCore::DOMTimer::intervalClampedToMinimum):
    - Also take m_throttleState into account when throttling.
* page/DOMTimer.h:
    - added scriptDidInteractWithPlugin, m_throttleState.
* platform/audio/AudioHardwareListener.h:
    - enum -> enum class.
* plugins/PluginViewBase.h:
(WebCore::PluginViewBase::audioHardwareActivity):
    - expose audioHardwareActivity on PluginViewBase (previously available in subclass).

Source/WebKit2:

* PluginProcess/WebProcessConnection.cpp:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
    - remove now redundant includes.
* WebProcess/Plugins/PluginView.h:
    - audioHardwareActivity is now virtual, override.

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

5 years agoExclude page visibility from PageThrottler's hysteresis
barraclough@apple.com [Wed, 17 Sep 2014 16:32:10 +0000 (16:32 +0000)]
Exclude page visibility from PageThrottler's hysteresis
https://bugs.webkit.org/show_bug.cgi?id=136866

Reviewed by Geoff Garen.

Including visibility in the hysteresis mechanism has the effect of prolonging the visually
idle timeout, and causing the page hide event to be run at foreground priority. Neither of
these are particularly desirable. Instead separate visibility from the rest of the page
activities we track (and apply hysteresis to), and feed this directly into determination
of the UserActivity state.

* page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler):
    - when the PageThrottler is instantiated call updateUserActivity to set initial UserActivity.
(WebCore::PageThrottler::incrementActivityCount):
    - simplified - when m_activityCount becomes non-zero, start m_hysteresis.
(WebCore::PageThrottler::decrementActivityCount):
    - simplified - when m_activityCount becomes zero, stop m_hysteresis.
(WebCore::PageThrottler::updateUserActivity):
    - end the UserActivity (allow AppNap) if visually idle and no page activity is taking place.
(WebCore::PageThrottler::setViewState):
    - when the visually idle state changed call updateUserActivity to update the UserActivity.
(WebCore::PageThrottler::started):
(WebCore::PageThrottler::stopped):
    - when the hysteresis state changed call updateUserActivity to update the UserActivity.
(WebCore::PageThrottler::updateHysteresis): Deleted.
    - removed: simplified the hysteresis trigger, we now incorporate visually idle state in updateUserActivity.
* page/PageThrottler.h:
    - removed updateHysteresis, added updateUserActivity.
* platform/HysteresisActivity.h:
(WebCore::HysteresisActivity::state):
    - determine the curent state of the HysteresisActivity - started, waiting, or stopped.

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

5 years ago[GTK] Fix runtime critical warnings when writing to the clipboard after r173687
carlosgc@webkit.org [Wed, 17 Sep 2014 16:12:50 +0000 (16:12 +0000)]
[GTK] Fix runtime critical warnings when writing to the clipboard after r173687
https://bugs.webkit.org/show_bug.cgi?id=136891

Reviewed by Philippe Normand.

* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::writeClipboardContents): Check passed
callback is not null before trying to ref/unref it since
g_closure_ref/unref are not null safe.

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

5 years ago[GTK] WebKitWebView::load-failed-with-tls-errors should receive the failing URI inste...
carlosgc@webkit.org [Wed, 17 Sep 2014 16:11:12 +0000 (16:11 +0000)]
[GTK] WebKitWebView::load-failed-with-tls-errors should receive the failing URI instead of a host
https://bugs.webkit.org/show_bug.cgi?id=136889

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

We were passing a host for two different reasons, first because
it's more convenient to add an exception with
webkit_web_context_allow_tls_certificate_for_host(), but also
because we were assuming the active URI is the failing URI in case
of failure. This assumption is correct because our current code
does that, but I'm not sure we are doing it on purpose. That
behaviour is not documented anywhere and it's not what WebKit2 does
internaly.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init):
(webkitWebViewLoadFailedWithTLSErrors):
* UIProcess/API/gtk/WebKitWebView.h:

Tools:

* TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:
(testLoadFailedWithTLSErrors): Check that LoadFailedWithTLSErrors
event was added to the events vector.
* TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp:
(loadFailedCallback): Do not assume the web view URI is the
failing URI when the load fails before the committed state.
(loadFailedWithTLSErrorsCallback): Handle the case of load failure
because of TLS errors can call LoadTrackingTest::loadFailedWithTLSErrors.
(LoadTrackingTest::LoadTrackingTest): Connect to WebKitWebView::load-failed-with-tls-errors.
(LoadTrackingTest::loadFailedWithTLSErrors): Add
LoadFailedWithTLSErrors event to the events vector.
* TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.h:

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

5 years ago[GTK] Add a helper function for display system deduction
zandobersek@gmail.com [Wed, 17 Sep 2014 12:35:08 +0000 (12:35 +0000)]
[GTK] Add a helper function for display system deduction
https://bugs.webkit.org/show_bug.cgi?id=136849

Reviewed by Martin Robinson.

getDisplaySystemType() is a helper function that checks the type of the
default GdkDisplay object and initializes a static variable to the
corresponding value. It then returns the value of that variable.

When building with the GTK+2 API (still the case with the GTK+2 plugin
process) we default to X11.

The function is declared and implemented in GtkUtilities files.

* platform/gtk/GtkUtilities.cpp:
(WebCore::widgetIsOnscreenToplevelWindow):
(WebCore::getDisplaySystemType):
* platform/gtk/GtkUtilities.h:

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

5 years ago[EFL][GTK] Remove WebKit1 related codes
commit-queue@webkit.org [Wed, 17 Sep 2014 09:29:31 +0000 (09:29 +0000)]
[EFL][GTK] Remove WebKit1 related codes
https://bugs.webkit.org/show_bug.cgi?id=136853

Patch by Renato Nagy <rnagy@inf.u-szeged.hu> on 2014-09-17
Reviewed by Csaba Osztrogonác.

Gtk and EFL WebKit1 ports no longer exist. Webkit1 related codes were deleted
from scripts.

.:

* Source/PlatformGTK.cmake:

Tools:

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Compile32bitJSC):
(BuildAndTestWebKit2Factory):
(CompileWebKit1Only): Deleted.
(CompileWebKit2Only): Deleted.
(BuildAndTestWebKit1OnlyFactory): Deleted.
(BuildAndTestWebKit2OnlyFactory): Deleted.
* Scripts/build-webkit:
* Scripts/webkitperl/webkitdirs_unittest/checkForArgumentAndRemoveFromArrayRefGettingValue.pl:
* Scripts/webkitpy/common/config/ports.py:
(GtkWK2Port.build_webkit_command):
(EflWK2Port.build_webkit_command):
* Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest.test_gtk_wk2_port):
* Scripts/webkitpy/port/efl.py:
(EflPort.build_webkit_command):
* Scripts/webkitpy/port/gtk.py:
(GtkPort._built_libraries_path):
(GtkPort._search_paths):
(GtkPort.test_expectations_file_position):
(GtkPort.build_webkit_command):
(GtkPort.run_webkit_tests_command):
(GtkPort.warn_if_bug_missing_in_test_expectations): Deleted.

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

5 years agofilterRootById accidentally clears inAdjacentChain flag
utatane.tea@gmail.com [Wed, 17 Sep 2014 08:54:50 +0000 (08:54 +0000)]
filterRootById accidentally clears inAdjacentChain flag
https://bugs.webkit.org/show_bug.cgi?id=136851

Reviewed by Benjamin Poulain.

Source/WebCore:

Test: fast/selectors/filter-root-node-with-selector-contains-adjacents.html

* dom/SelectorQuery.cpp:
(WebCore::filterRootById):

LayoutTests:

When SubSelector comes, `inAdjacentChain` flag is cleared to false.
So for example, `document.querySelector("span#id + ok")` doesn't work correctly.
In this patch, we handles SubSelector relation correctly; don't change `inAdjacentChain` flag
to filter the right search root node.

* fast/selectors/filter-root-node-with-selector-contains-adjacents-expected.txt: Added.
* fast/selectors/filter-root-node-with-selector-contains-adjacents.html: Added.

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

5 years ago[GTK] Fix layering violations in PasteboardGtk
carlosgc@webkit.org [Wed, 17 Sep 2014 07:05:45 +0000 (07:05 +0000)]
[GTK] Fix layering violations in PasteboardGtk
https://bugs.webkit.org/show_bug.cgi?id=136802

Reviewed by Darin Adler.

Source/WebCore:

Refactor the Pasteboard code moving the WebCore parts to the Editor.

* PlatformGTK.cmake: Add new file to compilation.
* editing/Editor.cpp:
(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::copyImage):
* editing/Editor.h:
* editing/gtk/EditorGtk.cpp: Added.
(WebCore::createFragmentFromPasteBoardData):
(WebCore::Editor::pasteWithPasteboard):
(WebCore::getImageAndURLForElement):
(WebCore::Editor::writeImageToPasteboard):
(WebCore::Editor::writeSelectionToPasteboard):
* page/DragController.cpp:
(WebCore::DragController::startDrag):
* page/gtk/DragControllerGtk.cpp:
(WebCore::DragController::declareAndWriteDragImage):
* platform/Pasteboard.h:
* platform/gtk/DataObjectGtk.cpp: Remove range member, the caller
should call setText() + setMarkup() intead.
(WebCore::DataObjectGtk::setText):
(WebCore::DataObjectGtk::setMarkup):
(WebCore::DataObjectGtk::clearText):
(WebCore::DataObjectGtk::clearMarkup):
(WebCore::DataObjectGtk::clearAllExceptFilenames):
* platform/gtk/DataObjectGtk.h:
(WebCore::DataObjectGtk::hasText):
(WebCore::DataObjectGtk::hasMarkup):
(WebCore::DataObjectGtk::clearImage):
(WebCore::DataObjectGtk::text):
(WebCore::DataObjectGtk::markup):
(WebCore::DataObjectGtk::setRange): Deleted.
* platform/gtk/GtkDragAndDropHelper.h:
* platform/gtk/PasteboardGtk.cpp:
(WebCore::PasteboardImage::PasteboardImage):
(WebCore::PasteboardImage::~PasteboardImage):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::writeSelection): Deleted.
(WebCore::getURLForImageElement): Deleted.
(WebCore::Pasteboard::writeImage): Deleted.
(WebCore::Pasteboard::documentFragment): Deleted.
* platform/gtk/PasteboardHelper.cpp:
(WebCore::displayFromFrame): Deleted.
(WebCore::PasteboardHelper::getPrimarySelectionClipboard): Deleted.
* platform/gtk/PasteboardHelper.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::updateGlobalSelection): Use new API to
update the global selection.

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

5 years agoDragData should not depend on Clipboard, DocumentFragment, and Document
carlosgc@webkit.org [Wed, 17 Sep 2014 06:27:46 +0000 (06:27 +0000)]
DragData should not depend on Clipboard, DocumentFragment, and Document
https://bugs.webkit.org/show_bug.cgi?id=21358

Reviewed by Darin Adler.

Source/WebCore:

Refactor DragData to not depend on Frame, DocumentFragment,
Document and Range. DragData::asFragment() has been moved to
DragController and implemented in the platform specific file.
DragData methods using Frame has been reworked in Mac to not use
Frame, since all other ports were ignoreing the frame parameter.

* page/DragController.cpp:
(WebCore::DragController::documentFragmentFromDragData): Make it
a static member to be able to use createFragmentFromDragData().
(WebCore::DragController::performDragOperation): Update to
DragData API changes.
(WebCore::DragController::dispatchTextInputEventFor): Ditto.
(WebCore::DragController::concludeEditDrag): Ditto.
(WebCore::documentFragmentFromDragData): Deleted.
* page/DragController.h:
* page/efl/DragControllerEfl.cpp:
(WebCore::DragController::createFragmentFromDragData): Move
DragData::asFragment() implementation here.
* page/gtk/DragControllerGtk.cpp:
(WebCore::DragController::dragOperation):
(WebCore::DragController::createFragmentFromDragData): Ditto.
* page/mac/DragControllerMac.mm:
(WebCore::DragController::dragOperation):
(WebCore::DragController::createFragmentFromDragData): Ditto.
* page/win/DragControllerWin.cpp:
(WebCore::DragController::createFragmentFromDragData): Ditto.
* platform/DragData.h:
* platform/efl/DragDataEfl.cpp:
(WebCore::DragData::asPlainText): Remove Frame parameter.
(WebCore::DragData::containsURL): Ditto.
(WebCore::DragData::asURL): Ditto.
(WebCore::DragData::asFragment): Deleted.
* platform/gtk/DragDataGtk.cpp:
(WebCore::DragData::asPlainText): Remove Frame parameter.
(WebCore::DragData::containsCompatibleContent):
(WebCore::DragData::containsURL): Ditto.
(WebCore::DragData::asURL): Ditto.
(WebCore::DragData::asFragment): Deleted.
* platform/mac/DragDataMac.mm:
(WebCore::DragData::asPlainText): Same implementation as the
Editor.
(WebCore::DragData::containsURL): Remove Frame parameter.
(WebCore::DragData::asURL): Use URLByCanonicalizingURL() instead
of using the Editor client.
(WebCore::DragData::asFragment): Deleted.
* platform/win/DragDataWin.cpp:
(WebCore::DragData::containsURL): Remove Frame parameter.
(WebCore::DragData::asURL): Ditto.
(WebCore::DragData::asPlainText): Ditto.
(WebCore::DragData::containsCompatibleContent):
(WebCore::DragData::asFragment): Deleted.

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performDragControllerAction): Update to API
change in DragData::asURL().

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

5 years agoUnreviewed, disable native inlining because it causes build failures.
fpizlo@apple.com [Wed, 17 Sep 2014 04:32:32 +0000 (04:32 +0000)]
Unreviewed, disable native inlining because it causes build failures.

Source/JavaScriptCore:

* JavaScriptCore.xcodeproj/project.pbxproj:

Source/WTF:

* wtf/Platform.h:

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

5 years agoRename Node::childNode(index) to traverseToChildAt(index) for clarity
cdumez@apple.com [Wed, 17 Sep 2014 02:00:40 +0000 (02:00 +0000)]
Rename Node::childNode(index) to traverseToChildAt(index) for clarity
https://bugs.webkit.org/show_bug.cgi?id=136825

Reviewed by Benjamin Poulain.

Rename Node::childNode(index) to traverseToChildAt(index) to make it
clearer that the method is actually traversing the children and thus
potentially expensive.

This patch also avoids calling traverseToChildAt() in a couple of
easily avoidable cases.

No new tests, no behavior change.

* WebCore.exp.in:
* WebCore.order:
Remove symbol for ContainerNode::childNode() as it was renamed. It does
not seem we need to expose ContainerNode::traverseToChildAt().

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::stringForVisiblePositionRange):
(WebCore::AccessibilityObject::lengthForVisiblePositionRange):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
Mechanical renaming.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::traverseToChildAt):
(WebCore::ContainerNode::childNode): Deleted.
* dom/ContainerNode.h:
(WebCore::Node::traverseToChildAt):
(WebCore::Node::childNode): Deleted.
* dom/Node.h:
- Rename Node / ContainerNode's childNode(index) to
  traverseToChildAt(index) to make it clear that it is actually
  traversing the children and thus potentially expensive.
- Clean up the implementation of ContainerNode::traverseToChildAt()
  to avoid the use of an extra |i| variable.

* dom/Position.cpp:
(WebCore::Position::computeNodeBeforePosition):
Avoid calling traverseToChildAt(-1). Relying on the unsigned argument
wrapping and the method returning null in this case is a bit obscure
and causes unnecessary traversal of all children.

(WebCore::Position::computeNodeAfterPosition):
(WebCore::Position::previous):
(WebCore::Position::next):
Mechanical renaming and update variable names to stop using
abbreviations as per coding style.

* dom/PositionIterator.h:
(WebCore::PositionIterator::PositionIterator):
* dom/Range.cpp:
(WebCore::Range::insertNode):
(WebCore::Range::checkNodeWOffset):
(WebCore::Range::firstNode):
(WebCore::Range::pastLastNode):
* dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::set):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::removeChildrenInRange):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/TextIterator.cpp:
(WebCore::nextInPreOrderCrossingShadowBoundaries):
(WebCore::TextIterator::node):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
* editing/VisibleUnits.cpp:
(WebCore::nextLinePosition):
* editing/cocoa/HTMLConverter.mm:
(WebCore::editingAttributedStringFromRange):
Mechanical renaming.

* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::innerPatchChildren):
Iterate over children while incrementing the |i| variable to avoid
calling traverseToChildAt(index) repeatedly and thus traversing the
children from the beginning every time.

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

5 years agoWeb Inspector: Reduce a bit of churn setting initial remote inspection state
commit-queue@webkit.org [Wed, 17 Sep 2014 00:49:20 +0000 (00:49 +0000)]
Web Inspector: Reduce a bit of churn setting initial remote inspection state
https://bugs.webkit.org/show_bug.cgi?id=136875

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

Source/JavaScriptCore:

* API/JSContextRef.cpp:
(JSGlobalContextCreateInGroup):
Set the defaultl remote debuggable state at the API boundary.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
Do not set remote debuggable state here. Let clients set it.

Source/WebCore:

* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::finishCreation):
We no longer need to toggle this state.

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

5 years agoShould have an editing behavior specific for IOS.
enrica@apple.com [Wed, 17 Sep 2014 00:48:01 +0000 (00:48 +0000)]
Should have an editing behavior specific for IOS.
https://bugs.webkit.org/show_bug.cgi?id=136876

Reviewed by Sam Weinig.

This patch introduces a new editing behavior type to be able
to perform editing tasks that are specific to iOS.
All the existing EditingBehavior methods return the same boolean
value for for Mac and iOS. A new one has been introduced to support
a specific behavior in the DeleteSelectionCommand.

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::doApply):
* editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldConsiderSelectionAsDirectional):
(WebCore::EditingBehavior::shouldCenterAlignWhenSelectionIsRevealed):
(WebCore::EditingBehavior::shouldToggleStyleBasedOnStartOfSelection):
(WebCore::EditingBehavior::shouldAlwaysGrowSelectionWhenExtendingToBoundary):
(WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
(WebCore::EditingBehavior::shouldExtendSelectionByWordOrLineAcrossCaret):
(WebCore::EditingBehavior::shouldRebalanceWhiteSpacesInSecureField):
* editing/EditingBehaviorTypes.h:
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::positionForPlatform):
* page/Settings.cpp:
(WebCore::editingBehaviorTypeForPlatform):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setEditingBehavior):

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

5 years agoPromise: Drop Promise.cast
utatane.tea@gmail.com [Wed, 17 Sep 2014 00:32:18 +0000 (00:32 +0000)]
Promise: Drop Promise.cast
https://bugs.webkit.org/show_bug.cgi?id=136222

Reviewed by Sam Weinig.

Promise.cast is dropped and Promise.resolve is replaced with old Promise.cast.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h:
* runtime/JSPromiseConstructor.cpp:
(JSC::JSPromiseConstructorFuncResolve):
(JSC::JSPromiseConstructorFuncRace):
(JSC::JSPromiseConstructorFuncAll):
(JSC::JSPromiseConstructorFuncCast): Deleted.

LayoutTests:

* js/dom/Promise-static-cast-expected.txt: Removed.
* js/dom/Promise-static-cast.html: Removed.
* js/dom/Promise-static-resolve-expected.txt:
* js/dom/Promise-static-resolve.html:
* js/dom/Promise-types-expected.txt:
* js/dom/Promise-types.html:

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

5 years agoWeb Inspector: Add Versioned Inspector protocol JSON files for iOS 8.0
commit-queue@webkit.org [Tue, 16 Sep 2014 23:47:20 +0000 (23:47 +0000)]
Web Inspector: Add Versioned Inspector protocol JSON files for iOS 8.0
https://bugs.webkit.org/show_bug.cgi?id=136873

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

* Scripts/update-LegacyInspectorBackendCommands.rb:
* UserInterface/Protocol/Legacy/8.0/InspectorJSBackendCommands.js: Added.
* UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js: Added.
* Versions/InspectorJS-iOS-8.0.json: Added.
* Versions/InspectorWeb-iOS-8.0.json: Added.

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

5 years agoUnreviewed, rolling out r173670.
enrica@apple.com [Tue, 16 Sep 2014 23:32:56 +0000 (23:32 +0000)]
Unreviewed, rolling out r173670.
https://bugs.webkit.org/show_bug.cgi?id=136871

Creates layering violation (Requested by enrica on #webkit).

Reverted changeset:

"Move HTMLConverter from editing/cocoa to platform/cocoa."
https://bugs.webkit.org/show_bug.cgi?id=136474
http://trac.webkit.org/changeset/173670

Patch by Commit Queue <commit-queue@webkit.org> on 2014-09-16

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

5 years ago[Mac] MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput doesn't work with...
bfulgham@apple.com [Tue, 16 Sep 2014 23:27:22 +0000 (23:27 +0000)]
[Mac] MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput doesn't work with rotated movies
https://bugs.webkit.org/show_bug.cgi?id=136872

Patch by Eric Carlson <eric.carlson@apple.com> on 2014-09-16
Reviewed by Tim Horton.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator): Add logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): Apply the video track
    preferred transform.

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

5 years agobmalloc: moved line caches from the deallocator to the allocator
ggaren@apple.com [Tue, 16 Sep 2014 22:37:15 +0000 (22:37 +0000)]
bmalloc: moved line caches from the deallocator to the allocator
https://bugs.webkit.org/show_bug.cgi?id=136868

Reviewed by Gavin Barraclough.

I did this mostly as a simplification, to make it easier to change the
allocation strategy.

No throughput change on MallocBench. Saves about 50kB.

Since the deallocator needs to lock the heap when freeing lines anyway,
there isn't much benefit to giving the deallocator a local cache of
deallocated lines.

We still give the allocator a local cache of lines because that does
reduce the frequency at which it needs to lock the heap in order to
acquire more lines.

* bmalloc/Allocator.cpp:
(bmalloc::Allocator::scavenge):
(bmalloc::Allocator::allocateSmallLine):
(bmalloc::Allocator::allocateMediumLine):
(bmalloc::Allocator::allocateMedium):
(bmalloc::Allocator::allocateSlowCase):
* bmalloc/Allocator.h:
* bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::Deallocator):
(bmalloc::Deallocator::scavenge):
(bmalloc::Deallocator::processObjectLog):
(bmalloc::Deallocator::deallocateSmallLine): Deleted.
(bmalloc::Deallocator::allocateSmallLine): Deleted.
(bmalloc::Deallocator::deallocateMediumLine): Deleted.
(bmalloc::Deallocator::allocateMediumLine): Deleted.
* bmalloc/Deallocator.h:

* bmalloc/Sizes.h:
* bmalloc/VMAllocate.h: Took the opportunity to make the line cache size
exactly one page in size. That's about what we were shooting for anyway,
and it may make it easier to switch to per-page allocation in future.

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

5 years agoMake spelling tests more reliable by using a word that is misspelled everywhere
mmaxfield@apple.com [Tue, 16 Sep 2014 22:36:41 +0000 (22:36 +0000)]
Make spelling tests more reliable by using a word that is misspelled everywhere
https://bugs.webkit.org/show_bug.cgi?id=136865

Reviewed by Simon Fraser.

Some platforms recognize "wellcome" as spelled correctly.

* editing/spelling/context-menu-suggestions.html:
* editing/spelling/spelling-with-punctuation-selection-expected.txt:
* editing/spelling/spelling-with-punctuation-selection.html:

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

5 years ago[iOS] Add iOS SDK name and version suffix to WebKitSystemInterface debug/release...
dbates@webkit.org [Tue, 16 Sep 2014 22:29:44 +0000 (22:29 +0000)]
[iOS] Add iOS SDK name and version suffix to WebKitSystemInterface debug/release product name
https://bugs.webkit.org/show_bug.cgi?id=136862

Reviewed by David Kilzer.

Source/WebKit/mac:

* Configurations/DebugRelease.xcconfig:

Source/WebKit2:

* Configurations/DebugRelease.xcconfig:

Tools:

* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Remove hardcoded iOS 8.0
IPHONEOS_DEPLOYMENT_TARGET to ensure we link against the latest version of WebKitSystemInterface.

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

5 years agoLocal OSR availability calculation should be reusable
fpizlo@apple.com [Tue, 16 Sep 2014 22:18:23 +0000 (22:18 +0000)]
Local OSR availability calculation should be reusable
https://bugs.webkit.org/show_bug.cgi?id=136860

Reviewed by Oliver Hunt.

Previously, the FTL lowering repeated some of the logic of the OSR availability analysis
phase. Humorously, it actually did this logic a bit differently; for example the phase
would claim that a SetLocal makes both the flush and the node available while the FTL
only claimed that the flush was available. This different was benign, but still: yuck!

Also, previously if you wanted to use availability information then you'd have to repeat
some of the logic that both the phase itself and the FTL lowering already had.
Presumably, you could get epic style points for finding other benign ways in which to
make your copy of the logic different from the other two!

This reduces the amount of style points one could conceivably get in the future when
hacking JSC, by creating a single reusable thingy for computing local OSR availability.

* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
(JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator):
(JSC::DFG::LocalOSRAvailabilityCalculator::~LocalOSRAvailabilityCalculator):
(JSC::DFG::LocalOSRAvailabilityCalculator::beginBlock):
(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):
* dfg/DFGOSRAvailabilityAnalysisPhase.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal):
(JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::availability):
(JSC::FTL::LowerDFGToLLVM::compileMovHint): Deleted.
(JSC::FTL::LowerDFGToLLVM::compileZombieHint): Deleted.
(JSC::FTL::LowerDFGToLLVM::initializeOSRExitStateForBlock): Deleted.

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

5 years agoMac queue slaves should reboot every so often
rniwa@webkit.org [Tue, 16 Sep 2014 22:14:42 +0000 (22:14 +0000)]
Mac queue slaves should reboot every so often
https://bugs.webkit.org/show_bug.cgi?id=136791

Reviewed by Alexey Proskuryakov.

Reboot Mac queue slaves every night between 1 A.M. and 6 A.M.

* EWSTools/start-queue-mac.sh:

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

5 years agoMove HTMLConverter from editing/cocoa to platform/cocoa.
enrica@apple.com [Tue, 16 Sep 2014 21:00:53 +0000 (21:00 +0000)]
Move HTMLConverter from editing/cocoa to platform/cocoa.
https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Benjamin Poulain.

This is a platform specific class and it belongs to the platform folder.

* WebCore.xcodeproj/project.pbxproj:
* editing/cocoa: Removed.
* editing/cocoa/HTMLConverter.h: Removed.
* editing/cocoa/HTMLConverter.mm: Removed.
* platform/cocoa/HTMLConverter.h: Copied from editing/cocoa/HTMLConverter.h.
* platform/cocoa/HTMLConverter.mm: Copied from editing/cocoa/HTMLConverter.mm.

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

5 years agoRemove PLATFORM(IOS) from WebCore/editing (Part 3).
enrica@apple.com [Tue, 16 Sep 2014 20:38:46 +0000 (20:38 +0000)]
Remove PLATFORM(IOS) from WebCore/editing (Part 3).
https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Benjamin Poulain.

This is the updated version of the patch that was landed in r173340.
This patch removes the use of PLATFORM(IOS) from TextAffinity.h
and removes the assumption that EAffinity values match NSSelectionAffinity
values. It also removes the includes in TextAffinity.h, creating the need to
include explicitly the files when necessary.

Source/WebCore:

* editing/TextAffinity.h:
(kit): Deleted.
(core): Deleted.
* editing/cocoa/HTMLConverter.mm:
* page/mac/WebCoreFrameView.h:

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h:
(kit):
(core):

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
* WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:

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

5 years agooverflow:scroll should not leave space for a scroll corner with overlay scrollbars
bdakin@apple.com [Tue, 16 Sep 2014 20:32:29 +0000 (20:32 +0000)]
overflow:scroll should not leave space for a scroll corner with overlay scrollbars
https://bugs.webkit.org/show_bug.cgi?id=136861

Reviewed by Sam Weinig.

overflow:scroll should behave like overflow:auto when the scrollbar will render as
an overlay scrollbar.

Re-name hasAutoVerticalScrollbar()/Horizontal to
hasVerticalScrollbarWithAutoBehavior()/Horizontal, and return true for
overflow:scroll scrollbars that will render as overlay scrollbars.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior):
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior):
* rendering/RenderBox.h:
(WebCore::RenderBox::scrollsOverflowX):
(WebCore::RenderBox::scrollsOverflowY):
(WebCore::RenderBox::hasAutoVerticalScrollbar): Deleted.
(WebCore::RenderBox::hasAutoHorizontalScrollbar): Deleted.

Re-name overflowRequiresScrollbar() to styleRequiresScrollbar() and also re-name
overflowDefinesAutomaticScrollbar() to styleDefinesAutomaticScrollbar(), and make
these functions take into account the fact that overflow:scroll should act like
overflow:auto when the scrollbar will render as an overlay scrollbar.
* rendering/RenderLayer.cpp:
(WebCore::styleRequiresScrollbar):
(WebCore::styleDefinesAutomaticScrollbar):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
(WebCore::RenderLayer::calculateClipRects):

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

5 years agoWeb Inspector: Fix ESLint no-extra-bind warnings
commit-queue@webkit.org [Tue, 16 Sep 2014 19:54:12 +0000 (19:54 +0000)]
Web Inspector: Fix ESLint no-extra-bind warnings
https://bugs.webkit.org/show_bug.cgi?id=136659

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

* .eslintrc:
* UserInterface/Controllers/LayerTreeManager.js:
(WebInspector.LayerTreeManager.prototype.layersForNode):

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

5 years ago[Curl] Sometimes incomplete or empty content can be loaded from cache.
commit-queue@webkit.org [Tue, 16 Sep 2014 19:22:39 +0000 (19:22 +0000)]
[Curl] Sometimes incomplete or empty content can be loaded from cache.
https://bugs.webkit.org/show_bug.cgi?id=136855

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-16
Reviewed by Alex Christensen.

Sometimes, when two requests with the same url are started at the same time,
there is a possibility of loading incomplete or empty content from the cache.
This happens because the method CurlCacheEntry::isLoading() is returning the wrong status
in the time period between the headers are received, and the content data is received.
This can be fixed by using a flag for the load status, instead of checking whether
the content file is open.

* platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::CurlCacheEntry): Initialize loading flag.
(WebCore::CurlCacheEntry::isLoading): Return loading flag.
(WebCore::CurlCacheEntry::didFail): Call new method to set loading flag.
(WebCore::CurlCacheEntry::didFinishLoading): Ditto.
(WebCore::CurlCacheEntry::setIsLoading): Added new method to set loading flag.
* platform/network/curl/CurlCacheEntry.h: Added loading flag and new method to set it.
* platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::didReceiveResponse): Call new method to set loading flag.

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

5 years agoRename Node::nodeIndex() to computeNodeIndex() for clarity
cdumez@apple.com [Tue, 16 Sep 2014 18:28:57 +0000 (18:28 +0000)]
Rename Node::nodeIndex() to computeNodeIndex() for clarity
https://bugs.webkit.org/show_bug.cgi?id=136826

Reviewed by Benjamin Poulain.

Rename Node::nodeIndex() to computeNodeIndex() to make it clear that
index is being computed and that calling this method is potentially
expensive.

No new tests, no behavior change.

* WebCore.exp.in:
* WebCore.order:
Rename exported symbol for Node::nodeIndex() as well.

* dom/Document.cpp:
(WebCore::Document::caretRangeFromPoint):
* dom/Node.cpp:
(WebCore::Node::computeNodeIndex):
(WebCore::Node::nodeIndex): Deleted.
* dom/Node.h:
* dom/NodeWithIndex.h:
(WebCore::NodeWithIndex::index):
Clean up implementation to reduce the scope of the Node variable and
to follow coding style (variable naming, spacing, star placement).

* dom/Position.cpp:
(WebCore::Position::computeOffsetInContainerNode):
(WebCore::Position::previous):
(WebCore::Position::next):
(WebCore::Position::upstream):
(WebCore::Position::downstream):
* dom/Position.h:
(WebCore::positionInParentBeforeNode):
(WebCore::positionInParentAfterNode):
* dom/Range.cpp:
(WebCore::Range::compareNode):
(WebCore::Range::intersectsNode):
(WebCore::Range::processContents):
(WebCore::Range::insertNode):
(WebCore::Range::setStartAfter):
(WebCore::Range::setEndBefore):
(WebCore::Range::setEndAfter):
(WebCore::Range::setStartBefore):
* dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::ensureOffsetIsValid):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
* editing/Editor.cpp:
(WebCore::Editor::avoidIntersectionWithDeleteButtonController):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
* editing/TextIterator.cpp:
(WebCore::TextIterator::range):
(WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement):
(WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
* editing/htmlediting.cpp:
(WebCore::updatePositionForNodeRemoval):
* html/HTMLTextFormControlElement.cpp:
(WebCore::setContainerAndOffsetForRange):
* page/DOMSelection.cpp:
(WebCore::DOMSelection::getRangeAt):
(WebCore::DOMSelection::containsNode):
(WebCore::DOMSelection::shadowAdjustedOffset):
* rendering/RenderBlock.cpp:
(WebCore::positionForPointRespectingEditingBoundaries):
* rendering/RenderTreeAsText.cpp:
(WebCore::nodePosition):

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

5 years agoVideos with controls enabled never receive 'dragstart' events.
jer.noble@apple.com [Tue, 16 Sep 2014 18:09:21 +0000 (18:09 +0000)]
Videos with controls enabled never receive 'dragstart' events.
https://bugs.webkit.org/show_bug.cgi?id=136837

Reviewed by Eric Carlson.

Fixes a crash regression introduced by r173631. Node::contains() has an interesting property of returning false
if `this` is NULL. Rather than depending on this behavior, explicitly NULL-check state.source and bail early.

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

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

5 years ago[Win] Unreviewed. Skip failing WebGL conformance test.
roger_fong@apple.com [Tue, 16 Sep 2014 18:08:13 +0000 (18:08 +0000)]
[Win] Unreviewed. Skip failing WebGL conformance test.

* platform/win/TestExpectations:

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

5 years agoStandardized the return type of a delegate method.
mitz@apple.com [Tue, 16 Sep 2014 18:00:22 +0000 (18:00 +0000)]
Standardized the return type of a delegate method.

Rubber-stamped by Anders Carlsson.

* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Changed a return type from bool to BOOL.

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

5 years ago[as] Updated Assamese translations of WebKitGtk+
gns@gnome.org [Tue, 16 Sep 2014 17:27:02 +0000 (17:27 +0000)]
[as] Updated Assamese translations of WebKitGtk+
https://bugs.webkit.org/show_bug.cgi?id=136480

Patch by Nilamdyuti Goswami <ngoswami@redhat.com> on 2014-09-16
Reviewed by Gustavo Noronha.

* as.po: updated.

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

5 years agoURTBF after r173659.
ossy@webkit.org [Tue, 16 Sep 2014 16:18:59 +0000 (16:18 +0000)]
URTBF after r173659.

After r173659 convertToIntLength() is used only inside ENABLE(DASHBOARD_SUPPORT), so it
became unused function and caused build failure if ENABLE(DASHBOARD_SUPPORT) is false.

Source/WebCore/css/StyleResolver.cpp:1471:15: error: 'WebCore::Length WebCore::convertToIntLength(const WebCore::CSSPrimitiveValue*, const WebCore::CSSToLengthConversionData&)'
defined but not used [-Werror=unused-function] cc1plus: all warnings being treated as errors

* css/StyleResolver.cpp: Missing ENABLE(DASHBOARD_SUPPORT) guard added.

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

5 years agoSource/WebCore:
darin@apple.com [Tue, 16 Sep 2014 15:58:12 +0000 (15:58 +0000)]
Source/WebCore:
Scroll snap properties don't handle inherit and initial propertly.
https://bugs.webkit.org/show_bug.cgi?id=136643

Reviewed by Beth Dakin.

Restructured scroll snap code both to handle inherit and initial, and to reduce the
total code size a bit, fixing a few minor bugs along the way. Updated the regression
tests to cover the new parts.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::addValuesForNamedGridLinesAtIndex): Use a modern for loop.
(WebCore::scrollSnapDestination): Changed to take a LengthSize. Also streamlined.
(WebCore::scrollSnapPoints): Changed to to take a ScrollSnapPoints. Also streamlined and
added code to handle the "uses elements" case; serialize that as an identifier, not the
string "elements", fixing a minor bug.
(WebCore::scrollSnapCoordinates): Changed to take a Vector<LengthSize>. Also streamlined
and added code to handle the empty vector case; serialize that as an identifier, not the
string "none", fixing a minor bug.
(WebCore::ComputedStyleExtractor::getFontSizeCSSValuePreferringKeyword): Use nullptr.
(WebCore::counterToCSSValue): Use nullptr.
(WebCore::ComputedStyleExtractor::styledNode): Use nullptr.
(WebCore::ComputedStyleExtractor::propertyValue): Use nullptr. Moved CSS_SCROLL_SNAP
to a more appropriate section of the switch statement. Made it just call through to
the functions above in a more straightforward way.
(WebCore::CSSComputedStyleDeclaration::getPropertyValue): Reversed logic to use early
return and to call emptyString.
(WebCore::CSSComputedStyleDeclaration::item): Use emptyString.
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForSidesShorthand): Use nullptr.
(WebCore::CSSComputedStyleDeclaration::parentRule): Use nullptr.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use nullptr.
(WebCore::CSSComputedStyleDeclaration::getPropertyPriority): Use emptyString.
(WebCore::CSSComputedStyleDeclaration::getPropertyShorthand): Use emptyString.

* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyMarqueeIncrement::applyValue): Use the switch statement for the
invalid value as well as for the valid values, rather than a separate if statement.
Call convertToLength directly rather than through a StyleResolver static member function.

* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValue): Fixed a formatting mistake.

* css/StyleResolver.cpp:
(WebCore::convertToIntLength): Made this function local to this file instead of a
static member function.
(WebCore::convertToFloatLength): Ditto.
(WebCore::StyleResolver::parseSnapCoordinate): Added. Used to keep snap point parsing
code small.
(WebCore::StyleResolver::parseSnapCoordinatePair): Ditto.
(WebCore::StyleResolver::parseSnapPoints): Added. Parses an entire snap points property.
(WebCore::StyleResolver::applyProperty): Removed various bits of redundant code that
were not using the primitiveValue value already in a local variable. Added the
HANDLE_INHERIT_AND_INITIAL to all the scroll snap properties and updated since the
RenderStyle structure now more closely matches the CSS properties.

* css/StyleResolver.h: Updated for above changes, and removed a redundant "private:".

* page/scrolling/AxisScrollSnapOffsets.cpp:
(WebCore::appendChildSnapOffsets): Use auto& instead of SnapCoordinate since that type
is now gone. Updated since coordinates are now LengthSize.
(WebCore::updateFromStyle): Changed to take a reference instead of a pointer and
also to fetch the data from RenderStyle in a new way that more closely matches the
CSS properties.
(WebCore::updateSnapOffsetsForScrollableArea): Ditto. Also moved some memory allocation
inside if statements so we don't wastefully allocate and destroy.

* rendering/style/RenderStyle.cpp: Added an include of StyleScrollSnapPoints.h now
that the header doesn't include them. Moved the conditional includes out of the main
include paragraph (even though I don't think conditional includes are usually a good
idea).
(WebCore::RenderStyle::initialScrollSnapPointsX): Added.
(WebCore::RenderStyle::initialScrollSnapPointsY): Added.
(WebCore::RenderStyle::initialScrollSnapDestination): Added.
(WebCore::RenderStyle::initialScrollSnapCoordinates): Added.
(WebCore::RenderStyle::scrollSnapPointsX): Added.
(WebCore::RenderStyle::scrollSnapPointsY): Added.
(WebCore::RenderStyle::scrollSnapDestination): Added.
(WebCore::RenderStyle::scrollSnapCoordinates): Added.
(WebCore::RenderStyle::setScrollSnapPointsX): Added.
(WebCore::RenderStyle::setScrollSnapPointsY): Added.
(WebCore::RenderStyle::setScrollSnapDestination): Added.
(WebCore::RenderStyle::setScrollSnapCoordinates): Added.

* rendering/style/RenderStyle.h: Replaced the include of StyleScrollSnapPoints.h with
a forward declaration of ScrollSnapPoints. Removed getters and setters for the old
style properties and replaced them with new ones that match the CSS properties more
closely. Tweaked formatting a bit. Added initial value functions for the the scroll snap
properties.

* rendering/style/StyleRareNonInheritedData.cpp: Added include of StyleScrollSnapPoints.h
now that RenderStyle.h doesn't include it.
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Updated since
m_scrollSnapType is now unsigned instead of ScrollSnapType.

* rendering/style/StyleRareNonInheritedData.h: Fixed type of m_scrollSnapType to be
unsigned instead of ScrollSnapType. This should have been causing problems on Windows,
but I think we got lucky and had no detectable problems.

* rendering/style/StyleScrollSnapPoints.cpp:
(WebCore::ScrollSnapPoints::ScrollSnapPoints): Added.
(WebCore::operator==): Added overloads for both ScrollSnapPoints and also for
StyleScrollSnapPoints; using a free function for both since both have public data.
(WebCore::defaultScrollSnapDestination): Added, replaces a static member function.
(WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Updated both the default
constructor and the copy constructor for the new design.

* rendering/style/StyleScrollSnapPoints.h: Added a ScrollSnapPoints struct for the
type of the snap-points-x and snap-points-y CSS properties. Changed the data members
of StyleScrollSnapPoints to match the various CSS properties rather than breaking
out all the data into separate data members.
(WebCore::StyleScrollSnapPoints::defaultRepeatOffset): Deleted. Replaced by the
default constructor for ScrollSnapPoints.
(WebCore::StyleScrollSnapPoints::defaultDestinationOffset): Deleted. Replaced by
a function inside the .cpp file.

LayoutTests:
Scroll snap properties do not handle inherit and initial properly.
https://bugs.webkit.org/show_bug.cgi?id=136643

Reviewed by Beth Dakin.

* css3/scroll-snap/scroll-snap-property-computed-style-expected.txt: Added
expected passing results from new tests.
* css3/scroll-snap/scroll-snap-property-computed-style.js: Added new test
cases that cover inherit and initial. Before, these would crash or fail.

* css3/scroll-snap/scroll-snap-property-parsing-expected.txt: Added expected
passing results from new tests, and also updated to expect pass rather than
fail for the tests that had incorrect expected results.

* css3/scroll-snap/scroll-snap-property-parsing.js: Added new test cases that
cover inherit and initial. Also updated expected results for certain pixel
repeat cases that were incorrect.

* platform/mac/TestExpectations: Fixed an unrelated syntax error in this file.

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

5 years ago[GTK] Typo in webkit_security_manager_register_uri_scheme_as_empty_document document...
commit-queue@webkit.org [Tue, 16 Sep 2014 12:36:41 +0000 (12:36 +0000)]
[GTK] Typo in  webkit_security_manager_register_uri_scheme_as_empty_document documentation
https://bugs.webkit.org/show_bug.cgi?id=136852

Patch by Tomas Popela <tpopela@redhat.com> on 2014-09-16
Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/WebKitSecurityManager.cpp:

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

5 years agoUnreviewed gardening, skip one more tests on Windows.
ossy@webkit.org [Tue, 16 Sep 2014 09:29:45 +0000 (09:29 +0000)]
Unreviewed gardening, skip one more tests on Windows.

* Scripts/run-javascriptcore-tests:

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

5 years agoJSC test gardening
ossy@webkit.org [Tue, 16 Sep 2014 08:58:06 +0000 (08:58 +0000)]
JSC test gardening
https://bugs.webkit.org/show_bug.cgi?id=136823

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* tests/mozilla/mozilla-tests.yaml: Unskip passing tests.

Tools:

* Scripts/run-javascriptcore-tests: Skip tests on only the affected platforms.

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

5 years agoFix FindICU.cmake
commit-queue@webkit.org [Tue, 16 Sep 2014 08:57:12 +0000 (08:57 +0000)]
Fix FindICU.cmake
https://bugs.webkit.org/show_bug.cgi?id=136820

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

* Source/cmake/FindICU.cmake:

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

5 years ago[GStreamer] http/tests/media/video-auth.html is failing
commit-queue@webkit.org [Tue, 16 Sep 2014 08:46:10 +0000 (08:46 +0000)]
[GStreamer] http/tests/media/video-auth.html is failing
https://bugs.webkit.org/show_bug.cgi?id=126619

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-16
Reviewed by Philippe Normand.

Source/WebCore:

Test: http/tests/media/video-auth-cors.html

Use stored credentials when retrieving videos following image loading behavior
(i.e. stored credentials are always used except when in cors anonymous mode),
except that requesting credentials from user remains disabled for cross-origin requests.

Patch is covered by http/tests/media/video-auth.html.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(CachedResourceStreamingClient::CachedResourceStreamingClient): Enable using stored credentials except when using cors anonymous mode.

LayoutTests:

* platform/efl/TestExpectations: Removed failure expectation for http/tests/media/video-auth.html.
* platform/efl/http/tests/media/video-auth-expected.txt: Added.
* platform/gtk/TestExpectations: Removed failure expectation for http/tests/media/video-auth.html.
* platform/gtk/http/tests/media/video-auth-expected.txt: Added.

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

5 years agoRemove shouldAbortEarly cruft from master.cfg
evab.u-szeged@partner.samsung.com [Tue, 16 Sep 2014 08:16:36 +0000 (08:16 +0000)]
Remove shouldAbortEarly cruft from master.cfg
https://bugs.webkit.org/show_bug.cgi?id=136779

Reviewed by Csaba Osztrogonác.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(ConfigureBuild.start):
(RunWebKitTests.start):
(RunWebKit2Tests.start): Deleted.

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

5 years agoAdd version of drawFocusIfNeeded that take a Path2D parameter.
commit-queue@webkit.org [Tue, 16 Sep 2014 08:13:06 +0000 (08:13 +0000)]
Add version of drawFocusIfNeeded that take a Path2D parameter.
https://bugs.webkit.org/show_bug.cgi?id=136846

Patch by Jinho Bang <jinho.bang@samsung.com> on 2014-09-16
Reviewed by Dirk Schulze.

Source/WebCore:

Tests: fast/canvas/draw-focus-if-needed-with-path.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawFocusIfNeeded):
(WebCore::CanvasRenderingContext2D::drawFocusIfNeededInternal):
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/CanvasRenderingContext2D.idl:

LayoutTests:

* fast/canvas/draw-focus-if-needed-expected.txt: Added.
* fast/canvas/draw-focus-if-needed-with-path-expected.txt: Added.
* fast/canvas/draw-focus-if-needed-with-path.html: Added.
* fast/canvas/draw-focus-if-needed.html: Added.

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

5 years ago[GTK] Add WaylandDisplay
zandobersek@gmail.com [Tue, 16 Sep 2014 06:53:30 +0000 (06:53 +0000)]
[GTK] Add WaylandDisplay
https://bugs.webkit.org/show_bug.cgi?id=136216

Reviewed by Martin Robinson.

Add the WaylandDisplay class. This class is used in the LayerTreeHostGtk,
in the WebProcess, and controls the connection to the nested Wayland
compositor in the UIProcess. Only one instance of the class is used in the
WebProcess, accessible via the static WaylandDisplay::instance() method.

The WaylandDisplay constructor performs the EGL initialization while also
querying the Wayland register, resulting in initializing client-side objects
that can interact with the wl_compositor and wl_webkitgtk interfaces
implemented in the nested Wayland compositor. The single class instance is
only deemed properly initialized if it picked up the Wayland interface objects
and has properly acquired the EGL display and config.

WaylandDisplay::createSurface() is called by the LayerTreeHostGtk during
its own initialization. The method creates a new wl_surface object via the
wl_compositor interface and a new wl_egl_window object that's based on that
surface. For the wl_egl_window object, we fall back to a width or height of 1
in case the passed-in value for either is 0. This avoids problems in Mesa
where widths or heights of 0 are not supported.

We associate the created surface with the passed-in widget ID, as provided
by LayerTreeHostGtk, via the wl_webkitgtk interface. This enables proper
mapping of Wayland surfaces and the GtkWidgets in the UIProcess and makes
it possible for the nested Wayland compositor to correctly determine which
GtkWidget has to be redrawn after some surface has been committed.

WaylandDisplay::createSharingGLContext() creates a new GLContextEGL object
that's to be used as a sharing context. The method creates a new surface
via the wl_compositor interface and uses it to create a dummy native EGL
window that's 1x1px in size. The GLContextEGL object is then created
through the static GLContextEGL::createWindowContext() method.

* PlatformGTK.cmake:
* platform/graphics/wayland/WaylandDisplay.cpp: Added.
(WebCore::WaylandDisplay::globalCallback):
(WebCore::WaylandDisplay::globalRemoveCallback):
(WebCore::WaylandDisplay::instance):
(WebCore::WaylandDisplay::WaylandDisplay):
(WebCore::WaylandDisplay::createSurface):
(WebCore::WaylandDisplay::createSharingGLContext):
* platform/graphics/wayland/WaylandDisplay.h: Added.
(WebCore::WaylandDisplay::nativeDisplay):
(WebCore::WaylandDisplay::eglDisplay):
* platform/graphics/wayland/WaylandSurface.cpp:
(WebCore::WaylandSurface::~WaylandSurface): Assert that the WaylandDisplay
instance is present before going on to destroy the surface resources.

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

5 years agoRename LiveNodeLists / HTMLCollections's nodeMatches() to elementMatches()
cdumez@apple.com [Tue, 16 Sep 2014 05:36:37 +0000 (05:36 +0000)]
Rename LiveNodeLists / HTMLCollections's nodeMatches() to elementMatches()
https://bugs.webkit.org/show_bug.cgi?id=136844

Reviewed by Sam Weinig.

Rename LiveNodeLists / HTMLCollections's nodeMatches() to elementMatches()
for clarity as the argument is an Element.

No new tests, no behavior change.

* dom/ClassNodeList.h:
(WebCore::ClassNodeList::elementMatches):
(WebCore::ClassNodeList::nodeMatches): Deleted.
* dom/DocumentOrderedMap.cpp:
(WebCore::keyMatchesWindowNamedItem):
(WebCore::keyMatchesDocumentNamedItem):
* dom/Element.cpp:
(WebCore::Element::updateNameForDocument):
(WebCore::Element::updateIdForDocument):
* dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::namedItem):
* dom/LiveNodeList.h:
(WebCore::CachedLiveNodeList<NodeListType>::collectionBegin):
(WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
* dom/NameNodeList.h:
(WebCore::NameNodeList::elementMatches):
(WebCore::NameNodeList::nodeMatches): Deleted.
* dom/TagNodeList.h:
(WebCore::TagNodeList::elementMatches):
(WebCore::HTMLTagNodeList::elementMatches):
(WebCore::TagNodeList::nodeMatches): Deleted.
(WebCore::HTMLTagNodeList::nodeMatches): Deleted.
* html/HTMLCollection.cpp:
(WebCore::isMatchingElement):
* html/HTMLNameCollection.cpp:
(WebCore::WindowNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::WindowNameCollection::elementMatches):
(WebCore::DocumentNameCollection::elementMatchesIfIdAttributeMatch):
(WebCore::DocumentNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::DocumentNameCollection::elementMatches):
(WebCore::WindowNameCollection::nodeMatchesIfNameAttributeMatch): Deleted.
(WebCore::WindowNameCollection::nodeMatches): Deleted.
(WebCore::DocumentNameCollection::nodeMatchesIfIdAttributeMatch): Deleted.
(WebCore::DocumentNameCollection::nodeMatchesIfNameAttributeMatch): Deleted.
(WebCore::DocumentNameCollection::nodeMatches): Deleted.
* html/HTMLNameCollection.h:
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::elementMatches):
(WebCore::LabelsNodeList::nodeMatches): Deleted.
* html/LabelsNodeList.h:
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::elementMatches):
(WebCore::RadioNodeList::nodeMatches): Deleted.
* html/RadioNodeList.h:

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

5 years agoUse an AtomicString as key for caching ClassNodeList objects
cdumez@apple.com [Tue, 16 Sep 2014 04:09:58 +0000 (04:09 +0000)]
Use an AtomicString as key for caching ClassNodeList objects
https://bugs.webkit.org/show_bug.cgi?id=136830

Reviewed by Benjamin Poulain.

Use an AtomicString as key for caching ClassNodeList objects instead of
a String. ClassNodeList is the only type using a String instead of an
AtomicString as key in the cache HashTable. This brings some
complexity.

I believe this was done to avoid unnecessarily atomizing the String,
for performance reasons. However, at the moment, the String gets
atomized anyway when constructing the ClassNodeList object. This is
because the ClassNodeList::m_classNames member is of SpaceSplitString
type and the SpaceSplitString constructor takes an AtomicString in
argument.

Using an AtomicString to cache ClassNodeLists simplifies the code quite
a bit and decreases the size of NodeListsNodeData as well.

Test: fast/dom/getElementsByClassName/conflict-tag-name.html

* WebCore.order:
Remove symbol corresponding to addCacheWithName() as it was removed.

* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::~ClassNodeList):
Update the constructor to take an AtomicString in argument instead of
a String, for clarity. The String gets atomized when initializing
m_classNames anyway.

(WebCore::ClassNodeList::ClassNodeList):
Call removeCacheWithAtomicName() instead of removeCacheWithName() now
that m_originalClassNames is an AtomicString.

* dom/ClassNodeList.h:
Use AtomicString instead of String type for classNames, in both the
constructor argument and the m_originalClassNames data member.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getElementsByClassName):
Call addCacheWithAtomicName() instead of addCacheWithName() now that
addCacheWithName() has been removed.

* dom/Node.cpp:
(WebCore::NodeListsNodeData::invalidateCaches):
Stop invalidating m_nameCaches as this HashMap no longer exists.

* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::NodeListCacheMapEntryHash::hash):
(WebCore::NodeListsNodeData::NodeListCacheMapEntryHash::equal):
(WebCore::NodeListsNodeData::isEmpty):
(WebCore::NodeListsNodeData::adoptDocument):
(WebCore::NodeListsNodeData::namedNodeListKey):
(WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList):
(WebCore::NodeListsNodeData::addCacheWithName): Deleted.
(WebCore::NodeListsNodeData::removeCacheWithName): Deleted.
- Drop addCacheWithName() / removeCacheWithName() now that no NodeList
  uses a String as HashMap key.
- Drop m_nameCaches now that ClassNodeLists are cached in
  m_atomicNameCaches instead.
- Remove StringType template parameter and hardcode AtomicString
  instead.

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

5 years agoRemove ORWT related crufts from webkitdirs.pm
commit-queue@webkit.org [Tue, 16 Sep 2014 03:50:13 +0000 (03:50 +0000)]
Remove ORWT related crufts from webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=136821

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-15
Reviewed by Alexey Proskuryakov.

* Scripts/webkitdirs.pm:
(isPerianInstalled): Deleted.
(determineIPhoneSimulatorVersion): Deleted.
(iPhoneSimulatorVersion): Deleted.
(isSnowLeopard): Deleted.
(isLion): Deleted.
(quitIOSSimulator): Deleted.

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

5 years agoReturn early in SelectorChecker::checkOne() if selector.isAttributeSelector() is...
cdumez@apple.com [Tue, 16 Sep 2014 02:30:17 +0000 (02:30 +0000)]
Return early in SelectorChecker::checkOne() if selector.isAttributeSelector() is true
https://bugs.webkit.org/show_bug.cgi?id=136838

Reviewed by Benjamin Poulain.

Return early in SelectorChecker::checkOne() if selector.isAttributeSelector()
is true and the selector matched. Previously, we were only returning early if
the selector did not match and we were falling through if it did. This means
that we ended up doing the 2 if() checks below in the method unnecessarily:
- selector.m_match == CSSSelector::PseudoClass
- selector.m_match == CSSSelector::PseudoElement

No new tests, no behavior change.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):

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

5 years agobmalloc: allocate small and medium objects using the same bump pointer class
ggaren@apple.com [Tue, 16 Sep 2014 02:24:35 +0000 (02:24 +0000)]
bmalloc: allocate small and medium objects using the same bump pointer class
https://bugs.webkit.org/show_bug.cgi?id=136843

Reviewed by Gavin Barraclough.

4% speedup on MallocBench.

Now that medium-sized objects have dedicated per-size allocators, they
don't need to use an arbitrary bump pointer allocator. This means that
every allocator knows how many objects it will allocate from the start,
and we don't need a post-processing step to adjust refcounts based on
real allocation count.

* bmalloc.xcodeproj/project.pbxproj: Renamed SmallAllocator to BumpAllocator
since it's used for small and medium objects now.

* bmalloc/Allocator.cpp:
(bmalloc::Allocator::Allocator): Updated to use new interface.
(bmalloc::Allocator::scavenge): To "retire" an allocator, we just need
to make sure that we finish allocating all the objects in it.

(bmalloc::Allocator::allocateMedium):
(bmalloc::Allocator::allocateSlowCase):
(bmalloc::Allocator::retire): Deleted.
(bmalloc::Allocator::processSmallAllocatorLog): Deleted.
(bmalloc::Allocator::processMediumAllocatorLog): Deleted.
* bmalloc/Allocator.h:
(bmalloc::Allocator::allocateFastCase): Removed abstractions and data
used to post-process an allocator based on how many objects it allocated.

* bmalloc/BumpAllocator.h: Copied from Source/bmalloc/bmalloc/SmallAllocator.h.
(bmalloc::BumpAllocator::BumpAllocator):
(bmalloc::BumpAllocator::init):
(bmalloc::BumpAllocator::line):
(bmalloc::BumpAllocator::validate):
(bmalloc::BumpAllocator::allocate):
(bmalloc::BumpAllocator::refill):
(bmalloc::BumpAllocator::clear): Updated these functions to be agnostic
about the kinds of lines they allocate into. In some cases, the line
type must be provided as a template parameter by the caller.

(bmalloc::SmallAllocator::SmallAllocator): Deleted.
(bmalloc::SmallAllocator::line): Deleted.
(bmalloc::SmallAllocator::allocate): Deleted.
(bmalloc::SmallAllocator::objectCount): Deleted.
(bmalloc::SmallAllocator::derefCount): Deleted.
(bmalloc::SmallAllocator::refill): Deleted.
(bmalloc::SmallAllocator::clear): Deleted.

* bmalloc/ObjectType.h:
(bmalloc::isMedium):

* bmalloc/SmallAllocator.h:
(bmalloc::SmallAllocator::isNull): Deleted.
(bmalloc::SmallAllocator::canAllocate): Deleted.
(bmalloc::SmallAllocator::SmallAllocator): Deleted.
(bmalloc::SmallAllocator::line): Deleted.
(bmalloc::SmallAllocator::allocate): Deleted.
(bmalloc::SmallAllocator::objectCount): Deleted.
(bmalloc::SmallAllocator::derefCount): Deleted.
(bmalloc::SmallAllocator::refill): Deleted.
(bmalloc::SmallAllocator::clear): Deleted.

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

5 years agoUnreviewed Windows gardening. fast/forms/label test expectations now match Mac platfo...
roger_fong@apple.com [Tue, 16 Sep 2014 01:22:08 +0000 (01:22 +0000)]
Unreviewed Windows gardening. fast/forms/label test expectations now match Mac platform's expectations.

* platform/win/fast/forms/label: Removed.
* platform/win/fast/forms/label/labelable-elements-expected.txt: Removed.
* platform/win/fast/forms/label/labels-add-htmlFor-label-expected.txt: Removed.
* platform/win/fast/forms/label/labels-add-parent-label-expected.txt: Removed.
* platform/win/fast/forms/label/labels-change-htmlFor-attribute-expected.txt: Removed.
* platform/win/fast/forms/label/labels-multiple-sibling-labels-expected.txt: Removed.
* platform/win/fast/forms/label/labels-parent-and-sibling-labels-expected.txt: Removed.
* platform/win/fast/forms/label/labels-remove-htmlFor-attribute-expected.txt: Removed.
* platform/win/fast/forms/label/labels-remove-htmlFor-label-expected.txt: Removed.
* platform/win/fast/forms/label/labels-remove-parent-label-expected.txt: Removed.
* platform/win/fast/forms/label/labels-set-htmlFor-attribute-expected.txt: Removed.

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

5 years agoUn-inline the Node constructor
cdumez@apple.com [Tue, 16 Sep 2014 01:15:36 +0000 (01:15 +0000)]
Un-inline the Node constructor
https://bugs.webkit.org/show_bug.cgi?id=136842

Reviewed by Benjamin Poulain.

Un-inline the Node constructor as it does not seem to impact
performance, based on my testing:
http://dromaeo.com/?id=226992,226998

This reduces the stripped binary size by ~4Kb.

No new tests, no behavior change.

* dom/Document.h:
(WebCore::Node::Node): Deleted.
* dom/Node.cpp:
(WebCore::Node::Node):

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

5 years agoWeb Core: Websocket state should be set to closed in didReceiveMessage call back.
commit-queue@webkit.org [Tue, 16 Sep 2014 00:45:04 +0000 (00:45 +0000)]
Web Core: Websocket state should be set to closed in didReceiveMessage call back.
https://bugs.webkit.org/show_bug.cgi?id=136219

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

Source/WebCore:

Set the Websocket state to closed in didReceiveMessage call back.

Test: http/tests/websocket/tests/hybi/error-event-ready-state.html

* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didReceiveMessageError):

LayoutTests:

Added test to check readyState is CLOSED within onerror event.

* http/tests/websocket/tests/hybi/error-event-ready-state-expected.txt: Added.
* http/tests/websocket/tests/hybi/error-event-ready-state.html: Added.

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

5 years agoUnreviewed. Windows rebaselining to account for subpixel layout Part 1.
roger_fong@apple.com [Tue, 16 Sep 2014 00:44:16 +0000 (00:44 +0000)]
Unreviewed. Windows rebaselining to account for subpixel layout Part 1.

* platform/win/editing/selection/move-left-right-expected.txt:
* platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
* platform/win/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
* platform/win/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
* platform/win/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:

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

5 years agoWeb Inspector: mouse drifts away from resizer when resizing docked inspector
commit-queue@webkit.org [Tue, 16 Sep 2014 00:41:36 +0000 (00:41 +0000)]
Web Inspector: mouse drifts away from resizer when resizing docked inspector
https://bugs.webkit.org/show_bug.cgi?id=22263

Patch by Matt Baker <mattbaker@apple.com> on 2014-09-15
Reviewed by Joseph Pecoraro.

Modified the docked resizer dragging logic to record the initial mouse down position relative to the
resizer client rectangle. Added check while dragging the resizer to ensure that the cursor is positioned
correctly with respect to the resize direction before updating the attached window dimension.

* UserInterface/Base/Main.js:
(WebInspector._dockedResizerMouseDown.dockedResizerDrag):

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

5 years agoNaming clean-up.
jhoneycutt@apple.com [Mon, 15 Sep 2014 23:15:00 +0000 (23:15 +0000)]
Naming clean-up.

Rubber-stamped by Andy Estes.

* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::requestAutocomplete):
(WebCore::HTMLFormElement::finishRequestAutocomplete):
Remove superfluous "AutocompleteResult".

* html/HTMLFormElement.h:
Ditto.

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

5 years agoUnreviewed. Skip yet another ecma/Date test that fails only on Windows.
roger_fong@apple.com [Mon, 15 Sep 2014 23:13:52 +0000 (23:13 +0000)]
Unreviewed. Skip yet another ecma/Date test that fails only on Windows.
https://bugs.webkit.org/show_bug.cgi?id=25160

* Scripts/run-javascriptcore-tests:

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

5 years agoCreate a JSCallee for GlobalExec object
msaboff@apple.com [Mon, 15 Sep 2014 22:58:54 +0000 (22:58 +0000)]
Create a JSCallee for GlobalExec object
https://bugs.webkit.org/show_bug.cgi?id=136840

Reviewed by Geoffrey Garen.

Added m_globalCallee, initialized it and then used it to set the globalExec's callee.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:

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

5 years agoCrash when logging in to optionshouse.com
ap@apple.com [Mon, 15 Sep 2014 22:52:47 +0000 (22:52 +0000)]
Crash when logging in to optionshouse.com
https://bugs.webkit.org/show_bug.cgi?id=136834

Reviewed by Anders Carlsson.

No test, because I couldn't make one. I don't have a way to reproduce first-hand.

* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::readStreamCallback):
(WebCore::SocketStreamHandle::writeStreamCallback):

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

5 years agoUnreviewed build fix for 32-bit builds.
jer.noble@apple.com [Mon, 15 Sep 2014 22:47:46 +0000 (22:47 +0000)]
Unreviewed build fix for 32-bit builds.

Make casts from unsigned long long -> size_t explicit, rather than implicit. Also
make CARingBuffer be protected by USING_MEDIA_TOOLBOX so ports without that flag
won't try to compile unused code.

* platform/audio/mac/CARingBuffer.cpp:
(WebCore::CARingBuffer::fetch):
* platform/audio/mac/CARingBuffer.h:
* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
(WebCore::AudioSourceProviderAVFObjC::provideInput):

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

5 years agoUnreviewed. Skip initial-letter tests on Windows.
roger_fong@apple.com [Mon, 15 Sep 2014 22:03:46 +0000 (22:03 +0000)]
Unreviewed. Skip initial-letter tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=136841
* platform/win/TestExpectations:

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

5 years agoUnreviewed logic fix from r173631. Logic for includeShadowDOM was reversed.
jer.noble@apple.com [Mon, 15 Sep 2014 21:52:04 +0000 (21:52 +0000)]
Unreviewed logic fix from r173631. Logic for includeShadowDOM was reversed.

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

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

5 years agoVideos with controls enabled never receive 'dragstart' events.
jer.noble@apple.com [Mon, 15 Sep 2014 21:47:18 +0000 (21:47 +0000)]
Videos with controls enabled never receive 'dragstart' events.
https://bugs.webkit.org/show_bug.cgi?id=136837

Reviewed by Simon Fraser.

When initiating a drag, the DragController checks whether the hit-tested element at a
drag location is a child of the drag source, and bails if early if that is not the case.
For a <video> element with controls, the hit-tested element is an element within the
<video> element's Shadow DOM. Because the DragController uses a method which does not
take Shadow DOM into account when determining a child-parent relationship, this test fails
and all drag operations fail as well.

For <video> elements only, when testing whether the drag source is an ancestor of the
hit-tested element, use containsIncludingShadowDOM() instead of contains(). To ensure that
the controls are still usable when a drag listener is active on a <video> element, mark
the controls as a draggable element, but simply call preventDefault() in the controls'
'dragstart' handler, ensuring the timeline and volume controls are themselves still draggable.

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel):
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls):
(Controller.prototype.handlePanelDragStart):
* page/DragController.cpp:
(WebCore::DragController::startDrag):

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

5 years agoUnreviewed. Add an unimplemented case to handle CSSPropertyWebkitInitialLetter so...
roger_fong@apple.com [Mon, 15 Sep 2014 21:40:28 +0000 (21:40 +0000)]
Unreviewed. Add an unimplemented case to handle CSSPropertyWebkitInitialLetter so we don't get an assertion failure.

* css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):

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

5 years agoChange all snapshotting tests to use quicktime.
roger_fong@apple.com [Mon, 15 Sep 2014 20:17:18 +0000 (20:17 +0000)]
Change all snapshotting tests to use quicktime.

* platform/mac-wk2/TestExpectations:
* platform/mac-wk2/plugins/snapshotting/autoplay-similar-to-dominant-expected.txt:
* plugins/snapshotting/autoplay-dominant-blank-plugin-moved-into-view.html:
* plugins/snapshotting/autoplay-dominant.html:
* plugins/snapshotting/autoplay-plugin-blocked-by-image.html:
* plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image.html:
* plugins/snapshotting/autoplay-similar-to-dominant.html:
* plugins/snapshotting/plugin-receives-click-event.html:
* plugins/snapshotting/restart.html:
* plugins/snapshotting/set-plugin-size-to-tiny.html:
* plugins/snapshotting/simple.html:
* plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html:

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

5 years ago[Mac] Support audioSourceProvider() in MediaPlayerPrivateAVFoundationObjC
jer.noble@apple.com [Mon, 15 Sep 2014 20:05:49 +0000 (20:05 +0000)]
[Mac] Support audioSourceProvider() in MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=135042

Reviewed by Eric Carlson.

Source/WebCore:

Add support for AudioSourceProvider in MediaPlayerPrivateAVFoundationObjC, thereby
supporting MediaElementAudioSourceNode.

Import the CARingBuffer from CoreAudio sample code, making the necessary modifications
for WebKit style and coding conventions. The threading assumptions for this class are
that there will be a single writer thread and a single reader thread.

* platform/audio/mac/CARingBuffer.cpp: Added.
(WebCore::CARingBuffer::create): Create a unique_ptr.
(WebCore::CARingBuffer::CARingBuffer): Simple constructor.
(WebCore::CARingBuffer::~CARingBuffer): Simple destructor.
(WebCore::CARingBuffer::allocate): Initialize the buffers and time bounds structures.
(WebCore::CARingBuffer::deallocate): Destroy same.
(WebCore::ZeroRange): Static utility method.
(WebCore::StoreABL): Ditto.
(WebCore::FetchABL): Ditto.
(WebCore::ZeroABL): Ditto.
(WebCore::CARingBuffer::store): Store the passed in buffer in the ring buffer, wrapping
    if necessary.
(WebCore::CARingBuffer::setTimeBounds): Set the new time bounds by incrementing the
    bounds index locally, filling in the new values, then atomically incrementing the
    reader-visible index.
(WebCore::CARingBuffer::getTimeBounds): Get the new time bounds by masking the time
    bounds index, and using it as an offset to the time bounds array. Protect against
    CPU starvation on the reading thread by checking the index against the stored
    index in the array entry. This check will fail if the writing thread has wrapped
    more than the size of the array.
(WebCore::CARingBuffer::clipTimeBounds): Clamp the passed values to the available bounds.
(WebCore::CARingBuffer::startFrame): Simple accessor.
(WebCore::CARingBuffer::endFrame): Ditto.
(WebCore::CARingBuffer::fetch): Read an audio buffer list from the ring buffer, possbily
    wrapping around to the start of the ring buffer.
* platform/audio/mac/CARingBuffer.h: Added.
(WebCore::CARingBuffer::numberOfChannels): Simple accessor.
(WebCore::CARingBuffer::frameOffset): Ditto.
(WebCore::CARingBuffer::TimeBounds::TimeBounds): Struct holding the start and end frame values.

Add an implementation of AudioSourceProvider, using AVAudioMix and MTAudioProcessingTap
to tap an AVPlayerItem's audio output and feed it to a MediaElementAudioSourceNode.

* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.h: Added.
* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm: Added.
(WebCore::AudioSourceProviderAVFObjC::create): Simple factory.
(WebCore::AudioSourceProviderAVFObjC::AudioSourceProviderAVFObjC): Simple constructor.
(WebCore::AudioSourceProviderAVFObjC::~AudioSourceProviderAVFObjC): Simple destructor.
(WebCore::AudioSourceProviderAVFObjC::provideInput): Push audio into the ring buffer.
(WebCore::AudioSourceProviderAVFObjC::setClient): Call destroyMix()/createMix() as appropriate.
(WebCore::AudioSourceProviderAVFObjC::setPlayerItem): Ditto.
(WebCore::AudioSourceProviderAVFObjC::destroyMix): Detach and destroy the AVAudioMix and tap.
(WebCore::AudioSourceProviderAVFObjC::createMix): Set up the AVAudioMix and tap and attach to
    the AVPlayerItem.
(WebCore::AudioSourceProviderAVFObjC::initCallback): Pass to class method.
(WebCore::AudioSourceProviderAVFObjC::finalizeCallback): Ditto.
(WebCore::AudioSourceProviderAVFObjC::prepareCallback): Ditto.
(WebCore::AudioSourceProviderAVFObjC::unprepareCallback): Ditto.
(WebCore::AudioSourceProviderAVFObjC::processCallback): Ditto.
(WebCore::AudioSourceProviderAVFObjC::init): Set up the storage pointer for the tap.
(WebCore::AudioSourceProviderAVFObjC::finalize): No-op.
(WebCore::operator==): Compare two AudioStreamBasicDescription objects.
(WebCore::operator!=): Ditto.
(WebCore::AudioSourceProviderAVFObjC::prepare): Create an AudioCoverter object if necessary,
    create the ring buffer, and notify the client of format changes.
(WebCore::AudioSourceProviderAVFObjC::unprepare): Destroy same.
(WebCore::AudioSourceProviderAVFObjC::process): Copy samples out of the ring buffer,
    format converting them if necessary. Mute original audio.

Create the AudioSourceProviderAVFObjC object and notify it when the current AVPlayerItem changes.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::audioSourceProvider):

Enable SOFT_LINK_MAY_FAIL on the Mac platform.

* platform/mac/SoftLinking.h:

Add new files to the project.

* WebCore.xcodeproj/project.pbxproj:

Source/WTF:

* wtf/Platform.h: Add WTF_USE_MEDIATOOLBOX.

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

5 years agoAdd another Apple build slave to the Mountain Lion Debug WK1 queue
lforschler@apple.com [Mon, 15 Sep 2014 19:50:03 +0000 (19:50 +0000)]
Add another Apple build slave to the Mountain Lion Debug WK1 queue

Rubber stamped by Matt Hanson.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

5 years agoDFG ref count calculation should be reusable
fpizlo@apple.com [Mon, 15 Sep 2014 19:32:01 +0000 (19:32 +0000)]
DFG ref count calculation should be reusable
https://bugs.webkit.org/show_bug.cgi?id=136811

Reviewed by Oliver Hunt.

Henceforth if you call Graph::computeRefCounts(), a nifty O(n) operation, every Node
will be able to tell you how many places it is used from. Currently only DCE uses this,
but it will be useful for https://bugs.webkit.org/show_bug.cgi?id=136330.

* dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::run):
(JSC::DFG::DCEPhase::findTypeCheckRoot): Deleted.
(JSC::DFG::DCEPhase::countNode): Deleted.
(JSC::DFG::DCEPhase::countEdge): Deleted.
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::computeRefCounts):
* dfg/DFGGraph.h:

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

5 years agoShould call [BKSProcessAssertion invalidate]
barraclough@apple.com [Mon, 15 Sep 2014 17:10:23 +0000 (17:10 +0000)]
Should call [BKSProcessAssertion invalidate]
https://bugs.webkit.org/show_bug.cgi?id=136804
<rdar://problem/17897780>

Reviewed by Darin Adler.

We should invalidate the process assertion before releasing it. Fortunately this is really easy,
since there is a simple 1:1 relationship with ProcessAssertion, with their lifetimes matching exactly.

* UIProcess/ProcessAssertion.cpp:
(WebKit::ProcessAssertion::~ProcessAssertion):
    - no-op implementation.
* UIProcess/ProcessAssertion.h:
    - added destructor.
* UIProcess/ios/ProcessAssertionIOS.mm:
(WebKit::ProcessAssertion::~ProcessAssertion):
    - destructor invalidates the BKSProcessAssertion.

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

5 years agoAvoid redundant isElementNode() checks in Traversal<HTML*Element> / Traversal<SVG...
cdumez@apple.com [Mon, 15 Sep 2014 15:59:39 +0000 (15:59 +0000)]
Avoid redundant isElementNode() checks in Traversal<HTML*Element> / Traversal<SVG*Element>
https://bugs.webkit.org/show_bug.cgi?id=136719

Reviewed by Darin Adler.

Avoid redundant isElementNode() checks in Traversal<HTML*Element> /
Traversal<SVG*Element>.  We used to iterate through Elements, and then
call isElementOfType<HTML*Element>()  on each Element. This made sense
because hasTagName() used to be defined on Element. However, after
http://trac.webkit.org/changeset/165699, hasTagName() is now defined on
Node for HTMLQualifiedName / SVGQualifiedName arguments.

Node::hasTagName(HTMLQualifiedName) basically does the following check
"isHTMLElement() &&  toHTMLElement(*this).hasTagName(tagName)". As a
consequence, doing an isElementNode() check is now redundant as
isHTMLElement() is defined on Node.

This patch adds a template parameter to isElementOfType() so that it can
take any type in argument (particulaly Node, Element, HTMLElement,
SVGElement, MathMLElement), not just an Element. I had to add an
ElementTypeCastTraits struct to support partial specialization as C++
does not support partial specialization of template functions.
This patch also updates Traversal<ElementType> so that the methods use
NodeTraversal internally instead of Traversal<ElementType>. As a result,
we now iterate over Nodes (not Elements) and call the new
isElementOfType<ElementType>(Node) helpers (which are efficient after
r165699).

Before the patch, the code ended up doing the following checks for
Traversal<HTML*element>:
node.isElementNode() && toElement(node).isHTMLElement()
    && toHTMLElement(node).hasTagName(HTMLNames::fooTag)

After the patch, the code only does:
node.isHTMLElement()
    && toHTMLElement(node).hasTagName(HTMLNames::fooTag)

No new tests, no behavior change.

* dom/Element.h:
(WebCore::Element>):
(WebCore::isElementOfType):
Add template parameter to isElementOfType() function so that it can
handle any argument type, not just Elements. Also introduce an
ElementTypeCastTraits struct that is called by isElementOfType()
function so that we can so partial template specialization.

* dom/ElementTraversal.h:
(WebCore::Traversal<ElementType>::firstWithinTemplate):
(WebCore::Traversal<ElementType>::lastWithinTemplate):
(WebCore::Traversal<ElementType>::nextTemplate):
(WebCore::Traversal<ElementType>::previousTemplate):
Use NodeTraversal API internally instead of Traversal<Element> to avoid
redundant isElementNode() checks.

(WebCore::Traversal<Element>::lastWithinTemplate): Deleted.
The code is now identical to the generic version.

(WebCore::Traversal<Element>::previousTemplate): Deleted.
The code is now identical to the generic version.

* dom/make_names.pl:
(printTypeHelpers):
- Generate template specializations for ElementTypeCastTraits struct
  instead of isElementOfType(). This avoids having to provide overloads
  for specific argument types (e.g. Node, Element, HTMLElement, ...).
- Share more code between HTML code path and the other path (for SVG,
  MTHML).

* html/HTMLElement.h:
(WebCore::HTMLElement>):
Provide HTMLElement template specialization for ElementTypeCastTraits
struct instead of isElementOfType().

* html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElement>):
Provide HTMLFormControlElement template specialization for
ElementTypeCastTraits struct instead of isElementOfType().

* html/HTMLFrameElementBase.h:
(WebCore::isHTMLFrameElementBase):
- Remove helper taking an Element in argument as it does not bring any
  benefit. Instead, update the overload taking a Node in argument to
  remove the unnecessary isElementNode() check as isHTMLFrameElement(Node)
  is now efficient.
- Add an overload taking an HTMLElement in argument so that we can bypass
  the isHTMLElement() check when we know the input is an HTMLElement.

* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement>):
Provide HTMLMediaElement template specialization for ElementTypeCastTraits
struct instead of isElementOfType().

* html/HTMLPlugInImageElement.h:
(WebCore::HTMLPlugInImageElement>):
Provide HTMLPlugInImageElement template specialization for
ElementTypeCastTraits struct instead of isElementOfType().

* html/LabelableElement.h:
(WebCore::LabelableElement>):
Provide LabelableElement template specialization for ElementTypeCastTraits
struct instead of isElementOfType().

* mathml/MathMLElement.h:
(WebCore::MathMLElement>):
Provide MathMLElement template specialization for ElementTypeCastTraits
struct for consistency with HTMLElement / SVGElement.

* svg/SVGElement.h:
(WebCore::SVGElement>):
- Provide SVGElement template specialization for ElementTypeCastTraits
  struct instead of isElementOfType().
- include SVGElementTypeHelpers.h at the end of the file (similarly to
  what is already done in HTMLElement.h because
  isElementOfType(const SVGElement&) needs to be defiend because the
  include.

* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes>):
Provide SVGFilterPrimitiveStandardAttributes template specialization for
ElementTypeCastTraits struct instead of isElementOfType().

* svg/animation/SVGSMILElement.h:
(WebCore::SVGSMILElement>):
Provide SVGSMILElement template specialization for ElementTypeCastTraits
struct instead of isElementOfType().

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

5 years ago[EFL] Ecore and Eina are initialized twice in TestWebKitAPI
g.czajkowski@samsung.com [Mon, 15 Sep 2014 14:45:33 +0000 (14:45 +0000)]
[EFL] Ecore and Eina are initialized twice in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=136822

Reviewed by Gyuyoung Kim.

In TestWebKitAPI/efl/main.cpp, ecore and eina modules are unnecessarily
initialized as we already does it in PlatformWebView::PlatformWebView
calling ewk_init(). The reason for that was to ensure testing for example,
WTF where creating the view is not mandatory.

Call ewk_init() and ewk_shutdown() in TestWebKitAPI/efl/main.cpp
in order to properly initalize and release EWebKit.

* TestWebKitAPI/PlatformEfl.cmake:
* TestWebKitAPI/efl/PlatformWebView.cpp:
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
* TestWebKitAPI/efl/main.cpp:
(main):

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

5 years ago[CSS Grid Layout] Sort items by span when resolving content-based track sizing functions
svillar@igalia.com [Mon, 15 Sep 2014 14:20:46 +0000 (14:20 +0000)]
[CSS Grid Layout] Sort items by span when resolving content-based track sizing functions
https://bugs.webkit.org/show_bug.cgi?id=135701

Reviewed by Darin Adler.

Source/WebCore:

Section 10.4 of the specs mentions that we should first treat non
spanning items and then incrementally proceed with items with
greater spans when resolving the track breaths in the Track Sizing
Algorithm.

As a nice side effect we're removing the multiple processing of
spanning grid items caused by GridIterator (it returns the same
item as many times as the number of cells it spans). This adds a
~4% performance penalty in auto-grid-lots-of-data.html mainly due
to the use of a hash to remove duplicates.

Test: fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::gridItemSpan):
(WebCore::gridItemWithSpanSorter):
(WebCore::uniquePointerInPair):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
* rendering/RenderGrid.h:

LayoutTests:

Tests that check that items are sorted by span to resolve content
based track sizing functions instead of directly using DOM order.

* fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt: Added.
* fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html: Added.

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

5 years ago[GTK][CMake] Build WebCore with Wayland-specific include directories, libraries
zandobersek@gmail.com [Mon, 15 Sep 2014 11:35:08 +0000 (11:35 +0000)]
[GTK][CMake] Build WebCore with Wayland-specific include directories, libraries
https://bugs.webkit.org/show_bug.cgi?id=136815

Reviewed by Philippe Normand.

* PlatformGTK.cmake: Add the platform/graphics/wayland/ directory to the list of
WebCore's include directories. Add include directories of the Wayland dependency
to the list of WebCore's include directories. Same for the Wayland libraries.

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

5 years ago[CMake] Remove FIND_PACKAGE_HANDLE_STANDARD_ARGS call for WAYLAND_EGL in FindWayland...
zandobersek@gmail.com [Mon, 15 Sep 2014 11:32:34 +0000 (11:32 +0000)]
[CMake] Remove FIND_PACKAGE_HANDLE_STANDARD_ARGS call for WAYLAND_EGL in FindWayland.cmake
https://bugs.webkit.org/show_bug.cgi?id=136814

Reviewed by Philippe Normand.

* Source/cmake/FindWayland.cmake: This line was committed by mistake.
We bundle the wayland-egl dependency with wayland-client and wayland-server
and store the resulting variables with the WAYLAND_ prefix. Because of this
this line wasn't exporting anything useful.

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

5 years agoREGRESSION(r170243): [EFL][WK2] Dirty image is shown when new page is loading on...
gyuyoung.kim@samsung.com [Mon, 15 Sep 2014 10:04:42 +0000 (10:04 +0000)]
REGRESSION(r170243): [EFL][WK2] Dirty image is shown when new page is loading on fixed layout
https://bugs.webkit.org/show_bug.cgi?id=136568

Reviewed by Csaba Osztrogonác.

r170243 landed wrong didCommitNewPage() since it always returns false. It cause that
PageViewportControllerClientEfl::didChangeVisibleContents() continues to draw dirty image on 0,0 coordinate.
This patch fixes the problem.

* UIProcess/API/efl/EwkView.h:
(EwkView::waitingForNewPage):
(EwkView::didCommitNewPage):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):

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

5 years ago[WinCairo] Make it easier to enable/disable GStreamer.
commit-queue@webkit.org [Mon, 15 Sep 2014 09:45:01 +0000 (09:45 +0000)]
[WinCairo] Make it easier to enable/disable GStreamer.
https://bugs.webkit.org/show_bug.cgi?id=135766

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-15
Reviewed by Brent Fulgham.

Make it possible to enable/disable GStreamer by editing the new user macro ENABLE_GSTREAMER_WINCAIRO.

Source/WebCore:

* WebCore.vcxproj/WebCoreDebugWinCairo.props: Import GStreamer property file.
* WebCore.vcxproj/WebCoreReleaseWinCairo.props: Ditto.

Source/WebKit:

* WebKit.vcxproj/WebKit/WebKitDebugWinCairo.props: Import GStreamer property file.
* WebKit.vcxproj/WebKit/WebKitReleaseWinCairo.props: Ditto.

Source/WTF:

* WTF.vcxproj/WTFDebugWinCairo.props: Import GStreamer property file.
* WTF.vcxproj/WTFReleaseWinCairo.props: Ditto.
* wtf/Platform.h: Enable GStreamer if ENABLE(GSTREAMER_WINCAIRO) is true, otherwise use Media Foundation.

Tools:

* WinLauncher/WinMain.cpp: Compile fix when GStreamer is enabled.

WebKitLibraries:

* win/tools/vsprops/GStreamerCommon.props: Add user macro ENABLE_GSTREAMER_WINCAIRO.

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

5 years ago[CSS Grid Layout] Crash at CSSParser::parseGridTemplateRowsAndAreas
svillar@igalia.com [Mon, 15 Sep 2014 09:12:18 +0000 (09:12 +0000)]
[CSS Grid Layout] Crash at CSSParser::parseGridTemplateRowsAndAreas
https://bugs.webkit.org/show_bug.cgi?id=136778

Reviewed by Darin Adler.

Source/WebCore:

An empty list of grid line names (represented by "()") does not
add anything to the list of parsed values. That's why trying to
concatenate an adjacent list of grid line names was failing,
because we were trying to concatenate a list with the last parsed
CSSValue which was not the expected grid line names list.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTemplateRowsAndAreas):
(WebCore::CSSParser::parseGridLineNames):
* css/CSSParser.h:

LayoutTests:

Added some new test cases to verify that we properly handle empty
lists of grid line names.

* fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt:
* fast/css-grid-layout/grid-template-shorthand-get-set.html:

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

5 years ago[GStreamer] don't send transferMode HTTP header
agomez@igalia.com [Mon, 15 Sep 2014 08:08:13 +0000 (08:08 +0000)]
[GStreamer] don't send transferMode HTTP header
https://bugs.webkit.org/show_bug.cgi?id=136781

Reviewed by Philippe Normand.

No header at all is better than having the wrong header as DLNA
mandates that a missing header has to be tolerated while a wrong
header is an error.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart):
* platform/network/HTTPHeaderNames.in:

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

5 years agoFix post-mortem nits for r173528 & r173549
cdumez@apple.com [Mon, 15 Sep 2014 05:40:56 +0000 (05:40 +0000)]
Fix post-mortem nits for r173528 & r173549
https://bugs.webkit.org/show_bug.cgi?id=136808

Reviewed by Darin Adler.

Fix post-mortem nits for r173528 & r173549.

No new tests, no behavior change.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::alternativeTextForWebArea):
- Use auto* instead of more specific types.
- Use fastGetAttribute() instead of getAttribute() as this is
  supported for the "title" attribute.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectionFromNone):
Use auto* instead of more specific types.

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

5 years agoIntroduce FONT_DATA_TYPE_CASTS, and use it
gyuyoung.kim@samsung.com [Mon, 15 Sep 2014 04:29:26 +0000 (04:29 +0000)]
Introduce FONT_DATA_TYPE_CASTS, and use it
https://bugs.webkit.org/show_bug.cgi?id=136766

Reviewed by Darin Adler.

As a step to use toFoo, this patch introduces FONT_DATA_TYPE_CASTS macro for toFooFontData().
This will help to detect wrong type cast.

* platform/graphics/FontData.h:
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::releaseFontData):
(WebCore::FontGlyphs::determinePitch):
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage):
* platform/graphics/SegmentedFontData.h:
* platform/graphics/SimpleFontData.h:
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::getCompositeFontReferenceFontData):

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

5 years agoGenerate toCSSStyleSheet using STYLE_SHEET_TYPE_CASTS
gyuyoung.kim@samsung.com [Mon, 15 Sep 2014 04:07:32 +0000 (04:07 +0000)]
Generate toCSSStyleSheet using STYLE_SHEET_TYPE_CASTS
https://bugs.webkit.org/show_bug.cgi?id=136774

Reviewed by Darin Adler.

As a step to use toFoo, this patch introduces STYLE_SHEET_TYPE_CASTS for toCSSStyleSheet().
This will help to detect wrong type cast. Additonally this patch helps to remove argument type of RefPtr.

No new tests, no behavior changes.

* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap):
* css/CSSStyleSheet.h:
* css/StyleSheet.h:
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::filterEnabledNonemptyCSSStyleSheets):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::parseStyleSheet):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::collectStyleSheets):

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

5 years agoGenerate toFooElementData() using ELEMENT_DATA_TYPE_CASTS
gyuyoung.kim@samsung.com [Mon, 15 Sep 2014 03:40:20 +0000 (03:40 +0000)]
Generate toFooElementData() using ELEMENT_DATA_TYPE_CASTS
https://bugs.webkit.org/show_bug.cgi?id=136775

Reviewed by Darin Adler.

As a step to use toFoo, this patch introduces ELEMENT_DATA_TYPE_CASTS for toFooElementData().
This will help to detect wrong type cast. Additonally this patch helps to remove argument type of RefPtr.

No new tests, no behavior changes.

* dom/Element.cpp:
(WebCore::Element::cloneAttributesFromElement):
(WebCore::Element::createUniqueElementData):
* dom/ElementData.cpp:
(WebCore::ElementData::destroy):
* dom/ElementData.h:
(WebCore::ElementData::length):
(WebCore::ElementData::attributeBase):
(WebCore::ElementData::presentationAttributeStyle):
(WebCore::ElementData::attributesIterator):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setupInitialView): Remove static_cast<SVGSVGElement*>

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

5 years agoRemove unnecessary overloads taking a ContainerNode in Element Traversal
cdumez@apple.com [Mon, 15 Sep 2014 02:23:01 +0000 (02:23 +0000)]
Remove unnecessary overloads taking a ContainerNode in Element Traversal
https://bugs.webkit.org/show_bug.cgi?id=136767

Reviewed by Darin Adler.

Remove unnecessary overloads taking a ContainerNode in Element Traversal.
Several of those don't bring any performance improvements as the needed
methods are defined on Node (not ContainerNode).

No new tests, no behavior change.

* dom/ElementTraversal.h:
(WebCore::Traversal<Element>::previous):
NodeTraversal::previous() takes a const Node* in argument so the
ContainerNode overload is not needed.

(WebCore::Traversal<ElementType>::previous):
Unnecessary now that Traversal<Element>::previous() takes a const Node*
in argument.

(WebCore::Traversal<ElementType>::nextSibling):
nextSibling() is defined on Node, not ContainerNode, so the overload
is not needed.

(WebCore::Traversal<ElementType>::previousSibling):
previousSibling() is defined on Node, not ContainerNode, so the overload
is not needed.

(WebCore::Traversal<Element>::previousTemplate): Deleted.
(WebCore::Traversal<ElementType>::previousTemplate): Deleted.
(WebCore::Traversal<ElementType>::nextSiblingTemplate): Deleted.
(WebCore::Traversal<ElementType>::previousSiblingTemplate): Deleted.
No need to have those functions templated anymore.

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

5 years ago[iOS] Attempt to fix the iOS build after <http://trac.webkit.org/changeset/173606>
dbates@webkit.org [Mon, 15 Sep 2014 01:51:56 +0000 (01:51 +0000)]
[iOS] Attempt to fix the iOS build after <trac.webkit.org/changeset/173606>
(https://bugs.webkit.org/show_bug.cgi?id=136789)

Substitute Node::countChildNodes() for Node::childNodeCount() in more places.

Source/WebCore:

Although I updated a comment in WebCore::lastOffsetForEditing() (defined in file
editing/htmlediting.cpp) to refer to Node::countChildNodes(), I'm unclear what the
comment is trying to explain that isn't otherwise explained by the code or the
comments that precede this function. Specifically, I don't understand the use of
the word "preempt" in the comment. We should look to improve the readability of
this comment.

* editing/htmlediting.cpp:
(WebCore::lastOffsetForEditing):
* page/ios/FrameIOS.mm:
(WebCore::Frame::interpretationsForCurrentRoot):

Source/WebKit/mac:

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

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

5 years agoDrop NodeTraversal::nextSkippingChildren() overload taking a ContainerNode
cdumez@apple.com [Sun, 14 Sep 2014 22:19:19 +0000 (22:19 +0000)]
Drop NodeTraversal::nextSkippingChildren() overload taking a ContainerNode
https://bugs.webkit.org/show_bug.cgi?id=136764

Reviewed by Darin Adler.

Drop NodeTraversal::nextSkippingChildren() overload taking a
ContainerNode argument. This one does not bring any performance
improvement because nextSibling() is defined on Node and
nextAncestorSibling() takes a Node in argument.

Also remove the overload in ElementTraversal as it no longer makes
sense after this change.

No new tests, no behavior change.

* dom/ElementTraversal.h:
(WebCore::Traversal<ElementType>::nextSkippingChildren):
(WebCore::Traversal<ElementType>::nextSkippingChildrenTemplate): Deleted.
* dom/NodeTraversal.h:
(WebCore::NodeTraversal::nextSkippingChildren):
(WebCore::NodeTraversal::next):
(WebCore::NodeTraversal::traverseNextSkippingChildrenTemplate): Deleted.

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

5 years agoRename Node::childNodeCount() to countChildNodes() and avoid inefficient uses
cdumez@apple.com [Sun, 14 Sep 2014 21:18:27 +0000 (21:18 +0000)]
Rename Node::childNodeCount() to countChildNodes() and avoid inefficient uses
https://bugs.webkit.org/show_bug.cgi?id=136789

Reviewed by Darin Adler.

Source/WebCore:

Rename Node::childNodeCount() to countChildNodes() to make it clearer
that the method actually computes the result rather than returning a
cached value.

This patch also introduces a new Node::hasOneChild() method that is
used to check if a Node has a single child. This is much more efficient
than calling countChildNodes() == 1.

The patch also leverages Node::hasChildNodes() in a lot of places
instead of calling countChildNodes().

Finally, in a couple of places, we now use childrenOfType() to iterate
over children more efficient than using countChildNodes() and
childNode(index).

No new tests, no behavior change.

* WebCore.exp.in:
* WebCore.order:
Update the name of the exposed symbol for countChildNodes().

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::countChildNodes):
(WebCore::ContainerNode::childNodeCount): Deleted.
Rename childNodeCount() to countChildNodes() to make it obvious it is
computing the result rather than returning a cached value.

* dom/ContainerNode.h:
(WebCore::ContainerNode::hasOneChild):
Introduce an efficient way to check in a ContainerNode has a single
child as "countChildNodes() == 1" calls were frequent and inefficient.

(WebCore::Node::countChildNodes):
(WebCore::Node::childNodeCount): Deleted.
* dom/Node.h:
Rename childNodeCount() to countChildNodes().

* dom/Position.cpp:
(WebCore::Position::parentAnchoredEquivalent):
* dom/Position.h:
(WebCore::lastOffsetInNode):
* dom/Range.cpp:
Mechanical renaming.

(WebCore::lengthOfContentsInNode):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::shouldApplyInlineStyleToRun):
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
(WebCore::ApplyStyleCommand::applyInlineStyleChange):
Call hasChildNodes() rather than countChildNodes() as it is a lot more
efficient.

* editing/Editor.cpp:
(WebCore::Editor::setTextAsChildOfElement):
(WebCore::Editor::rangeOfString):
(WebCore::Editor::countMatchesForText):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::elementRangeContainingCaretSelection):
Mechanical renaming.

* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::insertAsListItems):
Call hasOneChild() instead of countChildNodes() == 1. Also remove
redundant listElement->hasChildNodes() check as hasOneChild() takes
care of this already.

* editing/TextIterator.cpp:
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
* editing/VisibleUnits.cpp:
(WebCore::endOfDocument):
* editing/htmlediting.cpp:
(WebCore::lastOffsetForEditing):
Mechanical renaming.

(WebCore::visiblePositionBeforeNode):
(WebCore::visiblePositionAfterNode):
Call hasChildNodes() instead of converting countChildNodes() to a
boolean.

* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization):
Call !hasChildNodes() instead of !countChildNodes().

(WebCore::isPlainTextMarkup):
- Drop !node->isElementNode() check as !node->hasTagName(divTag) takes
  care of discarding non-Element Nodes already.
- Cast the Node to an HTMLDivElement as soon as possible to avoid
  calling calling the slower Node APIs in several cases.
- Call hasOneChild() instead of countChildNodes() == 1.

* html/HTMLDivElement.h:
* html/HTMLTagNames.in:
Generate casting helpers as I use them in WebCore::isPlainTextMarkup().

* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::setText):
* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::setText):
Call hasOneChild() / hasChildNodes() instead of countChildNodes().

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTimelineContainerElement::setTimeDisplaysHidden):
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
Use childrenOfType<Element>() to iterate of child Elements instead of
slower childNodeCount() + childNode(index) + isElementNode(). Also,
childNodeCount() was not even cached before the loop.

* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::displayLastTextTrackCueBox):
Use childrenOfType<Element>() to iterate of child Elements, thus
avoiding calling childNodeCount() + childNode(index).

* page/DOMSelection.cpp:
(WebCore::DOMSelection::extend):
(WebCore::DOMSelection::selectAllChildren):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::caretMaxOffset):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::isSelected):
* rendering/RenderView.cpp:
(WebCore::RenderView::splitSelectionBetweenSubtrees):
Mechanical renaming.

Source/WebKit/mac:

Rename childNodeCount() to countChildNodes().

* WebView/WebHTMLView.mm:
(-[WebHTMLView attributedString]):

Source/WebKit2:

Avoid calling slow Node::countChildNodes().

* WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
(WebKit::WebPage::findZoomableAreaForPoint):
Replace call to "node->parentNode()->childNodeCount() != 1" by
"!node->parentNode()->hasOneChild()" which is equivalent but more
efficient.

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

5 years agoUn-inline Element constructor
cdumez@apple.com [Sat, 13 Sep 2014 23:21:28 +0000 (23:21 +0000)]
Un-inline Element constructor
https://bugs.webkit.org/show_bug.cgi?id=136786

Reviewed by Benjamin Poulain.

Un-inline Element constructor as it is non-trivial and it does not seem
to impact performance based on my testing:
http://dromaeo.com/?id=226865,226869

This reduces the stripped binary size by 8 Kb.

No new tests, no behavior change.

* dom/Element.cpp:
(WebCore::Element::Element):
* dom/Element.h:
(WebCore::Element::Element): Deleted.

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

5 years agoMerge JSGlobalObject::reset() into ::init()
msaboff@apple.com [Sat, 13 Sep 2014 16:26:04 +0000 (16:26 +0000)]
Merge JSGlobalObject::reset() into ::init()
https://bugs.webkit.org/show_bug.cgi?id=136800

Reviewed by Oliver Hunt.

Moved the contents of reset() into init().
Note that the diff shows more changes.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Moved body of reset() into init.
(JSC::JSGlobalObject::put):
(JSC::JSGlobalObject::defineOwnProperty):
(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addFunction):
(JSC::lastInPrototypeChain):
(JSC::JSGlobalObject::reset): Deleted.
* runtime/JSGlobalObject.h:

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

5 years agoAdd JSCallee to program and eval CallFrames
msaboff@apple.com [Sat, 13 Sep 2014 05:21:44 +0000 (05:21 +0000)]
Add JSCallee to program and eval CallFrames
https://bugs.webkit.org/show_bug.cgi?id=136785

Reviewed by Mark Lam.

Populated Callee slot for program and call eval CallFrames with a JSCallee objects.
Made supporting changes including adding a JSCallee structure to global object and adding
JSCallee::create() method.  Added code so that the newly added callee object won't be
returned by Function.caller.  Changed null pointer checks of callee to check the if
the type is JSFunction* or JSCallee*.

* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::functionName):
(JSC::DebuggerCallFrame::type):
* profiler/LegacyProfiler.cpp:
(JSC::LegacyProfiler::createCallIdentifier):
* interpreter/Interpreter.cpp:
(JSC::unwindCallFrame):
Changed checks of callee is a JSFunction* or JSCallee* instead of just checking
if it is null or not.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute): Create and use JSCallee objects for execute(EvalExecutable, ...)
and execute(ProgramExecutable, ...)

* jit/JITCode.cpp:
(JSC::JITCode::execute): Use jsDynamicCast to cast only JSFunctions.

* runtime/JSCallee.cpp:
(JSC::JSCallee::create): Not used, therefore deleted.

* runtime/JSCallee.h:
(JSC::JSCallee::create): Added.

* runtime/JSFunction.cpp:
(JSC::JSFunction::callerGetter): Added test to return null for JSCallee's that aren't
JSFunction's.  This can only be the case when the JSCallee comes from a program or
call eval CallFrame.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::calleeStructure):
Added new JSCallee structure.

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

5 years agoBuild fix with REQUEST_AUTOCOMPLETE enabled
jhoneycutt@apple.com [Sat, 13 Sep 2014 02:18:56 +0000 (02:18 +0000)]
Build fix with REQUEST_AUTOCOMPLETE enabled

* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::requestAutocomplete):
(WebCore::HTMLFormElement::finishRequestAutocomplete):

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

5 years agoRe-add the request autocomplete feature
jhoneycutt@apple.com [Sat, 13 Sep 2014 01:01:02 +0000 (01:01 +0000)]
Re-add the request autocomplete feature

<https://bugs.webkit.org/show_bug.cgi?id=136730>

This feature was rolled out in r148731 because it was only used by
Chromium. As we consider supporting this feature, roll it back in, but
leave it disabled.

This rolls out r148731 (which removed the feature) with small changes
Source/JavaScriptCore:

needed to make the code build in ToT, to match modern style, to make
the tests run, and to remove unused code.

Reviewed by Andy Estes.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

needed to make the code build in ToT, to match modern style, to make
the tests run, and to remove unused code.

Reviewed by Andy Estes.

Tests: fast/events/constructors/autocomplete-error-event-constructor.html
       fast/forms/form-request-autocomplete.html

* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* dom/AutocompleteErrorEvent.h: Added.
(WebCore::AutocompleteErrorEvent::create):
(WebCore::AutocompleteErrorEvent::reason):
(WebCore::AutocompleteErrorEvent::AutocompleteErrorEvent):
* dom/AutocompleteErrorEvent.idl: Added.
* dom/EventNames.h:
* dom/EventNames.in:
* html/HTMLAttributeNames.in:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement):
(WebCore::HTMLFormElement::requestAutocomplete):
(WebCore::HTMLFormElement::finishRequestAutocomplete):
(WebCore::HTMLFormElement::requestAutocompleteTimerFired):
(WebCore::HTMLFormElement::parseAttribute):
* html/HTMLFormElement.h:
* html/HTMLFormElement.idl:
* loader/EmptyClients.h:
* loader/FrameLoaderClient.h:
* page/DOMWindow.idl:

Source/WebKit/mac:

needed to make the code build in ToT, to match modern style, to make
the tests run, and to remove unused code.

Reviewed by Andy Estes.

* Configurations/FeatureDefines.xcconfig:
* WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

needed to make the code build in ToT, to match modern style, to make
the tests run, and to remove unused code.

Reviewed by Andy Estes.

* Configurations/FeatureDefines.xcconfig:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didRequestAutocomplete):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WTF:

needed to make the code build in ToT, to make the tests run, and to
remove unused code.

Reviewed by Andy Estes.

* wtf/FeatureDefines.h:

LayoutTests:

needed to make the code build in ToT, to match modern style, to make
the tests run, and to remove unused code.

Reviewed by Andy Estes.

* fast/events/constructors/autocomplete-error-event-constructor-expected.txt: Added.
* fast/events/constructors/autocomplete-error-event-constructor.html: Added.
* fast/events/event-creation.html:
* fast/forms/form-request-autocomplete-expected.txt: Added.
* fast/forms/form-request-autocomplete.html: Added.
* js/dom/constructor-length.html:
* platform/efl/js/dom/constructor-length-expected.txt:
* platform/gtk/js/dom/constructor-length-expected.txt:

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

5 years agoSwiping back from a Twitter image to Twitter flashes to the wrong position
timothy_horton@apple.com [Sat, 13 Sep 2014 00:59:33 +0000 (00:59 +0000)]
Swiping back from a Twitter image to Twitter flashes to the wrong position
https://bugs.webkit.org/show_bug.cgi?id=136798
<rdar://problem/18324338>

Reviewed by Darin Adler and Sam Weinig.

* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::didFinishLoadForMainFrame):
(WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):
Add a 250ms repeating timer that we start in didFinishLoadForMainFrame
if we are for some reason still loading, and in didSameDocumentNavigationForMainFrame
unconditionally, to match behavior of the old swipe implementation.

Also, do the active gesture check in both of those places so that we don't
start the timer if we're in the middle of a live swipe or have already torn
down the snapshot (removeSwipeSnapshotAfterRepaint does this as well, so
this isn't really a behavior change).

(WebKit::ViewGestureController::activeLoadMonitoringTimerFired):
Every time the timer fires, check if we're still loading; if not,
tear down the swipe snapshot (after repainting).

(WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
Stop the active load monitoring timer.

* wtf/RunLoop.h:
(WTF::RunLoop::TimerBase::startRepeating):
Add a std::chrono veresion of RunLoop::TimerBase::startRepeating.

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

5 years agoWeb Inspector: remind about rebaselining generator test results
burg@cs.washington.edu [Sat, 13 Sep 2014 00:35:19 +0000 (00:35 +0000)]
Web Inspector: remind about rebaselining generator test results
https://bugs.webkit.org/show_bug.cgi?id=136759

Reviewed by Joseph Pecoraro.

For now, we can implement this as a watchlist message. Add watchlist
groups and messages for the inspector and web replay generators.

* Scripts/webkitpy/common/config/watchlist:

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

5 years agobuild.webkit.org/dashboard: Overlapping text when status is long
ap@apple.com [Sat, 13 Sep 2014 00:24:53 +0000 (00:24 +0000)]
build.webkit.org/dashboard: Overlapping text when status is long
https://bugs.webkit.org/show_bug.cgi?id=136794

Reviewed by Timothy Hatcher.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:
(.status-line): Replaces height with min-height.

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

5 years agoAdd -webkit-appearance and pseudo element tests for quirks mode
utatane.tea@gmail.com [Sat, 13 Sep 2014 00:09:15 +0000 (00:09 +0000)]
Add -webkit-appearance and pseudo element tests for quirks mode
https://bugs.webkit.org/show_bug.cgi?id=136366

Reviewed by Benjamin Poulain.

* fast/css/appearance-with-pseudo-elements-expected.html:
-webkit-appearance in OSX affects the ::first-letter related style informations (such as font).
So expected.html also requires these styles.
* fast/css/appearance-with-pseudo-elements-in-quirks-mode-expected.html: Added.
* fast/css/appearance-with-pseudo-elements-in-quirks-mode.html: Added.

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

5 years agoCanvasRenderingContext2D should update the computed style while setting the font
vivek.vg@samsung.com [Sat, 13 Sep 2014 00:07:10 +0000 (00:07 +0000)]
CanvasRenderingContext2D should update the computed style while setting the font
https://bugs.webkit.org/show_bug.cgi?id=136737

Reviewed by Darin Adler.

Source/WebCore:

Before accessing the computed style for populating 'font' property of CanvasRenderingContext2D
make sure to have an up-to-date computed style avoiding any stale reference.

Test: fast/canvas/canvas-set-font-with-updated-style.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):

LayoutTests:

* fast/canvas/canvas-set-font-with-updated-style-expected.txt: Added.
* fast/canvas/canvas-set-font-with-updated-style.html: Added.

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

5 years agoCSS JIT: Apply CSS JIT to SelectorQuery with multiple selectors
utatane.tea@gmail.com [Sat, 13 Sep 2014 00:03:33 +0000 (00:03 +0000)]
CSS JIT: Apply CSS JIT to SelectorQuery with multiple selectors
https://bugs.webkit.org/show_bug.cgi?id=135255

Reviewed by Benjamin Poulain.

Source/WebCore:

After dropping SelectorCheckerFastPath, Dromaeo cssquery-jquery test
result becomes significantly worse. 400.26/s to 348.16/s, 13%
performance regression.

Investigated the cause of it and we found that the test results for
querySelector with multiple selectors causes performance regressions.

To solve this, we attempt to JIT compile all selectors in multiple
selectors. And if compiling some selectors is failed, SelectorQuery
fallbacks to the slower implementation.

This change improves the performance. After applying this patch,
cssquery-jquery test result becomes 418.71/s, 4.61% better than the
previous good performance case.

Test: fast/selectors/querySelector-multiple-selectors.html

* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::SelectorDataList):
(WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData):
(WebCore::SelectorDataList::execute):
* dom/SelectorQuery.h:

LayoutTests:

* fast/selectors/querySelector-multiple-selectors-expected.txt: Added.
* fast/selectors/querySelector-multiple-selectors.html: Added.

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

5 years agoFixed a goof in bmalloc Vector sizing
ggaren@apple.com [Fri, 12 Sep 2014 23:47:56 +0000 (23:47 +0000)]
Fixed a goof in bmalloc Vector sizing
https://bugs.webkit.org/show_bug.cgi?id=136795

Reviewed by Gavin Barraclough and Sam Weinig.

We want our minimum vector to be page-sized since the OS will give us
a page no matter what -- but we want that many bytes, and not enough
bytes to store that many elements.

* bmalloc/Vector.h: Math is hard.

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

5 years agoMake Brian Burg a WebKit reviewer.
timothy@apple.com [Fri, 12 Sep 2014 23:37:34 +0000 (23:37 +0000)]
Make Brian Burg a WebKit reviewer.

* Scripts/webkitpy/common/config/contributors.json: Move Brian Burg's entry.

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

5 years agoMultiple EWS or commit bots can pick up processing of the same patch
ap@apple.com [Fri, 12 Sep 2014 23:33:04 +0000 (23:33 +0000)]
Multiple EWS or commit bots can pick up processing of the same patch
https://bugs.webkit.org/show_bug.cgi?id=136793

Reviewed by Ryosuke Niwa.

Change timeout from one hour to two hours. This will let bots finish, and in the
unlikely event of a bot being frozen, will only delay patch processing restart by
one hour.

* QueueStatusServer/app.yaml:
* QueueStatusServer/model/activeworkitems.py: (ActiveWorkItems.deactivate_expired):

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

5 years agoUnreviewed gardening.
jer.noble@apple.com [Fri, 12 Sep 2014 23:04:57 +0000 (23:04 +0000)]
Unreviewed gardening.

- Unskip some passing tests.
- Move flakey tests into flakey test section.
- Move non-media tests out of the media section.
- Mark WontFix tests as such.

* platform/mac/TestExpectations:
* platform/mac/media/W3C/audio/canPlayType/canPlayType_supported_but_no_codecs_parameter_2-expected.txt: Removed.
* platform/mac/media/W3C/video/canPlayType/canPlayType_supported_but_no_codecs_parameter_3-expected.txt: Removed.

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

5 years ago[Fullscreen] Taking embedded youtube video full screen takes the whole page full...
jer.noble@apple.com [Fri, 12 Sep 2014 23:02:42 +0000 (23:02 +0000)]
[Fullscreen] Taking embedded youtube video full screen takes the whole page full screen
https://bugs.webkit.org/show_bug.cgi?id=136792

Reviewed by Beth Dakin.

Recalculate style after beginning the enter fullscreen animation, but before sending the
"webkitfullscreenchange" event to listeners.

* dom/Document.cpp:
(WebCore::Document::webkitWillEnterFullScreenForElement):

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

5 years agoImport (some of) the W3C CSSWG flexbox tests
dino@apple.com [Fri, 12 Sep 2014 22:41:09 +0000 (22:41 +0000)]
Import (some of) the W3C CSSWG flexbox tests
https://bugs.webkit.org/show_bug.cgi?id=136787
<rdar://problem/18325725>

Reviewed by Benjamin Poulain.

Take most of the tests from http://test.csswg.org/suites/css3-flexbox/nightly-unstable/html/toc.htm
and import them into LayoutTests.

I had to rearrange some things to follow our testing approach,
and I only included the ref tests. There are a handful of failures,
marked in TestExpectations, and tracked by:
https://bugs.webkit.org/show_bug.cgi?id=136754

* TestExpectations:
* css3/flexbox/csswg/Flexible-order-expected.html: Added.
* css3/flexbox/csswg/Flexible-order.html: Added.
* css3/flexbox/csswg/align-content-001-expected.html: Added.
* css3/flexbox/csswg/align-content-001.html: Added.
* css3/flexbox/csswg/css-box-justify-content-expected.html: Added.
* css3/flexbox/csswg/css-box-justify-content.html: Added.
* css3/flexbox/csswg/css-flexbox-column-expected.html: Added.
* css3/flexbox/csswg/css-flexbox-column.html: Added.
* css3/flexbox/csswg/css-flexbox-height-animation-stretch-expected.html: Added.
* css3/flexbox/csswg/css-flexbox-height-animation-stretch.html: Added.
* css3/flexbox/csswg/css-flexbox-img-expand-evenly-expected.html: Added.
* css3/flexbox/csswg/css-flexbox-img-expand-evenly.html: Added.
* css3/flexbox/csswg/css-flexbox-row-expected.html: Added.
* css3/flexbox/csswg/css-flexbox-row.html: Added.
* css3/flexbox/csswg/css-flexbox-test1-expected.html: Added.
* css3/flexbox/csswg/css-flexbox-test1.html: Added.
* css3/flexbox/csswg/flex-align-items-center-expected.html: Added.
* css3/flexbox/csswg/flex-align-items-center.html: Added.
* css3/flexbox/csswg/flex-box-wrap-expected.html: Added.
* css3/flexbox/csswg/flex-box-wrap.html: Added.
* css3/flexbox/csswg/flex-container-margin-expected.html: Added.
* css3/flexbox/csswg/flex-container-margin.html: Added.
* css3/flexbox/csswg/flex-direction-expected.html: Added.
* css3/flexbox/csswg/flex-direction-modify-expected.html: Added.
* css3/flexbox/csswg/flex-direction-modify.html: Added.
* css3/flexbox/csswg/flex-direction-with-element-insert-expected.html: Added.
* css3/flexbox/csswg/flex-direction-with-element-insert.html: Added.
* css3/flexbox/csswg/flex-direction-with-element-insert.html-expected.html: Added.
* css3/flexbox/csswg/flex-direction.html: Added.
* css3/flexbox/csswg/flex-direction.html-expected.html: Added.
* css3/flexbox/csswg/flex-flexitem-childmargin-expected.html: Added.
* css3/flexbox/csswg/flex-flexitem-childmargin.html: Added.
* css3/flexbox/csswg/flex-flexitem-percentage-prescation-expected.html: Added.
* css3/flexbox/csswg/flex-flexitem-percentage-prescation.html: Added.
* css3/flexbox/csswg/flex-flow-001-expected.html: Added.
* css3/flexbox/csswg/flex-flow-001.html: Added.
* css3/flexbox/csswg/flex-flow-002-expected.html: Added.
* css3/flexbox/csswg/flex-flow-002.html: Added.
* css3/flexbox/csswg/flex-flow-007-expected.html: Added.
* css3/flexbox/csswg/flex-flow-007.html: Added.
* css3/flexbox/csswg/flex-items-flexibility-expected.html: Added.
* css3/flexbox/csswg/flex-items-flexibility.html: Added.
* css3/flexbox/csswg/flex-items-flexibility.html-expected.html: Added.
* css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-column-reverse-expected.html: Added.
* css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-column-reverse.html: Added.
* css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-row-reverse-expected.html: Added.
* css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-row-reverse.html: Added.
* css3/flexbox/csswg/flex-lines/multi-line-wrap-with-column-reverse-expected.html: Added.
* css3/flexbox/csswg/flex-lines/multi-line-wrap-with-column-reverse.html: Added.
* css3/flexbox/csswg/flex-lines/multi-line-wrap-with-row-reverse-expected.html: Added.
* css3/flexbox/csswg/flex-lines/multi-line-wrap-with-row-reverse.html: Added.
* css3/flexbox/csswg/flex-margin-no-collapse-expected.html: Added.
* css3/flexbox/csswg/flex-margin-no-collapse.html: Added.
* css3/flexbox/csswg/flex-order-expected.html: Added.
* css3/flexbox/csswg/flex-order.html: Added.
* css3/flexbox/csswg/flex-vertical-align-effect-expected.html: Added.
* css3/flexbox/csswg/flex-vertical-align-effect.html: Added.
* css3/flexbox/csswg/flex-vertical-align-effect.html-expected.html: Added.
* css3/flexbox/csswg/flexbox-flex-wrap-flexing-expected.html: Added.
* css3/flexbox/csswg/flexbox-flex-wrap-flexing.html: Added.
* css3/flexbox/csswg/flexbox-flex-wrap-nowrap-expected.html: Added.
* css3/flexbox/csswg/flexbox-flex-wrap-nowrap.html: Added.
* css3/flexbox/csswg/flexbox_absolute-atomic-expected.html: Added.
* css3/flexbox/csswg/flexbox_absolute-atomic.html: Added.
* css3/flexbox/csswg/flexbox_align-content-center-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-content-center.html: Added.
* css3/flexbox/csswg/flexbox_align-content-flexend-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-content-flexend.html: Added.
* css3/flexbox/csswg/flexbox_align-content-flexstart-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-content-flexstart.html: Added.
* css3/flexbox/csswg/flexbox_align-content-spacearound-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-content-spacearound.html: Added.
* css3/flexbox/csswg/flexbox_align-content-spacebetween-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-content-spacebetween.html: Added.
* css3/flexbox/csswg/flexbox_align-content-stretch-2-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-content-stretch-2.html: Added.
* css3/flexbox/csswg/flexbox_align-content-stretch-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-content-stretch.html: Added.
* css3/flexbox/csswg/flexbox_align-items-baseline-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-items-baseline.html: Added.
* css3/flexbox/csswg/flexbox_align-items-center-2-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-items-center-2.html: Added.
* css3/flexbox/csswg/flexbox_align-items-center-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-items-center.html: Added.
* css3/flexbox/csswg/flexbox_align-items-flexend-2-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-items-flexend-2.html: Added.
* css3/flexbox/csswg/flexbox_align-items-flexend-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-items-flexend.html: Added.
* css3/flexbox/csswg/flexbox_align-items-flexstart-2-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-items-flexstart-2.html: Added.
* css3/flexbox/csswg/flexbox_align-items-flexstart-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-items-flexstart.html: Added.
* css3/flexbox/csswg/flexbox_align-items-stretch-2-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-items-stretch-2.html: Added.
* css3/flexbox/csswg/flexbox_align-items-stretch-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-items-stretch.html: Added.
* css3/flexbox/csswg/flexbox_align-self-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-self-auto.html: Added.
* css3/flexbox/csswg/flexbox_align-self-baseline-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-self-baseline.html: Added.
* css3/flexbox/csswg/flexbox_align-self-center-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-self-center.html: Added.
* css3/flexbox/csswg/flexbox_align-self-flexend-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-self-flexend.html: Added.
* css3/flexbox/csswg/flexbox_align-self-flexstart-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-self-flexstart.html: Added.
* css3/flexbox/csswg/flexbox_align-self-stretch-expected.html: Added.
* css3/flexbox/csswg/flexbox_align-self-stretch.html: Added.
* css3/flexbox/csswg/flexbox_box-clear-expected.html: Added.
* css3/flexbox/csswg/flexbox_box-clear.html: Added.
* css3/flexbox/csswg/flexbox_columns-expected.html: Added.
* css3/flexbox/csswg/flexbox_columns-flexitems-2-expected.html: Added.
* css3/flexbox/csswg/flexbox_columns-flexitems-2.html: Added.
* css3/flexbox/csswg/flexbox_columns-flexitems-expected.html: Added.
* css3/flexbox/csswg/flexbox_columns-flexitems.html: Added.
* css3/flexbox/csswg/flexbox_columns.html: Added.
* css3/flexbox/csswg/flexbox_direction-column-expected.html: Added.
* css3/flexbox/csswg/flexbox_direction-column-reverse-expected.html: Added.
* css3/flexbox/csswg/flexbox_direction-column-reverse.html: Added.
* css3/flexbox/csswg/flexbox_direction-column.html: Added.
* css3/flexbox/csswg/flexbox_direction-row-reverse-expected.html: Added.
* css3/flexbox/csswg/flexbox_direction-row-reverse.html: Added.
* css3/flexbox/csswg/flexbox_display-expected.html: Added.
* css3/flexbox/csswg/flexbox_display.html: Added.
* css3/flexbox/csswg/flexbox_empty-expected.html: Added.
* css3/flexbox/csswg/flexbox_fbfc-expected.html: Added.
* css3/flexbox/csswg/flexbox_fbfc.html: Added.
* css3/flexbox/csswg/flexbox_fbfc2-expected.html: Added.
* css3/flexbox/csswg/flexbox_fbfc2.html: Added.
* css3/flexbox/csswg/flexbox_first-line-expected.html: Added.
* css3/flexbox/csswg/flexbox_first-line.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-0-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-0.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-N-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-N-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-N-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-N.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-Npercent-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-Npercent-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-Npercent-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-Npercent.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-auto-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-auto-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-0-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-0-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-0.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-N-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-N-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-N-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-N.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-Npercent-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-Npercent-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-Npercent-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-Npercent.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-auto-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-auto-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-1-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-0-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-0.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-N-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-N-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-N-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-N.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-Npercent-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-Npercent-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-Npercent-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-Npercent.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-auto-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-auto-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-0-N-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-0-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-0.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-N-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-N-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-N-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-N.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-Npercent-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-Npercent-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-Npercent-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-Npercent.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-auto-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-auto-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-0-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-0-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-0.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-N-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-N-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-N-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-N.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-Npercent-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-Npercent-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-Npercent-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-Npercent.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-auto-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-auto-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-1-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-0-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-0.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-N-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-N-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-N-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-N.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-Npercent-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-Npercent-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-Npercent-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-Npercent.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-auto-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-auto-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-1-N-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-0-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-0.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-N-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-N-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-N-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-N.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-Npercent-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-Npercent-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-Npercent-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-Npercent.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-auto-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-auto-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-0-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-0-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-0.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-N-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-N-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-N-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-N.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-Npercent-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-Npercent-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-Npercent-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-Npercent.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-auto-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-auto-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-1-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-0-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-0.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-N-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-N-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-N-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-N.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-Npercent-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-Npercent-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-Npercent-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-Npercent.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-auto-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-auto-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-N-N-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-basis-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-basis-shrink-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-basis-shrink.html: Added.
* css3/flexbox/csswg/flexbox_flex-basis.html: Added.
* css3/flexbox/csswg/flexbox_flex-formatting-interop-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-formatting-interop.html: Added.
* css3/flexbox/csswg/flexbox_flex-initial-2-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-initial-2.html: Added.
* css3/flexbox/csswg/flexbox_flex-initial-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-initial.html: Added.
* css3/flexbox/csswg/flexbox_flex-natural-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-auto.html: Added.
* css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-natural-mixed-basis.html: Added.
* css3/flexbox/csswg/flexbox_flex-natural-variable-auto-basis-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-natural-variable-auto-basis.html: Added.
* css3/flexbox/csswg/flexbox_flex-natural-variable-zero-basis-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-natural-variable-zero-basis.html: Added.
* css3/flexbox/csswg/flexbox_flex-natural.html: Added.
* css3/flexbox/csswg/flexbox_flex-none-expected.html: Added.
* css3/flexbox/csswg/flexbox_flex-none.html: Added.
* css3/flexbox/csswg/flexbox_flex-unitless-basis-expected.html: Added.
* css3/flexbox/csswg/flexbox_flow-column-reverse-wrap-expected.html: Added.
* css3/flexbox/csswg/flexbox_flow-column-reverse-wrap-reverse-expected.html: Added.
* css3/flexbox/csswg/flexbox_flow-column-reverse-wrap-reverse.html: Added.
* css3/flexbox/csswg/flexbox_flow-column-reverse-wrap.html: Added.
* css3/flexbox/csswg/flexbox_flow-column-wrap-expected.html: Added.
* css3/flexbox/csswg/flexbox_flow-column-wrap-reverse-expected.html: Added.
* css3/flexbox/csswg/flexbox_flow-column-wrap-reverse.html: Added.
* css3/flexbox/csswg/flexbox_flow-column-wrap.html: Added.
* css3/flexbox/csswg/flexbox_flow-row-wrap-expected.html: Added.
* css3/flexbox/csswg/flexbox_flow-row-wrap-reverse-expected.html: Added.
* css3/flexbox/csswg/flexbox_flow-row-wrap-reverse.html: Added.
* css3/flexbox/csswg/flexbox_flow-row-wrap.html: Added.
* css3/flexbox/csswg/flexbox_generated-container-expected.html: Added.
* css3/flexbox/csswg/flexbox_generated-container.html: Added.
* css3/flexbox/csswg/flexbox_generated-expected.html: Added.
* css3/flexbox/csswg/flexbox_generated-flex-expected.html: Added.
* css3/flexbox/csswg/flexbox_generated-flex.html: Added.
* css3/flexbox/csswg/flexbox_generated.html: Added.
* css3/flexbox/csswg/flexbox_inline-expected.html: Added.
* css3/flexbox/csswg/flexbox_inline.html: Added.
* css3/flexbox/csswg/flexbox_item-bottom-float-expected.html: Added.
* css3/flexbox/csswg/flexbox_item-bottom-float.html: Added.
* css3/flexbox/csswg/flexbox_item-clear-expected.html: Added.
* css3/flexbox/csswg/flexbox_item-clear.html: Added.
* css3/flexbox/csswg/flexbox_item-float-expected.html: Added.
* css3/flexbox/csswg/flexbox_item-float.html: Added.
* css3/flexbox/csswg/flexbox_item-top-float-expected.html: Added.
* css3/flexbox/csswg/flexbox_item-top-float.html: Added.
* css3/flexbox/csswg/flexbox_item-vertical-align-expected.html: Added.
* css3/flexbox/csswg/flexbox_item-vertical-align.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-center-expected.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-center-overflow-expected.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-center-overflow.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-center.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-flex-end-expected.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-flex-end.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-flex-start-expected.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-flex-start.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacearound-expected.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacearound-negative-expected.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacearound-negative.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacearound-only-expected.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacearound-only.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacearound.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacebetween-expected.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacebetween-negative-expected.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacebetween-negative.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacebetween-only-expected.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacebetween-only.html: Added.
* css3/flexbox/csswg/flexbox_justifycontent-spacebetween.html: Added.
* css3/flexbox/csswg/flexbox_margin-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_margin-auto-overflow-2-expected.html: Added.
* css3/flexbox/csswg/flexbox_margin-auto-overflow-2.html: Added.
* css3/flexbox/csswg/flexbox_margin-auto-overflow-expected.html: Added.
* css3/flexbox/csswg/flexbox_margin-auto-overflow.html: Added.
* css3/flexbox/csswg/flexbox_margin-auto.html: Added.
* css3/flexbox/csswg/flexbox_margin-collapse-expected.html: Added.
* css3/flexbox/csswg/flexbox_margin-collapse.html: Added.
* css3/flexbox/csswg/flexbox_margin-expected.html: Added.
* css3/flexbox/csswg/flexbox_margin-left-ex-expected.html: Added.
* css3/flexbox/csswg/flexbox_margin-left-ex.html: Added.
* css3/flexbox/csswg/flexbox_margin.html: Added.
* css3/flexbox/csswg/flexbox_min-height-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_min-height-auto.html: Added.
* css3/flexbox/csswg/flexbox_min-width-auto-expected.html: Added.
* css3/flexbox/csswg/flexbox_min-width-auto.html: Added.
* css3/flexbox/csswg/flexbox_object-expected.html: Added.
* css3/flexbox/csswg/flexbox_object.html: Added.
* css3/flexbox/csswg/flexbox_order-abspos-space-around-expected.html: Added.
* css3/flexbox/csswg/flexbox_order-abspos-space-around.html: Added.
* css3/flexbox/csswg/flexbox_order-box-expected.html: Added.
* css3/flexbox/csswg/flexbox_order-box.html: Added.
* css3/flexbox/csswg/flexbox_order-expected.html: Added.
* css3/flexbox/csswg/flexbox_order.html: Added.
* css3/flexbox/csswg/flexbox_rowspan-expected.html: Added.
* css3/flexbox/csswg/flexbox_rowspan.html: Added.
* css3/flexbox/csswg/flexbox_rtl-direction-expected.html: Added.
* css3/flexbox/csswg/flexbox_rtl-direction.html: Added.
* css3/flexbox/csswg/flexbox_rtl-flow-expected.html: Added.
* css3/flexbox/csswg/flexbox_rtl-flow-reverse-expected.html: Added.
* css3/flexbox/csswg/flexbox_rtl-flow-reverse.html: Added.
* css3/flexbox/csswg/flexbox_rtl-flow.html: Added.
* css3/flexbox/csswg/flexbox_rtl-order-expected.html: Added.
* css3/flexbox/csswg/flexbox_rtl-order.html: Added.
* css3/flexbox/csswg/flexbox_stf-table-singleline-expected.html: Added.
* css3/flexbox/csswg/flexbox_stf-table-singleline.html: Added.
* css3/flexbox/csswg/flexbox_visibility-collapse-expected.html: Added.
* css3/flexbox/csswg/flexbox_visibility-collapse-line-wrapping-expected.html: Added.
* css3/flexbox/csswg/flexbox_visibility-collapse-line-wrapping.html: Added.
* css3/flexbox/csswg/flexbox_visibility-collapse.html: Added.
* css3/flexbox/csswg/flexbox_wrap-expected.html: Added.
* css3/flexbox/csswg/flexbox_wrap-long-expected.html: Added.
* css3/flexbox/csswg/flexbox_wrap-long.html: Added.
* css3/flexbox/csswg/flexbox_wrap-reverse-expected.html: Added.
* css3/flexbox/csswg/flexbox_wrap-reverse.html: Added.
* css3/flexbox/csswg/flexbox_wrap.html: Added.
* css3/flexbox/csswg/flexbox_writing_mode_vertical_lays_out_contents_from_top_to_bottom-expected.html: Added.
* css3/flexbox/csswg/flexbox_writing_mode_vertical_lays_out_contents_from_top_to_bottom.html: Added.
* css3/flexbox/csswg/justify-content-001-expected.html: Added.
* css3/flexbox/csswg/justify-content-001.html: Added.
* css3/flexbox/csswg/order/order-with-column-reverse-expected.html: Added.
* css3/flexbox/csswg/order/order-with-column-reverse.html: Added.
* css3/flexbox/csswg/order/order-with-row-reverse-expected.html: Added.
* css3/flexbox/csswg/order/order-with-row-reverse.html: Added.
* css3/flexbox/csswg/ref-filled-green-100px-square-expected.html: Added.
* css3/flexbox/csswg/ref-filled-green-100px-square.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-align-content-center-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-align-content-center.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-align-content-end-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-align-content-end.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-align-content-space-between-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-align-content-space-between.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-align-content-start-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-align-content-start.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-base-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-base.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-direction-column-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-direction-column-reverse-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-direction-column-reverse.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-direction-column.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-direction-row-reverse-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-direction-row-reverse.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-inline-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-inline.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-order-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-order.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-wrap-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-wrap-reverse-expected.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-wrap-reverse.html: Added.
* css3/flexbox/csswg/ttwf-reftest-flex-wrap.html: Added.

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