Changeset 163480 in webkit


Ignore:
Timestamp:
Feb 5, 2014 3:40:26 PM (10 years ago)
Author:
andersca@apple.com
Message:

Get rid of WebUIClient
https://bugs.webkit.org/show_bug.cgi?id=128274

Reviewed by Andreas Kling.

  • UIProcess/API/APIUIClient.h: Added.

(API::UIClient::~UIClient):
(API::UIClient::createNewPage):
(API::UIClient::showPage):
(API::UIClient::close):
(API::UIClient::takeFocus):
(API::UIClient::focus):
(API::UIClient::unfocus):
(API::UIClient::runJavaScriptAlert):
(API::UIClient::runJavaScriptConfirm):
(API::UIClient::runJavaScriptPrompt):
(API::UIClient::setStatusText):
(API::UIClient::mouseDidMoveOverElement):
(API::UIClient::unavailablePluginButtonClicked):
(API::UIClient::implementsDidNotHandleKeyEvent):
(API::UIClient::didNotHandleKeyEvent):
(API::UIClient::implementsDidNotHandleWheelEvent):
(API::UIClient::didNotHandleWheelEvent):
(API::UIClient::toolbarsAreVisible):
(API::UIClient::setToolbarsAreVisible):
(API::UIClient::menuBarIsVisible):
(API::UIClient::setMenuBarIsVisible):
(API::UIClient::statusBarIsVisible):
(API::UIClient::setStatusBarIsVisible):
(API::UIClient::isResizable):
(API::UIClient::setIsResizable):
(API::UIClient::setWindowFrame):
(API::UIClient::windowFrame):
(API::UIClient::canRunBeforeUnloadConfirmPanel):
(API::UIClient::runBeforeUnloadConfirmPanel):
(API::UIClient::didDraw):
(API::UIClient::pageDidScroll):
(API::UIClient::exceededDatabaseQuota):
(API::UIClient::runOpenPanel):
(API::UIClient::decidePolicyForGeolocationPermissionRequest):
(API::UIClient::decidePolicyForNotificationPermissionRequest):
(API::UIClient::headerHeight):
(API::UIClient::footerHeight):
(API::UIClient::drawHeader):
(API::UIClient::drawFooter):
(API::UIClient::printFrame):
(API::UIClient::canRunModal):
(API::UIClient::runModal):
(API::UIClient::saveDataToFileInDownloadsFolder):
(API::UIClient::shouldInterruptJavaScript):
(API::UIClient::showColorPicker):
(API::UIClient::hideColorPicker):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setUIClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::showPage):
(WebKit::WebPageProxy::closePage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
(WebKit::WebPageProxy::shouldInterruptJavaScript):
(WebKit::WebPageProxy::setStatusText):
(WebKit::WebPageProxy::mouseDidMoveOverElement):
(WebKit::WebPageProxy::unavailablePluginButtonClicked):
(WebKit::WebPageProxy::setToolbarsAreVisible):
(WebKit::WebPageProxy::getToolbarsAreVisible):
(WebKit::WebPageProxy::setMenuBarIsVisible):
(WebKit::WebPageProxy::getMenuBarIsVisible):
(WebKit::WebPageProxy::setStatusBarIsVisible):
(WebKit::WebPageProxy::getStatusBarIsVisible):
(WebKit::WebPageProxy::setIsResizable):
(WebKit::WebPageProxy::getIsResizable):
(WebKit::WebPageProxy::setWindowFrame):
(WebKit::WebPageProxy::getWindowFrame):
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::runOpenPanel):
(WebKit::WebPageProxy::printFrame):
(WebKit::WebPageProxy::didDraw):
(WebKit::WebPageProxy::setFocus):
(WebKit::WebPageProxy::takeFocus):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
(WebKit::WebPageProxy::requestNotificationPermission):
(WebKit::WebPageProxy::headerHeight):
(WebKit::WebPageProxy::footerHeight):
(WebKit::WebPageProxy::drawHeader):
(WebKit::WebPageProxy::drawFooter):
(WebKit::WebPageProxy::runModal):
(WebKit::WebPageProxy::setCanRunModal):
(WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebUIClient.cpp: Removed.
  • UIProcess/WebUIClient.h: Removed.
  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::windowAndViewFramesChanged):

  • WebKit2.xcodeproj/project.pbxproj:
