Changeset 69154 in webkit
- Timestamp:
- Oct 5, 2010 3:45:52 PM (14 years ago)
- Location:
- trunk/WebKit
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit/ChangeLog
r68044 r69154 1 2010-10-05 John Abd-El-Malek <jam@chromium.org> 2 3 Reviewed by Darin Fisher. 4 5 [chromium] Get the link from a plugin when creating a context menu 6 https://bugs.webkit.org/show_bug.cgi?id=47130 7 8 * chromium/public/WebPlugin.h: 9 (WebKit::WebPlugin::linkAtPosition): 10 * chromium/public/WebView.h: 11 * chromium/src/ChromeClientImpl.cpp: 12 (WebKit::ChromeClientImpl::mouseDidMoveOverElement): 13 * chromium/src/ContextMenuClientImpl.cpp: 14 (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems): 15 1 16 2010-09-22 Lucas De Marchi <lucas.demarchi@profusion.mobi> 2 17 -
trunk/WebKit/chromium/public/WebPlugin.h
r68869 r69154 34 34 #include "WebCanvas.h" 35 35 #include "WebString.h" 36 #include "WebURL.h" 36 37 37 38 struct NPObject; … … 43 44 class WebInputEvent; 44 45 class WebPluginContainer; 45 class WebURL;46 46 class WebURLResponse; 47 47 struct WebCursorInfo; 48 48 struct WebPluginParams; 49 struct WebPoint; 49 50 struct WebRect; 50 51 struct WebURLError; … … 99 100 virtual WebString selectionAsMarkup() const { return WebString(); } 100 101 102 // If the given position is over a link, returns the absolute url. 103 // Otherwise an empty url is returned. 104 virtual WebURL linkAtPosition(const WebPoint& position) const { return WebURL(); } 105 101 106 // Used for zooming of full page plugins. 102 107 virtual void setZoomLevel(double level, bool textOnly) { } -
trunk/WebKit/chromium/public/WebView.h
r68869 r69154 37 37 #include "WebWidget.h" 38 38 39 // FIXME(jam): take this out after Chrome is updated40 #define ZOOM_LEVEL_IS_DOUBLE41 42 39 namespace WebKit { 43 40 -
trunk/WebKit/chromium/src/ChromeClientImpl.cpp
r69053 r69154 56 56 #include "Page.h" 57 57 #include "PopupMenuChromium.h" 58 #include "RenderWidget.h" 58 59 #include "ScriptController.h" 59 60 #include "SearchPopupMenuChromium.h" … … 72 73 #include "WebKit.h" 73 74 #include "WebNode.h" 75 #include "WebPlugin.h" 76 #include "WebPluginContainerImpl.h" 74 77 #include "WebPopupMenuImpl.h" 75 78 #include "WebPopupMenuInfo.h" … … 604 607 if (!m_webView->client()) 605 608 return; 609 610 WebURL url; 606 611 // Find out if the mouse is over a link, and if so, let our UI know... 607 612 if (result.isLiveLink() && !result.absoluteLinkURL().string().isEmpty()) 608 m_webView->client()->setMouseOverURL(result.absoluteLinkURL()); 609 else 610 m_webView->client()->setMouseOverURL(WebURL()); 613 url = result.absoluteLinkURL(); 614 else if (result.innerNonSharedNode()->hasTagName(HTMLNames::objectTag) 615 || result.innerNonSharedNode()->hasTagName(HTMLNames::embedTag)) { 616 RenderObject* object = result.innerNonSharedNode()->renderer(); 617 if (object && object->isWidget()) { 618 Widget* widget = toRenderWidget(object)->widget(); 619 if (widget) { 620 WebPluginContainerImpl* plugin = static_cast<WebPluginContainerImpl*>(widget); 621 url = plugin->plugin()->linkAtPosition(result.point()); 622 } 623 } 624 } 625 626 m_webView->client()->setMouseOverURL(url); 611 627 } 612 628 -
trunk/WebKit/chromium/src/ContextMenuClientImpl.cpp
r67122 r69154 217 217 } 218 218 data.editFlags &= ~WebContextMenuData::CanTranslate; 219 data.linkURL = plugin->plugin()->linkAtPosition(data.mousePosition); 219 220 } 220 221 }
Note: See TracChangeset
for help on using the changeset viewer.