| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2011 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 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 { | 266 { |
| 267 if (m_frame.selection().isNone()) | 267 if (m_frame.selection().isNone()) |
| 268 return; | 268 return; |
| 269 | 269 |
| 270 ASSERT(m_frame.document()); | 270 ASSERT(m_frame.document()); |
| 271 DeleteSelectionCommand::create(*m_frame.document(), smartDelete)->apply(); | 271 DeleteSelectionCommand::create(*m_frame.document(), smartDelete)->apply(); |
| 272 } | 272 } |
| 273 | 273 |
| 274 void Editor::pasteAsPlainText(const String& pastingText, bool smartReplace) | 274 void Editor::pasteAsPlainText(const String& pastingText, bool smartReplace) |
| 275 { | 275 { |
| 276 Element* target = findEventTargetFromSelection(); | 276 ContainerNode* target = findEventTargetFromSelection(); |
| 277 if (!target) | 277 if (!target) |
| 278 return; | 278 return; |
| 279 target->dispatchEvent(TextEvent::createForPlainTextPaste(m_frame.domWindow()
, pastingText, smartReplace), IGNORE_EXCEPTION); | 279 target->dispatchEvent(TextEvent::createForPlainTextPaste(m_frame.domWindow()
, pastingText, smartReplace), IGNORE_EXCEPTION); |
| 280 } | 280 } |
| 281 | 281 |
| 282 void Editor::pasteAsFragment(PassRefPtr<DocumentFragment> pastingFragment, bool
smartReplace, bool matchStyle) | 282 void Editor::pasteAsFragment(PassRefPtr<DocumentFragment> pastingFragment, bool
smartReplace, bool matchStyle) |
| 283 { | 283 { |
| 284 Element* target = findEventTargetFromSelection(); | 284 ContainerNode* target = findEventTargetFromSelection(); |
| 285 if (!target) | 285 if (!target) |
| 286 return; | 286 return; |
| 287 target->dispatchEvent(TextEvent::createForFragmentPaste(m_frame.domWindow(),
pastingFragment, smartReplace, matchStyle), IGNORE_EXCEPTION); | 287 target->dispatchEvent(TextEvent::createForFragmentPaste(m_frame.domWindow(),
pastingFragment, smartReplace, matchStyle), IGNORE_EXCEPTION); |
| 288 } | 288 } |
| 289 | 289 |
| 290 bool Editor::tryDHTMLCopy() | 290 bool Editor::tryDHTMLCopy() |
| 291 { | 291 { |
| 292 return false; | 292 return false; |
| 293 } | 293 } |
| 294 | 294 |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 { | 345 { |
| 346 spellChecker().updateMarkersForWordsAffectedByEditing(true); | 346 spellChecker().updateMarkersForWordsAffectedByEditing(true); |
| 347 client().respondToChangedContents(); | 347 client().respondToChangedContents(); |
| 348 } | 348 } |
| 349 | 349 |
| 350 void Editor::clearLastEditCommand() | 350 void Editor::clearLastEditCommand() |
| 351 { | 351 { |
| 352 m_lastEditCommand.clear(); | 352 m_lastEditCommand.clear(); |
| 353 } | 353 } |
| 354 | 354 |
| 355 Element* Editor::findEventTargetFrom(const VisibleSelection& selection) const | 355 ContainerNode* Editor::findEventTargetFrom(const VisibleSelection& selection) co
nst |
| 356 { | 356 { |
| 357 Element* target = selection.start().element(); | 357 if (Element* target = selection.start().element()) |
| 358 if (!target) | 358 return target; |
| 359 target = m_frame.document()->documentElement(); | 359 return m_frame.document(); |
| 360 | |
| 361 return target; | |
| 362 } | 360 } |
| 363 | 361 |
| 364 Element* Editor::findEventTargetFromSelection() const | 362 ContainerNode* Editor::findEventTargetFromSelection() const |
| 365 { | 363 { |
| 366 return findEventTargetFrom(m_frame.selection().selection()); | 364 return findEventTargetFrom(m_frame.selection().selection()); |
| 367 } | 365 } |
| 368 | 366 |
| 369 static void dispatchEditableContentChangedEvents(PassRefPtr<Element> startRoot,
PassRefPtr<Element> endRoot) | 367 static void dispatchEditableContentChangedEvents(PassRefPtr<Element> startRoot,
PassRefPtr<Element> endRoot) |
| 370 { | 368 { |
| 371 if (startRoot) | 369 if (startRoot) |
| 372 startRoot->dispatchEvent(Event::create(EventTypeNames::webkitEditableCon
tentChanged), IGNORE_EXCEPTION); | 370 startRoot->dispatchEvent(Event::create(EventTypeNames::webkitEditableCon
tentChanged), IGNORE_EXCEPTION); |
| 373 if (endRoot && endRoot != startRoot) | 371 if (endRoot && endRoot != startRoot) |
| 374 endRoot->dispatchEvent(Event::create(EventTypeNames::webkitEditableConte
ntChanged), IGNORE_EXCEPTION); | 372 endRoot->dispatchEvent(Event::create(EventTypeNames::webkitEditableConte
ntChanged), IGNORE_EXCEPTION); |
| (...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 815 return m_frame.spellChecker(); | 813 return m_frame.spellChecker(); |
| 816 } | 814 } |
| 817 | 815 |
| 818 void Editor::toggleOverwriteModeEnabled() | 816 void Editor::toggleOverwriteModeEnabled() |
| 819 { | 817 { |
| 820 m_overwriteModeEnabled = !m_overwriteModeEnabled; | 818 m_overwriteModeEnabled = !m_overwriteModeEnabled; |
| 821 frame().selection().setShouldShowBlockCursor(m_overwriteModeEnabled); | 819 frame().selection().setShouldShowBlockCursor(m_overwriteModeEnabled); |
| 822 } | 820 } |
| 823 | 821 |
| 824 } // namespace blink | 822 } // namespace blink |
| OLD | NEW |