Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(322)

Unified Diff: third_party/WebKit/Source/core/page/FocusController.cpp

Issue 2616623002: Do not send redundant selectionchange-events (decouple focus) (Closed)
Patch Set: Adjust Android-tests Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/page/FocusController.cpp
diff --git a/third_party/WebKit/Source/core/page/FocusController.cpp b/third_party/WebKit/Source/core/page/FocusController.cpp
index de9da91658722ce16c2e4d1f9ba55da8cf1a3666..079bc6f932f41123f58e1d2cbc9412245dd1aa63 100644
--- a/third_party/WebKit/Source/core/page/FocusController.cpp
+++ b/third_party/WebKit/Source/core/page/FocusController.cpp
@@ -1058,34 +1058,6 @@ static bool relinquishesEditingFocus(const Element& element) {
return element.document().frame() && rootEditableElement(element);
}
-static void clearSelectionIfNeeded(LocalFrame* oldFocusedFrame,
- LocalFrame* newFocusedFrame,
- Element* newFocusedElement) {
- if (!oldFocusedFrame || !newFocusedFrame)
- return;
-
- if (oldFocusedFrame->document() != newFocusedFrame->document())
- return;
-
- FrameSelection& selection = oldFocusedFrame->selection();
- if (selection.isNone())
- return;
-
- Node* selectionStartNode = selection.selection().start().anchorNode();
- if (selectionStartNode == newFocusedElement ||
- selectionStartNode->isDescendantOf(newFocusedElement))
- return;
-
- if (!enclosingTextControl(selectionStartNode))
- return;
-
- if (selectionStartNode->isInShadowTree() &&
- selectionStartNode->ownerShadowHost() == newFocusedElement)
- return;
-
- selection.clear();
-}
-
bool FocusController::setFocusedElement(Element* element,
Frame* newFocusedFrame) {
return setFocusedElement(
@@ -1122,10 +1094,6 @@ bool FocusController::setFocusedElement(Element* element,
newDocument->focusedElement() == element)
return true;
- if (newFocusedFrame && newFocusedFrame->isLocalFrame())
- clearSelectionIfNeeded(oldFocusedFrame, toLocalFrame(newFocusedFrame),
- element);
-
if (oldDocument && oldDocument != newDocument)
oldDocument->clearFocusedElement();

Powered by Google App Engine
This is Rietveld 408576698