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

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

Issue 2712223002: Get rid of redundant functions updateIfNeeded() in FrameSelection and SelectionEditor (Closed)
Patch Set: 2017-02-27T11:10:27 Remove updateIfNeeded() from FrameSeleciton.h Created 3 years, 9 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
« no previous file with comments | « third_party/WebKit/Source/core/editing/SelectionEditor.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
4 * Copyright (C) 2009 Igalia S.L. 4 * Copyright (C) 2009 Igalia S.L.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 1866 matching lines...) Expand 10 before | Expand all | Expand 10 after
1877 static bool enabledCut(LocalFrame& frame, Event*, EditorCommandSource source) { 1877 static bool enabledCut(LocalFrame& frame, Event*, EditorCommandSource source) {
1878 if (!canWriteClipboard(frame, source)) 1878 if (!canWriteClipboard(frame, source))
1879 return false; 1879 return false;
1880 return frame.editor().canDHTMLCut() || frame.editor().canCut(); 1880 return frame.editor().canDHTMLCut() || frame.editor().canCut();
1881 } 1881 }
1882 1882
1883 static bool enabledInEditableText(LocalFrame& frame, 1883 static bool enabledInEditableText(LocalFrame& frame,
1884 Event* event, 1884 Event* event,
1885 EditorCommandSource) { 1885 EditorCommandSource) {
1886 frame.document()->updateStyleAndLayoutIgnorePendingStylesheets(); 1886 frame.document()->updateStyleAndLayoutIgnorePendingStylesheets();
1887
1888 // We should update selection to canonicalize with current layout and style,
1889 // before accessing |FrameSelection::selection()|.
1890 frame.selection().updateIfNeeded();
1891 return frame.editor().selectionForCommand(event).rootEditableElement(); 1887 return frame.editor().selectionForCommand(event).rootEditableElement();
1892 } 1888 }
1893 1889
1894 static bool enabledDelete(LocalFrame& frame, 1890 static bool enabledDelete(LocalFrame& frame,
1895 Event* event, 1891 Event* event,
1896 EditorCommandSource source) { 1892 EditorCommandSource source) {
1897 switch (source) { 1893 switch (source) {
1898 case CommandFromMenuOrKeyBinding: 1894 case CommandFromMenuOrKeyBinding:
1899 return frame.editor().canDelete(); 1895 return frame.editor().canDelete();
1900 case CommandFromDOM: 1896 case CommandFromDOM:
1901 // "Delete" from DOM is like delete/backspace keypress, affects selected 1897 // "Delete" from DOM is like delete/backspace keypress, affects selected
1902 // range if non-empty, otherwise removes a character 1898 // range if non-empty, otherwise removes a character
1903 return enabledInEditableText(frame, event, source); 1899 return enabledInEditableText(frame, event, source);
1904 } 1900 }
1905 NOTREACHED(); 1901 NOTREACHED();
1906 return false; 1902 return false;
1907 } 1903 }
1908 1904
1909 static bool enabledInRichlyEditableText(LocalFrame& frame, 1905 static bool enabledInRichlyEditableText(LocalFrame& frame,
1910 Event*, 1906 Event*,
1911 EditorCommandSource) { 1907 EditorCommandSource) {
1912 frame.document()->updateStyleAndLayoutIgnorePendingStylesheets(); 1908 frame.document()->updateStyleAndLayoutIgnorePendingStylesheets();
1913
1914 // We should update selection to canonicalize with current layout and style,
1915 // before accessing |FrameSelection::selection()|.
1916 frame.selection().updateIfNeeded();
1917 return !frame.selection() 1909 return !frame.selection()
1918 .computeVisibleSelectionInDOMTreeDeprecated() 1910 .computeVisibleSelectionInDOMTreeDeprecated()
1919 .isNone() && 1911 .isNone() &&
1920 frame.selection() 1912 frame.selection()
1921 .computeVisibleSelectionInDOMTreeDeprecated() 1913 .computeVisibleSelectionInDOMTreeDeprecated()
1922 .isContentRichlyEditable() && 1914 .isContentRichlyEditable() &&
1923 frame.selection() 1915 frame.selection()
1924 .computeVisibleSelectionInDOMTreeDeprecated() 1916 .computeVisibleSelectionInDOMTreeDeprecated()
1925 .rootEditableElement(); 1917 .rootEditableElement();
1926 } 1918 }
1927 1919
1928 static bool enabledPaste(LocalFrame& frame, 1920 static bool enabledPaste(LocalFrame& frame,
1929 Event*, 1921 Event*,
1930 EditorCommandSource source) { 1922 EditorCommandSource source) {
1931 if (!canReadClipboard(frame, source)) 1923 if (!canReadClipboard(frame, source))
1932 return false; 1924 return false;
1933 return frame.editor().canPaste(); 1925 return frame.editor().canPaste();
1934 } 1926 }
1935 1927
1936 static bool enabledRangeInEditableText(LocalFrame& frame, 1928 static bool enabledRangeInEditableText(LocalFrame& frame,
1937 Event*, 1929 Event*,
1938 EditorCommandSource) { 1930 EditorCommandSource) {
1939 frame.document()->updateStyleAndLayoutIgnorePendingStylesheets(); 1931 frame.document()->updateStyleAndLayoutIgnorePendingStylesheets();
1940
1941 // We should update selection to canonicalize with current layout and style,
1942 // before accessing |FrameSelection::selection()|.
1943 frame.selection().updateIfNeeded();
1944 return frame.selection() 1932 return frame.selection()
1945 .computeVisibleSelectionInDOMTreeDeprecated() 1933 .computeVisibleSelectionInDOMTreeDeprecated()
1946 .isRange() && 1934 .isRange() &&
1947 frame.selection() 1935 frame.selection()
1948 .computeVisibleSelectionInDOMTreeDeprecated() 1936 .computeVisibleSelectionInDOMTreeDeprecated()
1949 .isContentEditable(); 1937 .isContentEditable();
1950 } 1938 }
1951 1939
1952 static bool enabledRangeInRichlyEditableText(LocalFrame& frame, 1940 static bool enabledRangeInRichlyEditableText(LocalFrame& frame,
1953 Event*, 1941 Event*,
1954 EditorCommandSource) { 1942 EditorCommandSource) {
1955 frame.document()->updateStyleAndLayoutIgnorePendingStylesheets(); 1943 frame.document()->updateStyleAndLayoutIgnorePendingStylesheets();
1956
1957 // We should update selection to canonicalize with current layout and style,
1958 // before accessing |FrameSelection::selection()|.
1959 frame.selection().updateIfNeeded();
1960 return frame.selection() 1944 return frame.selection()
1961 .computeVisibleSelectionInDOMTreeDeprecated() 1945 .computeVisibleSelectionInDOMTreeDeprecated()
1962 .isRange() && 1946 .isRange() &&
1963 frame.selection() 1947 frame.selection()
1964 .computeVisibleSelectionInDOMTreeDeprecated() 1948 .computeVisibleSelectionInDOMTreeDeprecated()
1965 .isContentRichlyEditable(); 1949 .isContentRichlyEditable();
1966 } 1950 }
1967 1951
1968 static bool enabledRedo(LocalFrame& frame, Event*, EditorCommandSource) { 1952 static bool enabledRedo(LocalFrame& frame, Event*, EditorCommandSource) {
1969 return frame.editor().canRedo(); 1953 return frame.editor().canRedo();
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after
2766 *m_frame, DirectionBackward, WordGranularity); 2750 *m_frame, DirectionBackward, WordGranularity);
2767 case WebEditingCommandType::DeleteWordForward: 2751 case WebEditingCommandType::DeleteWordForward:
2768 return RangesFromCurrentSelectionOrExtendCaret(*m_frame, DirectionForward, 2752 return RangesFromCurrentSelectionOrExtendCaret(*m_frame, DirectionForward,
2769 WordGranularity); 2753 WordGranularity);
2770 default: 2754 default:
2771 return targetRangesForInputEvent(*target); 2755 return targetRangesForInputEvent(*target);
2772 } 2756 }
2773 } 2757 }
2774 2758
2775 } // namespace blink 2759 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/editing/SelectionEditor.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698