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

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

Issue 2800813006: Move layouet/LayoutView::setSelection() to editing/LayoutSelection (Closed)
Patch Set: nit Created 3 years, 8 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 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 void FrameSelection::DocumentAttached(Document* document) { 428 void FrameSelection::DocumentAttached(Document* document) {
429 DCHECK(document); 429 DCHECK(document);
430 use_secure_keyboard_entry_when_active_ = false; 430 use_secure_keyboard_entry_when_active_ = false;
431 selection_editor_->DocumentAttached(document); 431 selection_editor_->DocumentAttached(document);
432 SetContext(document); 432 SetContext(document);
433 } 433 }
434 434
435 void FrameSelection::ContextDestroyed(Document* document) { 435 void FrameSelection::ContextDestroyed(Document* document) {
436 granularity_ = kCharacterGranularity; 436 granularity_ = kCharacterGranularity;
437 437
438 LayoutViewItem view = frame_->ContentLayoutItem(); 438 layout_selection_->OnDocumentShutdown();
439 if (!view.IsNull())
440 view.ClearSelection();
441 439
442 frame_->GetEditor().ClearTypingStyle(); 440 frame_->GetEditor().ClearTypingStyle();
443 } 441 }
444 442
445 void FrameSelection::ClearPreviousCaretVisualRect(const LayoutBlock& block) { 443 void FrameSelection::ClearPreviousCaretVisualRect(const LayoutBlock& block) {
446 frame_caret_->ClearPreviousVisualRect(block); 444 frame_caret_->ClearPreviousVisualRect(block);
447 } 445 }
448 446
449 void FrameSelection::LayoutBlockWillBeDestroyed(const LayoutBlock& block) { 447 void FrameSelection::LayoutBlockWillBeDestroyed(const LayoutBlock& block) {
450 frame_caret_->LayoutBlockWillBeDestroyed(block); 448 frame_caret_->LayoutBlockWillBeDestroyed(block);
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 if (Element* element = GetDocument().FocusedElement()) 700 if (Element* element = GetDocument().FocusedElement())
703 element->FocusStateChanged(); 701 element->FocusStateChanged();
704 702
705 GetDocument().UpdateStyleAndLayoutTree(); 703 GetDocument().UpdateStyleAndLayoutTree();
706 704
707 // Because LayoutObject::selectionBackgroundColor() and 705 // Because LayoutObject::selectionBackgroundColor() and
708 // LayoutObject::selectionForegroundColor() check if the frame is active, 706 // LayoutObject::selectionForegroundColor() check if the frame is active,
709 // we have to update places those colors were painted. 707 // we have to update places those colors were painted.
710 LayoutViewItem view = GetDocument().GetLayoutViewItem(); 708 LayoutViewItem view = GetDocument().GetLayoutViewItem();
711 if (!view.IsNull()) 709 if (!view.IsNull())
712 view.InvalidatePaintForSelection(); 710 layout_selection_->InvalidatePaintForSelection();
713 711
714 // Caret appears in the active frame. 712 // Caret appears in the active frame.
715 if (active_and_focused) 713 if (active_and_focused)
716 SetSelectionFromNone(); 714 SetSelectionFromNone();
717 else 715 else
718 frame_->GetSpellChecker().SpellCheckAfterBlur(); 716 frame_->GetSpellChecker().SpellCheckAfterBlur();
719 frame_caret_->SetCaretVisibility(active_and_focused 717 frame_caret_->SetCaretVisibility(active_and_focused
720 ? CaretVisibility::kVisible 718 ? CaretVisibility::kVisible
721 : CaretVisibility::kHidden); 719 : CaretVisibility::kHidden);
722 720
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 } 877 }
880 878
881 LayoutRect FrameSelection::UnclippedBounds() const { 879 LayoutRect FrameSelection::UnclippedBounds() const {
882 FrameView* view = frame_->View(); 880 FrameView* view = frame_->View();
883 LayoutViewItem layout_view = frame_->ContentLayoutItem(); 881 LayoutViewItem layout_view = frame_->ContentLayoutItem();
884 882
885 if (!view || layout_view.IsNull()) 883 if (!view || layout_view.IsNull())
886 return LayoutRect(); 884 return LayoutRect();
887 885
888 view->UpdateLifecycleToLayoutClean(); 886 view->UpdateLifecycleToLayoutClean();
889 return LayoutRect(layout_view.SelectionBounds()); 887 return LayoutRect(layout_selection_->SelectionBounds());
890 } 888 }
891 889
892 static inline HTMLFormElement* AssociatedFormElement(HTMLElement& element) { 890 static inline HTMLFormElement* AssociatedFormElement(HTMLElement& element) {
893 if (isHTMLFormElement(element)) 891 if (isHTMLFormElement(element))
894 return &toHTMLFormElement(element); 892 return &toHTMLFormElement(element);
895 return element.formOwner(); 893 return element.formOwner();
896 } 894 }
897 895
898 // Scans logically forward from "start", including any child frames. 896 // Scans logically forward from "start", including any child frames.
899 static HTMLFormElement* ScanForForm(Node* start) { 897 static HTMLFormElement* ScanForForm(Node* start) {
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
1140 } 1138 }
1141 1139
1142 Range* FrameSelection::DocumentCachedRange() const { 1140 Range* FrameSelection::DocumentCachedRange() const {
1143 return selection_editor_->DocumentCachedRange(); 1141 return selection_editor_->DocumentCachedRange();
1144 } 1142 }
1145 1143
1146 void FrameSelection::ClearDocumentCachedRange() { 1144 void FrameSelection::ClearDocumentCachedRange() {
1147 selection_editor_->ClearDocumentCachedRange(); 1145 selection_editor_->ClearDocumentCachedRange();
1148 } 1146 }
1149 1147
1148 void FrameSelection::LayoutSelectionStartEnd(int& start_pos, int& end_pos) {
1149 layout_selection_->SelectionStartEnd(start_pos, end_pos);
1150 }
1151
1152 void FrameSelection::ClearLayoutSelection() {
1153 layout_selection_->ClearSelection();
1154 }
1155
1150 } // namespace blink 1156 } // namespace blink
1151 1157
1152 #ifndef NDEBUG 1158 #ifndef NDEBUG
1153 1159
1154 void showTree(const blink::FrameSelection& sel) { 1160 void showTree(const blink::FrameSelection& sel) {
1155 sel.ShowTreeForThis(); 1161 sel.ShowTreeForThis();
1156 } 1162 }
1157 1163
1158 void showTree(const blink::FrameSelection* sel) { 1164 void showTree(const blink::FrameSelection* sel) {
1159 if (sel) 1165 if (sel)
1160 sel->ShowTreeForThis(); 1166 sel->ShowTreeForThis();
1161 else 1167 else
1162 LOG(INFO) << "Cannot showTree for <null> FrameSelection."; 1168 LOG(INFO) << "Cannot showTree for <null> FrameSelection.";
1163 } 1169 }
1164 1170
1165 #endif 1171 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698