| Index: Source/core/dom/Position.cpp
|
| diff --git a/Source/core/dom/Position.cpp b/Source/core/dom/Position.cpp
|
| index bc8cfa6bdb60b9e0451ad327da30774ed850480b..6f9d753aab27d672a6579f84300e52515a6c7ffa 100644
|
| --- a/Source/core/dom/Position.cpp
|
| +++ b/Source/core/dom/Position.cpp
|
| @@ -37,6 +37,8 @@
|
| #include "core/editing/htmlediting.h"
|
| #include "core/html/HTMLHtmlElement.h"
|
| #include "core/html/HTMLTableElement.h"
|
| +#include "core/page/Frame.h"
|
| +#include "core/page/Settings.h"
|
| #include "core/platform/Logging.h"
|
| #include "core/rendering/InlineIterator.h"
|
| #include "core/rendering/InlineTextBox.h"
|
| @@ -899,8 +901,11 @@ bool Position::isCandidate() const
|
| return atFirstEditingPositionForNode() && !Position::nodeIsUserSelectNone(deprecatedNode());
|
| return m_anchorNode->rendererIsEditable() && !Position::nodeIsUserSelectNone(deprecatedNode()) && atEditingBoundary();
|
| }
|
| - } else
|
| - return m_anchorNode->rendererIsEditable() && !Position::nodeIsUserSelectNone(deprecatedNode()) && atEditingBoundary();
|
| + } else {
|
| + Frame* frame = m_anchorNode->document().frame();
|
| + bool caretBrowsing = frame->settings() && frame->settings()->caretBrowsingEnabled();
|
| + return (caretBrowsing || m_anchorNode->rendererIsEditable()) && !Position::nodeIsUserSelectNone(deprecatedNode()) && atEditingBoundary();
|
| + }
|
|
|
| return false;
|
| }
|
|
|