The missing plug-in indicator should be clickable
https://bugs.webkit.org/show_bug.cgi?id=41550
<rdar://problem/8132162>
From an original patch by Kevin Decker.
Reviewed by Darin Adler.
WebCore:
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler):
If the renderer is a RenderEmbeddedWidget showing the missing plug-in
indicator, and the event is a click even, call the ChromeClient's
missingPluginButtonClicked() function.
* page/ChromeClient.h:
(WebCore::ChromeClient::missingPluginButtonClicked):
Declare missingPluginButtonClicked(), and stub the default
implementation.
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
Initialize m_showsMissingPluginIndicator.
(WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
Assert that we're not currently showing any replacement text. Set
m_showsMissingPluginIndicator after setting the replacement text.
(WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator):
Add the same assert as above.
* rendering/RenderEmbeddedObject.h:
(WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
Getter for m_showsMissingPluginIndicator.
WebKit/mac:
* WebCoreSupport/WebChromeClient.h:
Declare an override of missingPluginButtonClicked().
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::missingPluginButtonClicked):
Call the UIDelegate's method.
* WebView/WebUIDelegatePrivate.h:
Declare didPressMissingPluginButton.
WebKit/win:
* Interfaces/IWebUIDelegatePrivate.idl:
Added a new delegate interface, and declare a function
didPressMissingPluginButton().
* Interfaces/WebKit.idl:
Touch this file to force interfaces to be rebuilt.
* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::missingPluginButtonClicked):
Get the UI delegate, and query it for IWebUIDelegatePrivate3. Call its
didPressMissingPluginButton() function.
* WebCoreSupport/WebChromeClient.h:
Declare an override of missingPluginButtonClicked().
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@62451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
14 files changed