Example #1
0
void WebUIClient::unavailablePluginButtonClicked(WebPageProxy* page, WKPluginUnavailabilityReason pluginUnavailabilityReason, ImmutableDictionary* pluginInformation)
{
    if (pluginUnavailabilityReason == kWKPluginUnavailabilityReasonPluginMissing) {
        if (m_client.missingPluginButtonClicked_deprecatedForUseWithV0)
            m_client.missingPluginButtonClicked_deprecatedForUseWithV0(
                toAPI(page),
                toAPI(pluginInformation->get<WebString>(pluginInformationMIMETypeKey())),
                toAPI(pluginInformation->get<WebString>(pluginInformationPluginURLKey())),
                toAPI(pluginInformation->get<WebString>(pluginInformationPluginspageAttributeURLKey())),
                m_client.clientInfo);
    }

    if (m_client.unavailablePluginButtonClicked_deprecatedForUseWithV1)
        m_client.unavailablePluginButtonClicked_deprecatedForUseWithV1(
            toAPI(page),
            pluginUnavailabilityReason,
            toAPI(pluginInformation->get<WebString>(pluginInformationMIMETypeKey())),
            toAPI(pluginInformation->get<WebString>(pluginInformationPluginURLKey())),
            toAPI(pluginInformation->get<WebString>(pluginInformationPluginspageAttributeURLKey())),
            m_client.clientInfo);

    if (m_client.unavailablePluginButtonClicked)
        m_client.unavailablePluginButtonClicked(
            toAPI(page),
            pluginUnavailabilityReason,
            toAPI(pluginInformation),
            m_client.clientInfo);
}
Example #2
0
PassRefPtr<ImmutableDictionary> createPluginInformationDictionary(const PluginModuleInfo& plugin, const String& frameURLString, const String& mimeType, const String& pageURLString, const String& pluginspageAttributeURLString, const String& pluginURLString, bool replacementObscured)
{
    ImmutableDictionary::MapType map;
    getPluginModuleInformation(plugin, map);

    if (!frameURLString.isEmpty())
        map.set(pluginInformationFrameURLKey(), API::URL::create(frameURLString));
    if (!mimeType.isEmpty())
        map.set(pluginInformationMIMETypeKey(), API::String::create(mimeType));
    if (!pageURLString.isEmpty())
        map.set(pluginInformationPageURLKey(), API::URL::create(pageURLString));
    if (!pluginspageAttributeURLString.isEmpty())
        map.set(pluginInformationPluginspageAttributeURLKey(), API::URL::create(pluginspageAttributeURLString));
    if (!pluginURLString.isEmpty())
        map.set(pluginInformationPluginURLKey(), API::URL::create(pluginURLString));
    map.set(plugInInformationReplacementObscuredKey(), API::Boolean::create(replacementObscured));

    return ImmutableDictionary::create(std::move(map));
}