Location:
trunk/Source/WebKit2
Files:
1 added
2 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r163476 r163480  
     12014-02-05  Anders Carlsson  <andersca@apple.com>
     2
     3        Get rid of WebUIClient
     4        https://bugs.webkit.org/show_bug.cgi?id=128274
     5
     6        Reviewed by Andreas Kling.
     7
     8        * UIProcess/API/APIUIClient.h: Added.
     9        (API::UIClient::~UIClient):
     10        (API::UIClient::createNewPage):
     11        (API::UIClient::showPage):
     12        (API::UIClient::close):
     13        (API::UIClient::takeFocus):
     14        (API::UIClient::focus):
     15        (API::UIClient::unfocus):
     16        (API::UIClient::runJavaScriptAlert):
     17        (API::UIClient::runJavaScriptConfirm):
     18        (API::UIClient::runJavaScriptPrompt):
     19        (API::UIClient::setStatusText):
     20        (API::UIClient::mouseDidMoveOverElement):
     21        (API::UIClient::unavailablePluginButtonClicked):
     22        (API::UIClient::implementsDidNotHandleKeyEvent):
     23        (API::UIClient::didNotHandleKeyEvent):
     24        (API::UIClient::implementsDidNotHandleWheelEvent):
     25        (API::UIClient::didNotHandleWheelEvent):
     26        (API::UIClient::toolbarsAreVisible):
     27        (API::UIClient::setToolbarsAreVisible):
     28        (API::UIClient::menuBarIsVisible):
     29        (API::UIClient::setMenuBarIsVisible):
     30        (API::UIClient::statusBarIsVisible):
     31        (API::UIClient::setStatusBarIsVisible):
     32        (API::UIClient::isResizable):
     33        (API::UIClient::setIsResizable):
     34        (API::UIClient::setWindowFrame):
     35        (API::UIClient::windowFrame):
     36        (API::UIClient::canRunBeforeUnloadConfirmPanel):
     37        (API::UIClient::runBeforeUnloadConfirmPanel):
     38        (API::UIClient::didDraw):
     39        (API::UIClient::pageDidScroll):
     40        (API::UIClient::exceededDatabaseQuota):
     41        (API::UIClient::runOpenPanel):
     42        (API::UIClient::decidePolicyForGeolocationPermissionRequest):
     43        (API::UIClient::decidePolicyForNotificationPermissionRequest):
     44        (API::UIClient::headerHeight):
     45        (API::UIClient::footerHeight):
     46        (API::UIClient::drawHeader):
     47        (API::UIClient::drawFooter):
     48        (API::UIClient::printFrame):
     49        (API::UIClient::canRunModal):
     50        (API::UIClient::runModal):
     51        (API::UIClient::saveDataToFileInDownloadsFolder):
     52        (API::UIClient::shouldInterruptJavaScript):
     53        (API::UIClient::showColorPicker):
     54        (API::UIClient::hideColorPicker):
     55        * UIProcess/API/C/WKPage.cpp:
     56        (WKPageSetPageUIClient):
     57        * UIProcess/WebPageProxy.cpp:
     58        (WebKit::WebPageProxy::WebPageProxy):
     59        (WebKit::WebPageProxy::setUIClient):
     60        (WebKit::WebPageProxy::close):
     61        (WebKit::WebPageProxy::createNewPage):
     62        (WebKit::WebPageProxy::showPage):
     63        (WebKit::WebPageProxy::closePage):
     64        (WebKit::WebPageProxy::runJavaScriptAlert):
     65        (WebKit::WebPageProxy::runJavaScriptConfirm):
     66        (WebKit::WebPageProxy::runJavaScriptPrompt):
     67        (WebKit::WebPageProxy::shouldInterruptJavaScript):
     68        (WebKit::WebPageProxy::setStatusText):
     69        (WebKit::WebPageProxy::mouseDidMoveOverElement):
     70        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
     71        (WebKit::WebPageProxy::setToolbarsAreVisible):
     72        (WebKit::WebPageProxy::getToolbarsAreVisible):
     73        (WebKit::WebPageProxy::setMenuBarIsVisible):
     74        (WebKit::WebPageProxy::getMenuBarIsVisible):
     75        (WebKit::WebPageProxy::setStatusBarIsVisible):
     76        (WebKit::WebPageProxy::getStatusBarIsVisible):
     77        (WebKit::WebPageProxy::setIsResizable):
     78        (WebKit::WebPageProxy::getIsResizable):
     79        (WebKit::WebPageProxy::setWindowFrame):
     80        (WebKit::WebPageProxy::getWindowFrame):
     81        (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
     82        (WebKit::WebPageProxy::pageDidScroll):
     83        (WebKit::WebPageProxy::runOpenPanel):
     84        (WebKit::WebPageProxy::printFrame):
     85        (WebKit::WebPageProxy::didDraw):
     86        (WebKit::WebPageProxy::setFocus):
     87        (WebKit::WebPageProxy::takeFocus):
     88        (WebKit::WebPageProxy::didReceiveEvent):
     89        (WebKit::WebPageProxy::creationParameters):
     90        (WebKit::WebPageProxy::exceededDatabaseQuota):
     91        (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
     92        (WebKit::WebPageProxy::requestNotificationPermission):
     93        (WebKit::WebPageProxy::headerHeight):
     94        (WebKit::WebPageProxy::footerHeight):
     95        (WebKit::WebPageProxy::drawHeader):
     96        (WebKit::WebPageProxy::drawFooter):
     97        (WebKit::WebPageProxy::runModal):
     98        (WebKit::WebPageProxy::setCanRunModal):
     99        (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
     100        * UIProcess/WebPageProxy.h:
     101        * UIProcess/WebUIClient.cpp: Removed.
     102        * UIProcess/WebUIClient.h: Removed.
     103        * UIProcess/mac/WebInspectorProxyMac.mm:
     104        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
     105        * UIProcess/mac/WebPageProxyMac.mm:
     106        (WebKit::WebPageProxy::windowAndViewFramesChanged):
     107        * WebKit2.xcodeproj/project.pbxproj:
     108
    11092014-02-05  Enrica Casucci  <enrica@apple.com>
    2110
  • trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp

    r163243 r163480  
    3232#include "APILoaderClient.h"
    3333#include "APIPolicyClient.h"
     34#include "APIUIClient.h"
    3435#include "ImmutableDictionary.h"
     36#include "NativeWebKeyboardEvent.h"
     37#include "NativeWebWheelEvent.h"
    3538#include "NavigationActionData.h"
    3639#include "PluginInformation.h"
     
    4447#include "WebProcessProxy.h"
    4548#include <WebCore/Page.h>
     49#include <WebCore/WindowFeatures.h>
    4650
    4751#ifdef __BLOCKS__
     
    6468    typedef std::tuple<WKPagePolicyClientV0, WKPagePolicyClientV1, WKPagePolicyClientInternal> Versions;
    6569};
     70
     71template<> struct ClientTraits<WKPageUIClientBase> {
     72    typedef std::tuple<WKPageUIClientV0, WKPageUIClientV1, WKPageUIClientV2> Versions;
     73};
     74
    6675}
    6776
     
    10541063void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient)
    10551064{
    1056     toImpl(pageRef)->initializeUIClient(wkClient);
     1065    class UIClient : public API::Client<WKPageUIClientBase>, public API::UIClient {
     1066    public:
     1067        explicit UIClient(const WKPageUIClientBase* client)
     1068        {
     1069            initialize(client);
     1070        }
     1071
     1072    private:
     1073        virtual PassRefPtr<WebPageProxy> createNewPage(WebPageProxy* page, const ResourceRequest& resourceRequest, const WindowFeatures& windowFeatures, WebEvent::Modifiers modifiers, WebMouseEvent::Button button) override
     1074        {
     1075            if (!m_client.base.version && !m_client.createNewPage_deprecatedForUseWithV0)
     1076                return 0;
     1077
     1078            if (m_client.base.version > 0 && !m_client.createNewPage)
     1079                return 0;
     1080
     1081            ImmutableDictionary::MapType map;
     1082            if (windowFeatures.xSet)
     1083                map.set("x", API::Double::create(windowFeatures.x));
     1084            if (windowFeatures.ySet)
     1085                map.set("y", API::Double::create(windowFeatures.y));
     1086            if (windowFeatures.widthSet)
     1087                map.set("width", API::Double::create(windowFeatures.width));
     1088            if (windowFeatures.heightSet)
     1089                map.set("height", API::Double::create(windowFeatures.height));
     1090            map.set("menuBarVisible", API::Boolean::create(windowFeatures.menuBarVisible));
     1091            map.set("statusBarVisible", API::Boolean::create(windowFeatures.statusBarVisible));
     1092            map.set("toolBarVisible", API::Boolean::create(windowFeatures.toolBarVisible));
     1093            map.set("locationBarVisible", API::Boolean::create(windowFeatures.locationBarVisible));
     1094            map.set("scrollbarsVisible", API::Boolean::create(windowFeatures.scrollbarsVisible));
     1095            map.set("resizable", API::Boolean::create(windowFeatures.resizable));
     1096            map.set("fullscreen", API::Boolean::create(windowFeatures.fullscreen));
     1097            map.set("dialog", API::Boolean::create(windowFeatures.dialog));
     1098            RefPtr<ImmutableDictionary> featuresMap = ImmutableDictionary::create(std::move(map));
     1099
     1100            if (!m_client.base.version)
     1101                return adoptRef(toImpl(m_client.createNewPage_deprecatedForUseWithV0(toAPI(page), toAPI(featuresMap.get()), toAPI(modifiers), toAPI(button), m_client.base.clientInfo)));
     1102
     1103            RefPtr<API::URLRequest> request = API::URLRequest::create(resourceRequest);
     1104            return adoptRef(toImpl(m_client.createNewPage(toAPI(page), toAPI(request.get()), toAPI(featuresMap.get()), toAPI(modifiers), toAPI(button), m_client.base.clientInfo)));
     1105        }
     1106
     1107        virtual void showPage(WebPageProxy* page) override
     1108        {
     1109            if (!m_client.showPage)
     1110                return;
     1111
     1112            m_client.showPage(toAPI(page), m_client.base.clientInfo);
     1113        }
     1114
     1115        virtual void close(WebPageProxy* page) override
     1116        {
     1117            if (!m_client.close)
     1118                return;
     1119
     1120            m_client.close(toAPI(page), m_client.base.clientInfo);
     1121        }
     1122
     1123        virtual void takeFocus(WebPageProxy* page, WKFocusDirection direction) override
     1124        {
     1125            if (!m_client.takeFocus)
     1126                return;
     1127
     1128            m_client.takeFocus(toAPI(page), direction, m_client.base.clientInfo);
     1129        }
     1130
     1131        virtual void focus(WebPageProxy* page) override
     1132        {
     1133            if (!m_client.focus)
     1134                return;
     1135
     1136            m_client.focus(toAPI(page), m_client.base.clientInfo);
     1137        }
     1138
     1139        virtual void unfocus(WebPageProxy* page) override
     1140        {
     1141            if (!m_client.unfocus)
     1142                return;
     1143
     1144            m_client.unfocus(toAPI(page), m_client.base.clientInfo);
     1145        }
     1146
     1147        virtual void runJavaScriptAlert(WebPageProxy* page, const String& message, WebFrameProxy* frame) override
     1148        {
     1149            if (!m_client.runJavaScriptAlert)
     1150                return;
     1151
     1152            m_client.runJavaScriptAlert(toAPI(page), toAPI(message.impl()), toAPI(frame), m_client.base.clientInfo);
     1153        }
     1154
     1155        virtual bool runJavaScriptConfirm(WebPageProxy* page, const String& message, WebFrameProxy* frame) override
     1156        {
     1157            if (!m_client.runJavaScriptConfirm)
     1158                return false;
     1159
     1160            return m_client.runJavaScriptConfirm(toAPI(page), toAPI(message.impl()), toAPI(frame), m_client.base.clientInfo);
     1161        }
     1162
     1163        virtual String runJavaScriptPrompt(WebPageProxy* page, const String& message, const String& defaultValue, WebFrameProxy* frame) override
     1164        {
     1165            if (!m_client.runJavaScriptPrompt)
     1166                return String();
     1167
     1168            API::String* string = toImpl(m_client.runJavaScriptPrompt(toAPI(page), toAPI(message.impl()), toAPI(defaultValue.impl()), toAPI(frame), m_client.base.clientInfo));
     1169            if (!string)
     1170                return String();
     1171
     1172            String result = string->string();
     1173            string->deref();
     1174
     1175            return result;
     1176        }
     1177
     1178        virtual void setStatusText(WebPageProxy* page, const String& text) override
     1179        {
     1180            if (!m_client.setStatusText)
     1181                return;
     1182
     1183            m_client.setStatusText(toAPI(page), toAPI(text.impl()), m_client.base.clientInfo);
     1184        }
     1185
     1186        virtual void mouseDidMoveOverElement(WebPageProxy* page, const WebHitTestResult::Data& data, WebEvent::Modifiers modifiers, API::Object* userData) override
     1187        {
     1188            if (!m_client.mouseDidMoveOverElement && !m_client.mouseDidMoveOverElement_deprecatedForUseWithV0)
     1189                return;
     1190
     1191            if (m_client.base.version > 0 && !m_client.mouseDidMoveOverElement)
     1192                return;
     1193
     1194            if (!m_client.base.version) {
     1195                m_client.mouseDidMoveOverElement_deprecatedForUseWithV0(toAPI(page), toAPI(modifiers), toAPI(userData), m_client.base.clientInfo);
     1196                return;
     1197            }
     1198
     1199            RefPtr<WebHitTestResult> webHitTestResult = WebHitTestResult::create(data);
     1200            m_client.mouseDidMoveOverElement(toAPI(page), toAPI(webHitTestResult.get()), toAPI(modifiers), toAPI(userData), m_client.base.clientInfo);
     1201        }
     1202
     1203#if ENABLE(NETSCAPE_PLUGIN_API)
     1204        virtual void unavailablePluginButtonClicked(WebPageProxy* page, WKPluginUnavailabilityReason pluginUnavailabilityReason, ImmutableDictionary* pluginInformation) override
     1205        {
     1206            if (pluginUnavailabilityReason == kWKPluginUnavailabilityReasonPluginMissing) {
     1207                if (m_client.missingPluginButtonClicked_deprecatedForUseWithV0)
     1208                    m_client.missingPluginButtonClicked_deprecatedForUseWithV0(
     1209                        toAPI(page),
     1210                        toAPI(pluginInformation->get<API::String>(pluginInformationMIMETypeKey())),
     1211                        toAPI(pluginInformation->get<API::String>(pluginInformationPluginURLKey())),
     1212                        toAPI(pluginInformation->get<API::String>(pluginInformationPluginspageAttributeURLKey())),
     1213                        m_client.base.clientInfo);
     1214            }
     1215
     1216            if (m_client.unavailablePluginButtonClicked_deprecatedForUseWithV1)
     1217                m_client.unavailablePluginButtonClicked_deprecatedForUseWithV1(
     1218                    toAPI(page),
     1219                    pluginUnavailabilityReason,
     1220                    toAPI(pluginInformation->get<API::String>(pluginInformationMIMETypeKey())),
     1221                    toAPI(pluginInformation->get<API::String>(pluginInformationPluginURLKey())),
     1222                    toAPI(pluginInformation->get<API::String>(pluginInformationPluginspageAttributeURLKey())),
     1223                    m_client.base.clientInfo);
     1224
     1225            if (m_client.unavailablePluginButtonClicked)
     1226                m_client.unavailablePluginButtonClicked(
     1227                    toAPI(page),
     1228                    pluginUnavailabilityReason,
     1229                    toAPI(pluginInformation),
     1230                    m_client.base.clientInfo);
     1231        }
     1232#endif // ENABLE(NETSCAPE_PLUGIN_API)
     1233
     1234        virtual bool implementsDidNotHandleKeyEvent() const override
     1235        {
     1236            return m_client.didNotHandleKeyEvent;
     1237        }
     1238
     1239        virtual void didNotHandleKeyEvent(WebPageProxy* page, const NativeWebKeyboardEvent& event) override
     1240        {
     1241            if (!m_client.didNotHandleKeyEvent)
     1242                return;
     1243            m_client.didNotHandleKeyEvent(toAPI(page), event.nativeEvent(), m_client.base.clientInfo);
     1244        }
     1245
     1246        virtual bool implementsDidNotHandleWheelEvent() const override
     1247        {
     1248            return m_client.didNotHandleWheelEvent;
     1249        }
     1250
     1251        virtual void didNotHandleWheelEvent(WebPageProxy* page, const NativeWebWheelEvent& event) override
     1252        {
     1253            if (!m_client.didNotHandleWheelEvent)
     1254                return;
     1255            m_client.didNotHandleWheelEvent(toAPI(page), event.nativeEvent(), m_client.base.clientInfo);
     1256        }
     1257
     1258        virtual bool toolbarsAreVisible(WebPageProxy* page) override
     1259        {
     1260            if (!m_client.toolbarsAreVisible)
     1261                return true;
     1262            return m_client.toolbarsAreVisible(toAPI(page), m_client.base.clientInfo);
     1263        }
     1264
     1265        virtual void setToolbarsAreVisible(WebPageProxy* page, bool visible) override
     1266        {
     1267            if (!m_client.setToolbarsAreVisible)
     1268                return;
     1269            m_client.setToolbarsAreVisible(toAPI(page), visible, m_client.base.clientInfo);
     1270        }
     1271
     1272        virtual bool menuBarIsVisible(WebPageProxy* page) override
     1273        {
     1274            if (!m_client.menuBarIsVisible)
     1275                return true;
     1276            return m_client.menuBarIsVisible(toAPI(page), m_client.base.clientInfo);
     1277        }
     1278
     1279        virtual void setMenuBarIsVisible(WebPageProxy* page, bool visible) override
     1280        {
     1281            if (!m_client.setMenuBarIsVisible)
     1282                return;
     1283            m_client.setMenuBarIsVisible(toAPI(page), visible, m_client.base.clientInfo);
     1284        }
     1285
     1286        virtual bool statusBarIsVisible(WebPageProxy* page) override
     1287        {
     1288            if (!m_client.statusBarIsVisible)
     1289                return true;
     1290            return m_client.statusBarIsVisible(toAPI(page), m_client.base.clientInfo);
     1291        }
     1292
     1293        virtual void setStatusBarIsVisible(WebPageProxy* page, bool visible) override
     1294        {
     1295            if (!m_client.setStatusBarIsVisible)
     1296                return;
     1297            m_client.setStatusBarIsVisible(toAPI(page), visible, m_client.base.clientInfo);
     1298        }
     1299
     1300        virtual bool isResizable(WebPageProxy* page) override
     1301        {
     1302            if (!m_client.isResizable)
     1303                return true;
     1304            return m_client.isResizable(toAPI(page), m_client.base.clientInfo);
     1305        }
     1306
     1307        virtual void setIsResizable(WebPageProxy* page, bool resizable) override
     1308        {
     1309            if (!m_client.setIsResizable)
     1310                return;
     1311            m_client.setIsResizable(toAPI(page), resizable, m_client.base.clientInfo);
     1312        }
     1313
     1314        virtual void setWindowFrame(WebPageProxy* page, const FloatRect& frame) override
     1315        {
     1316            if (!m_client.setWindowFrame)
     1317                return;
     1318
     1319            m_client.setWindowFrame(toAPI(page), toAPI(frame), m_client.base.clientInfo);
     1320        }
     1321
     1322        virtual FloatRect windowFrame(WebPageProxy* page) override
     1323        {
     1324            if (!m_client.getWindowFrame)
     1325                return FloatRect();
     1326
     1327            return toFloatRect(m_client.getWindowFrame(toAPI(page), m_client.base.clientInfo));
     1328        }
     1329
     1330        virtual bool canRunBeforeUnloadConfirmPanel() const override
     1331        {
     1332            return m_client.runBeforeUnloadConfirmPanel;
     1333        }
     1334
     1335        virtual bool runBeforeUnloadConfirmPanel(WebPageProxy* page, const String& message, WebFrameProxy* frame) override
     1336        {
     1337            if (!m_client.runBeforeUnloadConfirmPanel)
     1338                return true;
     1339
     1340            return m_client.runBeforeUnloadConfirmPanel(toAPI(page), toAPI(message.impl()), toAPI(frame), m_client.base.clientInfo);
     1341        }
     1342
     1343        virtual void didDraw(WebPageProxy* page) override
     1344        {
     1345            if (!m_client.didDraw)
     1346                return;
     1347
     1348            m_client.didDraw(toAPI(page), m_client.base.clientInfo);
     1349        }
     1350
     1351        virtual void pageDidScroll(WebPageProxy* page) override
     1352        {
     1353            if (!m_client.pageDidScroll)
     1354                return;
     1355
     1356            m_client.pageDidScroll(toAPI(page), m_client.base.clientInfo);
     1357        }
     1358
     1359        virtual unsigned long long exceededDatabaseQuota(WebPageProxy* page, WebFrameProxy* frame, WebSecurityOrigin* origin, const String& databaseName, const String& databaseDisplayName, unsigned long long currentQuota, unsigned long long currentOriginUsage, unsigned long long currentDatabaseUsage, unsigned long long expectedUsage) override
     1360        {
     1361            if (!m_client.exceededDatabaseQuota)
     1362                return currentQuota;
     1363
     1364            return m_client.exceededDatabaseQuota(toAPI(page), toAPI(frame), toAPI(origin), toAPI(databaseName.impl()), toAPI(databaseDisplayName.impl()), currentQuota, currentOriginUsage, currentDatabaseUsage, expectedUsage, m_client.base.clientInfo);
     1365        }
     1366
     1367        virtual bool runOpenPanel(WebPageProxy* page, WebFrameProxy* frame, WebOpenPanelParameters* parameters, WebOpenPanelResultListenerProxy* listener) override
     1368        {
     1369            if (!m_client.runOpenPanel)
     1370                return false;
     1371
     1372            m_client.runOpenPanel(toAPI(page), toAPI(frame), toAPI(parameters), toAPI(listener), m_client.base.clientInfo);
     1373            return true;
     1374        }
     1375
     1376        virtual bool decidePolicyForGeolocationPermissionRequest(WebPageProxy* page, WebFrameProxy* frame, WebSecurityOrigin* origin, GeolocationPermissionRequestProxy* permissionRequest) override
     1377        {
     1378            if (!m_client.decidePolicyForGeolocationPermissionRequest)
     1379                return false;
     1380
     1381            m_client.decidePolicyForGeolocationPermissionRequest(toAPI(page), toAPI(frame), toAPI(origin), toAPI(permissionRequest), m_client.base.clientInfo);
     1382            return true;
     1383        }
     1384
     1385        virtual bool decidePolicyForNotificationPermissionRequest(WebPageProxy* page, WebSecurityOrigin* origin, NotificationPermissionRequest* permissionRequest) override
     1386        {
     1387            if (!m_client.decidePolicyForNotificationPermissionRequest)
     1388                return false;
     1389
     1390            m_client.decidePolicyForNotificationPermissionRequest(toAPI(page), toAPI(origin), toAPI(permissionRequest), m_client.base.clientInfo);
     1391            return true;
     1392        }
     1393
     1394        // Printing.
     1395        virtual float headerHeight(WebPageProxy* page, WebFrameProxy* frame) override
     1396        {
     1397            if (!m_client.headerHeight)
     1398                return 0;
     1399
     1400            return m_client.headerHeight(toAPI(page), toAPI(frame), m_client.base.clientInfo);
     1401        }
     1402
     1403        virtual float footerHeight(WebPageProxy* page, WebFrameProxy* frame) override
     1404        {
     1405            if (!m_client.footerHeight)
     1406                return 0;
     1407
     1408            return m_client.footerHeight(toAPI(page), toAPI(frame), m_client.base.clientInfo);
     1409        }
     1410
     1411        virtual void drawHeader(WebPageProxy* page, WebFrameProxy* frame, const WebCore::FloatRect& rect) override
     1412        {
     1413            if (!m_client.drawHeader)
     1414                return;
     1415
     1416            m_client.drawHeader(toAPI(page), toAPI(frame), toAPI(rect), m_client.base.clientInfo);
     1417        }
     1418
     1419        virtual void drawFooter(WebPageProxy* page, WebFrameProxy* frame, const WebCore::FloatRect& rect) override
     1420        {
     1421            if (!m_client.drawFooter)
     1422                return;
     1423
     1424            m_client.drawFooter(toAPI(page), toAPI(frame), toAPI(rect), m_client.base.clientInfo);
     1425        }
     1426
     1427        virtual void printFrame(WebPageProxy* page, WebFrameProxy* frame) override
     1428        {
     1429            if (!m_client.printFrame)
     1430                return;
     1431
     1432            m_client.printFrame(toAPI(page), toAPI(frame), m_client.base.clientInfo);
     1433        }
     1434
     1435        virtual bool canRunModal() const override
     1436        {
     1437            return m_client.runModal;
     1438        }
     1439
     1440        virtual void runModal(WebPageProxy* page) override
     1441        {
     1442            if (!m_client.runModal)
     1443                return;
     1444
     1445            m_client.runModal(toAPI(page), m_client.base.clientInfo);
     1446        }
     1447
     1448        virtual void saveDataToFileInDownloadsFolder(WebPageProxy* page, const String& suggestedFilename, const String& mimeType, const String& originatingURLString, API::Data* data) override
     1449        {
     1450            if (!m_client.saveDataToFileInDownloadsFolder)
     1451                return;
     1452
     1453            m_client.saveDataToFileInDownloadsFolder(toAPI(page), toAPI(suggestedFilename.impl()), toAPI(mimeType.impl()), toURLRef(originatingURLString.impl()), toAPI(data), m_client.base.clientInfo);
     1454        }
     1455
     1456        virtual bool shouldInterruptJavaScript(WebPageProxy* page) override
     1457        {
     1458            if (!m_client.shouldInterruptJavaScript)
     1459                return false;
     1460
     1461            return m_client.shouldInterruptJavaScript(toAPI(page), m_client.base.clientInfo);
     1462        }
     1463
     1464#if ENABLE(INPUT_TYPE_COLOR)
     1465        virtual bool showColorPicker(WebPageProxy* page, const String& initialColor, WebColorPickerResultListenerProxy* listener) override
     1466        {
     1467            if (!m_client.showColorPicker)
     1468                return false;
     1469
     1470            m_client.showColorPicker(toAPI(page), toAPI(initialColor.impl()), toAPI(listener), m_client.base.clientInfo);
     1471            return true;
     1472        }
     1473
     1474        virtual bool hideColorPicker(WebPageProxy* page) override
     1475        {
     1476            if (!m_client.hideColorPicker)
     1477                return false;
     1478
     1479            m_client.hideColorPicker(toAPI(page), m_client.base.clientInfo);
     1480            return true;
     1481        }
     1482#endif
     1483    };
     1484
     1485    toImpl(pageRef)->setUIClient(std::make_unique<UIClient>(wkClient));
    10571486}
    10581487
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r163243 r163480  
    3131#include "APILoaderClient.h"
    3232#include "APIPolicyClient.h"
     33#include "APIUIClient.h"
    3334#include "APIURLRequest.h"
    3435#include "AuthenticationChallengeProxy.h"
     
    7374#include "WebInspectorProxyMessages.h"
    7475#include "WebNotificationManagerProxy.h"
     76#include "WebOpenPanelParameters.h"
    7577#include "WebOpenPanelResultListenerProxy.h"
    7678#include "WebPageCreationParameters.h"
     
    249251    , m_loaderClient(std::make_unique<API::LoaderClient>())
    250252    , m_policyClient(std::make_unique<API::PolicyClient>())
     253    , m_uiClient(std::make_unique<API::UIClient>())
    251254    , m_process(process)
    252255    , m_pageGroup(pageGroup)
     
    435438}
    436439
    437 void WebPageProxy::initializeUIClient(const WKPageUIClientBase* client)
    438 {
    439     if (!isValid())
    440         return;
    441 
    442     m_uiClient.initialize(client);
    443 
    444     m_process->send(Messages::WebPage::SetCanRunBeforeUnloadConfirmPanel(m_uiClient.canRunBeforeUnloadConfirmPanel()), m_pageID);
    445     setCanRunModal(m_uiClient.canRunModal());
     440void WebPageProxy::setUIClient(std::unique_ptr<API::UIClient> uiClient)
     441{
     442    if (!uiClient) {
     443        m_uiClient = std::make_unique<API::UIClient>();
     444        return;
     445    }
     446
     447    m_uiClient = std::move(uiClient);
     448
     449    if (!isValid())
     450        return;
     451
     452    m_process->send(Messages::WebPage::SetCanRunBeforeUnloadConfirmPanel(m_uiClient->canRunBeforeUnloadConfirmPanel()), m_pageID);
     453    setCanRunModal(m_uiClient->canRunModal());
    446454}
    447455
     
    568576    m_policyClient = nullptr;
    569577    m_formClient.initialize(0);
    570     m_uiClient.initialize(0);
     578    m_uiClient = nullptr;
    571579#if PLATFORM(EFL)
    572580    m_uiPopupMenuClient.initialize(0);
     
    25572565void WebPageProxy::createNewPage(const ResourceRequest& request, const WindowFeatures& windowFeatures, uint32_t opaqueModifiers, int32_t opaqueMouseButton, uint64_t& newPageID, WebPageCreationParameters& newPageParameters)
    25582566{
    2559     RefPtr<WebPageProxy> newPage = m_uiClient.createNewPage(this, request, windowFeatures, static_cast<WebEvent::Modifiers>(opaqueModifiers), static_cast<WebMouseEvent::Button>(opaqueMouseButton));
     2567    RefPtr<WebPageProxy> newPage = m_uiClient->createNewPage(this, request, windowFeatures, static_cast<WebEvent::Modifiers>(opaqueModifiers), static_cast<WebMouseEvent::Button>(opaqueMouseButton));
    25602568    if (!newPage) {
    25612569        newPageID = 0;
     
    25702578void WebPageProxy::showPage()
    25712579{
    2572     m_uiClient.showPage(this);
     2580    m_uiClient->showPage(this);
    25732581}
    25742582
     
    25792587
    25802588    m_pageClient.clearAllEditCommands();
    2581     m_uiClient.close(this);
     2589    m_uiClient->close(this);
    25822590}
    25832591
     
    25902598    m_process->responsivenessTimer()->stop();
    25912599
    2592     m_uiClient.runJavaScriptAlert(this, message, frame);
     2600    m_uiClient->runJavaScriptAlert(this, message, frame);
    25932601}
    25942602
     
    26012609    m_process->responsivenessTimer()->stop();
    26022610
    2603     result = m_uiClient.runJavaScriptConfirm(this, message, frame);
     2611    result = m_uiClient->runJavaScriptConfirm(this, message, frame);
    26042612}
    26052613
     
    26122620    m_process->responsivenessTimer()->stop();
    26132621
    2614     result = m_uiClient.runJavaScriptPrompt(this, message, defaultValue, frame);
     2622    result = m_uiClient->runJavaScriptPrompt(this, message, defaultValue, frame);
    26152623}
    26162624
     
    26202628    m_process->responsivenessTimer()->stop();
    26212629
    2622     result = m_uiClient.shouldInterruptJavaScript(this);
     2630    result = m_uiClient->shouldInterruptJavaScript(this);
    26232631}
    26242632
    26252633void WebPageProxy::setStatusText(const String& text)
    26262634{
    2627     m_uiClient.setStatusText(this, text);
     2635    m_uiClient->setStatusText(this, text);
    26282636}
    26292637
     
    26372645    WebEvent::Modifiers modifiers = static_cast<WebEvent::Modifiers>(opaqueModifiers);
    26382646
    2639     m_uiClient.mouseDidMoveOverElement(this, hitTestResultData, modifiers, userData.get());
     2647    m_uiClient->mouseDidMoveOverElement(this, hitTestResultData, modifiers, userData.get());
    26402648}
    26412649
     
    26822690    }
    26832691
    2684     m_uiClient.unavailablePluginButtonClicked(this, pluginUnavailabilityReason, pluginInformation.get());
     2692    m_uiClient->unavailablePluginButtonClicked(this, pluginUnavailabilityReason, pluginInformation.get());
    26852693}
    26862694#endif // ENABLE(NETSCAPE_PLUGIN_API)
     
    26952703void WebPageProxy::setToolbarsAreVisible(bool toolbarsAreVisible)
    26962704{
    2697     m_uiClient.setToolbarsAreVisible(this, toolbarsAreVisible);
     2705    m_uiClient->setToolbarsAreVisible(this, toolbarsAreVisible);
    26982706}
    26992707
    27002708void WebPageProxy::getToolbarsAreVisible(bool& toolbarsAreVisible)
    27012709{
    2702     toolbarsAreVisible = m_uiClient.toolbarsAreVisible(this);
     2710    toolbarsAreVisible = m_uiClient->toolbarsAreVisible(this);
    27032711}
    27042712
    27052713void WebPageProxy::setMenuBarIsVisible(bool menuBarIsVisible)
    27062714{
    2707     m_uiClient.setMenuBarIsVisible(this, menuBarIsVisible);
     2715    m_uiClient->setMenuBarIsVisible(this, menuBarIsVisible);
    27082716}
    27092717
    27102718void WebPageProxy::getMenuBarIsVisible(bool& menuBarIsVisible)
    27112719{
    2712     menuBarIsVisible = m_uiClient.menuBarIsVisible(this);
     2720    menuBarIsVisible = m_uiClient->menuBarIsVisible(this);
    27132721}
    27142722
    27152723void WebPageProxy::setStatusBarIsVisible(bool statusBarIsVisible)
    27162724{
    2717     m_uiClient.setStatusBarIsVisible(this, statusBarIsVisible);
     2725    m_uiClient->setStatusBarIsVisible(this, statusBarIsVisible);
    27182726}
    27192727
    27202728void WebPageProxy::getStatusBarIsVisible(bool& statusBarIsVisible)
    27212729{
    2722     statusBarIsVisible = m_uiClient.statusBarIsVisible(this);
     2730    statusBarIsVisible = m_uiClient->statusBarIsVisible(this);
    27232731}
    27242732
    27252733void WebPageProxy::setIsResizable(bool isResizable)
    27262734{
    2727     m_uiClient.setIsResizable(this, isResizable);
     2735    m_uiClient->setIsResizable(this, isResizable);
    27282736}
    27292737
    27302738void WebPageProxy::getIsResizable(bool& isResizable)
    27312739{
    2732     isResizable = m_uiClient.isResizable(this);
     2740    isResizable = m_uiClient->isResizable(this);
    27332741}
    27342742
    27352743void WebPageProxy::setWindowFrame(const FloatRect& newWindowFrame)
    27362744{
    2737     m_uiClient.setWindowFrame(this, m_pageClient.convertToDeviceSpace(newWindowFrame));
     2745    m_uiClient->setWindowFrame(this, m_pageClient.convertToDeviceSpace(newWindowFrame));
    27382746}
    27392747
    27402748void WebPageProxy::getWindowFrame(FloatRect& newWindowFrame)
    27412749{
    2742     newWindowFrame = m_pageClient.convertToUserSpace(m_uiClient.windowFrame(this));
     2750    newWindowFrame = m_pageClient.convertToUserSpace(m_uiClient->windowFrame(this));
    27432751}
    27442752   
     
    27612769    m_process->responsivenessTimer()->stop();
    27622770
    2763     shouldClose = m_uiClient.runBeforeUnloadConfirmPanel(this, message, frame);
     2771    shouldClose = m_uiClient->runBeforeUnloadConfirmPanel(this, message, frame);
    27642772}
    27652773
     
    27892797void WebPageProxy::pageDidScroll()
    27902798{
    2791     m_uiClient.pageDidScroll(this);
     2799    m_uiClient->pageDidScroll(this);
    27922800#if !PLATFORM(IOS) && PLATFORM(MAC)
    27932801    dismissCorrectionPanel(ReasonForDismissingAlternativeTextIgnored);
     
    28112819    m_process->responsivenessTimer()->stop();
    28122820
    2813     if (!m_uiClient.runOpenPanel(this, frame, parameters.get(), m_openPanelResultListener.get()))
     2821    if (!m_uiClient->runOpenPanel(this, frame, parameters.get(), m_openPanelResultListener.get()))
    28142822        didCancelForOpenPanel();
    28152823}
     
    28232831    MESSAGE_CHECK(frame);
    28242832
    2825     m_uiClient.printFrame(this, frame);
     2833    m_uiClient->printFrame(this, frame);
    28262834
    28272835    endPrinting(); // Send a message synchronously while m_isPerformingDOMPrintOperation is still true.
     
    29322940void WebPageProxy::didDraw()
    29332941{
    2934     m_uiClient.didDraw(this);
     2942    m_uiClient->didDraw(this);
    29352943}
    29362944
     
    34553463{
    34563464    if (focused)
    3457         m_uiClient.focus(this);
     3465        m_uiClient->focus(this);
    34583466    else
    3459         m_uiClient.unfocus(this);
     3467        m_uiClient->unfocus(this);
    34603468}
    34613469
    34623470void WebPageProxy::takeFocus(uint32_t direction)
    34633471{
    3464     m_uiClient.takeFocus(this, (static_cast<FocusDirection>(direction) == FocusDirectionForward) ? kWKFocusDirectionForward : kWKFocusDirectionBackward);
     3472    m_uiClient->takeFocus(this, (static_cast<FocusDirection>(direction) == FocusDirectionForward) ? kWKFocusDirectionForward : kWKFocusDirectionBackward);
    34653473}
    34663474
     
    35343542        // FIXME: Dispatch additional events to the didNotHandleWheelEvent client function.
    35353543        if (!handled) {
    3536             if (m_uiClient.implementsDidNotHandleWheelEvent())
    3537                 m_uiClient.didNotHandleWheelEvent(this, oldestCoalescedEvent->last());
     3544            if (m_uiClient->implementsDidNotHandleWheelEvent())
     3545                m_uiClient->didNotHandleWheelEvent(this, oldestCoalescedEvent->last());
    35383546#if PLATFORM(MAC)
    35393547            m_pageClient.wheelEventWasNotHandledByWebCore(oldestCoalescedEvent->last());
     
    35643572            break;
    35653573
    3566         if (m_uiClient.implementsDidNotHandleKeyEvent())
    3567             m_uiClient.didNotHandleKeyEvent(this, event);
     3574        if (m_uiClient->implementsDidNotHandleKeyEvent())
     3575            m_uiClient->didNotHandleKeyEvent(this, event);
    35683576        break;
    35693577    }
     
    39093917    parameters.sessionState = SessionState(m_backForwardList->entries(), m_backForwardList->currentIndex());
    39103918    parameters.highestUsedBackForwardItemID = WebBackForwardListItem::highedUsedItemID();
    3911     parameters.canRunBeforeUnloadConfirmPanel = m_uiClient.canRunBeforeUnloadConfirmPanel();
     3919    parameters.canRunBeforeUnloadConfirmPanel = m_uiClient->canRunBeforeUnloadConfirmPanel();
    39123920    parameters.canRunModal = m_canRunModal;
    39133921    parameters.deviceScaleFactor = deviceScaleFactor();
     
    39913999        RefPtr<WebSecurityOrigin> origin = WebSecurityOrigin::createFromDatabaseIdentifier(record->originIdentifier);
    39924000
    3993         uint64_t newQuota = m_uiClient.exceededDatabaseQuota(this, frame, origin.get(),
     4001        uint64_t newQuota = m_uiClient->exceededDatabaseQuota(this, frame, origin.get(),
    39944002            record->databaseName, record->displayName, record->currentQuota,
    39954003            record->currentOriginUsage, record->currentDatabaseUsage, record->expectedUsage);
     
    40094017    RefPtr<GeolocationPermissionRequestProxy> request = m_geolocationPermissionRequestManager.createRequest(geolocationID);
    40104018
    4011     if (m_uiClient.decidePolicyForGeolocationPermissionRequest(this, frame, origin.get(), request.get()))
     4019    if (m_uiClient->decidePolicyForGeolocationPermissionRequest(this, frame, origin.get(), request.get()))
    40124020        return;
    40134021
     
    40264034    RefPtr<NotificationPermissionRequest> request = m_notificationPermissionRequestManager.createRequest(requestID);
    40274035   
    4028     if (!m_uiClient.decidePolicyForNotificationPermissionRequest(this, origin.get(), request.get()))
     4036    if (!m_uiClient->decidePolicyForNotificationPermissionRequest(this, origin.get(), request.get()))
    40294037        request->deny();
    40304038}
     
    40544062    if (frame->isDisplayingPDFDocument())
    40554063        return 0;
    4056     return m_uiClient.headerHeight(this, frame);
     4064    return m_uiClient->headerHeight(this, frame);
    40574065}
    40584066
     
    40614069    if (frame->isDisplayingPDFDocument())
    40624070        return 0;
    4063     return m_uiClient.footerHeight(this, frame);
     4071    return m_uiClient->footerHeight(this, frame);
    40644072}
    40654073
     
    40684076    if (frame->isDisplayingPDFDocument())
    40694077        return;
    4070     m_uiClient.drawHeader(this, frame, rect);
     4078    m_uiClient->drawHeader(this, frame, rect);
    40714079}
    40724080
     
    40754083    if (frame->isDisplayingPDFDocument())
    40764084        return;
    4077     m_uiClient.drawFooter(this, frame, rect);
     4085    m_uiClient->drawFooter(this, frame, rect);
    40784086}
    40794087
     
    40894097    m_process->connection()->wakeUpRunLoop();
    40904098
    4091     m_uiClient.runModal(this);
     4099    m_uiClient->runModal(this);
    40924100}
    40934101
     
    41694177    // already qualifies for running modal child web pages, otherwise
    41704178    // there's no other possibility than not allowing it.
    4171     m_canRunModal = m_uiClient.canRunModal() && canRunModal;
     4179    m_canRunModal = m_uiClient->canRunModal() && canRunModal;
    41724180    m_process->send(Messages::WebPage::SetCanRunModal(m_canRunModal), m_pageID);
    41734181}
     
    42684276void WebPageProxy::saveDataToFileInDownloadsFolder(const String& suggestedFilename, const String& mimeType, const String& originatingURLString, API::Data* data)
    42694277{
    4270     m_uiClient.saveDataToFileInDownloadsFolder(this, suggestedFilename, mimeType, originatingURLString, data);
     4278    m_uiClient->saveDataToFileInDownloadsFolder(this, suggestedFilename, mimeType, originatingURLString, data);
    42714279}
    42724280
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r163255 r163480  
    5858#include "WebPageProxyMessages.h"
    5959#include "WebPopupMenuProxy.h"
    60 #include "WebUIClient.h"
    6160#include <WebCore/Color.h>
    6261#include <WebCore/DragActions.h>
     
    101100class LoaderClient;
    102101class PolicyClient;
     102class UIClient;
    103103class URLRequest;
    104104}
     
    370370    void setLoaderClient(std::unique_ptr<API::LoaderClient>);
    371371    void setPolicyClient(std::unique_ptr<API::PolicyClient>);
    372     void initializeUIClient(const WKPageUIClientBase*);
     372    void setUIClient(std::unique_ptr<API::UIClient>);
    373373#if PLATFORM(EFL)
    374374    void initializeUIPopupMenuClient(const WKPageUIPopupMenuClientBase*);
     
    11771177    std::unique_ptr<API::PolicyClient> m_policyClient;
    11781178    WebFormClient m_formClient;
    1179     WebUIClient m_uiClient;
     1179    std::unique_ptr<API::UIClient> m_uiClient;
    11801180#if PLATFORM(EFL)
    11811181    WebUIPopupMenuClient m_uiPopupMenuClient;
  • trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm

    r162505 r163480  
    450450    };
    451451
    452     inspectorPage->initializeUIClient(reinterpret_cast<const WKPageUIClientBase*>(&uiClient));
     452    WKPageSetPageUIClient(toAPI(inspectorPage), &uiClient.base);
    453453
    454454    return inspectorPage;
  • trunk/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm

    r163043 r163480  
    2727#import "WebPageProxy.h"
    2828
     29#import "APIUIClient.h"
    2930#import "AttributedString.h"
    3031#import "ColorSpaceData.h"
     
    134135
    135136    // In case the UI client overrides getWindowFrame(), we call it here to make sure we send the appropriate window frame.
    136     FloatRect windowFrameInScreenCoordinates = m_uiClient.windowFrame(this);
     137    FloatRect windowFrameInScreenCoordinates = m_uiClient->windowFrame(this);
    137138    FloatRect windowFrameInUnflippedScreenCoordinates = m_pageClient.convertToUserSpace(windowFrameInScreenCoordinates);
    138139
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r163425 r163480  
    178178                1A4A9C9A12B821CD008FE984 /* NetscapePluginModuleMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A4A9C9912B821CD008FE984 /* NetscapePluginModuleMac.mm */; };
    179179                1A4A9F3312B844E2008FE984 /* PluginQuirks.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A4A9F3112B844E2008FE984 /* PluginQuirks.h */; };
     180                1A4D664818A2D91A00D82E21 /* APIUIClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A4D664718A2D91A00D82E21 /* APIUIClient.h */; };
    180181                1A50DB66110A3D57000D3FE5 /* WebProcess.app in Copy Files */ = {isa = PBXBuildFile; fileRef = 1A50DB1E110A3BDC000D3FE5 /* WebProcess.app */; };
    181                 1A594ABA112A1FB6009DE7C7 /* WebUIClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A594AB8112A1FB6009DE7C7 /* WebUIClient.cpp */; };
    182                 1A594ABB112A1FB6009DE7C7 /* WebUIClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A594AB9112A1FB6009DE7C7 /* WebUIClient.h */; };
    183182                1A5B1C501898606F004FCF9B /* WKNavigation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A5B1C4E1898606F004FCF9B /* WKNavigation.mm */; };
    184183                1A5B1C511898606F004FCF9B /* WKNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A5B1C4F1898606F004FCF9B /* WKNavigation.h */; settings = {ATTRIBUTES = (Public, ); }; };
     
    18231822                1A4A9C9912B821CD008FE984 /* NetscapePluginModuleMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetscapePluginModuleMac.mm; sourceTree = "<group>"; };
    18241823                1A4A9F3112B844E2008FE984 /* PluginQuirks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginQuirks.h; sourceTree = "<group>"; };
     1824                1A4D664718A2D91A00D82E21 /* APIUIClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIUIClient.h; sourceTree = "<group>"; };
    18251825                1A4F976A100E7B6600637A18 /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
    18261826                1A4F976B100E7B6600637A18 /* DebugRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
     
    18281828                1A4F976E100E7B6600637A18 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = "<group>"; };
    18291829                1A50DB1E110A3BDC000D3FE5 /* WebProcess.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WebProcess.app; sourceTree = BUILT_PRODUCTS_DIR; };
    1830                 1A594AB8112A1FB6009DE7C7 /* WebUIClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebUIClient.cpp; sourceTree = "<group>"; };
    1831                 1A594AB9112A1FB6009DE7C7 /* WebUIClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebUIClient.h; sourceTree = "<group>"; };
    18321830                1A5B1C4E1898606F004FCF9B /* WKNavigation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKNavigation.mm; sourceTree = "<group>"; };
    18331831                1A5B1C4F1898606F004FCF9B /* WKNavigation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNavigation.h; sourceTree = "<group>"; };
     
    50735071                                33367633130C99B2006C9DE2 /* WebResourceCacheManagerProxy.h */,
    50745072                                33367634130C99B2006C9DE2 /* WebResourceCacheManagerProxy.messages.in */,
    5075                                 1A594AB8112A1FB6009DE7C7 /* WebUIClient.cpp */,
    5076                                 1A594AB9112A1FB6009DE7C7 /* WebUIClient.h */,
    50775073                        );
    50785074                        path = UIProcess;
     
    50915087                                1A2464F21891E45100234C5B /* APILoaderClient.h */,
    50925088                                1AFDD3141891B54000153970 /* APIPolicyClient.h */,
     5089                                1A4D664718A2D91A00D82E21 /* APIUIClient.h */,
    50935090                        );
    50945091                        path = API;
     
    65396536                                0F174AA3142A4CB70039250F /* APIGeometry.h in Headers */,
    65406537                                BCF69F871176CD6F00471A52 /* WebHistoryClient.h in Headers */,
     6538                                1A4D664818A2D91A00D82E21 /* APIUIClient.h in Headers */,
    65416539                                7801C09A142290C400FAF9AF /* WebHitTestResult.h in Headers */,
    65426540                                511B24AB132E097200065A0C /* WebIconDatabase.h in Headers */,
     
    66306628                                F634445612A885C8000612D8 /* WebSecurityOrigin.h in Headers */,
    66316629                                BCC5715B115ADAEF001CCAF9 /* WebSystemInterface.h in Headers */,
    6632                                 1A594ABB112A1FB6009DE7C7 /* WebUIClient.h in Headers */,
    66336630                                BCA0EF7F12331E78007D3CFB /* WebUndoStep.h in Headers */,
    66346631                                1AC1336C18565C7A00F3EC05 /* APIPageHandle.h in Headers */,
     
    80398036                                BCC5715C115ADAEF001CCAF9 /* WebSystemInterface.mm in Sources */,
    80408037                                C0337DD8127A51B6008FF4F4 /* WebTouchEvent.cpp in Sources */,
    8041                                 1A594ABA112A1FB6009DE7C7 /* WebUIClient.cpp in Sources */,
    80428038                                BCA0EF8012331E78007D3CFB /* WebUndoStep.cpp in Sources */,
    80438039                                2DA944AF1884E9BA00ED86DB /* WebPageProxyIOS.mm in Sources */,
Note: See TracChangeset for help on using the changeset viewer.