Changeset 149904 in webkit


Ignore:
Timestamp:
May 10, 2013 1:46:12 PM (11 years ago)
Author:
weinig@apple.com
Message:

Unify plug-in information dictionaries
<rdar://problem/13852080>
https://bugs.webkit.org/show_bug.cgi?id=115891

Reviewed by Anders Carlsson.

This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier
and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient.

All the old keys will continue to work, but have been deprecated in favor of new keys defined in
WKPluginInformation.h

  • Shared/API/c/WKPluginInformation.cpp: Added.
  • Shared/API/c/WKPluginInformation.h: Added.

Export new keys as SPI.

  • Shared/Plugins/Netscape/PluginInformation.h: Added.
  • Shared/Plugins/Netscape/PluginInformation.cpp: Added.

(WebKit::pluginInformationBundleIdentifierKey):
(WebKit::pluginInformationBundleVersionKey):
(WebKit::pluginInformationPathKey):
(WebKit::pluginInformationDisplayNameKey):
(WebKit::pluginInformationDefaultLoadPolicyKey):
(WebKit::pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
(WebKit::pluginInformationHasSandboxProfileKey):
(WebKit::pluginInformationFrameURLKey):
(WebKit::pluginInformationMIMETypeKey):
(WebKit::pluginInformationPageURLKey):
(WebKit::pluginInformationPluginspageAttributeURLKey):
(WebKit::pluginInformationPluginURLKey):
Add new keys.

(WebKit::pluginModuleInformation):
(WebKit::createPluginInformationDictionary):
Add creation functions to simplify multiple sites.

  • Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added.

(WebKit::platformPluginModuleInformation):
Add platform specific data to the dictionary.

  • UIProcess/API/C/WKPage.cpp:

(WKPageGetPluginInformationBundleIdentifierKey):
(WKPageGetPluginInformationBundleVersionKey):
(WKPageGetPluginInformationDisplayNameKey):
(WKPageGetPluginInformationFrameURLKey):
(WKPageGetPluginInformationMIMETypeKey):
(WKPageGetPluginInformationPageURLKey):
(WKPageGetPluginInformationPluginspageAttributeURLKey):
(WKPageGetPluginInformationPluginURLKey):

  • UIProcess/API/C/WKPage.h:

Deprecate the old keys.

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextCopyPlugInInfoForBundleIdentifier):
(WKContextGetInfoForInstalledPlugIns):
Simplify by using the new createPluginInformationDictionary functions.

(WKPlugInInfoPathKey):
(WKPlugInInfoBundleIdentifierKey):
(WKPlugInInfoVersionKey):
(WKPlugInInfoLoadPolicyKey):
(WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
(WKPlugInInfoIsSandboxedKey):
Deprecate the old keys.

  • UIProcess/WebLoaderClient.cpp:

(WebKit::WebLoaderClient::didFailToInitializePlugin):
(WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
(WebKit::WebLoaderClient::pluginLoadPolicy):

  • UIProcess/WebLoaderClient.h:
  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::unavailablePluginButtonClicked):

  • UIProcess/WebUIClient.h:

Optimize for the most recent callback type which takes a dictionary,
and pull out the necessary bits from it for deprecated callbacks as necessary.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::unavailablePluginButtonClicked):
(WebKit::WebPageProxy::didFailToInitializePlugin):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
Use createPluginInformationDictionary() consistently, to get consistent results for callbacks.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

