[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/as_object.cpp server/as_...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/as_object.cpp server/as_... |
Date: |
Fri, 15 Feb 2008 10:12:55 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/02/15 10:12:55
Modified files:
. : ChangeLog
server : as_object.cpp as_object.h sprite_instance.cpp
Log message:
* server/as_object.{cpp,h}: add getURLEncodedVariables method.
* server/sprite_instance.cpp (loadVariables): delegate vars
url-encoding to the new specialized method.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5661&r2=1.5662
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.cpp?cvsroot=gnash&r1=1.97&r2=1.98
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.h?cvsroot=gnash&r1=1.91&r2=1.92
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.476&r2=1.477
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5661
retrieving revision 1.5662
diff -u -b -r1.5661 -r1.5662
--- ChangeLog 15 Feb 2008 10:05:25 -0000 1.5661
+++ ChangeLog 15 Feb 2008 10:12:53 -0000 1.5662
@@ -1,3 +1,9 @@
+2008-02-15 Sandro Santilli <address@hidden>
+
+ * server/as_object.{cpp,h}: add getURLEncodedVariables method.
+ * server/sprite_instance.cpp (loadVariables): delegate vars
+ url-encoding to the new specialized method.
+
2008-02-15 Benjamin Wolsey <address@hidden>
* server/swf/tag_loaders.cpp: (define_bits_lossless_2_loader) log
Index: server/as_object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.cpp,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -b -r1.97 -r1.98
--- server/as_object.cpp 4 Feb 2008 11:32:26 -0000 1.97
+++ server/as_object.cpp 15 Feb 2008 10:12:54 -0000 1.98
@@ -1015,4 +1015,30 @@
return tmp.to_object().get();
}
+void
+as_object::getURLEncodedVars(std::string& data)
+{
+ typedef std::map<std::string, std::string> PropMap;
+ PropMap props;
+ enumerateProperties(props);
+
+ std::string del;
+ data.clear();
+
+ for (PropMap::const_iterator i=props.begin(), e=props.end(); i!=e; ++i)
+ {
+ std::string name = i->first;
+ std::string value = i->second;
+ if ( ! name.empty() && name[0] == '$' ) continue; // see bug #22006
+ URL::encode(value);
+
+ data += del + name + "=" + value;
+
+ del = "&";
+
+ }
+
+}
+
+
} // end of gnash namespace
Index: server/as_object.h
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.h,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -b -r1.91 -r1.92
--- server/as_object.h 21 Jan 2008 20:55:49 -0000 1.91
+++ server/as_object.h 15 Feb 2008 10:12:55 -0000 1.92
@@ -726,6 +726,19 @@
///
void enumerateProperties(std::map<std::string, std::string>& to);
+ /// Get url-encoded variables
+ //
+ /// This method will be used for loadVariables and loadMovie
+ /// calls, to encode variables for sending over a network.
+ /// Variables starting with a dollar sign will be skipped,
+ /// as non-enumerable ones.
+ ///
+ /// @param data
+ /// Output parameter, will be set to the url-encoded
+ /// variables string, w/out any leading delimiter.
+ ///
+ void getURLEncodedVars(std::string& data);
+
/// Visit the properties of this object by key/as_value pairs
//
/// The method will invoke the given visitor method
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.476
retrieving revision 1.477
diff -u -b -r1.476 -r1.477
--- server/sprite_instance.cpp 14 Feb 2008 18:57:46 -0000 1.476
+++ server/sprite_instance.cpp 15 Feb 2008 10:12:55 -0000 1.477
@@ -4133,38 +4133,11 @@
// will be done by LoadVariablesThread (down by getStream, that is)
//if ( ! URLAccessManager::allow(url) ) return;
- std::string postdata = "";
+ std::string postdata;
if ( sendVarsMethod ) // 1=GET, 2=POST
{
- typedef std::map<std::string, std::string> PropMap;
- PropMap props;
- enumerateProperties(props);
-
- std::string del = "";
- std::string data = "";
-
- if ( (sendVarsMethod == 1) && (url.querystring() != "") ) // GET
- del = "&";
-
- for (PropMap::const_iterator i=props.begin(), e=props.end(); i!=e; ++i)
- {
- std::string name = i->first;
- std::string value = i->second;
- if ( ! name.empty() && name[0] == '$' ) continue; // see bug #22006
- url.encode(value);
-
- data += del + name + "=" + value;
-
- del = "&";
-
- }
-
- if ( sendVarsMethod == 1 ) // GET
- url.set_querystring(url.querystring() + data);
- else if ( sendVarsMethod == 2 ) // POST
- postdata = data;
-
+ getURLEncodedVars(postdata);
}
try
@@ -4177,6 +4150,13 @@
else
{
// use GET method
+ if ( sendVarsMethod == 1 )
+ {
+ // Append variables
+ string qs = url.querystring();
+ if ( qs.empty() ) url.set_querystring(postdata);
+ else url.set_querystring(qs + std::string("&") + postdata);
+ }
_loadVariableRequests.push_back(new LoadVariablesThread(url));
}
_loadVariableRequests.back()->process();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/as_object.cpp server/as_...,
Sandro Santilli <=