AX: HTML5 landmark (and related) elements should not be ignored.
https://bugs.webkit.org/show_bug.cgi?id=135116

Patch by Takeshi Kurosawa <taken.spc@gmail.com> on 2014-09-09
Reviewed by Chris Fleizach.

Make sure following element should not be ignored in computeAccessibilityIsIgnored
- header, aside, address, main, nav, article, section
- dt, dd

Source/WebCore:

Tests: platform/mac/accessibility/descriptionlist-not-ignored.html
       platform/mac/accessibility/landmark-not-ignored.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

LayoutTests:

* platform/mac/accessibility/descriptionlist-not-ignored-expected.txt: Added.
* platform/mac/accessibility/descriptionlist-not-ignored.html: Added.
* platform/mac/accessibility/landmark-not-ignored-expected.txt: Added.
* platform/mac/accessibility/landmark-not-ignored.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make DrawingArea a real MessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=136438

Reviewed by Darin Adler.

* WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::DrawingArea):
(WebKit::DrawingArea::~DrawingArea):
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::didReceiveMessage):
Make DrawingArea a real MessageReceiver instead of a LegacyReceiver that
jumps through WebPage to receive its messages.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update my email in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=136671

Patch by Christophe Dumez <cdumez@apple.com> on 2014-09-09
Reviewed by Andreas Kling.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Fix ESLint semi (missing semicolon)
https://bugs.webkit.org/show_bug.cgi?id=136665

Reviewed by Andy Estes.

Add missing semicolons as identified by ESLint. Add explicit semi rule to .eslintrc.

