⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 194074 in webkit


Ignore:
Timestamp:
Dec 14, 2015, 4:35:10 PM (11 years ago)
Author:
matthew_hanson@apple.com
Message:

Merge r188228. rdar://problem/23816165

Location:
branches/safari-601-branch/Source/WebKit2
Files:
26 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-601-branch/Source/WebKit2/CMakeLists.txt

    r186484 r194074  
    394394    UIProcess/API/APINavigation.cpp
    395395    UIProcess/API/APINavigationData.cpp
     396    UIProcess/API/APIPageConfiguration.cpp
    396397    UIProcess/API/APIProcessPoolConfiguration.cpp
    397398    UIProcess/API/APISession.cpp
  • branches/safari-601-branch/Source/WebKit2/ChangeLog

    r193961 r194074  
     12015-12-08  Harris Papadopoulos  <cpapadopoulos@apple.com>
     2
     3        Merge r188228. rdar://problem/23816165
     4
     5    2015-08-08  Sam Weinig  <sam@webkit.org>
     6
     7            Replace WebPageConfiguration with API::PageConfiguration and expose a C-SPI accessor for it
     8            https://bugs.webkit.org/show_bug.cgi?id=147811
     9
     10            Reviewed by Darin Adler.
     11
     12            - Adds the missing pieces from WebPageConfiguration into API::PageConfiguration.
     13            - Adds C-SPI to set and get the WebsiteDataStore on the WKPageConfigurationRef.
     14            - Uses API::PageConfiguration to pass configuration information from WKWebView/WKView
     15              to WebPageProxy.
     16            - Stores the API::PageConfiguration on the WebPageProxy and exposes a new C-SPI function,
     17              WKPageCopyPageConfiguration, to get a copy of it.
     18
     19            * UIProcess/API/APIPageConfiguration.cpp:
     20            (API::PageConfiguration::create):
     21            (API::PageConfiguration::PageConfiguration):
     22            (API::PageConfiguration::~PageConfiguration):
     23            (API::PageConfiguration::copy):
     24            (API::PageConfiguration::processPool):
     25            (API::PageConfiguration::setRelatedPage):
     26            (API::PageConfiguration::visitedLinkProvider):
     27            (API::PageConfiguration::setVisitedLinkProvider):
     28            (API::PageConfiguration::websiteDataStore):
     29            (API::PageConfiguration::setWebsiteDataStore):
     30            (API::PageConfiguration::sessionID):
     31            (API::PageConfiguration::setSessionID):
     32            (API::PageConfiguration::webPageConfiguration): Deleted.
     33            * UIProcess/API/APIPageConfiguration.h:
     34            (API::PageConfiguration::preferenceValues):
     35            (API::PageConfiguration::treatsSHA1SignedCertificatesAsInsecure):
     36            (API::PageConfiguration::setTreatsSHA1SignedCertificatesAsInsecure):
     37            (API::PageConfiguration::alwaysRunsAtForegroundPriority):
     38            (API::PageConfiguration::setAlwaysRunsAtForegroundPriority):
     39            (API::PageConfiguration::create): Deleted.
     40            * UIProcess/API/C/WKPage.cpp:
     41            (WKPageGetPageGroup):
     42            (WKPageCopyPageConfiguration):
     43            (WKPageLoadURL):
     44            * UIProcess/API/C/WKPage.h:
     45            * UIProcess/API/C/WKPageConfigurationRef.cpp:
     46            (WKPageConfigurationSetRelatedPage):
     47            (WKPageConfigurationGetWebsiteDataStore):
     48            (WKPageConfigurationSetWebsiteDataStore):
     49            * UIProcess/API/C/WKPageConfigurationRef.h:
     50            * UIProcess/API/Cocoa/WKWebView.mm:
     51            (-[WKWebView initWithFrame:configuration:]):
     52            * UIProcess/API/ios/WKViewIOS.mm:
     53            (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
     54            * UIProcess/API/mac/WKView.mm:
     55            (-[WKView _setPrimaryTrackingArea:]):
     56            (-[WKView initWithFrame:processPool:configuration:webView:]):
     57            (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
     58            (-[WKView initWithFrame:configurationRef:]):
     59            (-[WKView wantsUpdateLayer]):
     60            * UIProcess/API/mac/WKViewInternal.h:
     61            * UIProcess/WebPageProxy.cpp:
     62            (WebKit::WebPageProxy::create):
     63            (WebKit::WebPageProxy::WebPageProxy):
     64            (WebKit::WebPageProxy::~WebPageProxy):
     65            (WebKit::WebPageProxy::configuration):
     66            (WebKit::WebPageProxy::processIdentifier):
     67            * UIProcess/WebPageProxy.h:
     68            (WebKit::WebPageProxy::pageID):
     69            (WebKit::WebPageProxy::sessionID):
     70            * UIProcess/WebProcessPool.cpp:
     71            (WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
     72            (WebKit::WebProcessPool::createWebPage):
     73            (WebKit::WebProcessPool::download):
     74            * UIProcess/WebProcessPool.h:
     75            * UIProcess/WebProcessProxy.cpp:
     76            (WebKit::WebProcessProxy::webPage):
     77            (WebKit::WebProcessProxy::createWebPage):
     78            * UIProcess/WebProcessProxy.h:
     79            (WebKit::WebProcessProxy::processPool):
     80            * UIProcess/ios/WKContentView.h:
     81            * UIProcess/ios/WKContentView.mm:
     82            (-[WKContentView _commonInitializationWithProcessPool:configuration:]):
     83            (-[WKContentView initWithFrame:processPool:configuration:webView:]):
     84            (-[WKContentView initWithFrame:processPool:configuration:wkView:]):
     85            (-[WKContentView dealloc]):
     86
    1872015-12-11  Matthew Hanson  <matthew_hanson@apple.com>
    288
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/APIPageConfiguration.cpp

    r178618 r194074  
    3838namespace API {
    3939
     40Ref<PageConfiguration> PageConfiguration::create()
     41{
     42    return adoptRef(*new PageConfiguration);
     43}
     44
    4045PageConfiguration::PageConfiguration()
    4146{
     
    4550{
    4651}
     52
     53Ref<PageConfiguration> PageConfiguration::copy() const
     54{
     55    auto copy = create();
     56
     57    copy->m_processPool = this->m_processPool;
     58    copy->m_userContentController = this->m_userContentController;
     59    copy->m_pageGroup = this->m_pageGroup;
     60    copy->m_preferences = this->m_preferences;
     61    copy->m_preferenceValues = this->m_preferenceValues;
     62    copy->m_relatedPage = this->m_relatedPage;
     63    copy->m_visitedLinkProvider = this->m_visitedLinkProvider;
     64    copy->m_websiteDataStore = this->m_websiteDataStore;
     65    copy->m_sessionID = this->m_sessionID;
     66    copy->m_treatsSHA1SignedCertificatesAsInsecure = this->m_treatsSHA1SignedCertificatesAsInsecure;
     67#if PLATFORM(IOS)
     68    copy->m_alwaysRunsAtForegroundPriority = this->m_alwaysRunsAtForegroundPriority;
     69#endif
     70
     71    return copy;
     72}
     73
    4774
    4875WebProcessPool* PageConfiguration::processPool()
     
    96123}
    97124
    98 WebKit::WebPageConfiguration PageConfiguration::webPageConfiguration()
     125
     126VisitedLinkProvider* PageConfiguration::visitedLinkProvider()
    99127{
    100     WebKit::WebPageConfiguration configuration;
     128    return m_visitedLinkProvider.get();
     129}
    101130
    102     configuration.userContentController = userContentController();
    103     configuration.pageGroup = pageGroup();
    104     configuration.preferences = preferences();
    105     configuration.relatedPage = relatedPage();
     131void PageConfiguration::setVisitedLinkProvider(VisitedLinkProvider* visitedLinkProvider)
     132{
     133    m_visitedLinkProvider = visitedLinkProvider;
     134}
    106135
    107     return configuration;
     136API::WebsiteDataStore* PageConfiguration::websiteDataStore()
     137{
     138    return m_websiteDataStore.get();
     139}
     140
     141void PageConfiguration::setWebsiteDataStore(API::WebsiteDataStore* websiteDataStore)
     142{
     143    m_websiteDataStore = websiteDataStore;
     144}
     145
     146WebCore::SessionID PageConfiguration::sessionID()
     147{
     148    return m_sessionID;
     149}
     150
     151void PageConfiguration::setSessionID(WebCore::SessionID sessionID)
     152{
     153    m_sessionID = sessionID;
    108154}
    109155
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/APIPageConfiguration.h

    r178618 r194074  
    2828
    2929#include "APIObject.h"
     30#include "WebPreferencesStore.h"
     31#include <WebCore/SessionID.h>
    3032#include <wtf/GetPtr.h>
    3133
    3234namespace WebKit {
    33 struct WebPageConfiguration;
     35class VisitedLinkProvider;
     36class WebPageGroup;
     37class WebPageProxy;
     38class WebPreferences;
     39class WebProcessPool;
    3440class WebUserContentControllerProxy;
    35 class WebProcessPool;
    36 class WebPageGroup;
    37 class WebPreferences;
    38 class WebPageProxy;
    3941}
    4042
    4143namespace API {
    4244
     45class WebsiteDataStore;
     46
    4347class PageConfiguration : public ObjectImpl<Object::Type::PageConfiguration> {
    4448public:
    45     static Ref<PageConfiguration> create()
    46     {
    47         return adoptRef(*new PageConfiguration);
    48     }
     49    static Ref<PageConfiguration> create();
     50
     51    explicit PageConfiguration();
    4952    virtual ~PageConfiguration();
     53
     54    Ref<PageConfiguration> copy() const;
    5055
    5156    // FIXME: The configuration properties should return their default values
     
    6469    void setPreferences(WebKit::WebPreferences*);
    6570
     71    WebKit::WebPreferencesStore::ValueMap& preferenceValues() { return m_preferenceValues; }
     72
    6673    WebKit::WebPageProxy* relatedPage();
    6774    void setRelatedPage(WebKit::WebPageProxy*);
    6875
    69     WebKit::WebPageConfiguration webPageConfiguration();
     76    WebKit::VisitedLinkProvider* visitedLinkProvider();
     77    void setVisitedLinkProvider(WebKit::VisitedLinkProvider*);
     78
     79    WebsiteDataStore* websiteDataStore();
     80    void setWebsiteDataStore(WebsiteDataStore*);
     81
     82    WebCore::SessionID sessionID();
     83    void setSessionID(WebCore::SessionID);
     84
     85    bool treatsSHA1SignedCertificatesAsInsecure() { return m_treatsSHA1SignedCertificatesAsInsecure; }
     86    void setTreatsSHA1SignedCertificatesAsInsecure(bool treatsSHA1SignedCertificatesAsInsecure) { m_treatsSHA1SignedCertificatesAsInsecure = treatsSHA1SignedCertificatesAsInsecure; }
     87
     88#if PLATFORM(IOS)
     89    bool alwaysRunsAtForegroundPriority() { return m_alwaysRunsAtForegroundPriority; }
     90    void setAlwaysRunsAtForegroundPriority(bool alwaysRunsAtForegroundPriority) { m_alwaysRunsAtForegroundPriority = alwaysRunsAtForegroundPriority; }
     91#endif
    7092
    7193private:
    72     PageConfiguration();
    7394
    7495    RefPtr<WebKit::WebProcessPool> m_processPool;
     
    7697    RefPtr<WebKit::WebPageGroup> m_pageGroup;
    7798    RefPtr<WebKit::WebPreferences> m_preferences;
     99    WebKit::WebPreferencesStore::ValueMap m_preferenceValues;
    78100    RefPtr<WebKit::WebPageProxy> m_relatedPage;
     101    RefPtr<WebKit::VisitedLinkProvider> m_visitedLinkProvider;
     102
     103    RefPtr<WebsiteDataStore> m_websiteDataStore;
     104    // FIXME: We currently have to pass the session ID separately here to support the legacy private browsing session.
     105    // Once we get rid of it we should get rid of this configuration parameter as well.
     106    WebCore::SessionID m_sessionID;
     107
     108    bool m_treatsSHA1SignedCertificatesAsInsecure = false;
     109#if PLATFORM(IOS)
     110    bool m_alwaysRunsAtForegroundPriority = false;
     111#endif
    79112};
    80113
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPage.cpp

    r186538 r194074  
    3838#include "APINavigationClient.h"
    3939#include "APINavigationResponse.h"
     40#include "APIPageConfiguration.h"
    4041#include "APIPolicyClient.h"
    4142#include "APISessionState.h"
     
    128129}
    129130
     131WKPageConfigurationRef WKPageCopyPageConfiguration(WKPageRef pageRef)
     132{
     133    return toAPI(&toImpl(pageRef)->configuration().copy().leakRef());
     134}
     135
    130136void WKPageLoadURL(WKPageRef pageRef, WKURLRef URLRef)
    131137{
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPage.h

    r185840 r194074  
    6060WK_EXPORT WKPageGroupRef WKPageGetPageGroup(WKPageRef page);
    6161
     62WK_EXPORT WKPageConfigurationRef WKPageCopyPageConfiguration(WKPageRef page);
     63
    6264// URL Requests
    6365WK_EXPORT void WKPageLoadURL(WKPageRef page, WKURLRef url);
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPageConfigurationRef.cpp

    r180362 r194074  
    9494    toImpl(configuration)->setRelatedPage(toImpl(relatedPage));
    9595}
     96
     97WKWebsiteDataStoreRef WKPageConfigurationGetWebsiteDataStore(WKPageConfigurationRef configuration)
     98{
     99    return toAPI(toImpl(configuration)->websiteDataStore());
     100}
     101
     102void WKPageConfigurationSetWebsiteDataStore(WKPageConfigurationRef configuration, WKWebsiteDataStoreRef websiteDataStore)
     103{
     104    toImpl(configuration)->setWebsiteDataStore(toImpl(websiteDataStore));
     105}
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPageConfigurationRef.h

    r178618 r194074  
    5252WK_EXPORT void WKPageConfigurationSetRelatedPage(WKPageConfigurationRef configuration, WKPageRef relatedPage);
    5353
     54WK_EXPORT WKWebsiteDataStoreRef WKPageConfigurationGetWebsiteDataStore(WKPageConfigurationRef configuration);
     55WK_EXPORT void WKPageConfigurationSetWebsiteDataStore(WKPageConfigurationRef configuration, WKWebsiteDataStoreRef websiteDataStore);
     56
    5457#ifdef __cplusplus
    5558}
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm

    r193570 r194074  
    3030
    3131#import "APIFormClient.h"
     32#import "APIPageConfiguration.h"
    3233#import "APISerializedScriptValue.h"
    3334#import "CompletionHandlerCallChecker.h"
     
    301302
    302303    WebKit::WebProcessPool& processPool = *[_configuration processPool]->_processPool;
    303 
    304     WebKit::WebPageConfiguration webPageConfiguration;
    305     webPageConfiguration.preferences = [_configuration preferences]->_preferences.get();
     304   
     305    auto pageConfiguration = API::PageConfiguration::create();
     306
     307    pageConfiguration->setProcessPool(&processPool);
     308    pageConfiguration->setPreferences([_configuration preferences]->_preferences.get());
    306309    if (WKWebView *relatedWebView = [_configuration _relatedWebView])
    307         webPageConfiguration.relatedPage = relatedWebView->_page.get();
    308 
    309     webPageConfiguration.userContentController = [_configuration userContentController]->_userContentControllerProxy.get();
    310     webPageConfiguration.visitedLinkProvider = [_configuration _visitedLinkProvider]->_visitedLinkProvider.get();
    311     webPageConfiguration.websiteDataStore = &[_configuration websiteDataStore]->_websiteDataStore->websiteDataStore();
    312     webPageConfiguration.sessionID = webPageConfiguration.websiteDataStore->sessionID();
    313     webPageConfiguration.treatsSHA1SignedCertificatesAsInsecure = [_configuration _treatsSHA1SignedCertificatesAsInsecure];
     310        pageConfiguration->setRelatedPage(relatedWebView->_page.get());
     311
     312    pageConfiguration->setUserContentController([_configuration userContentController]->_userContentControllerProxy.get());
     313    pageConfiguration->setVisitedLinkProvider([_configuration _visitedLinkProvider]->_visitedLinkProvider.get());
     314    pageConfiguration->setWebsiteDataStore([_configuration websiteDataStore]->_websiteDataStore.get());
     315    pageConfiguration->setSessionID(pageConfiguration->websiteDataStore()->websiteDataStore().sessionID());
     316    pageConfiguration->setTreatsSHA1SignedCertificatesAsInsecure([_configuration _treatsSHA1SignedCertificatesAsInsecure]);
    314317
    315318    RefPtr<WebKit::WebPageGroup> pageGroup;
     
    317320    if (groupIdentifier.length) {
    318321        pageGroup = WebKit::WebPageGroup::create(configuration._groupIdentifier);
    319         webPageConfiguration.pageGroup = pageGroup.get();
    320     }
    321 
    322     webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::suppressesIncrementalRenderingKey(), WebKit::WebPreferencesStore::Value(!![_configuration suppressesIncrementalRendering]));
     322        pageConfiguration->setPageGroup(pageGroup.get());
     323    }
     324
     325    pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::suppressesIncrementalRenderingKey(), WebKit::WebPreferencesStore::Value(!![_configuration suppressesIncrementalRendering]));
    323326
    324327#if PLATFORM(IOS)
    325     webPageConfiguration.alwaysRunsAtForegroundPriority = [_configuration _alwaysRunsAtForegroundPriority];
    326 
    327     webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::allowsInlineMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsInlineMediaPlayback]));
    328     webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsPictureInPictureMediaPlayback] && shouldAllowPictureInPictureMediaPlayback()));
    329     webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::requiresUserGestureForMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration requiresUserActionForMediaPlayback]));
     328    pageConfiguration->setAlwaysRunsAtForegroundPriority([_configuration _alwaysRunsAtForegroundPriority]);
     329
     330    pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::allowsInlineMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsInlineMediaPlayback]));
     331    pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsPictureInPictureMediaPlayback] && shouldAllowPictureInPictureMediaPlayback()));
     332    pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::requiresUserGestureForMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration requiresUserActionForMediaPlayback]));
    330333#endif
    331334#if ENABLE(WIRELESS_PLAYBACK_TARGET)
    332     webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::allowsAirPlayForMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsAirPlayForMediaPlayback]));
     335    pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::allowsAirPlayForMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsAirPlayForMediaPlayback]));
    333336#endif
    334337
     
    340343    [self addSubview:_scrollView.get()];
    341344
    342     _contentView = adoptNS([[WKContentView alloc] initWithFrame:bounds processPool:processPool configuration:WTF::move(webPageConfiguration) webView:self]);
     345    _contentView = adoptNS([[WKContentView alloc] initWithFrame:bounds processPool:processPool configuration:WTF::move(pageConfiguration) webView:self]);
    343346
    344347    _page = [_contentView page];
     
    368371
    369372#if PLATFORM(MAC)
    370     _wkView = adoptNS([[WKView alloc] initWithFrame:bounds processPool:processPool configuration:WTF::move(webPageConfiguration) webView:self]);
     373    _wkView = adoptNS([[WKView alloc] initWithFrame:bounds processPool:processPool configuration:WTF::move(pageConfiguration) webView:self]);
    371374    [self addSubview:_wkView.get()];
    372375    _page = WebKit::toImpl([_wkView pageRef]);
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp

    r185950 r194074  
    2222
    2323#include "APIDownloadClient.h"
     24#include "APIPageConfiguration.h"
    2425#include "APIProcessPoolConfiguration.h"
    2526#include "APIString.h"
     
    12751276{
    12761277    WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(webView);
    1277     WebPageConfiguration webPageConfiguration;
    1278     webPageConfiguration.preferences = webkitSettingsGetPreferences(webkit_web_view_get_settings(webView));
    1279     webPageConfiguration.relatedPage = relatedView ? webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(relatedView)) : nullptr;
    1280     webPageConfiguration.userContentController = userContentManager ? webkitUserContentManagerGetUserContentControllerProxy(userContentManager) : nullptr;
    1281     webPageConfiguration.websiteDataStore = &webkitWebsiteDataManagerGetDataStore(context->priv->websiteDataManager.get());
    1282     webPageConfiguration.sessionID = webPageConfiguration.websiteDataStore->sessionID();
    1283     webkitWebViewBaseCreateWebPage(webViewBase, context->priv->context.get(), WTF::move(webPageConfiguration));
     1278
     1279    auto pageConfiguration = API::PageConfiguration::create();
     1280    pageConfiguration->setPreferences(webkitSettingsGetPreferences(webkit_web_view_get_settings(webView)));
     1281    pageConfiguration->setRelatedPage(relatedView ? webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(relatedView)) : nullptr);
     1282    pageConfiguration->setUserContentController(userContentManager ? webkitUserContentManagerGetUserContentControllerProxy(userContentManager) : nullptr);
     1283    pageConfiguration->setWebsiteDataStore(&webkitWebsiteDataManagerGetDataStore(context->priv->websiteDataManager.get()));
     1284    pageConfiguration->setSessionID(pageConfiguration->websiteDataStore()->websiteDataStore().sessionID());
     1285    webkitWebViewBaseCreateWebPage(webViewBase, context->priv->context.get(), WTF::move(pageConfiguration));
    12841286
    12851287    WebPageProxy* page = webkitWebViewBaseGetPage(webViewBase);
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp

    r186333 r194074  
    3030#include "WebKitWebViewBase.h"
    3131
     32#include "APIPageConfiguration.h"
    3233#include "DrawingAreaProxyImpl.h"
    3334#include "InputMethodFilter.h"
     
    10671068{
    10681069    WebKitWebViewBase* webkitWebViewBase = WEBKIT_WEB_VIEW_BASE(g_object_new(WEBKIT_TYPE_WEB_VIEW_BASE, nullptr));
    1069     WebPageConfiguration webPageConfiguration;
    1070     webPageConfiguration.preferences = preferences;
    1071     webPageConfiguration.pageGroup = pageGroup;
    1072     webPageConfiguration.relatedPage = relatedPage;
    1073     webPageConfiguration.userContentController = userContentController;
    1074     webkitWebViewBaseCreateWebPage(webkitWebViewBase, context, WTF::move(webPageConfiguration));
     1070
     1071    auto pageConfiguration = API::PageConfiguration::create();
     1072    pageConfiguration->setPreferences(preferences);
     1073    pageConfiguration->setPageGroup(pageGroup);
     1074    pageConfiguration->setRelatedPage(relatedPage);
     1075    pageConfiguration->setUserContentController(userContentController);
     1076    webkitWebViewBaseCreateWebPage(webkitWebViewBase, context, WTF::move(pageConfiguration));
    10751077    return webkitWebViewBase;
    10761078}
     
    10931095#endif // HAVE(GTK_SCALE_FACTOR)
    10941096
    1095 void webkitWebViewBaseCreateWebPage(WebKitWebViewBase* webkitWebViewBase, WebProcessPool* context, WebPageConfiguration&& configuration)
     1097void webkitWebViewBaseCreateWebPage(WebKitWebViewBase* webkitWebViewBase, WebProcessPool* context, Ref<API::PageConfiguration>&& configuration)
    10961098{
    10971099    WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv;
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h

    r186221 r194074  
    4040GtkIMContext* webkitWebViewBaseGetIMContext(WebKitWebViewBase*);
    4141WebKit::WebPageProxy* webkitWebViewBaseGetPage(WebKitWebViewBase*);
    42 void webkitWebViewBaseCreateWebPage(WebKitWebViewBase*, WebKit::WebProcessPool*, WebKit::WebPageConfiguration&&);
     42void webkitWebViewBaseCreateWebPage(WebKitWebViewBase*, WebKit::WebProcessPool*, Ref<API::PageConfiguration>&&);
    4343void webkitWebViewBaseSetTooltipText(WebKitWebViewBase*, const char*);
    4444void webkitWebViewBaseSetTooltipArea(WebKitWebViewBase*, const WebCore::IntRect&);
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/gtk/WebKitWebsiteDataManager.cpp

    r185950 r194074  
    7171
    7272struct _WebKitWebsiteDataManagerPrivate {
    73     RefPtr<WebsiteDataStore> websiteDataStore;
     73    RefPtr<API::WebsiteDataStore> websiteDataStore;
    7474    GUniquePtr<char> baseDataDirectory;
    7575    GUniquePtr<char> baseCacheDirectory;
     
    300300{
    301301    WebKitWebsiteDataManager* manager = WEBKIT_WEBSITE_DATA_MANAGER(g_object_new(WEBKIT_TYPE_WEBSITE_DATA_MANAGER, nullptr));
    302     manager->priv->websiteDataStore = WebsiteDataStore::create(WTF::move(configuration));
     302    manager->priv->websiteDataStore = API::WebsiteDataStore::create(WTF::move(configuration));
    303303
    304304    return manager;
    305305}
    306306
    307 WebsiteDataStore& webkitWebsiteDataManagerGetDataStore(WebKitWebsiteDataManager* manager)
     307API::WebsiteDataStore& webkitWebsiteDataManagerGetDataStore(WebKitWebsiteDataManager* manager)
    308308{
    309309    WebKitWebsiteDataManagerPrivate* priv = manager->priv;
     
    319319            API::WebsiteDataStore::defaultWebSQLDatabaseDirectory() : WebCore::filenameToString(priv->webSQLDirectory.get());
    320320        configuration.mediaKeysStorageDirectory = API::WebsiteDataStore::defaultMediaKeysStorageDirectory();
    321         priv->websiteDataStore = WebsiteDataStore::create(WTF::move(configuration));
     321        priv->websiteDataStore = API::WebsiteDataStore::create(WTF::move(configuration));
    322322    }
    323323
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/gtk/WebKitWebsiteDataManagerPrivate.h

    r185950 r194074  
    2121#define WebKitWebsiteDataManagerPrivate_h
    2222
     23#include "APIWebsiteDataStore.h"
    2324#include "WebKitPrivate.h"
    2425#include "WebsiteDataStore.h"
    2526
    2627WebKitWebsiteDataManager* webkitWebsiteDataManagerCreate(WebKit::WebsiteDataStore::Configuration&&);
    27 WebKit::WebsiteDataStore& webkitWebsiteDataManagerGetDataStore(WebKitWebsiteDataManager*);
     28API::WebsiteDataStore& webkitWebsiteDataManagerGetDataStore(WebKitWebsiteDataManager*);
    2829
    2930#endif // WebKitWebsiteDataManagerPrivate_h
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/ios/WKViewIOS.mm

    r185127 r194074  
    2929#if PLATFORM(IOS)
    3030
     31#import "APIPageConfiguration.h"
    3132#import "RemoteLayerTreeTransaction.h"
    3233#import "UIKitSPI.h"
     
    226227    [self addSubview:_scrollView.get()];
    227228
    228     WebKit::WebPageConfiguration webPageConfiguration;
    229     webPageConfiguration.pageGroup = toImpl(pageGroupRef);
    230     webPageConfiguration.relatedPage = toImpl(relatedPage);
    231 
    232     _contentView = adoptNS([[WKContentView alloc] initWithFrame:bounds processPool:*toImpl(contextRef) configuration:WTF::move(webPageConfiguration) wkView:self]);
     229    auto configuration = API::PageConfiguration::create();
     230    configuration->setProcessPool(toImpl(contextRef));
     231    configuration->setPageGroup(toImpl(pageGroupRef));
     232    configuration->setRelatedPage(toImpl(relatedPage));
     233
     234    _contentView = adoptNS([[WKContentView alloc] initWithFrame:bounds processPool:*toImpl(contextRef) configuration:WTF::move(configuration) wkView:self]);
    233235
    234236    [[_contentView layer] setAnchorPoint:CGPointZero];
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm

    r188095 r194074  
    37453745}
    37463746
    3747 - (instancetype)initWithFrame:(NSRect)frame processPool:(WebProcessPool&)processPool configuration:(WebPageConfiguration)webPageConfiguration webView:(WKWebView *)webView
     3747- (instancetype)initWithFrame:(NSRect)frame processPool:(WebProcessPool&)processPool configuration:(Ref<API::PageConfiguration>&&)configuration webView:(WKWebView *)webView
    37483748{
    37493749    self = [super initWithFrame:frame];
     
    37673767
    37683768    _data->_pageClient = std::make_unique<PageClientImpl>(self, webView);
    3769     _data->_page = processPool.createWebPage(*_data->_pageClient, WTF::move(webPageConfiguration));
     3769    _data->_page = processPool.createWebPage(*_data->_pageClient, WTF::move(configuration));
    37703770    _data->_page->setAddsVisitedLinks(processPool.historyClient().addsVisitedLinks());
    37713771
     
    39953995- (id)initWithFrame:(NSRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage
    39963996{
    3997     WebPageConfiguration webPageConfiguration;
    3998     webPageConfiguration.pageGroup = toImpl(pageGroupRef);
    3999     webPageConfiguration.relatedPage = toImpl(relatedPage);
    4000 
    4001     return [self initWithFrame:frame processPool:*toImpl(contextRef) configuration:webPageConfiguration webView:nil];
    4002 }
    4003 
    4004 - (id)initWithFrame:(NSRect)frame configurationRef:(WKPageConfigurationRef)configuration
    4005 {
    4006     auto& processPool = *toImpl(configuration)->processPool();
    4007     auto webPageConfiguration = toImpl(configuration)->webPageConfiguration();
    4008 
    4009     return [self initWithFrame:frame processPool:processPool configuration:webPageConfiguration webView:nil];
     3997    auto configuration = API::PageConfiguration::create();
     3998    configuration->setProcessPool(toImpl(contextRef));
     3999    configuration->setPageGroup(toImpl(pageGroupRef));
     4000    configuration->setRelatedPage(toImpl(relatedPage));
     4001
     4002    return [self initWithFrame:frame processPool:*toImpl(contextRef) configuration:WTF::move(configuration) webView:nil];
     4003}
     4004
     4005- (id)initWithFrame:(NSRect)frame configurationRef:(WKPageConfigurationRef)configurationRef
     4006{
     4007    Ref<API::PageConfiguration> configuration = *toImpl(configurationRef);
     4008    auto& processPool = *configuration->processPool();
     4009
     4010    return [self initWithFrame:frame processPool:processPool configuration:WTF::move(configuration) webView:nil];
    40104011}
    40114012
  • branches/safari-601-branch/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h

    r188095 r194074  
    3939namespace API {
    4040class Object;
     41class PageConfiguration;
    4142}
    4243
     
    5960struct ColorSpaceData;
    6061struct EditorState;
    61 struct WebPageConfiguration;
    6262}
    6363
     
    6969
    7070@interface WKView ()
    71 #if WK_API_ENABLED
    72 - (instancetype)initWithFrame:(CGRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(WebKit::WebPageConfiguration)webPageConfiguration webView:(WKWebView *)webView;
    73 #endif
     71- (instancetype)initWithFrame:(NSRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(Ref<API::PageConfiguration>&&)configuration webView:(WKWebView *)webView;
    7472
    7573- (std::unique_ptr<WebKit::DrawingAreaProxy>)_createDrawingAreaProxy;
  • branches/safari-601-branch/Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.cpp

    r186757 r194074  
    3030#include "WebView.h"
    3131
     32#include "APIPageConfiguration.h"
    3233#include "CoordinatedDrawingAreaProxy.h"
    3334#include "CoordinatedGraphicsScene.h"
     
    5354    , m_opacity(1.0)
    5455{
    55     WebPageConfiguration webPageConfiguration;
    56     webPageConfiguration.pageGroup = pageGroup;
     56    auto pageConfiguration = API::PageConfiguration::create();
     57    pageConfiguration->setPageGroup(pageGroup);
    5758
    5859    // Need to call createWebPage after other data members, specifically m_visible, are initialized.
    59     m_page = context->createWebPage(*this, WTF::move(webPageConfiguration));
     60    m_page = context->createWebPage(*this, WTF::move(pageConfiguration));
    6061
    6162    m_page->pageGroup().preferences().setAcceleratedCompositingEnabled(true);
  • branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r190493 r194074  
    4141#include "APINavigationClient.h"
    4242#include "APINavigationResponse.h"
     43#include "APIPageConfiguration.h"
    4344#include "APIPolicyClient.h"
    4445#include "APISecurityOrigin.h"
     
    293294};
    294295
    295 Ref<WebPageProxy> WebPageProxy::create(PageClient& pageClient, WebProcessProxy& process, uint64_t pageID, const WebPageConfiguration& configuration)
    296 {
    297     return adoptRef(*new WebPageProxy(pageClient, process, pageID, configuration));
    298 }
    299 
    300 WebPageProxy::WebPageProxy(PageClient& pageClient, WebProcessProxy& process, uint64_t pageID, const WebPageConfiguration& configuration)
     296Ref<WebPageProxy> WebPageProxy::create(PageClient& pageClient, WebProcessProxy& process, uint64_t pageID, Ref<API::PageConfiguration>&& configuration)
     297{
     298    return adoptRef(*new WebPageProxy(pageClient, process, pageID, WTF::move(configuration)));
     299}
     300
     301WebPageProxy::WebPageProxy(PageClient& pageClient, WebProcessProxy& process, uint64_t pageID, Ref<API::PageConfiguration>&& configuration)
    301302    : m_pageClient(pageClient)
     303    , m_configuration(WTF::move(configuration))
    302304    , m_loaderClient(std::make_unique<API::LoaderClient>())
    303305    , m_policyClient(std::make_unique<API::PolicyClient>())
     
    311313    , m_navigationState(std::make_unique<WebNavigationState>())
    312314    , m_process(process)
    313     , m_pageGroup(*configuration.pageGroup)
    314     , m_preferences(*configuration.preferences)
    315     , m_userContentController(configuration.userContentController)
    316     , m_visitedLinkProvider(*configuration.visitedLinkProvider)
    317     , m_websiteDataStore(*configuration.websiteDataStore)
     315    , m_pageGroup(*m_configuration->pageGroup())
     316    , m_preferences(*m_configuration->preferences())
     317    , m_userContentController(m_configuration->userContentController())
     318    , m_visitedLinkProvider(*m_configuration->visitedLinkProvider())
     319    , m_websiteDataStore(m_configuration->websiteDataStore()->websiteDataStore())
    318320    , m_mainFrame(nullptr)
    319321    , m_userAgent(standardUserAgent())
    320     , m_treatsSHA1CertificatesAsInsecure(configuration.treatsSHA1SignedCertificatesAsInsecure)
     322    , m_treatsSHA1CertificatesAsInsecure(m_configuration->treatsSHA1SignedCertificatesAsInsecure())
    321323#if PLATFORM(IOS)
    322324    , m_hasReceivedLayerTreeTransactionAfterDidCommitLoad(true)
     
    335337    , m_viewWasEverInWindow(false)
    336338#if PLATFORM(IOS)
    337     , m_alwaysRunsAtForegroundPriority(configuration.alwaysRunsAtForegroundPriority)
     339    , m_alwaysRunsAtForegroundPriority(m_configuration->alwaysRunsAtForegroundPriority())
    338340#endif
    339341    , m_backForwardList(WebBackForwardList::create(*this))
     
    379381#endif
    380382    , m_pageID(pageID)
    381     , m_sessionID(configuration.sessionID)
     383    , m_sessionID(m_configuration->sessionID())
    382384    , m_isPageSuspended(false)
    383385    , m_addsVisitedLinks(true)
     
    436438    , m_scrollPinningBehavior(DoNotPin)
    437439    , m_navigationID(0)
    438     , m_configurationPreferenceValues(configuration.preferenceValues)
     440    , m_configurationPreferenceValues(m_configuration->preferenceValues())
    439441    , m_potentiallyChangedViewStateFlags(ViewState::NoFlags)
    440442    , m_viewStateChangeWantsSynchronousReply(false)
     
    516518    webPageProxyCounter.decrement();
    517519#endif
     520}
     521
     522const API::PageConfiguration& WebPageProxy::configuration() const
     523{
     524    return m_configuration.get();
    518525}
    519526
  • branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.h

    r193960 r194074  
    256256#endif
    257257
    258 struct WebPageConfiguration {
    259     WebPageGroup* pageGroup = nullptr;
    260     WebPreferences* preferences = nullptr;
    261     WebUserContentControllerProxy* userContentController = nullptr;
    262     VisitedLinkProvider* visitedLinkProvider = nullptr;
    263 
    264     WebsiteDataStore* websiteDataStore = nullptr;
    265     // FIXME: We currently have to pass the session ID separately here to support the legacy private browsing session.
    266     // Once we get rid of it we should get rid of this configuration parameter as well.
    267     WebCore::SessionID sessionID;
    268 
    269     WebPageProxy* relatedPage = nullptr;
    270 
    271     bool treatsSHA1SignedCertificatesAsInsecure = false;
    272 
    273 #if PLATFORM(IOS)
    274     bool alwaysRunsAtForegroundPriority = false;
    275 #endif
    276 
    277     WebPreferencesStore::ValueMap preferenceValues;
    278 };
    279 
    280258class WebPageProxy : public API::ObjectImpl<API::Object::Type::Page>
    281259#if ENABLE(INPUT_TYPE_COLOR)
     
    289267    , public IPC::MessageSender {
    290268public:
    291     static Ref<WebPageProxy> create(PageClient&, WebProcessProxy&, uint64_t pageID, const WebPageConfiguration&);
     269    static Ref<WebPageProxy> create(PageClient&, WebProcessProxy&, uint64_t pageID, Ref<API::PageConfiguration>&&);
    292270    virtual ~WebPageProxy();
     271
     272    const API::PageConfiguration& configuration() const;
    293273
    294274    uint64_t pageID() const { return m_pageID; }
     
    10871067
    10881068private:
    1089     WebPageProxy(PageClient&, WebProcessProxy&, uint64_t pageID, const WebPageConfiguration&);
     1069    WebPageProxy(PageClient&, WebProcessProxy&, uint64_t pageID, Ref<API::PageConfiguration>&&);
    10901070    void platformInitialize();
    10911071
     
    14871467
    14881468    PageClient& m_pageClient;
     1469    Ref<API::PageConfiguration> m_configuration;
     1470
    14891471    std::unique_ptr<API::LoaderClient> m_loaderClient;
    14901472    std::unique_ptr<API::PolicyClient> m_policyClient;
  • branches/safari-601-branch/Source/WebKit2/UIProcess/WebProcessPool.cpp

    r187303 r194074  
    3030#include "APIDownloadClient.h"
    3131#include "APILegacyContextHistoryClient.h"
     32#include "APIPageConfiguration.h"
    3233#include "APIProcessPoolConfiguration.h"
    3334#include "CustomProtocolManagerMessages.h"
     
    829830}
    830831
    831 PassRefPtr<WebPageProxy> WebProcessPool::createWebPage(PageClient& pageClient, WebPageConfiguration configuration)
    832 {
    833     if (!configuration.pageGroup)
    834         configuration.pageGroup = m_defaultPageGroup.ptr();
    835     if (!configuration.preferences)
    836         configuration.preferences = &configuration.pageGroup->preferences();
    837     if (!configuration.visitedLinkProvider)
    838         configuration.visitedLinkProvider = m_visitedLinkProvider.ptr();
    839     if (!configuration.websiteDataStore) {
    840         ASSERT(!configuration.sessionID.isValid());
    841         configuration.websiteDataStore = &m_websiteDataStore->websiteDataStore();
    842         configuration.sessionID = configuration.preferences->privateBrowsingEnabled() ? SessionID::legacyPrivateSessionID() : SessionID::defaultSessionID();
     832PassRefPtr<WebPageProxy> WebProcessPool::createWebPage(PageClient& pageClient, Ref<API::PageConfiguration>&& pageConfiguration)
     833{
     834    if (!pageConfiguration->pageGroup())
     835        pageConfiguration->setPageGroup(m_defaultPageGroup.ptr());
     836    if (!pageConfiguration->preferences())
     837        pageConfiguration->setPreferences(&pageConfiguration->pageGroup()->preferences());
     838    if (!pageConfiguration->visitedLinkProvider())
     839        pageConfiguration->setVisitedLinkProvider(m_visitedLinkProvider.ptr());
     840    if (!pageConfiguration->websiteDataStore()) {
     841        ASSERT(!pageConfiguration->sessionID().isValid());
     842        pageConfiguration->setWebsiteDataStore(m_websiteDataStore.get());
     843        pageConfiguration->setSessionID(pageConfiguration->preferences()->privateBrowsingEnabled() ? SessionID::legacyPrivateSessionID() : SessionID::defaultSessionID());
    843844    }
    844845
     
    850851            process = m_processes.last();
    851852            m_haveInitialEmptyProcess = false;
    852         } else if (configuration.relatedPage) {
     853        } else if (pageConfiguration->relatedPage()) {
    853854            // Sharing processes, e.g. when creating the page via window.open().
    854             process = &configuration.relatedPage->process();
     855            process = &pageConfiguration->relatedPage()->process();
    855856        } else
    856857            process = &createNewWebProcessRespectingProcessCountLimit();
    857858    }
    858859
    859     return process->createWebPage(pageClient, WTF::move(configuration));
     860    return process->createWebPage(pageClient, WTF::move(pageConfiguration));
    860861}
    861862
  • branches/safari-601-branch/Source/WebKit2/UIProcess/WebProcessPool.h

    r187303 r194074  
    7373class DownloadClient;
    7474class LegacyContextHistoryClient;
     75class PageConfiguration;
    7576}
    7677
     
    8384class WebPageProxy;
    8485struct StatisticsData;
    85 struct WebPageConfiguration;
    8686struct WebProcessCreationParameters;
    8787   
     
    168168    API::WebsiteDataStore* websiteDataStore() const { return m_websiteDataStore.get(); }
    169169
    170     PassRefPtr<WebPageProxy> createWebPage(PageClient&, WebPageConfiguration);
     170    PassRefPtr<WebPageProxy> createWebPage(PageClient&, Ref<API::PageConfiguration>&&);
    171171
    172172    const String& injectedBundlePath() const { return m_configuration->injectedBundlePath(); }
  • branches/safari-601-branch/Source/WebKit2/UIProcess/WebProcessProxy.cpp

    r187305 r194074  
    207207}
    208208
    209 Ref<WebPageProxy> WebProcessProxy::createWebPage(PageClient& pageClient, const WebPageConfiguration& configuration)
     209Ref<WebPageProxy> WebProcessProxy::createWebPage(PageClient& pageClient, Ref<API::PageConfiguration>&& pageConfiguration)
    210210{
    211211    uint64_t pageID = generatePageID();
    212     Ref<WebPageProxy> webPage = WebPageProxy::create(pageClient, *this, pageID, configuration);
     212    Ref<WebPageProxy> webPage = WebPageProxy::create(pageClient, *this, pageID, WTF::move(pageConfiguration));
    213213
    214214    m_pageMap.set(pageID, webPage.ptr());
  • branches/safari-601-branch/Source/WebKit2/UIProcess/WebProcessProxy.h

    r187303 r194074  
    8585
    8686    static WebPageProxy* webPage(uint64_t pageID);
    87     Ref<WebPageProxy> createWebPage(PageClient&, const WebPageConfiguration&);
     87    Ref<WebPageProxy> createWebPage(PageClient&, Ref<API::PageConfiguration>&&);
    8888    void addExistingWebPage(WebPageProxy*, uint64_t pageID);
    8989    void removeWebPage(uint64_t pageID);
  • branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WKContentView.h

    r185894 r194074  
    3535@class WKWebView;
    3636
     37namespace API {
     38class PageConfiguration;
     39}
     40
    3741namespace WebCore {
    3842struct Highlight;
     
    4650class WebPageProxy;
    4751class WebProcessPool;
    48 struct WebPageConfiguration;
    4952}
    5053
     
    6265@property (nonatomic, readonly) BOOL isBackground;
    6366
    64 - (instancetype)initWithFrame:(CGRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(WebKit::WebPageConfiguration)webPageConfiguration webView:(WKWebView *)webView;
    65 - (instancetype)initWithFrame:(CGRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(WebKit::WebPageConfiguration)webPageConfiguration wkView:(WKView *)webView;
     67- (instancetype)initWithFrame:(CGRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(Ref<API::PageConfiguration>&&)configuration webView:(WKWebView *)webView;
     68- (instancetype)initWithFrame:(CGRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(Ref<API::PageConfiguration>&&)configuration wkView:(WKView *)webView;
    6669
    6770- (void)didUpdateVisibleRect:(CGRect)visibleRect unobscuredRect:(CGRect)unobscuredRect
  • branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm

    r187314 r194074  
    2929#if PLATFORM(IOS)
    3030
     31#import "APIPageConfiguration.h"
    3132#import "ApplicationStateTracker.h"
    3233#import "PageClientImplIOS.h"
     
    182183}
    183184
    184 - (instancetype)_commonInitializationWithProcessPool:(WebKit::WebProcessPool&)processPool configuration:(WebKit::WebPageConfiguration)webPageConfiguration
     185- (instancetype)_commonInitializationWithProcessPool:(WebKit::WebProcessPool&)processPool configuration:(Ref<API::PageConfiguration>&&)configuration
    185186{
    186187    ASSERT(_pageClient);
    187188
    188     _page = processPool.createWebPage(*_pageClient, WTF::move(webPageConfiguration));
     189    _page = processPool.createWebPage(*_pageClient, WTF::move(configuration));
    189190    _page->initializeWebPage();
    190191    _page->setIntrinsicDeviceScaleFactor(WKGetScaleFactorForScreen([UIScreen mainScreen]));
     
    219220}
    220221
    221 - (instancetype)initWithFrame:(CGRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(WebKit::WebPageConfiguration)webPageConfiguration webView:(WKWebView *)webView
     222- (instancetype)initWithFrame:(CGRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(Ref<API::PageConfiguration>&&)configuration webView:(WKWebView *)webView
    222223{
    223224    if (!(self = [super initWithFrame:frame]))
     
    229230    _webView = webView;
    230231
    231     return [self _commonInitializationWithProcessPool:processPool configuration:webPageConfiguration];
    232 }
    233 
    234 - (instancetype)initWithFrame:(CGRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(WebKit::WebPageConfiguration)webPageConfiguration wkView:(WKView *)wkView
     232    return [self _commonInitializationWithProcessPool:processPool configuration:WTF::move(configuration)];
     233}
     234
     235- (instancetype)initWithFrame:(CGRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(Ref<API::PageConfiguration>&&)configuration wkView:(WKView *)wkView
    235236{
    236237    if (!(self = [super initWithFrame:frame]))
     
    241242    _pageClient = std::make_unique<PageClientImpl>(self, wkView);
    242243
    243     return [self _commonInitializationWithProcessPool:processPool configuration:webPageConfiguration];
     244    return [self _commonInitializationWithProcessPool:processPool configuration:WTF::move(configuration)];
    244245}
    245246
Note: See TracChangeset for help on using the changeset viewer.