| Index: third_party/WebKit/Source/core/dom/Document.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp
|
| index 43482a85797474481f9e2cccc4cb3732c79ab7c2..aa4990c4951324816d5bc3f19558d0330efb3597 100644
|
| --- a/third_party/WebKit/Source/core/dom/Document.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/Document.cpp
|
| @@ -121,7 +121,6 @@
|
| #include "core/dom/shadow/FlatTreeTraversal.h"
|
| #include "core/dom/shadow/ShadowRoot.h"
|
| #include "core/editing/EditingUtilities.h"
|
| -#include "core/editing/Editor.h"
|
| #include "core/editing/FrameSelection.h"
|
| #include "core/editing/markers/DocumentMarkerController.h"
|
| #include "core/editing/serializers/Serialization.h"
|
| @@ -4959,116 +4958,6 @@ const KURL& Document::baseURLForOverride(const KURL& baseURLOverride) const {
|
| return baseURLFromParent ? *baseURLFromParent : baseURLOverride;
|
| }
|
|
|
| -// Support for Javascript execCommand, and related methods
|
| -
|
| -static Editor::Command command(Document* document, const String& commandName) {
|
| - LocalFrame* frame = document->frame();
|
| - if (!frame || frame->document() != document)
|
| - return Editor::Command();
|
| -
|
| - document->updateStyleAndLayoutTree();
|
| - return frame->editor().createCommandFromDOM(commandName);
|
| -}
|
| -
|
| -bool Document::execCommand(const String& commandName,
|
| - bool,
|
| - const String& value,
|
| - ExceptionState& exceptionState) {
|
| - if (!isHTMLDocument() && !isXHTMLDocument()) {
|
| - exceptionState.throwDOMException(
|
| - InvalidStateError, "execCommand is only supported on HTML documents.");
|
| - return false;
|
| - }
|
| - if (focusedElement() && isTextControlElement(*focusedElement()))
|
| - UseCounter::count(*this, UseCounter::ExecCommandOnInputOrTextarea);
|
| -
|
| - // We don't allow recursive |execCommand()| to protect against attack code.
|
| - // Recursive call of |execCommand()| could be happened by moving iframe
|
| - // with script triggered by insertion, e.g. <iframe src="javascript:...">
|
| - // <iframe onload="...">. This usage is valid as of the specification
|
| - // although, it isn't common use case, rather it is used as attack code.
|
| - if (m_isRunningExecCommand) {
|
| - String message =
|
| - "We don't execute document.execCommand() this time, because it is "
|
| - "called recursively.";
|
| - addConsoleMessage(
|
| - ConsoleMessage::create(JSMessageSource, WarningMessageLevel, message));
|
| - return false;
|
| - }
|
| - AutoReset<bool> executeScope(&m_isRunningExecCommand, true);
|
| -
|
| - // Postpone DOM mutation events, which can execute scripts and change
|
| - // DOM tree against implementation assumption.
|
| - EventQueueScope eventQueueScope;
|
| - Editor::tidyUpHTMLStructure(*this);
|
| - Editor::Command editorCommand = command(this, commandName);
|
| -
|
| - DEFINE_STATIC_LOCAL(SparseHistogram, editorCommandHistogram,
|
| - ("WebCore.Document.execCommand"));
|
| - editorCommandHistogram.sample(editorCommand.idForHistogram());
|
| - return editorCommand.execute(value);
|
| -}
|
| -
|
| -bool Document::queryCommandEnabled(const String& commandName,
|
| - ExceptionState& exceptionState) {
|
| - if (!isHTMLDocument() && !isXHTMLDocument()) {
|
| - exceptionState.throwDOMException(
|
| - InvalidStateError,
|
| - "queryCommandEnabled is only supported on HTML documents.");
|
| - return false;
|
| - }
|
| -
|
| - return command(this, commandName).isEnabled();
|
| -}
|
| -
|
| -bool Document::queryCommandIndeterm(const String& commandName,
|
| - ExceptionState& exceptionState) {
|
| - if (!isHTMLDocument() && !isXHTMLDocument()) {
|
| - exceptionState.throwDOMException(
|
| - InvalidStateError,
|
| - "queryCommandIndeterm is only supported on HTML documents.");
|
| - return false;
|
| - }
|
| -
|
| - return command(this, commandName).state() == MixedTriState;
|
| -}
|
| -
|
| -bool Document::queryCommandState(const String& commandName,
|
| - ExceptionState& exceptionState) {
|
| - if (!isHTMLDocument() && !isXHTMLDocument()) {
|
| - exceptionState.throwDOMException(
|
| - InvalidStateError,
|
| - "queryCommandState is only supported on HTML documents.");
|
| - return false;
|
| - }
|
| -
|
| - return command(this, commandName).state() == TrueTriState;
|
| -}
|
| -
|
| -bool Document::queryCommandSupported(const String& commandName,
|
| - ExceptionState& exceptionState) {
|
| - if (!isHTMLDocument() && !isXHTMLDocument()) {
|
| - exceptionState.throwDOMException(
|
| - InvalidStateError,
|
| - "queryCommandSupported is only supported on HTML documents.");
|
| - return false;
|
| - }
|
| -
|
| - return command(this, commandName).isSupported();
|
| -}
|
| -
|
| -String Document::queryCommandValue(const String& commandName,
|
| - ExceptionState& exceptionState) {
|
| - if (!isHTMLDocument() && !isXHTMLDocument()) {
|
| - exceptionState.throwDOMException(
|
| - InvalidStateError,
|
| - "queryCommandValue is only supported on HTML documents.");
|
| - return "";
|
| - }
|
| -
|
| - return command(this, commandName).value();
|
| -}
|
| -
|
| KURL Document::openSearchDescriptionURL() {
|
| static const char openSearchMIMEType[] =
|
| "application/opensearchdescription+xml";
|
|
|