Changeset 257552 in webkit


Ignore:
Timestamp:
Feb 26, 2020, 8:35:24 PM (5 years ago)
Author:
achristensen@apple.com
Message:

_WKUserContentWorld should be a wrapper around WKContentWorld
https://bugs.webkit.org/show_bug.cgi?id=208274

Reviewed by Brady Eidson.

Source/WebKit:

Various SPIs were getting confused between the two.
Updated API tests which expected pointer equality, which is no longer true or important.

  • Shared/API/APIObject.h:
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Sources.txt:
  • UIProcess/API/APIContentWorld.cpp:

(API::ContentWorld::ContentWorld):
(API::ContentWorldBase::ContentWorldBase): Deleted.

  • UIProcess/API/APIContentWorld.h:

(API::ContentWorldBase::identifier const): Deleted.
(API::ContentWorldBase::name const): Deleted.
(API::ContentWorldBase::worldData const): Deleted.
(API::ContentWorldBase::ContentWorldBase): Deleted.

  • UIProcess/API/APIUserContentWorld.cpp: Removed.
  • UIProcess/API/APIUserContentWorld.h: Removed.
  • UIProcess/API/APIUserScript.cpp:

(API::UserScript::UserScript):

  • UIProcess/API/APIUserScript.h:
  • UIProcess/API/APIUserStyleSheet.cpp:

(API::UserStyleSheet::UserStyleSheet):

  • UIProcess/API/APIUserStyleSheet.h:
  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserStyleSheet):
(WKPageGroupAddUserScript):

  • UIProcess/API/C/WKUserScriptRef.cpp:

(WKUserScriptCreateWithSource):

  • UIProcess/API/Cocoa/WKContentWorld.mm:

(-[WKContentWorld _userContentWorld]):

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController addScriptMessageHandler:name:]):
(-[WKUserContentController removeScriptMessageHandlerForName:]):
(-[WKUserContentController _removeAllUserScriptsAssociatedWithUserContentWorld:]):
(-[WKUserContentController _removeAllUserStyleSheetsAssociatedWithUserContentWorld:]):
(-[WKUserContentController _addScriptMessageHandler:name:userContentWorld:]):
(-[WKUserContentController _removeScriptMessageHandlerForName:userContentWorld:]):
(-[WKUserContentController _removeAllScriptMessageHandlersAssociatedWithUserContentWorld:]):

  • UIProcess/API/Cocoa/WKUserScript.mm:

(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:userContentWorld:]):
(-[WKUserScript _userContentWorld]):

  • UIProcess/API/Cocoa/_WKUserContentWorld.mm:

(-[_WKUserContentWorld _initWithName:]):
(-[_WKUserContentWorld _init]):
(-[_WKUserContentWorld _initWithContentWorld:]):
(+[_WKUserContentWorld worldWithName:]):
(+[_WKUserContentWorld normalWorld]):
(-[_WKUserContentWorld name]):
(-[_WKUserContentWorld _apiObject]):
(-[_WKUserContentWorld dealloc]): Deleted.

  • UIProcess/API/Cocoa/_WKUserContentWorldInternal.h:
  • UIProcess/API/Cocoa/_WKUserStyleSheet.mm:

(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:]):
(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]):
(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]):

  • UIProcess/UserContent/WebScriptMessageHandler.cpp:

(WebKit::WebScriptMessageHandler::create):
(WebKit::WebScriptMessageHandler::WebScriptMessageHandler):

  • UIProcess/UserContent/WebScriptMessageHandler.h:

