OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. |
3 * Copyright (C) 2010 Igalia S.L | 3 * Copyright (C) 2010 Igalia S.L |
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 528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
539 if (!node) | 539 if (!node) |
540 return; | 540 return; |
541 Frame* frame = node->document()->frame(); | 541 Frame* frame = node->document()->frame(); |
542 if (!frame) | 542 if (!frame) |
543 return; | 543 return; |
544 | 544 |
545 if (!m_hitTestResult.isContentEditable()) { | 545 if (!m_hitTestResult.isContentEditable()) { |
546 FrameLoader* loader = frame->loader(); | 546 FrameLoader* loader = frame->loader(); |
547 KURL linkURL = m_hitTestResult.absoluteLinkURL(); | 547 KURL linkURL = m_hitTestResult.absoluteLinkURL(); |
548 if (!linkURL.isEmpty()) { | 548 if (!linkURL.isEmpty()) { |
549 if (loader->client()->canHandleRequest(ResourceRequest(linkURL))) { | 549 appendItem(OpenLinkItem, m_contextMenu.get()); |
550 appendItem(OpenLinkItem, m_contextMenu.get()); | 550 appendItem(OpenLinkInNewWindowItem, m_contextMenu.get()); |
551 appendItem(OpenLinkInNewWindowItem, m_contextMenu.get()); | 551 appendItem(DownloadFileItem, m_contextMenu.get()); |
552 appendItem(DownloadFileItem, m_contextMenu.get()); | |
553 } | |
554 appendItem(CopyLinkItem, m_contextMenu.get()); | 552 appendItem(CopyLinkItem, m_contextMenu.get()); |
555 } | 553 } |
556 | 554 |
557 KURL imageURL = m_hitTestResult.absoluteImageURL(); | 555 KURL imageURL = m_hitTestResult.absoluteImageURL(); |
558 if (!imageURL.isEmpty()) { | 556 if (!imageURL.isEmpty()) { |
559 if (!linkURL.isEmpty()) | 557 if (!linkURL.isEmpty()) |
560 appendItem(*separatorItem(), m_contextMenu.get()); | 558 appendItem(*separatorItem(), m_contextMenu.get()); |
561 | 559 |
562 appendItem(OpenImageInNewWindowItem, m_contextMenu.get()); | 560 appendItem(OpenImageInNewWindowItem, m_contextMenu.get()); |
563 appendItem(DownloadImageItem, m_contextMenu.get()); | 561 appendItem(DownloadImageItem, m_contextMenu.get()); |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
656 if (!dictationAlternatives.isEmpty()) { | 654 if (!dictationAlternatives.isEmpty()) { |
657 for (size_t i = 0; i < dictationAlternatives.size(); ++i) { | 655 for (size_t i = 0; i < dictationAlternatives.size(); ++i) { |
658 ContextMenuItem item(ActionType, ContextMenuItemTagDicta
tionAlternative, dictationAlternatives[i]); | 656 ContextMenuItem item(ActionType, ContextMenuItemTagDicta
tionAlternative, dictationAlternatives[i]); |
659 appendItem(item, m_contextMenu.get()); | 657 appendItem(item, m_contextMenu.get()); |
660 } | 658 } |
661 appendItem(*separatorItem(), m_contextMenu.get()); | 659 appendItem(*separatorItem(), m_contextMenu.get()); |
662 } | 660 } |
663 } | 661 } |
664 } | 662 } |
665 | 663 |
666 FrameLoader* loader = frame->loader(); | |
667 KURL linkURL = m_hitTestResult.absoluteLinkURL(); | 664 KURL linkURL = m_hitTestResult.absoluteLinkURL(); |
668 if (!linkURL.isEmpty()) { | 665 if (!linkURL.isEmpty()) { |
669 if (loader->client()->canHandleRequest(ResourceRequest(linkURL))) { | 666 appendItem(OpenLinkItem, m_contextMenu.get()); |
670 appendItem(OpenLinkItem, m_contextMenu.get()); | 667 appendItem(OpenLinkInNewWindowItem, m_contextMenu.get()); |
671 appendItem(OpenLinkInNewWindowItem, m_contextMenu.get()); | 668 appendItem(DownloadFileItem, m_contextMenu.get()); |
672 appendItem(DownloadFileItem, m_contextMenu.get()); | |
673 } | |
674 appendItem(CopyLinkItem, m_contextMenu.get()); | 669 appendItem(CopyLinkItem, m_contextMenu.get()); |
675 appendItem(*separatorItem(), m_contextMenu.get()); | 670 appendItem(*separatorItem(), m_contextMenu.get()); |
676 } | 671 } |
677 | 672 |
678 if (m_hitTestResult.isSelected() && !inPasswordField && selectionContain
sPossibleWord(frame)) { | 673 if (m_hitTestResult.isSelected() && !inPasswordField && selectionContain
sPossibleWord(frame)) { |
679 appendItem(SearchWebItem, m_contextMenu.get()); | 674 appendItem(SearchWebItem, m_contextMenu.get()); |
680 appendItem(*separatorItem(), m_contextMenu.get()); | 675 appendItem(*separatorItem(), m_contextMenu.get()); |
681 } | 676 } |
682 | 677 |
683 appendItem(CutItem, m_contextMenu.get()); | 678 appendItem(CutItem, m_contextMenu.get()); |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
935 PlatformMouseEvent mouseEvent(clickPoint, clickPoint, RightButton, PlatformE
vent::MousePressed, 1, false, false, false, false, currentTime()); | 930 PlatformMouseEvent mouseEvent(clickPoint, clickPoint, RightButton, PlatformE
vent::MousePressed, 1, false, false, false, false, currentTime()); |
936 bool handled = frame->eventHandler()->sendContextMenuEvent(mouseEvent); | 931 bool handled = frame->eventHandler()->sendContextMenuEvent(mouseEvent); |
937 if (handled && client()) | 932 if (handled && client()) |
938 client()->showContextMenu(); | 933 client()->showContextMenu(); |
939 } | 934 } |
940 #endif | 935 #endif |
941 | 936 |
942 } // namespace WebCore | 937 } // namespace WebCore |
943 | 938 |
944 #endif // ENABLE(CONTEXT_MENUS) | 939 #endif // ENABLE(CONTEXT_MENUS) |
OLD | NEW |