* .eslintrc:
* Tools/PrettyPrinting/FormatterContentBuilder.js:
* Tools/PrettyPrinting/FormatterDebug.js:
(Formatter.prototype.debug):
* UserInterface/Base/DOMUtilities.js:
* UserInterface/Base/EventListener.js:
(WebInspector.EventListener):
(WebInspector.EventListener.prototype.this._callback):
(WebInspector.EventListener.prototype.connect):
* UserInterface/Base/Object.js:
(WebInspector.Object):
(WebInspector.Object.addConstructorFunctions):
(WebInspector.Event):
* UserInterface/Base/URLUtilities.js:
(WebInspector.displayNameForURL):
(WebInspector.displayNameForHost):
* UserInterface/Base/Utilities.js:
(.):
* UserInterface/Controllers/BranchManager.js:
(WebInspector.BranchManager):
* UserInterface/Controllers/CSSStyleManager.js:
(WebInspector.CSSStyleManager):
* UserInterface/Controllers/CodeMirrorColorEditingController.js:
(WebInspector.CodeMirrorColorEditingController):
* UserInterface/Controllers/CodeMirrorEditingController.js:
(WebInspector.CodeMirrorEditingController):
* UserInterface/Controllers/CodeMirrorGradientEditingController.js:
(WebInspector.CodeMirrorGradientEditingController):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
* UserInterface/Controllers/FormatterContentBuilder.js:
* UserInterface/Controllers/FormatterSourceMap.js:
(WebInspector.FormatterSourceMap.fromBuilder):
* UserInterface/Controllers/IssueManager.js:
(WebInspector.IssueManager):
* UserInterface/Controllers/LogManager.js:
(WebInspector.LogManager):
* UserInterface/Models/BreakpointAction.js:
* UserInterface/Models/CSSCompletions.js:
(WebInspector.CSSCompletions):
(WebInspector.CSSCompletions.requestCSSNameCompletions):
* UserInterface/Models/CSSKeywordCompletions.js:
(WebInspector.CSSKeywordCompletions.forProperty):
(WebInspector.CSSKeywordCompletions.isColorAwareProperty):
* UserInterface/Models/CSSStyleSheet.js:
(WebInspector.CSSStyleSheet.resetUniqueDisplayNameNumbers):
* UserInterface/Models/Color.js:
(WebInspector.Color):
(WebInspector.Color.fromString):
* UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode):
* UserInterface/Models/DOMSearchMatchObject.js:
(WebInspector.DOMSearchMatchObject.titleForDOMNode):
* UserInterface/Models/ExecutionContext.js:
(WebInspector.ExecutionContext.supported):
* UserInterface/Models/Gradient.js:
(WebInspector.LinearGradient):
(WebInspector.LinearGradient.linearGradientWithComponents):
(WebInspector.RadialGradient):
(WebInspector.RadialGradient.radialGradientWithComponents):
* UserInterface/Models/IssueMessage.js:
(WebInspector.IssueMessage):
* UserInterface/Models/ReplaySessionSegment.js:
(WebInspector.IncompleteSessionSegment):
* UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.associateWithScript):
* UserInterface/Models/Script.js:
(WebInspector.Script.resetUniqueDisplayNameNumbers):
* UserInterface/Models/Setting.js:
(WebInspector.Setting):
* UserInterface/Models/SourceCodePosition.js:
(WebInspector.SourceCodePosition):
* UserInterface/Models/SourceMap.js:
(WebInspector.SourceMap):
(WebInspector.SourceMap.StringCharIterator):
* UserInterface/Models/TextMarker.js:
(WebInspector.TextMarker):
* UserInterface/Models/TextRange.js:
(WebInspector.TextRange):
* UserInterface/Protocol/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub):
* UserInterface/Protocol/MessageDispatcher.js:
(WebInspector.dispatchNextQueuedMessageFromBackend):
(WebInspector.dispatchMessageFromBackend):
* UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPrimitiveValue):
(WebInspector.RemoteObject.fromLocalObject):
(WebInspector.RemoteObject.resolveNode):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.type):
(WebInspector.RemoteObjectProperty):
(WebInspector.RemoteObjectProperty.fromPrimitiveValue):
(WebInspector.LocalJSONObject):
* UserInterface/Protocol/ReplayObserver.js:
(WebInspector.ReplayPosition.fromProtocol):
* UserInterface/Views/BreakpointActionView.js:
(WebInspector.BreakpointActionView.displayStringForType):
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype.if):
* UserInterface/Views/ClusterContentView.js:
(WebInspector.ClusterContentView.prototype.goBack):
(WebInspector.ClusterContentView.prototype.goForward):
* UserInterface/Views/CodeMirrorAdditions.js:
* UserInterface/Views/ColorWheel.js:
(WebInspector.ColorWheel):
* UserInterface/Views/ConsoleMessage.js:
(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.create):
* UserInterface/Views/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl):
* UserInterface/Views/ContextMenu.js:
(WebInspector.ContextMenuItem):
(WebInspector.ContextSubMenuItem):
(WebInspector.ContextMenu):
(WebInspector.ContextMenu.Provider):
(WebInspector.ContextMenu.registerProvider):
(WebInspector.contextMenuItemSelected):
(WebInspector.contextMenuCleared):
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement):
* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline):
* UserInterface/Views/DOMTreeUpdater.js:
(WebInspector.DOMTreeUpdater):
* UserInterface/Views/DatabaseContentView.js:
(WebInspector.DatabaseContentView):
* UserInterface/Views/EditingSupport.js:
(WebInspector.isBeingEdited):
(WebInspector.markBeingEdited):
(WebInspector.isEditingAnyField):
(WebInspector.isEventTargetAnEditableField):
(WebInspector.EditingConfig):
(WebInspector.startEditing):
* UserInterface/Views/EventListenerSection.js:
(WebInspector.EventListenerSection):
* UserInterface/Views/EventListenerSectionGroup.js:
(WebInspector.EventListenerSectionGroup):
* UserInterface/Views/FindBanner.js:
* UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement):
* UserInterface/Views/GoToLineDialog.js:
(WebInspector.GoToLineDialog):
* UserInterface/Views/IndeterminateProgressSpinner.js:
(WebInspector.IndeterminateProgressSpinner):
* UserInterface/Views/LayoutTimelineDataGrid.js:
(WebInspector.LayoutTimelineDataGrid):
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
* UserInterface/Views/NavigationItem.js:
* UserInterface/Views/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertiesSection):
(WebInspector.ObjectPropertiesSection.CompareProperties):
(WebInspector.ObjectPropertyTreeElement):
* UserInterface/Views/ProbeSetDetailsSection.js:
* UserInterface/Views/PropertiesSection.js:
(WebInspector.PropertiesSection):
* UserInterface/Views/ResourceTreeElement.js:
(WebInspector.ResourceTreeElement.compareResourceTreeElements):
(WebInspector.ResourceTreeElement.compareFolderAndResourceTreeElements):
* UserInterface/Views/ScriptTimelineDataGrid.js:
(WebInspector.ScriptTimelineDataGrid):
* UserInterface/Views/SearchResultTreeElement.js:
(WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.get allowsClippedLabels):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
* UserInterface/Views/Toolbar.js:
* UserInterface/Views/TreeOutline.js:
(TreeOutline.prototype.appendChild):
(TreeOutline.prototype.insertChild):
(TreeOutline.prototype.removeChildAtIndex):
(TreeOutline.prototype.removeChild):
(TreeOutline.prototype.removeChildren):
(TreeOutline.prototype.removeChildrenRecursive):
(TreeOutline.prototype._rememberTreeElement):
(TreeOutline.prototype._forgetTreeElement):
(TreeOutline.prototype._forgetChildrenRecursive):
(TreeOutline.prototype.getCachedTreeElement):
(TreeOutline.prototype.findTreeElement):
(TreeOutline.prototype._treeElementDidChange):
(TreeOutline.prototype.treeElementFromPoint):
(TreeOutline.prototype._treeKeyDown):
(TreeOutline.prototype.expand):
(TreeOutline.prototype.collapse):
(TreeOutline.prototype.revealed):
(TreeOutline.prototype.reveal):
(TreeOutline.prototype.select):
(TreeOutline.prototype.revealAndSelect):
(TreeElement.prototype._attach):
(TreeElement.prototype._detach):
(TreeElement.treeElementMouseDown):
(TreeElement.treeElementToggled):
(TreeElement.treeElementDoubleClicked):
(TreeElement.prototype.collapse):
(TreeElement.prototype.collapseRecursively):
(TreeElement.prototype.expand):
(TreeElement.prototype.expandRecursively):
(TreeElement.prototype.hasAncestor):
(TreeElement.prototype.reveal):
(TreeElement.prototype.revealed):
(TreeElement.prototype.selectOnMouseDown):
(TreeElement.prototype.select):
(TreeElement.prototype.revealAndSelect):
(TreeElement.prototype.deselect):
(TreeElement.prototype.onpopulate):
(TreeElement.prototype.traverseNextTreeElement):
(TreeElement.prototype.traversePreviousTreeElement):
(TreeElement.prototype.isEventWithinDisclosureTriangle):
* UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
(WebInspector.TreeOutlineDataGridSynchronizer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Fix ESLint no-extra-semi
https://bugs.webkit.org/show_bug.cgi?id=136666

Reviewed by Andy Estes.

Add explicit no-extra-semi rule to .eslintrc. Remove all unnecessary
semicolons as identified by ESLint.

* .eslintrc:
* Tools/PrettyPrinting/Formatter.js:
(Formatter):
* UserInterface/Controllers/Formatter.js:
(Formatter):
* UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.getImageSize.imageDidLoad):
(WebInspector.Resource.prototype.getImageSize):
* UserInterface/Views/LayerTreeSidebarPanel.js:
(WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
(WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
* UserInterface/Views/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype.callback):
(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Fix ESLint eqeqeq warnings
https://bugs.webkit.org/show_bug.cgi?id=136658

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-09
Reviewed by Andy Estes.

* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.mycallback):
(WebInspector.DOMTreeManager.prototype.searchResult):
* UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint.prototype.clearActions):
* UserInterface/Models/DOMTree.js:
(WebInspector.DOMTree.prototype._requestRootDOMNode.rootObjectAvailable):
(WebInspector.DOMTree.prototype._requestRootDOMNode.rootDOMNodeAvailable):
(WebInspector.DOMTree.prototype._requestRootDOMNode.dispatchCallbacks):
(WebInspector.DOMTree.prototype._requestRootDOMNode):
* UserInterface/Models/ProbeSet.js:
(WebInspector.ProbeSet.prototype.removeProbe):
* UserInterface/Models/ProbeSetDataTable.js:
(WebInspector.ProbeSetDataTable.prototype.addSampleForProbe):
* UserInterface/Views/CodeMirrorAdditions.js:
* UserInterface/Views/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype._filterCookies):
(WebInspector.cookieMatchesResourceURL):
* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView.prototype._editingCallback):
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement):
(WebInspector.DOMTreeElement.prototype._updateChildren):
(WebInspector.DOMTreeElement.prototype._startEditingTarget):
(WebInspector.DOMTreeElement.prototype._textNodeEditingCommitted):
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype._resizerDragging):
* UserInterface/Views/DatabaseContentView.js:
(WebInspector.DatabaseContentView.prototype._queryError):
* UserInterface/Views/DetailsSectionSimpleRow.js:
(.valueElementClicked):
(WebInspector.DetailsSectionSimpleRow):
* UserInterface/Views/Slider.js:
(WebInspector.Slider.prototype.get _maxX):
* UserInterface/Views/TreeOutline.js:
(TreeElement.prototype.expand):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Skip some WebGL tests failing on Mavericks and MountainLion bots.

