Changeset 74418 in webkit


Ignore:
Timestamp:
Dec 21, 2010 10:29:57 AM (13 years ago)
Author:
andersca@apple.com
Message:

2010-12-21 Anders Carlsson <andersca@apple.com>

Reviewed by John Sullivan.

Clicking missing plug-in text does not show a sheet
https://bugs.webkit.org/show_bug.cgi?id=51403

  • WebCore.exp.in: Export symbols needed by WebKit2.
  • WebCore.xcodeproj/project.pbxproj: Make HTMLPlugInImageElement.h a private header.
  • html/HTMLPlugInImageElement.h: (WebCore::HTMLPlugInImageElement::serviceType): (WebCore::HTMLPlugInImageElement::url): Make these member functions public.

2010-12-21 Anders Carlsson <andersca@apple.com>

Reviewed by John Sullivan.

Clicking missing plug-in text does not show a sheet
https://bugs.webkit.org/show_bug.cgi?id=51403

Update for changes to the WebPageUIClient.

  • MiniBrowser/mac/BrowserWindowController.m: (-[BrowserWindowController awakeFromNib]):
  • WebKitTestRunner/TestController.cpp: (WTR::createOtherPage): (WTR::TestController::initialize):

2010-12-21 Anders Carlsson <andersca@apple.com>

Reviewed by John Sullivan.

Clicking missing plug-in text does not show a sheet
https://bugs.webkit.org/show_bug.cgi?id=51403

  • UIProcess/API/C/WKPage.h: Add missingPluginButtonClicked to WKPageUIClient.
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::missingPluginButtonClicked): Call the WebUIClient member function.
  • UIProcess/WebPageProxy.messages.in: Add MissingPluginButtonClicked message.
  • UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::missingPluginButtonClicked): Call the WKPageUIClient callback.
  • UIProcess/WebUIClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::shouldMissingPluginMessageBeButton): Always return true for now.

(WebKit::WebChromeClient::missingPluginButtonClicked):
Send a MissingPluginButtonClicked message.

