Title: [89653] trunk/Source/WebCore
Revision
89653
Author
t...@chromium.org
Date
2011-06-23 23:43:34 -0700 (Thu, 23 Jun 2011)

Log Message

2011-06-23  Tony Chang  <t...@chromium.org>

        Reviewed by Kent Tamura.

        Pass Strings by const reference in bindings code
        https://bugs.webkit.org/show_bug.cgi?id=63302

        Note that since Strings hold a RefPtr to StringImpl, passing Strings
        by value isn't horrible, but it does cause ref count churn and using
        const references is more consistent with the rest of the code base.

        * bindings/generic/BindingSecurity.h:
        (WebCore::::allowSettingFrameSrcToJavascriptUrl):
        (WebCore::::allowSettingSrcToJavascriptURL):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::serialize):
        (WebCore::SerializedScriptValue::create):
        * bindings/js/SerializedScriptValue.h:
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h:
        * bindings/v8/V8Binding.h:
        (WebCore::V8ParameterBase::setString):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (89652 => 89653)


--- trunk/Source/WebCore/ChangeLog	2011-06-24 05:42:25 UTC (rev 89652)
+++ trunk/Source/WebCore/ChangeLog	2011-06-24 06:43:34 UTC (rev 89653)
@@ -1,3 +1,29 @@
+2011-06-23  Tony Chang  <t...@chromium.org>
+
+        Reviewed by Kent Tamura.
+
+        Pass Strings by const reference in bindings code
+        https://bugs.webkit.org/show_bug.cgi?id=63302
+
+        Note that since Strings hold a RefPtr to StringImpl, passing Strings
+        by value isn't horrible, but it does cause ref count churn and using
+        const references is more consistent with the rest of the code base.
+
+        * bindings/generic/BindingSecurity.h:
+        (WebCore::::allowSettingFrameSrcToJavascriptUrl):
+        (WebCore::::allowSettingSrcToJavascriptURL):
+        * bindings/js/SerializedScriptValue.cpp:
+        (WebCore::CloneSerializer::serialize):
+        (WebCore::SerializedScriptValue::create):
+        * bindings/js/SerializedScriptValue.h:
+        * bindings/v8/SerializedScriptValue.cpp:
+        (WebCore::SerializedScriptValue::createFromWire):
+        (WebCore::SerializedScriptValue::create):
+        (WebCore::SerializedScriptValue::SerializedScriptValue):
+        * bindings/v8/SerializedScriptValue.h:
+        * bindings/v8/V8Binding.h:
+        (WebCore::V8ParameterBase::setString):
+
 2011-06-23  Yury Semikhatsky  <yu...@chromium.org>
 
         Reviewed by Pavel Feldman.

Modified: trunk/Source/WebCore/bindings/generic/BindingSecurity.h (89652 => 89653)


--- trunk/Source/WebCore/bindings/generic/BindingSecurity.h	2011-06-24 05:42:25 UTC (rev 89652)
+++ trunk/Source/WebCore/bindings/generic/BindingSecurity.h	2011-06-24 06:43:34 UTC (rev 89653)
@@ -58,8 +58,8 @@
     static bool checkNodeSecurity(State<Binding>*, Node* target);
 
     static bool allowPopUp(State<Binding>*);
-    static bool allowSettingFrameSrcToJavascriptUrl(State<Binding>*, HTMLFrameElementBase*, String value);
-    static bool allowSettingSrcToJavascriptURL(State<Binding>*, Element*, String name, String value);
+    static bool allowSettingFrameSrcToJavascriptUrl(State<Binding>*, HTMLFrameElementBase*, const String& value);
+    static bool allowSettingSrcToJavascriptURL(State<Binding>*, Element*, const String& name, const String& value);
 
     static bool shouldAllowNavigation(State<Binding>*, Frame*);
 
@@ -127,7 +127,7 @@
 }
 
 template <class Binding>
