| 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 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 544 if (!node) | 544 if (!node) |
| 545 return; | 545 return; |
| 546 Frame* frame = node->document()->frame(); | 546 Frame* frame = node->document()->frame(); |
| 547 if (!frame) | 547 if (!frame) |
| 548 return; | 548 return; |
| 549 | 549 |
| 550 if (!m_hitTestResult.isContentEditable()) { | 550 if (!m_hitTestResult.isContentEditable()) { |
| 551 FrameLoader* loader = frame->loader(); | 551 FrameLoader* loader = frame->loader(); |
| 552 KURL linkURL = m_hitTestResult.absoluteLinkURL(); | 552 KURL linkURL = m_hitTestResult.absoluteLinkURL(); |
| 553 if (!linkURL.isEmpty()) { | 553 if (!linkURL.isEmpty()) { |
| 554 if (loader->client()->canHandleRequest(ResourceRequest(linkURL))) { | 554 appendItem(OpenLinkItem, m_contextMenu.get()); |
| 555 appendItem(OpenLinkItem, m_contextMenu.get()); | 555 appendItem(OpenLinkInNewWindowItem, m_contextMenu.get()); |
| 556 appendItem(OpenLinkInNewWindowItem, m_contextMenu.get()); | 556 appendItem(DownloadFileItem, m_contextMenu.get()); |
| 557 appendItem(DownloadFileItem, m_contextMenu.get()); | |
| 558 } | |
| 559 appendItem(CopyLinkItem, m_contextMenu.get()); | 557 appendItem(CopyLinkItem, m_contextMenu.get()); |
| 560 } | 558 } |
| 561 | 559 |
| 562 KURL imageURL = m_hitTestResult.absoluteImageURL(); | 560 KURL imageURL = m_hitTestResult.absoluteImageURL(); |
| 563 if (!imageURL.isEmpty()) { | 561 if (!imageURL.isEmpty()) { |
| 564 if (!linkURL.isEmpty()) | 562 if (!linkURL.isEmpty()) |
| 565 appendItem(*separatorItem(), m_contextMenu.get()); | 563 appendItem(*separatorItem(), m_contextMenu.get()); |
| 566 | 564 |
| 567 appendItem(OpenImageInNewWindowItem, m_contextMenu.get()); | 565 appendItem(OpenImageInNewWindowItem, m_contextMenu.get()); |
| 568 appendItem(DownloadImageItem, m_contextMenu.get()); | 566 appendItem(DownloadImageItem, m_contextMenu.get()); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 661 if (!dictationAlternatives.isEmpty()) { | 659 if (!dictationAlternatives.isEmpty()) { |
| 662 for (size_t i = 0; i < dictationAlternatives.size(); ++i) { | 660 for (size_t i = 0; i < dictationAlternatives.size(); ++i) { |
| 663 ContextMenuItem item(ActionType, ContextMenuItemTagDicta
tionAlternative, dictationAlternatives[i]); | 661 ContextMenuItem item(ActionType, ContextMenuItemTagDicta
tionAlternative, dictationAlternatives[i]); |
| 664 appendItem(item, m_contextMenu.get()); | 662 appendItem(item, m_contextMenu.get()); |
| 665 } | 663 } |
| 666 appendItem(*separatorItem(), m_contextMenu.get()); | 664 appendItem(*separatorItem(), m_contextMenu.get()); |
| 667 } | 665 } |
| 668 } | 666 } |
| 669 } | 667 } |
| 670 | 668 |
| 671 FrameLoader* loader = frame->loader(); | |
| 672 KURL linkURL = m_hitTestResult.absoluteLinkURL(); | 669 KURL linkURL = m_hitTestResult.absoluteLinkURL(); |
| 673 if (!linkURL.isEmpty()) { | 670 if (!linkURL.isEmpty()) { |
| 674 if (loader->client()->canHandleRequest(ResourceRequest(linkURL))) { | 671 appendItem(OpenLinkItem, m_contextMenu.get()); |
| 675 appendItem(OpenLinkItem, m_contextMenu.get()); | 672 appendItem(OpenLinkInNewWindowItem, m_contextMenu.get()); |
| 676 appendItem(OpenLinkInNewWindowItem, m_contextMenu.get()); | 673 appendItem(DownloadFileItem, m_contextMenu.get()); |
| 677 appendItem(DownloadFileItem, m_contextMenu.get()); | |
| 678 } | |
| 679 appendItem(CopyLinkItem, m_contextMenu.get()); | 674 appendItem(CopyLinkItem, m_contextMenu.get()); |
| 680 appendItem(*separatorItem(), m_contextMenu.get()); | 675 appendItem(*separatorItem(), m_contextMenu.get()); |
| 681 } | 676 } |
| 682 | 677 |
| 683 if (m_hitTestResult.isSelected() && !inPasswordField && selectionContain
sPossibleWord(frame)) { | 678 if (m_hitTestResult.isSelected() && !inPasswordField && selectionContain
sPossibleWord(frame)) { |
| 684 appendItem(SearchWebItem, m_contextMenu.get()); | 679 appendItem(SearchWebItem, m_contextMenu.get()); |
| 685 appendItem(*separatorItem(), m_contextMenu.get()); | 680 appendItem(*separatorItem(), m_contextMenu.get()); |
| 686 } | 681 } |
| 687 | 682 |
| 688 appendItem(CutItem, m_contextMenu.get()); | 683 appendItem(CutItem, m_contextMenu.get()); |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 944 PlatformMouseEvent mouseEvent(clickPoint, clickPoint, RightButton, PlatformE
vent::MousePressed, 1, false, false, false, false, currentTime()); | 939 PlatformMouseEvent mouseEvent(clickPoint, clickPoint, RightButton, PlatformE
vent::MousePressed, 1, false, false, false, false, currentTime()); |
| 945 bool handled = frame->eventHandler()->sendContextMenuEvent(mouseEvent); | 940 bool handled = frame->eventHandler()->sendContextMenuEvent(mouseEvent); |
| 946 if (handled && client()) | 941 if (handled && client()) |
| 947 client()->showContextMenu(); | 942 client()->showContextMenu(); |
| 948 } | 943 } |
| 949 #endif | 944 #endif |
| 950 | 945 |
| 951 } // namespace WebCore | 946 } // namespace WebCore |
| 952 | 947 |
| 953 #endif // ENABLE(CONTEXT_MENUS) | 948 #endif // ENABLE(CONTEXT_MENUS) |
| OLD | NEW |