* platform/mac/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Unreviewed GTK gardening.

Tools:

* Scripts/run-gtk-tests:
(TestRunner): Skip TestSSL:webkit2/WebKitWebView/ssl (fails since r173423).

LayoutTests:

* platform/gtk/TestExpectations: Report and mark new failures after r173328 and r173418.
Update some expectations for new cases.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Fix ESLint no-trailing-spaces warnings
https://bugs.webkit.org/show_bug.cgi?id=136657

Reviewed by NOBODY (OOPS!).

* .eslintrc:
* UserInterface/Base/DOMUtilities.js:
* UserInterface/Base/URLUtilities.js:
(relativePath):
* UserInterface/Base/Utilities.js:
* UserInterface/Controllers/CodeMirrorColorEditingController.js:
(WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
* UserInterface/Controllers/CodeMirrorDragToAdjustNumberController.js:
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint):
* UserInterface/Controllers/CodeMirrorEditingController.js:
(WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent):
* UserInterface/Controllers/CodeMirrorGradientEditingController.js:
(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
(WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
* UserInterface/Controllers/DragToAdjustController.js:
(WebInspector.DragToAdjustController.prototype.set active):
(WebInspector.DragToAdjustController.prototype._setDragging):
(WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag):
* UserInterface/External/Esprima/esprima.js:
* UserInterface/Models/ApplicationCacheFrame.js:
(WebInspector.ApplicationCacheFrame):
* UserInterface/Models/ApplicationCacheManifest.js:
(WebInspector.ApplicationCacheManifest):
(WebInspector.ApplicationCacheManifest.prototype.get manifestURL):
* UserInterface/Models/CookieStorageObject.js:
* UserInterface/Models/DOMSearchMatchObject.js:
(WebInspector.DOMSearchMatchObject.prototype.get title):
(WebInspector.DOMSearchMatchObject.titleForDOMNode):
* UserInterface/Models/DatabaseObject.js:
(WebInspector.DatabaseObject.prototype.getTableNames):
* UserInterface/Models/DatabaseTableObject.js:
(WebInspector.DatabaseTableObject):
* UserInterface/Models/Gradient.js:
(WebInspector.Gradient.fromString):
(WebInspector.RadialGradient.prototype.toString):
* UserInterface/Models/IssueMessage.js:
(WebInspector.IssueMessage.prototype._formatTextIfNecessary):
* UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.getImageSize.imageDidLoad):
(WebInspector.Resource.prototype.getImageSize):
* UserInterface/Models/Script.js:
(WebInspector.Script.prototype._makeSyntaxTree):
* UserInterface/Models/SourceCodeLocation.js:
(WebInspector.SourceCodeLocation.prototype.hasDifferentDisplayLocation):
* UserInterface/Models/TextMarker.js:
* UserInterface/Protocol/PageObserver.js:
* UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.set applicationCacheFrame):
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh):
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._networkStateUpdated):
* UserInterface/Views/ApplicationCacheFrameTreeElement.js:
(WebInspector.ApplicationCacheFrameTreeElement):
* UserInterface/Views/ApplicationCacheManifestTreeElement.js:
(WebInspector.ApplicationCacheManifestTreeElement.prototype.get name):
(WebInspector.ApplicationCacheManifestTreeElement.prototype.get secondaryName):
* UserInterface/Views/ButtonNavigationItem.js:
(WebInspector.ButtonNavigationItem):
* UserInterface/Views/ColorPicker.js:
* UserInterface/Views/ColorWheel.js:
(WebInspector.ColorWheel.prototype._draw):
* UserInterface/Views/CompletionSuggestionsView.js:
(WebInspector.CompletionSuggestionsView.prototype.show):
* UserInterface/Views/ConsoleCommand.js:
* UserInterface/Views/ConsolePrompt.js:
* UserInterface/Views/ContentFlowTreeElement.js:
* UserInterface/Views/CookieStorageTreeElement.js:
(WebInspector.CookieStorageTreeElement):
* UserInterface/Views/EventListenerSectionGroup.js:
(WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
* UserInterface/Views/GeneralTreeElementPathComponent.js:
* UserInterface/Views/GoToLineDialog.js:
(WebInspector.GoToLineDialog.prototype._handleKeydownEvent):
* UserInterface/Views/LayerTreeDataGridNode.js:
(WebInspector.LayerTreeDataGridNode.prototype._makeNameCell):
* UserInterface/Views/LayerTreeSidebarPanel.js:
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._highlightRanges):
* UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar):
* UserInterface/Views/NavigationItem.js:
(WebInspector.NavigationItem):
* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
* UserInterface/Views/ScopeBar.js:
* UserInterface/Views/ScopeBarItem.js:
(WebInspector.ScopeBarItem):
* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
* UserInterface/Views/ScriptTimelineDataGridNode.js:
(WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
* UserInterface/Views/ScriptTreeElement.js:
(WebInspector.ScriptTreeElement):
* UserInterface/Views/SearchBar.js:
* UserInterface/Views/SearchResultTreeElement.js:
(WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
* UserInterface/Views/Slider.js:

Conflicts:
	Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorColorEditingController.js

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix syntax on some expected failures.

* platform/mac/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173437 268f45cc-cd09-0410-ab3c-d52691b4dbfc
svn-{apply, unapply} fails to apply/unapply SVN 1.7 patch that adds new file with property change
https://bugs.webkit.org/show_bug.cgi?id=136379

Patch by Daniel Bates <dbates@webkit.org> on 2014-09-09
Reviewed by David Kilzer.

Fixes an issue where svn-{apply, unapply} fail to apply or unapply, respectively,
a patch generated using Subversion 1.7.4 (r1295709) that both adds a new file F
and sets a property on F (say, the executable bit).

* Scripts/svn-apply:
(patch): Only add file if the diff has text chunks.
* Scripts/svn-unapply:
(patch): Only delete added file if the diff has text chunks.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MSE] media/media-source tests broken after r173318
https://bugs.webkit.org/show_bug.cgi?id=136675

Reviewed by Eric Carlson.

Fixes the following tests:
    http/tests/media/media-source/mediasource-play.html
    http/tests/media/media-source/mediasource-remove.html
    media/media-source/media-source-monitor-source-buffers.html
    media/media-source/media-source-overlapping-append-buffered.html

In r173318, a for loop was converted to a C++11 loop, but in so doing, left
pre-initialized, empty values in the beginning of returned Vector, which caused
the calling algorithm to miscalculate the amount of data buffered by the media
source.

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::activeRanges):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] Unreviewed gardening. Mark two media-source tests as failing.

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for :read-write/:read-only matching editable content
https://bugs.webkit.org/show_bug.cgi?id=136668

