Changeset 73968 in webkit


Ignore:
Timestamp:
Dec 13, 2010 3:01:44 PM (13 years ago)
Author:
andersca@apple.com
Message:

Pass the complex text input state all the way to the UI process
https://bugs.webkit.org/show_bug.cgi?id=50980

Reviewed by Darin Adler.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::setComplexTextInputEnabled):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setComplexTextInputEnabled):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:

(WebKit::NetscapePlugin::pluginComplexTextInputIdentifier):

  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::pluginComplexTextInputIdentifier):
(WebKit::PluginProxy::setComplexTextInputEnabled):

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginProxy.messages.in:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setComplexTextInputEnabled):

Location:
trunk/WebKit2
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r73965 r73968  
     12010-12-13  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        Pass the complex text input state all the way to the UI process
     6        https://bugs.webkit.org/show_bug.cgi?id=50980
     7
     8        * PluginProcess/PluginControllerProxy.cpp:
     9        (WebKit::PluginControllerProxy::setComplexTextInputEnabled):
     10        * UIProcess/WebPageProxy.cpp:
     11        (WebKit::WebPageProxy::setComplexTextInputEnabled):
     12        * UIProcess/WebPageProxy.h:
     13        * UIProcess/WebPageProxy.messages.in:
     14        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
     15        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
     16        (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier):
     17        * WebProcess/Plugins/Plugin.h:
     18        * WebProcess/Plugins/PluginProxy.cpp:
     19        (WebKit::PluginProxy::pluginComplexTextInputIdentifier):
     20        (WebKit::PluginProxy::setComplexTextInputEnabled):
     21        * WebProcess/Plugins/PluginProxy.h:
     22        * WebProcess/Plugins/PluginProxy.messages.in:
     23        * WebProcess/Plugins/PluginView.cpp:
     24        (WebKit::PluginView::setComplexTextInputEnabled):
     25
    1262010-12-13  Sam Weinig  <sam@webkit.org>
    227
  • trunk/WebKit2/PluginProcess/PluginControllerProxy.cpp

    r73956 r73968  
    242242
    243243    m_isComplexTextInputEnabled = complexTextInputEnabled;
    244     // FIXME: Let the web process know that this plug-in wants complex text input enabled.
     244
     245    m_connection->connection()->send(Messages::PluginProxy::SetComplexTextInputEnabled(complexTextInputEnabled), m_pluginInstanceID);
    245246}
    246247
  • trunk/WebKit2/UIProcess/WebPageProxy.cpp

    r73965 r73968  
    16761676}
    16771677
     1678#if PLATFORM(MAC)
     1679void WebPageProxy::setComplexTextInputEnabled(uint64_t pluginComplexTextInputIdentifier, bool complexTextInputEnabled)
     1680{
     1681    // FIXME: Call the page client.
     1682}
     1683#endif
     1684
    16781685} // namespace WebKit
  • trunk/WebKit2/UIProcess/WebPageProxy.h

    r73965 r73968  
    396396    void didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference& data);
    397397
     398    void setComplexTextInputEnabled(uint64_t pluginComplexTextInputIdentifier, bool complexTextInputEnabled);
     399
    398400    PageClient* m_pageClient;
    399401    WebLoaderClient m_loaderClient;
  • trunk/WebKit2/UIProcess/WebPageProxy.messages.in

    r73796 r73968  
    152152    # Databases
    153153    ExceededDatabaseQuota(uint64_t frameID, WTF::String originIdentifier, WTF::String databaseName, WTF::String databaseDisplayName, uint64_t currentQuota, uint64_t currentUsage, uint64_t expectedUsage) -> (uint64_t newQuota)
     154
     155    # Complex text input support for plug-ins.
     156#if PLATFORM(MAC)
     157    SetComplexTextInputEnabled(uint64_t pluginComplexTextInputIdentifier, bool complexTextInputEnabled)
     158#endif
    154159}
  • trunk/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h

    r73956 r73968  
    162162    virtual void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates);
    163163    virtual void windowVisibilityChanged(bool);
     164
     165    virtual uint64_t pluginComplexTextInputIdentifier() const;
    164166#endif
    165167
  • trunk/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm

    r73956 r73968  
    710710    // FIXME: Implement.
    711711}
    712    
     712
     713uint64_t NetscapePlugin::pluginComplexTextInputIdentifier() const
     714{
     715    // This is never called for NetscapePlugin.
     716    ASSERT_NOT_REACHED();
     717    return 0;
     718}
     719
    713720PlatformLayer* NetscapePlugin::pluginLayer()
    714721{
  • trunk/WebKit2/WebProcess/Plugins/Plugin.h

    r73090 r73968  
    151151    // Tells the plug-in about window visibility changes.
    152152    virtual void windowVisibilityChanged(bool) = 0;
     153
     154    // Get the per complex text input identifier.
     155    virtual uint64_t pluginComplexTextInputIdentifier() const = 0;
    153156#endif
    154157
  • trunk/WebKit2/WebProcess/Plugins/PluginProxy.cpp

    r73195 r73968  
    318318    m_connection->connection()->send(Messages::PluginControllerProxy::WindowVisibilityChanged(isVisible), m_pluginInstanceID);
    319319}
     320
     321uint64_t PluginProxy::pluginComplexTextInputIdentifier() const
     322{
     323    return m_pluginInstanceID;
     324}
     325
    320326#endif
    321327
     
    407413    m_pluginController->setStatusbarText(statusbarText);
    408414}
     415
     416#if PLATFORM(MAC)
     417void PluginProxy::setComplexTextInputEnabled(bool complexTextInputEnabled)
     418{
     419    m_pluginController->setComplexTextInputEnabled(complexTextInputEnabled);
     420}
     421#endif
    409422   
    410423void PluginProxy::update(const IntRect& paintedRect)
  • trunk/WebKit2/WebProcess/Plugins/PluginProxy.h

    r73090 r73968  
    9696    virtual void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates);
    9797    virtual void windowVisibilityChanged(bool);
     98    virtual uint64_t pluginComplexTextInputIdentifier() const;
    9899#endif
    99100
     
    116117    void cancelManualStreamLoad();
    117118    void setStatusbarText(const String& statusbarText);
     119#if PLATFORM(MAC)
     120    void setComplexTextInputEnabled(bool);
     121#endif
    118122
    119123    RefPtr<PluginProcessConnection> m_connection;
  • trunk/WebKit2/WebProcess/Plugins/PluginProxy.messages.in

    r73083 r73968  
    5656    # Set the status bar text.
    5757    SetStatusbarText(WTF::String statusbarText)
     58
     59#if PLATFORM(MAC)
     60    # Change whether complext text input is enabled for this plug-in.
     61    SetComplexTextInputEnabled(bool complexTextInputEnabled)
     62#endif
    5863}
    5964
  • trunk/WebKit2/WebProcess/Plugins/PluginView.cpp

    r73956 r73968  
    3030#include "WebEvent.h"
    3131#include "WebPage.h"
     32#include "WebPageProxyMessages.h"
    3233#include <WebCore/Chrome.h>
    3334#include <WebCore/CookieJar.h>
     
    871872
    872873#if PLATFORM(MAC)
    873 void PluginView::setComplexTextInputEnabled(bool)
    874 {
    875     // This should never be called.
    876     ASSERT_NOT_REACHED();
     874void PluginView::setComplexTextInputEnabled(bool complexTextInputEnabled)
     875{
     876    m_webPage->send(Messages::WebPageProxy::SetComplexTextInputEnabled(m_plugin->pluginComplexTextInputIdentifier(), complexTextInputEnabled));
    877877}
    878878#endif
Note: See TracChangeset for help on using the changeset viewer.