Location:
trunk/Source/WebKit2
Files:
5 added
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r149903 r149904  
     12013-05-09  Sam Weinig  <sam@webkit.org>
     2
     3        Unify plug-in information dictionaries
     4        <rdar://problem/13852080>
     5        https://bugs.webkit.org/show_bug.cgi?id=115891
     6
     7        Reviewed by Anders Carlsson.
     8
     9        This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier
     10        and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient.
     11
     12        All the old keys will continue to work, but have been deprecated in favor of new keys defined in
     13        WKPluginInformation.h
     14
     15        * Shared/API/c/WKPluginInformation.cpp: Added.
     16        * Shared/API/c/WKPluginInformation.h: Added.
     17        Export new keys as SPI.
     18
     19        * Shared/Plugins/Netscape/PluginInformation.h: Added.
     20        * Shared/Plugins/Netscape/PluginInformation.cpp: Added.
     21        (WebKit::pluginInformationBundleIdentifierKey):
     22        (WebKit::pluginInformationBundleVersionKey):
     23        (WebKit::pluginInformationPathKey):
     24        (WebKit::pluginInformationDisplayNameKey):
     25        (WebKit::pluginInformationDefaultLoadPolicyKey):
     26        (WebKit::pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
     27        (WebKit::pluginInformationHasSandboxProfileKey):
     28        (WebKit::pluginInformationFrameURLKey):
     29        (WebKit::pluginInformationMIMETypeKey):
     30        (WebKit::pluginInformationPageURLKey):
     31        (WebKit::pluginInformationPluginspageAttributeURLKey):
     32        (WebKit::pluginInformationPluginURLKey):
     33        Add new keys.
     34
     35        (WebKit::pluginModuleInformation):
     36        (WebKit::createPluginInformationDictionary):
     37        Add creation functions to simplify multiple sites.
     38
     39        * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added.
     40        (WebKit::platformPluginModuleInformation):
     41        Add platform specific data to the dictionary.
     42
     43        * UIProcess/API/C/WKPage.cpp:
     44        (WKPageGetPluginInformationBundleIdentifierKey):
     45        (WKPageGetPluginInformationBundleVersionKey):
     46        (WKPageGetPluginInformationDisplayNameKey):
     47        (WKPageGetPluginInformationFrameURLKey):
     48        (WKPageGetPluginInformationMIMETypeKey):
     49        (WKPageGetPluginInformationPageURLKey):
     50        (WKPageGetPluginInformationPluginspageAttributeURLKey):
     51        (WKPageGetPluginInformationPluginURLKey):
     52        * UIProcess/API/C/WKPage.h:
     53        Deprecate the old keys.
     54
     55        * UIProcess/API/C/mac/WKContextPrivateMac.h:
     56        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
     57        (WKContextCopyPlugInInfoForBundleIdentifier):
     58        (WKContextGetInfoForInstalledPlugIns):
     59        Simplify by using the new createPluginInformationDictionary functions.
     60
     61        (WKPlugInInfoPathKey):
     62        (WKPlugInInfoBundleIdentifierKey):
     63        (WKPlugInInfoVersionKey):
     64        (WKPlugInInfoLoadPolicyKey):
     65        (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
     66        (WKPlugInInfoIsSandboxedKey):
     67        Deprecate the old keys.
     68
     69        * UIProcess/WebLoaderClient.cpp:
     70        (WebKit::WebLoaderClient::didFailToInitializePlugin):
     71        (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
     72        (WebKit::WebLoaderClient::pluginLoadPolicy):
     73        * UIProcess/WebLoaderClient.h:
     74        * UIProcess/WebUIClient.cpp:
     75        (WebKit::WebUIClient::unavailablePluginButtonClicked):
     76        * UIProcess/WebUIClient.h:
     77        Optimize for the most recent callback type which takes a dictionary,
     78        and pull out the necessary bits from it for deprecated callbacks as necessary.
     79
     80        * UIProcess/WebPageProxy.h:
     81        * UIProcess/WebPageProxy.cpp:
     82        (WebKit::WebPageProxy::findPlugin):
     83        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
     84        (WebKit::WebPageProxy::didFailToInitializePlugin):
     85        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
     86        Use createPluginInformationDictionary() consistently, to get consistent results for callbacks.
     87
     88        * WebKit2.xcodeproj/project.pbxproj:
     89        Add new files.
     90
    1912013-05-10  Brian J. Burg  <burg@cs.washington.edu>
    292
  • trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp

    r149422 r149904  
    3030#include "PrintInfo.h"
    3131#include "WKAPICast.h"
     32#include "WKPluginInformation.h"
    3233#include "WebBackForwardList.h"
    3334#include "WebData.h"
     
    827828}
    828829
    829 void WKPageSetInvalidMessageFunction(WKPageInvalidMessageFunction)
    830 {
    831     // FIXME: Remove this function when doing so won't break WebKit nightlies.
    832 }
    833 
    834 WKStringRef WKPageGetPluginInformationBundleIdentifierKey()
    835 {
    836     static WebString* key = WebString::create(WebPageProxy::pluginInformationBundleIdentifierKey()).leakRef();
    837     return toAPI(key);
    838 }
    839 
    840 WKStringRef WKPageGetPluginInformationBundleVersionKey()
    841 {
    842     static WebString* key = WebString::create(WebPageProxy::pluginInformationBundleVersionKey()).leakRef();
    843     return toAPI(key);
    844 }
    845 
    846 WKStringRef WKPageGetPluginInformationDisplayNameKey()
    847 {
    848     static WebString* key = WebString::create(WebPageProxy::pluginInformationDisplayNameKey()).leakRef();
    849     return toAPI(key);
    850 }
    851 
    852 WKStringRef WKPageGetPluginInformationFrameURLKey()
    853 {
    854     static WebString* key = WebString::create(WebPageProxy::pluginInformationFrameURLKey()).leakRef();
    855     return toAPI(key);
    856 }
    857 
    858 WKStringRef WKPageGetPluginInformationMIMETypeKey()
    859 {
    860     static WebString* key = WebString::create(WebPageProxy::pluginInformationMIMETypeKey()).leakRef();
    861     return toAPI(key);
    862 }
    863 
    864 WKStringRef WKPageGetPluginInformationPageURLKey()
    865 {
    866     static WebString* key = WebString::create(WebPageProxy::pluginInformationPageURLKey()).leakRef();
    867     return toAPI(key);
    868 }
    869 
    870 WKStringRef WKPageGetPluginInformationPluginspageAttributeURLKey()
    871 {
    872     static WebString* key = WebString::create(WebPageProxy::pluginInformationPluginspageAttributeURLKey()).leakRef();
    873     return toAPI(key);
    874 }
    875 
    876 WKStringRef WKPageGetPluginInformationPluginURLKey()
    877 {
    878     static WebString* key = WebString::create(WebPageProxy::pluginInformationPluginURLKey()).leakRef();
    879     return toAPI(key);
    880 }
    881830
    882831void WKPageSetOverridePrivateBrowsingEnabled(WKPageRef pageRef, bool enabled)
     
    896845#endif
    897846}
     847
     848
     849
     850// -- DEPRECATED --
     851
     852void WKPageSetInvalidMessageFunction(WKPageInvalidMessageFunction)
     853{
     854    // FIXME: Remove this function when doing so won't break WebKit nightlies.
     855}
     856
     857WKStringRef WKPageGetPluginInformationBundleIdentifierKey()
     858{
     859    return WKPluginInformationBundleIdentifierKey();
     860}
     861
     862WKStringRef WKPageGetPluginInformationBundleVersionKey()
     863{
     864    return WKPluginInformationBundleVersionKey();
     865}
     866
     867WKStringRef WKPageGetPluginInformationDisplayNameKey()
     868{
     869    return WKPluginInformationBundleVersionKey();
     870}
     871
     872WKStringRef WKPageGetPluginInformationFrameURLKey()
     873{
     874    return WKPluginInformationFrameURLKey();
     875}
     876
     877WKStringRef WKPageGetPluginInformationMIMETypeKey()
     878{
     879    return WKPluginInformationMIMETypeKey();
     880}
     881
     882WKStringRef WKPageGetPluginInformationPageURLKey()
     883{
     884    return WKPluginInformationPageURLKey();
     885}
     886
     887WKStringRef WKPageGetPluginInformationPluginspageAttributeURLKey()
     888{
     889    return WKPluginInformationPluginspageAttributeURLKey();
     890}
     891
     892WKStringRef WKPageGetPluginInformationPluginURLKey()
     893{
     894    return WKPluginInformationPluginURLKey();
     895}
     896
     897// -- DEPRECATED --
     898
  • trunk/Source/WebKit2/UIProcess/API/C/WKPage.h

    r149422 r149904  
    532532WK_EXPORT void WKPagePostMessageToInjectedBundle(WKPageRef page, WKStringRef messageName, WKTypeRef messageBody);
    533533
     534WK_EXPORT void WKPageSelectContextMenuItem(WKPageRef page, WKContextMenuItemRef item);
     535
     536
     537
     538/* DEPRECATED -  Please use constants from WKPluginInformation instead. */
     539
    534540/* Value type: WKStringRef */
    535541WK_EXPORT WKStringRef WKPageGetPluginInformationBundleIdentifierKey();
     
    555561/* Value type: WKURLRef */
    556562WK_EXPORT WKStringRef WKPageGetPluginInformationPluginURLKey();
    557 
    558 WK_EXPORT void WKPageSelectContextMenuItem(WKPageRef page, WKContextMenuItemRef item);
    559 
    560563
    561564#ifdef __cplusplus
  • trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.h

    r149765 r149904  
    3838WK_EXPORT bool WKContextIsPlugInUpdateAvailable(WKContextRef context, WKStringRef plugInBundleIdentifier);
    3939
     40WK_EXPORT WKDictionaryRef WKContextCopyPlugInInfoForBundleIdentifier(WKContextRef context, WKStringRef plugInBundleIdentifier);
     41
     42typedef void (^WKContextGetInfoForInstalledPlugInsBlock)(WKArrayRef, WKErrorRef);
     43WK_EXPORT void WKContextGetInfoForInstalledPlugIns(WKContextRef context, WKContextGetInfoForInstalledPlugInsBlock block);
     44
     45
     46/* DEPRECATED -  Please use constants from WKPluginInformation instead. */
    4047
    4148/* Value type: WKStringRef */
     
    5764WK_EXPORT WKStringRef WKPlugInInfoIsSandboxedKey();
    5865
    59 WK_EXPORT WKDictionaryRef WKContextCopyPlugInInfoForBundleIdentifier(WKContextRef context, WKStringRef plugInBundleIdentifier);
    60 
    61 typedef void (^WKContextGetInfoForInstalledPlugInsBlock)(WKArrayRef, WKErrorRef);
    62 WK_EXPORT void WKContextGetInfoForInstalledPlugIns(WKContextRef context, WKContextGetInfoForInstalledPlugInsBlock block);
    63 
    6466#ifdef __cplusplus
    6567}
  • trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm

    r149765 r149904  
    3030#import "ImmutableDictionary.h"
    3131#import "PluginInfoStore.h"
     32#import "PluginInformation.h"
    3233#import "PluginSandboxProfile.h"
    3334#import "StringUtilities.h"
    3435#import "WKAPICast.h"
     36#import "WKPluginInformation.h"
    3537#import "WKSharedAPICast.h"
    3638#import "WKStringCF.h"
     
    5860}
    5961
    60 
    61 WKStringRef WKPlugInInfoPathKey()
    62 {
    63     static WebString* key = WebString::createFromUTF8String("WKPlugInInfoPath").leakRef();
    64     return toAPI(key);
    65 }
    66 
    67 WKStringRef WKPlugInInfoBundleIdentifierKey()
    68 {
    69     static WebString* key = WebString::createFromUTF8String("WKPlugInInfoBundleIdentifier").leakRef();
    70     return toAPI(key);
    71 }
    72 
    73 WKStringRef WKPlugInInfoVersionKey()
    74 {
    75     static WebString* key = WebString::createFromUTF8String("WKPlugInInfoVersion").leakRef();
    76     return toAPI(key);
    77 }
    78 
    79 WKStringRef WKPlugInInfoLoadPolicyKey()
    80 {
    81     static WebString* key = WebString::createFromUTF8String("WKPlugInInfoLoadPolicy").leakRef();
    82     return toAPI(key);
    83 }
    84 
    85 WKStringRef WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey()
    86 {
    87     static WebString* key = WebString::createFromUTF8String("WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailable").leakRef();
    88     return toAPI(key);
    89 }
    90 
    91 WKStringRef WKPlugInInfoIsSandboxedKey()
    92 {
    93     static WebString* key = WebString::createFromUTF8String("WKPlugInInfoIsSandboxed").leakRef();
    94     return toAPI(key);
    95 }
    96 
    97 static PassRefPtr<ImmutableDictionary> createInfoDictionary(const PluginModuleInfo& info)
    98 {
    99     ImmutableDictionary::MapType map;
    100     map.set(toWTFString(WKPlugInInfoPathKey()), WebString::create(info.path));
    101     map.set(toWTFString(WKPlugInInfoBundleIdentifierKey()), WebString::create(info.bundleIdentifier));
    102     map.set(toWTFString(WKPlugInInfoVersionKey()), WebString::create(info.versionString));
    103     map.set(toWTFString(WKPlugInInfoLoadPolicyKey()), WebUInt64::create(toWKPluginLoadPolicy(PluginInfoStore::policyForPlugin(info))));
    104     map.set(toWTFString(WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey()), WebBoolean::create(WKIsPluginUpdateAvailable(nsStringFromWebCoreString(info.bundleIdentifier))));
    105     map.set(toWTFString(WKPlugInInfoIsSandboxedKey()), WebBoolean::create(pluginHasSandboxProfile(info.bundleIdentifier)));
    106 
    107     return ImmutableDictionary::adopt(map);
    108 }
    109 
    11062WKDictionaryRef WKContextCopyPlugInInfoForBundleIdentifier(WKContextRef contextRef, WKStringRef plugInBundleIdentifierRef)
    11163{
     
    11466        return 0;
    11567
    116     RefPtr<ImmutableDictionary> dictionary = createInfoDictionary(plugin);
     68    RefPtr<ImmutableDictionary> dictionary = createPluginInformationDictionary(plugin);
    11769    return toAPI(dictionary.release().leakRef());
    11870}
     
    12476    Vector<RefPtr<APIObject>> pluginInfoDictionaries;
    12577    for (const auto& plugin: plugins)
    126         pluginInfoDictionaries.append(createInfoDictionary(plugin));
     78        pluginInfoDictionaries.append(createPluginInformationDictionary(plugin));
    12779
    12880    RefPtr<ImmutableArray> array = ImmutableArray::adopt(pluginInfoDictionaries);
     
    13587    });
    13688}
     89
     90
     91/* DEPRECATED -  Please use constants from WKPluginInformation instead. */
     92
     93WKStringRef WKPlugInInfoPathKey()
     94{
     95    return WKPluginInformationPathKey();
     96}
     97
     98WKStringRef WKPlugInInfoBundleIdentifierKey()
     99{
     100    return WKPluginInformationBundleIdentifierKey();
     101}
     102
     103WKStringRef WKPlugInInfoVersionKey()
     104{
     105    return WKPluginInformationBundleVersionKey();
     106}
     107
     108WKStringRef WKPlugInInfoLoadPolicyKey()
     109{
     110    return WKPluginInformationDefaultLoadPolicyKey();
     111}
     112
     113WKStringRef WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey()
     114{
     115    return WKPluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey();
     116}
     117
     118WKStringRef WKPlugInInfoIsSandboxedKey()
     119{
     120    return WKPluginInformationHasSandboxProfileKey();
     121}
  • trunk/Source/WebKit2/UIProcess/WebLoaderClient.cpp

    r149848 r149904  
    2929#include "ImmutableArray.h"
    3030#include "ImmutableDictionary.h"
     31#include "PluginInformation.h"
    3132#include "WKAPICast.h"
    3233#include "WebBackForwardListItem.h"
     
    275276}
    276277
    277 void WebLoaderClient::didFailToInitializePlugin(WebPageProxy* page, const String& mimeType, const String& frameURLString, const String& pageURLString)
     278void WebLoaderClient::didFailToInitializePlugin(WebPageProxy* page, ImmutableDictionary* pluginInformation)
    278279{
    279280    if (m_client.didFailToInitializePlugin_deprecatedForUseWithV0)
    280         m_client.didFailToInitializePlugin_deprecatedForUseWithV0(toAPI(page), toAPI(mimeType.impl()), m_client.clientInfo);
     281        m_client.didFailToInitializePlugin_deprecatedForUseWithV0(
     282            toAPI(page),
     283            toAPI(pluginInformation->get<WebString>(pluginInformationMIMETypeKey())),
     284            m_client.clientInfo);
    281285
    282286    if (m_client.pluginDidFail_deprecatedForUseWithV1)
    283         m_client.pluginDidFail_deprecatedForUseWithV1(toAPI(page), kWKErrorCodeCannotLoadPlugIn, toAPI(mimeType.impl()), 0, 0, m_client.clientInfo);
    284 
    285     if (m_client.pluginDidFail) {
    286         RefPtr<ImmutableDictionary> pluginInformation = WebPageProxy::pluginInformationDictionary(String(), String(), String(), frameURLString, mimeType, pageURLString, String(), String());
    287         m_client.pluginDidFail(toAPI(page), kWKErrorCodeCannotLoadPlugIn, toAPI(pluginInformation.get()), m_client.clientInfo);
    288     }
    289 }
    290 
    291 void WebLoaderClient::didBlockInsecurePluginVersion(WebPageProxy* page, const String& mimeType, const String& pluginBundleIdentifier, const String& pluginBundleVersion, const String& frameURLString, const String& pageURLString)
     287        m_client.pluginDidFail_deprecatedForUseWithV1(
     288            toAPI(page),
     289            kWKErrorCodeCannotLoadPlugIn,
     290            toAPI(pluginInformation->get<WebString>(pluginInformationMIMETypeKey())),
     291            0,
     292            0,
     293            m_client.clientInfo);
     294
     295    if (m_client.pluginDidFail)
     296        m_client.pluginDidFail(
     297            toAPI(page),
     298            kWKErrorCodeCannotLoadPlugIn,
     299            toAPI(pluginInformation),
     300            m_client.clientInfo);
     301}
     302
     303void WebLoaderClient::didBlockInsecurePluginVersion(WebPageProxy* page, ImmutableDictionary* pluginInformation)
    292304{
    293305    if (m_client.pluginDidFail_deprecatedForUseWithV1)
    294         m_client.pluginDidFail_deprecatedForUseWithV1(toAPI(page), kWKErrorCodeInsecurePlugInVersion, toAPI(mimeType.impl()), toAPI(pluginBundleIdentifier.impl()), toAPI(pluginBundleVersion.impl()), m_client.clientInfo);
    295 
    296     if (m_client.pluginDidFail) {
    297         RefPtr<ImmutableDictionary> pluginInformation = WebPageProxy::pluginInformationDictionary(pluginBundleIdentifier, pluginBundleVersion, String(), frameURLString, mimeType, pageURLString, String(), String());
    298         m_client.pluginDidFail(toAPI(page), kWKErrorCodeInsecurePlugInVersion, toAPI(pluginInformation.get()), m_client.clientInfo);
    299     }
    300 }
    301 
    302 PluginModuleLoadPolicy WebLoaderClient::pluginLoadPolicy(WebPageProxy* page, const String& pluginBundleIdentifier, const String& pluginBundleVersion, const String& displayName, const String& frameURLString, const String& pageURLString, PluginModuleLoadPolicy currentPluginLoadPolicy)
     306        m_client.pluginDidFail_deprecatedForUseWithV1(
     307            toAPI(page),
     308            kWKErrorCodeInsecurePlugInVersion,
     309            toAPI(pluginInformation->get<WebString>(pluginInformationMIMETypeKey())),
     310            toAPI(pluginInformation->get<WebString>(pluginInformationBundleIdentifierKey())),
     311            toAPI(pluginInformation->get<WebString>(pluginInformationBundleVersionKey())),
     312            m_client.clientInfo);
     313
     314    if (m_client.pluginDidFail)
     315        m_client.pluginDidFail(
     316            toAPI(page),
     317            kWKErrorCodeInsecurePlugInVersion,
     318            toAPI(pluginInformation),
     319            m_client.clientInfo);
     320}
     321
     322PluginModuleLoadPolicy WebLoaderClient::pluginLoadPolicy(WebPageProxy* page, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary* pluginInformation)
    303323{
    304324    if (!m_client.pluginLoadPolicy)
    305325        return currentPluginLoadPolicy;
    306326
    307     RefPtr<ImmutableDictionary> pluginInformation = WebPageProxy::pluginInformationDictionary(pluginBundleIdentifier, pluginBundleVersion, displayName, frameURLString, String(), pageURLString, String(), String());
    308     return toPluginModuleLoadPolicy(m_client.pluginLoadPolicy(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation.get()), m_client.clientInfo));
     327    return toPluginModuleLoadPolicy(m_client.pluginLoadPolicy(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), m_client.clientInfo));
    309328}
    310329
  • trunk/Source/WebKit2/UIProcess/WebLoaderClient.h

    r149848 r149904  
    4545class AuthenticationChallengeProxy;
    4646class AuthenticationDecisionListener;
     47class ImmutableDictionary;
    4748class WebBackForwardListItem;
    4849class WebFrameProxy;
     
    9091    void willGoToBackForwardListItem(WebPageProxy*, WebBackForwardListItem*, APIObject*);
    9192
    92     PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy*, const String& pluginBundleIdentifier, const String& pluginBundleVersion, const String& displayName, const String& frameURLString, const String& pageURLString, PluginModuleLoadPolicy currentPluginLoadPolicy);
    93     void didFailToInitializePlugin(WebPageProxy*, const String& mimeType, const String& frameURLString, const String& pageURLString);
    94     void didBlockInsecurePluginVersion(WebPageProxy*, const String& mimeType, const String& pluginBundleIdentifier, const String& pluginBundleVersion, const String& frameURLString, const String& pageURLString);
    95 
     93    PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy*, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary*);
     94    void didFailToInitializePlugin(WebPageProxy*, ImmutableDictionary*);
     95    void didBlockInsecurePluginVersion(WebPageProxy*, ImmutableDictionary*);
    9696};
    9797
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r149848 r149904  
    4444#include "NotificationPermissionRequestManager.h"
    4545#include "PageClient.h"
     46#include "PluginInformation.h"
    4647#include "PrintInfo.h"
    4748#include "SessionState.h"
     
    13921393
    13931394    newMimeType = mimeType.lower();
    1394 
    13951395    pluginLoadPolicy = PluginModuleLoadNormally;
     1396   
    13961397    PluginModuleInfo plugin = m_process->context()->pluginInfoStore().findPlugin(newMimeType, KURL(KURL(), urlString));
    13971398    if (!plugin.path)
     
    14011402
    14021403#if PLATFORM(MAC)
    1403     PluginModuleLoadPolicy currentPluginLoadPolicy = static_cast<PluginModuleLoadPolicy>(pluginLoadPolicy);
    1404     pluginLoadPolicy = m_loaderClient.pluginLoadPolicy(this, plugin.bundleIdentifier, plugin.versionString, plugin.info.name, frameURLString, pageURLString, currentPluginLoadPolicy);
     1404    RefPtr<ImmutableDictionary> pluginInformation = createPluginInformationDictionary(plugin, frameURLString, String(), pageURLString, String(), String());
     1405    pluginLoadPolicy = m_loaderClient.pluginLoadPolicy(this, static_cast<PluginModuleLoadPolicy>(pluginLoadPolicy), pluginInformation.get());
    14051406#else
    14061407    UNUSED_PARAM(frameURLString);
     
    27012702}
    27022703
    2703 String WebPageProxy::pluginInformationBundleIdentifierKey()
    2704 {
    2705     return ASCIILiteral("PluginInformationBundleIdentifier");
    2706 }
    2707 
    2708 String WebPageProxy::pluginInformationBundleVersionKey()
    2709 {
    2710     return ASCIILiteral("PluginInformationBundleVersion");
    2711 }
    2712 
    2713 String WebPageProxy::pluginInformationDisplayNameKey()
    2714 {
    2715     return ASCIILiteral("PluginInformationDisplayName");
    2716 }
    2717 
    2718 String WebPageProxy::pluginInformationFrameURLKey()
    2719 {
    2720     return ASCIILiteral("PluginInformationFrameURL");
    2721 }
    2722 
    2723 String WebPageProxy::pluginInformationMIMETypeKey()
    2724 {
    2725     return ASCIILiteral("PluginInformationMIMEType");
    2726 }
    2727 
    2728 String WebPageProxy::pluginInformationPageURLKey()
    2729 {
    2730     return ASCIILiteral("PluginInformationPageURL");
    2731 }
    2732 
    2733 String WebPageProxy::pluginInformationPluginspageAttributeURLKey()
    2734 {
    2735     return ASCIILiteral("PluginInformationPluginspageAttributeURL");
    2736 }
    2737 
    2738 String WebPageProxy::pluginInformationPluginURLKey()
    2739 {
    2740     return ASCIILiteral("PluginInformationPluginURL");
    2741 }
    2742 
    2743 PassRefPtr<ImmutableDictionary> WebPageProxy::pluginInformationDictionary(const String& bundleIdentifier, const String& bundleVersion, const String& displayName, const String& frameURLString, const String& mimeType, const String& pageURLString, const String& pluginspageAttributeURLString, const String& pluginURLString)
    2744 {
    2745     HashMap<String, RefPtr<APIObject>> pluginInfoMap;
    2746     if (!bundleIdentifier.isEmpty())
    2747         pluginInfoMap.set(WebPageProxy::pluginInformationBundleIdentifierKey(), WebString::create(bundleIdentifier));
    2748     if (!bundleVersion.isEmpty())
    2749         pluginInfoMap.set(WebPageProxy::pluginInformationBundleVersionKey(), WebString::create(bundleVersion));
    2750     if (!displayName.isEmpty())
    2751         pluginInfoMap.set(WebPageProxy::pluginInformationDisplayNameKey(), WebString::create(displayName));
    2752     if (!frameURLString.isEmpty())
    2753         pluginInfoMap.set(WebPageProxy::pluginInformationFrameURLKey(), WebURL::create(frameURLString));
    2754     if (!mimeType.isEmpty())
    2755         pluginInfoMap.set(WebPageProxy::pluginInformationMIMETypeKey(), WebString::create(mimeType));
    2756     if (!pageURLString.isEmpty())
    2757         pluginInfoMap.set(WebPageProxy::pluginInformationPageURLKey(), WebURL::create(pageURLString));
    2758     if (!pluginspageAttributeURLString.isEmpty())
    2759         pluginInfoMap.set(WebPageProxy::pluginInformationPluginspageAttributeURLKey(), WebURL::create(pluginspageAttributeURLString));
    2760     if (!pluginURLString.isEmpty())
    2761         pluginInfoMap.set(WebPageProxy::pluginInformationPluginURLKey(), WebURL::create(pluginURLString));
    2762 
    2763     return ImmutableDictionary::adopt(pluginInfoMap);
    2764 }
    2765 
    27662704void WebPageProxy::unavailablePluginButtonClicked(uint32_t opaquePluginUnavailabilityReason, const String& mimeType, const String& pluginURLString, const String& pluginspageAttributeURLString, const String& frameURLString, const String& pageURLString)
    27672705{
     
    27712709    MESSAGE_CHECK_URL(pageURLString);
    27722710
    2773     String pluginBundleIdentifier;
    2774     String pluginBundleVersion;
    2775     String pluginName;
     2711    RefPtr<ImmutableDictionary> pluginInformation;
     2712#if ENABLE(NETSCAPE_PLUGIN_API)
    27762713    String newMimeType = mimeType;
    2777 #if ENABLE(NETSCAPE_PLUGIN_API)
    27782714    PluginModuleInfo plugin = m_process->context()->pluginInfoStore().findPlugin(newMimeType, KURL(KURL(), pluginURLString));
    2779 #if PLATFORM(MAC)
    2780     pluginBundleIdentifier = plugin.bundleIdentifier;
    2781     pluginBundleVersion = plugin.versionString;
    2782 #endif
    2783     pluginName = plugin.info.name;
     2715    pluginInformation = createPluginInformationDictionary(plugin, frameURLString, mimeType, pageURLString, pluginspageAttributeURLString, pluginURLString);
    27842716#endif
    27852717
     
    28102742    }
    28112743
    2812     m_uiClient.unavailablePluginButtonClicked(this, pluginUnavailabilityReason, mimeType, pluginBundleIdentifier, pluginBundleVersion, pluginName, pluginURLString, pluginspageAttributeURLString, frameURLString, pageURLString);
     2744    m_uiClient.unavailablePluginButtonClicked(this, pluginUnavailabilityReason, pluginInformation.get());
    28132745}
    28142746
     
    42034135void WebPageProxy::didFailToInitializePlugin(const String& mimeType, const String& frameURLString, const String& pageURLString)
    42044136{
    4205     m_loaderClient.didFailToInitializePlugin(this, mimeType, frameURLString, pageURLString);
    4206 }
    4207 
    4208 // FIXME: ENABLE(NETSCAPE_PLUGIN_API)
     4137    m_loaderClient.didFailToInitializePlugin(this, createPluginInformationDictionary(mimeType, frameURLString, pageURLString).get());
     4138}
     4139
    42094140void WebPageProxy::didBlockInsecurePluginVersion(const String& mimeType, const String& pluginURLString, const String& frameURLString, const String& pageURLString)
    42104141{
    4211     String pluginBundleIdentifier;
    4212     String pluginBundleVersion;
     4142    RefPtr<ImmutableDictionary> pluginInformation;
     4143
     4144#if PLATFORM(MAC) && ENABLE(NETSCAPE_PLUGIN_API)
    42134145    String newMimeType = mimeType;
    4214 
    4215 #if PLATFORM(MAC) && ENABLE(NETSCAPE_PLUGIN_API)
    42164146    PluginModuleInfo plugin = m_process->context()->pluginInfoStore().findPlugin(newMimeType, KURL(KURL(), pluginURLString));
    4217 
    4218     pluginBundleIdentifier = plugin.bundleIdentifier;
    4219     pluginBundleVersion = plugin.versionString;
     4147    pluginInformation = createPluginInformationDictionary(plugin, frameURLString, mimeType, pageURLString, String(), String());
    42204148#else
    42214149    UNUSED_PARAM(pluginURLString);
    42224150#endif
    42234151
    4224     m_loaderClient.didBlockInsecurePluginVersion(this, newMimeType, pluginBundleIdentifier, pluginBundleVersion, frameURLString, pageURLString);
     4152    m_loaderClient.didBlockInsecurePluginVersion(this, pluginInformation.get());
    42254153}
    42264154
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r149848 r149904  
    771771    void connectionWillClose(CoreIPC::Connection*);
    772772
    773     static String pluginInformationBundleIdentifierKey();
    774     static String pluginInformationBundleVersionKey();
    775     static String pluginInformationDisplayNameKey();
    776     static String pluginInformationFrameURLKey();
    777     static String pluginInformationMIMETypeKey();
    778     static String pluginInformationPageURLKey();
    779     static String pluginInformationPluginspageAttributeURLKey();
    780     static String pluginInformationPluginURLKey();
    781     static PassRefPtr<ImmutableDictionary> pluginInformationDictionary(const String& bundleIdentifier, const String& bundleVersion, const String& displayName, const String& frameURLString, const String& mimeType, const String& pageURLString, const String& pluginspageAttributeURLString, const String& pluginURLString);
    782 
    783773private:
    784774    WebPageProxy(PageClient*, PassRefPtr<WebProcessProxy>, WebPageGroup*, uint64_t pageID);
  • trunk/Source/WebKit2/UIProcess/WebUIClient.cpp

    r143988 r149904  
    3131#include "NativeWebWheelEvent.h"
    3232#include "NotificationPermissionRequest.h"
     33#include "PluginInformation.h"
    3334#include "WKAPICast.h"
    3435#include "WebColorPickerResultListenerProxy.h"
     
    176177}
    177178
    178 void WebUIClient::unavailablePluginButtonClicked(WebPageProxy* page, WKPluginUnavailabilityReason pluginUnavailabilityReason, const String& mimeType, const String& pluginBundleIdentifier, const String& pluginBundleVersion, const String& displayName, const String& pluginURLString, const String& pluginspageAttributeURLString, const String& frameURLString, const String& pageURLString)
     179void WebUIClient::unavailablePluginButtonClicked(WebPageProxy* page, WKPluginUnavailabilityReason pluginUnavailabilityReason, ImmutableDictionary* pluginInformation)
    179180{
    180181    if (pluginUnavailabilityReason == kWKPluginUnavailabilityReasonPluginMissing) {
    181182        if (m_client.missingPluginButtonClicked_deprecatedForUseWithV0)
    182             m_client.missingPluginButtonClicked_deprecatedForUseWithV0(toAPI(page), toAPI(mimeType.impl()), toAPI(pluginURLString.impl()), toAPI(pluginspageAttributeURLString.impl()), m_client.clientInfo);
     183            m_client.missingPluginButtonClicked_deprecatedForUseWithV0(
     184                toAPI(page),
     185                toAPI(pluginInformation->get<WebString>(pluginInformationMIMETypeKey())),
     186                toAPI(pluginInformation->get<WebString>(pluginInformationPluginURLKey())),
     187                toAPI(pluginInformation->get<WebString>(pluginInformationPluginspageAttributeURLKey())),
     188                m_client.clientInfo);
    183189    }
    184190
    185191    if (m_client.unavailablePluginButtonClicked_deprecatedForUseWithV1)
    186         m_client.unavailablePluginButtonClicked_deprecatedForUseWithV1(toAPI(page), pluginUnavailabilityReason, toAPI(mimeType.impl()), toAPI(pluginURLString.impl()), toAPI(pluginspageAttributeURLString.impl()), m_client.clientInfo);
    187 
    188     if (m_client.unavailablePluginButtonClicked) {
    189         RefPtr<ImmutableDictionary> pluginInformation = WebPageProxy::pluginInformationDictionary(pluginBundleIdentifier, pluginBundleVersion, displayName, frameURLString, mimeType, pageURLString, pluginspageAttributeURLString, pluginURLString);
    190         m_client.unavailablePluginButtonClicked(toAPI(page), pluginUnavailabilityReason, toAPI(pluginInformation.get()), m_client.clientInfo);
    191     }
     192        m_client.unavailablePluginButtonClicked_deprecatedForUseWithV1(
     193            toAPI(page),
     194            pluginUnavailabilityReason,
     195            toAPI(pluginInformation->get<WebString>(pluginInformationMIMETypeKey())),
     196            toAPI(pluginInformation->get<WebString>(pluginInformationPluginURLKey())),
     197            toAPI(pluginInformation->get<WebString>(pluginInformationPluginspageAttributeURLKey())),
     198            m_client.clientInfo);
     199
     200    if (m_client.unavailablePluginButtonClicked)
     201        m_client.unavailablePluginButtonClicked(
     202            toAPI(page),
     203            pluginUnavailabilityReason,
     204            toAPI(pluginInformation),
     205            m_client.clientInfo);
    192206}
    193207
  • trunk/Source/WebKit2/UIProcess/WebUIClient.h

    r143988 r149904  
    4646class APIObject;
    4747class GeolocationPermissionRequestProxy;
     48class ImmutableDictionary;
    4849class NativeWebKeyboardEvent;
    4950class NativeWebWheelEvent;
     
    7273    void setStatusText(WebPageProxy*, const String&);
    7374    void mouseDidMoveOverElement(WebPageProxy*, const WebHitTestResult::Data&, WebEvent::Modifiers, APIObject*);
    74     void unavailablePluginButtonClicked(WebPageProxy*, WKPluginUnavailabilityReason, const String& mimeType, const String& pluginBundleIdentifier, const String& pluginBundleVersion, const String& displayName, const String& pluginURLString, const String& pluginspageAttributeURLString, const String& frameURLString, const String& pageURLString);
     75    void unavailablePluginButtonClicked(WebPageProxy*, WKPluginUnavailabilityReason, ImmutableDictionary*);
    7576   
    7677    bool implementsDidNotHandleKeyEvent() const;
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r149765 r149904  
    573573                7801C099142290C400FAF9AF /* WebHitTestResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7801C095142290C400FAF9AF /* WebHitTestResult.cpp */; };
    574574                7801C09A142290C400FAF9AF /* WebHitTestResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 7801C096142290C400FAF9AF /* WebHitTestResult.h */; };
     575                7C135AA8173B0BCA00586AE2 /* WKPluginInformation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C135AA6173B0BCA00586AE2 /* WKPluginInformation.cpp */; };
     576                7C135AA9173B0BCA00586AE2 /* WKPluginInformation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C135AA7173B0BCA00586AE2 /* WKPluginInformation.h */; };
     577                7C135AAC173B0CFF00586AE2 /* PluginInformationMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C135AAA173B0CFF00586AE2 /* PluginInformationMac.mm */; };
    575578                7C387434172F5615001BD88A /* PageBanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C387433172F5615001BD88A /* PageBanner.cpp */; };
     579                7C3F8C90173AF52D007B7F39 /* PluginInformation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C3F8C8E173AF52D007B7F39 /* PluginInformation.cpp */; };
     580                7C3F8C91173AF52D007B7F39 /* PluginInformation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C3F8C8F173AF52D007B7F39 /* PluginInformation.h */; };
    576581                7C6D37FC172F555F009D2847 /* PageBannerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C6D37FA172F555F009D2847 /* PageBannerMac.mm */; };
    577582                7CB16FEF1724BA23007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb in Copy Plug-in Sandbox Profiles */ = {isa = PBXBuildFile; fileRef = 7CB16FE21724B9B5007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb */; };
     
    20492054                7801C095142290C400FAF9AF /* WebHitTestResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebHitTestResult.cpp; sourceTree = "<group>"; };
    20502055                7801C096142290C400FAF9AF /* WebHitTestResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebHitTestResult.h; sourceTree = "<group>"; };
     2056                7C135AA6173B0BCA00586AE2 /* WKPluginInformation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKPluginInformation.cpp; sourceTree = "<group>"; };
     2057                7C135AA7173B0BCA00586AE2 /* WKPluginInformation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPluginInformation.h; sourceTree = "<group>"; };
     2058                7C135AAA173B0CFF00586AE2 /* PluginInformationMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginInformationMac.mm; sourceTree = "<group>"; };
    20512059                7C387433172F5615001BD88A /* PageBanner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageBanner.cpp; sourceTree = "<group>"; };
     2060                7C3F8C8E173AF52D007B7F39 /* PluginInformation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginInformation.cpp; sourceTree = "<group>"; };
     2061                7C3F8C8F173AF52D007B7F39 /* PluginInformation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginInformation.h; sourceTree = "<group>"; };
    20522062                7C6D37FA172F555F009D2847 /* PageBannerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PageBannerMac.mm; sourceTree = "<group>"; };
    20532063                7CB16FE21724B9B5007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.apple.ist.ds.appleconnect.webplugin.sb; sourceTree = "<group>"; };
     
    30463056                                1A4A9C5312B816CF008FE984 /* NetscapePluginModule.cpp */,
    30473057                                1A4A9C5412B816CF008FE984 /* NetscapePluginModule.h */,
     3058                                7C3F8C8E173AF52D007B7F39 /* PluginInformation.cpp */,
     3059                                7C3F8C8F173AF52D007B7F39 /* PluginInformation.h */,
    30483060                        );
    30493061                        path = Netscape;
     
    30543066                        children = (
    30553067                                1A4A9C9912B821CD008FE984 /* NetscapePluginModuleMac.mm */,
     3068                                7C135AAA173B0CFF00586AE2 /* PluginInformationMac.mm */,
    30563069                        );
    30573070                        path = mac;
     
    49574970                                93BDEB00171DD7AF00BFEE1B /* WKPageLoadTypesPrivate.h */,
    49584971                                A5EFD38B16B0E88C00B2F0E8 /* WKPageVisibilityTypes.h */,
     4972                                7C135AA6173B0BCA00586AE2 /* WKPluginInformation.cpp */,
     4973                                7C135AA7173B0BCA00586AE2 /* WKPluginInformation.h */,
    49594974                                37948406150C4B9600E52CE9 /* WKRenderLayer.cpp */,
    49604975                                37948407150C4B9600E52CE9 /* WKRenderLayer.h */,
     
    55825597                                7CF47FF717275B71008ACB91 /* WKBundlePageBanner.h in Headers */,
    55835598                                33D3A3C2133960B000709BE4 /* WebMediaCacheManager.h in Headers */,
     5599                                7C3F8C91173AF52D007B7F39 /* PluginInformation.h in Headers */,
    55845600                                33D3A3C91339617900709BE4 /* WebMediaCacheManagerMessages.h in Headers */,
    55855601                                33D3A3BB1339606200709BE4 /* WebMediaCacheManagerProxy.h in Headers */,
     
    57465762                                1A1D8BA21731A36300141DA4 /* LocalStorageDatabase.h in Headers */,
    57475763                                BC407602124FF0270068F20A /* WKNumber.h in Headers */,
     5764                                7C135AA9173B0BCA00586AE2 /* WKPluginInformation.h in Headers */,
    57485765                                BC857FE612B843D800EDEB2E /* WKOpenPanelParameters.h in Headers */,
    57495766                                BC1DFE8F12B31CA8005DF730 /* WKOpenPanelResultListener.h in Headers */,
     
    66046621                                5160BFE113381DF900918999 /* Logging.mac.mm in Sources */,
    66056622                                1A24B5F211F531E800C38269 /* MachUtilities.cpp in Sources */,
     6623                                7C3F8C90173AF52D007B7F39 /* PluginInformation.cpp in Sources */,
    66066624                                1A232902162C867300D82F7A /* MessageDecoder.cpp in Sources */,
    66076625                                1A2328FE162C866A00D82F7A /* MessageEncoder.cpp in Sources */,
     
    66616679                                2D2ADF0916362DD500197E47 /* PDFPluginTextAnnotation.mm in Sources */,
    66626680                                1AAF061512B01131008E49E2 /* PDFViewController.mm in Sources */,
     6681                                7C135AAC173B0CFF00586AE2 /* PluginInformationMac.mm in Sources */,
    66636682                                BCF505E81243047B005955AE /* PlatformCertificateInfo.mm in Sources */,
    66646683                                BCC43ABA127B95DC00317F16 /* PlatformPopupMenuData.cpp in Sources */,
     
    68746893                                BC857F8612B82D0B00EDEB2E /* WebOpenPanelResultListener.cpp in Sources */,
    68756894                                BC857F7E12B82CEE00EDEB2E /* WebOpenPanelResultListenerProxy.cpp in Sources */,
     6895                                7C135AA8173B0BCA00586AE2 /* WKPluginInformation.cpp in Sources */,
    68766896                                BC963D6B113DD19200574BE2 /* WebPage.cpp in Sources */,
    68776897                                5153569C1291B1D2000749DC /* WebPageContextMenuClient.cpp in Sources */,
Note: See TracChangeset for help on using the changeset viewer.