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