Whitespace action menus aren't working properly
https://bugs.webkit.org/show_bug.cgi?id=138585
-and corresponding-
rdar://problem/18933586

Reviewed by Tim Horton.

Treat the whitespace menu as a text menu.
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController isMenuForTextContent]):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()
https://bugs.webkit.org/show_bug.cgi?id=138578

Reviewed by Andreas Kling.

Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()
and turn the argument into a reference to make it clear it cannot be
null.

No new tests, no behavior change.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::willRemoveChild):
* dom/Document.cpp:
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):
* dom/Document.h:
* dom/NodeIterator.cpp:
(WebCore::NodeIterator::nodeWillBeRemoved):
(WebCore::NodeIterator::updateForNodeRemoval):
* dom/NodeIterator.h:
* dom/Range.cpp:
(WebCore::Range::insertNode):
(WebCore::boundaryNodeWillBeRemoved):
(WebCore::Range::nodeWillBeRemoved):
* dom/Range.h:
* dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::setToBeforeChild):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren):
* editing/CompositeEditCommand.h:
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removeNode):
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
(WebCore::DeleteSelectionCommand::removeRedundantBlocks):
* editing/FrameSelection.cpp:
(WebCore::removingNodeRemovesPosition):
(WebCore::DragCaretController::nodeWillBeRemoved):
(WebCore::FrameSelection::nodeWillBeRemoved):
(WebCore::FrameSelection::respondToNodeModification):
* editing/FrameSelection.h:
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
* editing/htmlediting.cpp:
(WebCore::updatePositionForNodeRemoval):
* editing/htmlediting.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::nodeWillBeRemoved):
* page/EventHandler.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175836 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WK1: Support default actions for editable whitespace
https://bugs.webkit.org/show_bug.cgi?id=138586
-and corresponding-
rdar://problem/18932048

Reviewed by Tim Horton.

New menu type. Just wants paste.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController isMenuForTextContent]):
(-[WebActionMenuController _defaultMenuItemsForWhitespaceInEditableArea:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):
* WebView/WebUIDelegatePrivate.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Add infrastructure for eslint based static analyzer
https://bugs.webkit.org/show_bug.cgi?id=137890

Reviewed by Timothy Hatcher.

Fix to previous patch to add AnalyzerManager and AnalyzerMessage classes. Changed Main.html to include ESLint.js
before Main.js in the combined resources.

* UserInterface/Base/Main.js:
* UserInterface/Controllers/AnalyzerManager.js: Added.
(WebInspector.AnalyzerManager):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode.):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode):
(set WebInspector.AnalyzerManager.prototype.set get sourceCodeCanBeAnalyzed):
(set WebInspector.AnalyzerManager.prototype._handleSourceCodeContentDidChange):
* UserInterface/Main.html:
* UserInterface/Models/AnalyzerMessage.js: Added.
(WebInspector.AnalyzerMessage):
(WebInspector.AnalyzerMessage.prototype.get sourceCodeLocation):
(WebInspector.AnalyzerMessage.prototype.get sourceCode):
(WebInspector.AnalyzerMessage.prototype.get text):
(WebInspector.AnalyzerMessage.prototype.get ruleIdentifier):
* UserInterface/Models/SourceCode.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175838 268f45cc-cd09-0410-ab3c-d52691b4dbfc
http tests should not use shared temporary files
https://bugs.webkit.org/show_bug.cgi?id=138583

Reviewed by Tim Horton.

Made some of the scripts that write to files take a path argument, and made others
more strictly serve only one test.

This way, we don't race for any files.