Reviewed by Antti Koivisto.

Source/WebCore:

This is the second part of the update of :read-write/:read-only to the latest spec
(http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selectors).

The selectors :read-write/:read-only should match elements that are editable. The exact definition is:
"elements that are editing hosts or editable and are neither input elements nor textarea elements".

Matching that definition is really easy. It was done by updating HTMLElement's matchesReadWritePseudoClass()
to consider both contentEditable and designMode.

The tricky part is making that efficient in all cases. Matching contentEditable is horribly inefficient
compared to the other primitives. We don't want to execute that for every element.

Since matchesReadWritePseudoClass() was used by the theming code, that code was adjusted to
-Avoid calling that on regular HTMLElement, limiting the query to <input> and <textarea> where it is fast.
-Avoid the call entirely when possible.

Tests: fast/css/read-only-read-write-contenteditable-basics.html
       fast/css/read-only-read-write-designmode-basics.html
       fast/css/read-only-read-write-webkit-user-modify.html
       fast/selectors/read-only-read-write-contenteditable-basics.html
       fast/selectors/read-only-read-write-contenteditable-svg-foreignObject.html
       fast/selectors/read-only-read-write-designmode-basics.html
       fast/selectors/read-only-read-write-style-update.html

* html/HTMLElement.cpp:
(WebCore::contentEditableType):
This code is a generalization of the code that was in HTMLElement::contentEditable().
It is used by both matchesReadWritePseudoClass() and contentEditable() to determine
a valid state from the value of contentEditable.

