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

Side by Side Diff: third_party/WebKit/Source/core/editing/FrameSelection.cpp

Issue 2432173005: Get rid of VisibleSelection::selectionFromContentsOfNode() (Closed)
Patch Set: 2016-10-20T13:46:03 Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2008, 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2008, 2009, 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 978 matching lines...) Expand 10 before | Expand all | Expand 10 after
989 if (selectStartTarget) { 989 if (selectStartTarget) {
990 const Document& expectedDocument = document(); 990 const Document& expectedDocument = document();
991 if (selectStartTarget->dispatchEvent(Event::createCancelableBubble( 991 if (selectStartTarget->dispatchEvent(Event::createCancelableBubble(
992 EventTypeNames::selectstart)) != DispatchEventResult::NotCanceled) 992 EventTypeNames::selectstart)) != DispatchEventResult::NotCanceled)
993 return; 993 return;
994 // |root| may be detached due to selectstart event. 994 // |root| may be detached due to selectstart event.
995 if (!root->isConnected() || expectedDocument != root->document()) 995 if (!root->isConnected() || expectedDocument != root->document())
996 return; 996 return;
997 } 997 }
998 998
999 // TODO(xiaochengh): The use of updateStyleAndLayoutIgnorePendingStylesheets 999 setSelection(SelectionInDOMTree::Builder().selectAllChildren(*root).build());
1000 // needs to be audited. See http://crbug.com/590369 for more details.
1001 document().updateStyleAndLayoutIgnorePendingStylesheets();
1002
1003 VisibleSelection newSelection(
1004 VisibleSelection::selectionFromContentsOfNode(root));
1005 setSelection(newSelection);
1006 selectFrameElementInParentIfFullySelected(); 1000 selectFrameElementInParentIfFullySelected();
1007 notifyLayoutObjectOfSelectionChange(UserTriggered); 1001 notifyLayoutObjectOfSelectionChange(UserTriggered);
1008 } 1002 }
1009 1003
1010 bool FrameSelection::setSelectedRange(const EphemeralRange& range, 1004 bool FrameSelection::setSelectedRange(const EphemeralRange& range,
1011 TextAffinity affinity, 1005 TextAffinity affinity,
1012 SelectionDirectionalMode directional, 1006 SelectionDirectionalMode directional,
1013 SetSelectionOptions options) { 1007 SetSelectionOptions options) {
1014 if (range.isNull()) 1008 if (range.isNull())
1015 return false; 1009 return false;
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
1480 } 1474 }
1481 1475
1482 void showTree(const blink::FrameSelection* sel) { 1476 void showTree(const blink::FrameSelection* sel) {
1483 if (sel) 1477 if (sel)
1484 sel->showTreeForThis(); 1478 sel->showTreeForThis();
1485 else 1479 else
1486 LOG(INFO) << "Cannot showTree for <null> FrameSelection."; 1480 LOG(INFO) << "Cannot showTree for <null> FrameSelection.";
1487 } 1481 }
1488 1482
1489 #endif 1483 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698