* http/tests/appcache/fail-on-update-2.html:
* http/tests/appcache/fallback.html:
* http/tests/appcache/main-resource-fallback-for-network-error-crash.html:
* http/tests/appcache/main-resource-hash.html:
* http/tests/appcache/main-resource-redirect.html:
* http/tests/appcache/multi-fallback.html:
* http/tests/appcache/non-html.xhtml:
* http/tests/appcache/offline-access.html:
* http/tests/appcache/online-whitelist.html:
* http/tests/appcache/remove-cache.html:
* http/tests/appcache/resources/counter.php: Removed.
* http/tests/appcache/resources/fail-on-update-2.php:
* http/tests/appcache/resources/fail-on-update.php:
* http/tests/appcache/resources/main-resource-redirect-frame.php:
* http/tests/appcache/resources/main-resource-redirect.manifest:
* http/tests/appcache/resources/non-html.manifest:
* http/tests/appcache/resources/offline-access-frame.html:
* http/tests/appcache/resources/offline-access.js:
* http/tests/appcache/resources/offline-access.manifest:
* http/tests/appcache/resources/online-whitelist.manifest:
* http/tests/appcache/resources/online-whitelist.php: Copied from LayoutTests/http/tests/appcache/resources/counter.php.
* http/tests/appcache/resources/remove-cache-frame-2.html:
* http/tests/appcache/resources/remove-cache-frame.html:
* http/tests/appcache/resources/remove-cache.php: Copied from LayoutTests/http/tests/appcache/resources/fail-on-update.php.
* http/tests/appcache/resources/update-cache.php: Copied from LayoutTests/http/tests/appcache/resources/versioned-manifest.php.
* http/tests/appcache/resources/versioned-manifest.php: Removed.
* http/tests/appcache/update-cache.html:
* http/tests/cache/network-error-during-revalidation.html:
* http/tests/cache/post-redirect-get.php:
* http/tests/cache/post-with-cached-subresources.php:
* http/tests/cache/reload-main-resource.php:
* http/tests/cache/resources/network-error-during-revalidation-frame.html:
* http/tests/cache/resources/partitioned-cache-echo-state.php:
* http/tests/cache/resources/partitioned-cache-loader.html:
* http/tests/cache/resources/post-image-to-verify.php:
* http/tests/cache/resources/reload-main-resource-iframe.php:
* http/tests/cache/stopped-revalidation.html:
* http/tests/cache/subresource-fragment-identifier.html:
* http/tests/css/border-image-loading.html:
* http/tests/css/css-image-loading.html:
* http/tests/css/mask-image-loading.html:
* http/tests/css/reflection-mask-image-loading.html:
* http/tests/css/resources/request-logging.js:
* http/tests/loading/preload-img-test.html:
* http/tests/local/link-stylesheet-load-order-preload.html:
* http/tests/local/link-stylesheet-load-order.html:
* http/tests/misc/link-rel-prefetch-and-subresource.html:
* http/tests/resources/network-simulator.php:
* http/tests/resources/tripmine.php: Removed.
* http/tests/xmlhttprequest/access-control-preflight-async-header-denied-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html:
* http/tests/xmlhttprequest/access-control-preflight-async-method-denied-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html:
* http/tests/xmlhttprequest/access-control-preflight-async-not-supported-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-async-not-supported.html:
* http/tests/xmlhttprequest/access-control-preflight-headers-async.html:
* http/tests/xmlhttprequest/access-control-preflight-headers-sync.html:
* http/tests/xmlhttprequest/access-control-preflight-sync-header-denied-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html:
* http/tests/xmlhttprequest/access-control-preflight-sync-method-denied-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html:
* http/tests/xmlhttprequest/access-control-preflight-sync-not-supported-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-sync-not-supported.html:
* http/tests/xmlhttprequest/redirect-cross-origin-tripmine.html:
* http/tests/xmlhttprequest/resources/access-control-preflight-denied-xsrf.php:
* http/tests/xmlhttprequest/resources/no-custom-header.php:
* http/tests/xmlhttprequest/resources/redirect-cross-origin-tripmine.php: Copied from LayoutTests/http/tests/resources/tripmine.php.
* http/tests/xmlhttprequest/state-after-network-error.html:
* http/tests/xmlhttprequest/xmlhttprequest-responseURL-expected.txt:
* http/tests/xmlhttprequest/xmlhttprequest-responseURL.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WK1: Support default actions for editable text with misspelled word
https://bugs.webkit.org/show_bug.cgi?id=138590
-and corresponding-
rdar://problem/18877506

Reviewed by Tim Horton.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit/mac:

If there are misspelled word suggestions for editable text, create a new type of 
menu with a spelling suggestion sub-menu.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController isMenuForTextContent]):
(-[WebActionMenuController _defaultMenuItemsForEditableTextWithSuggestions:]):
(-[WebActionMenuController _changeSelectionToSuggestion:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _changeSpellingToWord:]):
* WebView/WebHTMLViewInternal.h:
* WebView/WebUIDelegatePrivate.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Test that complext and fast text codepaths measure the same width
https://bugs.webkit.org/show_bug.cgi?id=138581

Reviewed by Simon Fraser.

* fast/text/space-width-expected.html: Added.
* fast/text/space-width.html: Added.


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