Changeset 162883 in webkit
- Timestamp:
- Jan 27, 2014 4:07:30 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r162882 r162883 1 2014-01-27 Tim Horton <timothy_horton@apple.com> 2 3 Revert the parts of r162629 that add a new pluginLoadPolicy and the context menu item. 4 5 We're leaving the parts that make us use PDFPlugin instead of showing the blocked 6 plugin indicator intact, though. 7 8 * UIProcess/API/APILoaderClient.h: 9 (API::LoaderClient::pluginLoadPolicy): 10 * UIProcess/API/C/WKPage.cpp: 11 (WKPageSetPageLoaderClient): 12 * UIProcess/API/C/WKPageLoaderClient.h: 13 * UIProcess/WebPageProxy.cpp: 14 (WebKit::WebPageProxy::findPlugin): 15 * UIProcess/WebPageProxy.h: 16 * UIProcess/WebPageProxy.messages.in: 17 * WebProcess/Plugins/PDF/PDFPlugin.h: 18 * WebProcess/Plugins/PDF/PDFPlugin.mm: 19 (WebKit::PDFPlugin::PDFPlugin): 20 (WebKit::PDFPlugin::handleContextMenuEvent): 21 * WebProcess/WebPage/WebPage.cpp: 22 (WebKit::WebPage::createPlugin): 23 (WebKit::WebPage::canPluginHandleResponse): 24 1 25 2014-01-27 Anders Carlsson <andersca@apple.com> 2 26 -
trunk/Source/WebKit2/UIProcess/API/APILoaderClient.h
r162673 r162883 92 92 93 93 #if ENABLE(NETSCAPE_PLUGIN_API) 94 virtual WebKit::PluginModuleLoadPolicy pluginLoadPolicy(WebKit::WebPageProxy*, WebKit::PluginModuleLoadPolicy currentPluginLoadPolicy, WebKit::ImmutableDictionary*, WTF::String& unavailabilityDescription , WTF::String& useBlockedPluginTitle) { return currentPluginLoadPolicy; }94 virtual WebKit::PluginModuleLoadPolicy pluginLoadPolicy(WebKit::WebPageProxy*, WebKit::PluginModuleLoadPolicy currentPluginLoadPolicy, WebKit::ImmutableDictionary*, WTF::String& unavailabilityDescription) { return currentPluginLoadPolicy; } 95 95 virtual void didFailToInitializePlugin(WebKit::WebPageProxy*, WebKit::ImmutableDictionary*) { } 96 96 virtual void didBlockInsecurePluginVersion(WebKit::WebPageProxy*, WebKit::ImmutableDictionary*) { } -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp
r162728 r162883 932 932 } 933 933 934 virtual PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy* page, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary* pluginInformation, String& unavailabilityDescription , String& useBlockedPluginTitle) override934 virtual PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy* page, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary* pluginInformation, String& unavailabilityDescription) override 935 935 { 936 936 WKStringRef unavailabilityDescriptionOut = 0; 937 WKStringRef useBlockedPluginTitleOut = 0;938 937 PluginModuleLoadPolicy loadPolicy = currentPluginLoadPolicy; 939 938 940 939 if (m_client.pluginLoadPolicy_deprecatedForUseWithV2) 941 940 loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy_deprecatedForUseWithV2(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), m_client.base.clientInfo)); 942 else if (m_client.pluginLoadPolicy_deprecatedForUseWithV3)943 loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy_deprecatedForUseWithV3(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), &unavailabilityDescriptionOut, m_client.base.clientInfo));944 941 else if (m_client.pluginLoadPolicy) 945 loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), &unavailabilityDescriptionOut, &useBlockedPluginTitleOut,m_client.base.clientInfo));942 loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), &unavailabilityDescriptionOut, m_client.base.clientInfo)); 946 943 947 944 if (unavailabilityDescriptionOut) { 948 945 RefPtr<API::String> webUnavailabilityDescription = adoptRef(toImpl(unavailabilityDescriptionOut)); 949 946 unavailabilityDescription = webUnavailabilityDescription->string(); 950 }951 952 if (useBlockedPluginTitleOut) {953 RefPtr<API::String> webUseBlockedPluginTitle = adoptRef(toImpl(useBlockedPluginTitleOut));954 useBlockedPluginTitle = webUseBlockedPluginTitle->string();955 947 } 956 948 -
trunk/Source/WebKit2/UIProcess/API/C/WKPageLoaderClient.h
r162629 r162883 72 72 typedef void (*WKPageWillGoToBackForwardListItemCallback)(WKPageRef page, WKBackForwardListItemRef item, WKTypeRef userData, const void *clientInfo); 73 73 typedef void (*WKPageDidLayoutCallback)(WKPageRef page, WKLayoutMilestones milestones, WKTypeRef userData, const void *clientInfo); 74 typedef WKPluginLoadPolicy (*WKPagePluginLoadPolicyCallback)(WKPageRef page, WKPluginLoadPolicy currentPluginLoadPolicy, WKDictionaryRef pluginInfoDictionary, WKStringRef* unavailabilityDescription, WKStringRef* useBlockedPluginTitle,const void* clientInfo);74 typedef WKPluginLoadPolicy (*WKPagePluginLoadPolicyCallback)(WKPageRef page, WKPluginLoadPolicy currentPluginLoadPolicy, WKDictionaryRef pluginInfoDictionary, WKStringRef* unavailabilityDescription, const void* clientInfo); 75 75 typedef void (*WKPagePluginDidFailCallback)(WKPageRef page, WKErrorCode errorCode, WKDictionaryRef pluginInfoDictionary, const void* clientInfo); 76 76 typedef WKWebGLLoadPolicy (*WKPageWebGLLoadPolicyCallback)(WKPageRef page, WKStringRef url, const void* clientInfo); … … 80 80 typedef void (*WKPagePluginDidFailCallback_deprecatedForUseWithV1)(WKPageRef page, WKErrorCode errorCode, WKStringRef mimeType, WKStringRef pluginIdentifier, WKStringRef pluginVersion, const void* clientInfo); 81 81 typedef WKPluginLoadPolicy (*WKPagePluginLoadPolicyCallback_deprecatedForUseWithV2)(WKPageRef page, WKPluginLoadPolicy currentPluginLoadPolicy, WKDictionaryRef pluginInfoDictionary, const void* clientInfo); 82 typedef WKPluginLoadPolicy (*WKPagePluginLoadPolicyCallback_deprecatedForUseWithV3)(WKPageRef page, WKPluginLoadPolicy currentPluginLoadPolicy, WKDictionaryRef pluginInfoDictionary, WKStringRef* unavailabilityDescription, const void* clientInfo);83 82 84 83 typedef struct WKPageLoaderClientBase { … … 273 272 274 273 // Version 3. 275 WKPagePluginLoadPolicyCallback _deprecatedForUseWithV3 pluginLoadPolicy_deprecatedForUseWithV3;274 WKPagePluginLoadPolicyCallback pluginLoadPolicy; 276 275 } WKPageLoaderClientV3; 277 276 … … 329 328 330 329 // Version 3. 331 WKPagePluginLoadPolicyCallback _deprecatedForUseWithV3 pluginLoadPolicy_deprecatedForUseWithV3;332 333 // Version 4 .330 WKPagePluginLoadPolicyCallback pluginLoadPolicy; 331 332 // Version 4 334 333 WKPageWebGLLoadPolicyCallback webGLLoadPolicy; 335 WKPagePluginLoadPolicyCallback pluginLoadPolicy;336 334 } WKPageLoaderClientV4; 337 335 -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r162721 r162883 1339 1339 1340 1340 #if ENABLE(NETSCAPE_PLUGIN_API) 1341 void WebPageProxy::findPlugin(const String& mimeType, uint32_t processType, const String& urlString, const String& frameURLString, const String& pageURLString, bool allowOnlyApplicationPlugins, uint64_t& pluginProcessToken, String& newMimeType, uint32_t& pluginLoadPolicy, String& unavailabilityDescription , String& useBlockedPluginTitle)1341 void WebPageProxy::findPlugin(const String& mimeType, uint32_t processType, const String& urlString, const String& frameURLString, const String& pageURLString, bool allowOnlyApplicationPlugins, uint64_t& pluginProcessToken, String& newMimeType, uint32_t& pluginLoadPolicy, String& unavailabilityDescription) 1342 1342 { 1343 1343 MESSAGE_CHECK_URL(urlString); … … 1357 1357 #if PLATFORM(MAC) 1358 1358 RefPtr<ImmutableDictionary> pluginInformation = createPluginInformationDictionary(plugin, frameURLString, String(), pageURLString, String(), String()); 1359 pluginLoadPolicy = m_loaderClient->pluginLoadPolicy(this, static_cast<PluginModuleLoadPolicy>(pluginLoadPolicy), pluginInformation.get(), unavailabilityDescription , useBlockedPluginTitle);1359 pluginLoadPolicy = m_loaderClient->pluginLoadPolicy(this, static_cast<PluginModuleLoadPolicy>(pluginLoadPolicy), pluginInformation.get(), unavailabilityDescription); 1360 1360 #else 1361 1361 UNUSED_PARAM(frameURLString); 1362 1362 UNUSED_PARAM(pageURLString); 1363 1363 UNUSED_PARAM(unavailabilityDescription); 1364 UNUSED_PARAM(useBlockedPluginTitle);1365 1364 #endif 1366 1365 -
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
r162853 r162883 1166 1166 1167 1167 #if ENABLE(NETSCAPE_PLUGIN_API) 1168 void findPlugin(const String& mimeType, uint32_t processType, const String& urlString, const String& frameURLString, const String& pageURLString, bool allowOnlyApplicationPlugins, uint64_t& pluginProcessToken, String& newMIMEType, uint32_t& pluginLoadPolicy, String& unavailabilityDescription , String& useBlockedPluginTitle);1168 void findPlugin(const String& mimeType, uint32_t processType, const String& urlString, const String& frameURLString, const String& pageURLString, bool allowOnlyApplicationPlugins, uint64_t& pluginProcessToken, String& newMIMEType, uint32_t& pluginLoadPolicy, String& unavailabilityDescription); 1169 1169 #endif 1170 1170 -
trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in
r162653 r162883 335 335 336 336 #if ENABLE(NETSCAPE_PLUGIN_API) 337 FindPlugin(String mimeType, uint32_t processType, String urlString, String frameURLString, String pageURLString, bool allowOnlyApplicationPlugins) -> (uint64_t pluginProcessToken, String newMIMEType, uint32_t pluginLoadPolicy, String unavailabilityDescription , String useBlockedPluginTitle)337 FindPlugin(String mimeType, uint32_t processType, String urlString, String frameURLString, String pageURLString, bool allowOnlyApplicationPlugins) -> (uint64_t pluginProcessToken, String newMIMEType, uint32_t pluginLoadPolicy, String unavailabilityDescription) 338 338 #endif 339 339 -
trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.h
r162663 r162883 47 47 OBJC_CLASS PDFLayerController; 48 48 OBJC_CLASS PDFSelection; 49 OBJC_CLASS WKPDFPluginAccessibilityObject; 49 50 OBJC_CLASS WKPDFLayerControllerDelegate; 50 OBJC_CLASS WKPDFPluginAccessibilityObject;51 OBJC_CLASS WKPDFPluginContextMenuTarget;52 51 53 52 namespace IPC { … … 90 89 void saveToPDF(); 91 90 void openWithNativeApplication(); 92 void openWithPlugin();93 91 void writeItemsToPasteboard(NSString *pasteboardName, NSArray *items, NSArray *types); 94 92 void showDefinitionForAttributedString(NSAttributedString *, CGPoint); … … 105 103 106 104 bool showContextMenuAtPoint(const WebCore::IntPoint&); 107 108 void setUsedInPlaceOfBlockedPlugin(bool value, const String& useBlockedPluginContextMenuTitle);109 105 110 106 private: … … 262 258 bool m_isPostScript; 263 259 bool m_pdfDocumentWasMutated; 264 bool m_usedInPlaceOfBlockedPlugin;265 266 String m_useBlockedPluginContextMenuTitle;267 260 268 261 WebCore::IntSize m_scrollOffset; … … 275 268 RetainPtr<PDFLayerController> m_pdfLayerController; 276 269 RetainPtr<WKPDFPluginAccessibilityObject> m_accessibilityObject; 277 RetainPtr<WKPDFPluginContextMenuTarget> m_contextMenuTarget; 278 270 279 271 RefPtr<PDFPluginAnnotation> m_activeAnnotation; 280 272 RefPtr<PDFPluginPasswordField> m_passwordField; -
trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm
r162629 r162883 56 56 #import <WebCore/ArchiveResource.h> 57 57 #import <WebCore/Chrome.h> 58 #import <WebCore/ChromeClient.h>59 58 #import <WebCore/Cursor.h> 60 59 #import <WebCore/DocumentLoader.h> … … 67 66 #import <WebCore/HTMLElement.h> 68 67 #import <WebCore/HTMLFormElement.h> 69 #import <WebCore/HTMLPlugInElement.h>70 68 #import <WebCore/LocalizedStrings.h> 71 69 #import <WebCore/MouseEvent.h> … … 272 270 @end 273 271 274 @interface WKPDFPluginContextMenuTarget : NSObject275 {276 WebKit::PDFPlugin* _pdfPlugin;277 }278 279 @property(assign) WebKit::PDFPlugin* pdfPlugin;280 281 - (id)initWithPDFPlugin:(WebKit::PDFPlugin *)plugin;282 283 @end284 285 @implementation WKPDFPluginContextMenuTarget286 287 @synthesize pdfPlugin = _pdfPlugin;288 289 - (id)initWithPDFPlugin:(WebKit::PDFPlugin *)plugin290 {291 if (!(self = [super init]))292 return nil;293 294 _pdfPlugin = plugin;295 296 return self;297 }298 299 - (void)useBlockedPlugin:(id)sender300 {301 _pdfPlugin->openWithPlugin();302 }303 304 @end305 272 306 273 @interface WKPDFPluginScrollbarLayer : CALayer … … 533 500 , m_isPostScript(false) 534 501 , m_pdfDocumentWasMutated(false) 535 , m_usedInPlaceOfBlockedPlugin(false)536 502 , m_containerLayer(adoptNS([[CALayer alloc] init])) 537 503 , m_contentLayer(adoptNS([[CALayer alloc] init])) 538 504 , m_scrollCornerLayer(adoptNS([[WKPDFPluginScrollbarLayer alloc] initWithPDFPlugin:this])) 539 505 , m_pdfLayerController(adoptNS([[pdfLayerControllerClass() alloc] init])) 540 , m_contextMenuTarget(adoptNS([[WKPDFPluginContextMenuTarget alloc] initWithPDFPlugin:this]))541 506 , m_pdfLayerControllerDelegate(adoptNS([[WKPDFLayerControllerDelegate alloc] initWithPDFPlugin:this])) 542 507 { … … 1493 1458 1494 1459 if (NSMenu *nsMenu = [m_pdfLayerController menuForEvent:nsEventForWebMouseEvent(event)]) { 1495 if (m_usedInPlaceOfBlockedPlugin) {1496 String title = useBlockedPlugInContextMenuTitle();1497 1498 if (!m_useBlockedPluginContextMenuTitle.isEmpty())1499 title = m_useBlockedPluginContextMenuTitle;1500 1501 NSMenuItem *useBlockedPluginItem = [[[NSMenuItem alloc] initWithTitle:title action:@selector(useBlockedPlugin:) keyEquivalent:@""] autorelease];1502 1503 [useBlockedPluginItem setTarget:m_contextMenuTarget.get()];1504 [nsMenu insertItem:useBlockedPluginItem atIndex:0];1505 [nsMenu insertItem:[NSMenuItem separatorItem] atIndex:1];1506 }1507 1460 WKPopupContextMenu(nsMenu, point); 1508 1461 return true; … … 1689 1642 1690 1643 webFrame()->page()->send(Messages::WebPageProxy::OpenPDFFromTemporaryFolderWithNativeApplication(m_temporaryPDFUUID)); 1691 }1692 1693 void PDFPlugin::openWithPlugin()1694 {1695 webFrame()->page()->corePage()->chrome().client().unavailablePluginButtonClicked(pluginView()->pluginElement(), RenderEmbeddedObject::InsecurePluginVersion);1696 1644 } 1697 1645 … … 1936 1884 } 1937 1885 1938 1939 void PDFPlugin::setUsedInPlaceOfBlockedPlugin(bool value, const String& useBlockedPluginContextMenuTitle)1940 {1941 m_usedInPlaceOfBlockedPlugin = value;1942 m_useBlockedPluginContextMenuTitle = useBlockedPluginContextMenuTitle;1943 }1944 1945 1886 } // namespace WebKit 1946 1887 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r162853 r162883 575 575 uint32_t pluginLoadPolicy; 576 576 String unavailabilityDescription; 577 String useBlockedPluginTitle; 578 if (!sendSync(Messages::WebPageProxy::FindPlugin(parameters.mimeType, static_cast<uint32_t>(processType), parameters.url.string(), frameURLString, pageURLString, allowOnlyApplicationPlugins), Messages::WebPageProxy::FindPlugin::Reply(pluginProcessToken, newMIMEType, pluginLoadPolicy, unavailabilityDescription, useBlockedPluginTitle))) 577 if (!sendSync(Messages::WebPageProxy::FindPlugin(parameters.mimeType, static_cast<uint32_t>(processType), parameters.url.string(), frameURLString, pageURLString, allowOnlyApplicationPlugins), Messages::WebPageProxy::FindPlugin::Reply(pluginProcessToken, newMIMEType, pluginLoadPolicy, unavailabilityDescription))) 579 578 return nullptr; 580 579 … … 586 585 if (shouldUsePDFPlugin() && (MIMETypeRegistry::isPDFOrPostScriptMIMEType(parameters.mimeType) || (parameters.mimeType.isEmpty() && (path.endsWith(".pdf", false) || path.endsWith(".ps", false))))) { 587 586 RefPtr<PDFPlugin> pdfPlugin = PDFPlugin::create(frame); 588 pdfPlugin->setUsedInPlaceOfBlockedPlugin(isBlockedPlugin, useBlockedPluginTitle);589 587 return pdfPlugin.release(); 590 588 } … … 3756 3754 String newMIMEType; 3757 3755 String unavailabilityDescription; 3758 String useBlockedPluginTitle; 3759 if (!sendSync(Messages::WebPageProxy::FindPlugin(response.mimeType(), PluginProcessTypeNormal, response.url().string(), response.url().string(), response.url().string(), allowOnlyApplicationPlugins), Messages::WebPageProxy::FindPlugin::Reply(pluginProcessToken, newMIMEType, pluginLoadPolicy, unavailabilityDescription, useBlockedPluginTitle))) 3756 if (!sendSync(Messages::WebPageProxy::FindPlugin(response.mimeType(), PluginProcessTypeNormal, response.url().string(), response.url().string(), response.url().string(), allowOnlyApplicationPlugins), Messages::WebPageProxy::FindPlugin::Reply(pluginProcessToken, newMIMEType, pluginLoadPolicy, unavailabilityDescription))) 3760 3757 return false; 3761 3758 -
trunk/Tools/ChangeLog
r162881 r162883 1 2014-01-27 Tim Horton <timothy_horton@apple.com> 2 3 Revert the parts of r162629 that add a new pluginLoadPolicy and the context menu item. 4 5 We're leaving the parts that make us use PDFPlugin instead of showing the blocked 6 plugin indicator intact, though. 7 8 * WebKitTestRunner/TestController.cpp: 9 (WTR::TestController::createWebViewWithOptions): 10 1 11 2014-01-27 Andy Estes <aestes@apple.com> 2 12 -
trunk/Tools/WebKitTestRunner/TestController.cpp
r162729 r162883 460 460 0, // pluginLoadPolicy_deprecatedForUseWithV2 461 461 0, // pluginDidFail 462 0, // pluginLoadPolicy _deprecatedForUseWithV3462 0, // pluginLoadPolicy 463 463 0, // webGLLoadPolicy 464 pluginLoadPolicy, // pluginLoadPolicy465 464 }; 466 465 WKPageSetPageLoaderClient(m_mainWebView->page(), &pageLoaderClient.base);
Note: See TracChangeset
for help on using the changeset viewer.