(WebCore::HTMLElement::matchesReadWritePseudoClass):
Per the definition of editable content, we first check if the current element is an editing host,
if not we look for an editing host. If there are none, test for designMode.

(WebCore::HTMLElement::contentEditable):

(WebCore::RenderTheme::isReadOnlyControl):
The old definition would only match <input> and <textarea>. The code was updated to keep the same
behavior after matchesReadWritePseudoClass() is udpated. This avoids the performance problem of calling
matchesReadWritePseudoClass() on regular HTMLElement.

* platform/ControlStates.h:
ReadOnlyState was only used by ThemeMac for convertControlStatesToThemeDrawState().
In turn, convertControlStatesToThemeDrawState() was only used for painting
"-webkit-inner-spin-button". Buttons are not read-write to begin with.
The whole code looks like legacy from styling of input elements and was removed.

Removing ReadOnlyState removes the expensive part of extractControlStatesForRenderer().

* html/HTMLElement.h:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged):
* platform/mac/ThemeMac.mm:
(WebCore::convertControlStatesToThemeDrawState):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::extractControlStatesForRenderer):

LayoutTests:

* fast/css/read-only-read-write-contenteditable-basics-expected.html: Added.
* fast/css/read-only-read-write-contenteditable-basics.html: Added.
* fast/css/read-only-read-write-designmode-basics-expected.html: Added.
* fast/css/read-only-read-write-designmode-basics.html: Added.
* fast/css/read-only-read-write-webkit-user-modify-expected.txt: Added.
* fast/css/read-only-read-write-webkit-user-modify.html: Added.
* fast/selectors/read-only-read-write-contenteditable-basics-expected.txt: Added.
* fast/selectors/read-only-read-write-contenteditable-basics.html: Added.
* fast/selectors/read-only-read-write-contenteditable-svg-foreignObject-expected.txt: Added.
* fast/selectors/read-only-read-write-contenteditable-svg-foreignObject.html: Added.
* fast/selectors/read-only-read-write-designmode-basics-expected.txt: Added.
* fast/selectors/read-only-read-write-designmode-basics.html: Added.
* fast/selectors/read-only-read-write-style-update-expected.txt: Added.
* fast/selectors/read-only-read-write-style-update.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Cocoa] -[WKBackForwardList backList] contains an unnecessary nil check
https://bugs.webkit.org/show_bug.cgi?id=136680

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKBackForwardList.mm:
(-[WKBackForwardList backList]): Removed nil check.
(-[WKBackForwardList forwardList]): Ditto.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Disable the "unreachable-code" warning
https://bugs.webkit.org/show_bug.cgi?id=136677

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

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Source/ThirdParty:

