X11 Global Selection
https://bugs.webkit.org/show_bug.cgi?id=88238

Reviewed by Tony Chang.

Source/WebCore:

In X11 global selection is the ability to share the active selection
between applications and pasting with middle mouse-button.

This patch moves the implementations of global selection from the
separate implementations in Qt WebKit, Chromium and GTK to WebCore,
by implementing a new EditorCommand for pasting the global selection.

Test: editing/pasteboard/paste-global-selection.html

* editing/EditorCommand.cpp:
(WebCore::executePasteGlobalSelection):
(WebCore::createCommandMap):
* page/EditorClient.h:
(EditorClient):
(WebCore::EditorClient::supportsGlobalSelection):
* platform/Pasteboard.h:
(WebCore::Pasteboard::isSelectionMode):
(WebCore::Pasteboard::setSelectionMode):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::isSelectionMode):
(WebCore::Pasteboard::setSelectionMode):

Source/WebKit/chromium:

Use new editor command for pasting global selection.

* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::supportsGlobalSelection):
* src/EditorClientImpl.h:
(EditorClientImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleMouseUp):

Source/WebKit/qt:

Use new editor command for pasting global selection, and update it using
the respondToChangedSelection callback.

* Api/qwebpage.cpp:
(QWebPagePrivate::handleClipboard):
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::respondToChangedSelection):
(WebCore::EditorClientQt::supportsGlobalSelection):
* WebCoreSupport/EditorClientQt.h:
(EditorClientQt):

Source/WebKit2:

Implements the hooks for supporting global selections in Qt WebKit2.

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::respondToChangedSelection):
(WebKit::WebEditorClient::updateGlobalSelection):
(WebKit::WebEditorClient::supportsGlobalSelection):
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::updateGlobalSelection):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::handleMouseEvent):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::handleMouseReleaseEvent):

LayoutTests:

Adds a test for the new editor-command, and disables it an all platforms where it is not supported.

* editing/pasteboard/paste-global-selection-expected.txt: Added.
* editing/pasteboard/paste-global-selection.html: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/Skipped:
* platform/qt-mac/Skipped:
* platform/win/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127862 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test touchadjustment/iframe-boundary.html is failing
https://bugs.webkit.org/show_bug.cgi?id=95799

Unreviewed, fudge the test so it has a larger margin of error.

* platform/chromium/TestExpectations:
* touchadjustment/iframe-boundary.html:
* touchadjustment/resources/inner-content-page.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Implement SCSS source highlighter
https://bugs.webkit.org/show_bug.cgi?id=95585

Reviewed by Vsevolod Vlasov.

Source/WebCore:

This change modifies the existing CSS highlighter to support SCSS as well. The "text/x-scss" mime-type is assigned to SASSSource.

* inspector/front-end/CSSCompletions.js:
(WebInspector.CSSCompletions.cssPropertiesMetainfoKeySet):
* inspector/front-end/ContentProviders.js:
(WebInspector.StaticContentProvider): Enabled clients to supply the content mime-type.
(WebInspector.StaticContentProvider.prototype.mimeType):
(WebInspector.StaticContentProvider.prototype.requestContent): Use client-supplied content mime-type, if any.
* inspector/front-end/SASSSourceMapping.js:
(WebInspector.SASSSource): Construct StaticContentProvider with the "text/x-scss" mime-type.
* inspector/front-end/SourceCSSTokenizer.js:
(WebInspector.SourceCSSTokenizer):
(WebInspector.SourceCSSTokenizer.prototype.nextToken):
* inspector/front-end/SourceCSSTokenizer.re2js: Extended with the SCSS syntax.
* inspector/front-end/SourceTokenizer.js:
(WebInspector.SourceTokenizer.Registry):
* inspector/front-end/inspectorSyntaxHighlight.css:
(.webkit-css-bang-keyword):

LayoutTests:

Test modified to cover the SCSS syntax as well.

* inspector/syntax-highlight-css-expected.txt:
* inspector/syntax-highlight-css.html:

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