Changeset 218146 in webkit


Ignore:
Timestamp:
Jun 12, 2017 3:37:59 PM (7 years ago)
Author:
achristensen@apple.com
Message:

Modernize UserScript.h
https://bugs.webkit.org/show_bug.cgi?id=173273

Reviewed by Tim Horton.

Source/WebCore:

No change in behavior. Moved encoders to UserScript.h. Use more Rvalues.

  • page/UserScript.h:

(WebCore::UserScript::UserScript):
(WebCore::UserScript::encode):
(WebCore::UserScript::decode):

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<UserScript>::encode): Deleted.
(IPC::ArgumentCoder<UserScript>::decode): Deleted.

  • Shared/WebCoreArgumentCoders.h:
  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserScript):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::addUserScript):

  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::addUserScript):

  • WebProcess/WebPage/WebPage.h:
Location:
trunk/Source
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r218145 r218146  
     12017-06-12  Alex Christensen  <achristensen@webkit.org>
     2
     3        Modernize UserScript.h
     4        https://bugs.webkit.org/show_bug.cgi?id=173273
     5
     6        Reviewed by Tim Horton.
     7
     8        No change in behavior. Moved encoders to UserScript.h. Use more Rvalues.
     9
     10        * page/UserScript.h:
     11        (WebCore::UserScript::UserScript):
     12        (WebCore::UserScript::encode):
     13        (WebCore::UserScript::decode):
     14
    1152017-06-12  Aaron Chu  <aaron_chu@apple.com>
    216
  • trunk/Source/WebCore/page/UserScript.h

    r208179 r218146  
    3636    WTF_MAKE_FAST_ALLOCATED;
    3737public:
    38     UserScript()
    39         : m_injectionTime(InjectAtDocumentStart)
    40         , m_injectedFrames(InjectInAllFrames)
    41     {
    42     }
     38    UserScript() { }
     39    ~UserScript() { }
    4340
    44     UserScript(const String& source, const URL& url, Vector<String>&& whitelist, Vector<String>&& blacklist, UserScriptInjectionTime injectionTime, UserContentInjectedFrames injectedFrames)
    45         : m_source(source)
    46         , m_url(url)
     41    UserScript(String&& source, URL&& url, Vector<String>&& whitelist, Vector<String>&& blacklist, UserScriptInjectionTime injectionTime, UserContentInjectedFrames injectedFrames)
     42        : m_source(WTFMove(source))
     43        , m_url(WTFMove(url))
    4744        , m_whitelist(WTFMove(whitelist))
    4845        , m_blacklist(WTFMove(blacklist))
     
    5956    UserContentInjectedFrames injectedFrames() const { return m_injectedFrames; }
    6057
     58    template<class Encoder> void encode(Encoder&) const;
     59    template<class Decoder> static bool decode(Decoder&, UserScript&);
     60
    6161private:
    6262    String m_source;
     
    6464    Vector<String> m_whitelist;
    6565    Vector<String> m_blacklist;
    66     UserScriptInjectionTime m_injectionTime;
    67     UserContentInjectedFrames m_injectedFrames;
     66    UserScriptInjectionTime m_injectionTime { InjectAtDocumentStart };
     67    UserContentInjectedFrames m_injectedFrames { InjectInAllFrames };
    6868};
    6969
     70template<class Encoder>
     71void UserScript::encode(Encoder& encoder) const
     72{
     73    encoder << m_source;
     74    encoder << m_url;
     75    encoder << m_whitelist;
     76    encoder << m_blacklist;
     77    encoder.encodeEnum(m_injectionTime);
     78    encoder.encodeEnum(m_injectedFrames);
     79}
     80
     81template<class Decoder>
     82bool UserScript::decode(Decoder& decoder, UserScript& userScript)
     83{
     84    String source;
     85    if (!decoder.decode(source))
     86        return false;
     87   
     88    URL url;
     89    if (!decoder.decode(url))
     90        return false;
     91   
     92    Vector<String> whitelist;
     93    if (!decoder.decode(whitelist))
     94        return false;
     95   
     96    Vector<String> blacklist;
     97    if (!decoder.decode(blacklist))
     98        return false;
     99   
     100    UserScriptInjectionTime injectionTime;
     101    if (!decoder.decodeEnum(injectionTime))
     102        return false;
     103   
     104    UserContentInjectedFrames injectedFrames;
     105    if (!decoder.decodeEnum(injectedFrames))
     106        return false;
     107   
     108    userScript = { WTFMove(source), WTFMove(url), WTFMove(whitelist), WTFMove(blacklist), injectionTime, injectedFrames };
     109    return true;
     110}
     111
    70112} // namespace WebCore
  • trunk/Source/WebKit2/ChangeLog

    r218144 r218146  
     12017-06-12  Alex Christensen  <achristensen@webkit.org>
     2
     3        Modernize UserScript.h
     4        https://bugs.webkit.org/show_bug.cgi?id=173273
     5
     6        Reviewed by Tim Horton.
     7
     8        * Shared/WebCoreArgumentCoders.cpp:
     9        (IPC::ArgumentCoder<UserScript>::encode): Deleted.
     10        (IPC::ArgumentCoder<UserScript>::decode): Deleted.
     11        * Shared/WebCoreArgumentCoders.h:
     12        * UIProcess/API/C/WKPageGroup.cpp:
     13        (WKPageGroupAddUserScript):
     14        * WebProcess/InjectedBundle/InjectedBundle.cpp:
     15        (WebKit::InjectedBundle::addUserScript):
     16        * WebProcess/InjectedBundle/InjectedBundle.h:
     17        * WebProcess/WebPage/WebPage.cpp:
     18        (WebKit::WebPage::addUserScript):
     19        * WebProcess/WebPage/WebPage.h:
     20
    1212017-06-12  Tim Horton  <timothy_horton@apple.com>
    222
  • trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp

    r218128 r218146  
    6868#include <WebCore/TransformationMatrix.h>
    6969#include <WebCore/URL.h>
    70 #include <WebCore/UserScript.h>
    7170#include <WebCore/UserStyleSheet.h>
    7271#include <WebCore/ViewportArguments.h>
     
    17371736}
    17381737#endif
    1739 
    1740 void ArgumentCoder<UserScript>::encode(Encoder& encoder, const UserScript& userScript)
    1741 {
    1742     encoder << userScript.source();
    1743     encoder << userScript.url();
    1744     encoder << userScript.whitelist();
    1745     encoder << userScript.blacklist();
    1746     encoder.encodeEnum(userScript.injectionTime());
    1747     encoder.encodeEnum(userScript.injectedFrames());
    1748 }
    1749 
    1750 bool ArgumentCoder<UserScript>::decode(Decoder& decoder, UserScript& userScript)
    1751 {
    1752     String source;
    1753     if (!decoder.decode(source))
    1754         return false;
    1755 
    1756     URL url;
    1757     if (!decoder.decode(url))
    1758         return false;
    1759 
    1760     Vector<String> whitelist;
    1761     if (!decoder.decode(whitelist))
    1762         return false;
    1763 
    1764     Vector<String> blacklist;
    1765     if (!decoder.decode(blacklist))
    1766         return false;
    1767 
    1768     UserScriptInjectionTime injectionTime;
    1769     if (!decoder.decodeEnum(injectionTime))
    1770         return false;
    1771 
    1772     UserContentInjectedFrames injectedFrames;
    1773     if (!decoder.decodeEnum(injectedFrames))
    1774         return false;
    1775 
    1776     userScript = UserScript(source, url, WTFMove(whitelist), WTFMove(blacklist), injectionTime, injectedFrames);
    1777     return true;
    1778 }
    17791738
    17801739void ArgumentCoder<ScrollableAreaParameters>::encode(Encoder& encoder, const ScrollableAreaParameters& parameters)
  • trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h

    r217310 r218146  
    8686class TransformationMatrix;
    8787class UserStyleSheet;
    88 class UserScript;
    8988class URL;
    9089struct CompositionUnderline;
     
    477476};
    478477
    479 template<> struct ArgumentCoder<WebCore::UserScript> {
    480     static void encode(Encoder&, const WebCore::UserScript&);
    481     static bool decode(Decoder&, WebCore::UserScript&);
    482 };
    483 
    484478template<> struct ArgumentCoder<WebCore::ScrollableAreaParameters> {
    485479    static void encode(Encoder&, const WebCore::ScrollableAreaParameters&);
  • trunk/Source/WebKit2/UIProcess/API/C/WKPageGroup.cpp

    r217531 r218146  
    9696    auto whitelist = toImpl(whitelistedURLPatterns);
    9797    auto blacklist = toImpl(blacklistedURLPatterns);
    98 
    99     Ref<API::UserScript> userScript = API::UserScript::create(WebCore::UserScript { source, (baseURLString.isEmpty() ? WebCore::blankURL() : WebCore::URL(WebCore::URL(), baseURLString)), whitelist ? whitelist->toStringVector() : Vector<String>(), blacklist ? blacklist->toStringVector() : Vector<String>(), toUserScriptInjectionTime(injectionTime), toUserContentInjectedFrames(injectedFrames) }, API::UserContentWorld::normalWorld());
     98   
     99    auto url = baseURLString.isEmpty() ? WebCore::blankURL() : WebCore::URL(WebCore::URL(), baseURLString);
     100    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());
    100101    toImpl(pageGroupRef)->userContentController().addUserScript(userScript.get());
    101102}
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp

    r218129 r218146  
    426426}
    427427
    428 void InjectedBundle::addUserScript(WebPageGroupProxy* pageGroup, InjectedBundleScriptWorld* scriptWorld, const String& source, const String& url, API::Array* whitelist, API::Array* blacklist, WebCore::UserScriptInjectionTime injectionTime, WebCore::UserContentInjectedFrames injectedFrames)
     428void InjectedBundle::addUserScript(WebPageGroupProxy* pageGroup, InjectedBundleScriptWorld* scriptWorld, String&& source, String&& url, API::Array* whitelist, API::Array* blacklist, WebCore::UserScriptInjectionTime injectionTime, WebCore::UserContentInjectedFrames injectedFrames)
    429429{
    430430    // url is not from URL::string(), i.e. it has not already been parsed by URL, so we have to use the relative URL constructor for URL instead of the ParsedURLStringTag version.
    431     UserScript userScript{ source, URL(URL(), url), whitelist ? whitelist->toStringVector() : Vector<String>(), blacklist ? blacklist->toStringVector() : Vector<String>(), injectionTime, injectedFrames };
     431    UserScript userScript { WTFMove(source), URL(URL(), url), whitelist ? whitelist->toStringVector() : Vector<String>(), blacklist ? blacklist->toStringVector() : Vector<String>(), injectionTime, injectedFrames };
    432432
    433433    pageGroup->userContentController().addUserScript(*scriptWorld, WTFMove(userScript));
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h

    r216810 r218146  
    2424 */
    2525
    26 #ifndef InjectedBundle_h
    27 #define InjectedBundle_h
     26#pragma once
    2827
    2928#include "APIObject.h"
     
    121120
    122121    // UserContent API
    123     void addUserScript(WebPageGroupProxy*, InjectedBundleScriptWorld*, const String& source, const String& url, API::Array* whitelist, API::Array* blacklist, WebCore::UserScriptInjectionTime, WebCore::UserContentInjectedFrames);
     122    void addUserScript(WebPageGroupProxy*, InjectedBundleScriptWorld*, String&& source, String&& url, API::Array* whitelist, API::Array* blacklist, WebCore::UserScriptInjectionTime, WebCore::UserContentInjectedFrames);
    124123    void addUserStyleSheet(WebPageGroupProxy*, InjectedBundleScriptWorld*, const String& source, const String& url, API::Array* whitelist, API::Array* blacklist, WebCore::UserContentInjectedFrames);
    125124    void removeUserScript(WebPageGroupProxy*, InjectedBundleScriptWorld*, const String& url);
     
    172171} // namespace WebKit
    173172
    174 #endif // InjectedBundle_h
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r218129 r218146  
    58075807}
    58085808
    5809 void WebPage::addUserScript(const String& source, WebCore::UserContentInjectedFrames injectedFrames, WebCore::UserScriptInjectionTime injectionTime)
    5810 {
    5811     WebCore::UserScript userScript{ source, WebCore::blankURL(), Vector<String>(), Vector<String>(), injectionTime, injectedFrames };
     5809void WebPage::addUserScript(String&& source, WebCore::UserContentInjectedFrames injectedFrames, WebCore::UserScriptInjectionTime injectionTime)
     5810{
     5811    WebCore::UserScript userScript { WTFMove(source), URL(WebCore::blankURL()), Vector<String>(), Vector<String>(), injectionTime, injectedFrames };
    58125812
    58135813    m_userContentController->addUserScript(InjectedBundleScriptWorld::normalWorld(), WTFMove(userScript));
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h

    r217725 r218146  
    942942#endif
    943943
    944     void addUserScript(const String& source, WebCore::UserContentInjectedFrames, WebCore::UserScriptInjectionTime);
     944    void addUserScript(String&& source, WebCore::UserContentInjectedFrames, WebCore::UserScriptInjectionTime);
    945945    void addUserStyleSheet(const String& source, WebCore::UserContentInjectedFrames);
    946946    void removeAllUserContent();
Note: See TracChangeset for help on using the changeset viewer.