* gtest/xcode/Config/General.xcconfig:

Source/WebInspectorUI:

* Configurations/Base.xcconfig:

Source/WebKit/mac:

* Configurations/Base.xcconfig:

Source/WebKit2:

* Configurations/Base.xcconfig:

Source/WTF:

The warning causes various build errors depending on which Clang you are using.

For example, with recent clangs, it breaks all the ARCHS dependent code like this:
    if (sizeof(uintptr_t) == 4)
        // Something for 32 bits.
    else
        // Somethign for 64 bits.

* Configurations/Base.xcconfig:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Grid Layout] Ignore ::first-letter pseudo-element
https://bugs.webkit.org/show_bug.cgi?id=136625

Reviewed by Darin Adler.

Source/WebCore:

According to the spec the ::first-letter pseudo-element do not apply to
grid containers (neither to flexboxes).

Fixed issue in RenderBlock::getFirstLetter() that applies to both grids
and flexboxes. Basically if the grid's or flexbox's container was
defining the ::first-line pseudo-element and the grid or flexbox itself
too, the value from the grid or flexbox was being applied to the items.
Added the proper check to avoid this.

Added two new tests for grid and modified one flexbox test to cover the
issue explained above.

Tests: css3/flexbox/flexbox-ignore-container-firstLetter.html
       fast/css-grid-layout/grid-container-ignore-first-letter.html
       fast/css-grid-layout/grid-item-first-letter-valid.html

