Source/WebCore:
authorzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 6 Apr 2015 07:21:21 +0000 (07:21 +0000)
committerzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 6 Apr 2015 07:21:21 +0000 (07:21 +0000)
UserScript, UserStyleSheet constructors should take in Vector<String> rvalue references
https://bugs.webkit.org/show_bug.cgi?id=143411

Reviewed by Darin Adler.

Have the UserScript and UserStyleSheet constructors take in Vector<String>
rvalue references for the whitelist and blacklist parameters. Both classes
store these Vector<String> objects, so the referenced objects can simply be
moved into the member variable.

Because the constructor is now demanding an rvalue, it's up to the caller
to move in the desired object if possible, or create an explicit copy
otherwise.

* page/UserScript.h:
(WebCore::UserScript::UserScript):
* page/UserStyleSheet.h:
(WebCore::UserStyleSheet::UserStyleSheet):

Source/WebKit2:
UserScript, UserStyleSheet constructors should take in Vector<String> rvalues
https://bugs.webkit.org/show_bug.cgi?id=143411

Reviewed by Darin Adler.

Move the whitelist and blacklist Vector<String> objects into the
UserScript and UserStyleSheet constructors in ArgumentCoder<T>::decode
functions.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<UserStyleSheet>::decode):
(IPC::ArgumentCoder<UserScript>::decode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@182378 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/page/UserScript.h
Source/WebCore/page/UserStyleSheet.h
Source/WebKit2/ChangeLog
Source/WebKit2/Shared/WebCoreArgumentCoders.cpp

index 9752202..3e799d3 100644 (file)
@@ -1,3 +1,24 @@
+2015-04-06  Žan Doberšek  <zdobersek@igalia.com>
+
+        UserScript, UserStyleSheet constructors should take in Vector<String> rvalue references
+        https://bugs.webkit.org/show_bug.cgi?id=143411
+
+        Reviewed by Darin Adler.
+
+        Have the UserScript and UserStyleSheet constructors take in Vector<String>
+        rvalue references for the whitelist and blacklist parameters. Both classes
+        store these Vector<String> objects, so the referenced objects can simply be
+        moved into the member variable.
+
+        Because the constructor is now demanding an rvalue, it's up to the caller
+        to move in the desired object if possible, or create an explicit copy
+        otherwise.
+
+        * page/UserScript.h:
+        (WebCore::UserScript::UserScript):
+        * page/UserStyleSheet.h:
+        (WebCore::UserStyleSheet::UserStyleSheet):
+
 2015-04-05  Andy Estes  <aestes@apple.com>
 
         [Content Filtering] Only pass http(s) requests to -[NEFilterSource willSendRequest:...]
index 6b2ce9d..ca1da38 100644 (file)
@@ -42,11 +42,11 @@ public:
     {
     }
 
-    UserScript(const String& source, const URL& url, const Vector<String>& whitelist, const Vector<String>& blacklist, UserScriptInjectionTime injectionTime, UserContentInjectedFrames injectedFrames)
+    UserScript(const String& source, const URL& url, Vector<String>&& whitelist, Vector<String>&& blacklist, UserScriptInjectionTime injectionTime, UserContentInjectedFrames injectedFrames)
         : m_source(source)
         , m_url(url)
-        , m_whitelist(whitelist)
-        , m_blacklist(blacklist)
+        , m_whitelist(WTF::move(whitelist))
+        , m_blacklist(WTF::move(blacklist))
         , m_injectionTime(injectionTime)
         , m_injectedFrames(injectedFrames)
     {
index d58af31..d056edf 100644 (file)
@@ -42,11 +42,11 @@ public:
     {
     }
 
-    UserStyleSheet(const String& source, const URL& url, const Vector<String>& whitelist, const Vector<String>& blacklist, UserContentInjectedFrames injectedFrames, UserStyleLevel level)
+    UserStyleSheet(const String& source, const URL& url, Vector<String>&& whitelist, Vector<String>&& blacklist, UserContentInjectedFrames injectedFrames, UserStyleLevel level)
         : m_source(source)
         , m_url(url)
-        , m_whitelist(whitelist)
-        , m_blacklist(blacklist)
+        , m_whitelist(WTF::move(whitelist))
+        , m_blacklist(WTF::move(blacklist))
         , m_injectedFrames(injectedFrames)
         , m_level(level)
     {
index 0bd271f..c94cc8d 100644 (file)
@@ -1,3 +1,18 @@
+2015-04-06  Žan Doberšek  <zdobersek@igalia.com>
+
+        UserScript, UserStyleSheet constructors should take in Vector<String> rvalues
+        https://bugs.webkit.org/show_bug.cgi?id=143411
+
+        Reviewed by Darin Adler.
+
+        Move the whitelist and blacklist Vector<String> objects into the
+        UserScript and UserStyleSheet constructors in ArgumentCoder<T>::decode
+        functions.
+
+        * Shared/WebCoreArgumentCoders.cpp:
+        (IPC::ArgumentCoder<UserStyleSheet>::decode):
+        (IPC::ArgumentCoder<UserScript>::decode):
+
 2015-04-05  Darin Adler  <darin@apple.com>
 
         [Mac] Spins seen in WKSetApplicationInformationItem, so it should not be called on the main thread
index de442e8..6c4040d 100644 (file)
@@ -1427,7 +1427,7 @@ bool ArgumentCoder<UserStyleSheet>::decode(ArgumentDecoder& decoder, UserStyleSh
     if (!decoder.decodeEnum(level))
         return false;
 
-    userStyleSheet = UserStyleSheet(source, url, whitelist, blacklist, injectedFrames, level);
+    userStyleSheet = UserStyleSheet(source, url, WTF::move(whitelist), WTF::move(blacklist), injectedFrames, level);
     return true;
 }
 
@@ -1467,7 +1467,7 @@ bool ArgumentCoder<UserScript>::decode(ArgumentDecoder& decoder, UserScript& use
     if (!decoder.decodeEnum(injectedFrames))
         return false;
 
-    userScript = UserScript(source, url, whitelist, blacklist, injectionTime, injectedFrames);
+    userScript = UserScript(source, url, WTF::move(whitelist), WTF::move(blacklist), injectionTime, injectedFrames);
     return true;
 }