Add a user agent stylesheet for plugins
https://bugs.webkit.org/show_bug.cgi?id=107890

Reviewed by Alexey Proskuryakov.

Source/WebCore:

As a step along the way to providing a Shadow DOM for plug-in elements, add a
User Agent stylesheet that is loaded when an embed or object element is
in the document. At the moment the stylesheet is empty.

The stylesheet can be overridden by the RenderTheme or the ChromeClient, allowing
ports to provide a custom appearance. This involved hooking up some virtual methods
on ChromeClient, the stubs of which are already implemented in WK2.
As a drive-by, since snapshotted plugins will need some localization I've also
exposed the ChromeClient methods to get text labels.

* CMakeLists.txt: Add plugIns.css.
* DerivedSources.make: Ditto.
* DerivedSources.pri: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gyp/WebCore.gyp: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditoo.
* css/StyleResolver.cpp:
(WebCore::ensureDefaultStyleSheetsForElement): Load and inject new plugInsStyleSheet if there is an object or embed element.
* css/plugIns.css: Added. Empty for now.
* page/ChromeClient.h: New methods for querying the client.
(WebCore::ChromeClient::plugInStartLabelTitle):
(WebCore::ChromeClient::plugInStartLabelSubtitle):
(WebCore::ChromeClient::plugInExtraStyleSheet):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::extraPlugInsStyleSheet): Allow the theme to provide an extra stylesheet.

Source/WebKit2:

* WebProcess/InjectedBundle/API/c/WKBundlePage.h: Rename client callbacks
to have a "create" prefix, making it clear that these generate new Strings.
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Actually call into
the injected bundle to retrieve any custom stylesheet for plugins.
(WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient): Add override keyword onto virtual functions now
that the base class has implementations.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140863 268f45cc-cd09-0410-ab3c-d52691b4dbfc