Copy-paste preserves <embed> tags containing active content.
https://bugs.webkit.org/show_bug.cgi?id=77625

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: editing/pasteboard/paste-noplugin.html

* dom/FragmentScriptingPermission.h:
(WebCore::scriptingContentIsAllowed):
(WebCore::pluginContentIsAllowed):
Add new permission to restrict plugin pasting.  Add inline functions to check
the implications of each permission rather than having a list of raw comparisions
sprinkled throughout the code.

* editing/markup.cpp:
(WebCore::createFragmentFromMarkup):
Revert back to unsafe plugin pasting regardless of caller's intentions when
the settings allow it.

* dom/Element.cpp:
(WebCore::Element::parserSetAttributes):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertScriptElement):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::endElementNs):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseEndElement):
Use new inline functions to check implications of permissions rather than raw
comparisions.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
Check if plugin pasting is allowed before inserting applet/embed/oject elements.

* page/Settings.in:
Declaration of new unsafePluginPastingEnabled setting.

* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::documentFragment):
* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/chromium/DragDataChromium.cpp:
(WebCore::DragData::asFragment):
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::asFragment):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::fragmentFromCFHTML):
(WebCore::fragmentFromHTML):
* platform/wx/PasteboardWx.cpp:
(WebCore::Pasteboard::documentFragment):
Pass DisallowScriptingAndPluginContent enum value.

Source/WebKit/chromium:

Adds chromium API to new unsafePluginPastingEnabled setting.

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setUnsafePluginPastingEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

LayoutTests:

* editing/pasteboard/paste-noplugin-expected.txt: Added.
* editing/pasteboard/paste-noplugin.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] A bunch of fast/css-grid-layout tests started timing out after r139025.
https://bugs.webkit.org/show_bug.cgi?id=106378

* platform/chromium/TestExpectations: Marked expectations.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139112 268f45cc-cd09-0410-ab3c-d52691b4dbfc
This should be camel case. Must remove to fix.

* OWNERS: Removed.



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