Location:
trunk
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r74408 r74418  
     12010-12-21  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by John Sullivan.
     4
     5        Clicking missing plug-in text does not show a sheet
     6        https://bugs.webkit.org/show_bug.cgi?id=51403
     7
     8        Update for changes to the WebPageUIClient.
     9
     10        * MiniBrowser/mac/BrowserWindowController.m:
     11        (-[BrowserWindowController awakeFromNib]):
     12        * WebKitTestRunner/TestController.cpp:
     13        (WTR::createOtherPage):
     14        (WTR::TestController::initialize):
     15
    1162010-12-21  Eric Seidel  <eric@webkit.org>
    217
  • trunk/Tools/MiniBrowser/mac/BrowserWindowController.m

    r74139 r74418  
    622622        setStatusText,
    623623        mouseDidMoveOverElement,
     624        0,          /* missingPluginButtonClicked */
    624625        0,          /* didNotHandleKeyEvent */
    625626        0,          /* toolbarsAreVisible */
  • trunk/Tools/WebKitTestRunner/TestController.cpp

    r74139 r74418  
    123123        0, // setStatusText
    124124        0, // mouseDidMoveOverElement
     125        0, // missingPluginButtonClicked
    125126        0, // didNotHandleKeyEvent
    126127        0, // toolbarsAreVisible
     
    226227        0, // setStatusText
    227228        0, // mouseDidMoveOverElement
     229        0, // missingPluginButtonClicked
    228230        0, // didNotHandleKeyEvent
    229231        0, // toolbarsAreVisible
  • trunk/WebCore/ChangeLog

    r74416 r74418  
     12010-12-21  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by John Sullivan.
     4
     5        Clicking missing plug-in text does not show a sheet
     6        https://bugs.webkit.org/show_bug.cgi?id=51403
     7
     8        * WebCore.exp.in:
     9        Export symbols needed by WebKit2.
     10
     11        * WebCore.xcodeproj/project.pbxproj:
     12        Make HTMLPlugInImageElement.h a private header.
     13
     14        * html/HTMLPlugInImageElement.h:
     15        (WebCore::HTMLPlugInImageElement::serviceType):
     16        (WebCore::HTMLPlugInImageElement::url):
     17        Make these member functions public.
     18
    1192010-12-21  Andras Becsi  <abecsi@webkit.org>
    220
  • trunk/WebCore/WebCore.exp.in

    r74202 r74418  
    894894__ZN7WebCore9HTMLNames7formTagE
    895895__ZN7WebCore9HTMLNames7srcAttrE
     896__ZN7WebCore9HTMLNames8embedTagE
    896897__ZN7WebCore9HTMLNames8frameTagE
    897898__ZN7WebCore9HTMLNames8hrefAttrE
     
    899900__ZN7WebCore9HTMLNames8videoTagE
    900901__ZN7WebCore9HTMLNames9iframeTagE
     902__ZN7WebCore9HTMLNames9objectTagE
    901903__ZN7WebCore9HTMLNames9scriptTagE
    902904__ZN7WebCore9JSElement6s_infoE
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r74375 r74418  
    971971                41F1D2200EF35C2A00DA8753 /* ScriptCachedFrameData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41F1D21E0EF35C2A00DA8753 /* ScriptCachedFrameData.cpp */; };
    972972                41F584C7104652CB009CAA64 /* JSMessagePortCustom.h in Headers */ = {isa = PBXBuildFile; fileRef = 41F584C6104652CB009CAA64 /* JSMessagePortCustom.h */; };
    973                 4415292E0E1AE8A000C4A2D0 /* HTMLPlugInImageElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 4415292C0E1AE8A000C4A2D0 /* HTMLPlugInImageElement.h */; };
     973                4415292E0E1AE8A000C4A2D0 /* HTMLPlugInImageElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 4415292C0E1AE8A000C4A2D0 /* HTMLPlugInImageElement.h */; settings = {ATTRIBUTES = (Private, ); }; };
    974974                4415292F0E1AE8A000C4A2D0 /* HTMLPlugInImageElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4415292D0E1AE8A000C4A2D0 /* HTMLPlugInImageElement.cpp */; };
    975975                441B055C0CD77A2D007C1F18 /* DOMHTMLEmbedElementPrivate.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 4429AAFB0CB84E88007647C5 /* DOMHTMLEmbedElementPrivate.h */; };
  • trunk/WebCore/html/HTMLPlugInImageElement.h

    r67182 r74418  
    3737    virtual void updateWidget(bool onlyCreateNonNetscapePlugins) = 0;
    3838
     39    const String& serviceType() const { return m_serviceType; }
     40    const String& url() const { return m_url; }
     41
    3942protected:
    4043    HTMLPlugInImageElement(const QualifiedName& tagName, Document*, bool createdByParser);
    4144
    4245    bool isImageType();
    43 
    44     const String& serviceType() const { return m_serviceType; }
    45     const String& url() const { return m_url; }
    4646
    4747    OwnPtr<HTMLImageLoader> m_imageLoader;
  • trunk/WebKit2/ChangeLog

    r74407 r74418  
     12010-12-21  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by John Sullivan.
     4
     5        Clicking missing plug-in text does not show a sheet
     6        https://bugs.webkit.org/show_bug.cgi?id=51403
     7
     8        * UIProcess/API/C/WKPage.h:
     9        Add missingPluginButtonClicked to WKPageUIClient.
     10
     11        * UIProcess/WebPageProxy.cpp:       
     12        (WebKit::WebPageProxy::missingPluginButtonClicked):
     13        Call the WebUIClient member function.
     14
     15        * UIProcess/WebPageProxy.messages.in:
     16        Add MissingPluginButtonClicked message.
     17
     18        * UIProcess/WebUIClient.cpp:
     19        (WebKit::WebUIClient::missingPluginButtonClicked):
     20        Call the WKPageUIClient callback.
     21
     22        * UIProcess/WebUIClient.h:
     23        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
     24        (WebKit::WebChromeClient::shouldMissingPluginMessageBeButton):
     25        Always return true for now.
     26
     27        (WebKit::WebChromeClient::missingPluginButtonClicked):
     28        Send a MissingPluginButtonClicked message.
     29
    1302010-12-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
    231
  • trunk/WebKit2/UIProcess/API/C/WKPage.h

    r74384 r74418  
    160160typedef void (*WKPageSetStatusTextCallback)(WKPageRef page, WKStringRef text, const void *clientInfo);
    161161typedef void (*WKPageMouseDidMoveOverElementCallback)(WKPageRef page, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo);
     162typedef void (*WKPageMissingPluginButtonClickedCallback)(WKPageRef page, WKStringRef mimeType, WKStringRef url, const void* clientInfo);
    162163typedef void (*WKPageDidNotHandleKeyEventCallback)(WKPageRef page, WKNativeEventPtr event, const void *clientInfo);
    163164typedef bool (*WKPageGetToolbarsAreVisibleCallback)(WKPageRef page, const void *clientInfo);
     
    188189    WKPageSetStatusTextCallback                                         setStatusText;
    189190    WKPageMouseDidMoveOverElementCallback                               mouseDidMoveOverElement;
     191    WKPageMissingPluginButtonClickedCallback                            missingPluginButtonClicked;
    190192    WKPageDidNotHandleKeyEventCallback                                  didNotHandleKeyEvent;
    191193    WKPageGetToolbarsAreVisibleCallback                                 toolbarsAreVisible;
  • trunk/WebKit2/UIProcess/API/qt/qwkpage.cpp

    r74327 r74418  
    342342        0,  /* setStatusText */
    343343        0,  /* mouseDidMoveOverElement */
     344        0,  /* missingPluginButtonClicked */
    344345        0,  /* didNotHandleKeyEvent */
    345346        0,  /* toolbarsAreVisible */
  • trunk/WebKit2/UIProcess/WebPageProxy.cpp

    r74384 r74418  
    12641264void WebPageProxy::mouseDidMoveOverElement(uint32_t opaqueModifiers, CoreIPC::ArgumentDecoder* arguments)
    12651265{
    1266 
    12671266    RefPtr<APIObject> userData;
    12681267    WebContextUserMessageDecoder messageDecoder(userData, context());
     
    12731272
    12741273    m_uiClient.mouseDidMoveOverElement(this, modifiers, userData.get());
     1274}
     1275
     1276void WebPageProxy::missingPluginButtonClicked(const String& mimeType, const String& url)
     1277{
     1278    m_uiClient.missingPluginButtonClicked(this, mimeType, url);
    12751279}
    12761280
  • trunk/WebKit2/UIProcess/WebPageProxy.h

    r74384 r74418  
    358358    void setStatusText(const String&);
    359359    void mouseDidMoveOverElement(uint32_t modifiers, CoreIPC::ArgumentDecoder*);
     360    void missingPluginButtonClicked(const String& mimeType, const String& url);
    360361    void setToolbarsAreVisible(bool toolbarsAreVisible);
    361362    void getToolbarsAreVisible(bool& toolbarsAreVisible);
  • trunk/WebKit2/UIProcess/WebPageProxy.messages.in

    r74384 r74418  
    3030    RunJavaScriptPrompt(uint64_t frameID, WTF::String message, WTF::String defaultValue) -> (WTF::String result)
    3131    MouseDidMoveOverElement(uint32_t modifiers, WebKit::InjectedBundleUserMessageEncoder userData);
     32    MissingPluginButtonClicked(WTF::String mimeType, WTF::String url)
    3233    DidChangeViewportData(WebCore::ViewportArguments arguments)
    3334    DidReceiveEvent(uint32_t type, bool handled)
  • trunk/WebKit2/UIProcess/WebUIClient.cpp

    r74139 r74418  
    131131}
    132132
     133void WebUIClient::missingPluginButtonClicked(WebPageProxy* page, const String& mimeType, const String& url)
     134{
     135    if (!m_client.missingPluginButtonClicked)
     136        return;
     137
     138    m_client.missingPluginButtonClicked(toAPI(page), toAPI(mimeType.impl()), toAPI(url.impl()), m_client.clientInfo);
     139}
     140
    133141void WebUIClient::didNotHandleKeyEvent(WebPageProxy* page, const NativeWebKeyboardEvent& event)
    134142{
  • trunk/WebKit2/UIProcess/WebUIClient.h

    r74139 r74418  
    6161    void setStatusText(WebPageProxy*, const String&);
    6262    void mouseDidMoveOverElement(WebPageProxy*, WebEvent::Modifiers, APIObject*);
    63 
     63    void missingPluginButtonClicked(WebPageProxy*, const String& mimeType, const String& url);
    6464    void didNotHandleKeyEvent(WebPageProxy*, const NativeWebKeyboardEvent&);
    6565
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp

    r74139 r74418  
    5050#include <WebCore/Frame.h>
    5151#include <WebCore/FrameLoader.h>
     52#include <WebCore/HTMLNames.h>
     53#include <WebCore/HTMLPlugInImageElement.h>
    5254#include <WebCore/Page.h>
    5355#include <WebCore/SecurityOrigin.h>
    5456
    5557using namespace WebCore;
     58using namespace HTMLNames;
    5659
    5760namespace WebKit {
     
    388391{
    389392    notImplemented();
     393}
     394
     395bool WebChromeClient::shouldMissingPluginMessageBeButton() const
     396{
     397    // FIXME: <rdar://problem/8794397> We should only return true when there is a
     398    // missingPluginButtonClicked callback defined on the Page UI client.
     399    return true;
     400}
     401   
     402void WebChromeClient::missingPluginButtonClicked(Element* element) const
     403{
     404    ASSERT(element->hasTagName(objectTag) || element->hasTagName(embedTag));
     405
     406    HTMLPlugInImageElement* pluginElement = static_cast<HTMLPlugInImageElement*>(element);
     407
     408    m_page->send(Messages::WebPageProxy::MissingPluginButtonClicked(pluginElement->serviceType(), pluginElement->url()));
    390409}
    391410
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h

    r71541 r74418  
    118118    // End methods used by HostWindow.
    119119
     120    virtual bool shouldMissingPluginMessageBeButton() const;
     121    virtual void missingPluginButtonClicked(WebCore::Element*) const;
     122
    120123    virtual void scrollbarsModeDidChange() const;
    121124    virtual void mouseDidMoveOverElement(const WebCore::HitTestResult&, unsigned modifierFlags);
Note: See TracChangeset for help on using the changeset viewer.