(WebKit::WebScriptMessageHandler::world):

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addContentWorldUse):
(WebKit::WebUserContentControllerProxy::shouldSendRemoveContentWorldsMessage):
(WebKit::WebUserContentControllerProxy::removeContentWorldUses):
(WebKit::WebUserContentControllerProxy::addUserScript):
(WebKit::WebUserContentControllerProxy::removeUserScript):
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
(WebKit::WebUserContentControllerProxy::addUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
(WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
(WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
(WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers):
(WebKit::WebUserContentControllerProxy::addUserContentWorldUse): Deleted.
(WebKit::WebUserContentControllerProxy::shouldSendRemoveUserContentWorldsMessage): Deleted.
(WebKit::WebUserContentControllerProxy::removeUserContentWorldUses): Deleted.

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addContentWorld):
(WebKit::WebUserContentController::addContentWorlds):
(WebKit::WebUserContentController::removeContentWorlds):
(WebKit::WebUserContentController::addUserScripts):
(WebKit::WebUserContentController::removeUserScript):
(WebKit::WebUserContentController::removeAllUserScripts):
(WebKit::WebUserContentController::addUserStyleSheets):
(WebKit::WebUserContentController::removeUserStyleSheet):
(WebKit::WebUserContentController::removeAllUserStyleSheets):
(WebKit::WebUserContentController::addUserScriptMessageHandlers):
(WebKit::WebUserContentController::removeUserScriptMessageHandler):
(WebKit::WebUserContentController::removeAllUserScriptMessageHandlers):
(WebKit::WebUserContentController::addUserContentWorld): Deleted.
(WebKit::WebUserContentController::addUserContentWorlds): Deleted.
(WebKit::WebUserContentController::removeUserContentWorlds): Deleted.

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_processDisplayName):
(WebKit::WebPage::runJavaScriptInMainFrameScriptWorld):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:

(TEST):

Location:
trunk
Files:
2 deleted
35 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r257551 r257552  
     12020-02-26  Alex Christensen  <achristensen@webkit.org>
     2
     3        _WKUserContentWorld should be a wrapper around WKContentWorld
     4        https://bugs.webkit.org/show_bug.cgi?id=208274
     5
     6        Reviewed by Brady Eidson.
     7
     8        Various SPIs were getting confused between the two.
     9        Updated API tests which expected pointer equality, which is no longer true or important.
     10
     11        * Shared/API/APIObject.h:
     12        * Shared/Cocoa/APIObject.mm:
     13        (API::Object::newObject):
     14        * Sources.txt:
     15        * UIProcess/API/APIContentWorld.cpp:
     16        (API::ContentWorld::ContentWorld):
     17        (API::ContentWorldBase::ContentWorldBase): Deleted.
     18        * UIProcess/API/APIContentWorld.h:
     19        (API::ContentWorldBase::identifier const): Deleted.
     20        (API::ContentWorldBase::name const): Deleted.
     21        (API::ContentWorldBase::worldData const): Deleted.
     22        (API::ContentWorldBase::ContentWorldBase): Deleted.
     23        * UIProcess/API/APIUserContentWorld.cpp: Removed.
     24        * UIProcess/API/APIUserContentWorld.h: Removed.
     25        * UIProcess/API/APIUserScript.cpp:
     26        (API::UserScript::UserScript):
     27        * UIProcess/API/APIUserScript.h:
     28        * UIProcess/API/APIUserStyleSheet.cpp:
     29        (API::UserStyleSheet::UserStyleSheet):
     30        * UIProcess/API/APIUserStyleSheet.h:
     31        * UIProcess/API/C/WKPageGroup.cpp:
     32        (WKPageGroupAddUserStyleSheet):
     33        (WKPageGroupAddUserScript):
     34        * UIProcess/API/C/WKUserScriptRef.cpp:
     35        (WKUserScriptCreateWithSource):
     36        * UIProcess/API/Cocoa/WKContentWorld.mm:
     37        (-[WKContentWorld _userContentWorld]):
     38        * UIProcess/API/Cocoa/WKUserContentController.mm:
     39        (-[WKUserContentController addScriptMessageHandler:name:]):
     40        (-[WKUserContentController removeScriptMessageHandlerForName:]):
     41        (-[WKUserContentController _removeAllUserScriptsAssociatedWithUserContentWorld:]):
     42        (-[WKUserContentController _removeAllUserStyleSheetsAssociatedWithUserContentWorld:]):
     43        (-[WKUserContentController _addScriptMessageHandler:name:userContentWorld:]):
     44        (-[WKUserContentController _removeScriptMessageHandlerForName:userContentWorld:]):
     45        (-[WKUserContentController _removeAllScriptMessageHandlersAssociatedWithUserContentWorld:]):
     46        * UIProcess/API/Cocoa/WKUserScript.mm:
     47        (-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
     48        (-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]):
     49        (-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:userContentWorld:]):
     50        (-[WKUserScript _userContentWorld]):
     51        * UIProcess/API/Cocoa/_WKUserContentWorld.mm:
     52        (-[_WKUserContentWorld _initWithName:]):
     53        (-[_WKUserContentWorld _init]):
     54        (-[_WKUserContentWorld _initWithContentWorld:]):
     55        (+[_WKUserContentWorld worldWithName:]):
     56        (+[_WKUserContentWorld normalWorld]):
     57        (-[_WKUserContentWorld name]):
     58        (-[_WKUserContentWorld _apiObject]):
     59        (-[_WKUserContentWorld dealloc]): Deleted.
     60        * UIProcess/API/Cocoa/_WKUserContentWorldInternal.h:
     61        * UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
     62        (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:]):
     63        (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]):
     64        (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]):
     65        * UIProcess/UserContent/WebScriptMessageHandler.cpp:
     66        (WebKit::WebScriptMessageHandler::create):
     67        (WebKit::WebScriptMessageHandler::WebScriptMessageHandler):
     68        * UIProcess/UserContent/WebScriptMessageHandler.h:
     69        (WebKit::WebScriptMessageHandler::world):
     70        * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
     71        (WebKit::WebUserContentControllerProxy::addProcess):
     72        (WebKit::WebUserContentControllerProxy::addContentWorldUse):
     73        (WebKit::WebUserContentControllerProxy::shouldSendRemoveContentWorldsMessage):
     74        (WebKit::WebUserContentControllerProxy::removeContentWorldUses):
     75        (WebKit::WebUserContentControllerProxy::addUserScript):
     76        (WebKit::WebUserContentControllerProxy::removeUserScript):
     77        (WebKit::WebUserContentControllerProxy::removeAllUserScripts):
     78        (WebKit::WebUserContentControllerProxy::addUserStyleSheet):
     79        (WebKit::WebUserContentControllerProxy::removeUserStyleSheet):
     80        (WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
     81        (WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
     82        (WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
     83        (WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers):
     84        (WebKit::WebUserContentControllerProxy::addUserContentWorldUse): Deleted.
     85        (WebKit::WebUserContentControllerProxy::shouldSendRemoveUserContentWorldsMessage): Deleted.
     86        (WebKit::WebUserContentControllerProxy::removeUserContentWorldUses): Deleted.
     87        * UIProcess/UserContent/WebUserContentControllerProxy.h:
     88        * WebKit.xcodeproj/project.pbxproj:
     89        * WebProcess/UserContent/WebUserContentController.cpp:
     90        (WebKit::WebUserContentController::addContentWorld):
     91        (WebKit::WebUserContentController::addContentWorlds):
     92        (WebKit::WebUserContentController::removeContentWorlds):
     93        (WebKit::WebUserContentController::addUserScripts):
     94        (WebKit::WebUserContentController::removeUserScript):
     95        (WebKit::WebUserContentController::removeAllUserScripts):
     96        (WebKit::WebUserContentController::addUserStyleSheets):
     97        (WebKit::WebUserContentController::removeUserStyleSheet):
     98        (WebKit::WebUserContentController::removeAllUserStyleSheets):
     99        (WebKit::WebUserContentController::addUserScriptMessageHandlers):
     100        (WebKit::WebUserContentController::removeUserScriptMessageHandler):
     101        (WebKit::WebUserContentController::removeAllUserScriptMessageHandlers):
     102        (WebKit::WebUserContentController::addUserContentWorld): Deleted.
     103        (WebKit::WebUserContentController::addUserContentWorlds): Deleted.
     104        (WebKit::WebUserContentController::removeUserContentWorlds): Deleted.
     105        * WebProcess/UserContent/WebUserContentController.h:
     106        * WebProcess/UserContent/WebUserContentController.messages.in:
     107        * WebProcess/WebPage/WebPage.cpp:
     108        (WebKit::m_processDisplayName):
     109        (WebKit::WebPage::runJavaScriptInMainFrameScriptWorld):
     110
    11112020-02-26  Ryosuke Niwa  <rniwa@webkit.org>
    2112
  • trunk/Source/WebKit/Shared/API/APIObject.h

    r254668 r257552  
    166166        URLSchemeTask,
    167167        UserContentController,
    168         UserContentWorld,
    169168        UserInitiatedAction,
    170169        UserMediaPermissionCheck,
  • trunk/Source/WebKit/Shared/Cocoa/APIObject.mm

    r256332 r257552  
    352352        break;
    353353
    354     case Type::UserContentWorld:
    355         ALLOW_DEPRECATED_DECLARATIONS_BEGIN
    356         wrapper = [_WKUserContentWorld alloc];
    357         ALLOW_DEPRECATED_DECLARATIONS_END
    358         break;
    359 
    360354    case Type::UserInitiatedAction:
    361355        wrapper = [_WKUserInitiatedAction alloc];
  • trunk/Source/WebKit/Sources.txt

    r257551 r257552  
    339339UIProcess/API/APISessionState.cpp
    340340UIProcess/API/APIURLSchemeTask.cpp
    341 UIProcess/API/APIUserContentWorld.cpp
    342341UIProcess/API/APIUserScript.cpp
    343342UIProcess/API/APIUserStyleSheet.cpp
  • trunk/Source/WebKit/UIProcess/API/APIContentWorld.cpp

    r256561 r257552  
    2727#include "APIContentWorld.h"
    2828
    29 #include "APIUserContentWorld.h"
    3029#include "ContentWorldShared.h"
    3130#include <wtf/HashMap.h>
     
    3433namespace API {
    3534
    36 ContentWorldBase::ContentWorldBase(const WTF::String& name)
     35ContentWorld::ContentWorld(const WTF::String& name)
    3736    : m_name(name)
    3837{
     
    7776}
    7877
    79 ContentWorld::ContentWorld(const WTF::String& name)
    80     : ContentWorldBase(name)
    81 {
    82 }
    83 
    84 ContentWorld::ContentWorld(WebKit::ContentWorldIdentifier identifier)
    85     : ContentWorldBase(identifier)
    86 {
    87 }
    88 
    89 ContentWorld::ContentWorld(const UserContentWorld& userContentWorld)
    90     : ContentWorldBase(userContentWorld.identifier(), userContentWorld.name())
    91 {
    92 }
    93 
    9478ContentWorld::~ContentWorld()
    9579{
  • trunk/Source/WebKit/UIProcess/API/APIContentWorld.h

    r256561 r257552  
    3232namespace API {
    3333
    34 class UserContentWorld;
    35 
    36 class ContentWorldBase {
    37 public:
    38     virtual ~ContentWorldBase() = default;
    39 
    40     WebKit::ContentWorldIdentifier identifier() const { return m_identifier; }
    41     const WTF::String& name() const { return m_name; }
    42     std::pair<WebKit::ContentWorldIdentifier, WTF::String> worldData() const { return { m_identifier, m_name }; }
    43 
    44     virtual void ref() const = 0;
    45     virtual void deref() const = 0;
    46 
    47 protected:
    48     ContentWorldBase(const WTF::String& name);
    49     ContentWorldBase(WebKit::ContentWorldIdentifier identifier)
    50         : m_identifier(identifier) { }
    51     ContentWorldBase(WebKit::ContentWorldIdentifier identifier, const WTF::String& name)
    52         : m_identifier(identifier)
    53         , m_name(name) { }
    54 private:
    55     WebKit::ContentWorldIdentifier m_identifier;
    56     WTF::String m_name;
    57 };
    58 
    59 class ContentWorld final : public API::ObjectImpl<API::Object::Type::ContentWorld>, public ContentWorldBase {
     34class ContentWorld final : public API::ObjectImpl<API::Object::Type::ContentWorld> {
    6035public:
    6136    static Ref<ContentWorld> sharedWorldWithName(const WTF::String&);
     
    6540    virtual ~ContentWorld();
    6641
    67     void ref() const final { ObjectImpl::ref(); }
    68     void deref() const final { ObjectImpl::deref(); }
     42    WebKit::ContentWorldIdentifier identifier() const { return m_identifier; }
     43    const WTF::String& name() const { return m_name; }
     44    std::pair<WebKit::ContentWorldIdentifier, WTF::String> worldData() const { return { m_identifier, m_name }; }
    6945
    7046private:
    7147    explicit ContentWorld(const WTF::String&);
    72     explicit ContentWorld(WebKit::ContentWorldIdentifier);
    73     explicit ContentWorld(const UserContentWorld&);
     48    explicit ContentWorld(WebKit::ContentWorldIdentifier identifier)
     49        : m_identifier(identifier) { }
     50
     51    WebKit::ContentWorldIdentifier m_identifier;
     52    WTF::String m_name;
    7453};
    7554
  • trunk/Source/WebKit/UIProcess/API/APIUserScript.cpp

    r246034 r257552  
    3737}
    3838
    39 UserScript::UserScript(WebCore::UserScript userScript, API::UserContentWorld& world)
     39UserScript::UserScript(WebCore::UserScript userScript, API::ContentWorld& world)
    4040    : m_userScript(userScript)
    4141    , m_world(world)
     
    4343}
    4444
    45 
    4645} // namespace API
  • trunk/Source/WebKit/UIProcess/API/APIUserScript.h

    r238771 r257552  
    2626#pragma once
    2727
     28#include "APIContentWorld.h"
    2829#include "APIObject.h"
    29 #include "APIUserContentWorld.h"
    3030#include <WebCore/UserScript.h>
    3131#include <wtf/Identified.h>
     
    3737    static WTF::URL generateUniqueURL();
    3838
    39     static Ref<UserScript> create(WebCore::UserScript userScript, API::UserContentWorld& world)
     39    static Ref<UserScript> create(WebCore::UserScript userScript, API::ContentWorld& world)
    4040    {
    4141        return adoptRef(*new UserScript(WTFMove(userScript), world));
    4242    }
    4343
    44     UserScript(WebCore::UserScript, API::UserContentWorld&);
     44    UserScript(WebCore::UserScript, API::ContentWorld&);
    4545
    4646    const WebCore::UserScript& userScript() const { return m_userScript; }
    4747   
    48     UserContentWorld& userContentWorld() { return m_world; }
    49     const UserContentWorld& userContentWorld() const { return m_world; }
     48    ContentWorld& contentWorld() { return m_world; }
     49    const ContentWorld& contentWorld() const { return m_world; }
    5050   
    5151private:
    5252    WebCore::UserScript m_userScript;
    53     Ref<UserContentWorld> m_world;
     53    Ref<ContentWorld> m_world;
    5454};
    5555
  • trunk/Source/WebKit/UIProcess/API/APIUserStyleSheet.cpp

    r246034 r257552  
    3737}
    3838
    39 UserStyleSheet::UserStyleSheet(WebCore::UserStyleSheet userStyleSheet, API::UserContentWorld& world)
     39UserStyleSheet::UserStyleSheet(WebCore::UserStyleSheet userStyleSheet, API::ContentWorld& world)
    4040    : m_userStyleSheet(userStyleSheet)
    4141    , m_world(world)
  • trunk/Source/WebKit/UIProcess/API/APIUserStyleSheet.h

    r238771 r257552  
    2626#pragma once
    2727
     28#include "APIContentWorld.h"
    2829#include "APIObject.h"
    29 #include "APIUserContentWorld.h"
    3030#include <WebCore/UserStyleSheet.h>
    3131#include <wtf/Identified.h>
     
    3737    static WTF::URL generateUniqueURL();
    3838
    39     static Ref<UserStyleSheet> create(WebCore::UserStyleSheet userStyleSheet, API::UserContentWorld& world)
     39    static Ref<UserStyleSheet> create(WebCore::UserStyleSheet userStyleSheet, API::ContentWorld& world)
    4040    {
    4141        return adoptRef(*new UserStyleSheet(WTFMove(userStyleSheet), world));
    4242    }
    4343
    44     UserStyleSheet(WebCore::UserStyleSheet, API::UserContentWorld&);
     44    UserStyleSheet(WebCore::UserStyleSheet, API::ContentWorld&);
    4545
    4646    const WebCore::UserStyleSheet& userStyleSheet() const { return m_userStyleSheet; }
    4747
    48     UserContentWorld& userContentWorld() { return m_world; }
    49     const UserContentWorld& userContentWorld() const { return m_world; }
     48    ContentWorld& contentWorld() { return m_world; }
     49    const ContentWorld& contentWorld() const { return m_world; }
    5050
    5151private:
    5252    WebCore::UserStyleSheet m_userStyleSheet;
    53     Ref<UserContentWorld> m_world;
     53    Ref<ContentWorld> m_world;
    5454};
    5555
  • trunk/Source/WebKit/UIProcess/API/C/WKPageGroup.cpp

    r238771 r257552  
    2929#include "APIArray.h"
    3030#include "APIContentRuleList.h"
    31 #include "APIUserContentWorld.h"
     31#include "APIContentWorld.h"
    3232#include "APIUserScript.h"
    3333#include "APIUserStyleSheet.h"
     
    7878    auto blacklist = toImpl(blacklistedURLPatterns);
    7979
    80     Ref<API::UserStyleSheet> userStyleSheet = API::UserStyleSheet::create(WebCore::UserStyleSheet { source, (baseURLString.isEmpty() ? WTF::blankURL() :  URL(URL(), baseURLString)), whitelist ? whitelist->toStringVector() : Vector<String>(), blacklist ? blacklist->toStringVector() : Vector<String>(), toUserContentInjectedFrames(injectedFrames), WebCore::UserStyleUserLevel }, API::UserContentWorld::normalWorld());
     80    Ref<API::UserStyleSheet> userStyleSheet = API::UserStyleSheet::create(WebCore::UserStyleSheet { source, (baseURLString.isEmpty() ? WTF::blankURL() :  URL(URL(), baseURLString)), whitelist ? whitelist->toStringVector() : Vector<String>(), blacklist ? blacklist->toStringVector() : Vector<String>(), toUserContentInjectedFrames(injectedFrames), WebCore::UserStyleUserLevel }, API::ContentWorld::pageContentWorld());
    8181
    8282    toImpl(pageGroupRef)->userContentController().addUserStyleSheet(userStyleSheet.get());
     
    100100   
    101101    auto url = baseURLString.isEmpty() ? WTF::blankURL() :  URL(URL(), baseURLString);
    102     Ref<API::UserScript> userScript = API::UserScript::create(WebCore::UserScript { WTFMove(source), WTFMove(url), whitelist ? whitelist->toStringVector() : Vector<String>(), blacklist ? blacklist->toStringVector() : Vector<String>(), toUserScriptInjectionTime(injectionTime), toUserContentInjectedFrames(injectedFrames) }, API::UserContentWorld::normalWorld());
     102    Ref<API::UserScript> userScript = API::UserScript::create(WebCore::UserScript { WTFMove(source), WTFMove(url), whitelist ? whitelist->toStringVector() : Vector<String>(), blacklist ? blacklist->toStringVector() : Vector<String>(), toUserScriptInjectionTime(injectionTime), toUserContentInjectedFrames(injectedFrames) }, API::ContentWorld::pageContentWorld());
    103103    toImpl(pageGroupRef)->userContentController().addUserScript(userScript.get(), InjectUserScriptImmediately::No);
    104104}
  • trunk/Source/WebKit/UIProcess/API/C/WKUserScriptRef.cpp

    r197172 r257552  
    3939WKUserScriptRef WKUserScriptCreateWithSource(WKStringRef sourceRef, _WKUserScriptInjectionTime injectionTime, bool forMainFrameOnly)
    4040{
    41     return toAPI(&API::UserScript::create(WebCore::UserScript { toWTFString(sourceRef), API::UserScript::generateUniqueURL(), { }, { }, toUserScriptInjectionTime(injectionTime), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames }, API::UserContentWorld::normalWorld()).leakRef());
     41    return toAPI(&API::UserScript::create(WebCore::UserScript { toWTFString(sourceRef), API::UserScript::generateUniqueURL(), { }, { }, toUserScriptInjectionTime(injectionTime), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames }, API::ContentWorld::pageContentWorld()).leakRef());
    4242}
    4343
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKContentWorld.mm

    r256561 r257552  
    7575- (_WKUserContentWorld *)_userContentWorld
    7676{
    77     return [[wrapper(API::UserContentWorld::fromContentWorld(*_contentWorld)) retain] autorelease];
     77    return [[[_WKUserContentWorld alloc] _initWithContentWorld:self] autorelease];
    7878}
    7979ALLOW_DEPRECATED_DECLARATIONS_END
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKUserContentController.mm

    r256332 r257552  
    2727#import "WKUserContentControllerInternal.h"
    2828
     29#import "APIContentWorld.h"
    2930#import "APISerializedScriptValue.h"
    30 #import "APIUserContentWorld.h"
    3131#import "InjectUserScriptImmediately.h"
    3232#import "WKContentRuleListInternal.h"
     33#import "WKContentWorldInternal.h"
    3334#import "WKFrameInfoInternal.h"
    3435#import "WKNSArray.h"
     
    147148- (void)addScriptMessageHandler:(id <WKScriptMessageHandler>)scriptMessageHandler name:(NSString *)name
    148149{
    149     auto handler = WebKit::WebScriptMessageHandler::create(makeUnique<ScriptMessageHandlerDelegate>(self, scriptMessageHandler, name), name, API::UserContentWorld::normalWorld());
     150    auto handler = WebKit::WebScriptMessageHandler::create(makeUnique<ScriptMessageHandlerDelegate>(self, scriptMessageHandler, name), name, API::ContentWorld::pageContentWorld());
    150151    if (!_userContentControllerProxy->addUserScriptMessageHandler(handler.get()))
    151152        [NSException raise:NSInvalidArgumentException format:@"Attempt to add script message handler with name '%@' when one already exists.", name];
     
    154155- (void)removeScriptMessageHandlerForName:(NSString *)name
    155156{
    156     _userContentControllerProxy->removeUserMessageHandlerForName(name, API::UserContentWorld::normalWorld());
     157    _userContentControllerProxy->removeUserMessageHandlerForName(name, API::ContentWorld::pageContentWorld());
    157158}
    158159
     
    176177- (void)_removeAllUserScriptsAssociatedWithUserContentWorld:(_WKUserContentWorld *)userContentWorld
    177178{
    178     _userContentControllerProxy->removeAllUserScripts(*userContentWorld->_userContentWorld);
     179    _userContentControllerProxy->removeAllUserScripts(*userContentWorld->_contentWorld->_contentWorld);
    179180}
    180181ALLOW_DEPRECATED_DECLARATIONS_END
     
    229230- (void)_removeAllUserStyleSheetsAssociatedWithUserContentWorld:(_WKUserContentWorld *)userContentWorld
    230231{
    231     _userContentControllerProxy->removeAllUserStyleSheets(*userContentWorld->_userContentWorld);
     232    _userContentControllerProxy->removeAllUserStyleSheets(*userContentWorld->_contentWorld->_contentWorld);
    232233}
    233234
    234235- (void)_addScriptMessageHandler:(id <WKScriptMessageHandler>)scriptMessageHandler name:(NSString *)name userContentWorld:(_WKUserContentWorld *)userContentWorld
    235236{
    236     auto handler = WebKit::WebScriptMessageHandler::create(makeUnique<ScriptMessageHandlerDelegate>(self, scriptMessageHandler, name), name, *userContentWorld->_userContentWorld);
     237    auto handler = WebKit::WebScriptMessageHandler::create(makeUnique<ScriptMessageHandlerDelegate>(self, scriptMessageHandler, name), name, *userContentWorld->_contentWorld->_contentWorld);
    237238    if (!_userContentControllerProxy->addUserScriptMessageHandler(handler.get()))
    238239        [NSException raise:NSInvalidArgumentException format:@"Attempt to add script message handler with name '%@' when one already exists.", name];
     
    241242- (void)_removeScriptMessageHandlerForName:(NSString *)name userContentWorld:(_WKUserContentWorld *)userContentWorld
    242243{
    243     _userContentControllerProxy->removeUserMessageHandlerForName(name, *userContentWorld->_userContentWorld);
     244    _userContentControllerProxy->removeUserMessageHandlerForName(name, *userContentWorld->_contentWorld->_contentWorld);
    244245}
    245246
    246247- (void)_removeAllScriptMessageHandlersAssociatedWithUserContentWorld:(_WKUserContentWorld *)userContentWorld
    247248{
    248     _userContentControllerProxy->removeAllUserMessageHandlers(*userContentWorld->_userContentWorld);
     249    _userContentControllerProxy->removeAllUserMessageHandlers(*userContentWorld->_contentWorld->_contentWorld);
    249250}
    250251ALLOW_DEPRECATED_DECLARATIONS_END
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKUserScript.mm

    r256332 r257552  
    3636        return nil;
    3737
    38     API::Object::constructInWrapper<API::UserScript>(self, WebCore::UserScript { WTF::String(source), API::UserScript::generateUniqueURL(), { }, { }, API::toWebCoreUserScriptInjectionTime(injectionTime), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames }, API::UserContentWorld::normalWorld());
     38    API::Object::constructInWrapper<API::UserScript>(self, WebCore::UserScript { WTF::String(source), API::UserScript::generateUniqueURL(), { }, { }, API::toWebCoreUserScriptInjectionTime(injectionTime), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames }, API::ContentWorld::pageContentWorld());
    3939
    4040    return self;
     
    8585        return nil;
    8686
    87     API::Object::constructInWrapper<API::UserScript>(self, WebCore::UserScript { WTF::String(source), API::UserScript::generateUniqueURL(), API::toStringVector(legacyWhitelist), API::toStringVector(legacyBlacklist), API::toWebCoreUserScriptInjectionTime(injectionTime), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames }, *userContentWorld->_userContentWorld);
     87    API::Object::constructInWrapper<API::UserScript>(self, WebCore::UserScript { WTF::String(source), API::UserScript::generateUniqueURL(), API::toStringVector(legacyWhitelist), API::toStringVector(legacyBlacklist), API::toWebCoreUserScriptInjectionTime(injectionTime), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames }, *userContentWorld->_contentWorld->_contentWorld);
    8888
    8989    return self;
     
    9595        return nil;
    9696
    97     API::Object::constructInWrapper<API::UserScript>(self, WebCore::UserScript { WTF::String(source), URL(associatedURL), API::toStringVector(legacyWhitelist), API::toStringVector(legacyBlacklist), API::toWebCoreUserScriptInjectionTime(injectionTime), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames }, *userContentWorld->_userContentWorld);
     97    API::Object::constructInWrapper<API::UserScript>(self, WebCore::UserScript { WTF::String(source), URL(associatedURL), API::toStringVector(legacyWhitelist), API::toStringVector(legacyBlacklist), API::toWebCoreUserScriptInjectionTime(injectionTime), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames }, *userContentWorld->_contentWorld->_contentWorld);
    9898
    9999    return self;
     
    102102- (_WKUserContentWorld *)_userContentWorld
    103103{
    104     return wrapper(_userScript->userContentWorld());
     104    return [[[_WKUserContentWorld alloc] _initWithContentWorld:wrapper(_userScript->contentWorld())] autorelease];
    105105}
    106106ALLOW_DEPRECATED_DECLARATIONS_END
    107107
     108- (instancetype)_initWithSource:(NSString *)source injectionTime:(WKUserScriptInjectionTime)injectionTime forMainFrameOnly:(BOOL)forMainFrameOnly legacyWhitelist:(NSArray *)legacyWhitelist legacyBlacklist:(NSArray *)legacyBlacklist contentWorld:(WKContentWorld *)contentWorld
     109{
     110    if (!(self = [super init]))
     111        return nil;
     112
     113    API::Object::constructInWrapper<API::UserScript>(self, WebCore::UserScript { WTF::String(source), API::UserScript::generateUniqueURL(), API::toStringVector(legacyWhitelist), API::toStringVector(legacyBlacklist), API::toWebCoreUserScriptInjectionTime(injectionTime), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames }, *contentWorld->_contentWorld);
     114
     115    return self;
     116}
     117
     118- (instancetype)_initWithSource:(NSString *)source injectionTime:(WKUserScriptInjectionTime)injectionTime forMainFrameOnly:(BOOL)forMainFrameOnly legacyWhitelist:(NSArray *)legacyWhitelist legacyBlacklist:(NSArray *)legacyBlacklist associatedURL:(NSURL *)associatedURL contentWorld:(WKContentWorld *)contentWorld
     119{
     120    if (!(self = [super init]))
     121        return nil;
     122
     123    API::Object::constructInWrapper<API::UserScript>(self, WebCore::UserScript { WTF::String(source), URL(associatedURL), API::toStringVector(legacyWhitelist), API::toStringVector(legacyBlacklist), API::toWebCoreUserScriptInjectionTime(injectionTime), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames }, *contentWorld->_contentWorld);
     124
     125    return self;
     126}
     127
     128- (WKContentWorld *)_contentWorld
     129{
     130    return wrapper(_userScript->contentWorld());
     131}
     132
    108133@end
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKUserScriptPrivate.h

    r243376 r257552  
    2828NS_ASSUME_NONNULL_BEGIN
    2929
     30@class WKContentWorld;
    3031@class _WKUserContentWorld;
    3132
     
    3536- (instancetype)_initWithSource:(NSString *)source injectionTime:(WKUserScriptInjectionTime)injectionTime forMainFrameOnly:(BOOL)forMainFrameOnly legacyWhitelist:(NSArray<NSString *> *)legacyWhitelist legacyBlacklist:(NSArray<NSString *> *)legacyBlacklist associatedURL:(NSURL *)associatedURL userContentWorld:(_WKUserContentWorld *)userContentWorld WK_API_AVAILABLE(macos(10.12), ios(10.0));
    3637
     38- (instancetype)_initWithSource:(NSString *)source injectionTime:(WKUserScriptInjectionTime)injectionTime forMainFrameOnly:(BOOL)forMainFrameOnly legacyWhitelist:(NSArray<NSString *> *)legacyWhitelist legacyBlacklist:(NSArray<NSString *> *)legacyBlacklist contentWorld:(WKContentWorld *)contentWorld WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
     39- (instancetype)_initWithSource:(NSString *)source injectionTime:(WKUserScriptInjectionTime)injectionTime forMainFrameOnly:(BOOL)forMainFrameOnly legacyWhitelist:(NSArray<NSString *> *)legacyWhitelist legacyBlacklist:(NSArray<NSString *> *)legacyBlacklist associatedURL:(NSURL *)associatedURL contentWorld:(WKContentWorld *)contentWorld WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
     40
    3741@property (nonatomic, readonly) _WKUserContentWorld *_userContentWorld WK_API_AVAILABLE(macos(10.12), ios(10.0));
     42@property (nonatomic, readonly) WKContentWorld *_contentWorld WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
    3843
    3944@end
  • trunk/Source/WebKit/UIProcess/API/Cocoa/_WKUserContentWorld.mm

    r256561 r257552  
    2727#import "_WKUserContentWorldInternal.h"
    2828
     29#import "WKContentWorldInternal.h"
     30
    2931ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
    3032@implementation _WKUserContentWorld
    3133
     34- (instancetype)_initWithName:(NSString *)name
     35{
     36    if (!(self = [super init]))
     37        return nil;
     38
     39    _contentWorld = [WKContentWorld worldWithName:name];
     40    return self;
     41}
     42
     43- (instancetype)_init
     44{
     45    if (!(self = [super init]))
     46        return nil;
     47
     48    _contentWorld = [WKContentWorld pageWorld];
     49    return self;
     50}
     51
     52- (instancetype)_initWithContentWorld:(WKContentWorld *)world
     53{
     54    if (!(self = [super init]))
     55        return nil;
     56
     57    _contentWorld = world;
     58    return self;
     59}
     60
    3261+ (_WKUserContentWorld *)worldWithName:(NSString *)name
    3362{
    34     return wrapper(API::UserContentWorld::worldWithName(name));
     63    return [[[_WKUserContentWorld alloc] _initWithName:name] autorelease];
    3564}
    3665
    3766+ (_WKUserContentWorld *)normalWorld
    3867{
    39     return wrapper(API::UserContentWorld::normalWorld());
    40 }
    41 
    42 - (void)dealloc
    43 {
    44     _userContentWorld->~UserContentWorld();
    45 
    46     [super dealloc];
     68    return [[[_WKUserContentWorld alloc] _init] autorelease];
    4769}
    4870
    4971- (NSString *)name
    5072{
    51     if (_userContentWorld.get() == &API::UserContentWorld::normalWorld())
    52         return nil;
    53     return _userContentWorld->name();
     73    return [_contentWorld name];
    5474}
    5575
     
    5878- (API::Object&)_apiObject
    5979{
    60     return *_userContentWorld;
     80    return [_contentWorld _apiObject];
    6181}
    6282
  • trunk/Source/WebKit/UIProcess/API/Cocoa/_WKUserContentWorldInternal.h

    r256332 r257552  
    2626#import "_WKUserContentWorld.h"
    2727
    28 #import "APIUserContentWorld.h"
    29 #import "WKObject.h"
    30 #import <wtf/Vector.h>
    31 #import <wtf/text/WTFString.h>
    32 
    33 namespace WebKit {
    34 
    35 template<> struct WrapperTraits<API::UserContentWorld> {
    36     ALLOW_DEPRECATED_DECLARATIONS_BEGIN
    37     using WrapperClass = _WKUserContentWorld;
    38     ALLOW_DEPRECATED_DECLARATIONS_END
    39 };
    40 
    41 }
     28@class WKContentWorld;
    4229
    4330namespace API {
     
    6350@interface _WKUserContentWorld () <WKObject> {
    6451@package
    65     API::ObjectStorage<API::UserContentWorld> _userContentWorld;
     52    RetainPtr<WKContentWorld> _contentWorld;
    6653}
     54- (instancetype)_initWithContentWorld:(WKContentWorld *)world;
    6755@end
  • trunk/Source/WebKit/UIProcess/API/Cocoa/_WKUserStyleSheet.mm

    r256332 r257552  
    4343    WebKit::InitializeWebKit2();
    4444
    45     API::Object::constructInWrapper<API::UserStyleSheet>(self, WebCore::UserStyleSheet { WTF::String(source), API::UserStyleSheet::generateUniqueURL(), { }, { }, forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames, WebCore::UserStyleUserLevel }, API::UserContentWorld::normalWorld());
     45    API::Object::constructInWrapper<API::UserStyleSheet>(self, WebCore::UserStyleSheet { WTF::String(source), API::UserStyleSheet::generateUniqueURL(), { }, { }, forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames, WebCore::UserStyleUserLevel }, API::ContentWorld::pageContentWorld());
    4646
    4747    return self;
     
    5757    WebKit::InitializeWebKit2();
    5858
    59     API::Object::constructInWrapper<API::UserStyleSheet>(self, WebCore::UserStyleSheet { WTF::String(source), API::UserStyleSheet::generateUniqueURL(), API::toStringVector(legacyWhitelist), API::toStringVector(legacyBlacklist), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames, WebCore::UserStyleUserLevel }, *userContentWorld->_userContentWorld);
     59    API::Object::constructInWrapper<API::UserStyleSheet>(self, WebCore::UserStyleSheet { WTF::String(source), API::UserStyleSheet::generateUniqueURL(), API::toStringVector(legacyWhitelist), API::toStringVector(legacyBlacklist), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames, WebCore::UserStyleUserLevel }, *userContentWorld->_contentWorld->_contentWorld);
    6060
    6161    return self;
     
    7070    WebKit::InitializeWebKit2();
    7171
    72     API::Object::constructInWrapper<API::UserStyleSheet>(self, WebCore::UserStyleSheet { WTF::String(source), {  URL(), WTF::String([baseURL _web_originalDataAsWTFString]) }, API::toStringVector(legacyWhitelist), API::toStringVector(legacyBlacklist), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames, WebCore::UserStyleUserLevel }, *userContentWorld->_userContentWorld);
     72    API::Object::constructInWrapper<API::UserStyleSheet>(self, WebCore::UserStyleSheet { WTF::String(source), {  URL(), WTF::String([baseURL _web_originalDataAsWTFString]) }, API::toStringVector(legacyWhitelist), API::toStringVector(legacyBlacklist), forMainFrameOnly ? WebCore::InjectInTopFrameOnly : WebCore::InjectInAllFrames, WebCore::UserStyleUserLevel }, *userContentWorld->_contentWorld->_contentWorld);
    7373
    7474    return self;
  • trunk/Source/WebKit/UIProcess/API/glib/WebKitUserContent.cpp

    r241790 r257552  
    3939
    4040
    41 API::UserContentWorld& webkitUserContentWorld(const char* worldName)
    42 {
    43     static NeverDestroyed<HashMap<CString, RefPtr<API::UserContentWorld>>> map;
    44     return *map.get().ensure(worldName, [worldName = String::fromUTF8(worldName)] { return API::UserContentWorld::worldWithName(worldName); }).iterator->value;
     41API::ContentWorld& webkitContentWorld(const char* worldName)
     42{
     43    static NeverDestroyed<HashMap<CString, RefPtr<API::ContentWorld>>> map;
     44    return *map.get().ensure(worldName, [worldName = String::fromUTF8(worldName)] {
     45        return API::ContentWorld::sharedWorldWithName(worldName);
     46    }).iterator->value;
    4547}
    4648
     
    9698
    9799struct _WebKitUserStyleSheet {
    98     _WebKitUserStyleSheet(const gchar* source, WebKitUserContentInjectedFrames injectedFrames, WebKitUserStyleLevel level, const char* const* whitelist, const char* const* blacklist, API::UserContentWorld& world)
     100    _WebKitUserStyleSheet(const gchar* source, WebKitUserContentInjectedFrames injectedFrames, WebKitUserStyleLevel level, const char* const* whitelist, const char* const* blacklist, API::ContentWorld& world)
    99101        : userStyleSheet(adoptRef(new API::UserStyleSheet(UserStyleSheet {
    100102            String::fromUTF8(source), URL { },
     
    172174    g_return_val_if_fail(source, nullptr);
    173175    WebKitUserStyleSheet* userStyleSheet = static_cast<WebKitUserStyleSheet*>(fastMalloc(sizeof(WebKitUserStyleSheet)));
    174     new (userStyleSheet) WebKitUserStyleSheet(source, injectedFrames, level, whitelist, blacklist, API::UserContentWorld::normalWorld());
     176    new (userStyleSheet) WebKitUserStyleSheet(source, injectedFrames, level, whitelist, blacklist, API::ContentWorld::pageContentWorld());
    175177    return userStyleSheet;
    176178}
     
    198200
    199201    WebKitUserStyleSheet* userStyleSheet = static_cast<WebKitUserStyleSheet*>(fastMalloc(sizeof(WebKitUserStyleSheet)));
    200     new (userStyleSheet) WebKitUserStyleSheet(source, injectedFrames, level, whitelist, blacklist, webkitUserContentWorld(worldName));
     202    new (userStyleSheet) WebKitUserStyleSheet(source, injectedFrames, level, whitelist, blacklist, webkitContentWorld(worldName));
    201203    return userStyleSheet;
    202204}
     
    208210
    209211struct _WebKitUserScript {
    210     _WebKitUserScript(const gchar* source, WebKitUserContentInjectedFrames injectedFrames, WebKitUserScriptInjectionTime injectionTime, const gchar* const* whitelist, const gchar* const* blacklist, API::UserContentWorld& world)
     212    _WebKitUserScript(const gchar* source, WebKitUserContentInjectedFrames injectedFrames, WebKitUserScriptInjectionTime injectionTime, const gchar* const* whitelist, const gchar* const* blacklist, API::ContentWorld& world)
    211213        : userScript(adoptRef(new API::UserScript(UserScript {
    212214            String::fromUTF8(source), URL { },
     
    284286    g_return_val_if_fail(source, nullptr);
    285287    WebKitUserScript* userScript = static_cast<WebKitUserScript*>(fastMalloc(sizeof(WebKitUserScript)));
    286     new (userScript) WebKitUserScript(source, injectedFrames, injectionTime, whitelist, blacklist, API::UserContentWorld::normalWorld());
     288    new (userScript) WebKitUserScript(source, injectedFrames, injectionTime, whitelist, blacklist, API::ContentWorld::pageContentWorld());
    287289    return userScript;
    288290}
     
    310312
    311313    WebKitUserScript* userScript = static_cast<WebKitUserScript*>(fastMalloc(sizeof(WebKitUserScript)));
    312     new (userScript) WebKitUserScript(source, injectedFrames, injectionTime, whitelist, blacklist, webkitUserContentWorld(worldName));
     314    new (userScript) WebKitUserScript(source, injectedFrames, injectionTime, whitelist, blacklist, webkitContentWorld(worldName));
    313315    return userScript;
    314316}
  • trunk/Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp

    r252492 r257552  
    240240
    241241    Ref<WebScriptMessageHandler> handler =
    242         WebScriptMessageHandler::create(makeUnique<ScriptMessageClientGtk>(manager, name), String::fromUTF8(name), API::UserContentWorld::normalWorld());
     242        WebScriptMessageHandler::create(makeUnique<ScriptMessageClientGtk>(manager, name), String::fromUTF8(name), API::ContentWorld::pageContentWorld());
    243243    return manager->priv->userContentController->addUserScriptMessageHandler(handler.get());
    244244}
     
    264264    g_return_if_fail(WEBKIT_IS_USER_CONTENT_MANAGER(manager));
    265265    g_return_if_fail(name);
    266     manager->priv->userContentController->removeUserMessageHandlerForName(String::fromUTF8(name), API::UserContentWorld::normalWorld());
     266    manager->priv->userContentController->removeUserMessageHandlerForName(String::fromUTF8(name), API::ContentWorld::pageContentWorld());
    267267}
    268268
     
    290290
    291291    Ref<WebScriptMessageHandler> handler =
    292         WebScriptMessageHandler::create(makeUnique<ScriptMessageClientGtk>(manager, name), String::fromUTF8(name), webkitUserContentWorld(worldName));
     292        WebScriptMessageHandler::create(makeUnique<ScriptMessageClientGtk>(manager, name), String::fromUTF8(name), webkitContentWorld(worldName));
    293293    return manager->priv->userContentController->addUserScriptMessageHandler(handler.get());
    294294}
     
    317317    g_return_if_fail(worldName);
    318318
    319     manager->priv->userContentController->removeUserMessageHandlerForName(String::fromUTF8(name), webkitUserContentWorld(worldName));
     319    manager->priv->userContentController->removeUserMessageHandlerForName(String::fromUTF8(name), webkitContentWorld(worldName));
    320320}
    321321
  • trunk/Source/WebKit/UIProcess/API/glib/WebKitUserContentPrivate.h

    r241790 r257552  
    2222
    2323#include "APIContentRuleList.h"
    24 #include "APIUserContentWorld.h"
     24#include "APIContentWorld.h"
    2525#include "APIUserScript.h"
    2626#include "APIUserStyleSheet.h"
     
    3131API::UserScript& webkitUserScriptGetUserScript(WebKitUserScript*);
    3232API::UserStyleSheet& webkitUserStyleSheetGetUserStyleSheet(WebKitUserStyleSheet*);
    33 API::UserContentWorld& webkitUserContentWorld(const char*);
     33API::ContentWorld& webkitContentWorld(const char*);
    3434API::ContentRuleList& webkitUserContentFilterGetContentRuleList(WebKitUserContentFilter*);
    3535WebKitUserContentFilter* webkitUserContentFilterCreate(RefPtr<API::ContentRuleList>&&);
  • trunk/Source/WebKit/UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp

    r255232 r257552  
    2323#if ENABLE(REMOTE_INSPECTOR)
    2424
    25 #include "APIUserContentWorld.h"
     25#include "APIContentWorld.h"
    2626#include "WebKitError.h"
    2727#include "WebKitNavigationPolicyDecision.h"
     
    7474
    7575    for (auto* userContentManager : m_userContentManagers) {
    76         webkitUserContentManagerGetUserContentControllerProxy(userContentManager)->removeUserMessageHandlerForName("inspector", API::UserContentWorld::normalWorld());
     76        webkitUserContentManagerGetUserContentControllerProxy(userContentManager)->removeUserMessageHandlerForName("inspector", API::ContentWorld::pageContentWorld());
    7777        g_object_weak_unref(G_OBJECT(userContentManager), reinterpret_cast<GWeakNotify>(userContentManagerDestroyed), this);
    7878    }
     
    107107    auto userContentManagerResult = m_userContentManagers.add(userContentManager);
    108108    if (userContentManagerResult.isNewEntry) {
    109         auto handler = WebScriptMessageHandler::create(makeUnique<ScriptMessageClient>(*this), "inspector", API::UserContentWorld::normalWorld());
     109        auto handler = WebScriptMessageHandler::create(makeUnique<ScriptMessageClient>(*this), "inspector", API::ContentWorld::pageContentWorld());
    110110        webkitUserContentManagerGetUserContentControllerProxy(userContentManager)->addUserScriptMessageHandler(handler.get());
    111111        g_object_weak_ref(G_OBJECT(userContentManager), reinterpret_cast<GWeakNotify>(userContentManagerDestroyed), this);
  • trunk/Source/WebKit/UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.cpp

    r255214 r257552  
    2929#if ENABLE(REMOTE_INSPECTOR)
    3030
     31#include "APIContentWorld.h"
    3132#include "APILoaderClient.h"
    3233#include "APINavigation.h"
    33 #include "APIUserContentWorld.h"
    3434#include "WebPageGroup.h"
    3535#include "WebPageProxy.h"
     
    158158
    159159    // Setup target postMessage listener
    160     auto handler = WebScriptMessageHandler::create(makeUnique<ScriptMessageClient>(*this), "inspector", API::UserContentWorld::normalWorld());
     160    auto handler = WebScriptMessageHandler::create(makeUnique<ScriptMessageClient>(*this), "inspector", API::ContentWorld::pageContentWorld());
    161161    pageProxy.pageGroup().userContentController().addUserScriptMessageHandler(handler.get());
    162162
  • trunk/Source/WebKit/UIProcess/UserContent/WebScriptMessageHandler.cpp

    r221399 r257552  
    2727#include "WebScriptMessageHandler.h"
    2828
    29 #include "APIUserContentWorld.h"
     29#include "APIContentWorld.h"
    3030
    3131namespace WebKit {
    3232
    33 Ref<WebScriptMessageHandler> WebScriptMessageHandler::create(std::unique_ptr<Client> client, const String& name, API::UserContentWorld& world)
     33Ref<WebScriptMessageHandler> WebScriptMessageHandler::create(std::unique_ptr<Client> client, const String& name, API::ContentWorld& world)
    3434{
    3535    return adoptRef(*new WebScriptMessageHandler(WTFMove(client), name, world));
    3636}
    3737
    38 WebScriptMessageHandler::WebScriptMessageHandler(std::unique_ptr<Client> client, const String& name, API::UserContentWorld& world)
     38WebScriptMessageHandler::WebScriptMessageHandler(std::unique_ptr<Client> client, const String& name, API::ContentWorld& world)
    3939    : m_client(WTFMove(client))
    4040    , m_name(name)
  • trunk/Source/WebKit/UIProcess/UserContent/WebScriptMessageHandler.h

    r254862 r257552  
    2626#pragma once
    2727
    28 #include "APIUserContentWorld.h"
     28#include "APIContentWorld.h"
    2929#include "WebUserContentControllerDataTypes.h"
    3030#include <wtf/Identified.h>
     
    3939
    4040namespace API {
    41 class UserContentWorld;
     41class ContentWorld;
    4242}
    4343
     
    5656    };
    5757
    58     static Ref<WebScriptMessageHandler> create(std::unique_ptr<Client>, const String& name, API::UserContentWorld&);
     58    static Ref<WebScriptMessageHandler> create(std::unique_ptr<Client>, const String& name, API::ContentWorld&);
    5959    virtual ~WebScriptMessageHandler();
    6060
    6161    String name() const { return m_name; }
    6262
    63     API::ContentWorldBase& world() { return m_world.get(); }
     63    API::ContentWorld& world() { return m_world.get(); }
    6464
    6565    Client& client() const { return *m_client; }
    6666
    6767private:
    68     WebScriptMessageHandler(std::unique_ptr<Client>, const String&, API::UserContentWorld&);
     68    WebScriptMessageHandler(std::unique_ptr<Client>, const String&, API::ContentWorld&);
    6969
    7070    std::unique_ptr<Client> m_client;
    7171    String m_name;
    72     Ref<API::UserContentWorld> m_world;
     72    Ref<API::ContentWorld> m_world;
    7373};
    7474
  • trunk/Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp

    r255127 r257552  
    2929#include "APIArray.h"
    3030#include "APIContentWorld.h"
    31 #include "APIUserContentWorld.h"
    3231#include "APIUserScript.h"
    3332#include "APIUserStyleSheet.h"
     
    111110    ASSERT(parameters.userScripts.isEmpty());
    112111    for (auto userScript : m_userScripts->elementsOfType<API::UserScript>())
    113         parameters.userScripts.append({ userScript->identifier(), userScript->userContentWorld().identifier(), userScript->userScript() });
     112        parameters.userScripts.append({ userScript->identifier(), userScript->contentWorld().identifier(), userScript->userScript() });
    114113
    115114    ASSERT(parameters.userStyleSheets.isEmpty());
    116115    for (auto userStyleSheet : m_userStyleSheets->elementsOfType<API::UserStyleSheet>())
    117         parameters.userStyleSheets.append({ userStyleSheet->identifier(), userStyleSheet->userContentWorld().identifier(), userStyleSheet->userStyleSheet() });
     116        parameters.userStyleSheets.append({ userStyleSheet->identifier(), userStyleSheet->contentWorld().identifier(), userStyleSheet->userStyleSheet() });
    118117
    119118    ASSERT(parameters.messageHandlers.isEmpty());
     
    147146}
    148147
    149 void WebUserContentControllerProxy::addUserContentWorldUse(API::ContentWorldBase& world)
    150 {
    151     if (&world == &API::UserContentWorld::normalWorld())
     148void WebUserContentControllerProxy::addContentWorldUse(API::ContentWorld& world)
     149{
     150    if (&world == &API::ContentWorld::pageContentWorld())
    152151        return;
    153152
     
    155154    if (addResult.isNewEntry) {
    156155        for (auto& process : m_processes)
    157             process.send(Messages::WebUserContentController::AddUserContentWorlds({ world.worldData() }), identifier());
    158     }
    159 }
    160 
    161 bool WebUserContentControllerProxy::shouldSendRemoveUserContentWorldsMessage(API::UserContentWorld& world, unsigned numberOfUsesToRemove)
    162 {
    163     if (&world == &API::UserContentWorld::normalWorld())
     156            process.send(Messages::WebUserContentController::AddContentWorlds({ world.worldData() }), identifier());
     157    }
     158}
     159
     160bool WebUserContentControllerProxy::shouldSendRemoveContentWorldsMessage(API::ContentWorld& world, unsigned numberOfUsesToRemove)
     161{
     162    if (&world == &API::ContentWorld::pageContentWorld())
    164163        return false;
    165164
     
    175174}
    176175
    177 void WebUserContentControllerProxy::removeUserContentWorldUses(API::UserContentWorld& world, unsigned numberOfUsesToRemove)
    178 {
    179     if (shouldSendRemoveUserContentWorldsMessage(world, numberOfUsesToRemove)) {
     176void WebUserContentControllerProxy::removeContentWorldUses(API::ContentWorld& world, unsigned numberOfUsesToRemove)
     177{
     178    if (shouldSendRemoveContentWorldsMessage(world, numberOfUsesToRemove)) {
    180179        for (auto& process : m_processes)
    181             process.send(Messages::WebUserContentController::RemoveUserContentWorlds({ world.identifier() }), identifier());
    182     }
    183 }
    184 
    185 void WebUserContentControllerProxy::removeUserContentWorldUses(HashCountedSet<RefPtr<API::UserContentWorld>>& worlds)
     180            process.send(Messages::WebUserContentController::RemoveContentWorlds({ world.identifier() }), identifier());
     181    }
     182}
     183
     184void WebUserContentControllerProxy::removeContentWorldUses(HashCountedSet<RefPtr<API::ContentWorld>>& worlds)
    186185{
    187186    Vector<ContentWorldIdentifier> worldsToRemove;
    188187    for (auto& worldUsePair : worlds) {
    189         if (shouldSendRemoveUserContentWorldsMessage(*worldUsePair.key.get(), worldUsePair.value))
     188        if (shouldSendRemoveContentWorldsMessage(*worldUsePair.key.get(), worldUsePair.value))
    190189            worldsToRemove.append(worldUsePair.key->identifier());
    191190    }
    192191
    193192    for (auto& process : m_processes)
    194         process.send(Messages::WebUserContentController::RemoveUserContentWorlds(worldsToRemove), identifier());
     193        process.send(Messages::WebUserContentController::RemoveContentWorlds(worldsToRemove), identifier());
    195194}
    196195
    197196void WebUserContentControllerProxy::addUserScript(API::UserScript& userScript, InjectUserScriptImmediately immediately)
    198197{
    199     Ref<API::UserContentWorld> world = userScript.userContentWorld();
    200 
    201     addUserContentWorldUse(world.get());
     198    Ref<API::ContentWorld> world = userScript.contentWorld();
     199
     200    addContentWorldUse(world.get());
    202201
    203202    m_userScripts->elements().append(&userScript);
     
    209208void WebUserContentControllerProxy::removeUserScript(API::UserScript& userScript)
    210209{
    211     Ref<API::UserContentWorld> world = userScript.userContentWorld();
     210    Ref<API::ContentWorld> world = userScript.contentWorld();
    212211
    213212    for (auto& process : m_processes)
     
    216215    m_userScripts->elements().removeAll(&userScript);
    217216
    218     removeUserContentWorldUses(world.get(), 1);
    219 }
    220 
    221 void WebUserContentControllerProxy::removeAllUserScripts(API::UserContentWorld& world)
     217    removeContentWorldUses(world.get(), 1);
     218}
     219
     220void WebUserContentControllerProxy::removeAllUserScripts(API::ContentWorld& world)
    222221{
    223222    for (auto& process : m_processes)
     
    225224
    226225    unsigned userScriptsRemoved = m_userScripts->removeAllOfTypeMatching<API::UserScript>([&](const auto& userScript) {
    227         return &userScript->userContentWorld() == &world;
     226        return &userScript->contentWorld() == &world;
    228227    });
    229228
    230     removeUserContentWorldUses(world, userScriptsRemoved);
     229    removeContentWorldUses(world, userScriptsRemoved);
    231230}
    232231
    233232void WebUserContentControllerProxy::removeAllUserScripts()
    234233{
    235     HashCountedSet<RefPtr<API::UserContentWorld>> worlds;
     234    HashCountedSet<RefPtr<API::ContentWorld>> worlds;
    236235    for (auto userScript : m_userScripts->elementsOfType<API::UserScript>())
    237         worlds.add(const_cast<API::UserContentWorld*>(&userScript->userContentWorld()));
     236        worlds.add(const_cast<API::ContentWorld*>(&userScript->contentWorld()));
    238237
    239238    Vector<ContentWorldIdentifier> worldIdentifiers;
     
    247246    m_userScripts->elements().clear();
    248247
    249     removeUserContentWorldUses(worlds);
     248    removeContentWorldUses(worlds);
    250249}
    251250
    252251void WebUserContentControllerProxy::addUserStyleSheet(API::UserStyleSheet& userStyleSheet)
    253252{
    254     Ref<API::UserContentWorld> world = userStyleSheet.userContentWorld();
    255 
    256     addUserContentWorldUse(world.get());
     253    Ref<API::ContentWorld> world = userStyleSheet.contentWorld();
     254
     255    addContentWorldUse(world.get());
    257256
    258257    m_userStyleSheets->elements().append(&userStyleSheet);
     
    264263void WebUserContentControllerProxy::removeUserStyleSheet(API::UserStyleSheet& userStyleSheet)
    265264{
    266     Ref<API::UserContentWorld> world = userStyleSheet.userContentWorld();
     265    Ref<API::ContentWorld> world = userStyleSheet.contentWorld();
    267266
    268267    for (auto& process : m_processes)
     
    271270    m_userStyleSheets->elements().removeAll(&userStyleSheet);
    272271
    273     removeUserContentWorldUses(world.get(), 1);
    274 }
    275 
    276 void WebUserContentControllerProxy::removeAllUserStyleSheets(API::UserContentWorld& world)
     272    removeContentWorldUses(world.get(), 1);
     273}
     274
     275void WebUserContentControllerProxy::removeAllUserStyleSheets(API::ContentWorld& world)
    277276{
    278277    for (auto& process : m_processes)
     
    280279
    281280    unsigned userStyleSheetsRemoved = m_userStyleSheets->removeAllOfTypeMatching<API::UserStyleSheet>([&](const auto& userStyleSheet) {
    282         return &userStyleSheet->userContentWorld() == &world;
     281        return &userStyleSheet->contentWorld() == &world;
    283282    });
    284283
    285     removeUserContentWorldUses(world, userStyleSheetsRemoved);
     284    removeContentWorldUses(world, userStyleSheetsRemoved);
    286285}
    287286
    288287void WebUserContentControllerProxy::removeAllUserStyleSheets()
    289288{
    290     HashCountedSet<RefPtr<API::UserContentWorld>> worlds;
     289    HashCountedSet<RefPtr<API::ContentWorld>> worlds;
    291290    for (auto userStyleSheet : m_userStyleSheets->elementsOfType<API::UserStyleSheet>())
    292         worlds.add(const_cast<API::UserContentWorld*>(&userStyleSheet->userContentWorld()));
     291        worlds.add(const_cast<API::ContentWorld*>(&userStyleSheet->contentWorld()));
    293292
    294293    Vector<ContentWorldIdentifier> worldIdentifiers;
     
    302301    m_userStyleSheets->elements().clear();
    303302
    304     removeUserContentWorldUses(worlds);
     303    removeContentWorldUses(worlds);
    305304}
    306305
     
    314313    }
    315314
    316     addUserContentWorldUse(world);
     315    addContentWorldUse(world);
    317316
    318317    m_scriptMessageHandlers.add(handler.identifier(), &handler);
     
    324323}
    325324
    326 void WebUserContentControllerProxy::removeUserMessageHandlerForName(const String& name, API::UserContentWorld& world)
     325void WebUserContentControllerProxy::removeUserMessageHandlerForName(const String& name, API::ContentWorld& world)
    327326{
    328327    for (auto it = m_scriptMessageHandlers.begin(), end = m_scriptMessageHandlers.end(); it != end; ++it) {
     
    333332            m_scriptMessageHandlers.remove(it);
    334333
    335             removeUserContentWorldUses(world, 1);
     334            removeContentWorldUses(world, 1);
    336335            return;
    337336        }
     
    339338}
    340339
    341 void WebUserContentControllerProxy::removeAllUserMessageHandlers(API::UserContentWorld& world)
     340void WebUserContentControllerProxy::removeAllUserMessageHandlers(API::ContentWorld& world)
    342341{
    343342    for (auto& process : m_processes)
     
    353352    });
    354353
    355     removeUserContentWorldUses(world, numberRemoved);
     354    removeContentWorldUses(world, numberRemoved);
    356355}
    357356
  • trunk/Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.h

    r254862 r257552  
    4242class Array;
    4343class ContentRuleList;
    44 class ContentWorldBase;
    45 class UserContentWorld;
     44class ContentWorld;
    4645class UserScript;
    4746class UserStyleSheet;
     
    8382    void addUserScript(API::UserScript&, InjectUserScriptImmediately);
    8483    void removeUserScript(API::UserScript&);
    85     void removeAllUserScripts(API::UserContentWorld&);
     84    void removeAllUserScripts(API::ContentWorld&);
    8685    void removeAllUserScripts();
    8786
     
    8988    void addUserStyleSheet(API::UserStyleSheet&);
    9089    void removeUserStyleSheet(API::UserStyleSheet&);
    91     void removeAllUserStyleSheets(API::UserContentWorld&);
     90    void removeAllUserStyleSheets(API::ContentWorld&);
    9291    void removeAllUserStyleSheets();
    9392
    94     void removeAllUserContent(API::UserContentWorld&);
     93    void removeAllUserContent(API::ContentWorld&);
    9594
    9695    // Returns false if there was a name conflict.
    9796    bool addUserScriptMessageHandler(WebScriptMessageHandler&);
    98     void removeUserMessageHandlerForName(const String&, API::UserContentWorld&);
    99     void removeAllUserMessageHandlers(API::UserContentWorld&);
     97    void removeUserMessageHandlerForName(const String&, API::ContentWorld&);
     98    void removeAllUserMessageHandlers(API::ContentWorld&);
    10099
    101100#if ENABLE(CONTENT_EXTENSIONS)
     
    118117    void didPostMessage(IPC::Connection&, WebPageProxyIdentifier, FrameInfoData&&, uint64_t messageHandlerID, const IPC::DataReference&);
    119118
    120     void addUserContentWorldUse(API::ContentWorldBase&);
    121     void removeUserContentWorldUses(API::UserContentWorld&, unsigned numberOfUsesToRemove);
    122     void removeUserContentWorldUses(HashCountedSet<RefPtr<API::UserContentWorld>>&);
    123     bool shouldSendRemoveUserContentWorldsMessage(API::UserContentWorld&, unsigned numberOfUsesToRemove);
     119    void addContentWorldUse(API::ContentWorld&);
     120    void removeContentWorldUses(API::ContentWorld&, unsigned numberOfUsesToRemove);
     121    void removeContentWorldUses(HashCountedSet<RefPtr<API::ContentWorld>>&);
     122    bool shouldSendRemoveContentWorldsMessage(API::ContentWorld&, unsigned numberOfUsesToRemove);
    124123
    125124    UserContentControllerIdentifier m_identifier;
     
    128127    Ref<API::Array> m_userStyleSheets;
    129128    HashMap<uint64_t, RefPtr<WebScriptMessageHandler>> m_scriptMessageHandlers;
    130     HashCountedSet<RefPtr<API::ContentWorldBase>> m_contentWorlds;
     129    HashCountedSet<RefPtr<API::ContentWorld>> m_contentWorlds;
    131130
    132131#if ENABLE(CONTENT_EXTENSIONS)
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r257551 r257552  
    12661266                7C882DF91C7E996F006BF731 /* _WKUserContentWorldInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C882DF51C7E995E006BF731 /* _WKUserContentWorldInternal.h */; };
    12671267                7C882DFA1C7E9973006BF731 /* WKUserScriptPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C882DF61C7E995E006BF731 /* WKUserScriptPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
    1268                 7C882DFD1C7E99A8006BF731 /* APIUserContentWorld.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C882DFC1C7E99A6006BF731 /* APIUserContentWorld.h */; };
    12691268                7C89D2941A67122F003A5FDE /* APIUserScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C89D2921A67122F003A5FDE /* APIUserScript.h */; };
    12701269                7C89D2981A6753B2003A5FDE /* APIPageConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C89D2961A6753B2003A5FDE /* APIPageConfiguration.h */; };
     
    41654164                7C882DF51C7E995E006BF731 /* _WKUserContentWorldInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKUserContentWorldInternal.h; sourceTree = "<group>"; };
    41664165                7C882DF61C7E995E006BF731 /* WKUserScriptPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKUserScriptPrivate.h; sourceTree = "<group>"; };
    4167                 7C882DFB1C7E99A6006BF731 /* APIUserContentWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APIUserContentWorld.cpp; sourceTree = "<group>"; };
    4168                 7C882DFC1C7E99A6006BF731 /* APIUserContentWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIUserContentWorld.h; sourceTree = "<group>"; };
    41694166                7C89D2921A67122F003A5FDE /* APIUserScript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIUserScript.h; sourceTree = "<group>"; };
    41704167                7C89D2951A6753B2003A5FDE /* APIPageConfiguration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APIPageConfiguration.cpp; sourceTree = "<group>"; };
     
    88338830                                51D124381E6DFDB9002B2820 /* APIURLSchemeTask.cpp */,
    88348831                                51D124391E6DFDB9002B2820 /* APIURLSchemeTask.h */,
    8835                                 7C882DFB1C7E99A6006BF731 /* APIUserContentWorld.cpp */,
    8836                                 7C882DFC1C7E99A6006BF731 /* APIUserContentWorld.h */,
    88378832                                7CB365AF1D31DD1E007158CA /* APIUserInitiatedAction.h */,
    88388833                                7C89D2A51A6789EA003A5FDE /* APIUserScript.cpp */,
     
    1029010285                                BC90A1D2122DD55E00CC8C50 /* APIURLResponse.h in Headers */,
    1029110286                                F6113E25126CE1820057D0A7 /* APIUserContentURLPattern.h in Headers */,
    10292                                 7C882DFD1C7E99A8006BF731 /* APIUserContentWorld.h in Headers */,
    1029310287                                7CB365B11D31DD1E007158CA /* APIUserInitiatedAction.h in Headers */,
    1029410288                                7C89D2941A67122F003A5FDE /* APIUserScript.h in Headers */,
  • trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp

    r255191 r257552  
    102102}
    103103
    104 void WebUserContentController::addUserContentWorld(const std::pair<ContentWorldIdentifier, String>& world)
     104void WebUserContentController::addContentWorld(const std::pair<ContentWorldIdentifier, String>& world)
    105105{
    106106    ASSERT(world.first);
     
    120120}
    121121
    122 void WebUserContentController::addUserContentWorlds(const Vector<std::pair<ContentWorldIdentifier, String>>& worlds)
     122void WebUserContentController::addContentWorlds(const Vector<std::pair<ContentWorldIdentifier, String>>& worlds)
    123123{
    124124    for (auto& world : worlds)
    125         addUserContentWorld(world);
    126 }
    127 
    128 void WebUserContentController::removeUserContentWorlds(const Vector<ContentWorldIdentifier>& worldIdentifiers)
     125        addContentWorld(world);
     126}
     127
     128void WebUserContentController::removeContentWorlds(const Vector<ContentWorldIdentifier>& worldIdentifiers)
    129129{
    130130    for (auto& worldIdentifier : worldIdentifiers) {
     
    134134        auto it = worldMap().find(worldIdentifier);
    135135        if (it == worldMap().end()) {
    136             WTFLogAlways("Trying to remove a UserContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
     136            WTFLogAlways("Trying to remove a ContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
    137137            return;
    138138        }
     
    150150        auto it = worldMap().find(userScriptData.worldIdentifier);
    151151        if (it == worldMap().end()) {
    152             WTFLogAlways("Trying to add a UserScript to a UserContentWorld (id=%" PRIu64 ") that does not exist.", userScriptData.worldIdentifier.toUInt64());
     152            WTFLogAlways("Trying to add a UserScript to a ContentWorld (id=%" PRIu64 ") that does not exist.", userScriptData.worldIdentifier.toUInt64());
    153153            continue;
    154154        }
     
    163163    auto it = worldMap().find(worldIdentifier);
    164164    if (it == worldMap().end()) {
    165         WTFLogAlways("Trying to remove a UserScript from a UserContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
     165        WTFLogAlways("Trying to remove a UserScript from a ContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
    166166        return;
    167167    }
     
    175175        auto it = worldMap().find(worldIdentifier);
    176176        if (it == worldMap().end()) {
    177             WTFLogAlways("Trying to remove all UserScripts from a UserContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
     177            WTFLogAlways("Trying to remove all UserScripts from a ContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
    178178            return;
    179179        }
     
    188188        auto it = worldMap().find(userStyleSheetData.worldIdentifier);
    189189        if (it == worldMap().end()) {
    190             WTFLogAlways("Trying to add a UserStyleSheet to a UserContentWorld (id=%" PRIu64 ") that does not exist.", userStyleSheetData.worldIdentifier.toUInt64());
     190            WTFLogAlways("Trying to add a UserStyleSheet to a ContentWorld (id=%" PRIu64 ") that does not exist.", userStyleSheetData.worldIdentifier.toUInt64());
    191191            continue;
    192192        }
     
    203203    auto it = worldMap().find(worldIdentifier);
    204204    if (it == worldMap().end()) {
    205         WTFLogAlways("Trying to remove a UserStyleSheet from a UserContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
     205        WTFLogAlways("Trying to remove a UserStyleSheet from a ContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
    206206        return;
    207207    }
     
    216216        auto it = worldMap().find(worldIdentifier);
    217217        if (it == worldMap().end()) {
    218             WTFLogAlways("Trying to remove all UserStyleSheets from a UserContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
     218            WTFLogAlways("Trying to remove all UserStyleSheets from a ContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
    219219            return;
    220220        }
     
    279279        auto it = worldMap().find(handler.worldIdentifier);
    280280        if (it == worldMap().end()) {
    281             WTFLogAlways("Trying to add a UserScriptMessageHandler to a UserContentWorld (id=%" PRIu64 ") that does not exist.", handler.worldIdentifier.toUInt64());
     281            WTFLogAlways("Trying to add a UserScriptMessageHandler to a ContentWorld (id=%" PRIu64 ") that does not exist.", handler.worldIdentifier.toUInt64());
    282282            continue;
    283283        }
     
    295295    auto it = worldMap().find(worldIdentifier);
    296296    if (it == worldMap().end()) {
    297         WTFLogAlways("Trying to remove a UserScriptMessageHandler from a UserContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
     297        WTFLogAlways("Trying to remove a UserScriptMessageHandler from a ContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
    298298        return;
    299299    }
     
    313313        auto it = worldMap().find(worldIdentifier);
    314314        if (it == worldMap().end()) {
    315             WTFLogAlways("Trying to remove all UserScriptMessageHandler from a UserContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
     315            WTFLogAlways("Trying to remove all UserScriptMessageHandler from a ContentWorld (id=%" PRIu64 ") that does not exist.", worldIdentifier.toUInt64());
    316316            return;
    317317        }
  • trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.h

    r255127 r257552  
    6767    InjectedBundleScriptWorld* worldForIdentifier(ContentWorldIdentifier);
    6868
    69     void addUserContentWorlds(const Vector<std::pair<ContentWorldIdentifier, String>>&);
    70     void addUserContentWorld(const std::pair<ContentWorldIdentifier, String>&);
     69    void addContentWorlds(const Vector<std::pair<ContentWorldIdentifier, String>>&);
     70    void addContentWorld(const std::pair<ContentWorldIdentifier, String>&);
    7171    void addUserScripts(Vector<WebUserScriptData>&&, InjectUserScriptImmediately);
    7272    void addUserStyleSheets(const Vector<WebUserStyleSheetData>&);
     
    9292    void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
    9393
    94     void removeUserContentWorlds(const Vector<ContentWorldIdentifier>&);
     94    void removeContentWorlds(const Vector<ContentWorldIdentifier>&);
    9595
    9696    void removeUserScript(ContentWorldIdentifier, uint64_t userScriptIdentifier);
  • trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.messages.in

    r255127 r257552  
    2525
    2626messages -> WebUserContentController {
    27     AddUserContentWorlds(Vector<std::pair<WebKit::ContentWorldIdentifier, String>> worlds);
    28     RemoveUserContentWorlds(Vector<WebKit::ContentWorldIdentifier> worldIdentifiers);
     27    AddContentWorlds(Vector<std::pair<WebKit::ContentWorldIdentifier, String>> worlds);
     28    RemoveContentWorlds(Vector<WebKit::ContentWorldIdentifier> worldIdentifiers);
    2929
    3030    AddUserScripts(Vector<struct WebKit::WebUserScriptData> userScripts, enum:bool WebKit::InjectUserScriptImmediately immediately);
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp

    r257551 r257552  
    710710        registerURLSchemeHandler(iterator.value, iterator.key);
    711711
    712     m_userContentController->addUserContentWorlds(parameters.userContentWorlds);
     712    m_userContentController->addContentWorlds(parameters.userContentWorlds);
    713713    m_userContentController->addUserScripts(WTFMove(parameters.userScripts), InjectUserScriptImmediately::No);
    714714    m_userContentController->addUserStyleSheets(parameters.userStyleSheets);
     
    34453445void WebPage::runJavaScriptInMainFrameScriptWorld(RunJavaScriptParameters&& parameters, const std::pair<ContentWorldIdentifier, String>& worldData, CallbackID callbackID)
    34463446{
    3447     m_userContentController->addUserContentWorld(worldData);
     3447    m_userContentController->addContentWorld(worldData);
    34483448    runJavaScript(mainWebFrame(), WTFMove(parameters), worldData.first, callbackID);
    34493449}
  • trunk/Tools/ChangeLog

    r257540 r257552  
     12020-02-26  Alex Christensen  <achristensen@webkit.org>
     2
     3        _WKUserContentWorld should be a wrapper around WKContentWorld
     4        https://bugs.webkit.org/show_bug.cgi?id=208274
     5
     6        Reviewed by Brady Eidson.
     7
     8        * TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm:
     9        (TEST):
     10        * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
     11        (TEST):
     12
    1132020-02-26  Ryan Haddad  <ryanhaddad@apple.com>
    214
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm

    r253723 r257552  
    4545#import <wtf/RetainPtr.h>
    4646
    47 TEST(UserContentWorld, NormalWorld)
     47TEST(ContentWorld, NormalWorld)
    4848{
    4949    RetainPtr<WKUserScript> basicUserScript = adoptNS([[WKUserScript alloc] initWithSource:@"" injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES]);
    50     EXPECT_EQ([basicUserScript _userContentWorld], [_WKUserContentWorld normalWorld]);
     50    EXPECT_NE([basicUserScript _userContentWorld], [_WKUserContentWorld normalWorld]);
     51    EXPECT_WK_STREQ([basicUserScript _userContentWorld].name, [_WKUserContentWorld normalWorld].name);
    5152    EXPECT_NULL([basicUserScript _userContentWorld].name);
    5253}
    5354
    54 TEST(UserContentWorld, NormalWorldUserScript)
     55TEST(ContentWorld, NormalWorldUserScript)
    5556{
    5657    RetainPtr<WKWebViewConfiguration> configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
     
    7778}
    7879
    79 TEST(UserContentWorld, IsolatedWorld)
     80TEST(ContentWorld, IsolatedWorld)
    8081{
    8182    RetainPtr<_WKUserContentWorld> isolatedWorld = [_WKUserContentWorld worldWithName:@"TestWorld"];
     
    8384
    8485    RetainPtr<WKUserScript> userScript = adoptNS([[WKUserScript alloc] _initWithSource:@"" injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES legacyWhitelist:@[] legacyBlacklist:@[] userContentWorld:isolatedWorld.get()]);
    85     EXPECT_EQ([userScript _userContentWorld], isolatedWorld.get());
     86    EXPECT_NE([userScript _userContentWorld], isolatedWorld.get());
     87    EXPECT_WK_STREQ([userScript _userContentWorld].name, [isolatedWorld name]);
    8688}
    8789
    88 TEST(UserContentWorld, IsolatedWorldUserScript)
     90TEST(ContentWorld, IsolatedWorldUserScript)
    8991{
    9092    RetainPtr<WKWebViewConfiguration> configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
Note: See TracChangeset for help on using the changeset viewer.