* rendering/RenderBlock.cpp:
(WebCore::isRenderBlockFlowOrRenderButton): New method refactoring
similar calls through the source code.
(WebCore::RenderBlock::firstLineBlock): Use
isRenderBlockFlowOrRenderButton().
(WebCore::findFirstLetterBlock): Modify it to use
isRenderBlockFlowOrRenderButton() in order to include grids and not only
check flexboxes.
(WebCore::RenderBlock::getFirstLetter): Use
isRenderBlockFlowOrRenderButton().
(WebCore::RenderBlock::updateFirstLetter): Early return if
firstLetterContainer is null (in the case of flexboxes or grids).

LayoutTests:

* css3/flexbox/flexbox-ignore-container-firstLetter.html: Modify test,
in order to actually check that the ::first-letter in a regular
container is ignored in the flexbox.
* fast/css-grid-layout/grid-container-ignore-first-letter-expected.txt: Added.
* fast/css-grid-layout/grid-container-ignore-first-letter.html: Added.
* fast/css-grid-layout/grid-item-first-letter-valid-expected.txt: Added.
* fast/css-grid-layout/grid-item-first-letter-valid.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FrameLoader::prepareForHistoryNavigation is unused
https://bugs.webkit.org/show_bug.cgi?id=136683

Reviewed by Tim Horton.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::prepareForHistoryNavigation): Deleted.
* loader/FrameLoader.h: Removed the declaration.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unskip two snapshotting tests that work for me consistently locally.
* platform/mac-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clean up the MiniBrowser Xcode project
https://bugs.webkit.org/show_bug.cgi?id=136684

Reviewed by Tim Horton.

* MiniBrowser/Configurations/Base.xcconfig: Enabled warnings recommended by Xcode 6.
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Removed explicit linking against
WebKit2.framework. Upgraded project file version.



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