-bool BindingSecurity<Binding>::allowSettingFrameSrcToJavascriptUrl(State<Binding>* state, HTMLFrameElementBase* frame, String value)
+bool BindingSecurity<Binding>::allowSettingFrameSrcToJavascriptUrl(State<Binding>* state, HTMLFrameElementBase* frame, const String& value)
 {
     if (protocolIsJavaScript(stripLeadingAndTrailingHTMLSpaces(value))) {
         Node* contentDoc = frame->contentDocument();
@@ -138,7 +138,7 @@
 }
 
 template <class Binding>
-bool BindingSecurity<Binding>::allowSettingSrcToJavascriptURL(State<Binding>* state, Element* element, String name, String value)
+bool BindingSecurity<Binding>::allowSettingSrcToJavascriptURL(State<Binding>* state, Element* element, const String& name, const String& value)
 {
     if ((element->hasTagName(HTMLNames::iframeTag) || element->hasTagName(HTMLNames::frameTag)) && equalIgnoringCase(name, "src"))
         return allowSettingFrameSrcToJavascriptUrl(state, static_cast<HTMLFrameElementBase*>(element), value);

Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (89652 => 89653)


--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp	2011-06-24 05:42:25 UTC (rev 89652)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp	2011-06-24 06:43:34 UTC (rev 89653)
@@ -256,7 +256,7 @@
         return serializer.serialize(value);
     }
 
-    static bool serialize(String s, Vector<uint8_t>& out)
+    static bool serialize(const String& s, Vector<uint8_t>& out)
     {
         writeLittleEndian(out, CurrentVersion);
         if (s.isEmpty()) {
@@ -1357,7 +1357,7 @@
     return adoptRef(new SerializedScriptValue(buffer));
 }
 
-PassRefPtr<SerializedScriptValue> SerializedScriptValue::create(String string)
+PassRefPtr<SerializedScriptValue> SerializedScriptValue::create(const String& string)
 {
     Vector<uint8_t> buffer;
     if (!CloneSerializer::serialize(string, buffer))

Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.h (89652 => 89653)


--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.h	2011-06-24 05:42:25 UTC (rev 89652)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.h	2011-06-24 06:43:34 UTC (rev 89653)
@@ -56,7 +56,7 @@
 public:
     static PassRefPtr<SerializedScriptValue> create(JSC::ExecState*, JSC::JSValue, SerializationErrorMode = Throwing);
     static PassRefPtr<SerializedScriptValue> create(JSContextRef, JSValueRef value, JSValueRef* exception);
-    static PassRefPtr<SerializedScriptValue> create(String string);
+    static PassRefPtr<SerializedScriptValue> create(const String&);
     static PassRefPtr<SerializedScriptValue> adopt(Vector<uint8_t>& buffer)
     {
         return adoptRef(new SerializedScriptValue(buffer));

Modified: trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp (89652 => 89653)


--- trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp	2011-06-24 05:42:25 UTC (rev 89652)
+++ trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp	2011-06-24 06:43:34 UTC (rev 89653)
@@ -1163,12 +1163,12 @@
     return adoptRef(new SerializedScriptValue(value, didThrow));
 }
 
-PassRefPtr<SerializedScriptValue> SerializedScriptValue::createFromWire(String data)
+PassRefPtr<SerializedScriptValue> SerializedScriptValue::createFromWire(const String& data)
 {
     return adoptRef(new SerializedScriptValue(data));
 }
 
-PassRefPtr<SerializedScriptValue> SerializedScriptValue::create(String data)
+PassRefPtr<SerializedScriptValue> SerializedScriptValue::create(const String& data)
 {
     Writer writer;
     writer.writeWebCoreString(data);
@@ -1250,7 +1250,7 @@
     m_data = String(StringImpl::adopt(writer.data())).crossThreadString();
 }
 
-SerializedScriptValue::SerializedScriptValue(String wireData)
+SerializedScriptValue::SerializedScriptValue(const String& wireData)
 {
     m_data = wireData.crossThreadString();
 }

Modified: trunk/Source/WebCore/bindings/v8/SerializedScriptValue.h (89652 => 89653)


--- trunk/Source/WebCore/bindings/v8/SerializedScriptValue.h	2011-06-24 05:42:25 UTC (rev 89652)
+++ trunk/Source/WebCore/bindings/v8/SerializedScriptValue.h	2011-06-24 06:43:34 UTC (rev 89653)
@@ -51,8 +51,8 @@
     // V8. When serialization is successful, |didThrow| is false.
     static PassRefPtr<SerializedScriptValue> create(v8::Handle<v8::Value> value, bool& didThrow);
     static PassRefPtr<SerializedScriptValue> create(v8::Handle<v8::Value>);
-    static PassRefPtr<SerializedScriptValue> createFromWire(String data);
-    static PassRefPtr<SerializedScriptValue> create(String data);
+    static PassRefPtr<SerializedScriptValue> createFromWire(const String& data);
+    static PassRefPtr<SerializedScriptValue> create(const String& data);
     static PassRefPtr<SerializedScriptValue> create();
 
     static SerializedScriptValue* nullValue();
@@ -74,7 +74,7 @@
 
     SerializedScriptValue();
     SerializedScriptValue(v8::Handle<v8::Value>, bool& didThrow);
-    explicit SerializedScriptValue(String wireData);
+    explicit SerializedScriptValue(const String& wireData);
 
     String m_data;
 };

Modified: trunk/Source/WebCore/bindings/v8/V8Binding.h (89652 => 89653)


--- trunk/Source/WebCore/bindings/v8/V8Binding.h	2011-06-24 05:42:25 UTC (rev 89652)
+++ trunk/Source/WebCore/bindings/v8/V8Binding.h	2011-06-24 06:43:34 UTC (rev 89653)
@@ -307,7 +307,7 @@
 
         v8::Local<v8::Value> object() { return m_v8Object; }
 
-        void setString(String string)
+        void setString(const String& string)
         {
             m_string = string;
             m_v8Object.Clear(); // To signal that String is ready.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to