OLD | NEW |
---|---|
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 30 matching lines...) Expand all Loading... | |
41 #include "core/editing/commands/CreateLinkCommand.h" | 41 #include "core/editing/commands/CreateLinkCommand.h" |
42 #include "core/editing/commands/FormatBlockCommand.h" | 42 #include "core/editing/commands/FormatBlockCommand.h" |
43 #include "core/editing/commands/IndentOutdentCommand.h" | 43 #include "core/editing/commands/IndentOutdentCommand.h" |
44 #include "core/editing/commands/InsertListCommand.h" | 44 #include "core/editing/commands/InsertListCommand.h" |
45 #include "core/editing/commands/ReplaceSelectionCommand.h" | 45 #include "core/editing/commands/ReplaceSelectionCommand.h" |
46 #include "core/editing/commands/TypingCommand.h" | 46 #include "core/editing/commands/TypingCommand.h" |
47 #include "core/editing/commands/UnlinkCommand.h" | 47 #include "core/editing/commands/UnlinkCommand.h" |
48 #include "core/editing/serializers/Serialization.h" | 48 #include "core/editing/serializers/Serialization.h" |
49 #include "core/editing/spellcheck/SpellChecker.h" | 49 #include "core/editing/spellcheck/SpellChecker.h" |
50 #include "core/events/Event.h" | 50 #include "core/events/Event.h" |
51 #include "core/events/InputEvent.h" | |
51 #include "core/frame/FrameHost.h" | 52 #include "core/frame/FrameHost.h" |
52 #include "core/frame/FrameView.h" | 53 #include "core/frame/FrameView.h" |
53 #include "core/frame/LocalFrame.h" | 54 #include "core/frame/LocalFrame.h" |
54 #include "core/frame/Settings.h" | 55 #include "core/frame/Settings.h" |
55 #include "core/html/HTMLFontElement.h" | 56 #include "core/html/HTMLFontElement.h" |
56 #include "core/html/HTMLHRElement.h" | 57 #include "core/html/HTMLHRElement.h" |
57 #include "core/html/HTMLImageElement.h" | 58 #include "core/html/HTMLImageElement.h" |
58 #include "core/input/EventHandler.h" | 59 #include "core/input/EventHandler.h" |
59 #include "core/layout/LayoutBox.h" | 60 #include "core/layout/LayoutBox.h" |
60 #include "core/page/ChromeClient.h" | 61 #include "core/page/ChromeClient.h" |
(...skipping 1711 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1772 { | 1773 { |
1773 // TODO(yosin) We should move this logic into |canExecute()| member function | 1774 // TODO(yosin) We should move this logic into |canExecute()| member function |
1774 // in |EditorInternalCommand| to replace |allowExecutionWhenDisabled|. | 1775 // in |EditorInternalCommand| to replace |allowExecutionWhenDisabled|. |
1775 // |allowExecutionWhenDisabled| is for "Copy", "Cut" and "Paste" commands | 1776 // |allowExecutionWhenDisabled| is for "Copy", "Cut" and "Paste" commands |
1776 // only. | 1777 // only. |
1777 if (!isEnabled(triggeringEvent)) { | 1778 if (!isEnabled(triggeringEvent)) { |
1778 // Let certain commands be executed when performed explicitly even if th ey are disabled. | 1779 // Let certain commands be executed when performed explicitly even if th ey are disabled. |
1779 if (!isSupported() || !m_frame || !m_command->allowExecutionWhenDisabled ) | 1780 if (!isSupported() || !m_frame || !m_command->allowExecutionWhenDisabled ) |
1780 return false; | 1781 return false; |
1781 } | 1782 } |
1783 | |
1784 if (RuntimeEnabledFeatures::inputEventEnabled()) { | |
1785 if (EventTarget* target = eventTargetNodeForDocument(m_frame->document() )) { | |
1786 RefPtrWillBeRawPtr<InputEvent> beforeInputEvent = InputEvent::create BeforeInput("executeCommand", ""); | |
chongz
2016/03/01 20:41:10
Didn't find a way to get command name from Editor:
dtapuska
2016/03/01 21:49:51
Ya I think you'd want to load it from the EditorIn
| |
1787 DispatchEventResult dispatchResult = target->dispatchEvent(beforeInp utEvent); | |
1788 if (dispatchResult != DispatchEventResult::NotCanceled) | |
1789 return true; | |
1790 } | |
1791 } | |
1792 | |
1782 frame().document()->updateLayoutIgnorePendingStylesheets(); | 1793 frame().document()->updateLayoutIgnorePendingStylesheets(); |
1783 DEFINE_STATIC_LOCAL(SparseHistogram, commandHistogram, ("WebCore.Editing.Com mands")); | 1794 DEFINE_STATIC_LOCAL(SparseHistogram, commandHistogram, ("WebCore.Editing.Com mands")); |
1784 commandHistogram.sample(m_command->idForUserMetrics); | 1795 commandHistogram.sample(m_command->idForUserMetrics); |
1785 return m_command->execute(*m_frame, triggeringEvent, m_source, parameter); | 1796 return m_command->execute(*m_frame, triggeringEvent, m_source, parameter); |
1786 } | 1797 } |
1787 | 1798 |
1788 bool Editor::Command::execute(Event* triggeringEvent) const | 1799 bool Editor::Command::execute(Event* triggeringEvent) const |
1789 { | 1800 { |
1790 return execute(String(), triggeringEvent); | 1801 return execute(String(), triggeringEvent); |
1791 } | 1802 } |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1831 { | 1842 { |
1832 return m_command && m_command->isTextInsertion; | 1843 return m_command && m_command->isTextInsertion; |
1833 } | 1844 } |
1834 | 1845 |
1835 int Editor::Command::idForHistogram() const | 1846 int Editor::Command::idForHistogram() const |
1836 { | 1847 { |
1837 return isSupported() ? m_command->idForUserMetrics : 0; | 1848 return isSupported() ? m_command->idForUserMetrics : 0; |
1838 } | 1849 } |
1839 | 1850 |
1840 } // namespace blink | 1851 } // namespace blink |
OLD | NEW |