[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog libbase/string_table.cpp libbas...
From: |
Chad Musick |
Subject: |
[Gnash-commit] gnash ChangeLog libbase/string_table.cpp libbas... |
Date: |
Tue, 29 Jan 2008 07:13:24 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Chad Musick <cmusick> 08/01/29 07:13:24
Modified files:
. : ChangeLog
libbase : string_table.cpp string_table.h
server : namedStrings.cpp
testsuite/server: PropertyListTest.cpp
Log message:
Case sensitivity.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5514&r2=1.5515
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/string_table.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/string_table.h?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/namedStrings.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/server/PropertyListTest.cpp?cvsroot=gnash&r1=1.21&r2=1.22
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5514
retrieving revision 1.5515
diff -u -b -r1.5514 -r1.5515
--- ChangeLog 29 Jan 2008 05:18:32 -0000 1.5514
+++ ChangeLog 29 Jan 2008 07:13:23 -0000 1.5515
@@ -1,3 +1,10 @@
+2008-01-29 Chad Musick <address@hidden>
+
+ * libbase/string_table.h,cpp: Change string_table to be case
+ insensitive for strings in SWF versions less than 7.
+ * testsuite/server/PropertyListTest.cpp: Amend Test to not
+ test case-sensitivity when it shouldn't be case sensitive.
+
2008-01-28 Bastiaan Jacques <address@hidden>
* libmedia/gst/VideoDecoderGst.{cpp,h}: Tell the decoder about the
Index: libbase/string_table.cpp
===================================================================
RCS file: /sources/gnash/gnash/libbase/string_table.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- libbase/string_table.cpp 24 Jan 2008 03:41:58 -0000 1.5
+++ libbase/string_table.cpp 29 Jan 2008 07:13:23 -0000 1.6
@@ -24,25 +24,26 @@
std::string string_table::mEmpty = "";
string_table::key
-string_table::find(const std::string& to_find, bool insert_unfound,
- bool case_insensitive)
+string_table::find(const std::string& t_f, bool insert_unfound)
{
- std::size_t ckey = 0;
+ std::string t_fcase;
+ const std::string *to_find = NULL;
- // Empty strings all map to 0
- if (to_find.empty())
- return 0;
-
- if (case_insensitive)
+ if (mCaseInsensitive)
{
- std::string caseless = boost::to_lower_copy(to_find);
- if (caseless != to_find) // Only do this if cased/caseless
differs.
- {
- ckey = find(caseless, insert_unfound, false).caseless;
- }
+ t_fcase = t_f;
+ boost::to_lower(t_fcase);
+ to_find = &t_fcase;
}
+ else
+ to_find = &t_f;
+
+ // Empty strings all map to 0
+ if (to_find->empty())
+ return 0;
- table::nth_index<0>::type::iterator i = mTable.get<0>().find(to_find);
+ table::nth_index<0>::type::iterator i =
+ mTable.get<0>().find(*to_find);
if (i == mTable.end() && insert_unfound)
{
@@ -53,21 +54,23 @@
// First we lock.
boost::mutex::scoped_lock aLock(mLock);
// Then we see if someone else managed to sneak past us.
- i = mTable.get<0>().find(to_find);
+ i = mTable.get<0>().find(*to_find);
// If they did, use that value.
if (i != mTable.end())
- return case_key(i->mId, &i->mValue);
+ return i->mId;
+
// Otherwise, insert it.
- theSvt.mValue = to_find;
+ theSvt.mValue = t_f;
+ theSvt.mComp = *to_find;
theSvt.mId = ++mHighestKey;
mTable.insert(theSvt);
- return case_key(ckey ? ckey : theSvt.mId,
&(theSvt.mValue));
+ return theSvt.mId;
}
else
return 0;
}
- return case_key(ckey ? ckey : i->mId, &(i->mValue));
+ return i->mId;
}
string_table::key
@@ -85,9 +88,7 @@
string_table::insert(const std::string& to_insert)
{
boost::mutex::scoped_lock aLock(mLock);
- svt theSvt;
- theSvt.mValue = to_insert;
- theSvt.mId = ++mHighestKey;
+ svt theSvt(to_insert, ++mHighestKey);
return mTable.insert(theSvt).first->mId;
}
@@ -100,7 +101,11 @@
for (std::size_t i = 0; i < size; ++i)
{
if (mSetToLower)
+ {
boost::to_lower(pList[i].mValue);
+ boost::to_lower(pList[i].mComp);
+ }
+
// The keys don't have to be consecutive, so any time we find a
key
// that is too big, jump a few keys to avoid rewriting this on
every item.
if (pList[i].mId > mHighestKey)
@@ -113,9 +118,9 @@
string_table::key
string_table::already_locked_insert(const std::string& to_insert,
boost::mutex&)
{
- svt theSvt;
- theSvt.mValue = to_insert;
- theSvt.mId = ++mHighestKey;
+ svt theSvt (to_insert, ++mHighestKey);
+ if (mCaseInsensitive)
+ boost::to_lower(theSvt.mComp);
return mTable.insert(theSvt).first->mId;
}
Index: libbase/string_table.h
===================================================================
RCS file: /sources/gnash/gnash/libbase/string_table.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- libbase/string_table.h 24 Jan 2008 03:41:59 -0000 1.8
+++ libbase/string_table.h 29 Jan 2008 07:13:23 -0000 1.9
@@ -41,37 +41,30 @@
/// A general use string table.
class string_table
{
-private:
- struct case_key
- {
- std::size_t caseless;
- const std::string *cased;
- case_key() : caseless(0), cased(NULL) {}
- case_key(std::size_t k) : caseless(k), cased(NULL) {}
- case_key(std::size_t k, const std::string *c) :
- caseless(k), cased(c) {}
- operator std::size_t() const { return caseless; }
- bool operator<(const case_key &o) { return caseless <
o.caseless; }
- };
-
public:
/// A little helper for indexing.
struct svt
{
std::string mValue;
std::size_t mId;
+ std::string mComp;
+
+ svt() : mValue(""), mId(0), mComp("") {/**/}
+
+ svt(const std::string &val, std::size_t id) :
+ mValue(val), mId(id), mComp(val) {/**/}
};
public:
typedef boost::multi_index_container<svt,
boost::multi_index::indexed_by<
boost::multi_index::hashed_non_unique<
- boost::multi_index::member<svt, std::string,
&svt::mValue> >,
+ boost::multi_index::member<svt, std::string,
&svt::mComp> >,
boost::multi_index::hashed_non_unique< // caseless
boost::multi_index::member<svt, std::size_t,
&svt::mId> >
> > table;
- typedef case_key key;
+ typedef std::size_t key;
/// \brief
/// Find a string. If insert_unfound is true, the string will
@@ -83,16 +76,10 @@
/// If this is set to false, a search is performed, but no update.
/// By update, any unfound string is added to the table.
///
- /// @param case_insensitive
- /// If true, find a case-insensitive match to this.
- /// N.B.: Will not necessarily match a string which was not inserted
- /// as case_insensitive.
- ///
/// @return
/// A key which can be used in value or 0 if the string is
/// not yet in the table and insert_unfound was false.
- key find(const std::string& to_find, bool insert_unfound = true,
- bool case_insensitive = false);
+ key find(const std::string& to_find, bool insert_unfound = true);
/// \brief
/// Find a string which is the concatentation of two known strings
@@ -100,21 +87,6 @@
/// Otherwise, just like find.
key find_dot_pair(key left, key right, bool insert_unfound = true);
- /// Find a string by its key, exactly.
- ///
- /// @param to_find
- /// The string key whose value should be found.
- ///
- /// @param (unnamed)
- /// Used to distinguish from value(key to_find)
- const std::string& value(key &to_find, bool)
- {
- if (to_find.cased != NULL)
- return *to_find.cased;
- to_find.cased = &(value(to_find));
- return *to_find.cased;
- }
-
/// Find a string by its key.
///
/// @return
@@ -124,7 +96,7 @@
if (mTable.empty() || !to_find)
return mEmpty;
table::nth_index<1>::type::iterator r =
- mTable.get<1>().find(to_find.caseless);
+ mTable.get<1>().find(to_find);
return (r == mTable.get<1>().end()) ? mEmpty : r->mValue;
}
@@ -164,12 +136,16 @@
/// @return A mutex which can be used to lock the string table to
inserts.
boost::mutex& lock_mutex() { return mLock; }
+ /// Make the comparisons case-insensitive.
+ void set_insensitive() { mCaseInsensitive = true; }
+
/// Construct the empty string_table
string_table() :
mTable(),
mLock(),
mHighestKey(0),
- mSetToLower(false)
+ mSetToLower(false),
+ mCaseInsensitive(false)
{/**/}
private:
@@ -178,6 +154,7 @@
boost::mutex mLock;
std::size_t mHighestKey;
bool mSetToLower; // If true, affects the next group addition.
+ bool mCaseInsensitive;
};
} /* namespace gnash */
Index: server/namedStrings.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/namedStrings.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/namedStrings.cpp 21 Jan 2008 20:55:51 -0000 1.10
+++ server/namedStrings.cpp 29 Jan 2008 07:13:23 -0000 1.11
@@ -27,160 +27,163 @@
// Load up our pre-known names
static string_table::svt preload_names[] =
{
- { "addListener", NSV::PROP_ADD_LISTENER },
- { "align", NSV::PROP_ALIGN },
- { "_alpha", NSV::PROP_uALPHA },
- { "blockIndent", NSV::PROP_BLOCK_INDENT },
- { "bold", NSV::PROP_BOLD },
- { "broadcastMessage", NSV::PROP_BROADCAST_MESSAGE },
- { "bullet", NSV::PROP_BULLET },
- { "callee", NSV::PROP_CALLEE },
- { "color", NSV::PROP_COLOR },
- { "constructor", NSV::PROP_CONSTRUCTOR },
- { "__constructor__", NSV::PROP_uuCONSTRUCTORuu },
- { "_currentframe", NSV::PROP_uCURRENTFRAME },
- { "_droptarget", NSV::PROP_uDROPTARGET },
- { "enabled", NSV::PROP_ENABLED },
- { "_focusrect", NSV::PROP_uFOCUSRECT },
- { "_framesloaded", NSV::PROP_uFRAMESLOADED },
- { "_height", NSV::PROP_uHEIGHT },
- { "_highquality", NSV::PROP_uHIGHQUALITY },
- { "htmlText", NSV::PROP_HTML_TEXT },
- { "indent", NSV::PROP_INDENT },
- { "italic", NSV::PROP_ITALIC },
- { "leading", NSV::PROP_LEADING },
- { "left_margin", NSV::PROP_LEFT_MARGIN },
- { "length", NSV::PROP_LENGTH },
- { "_listeners", NSV::PROP_uLISTENERS },
- { "loaded", NSV::PROP_LOADED },
- { "_name", NSV::PROP_uNAME },
- { "onLoad", NSV::PROP_ON_LOAD },
- { "onClose", NSV::PROP_ON_CLOSE },
- { "onLoadStart", NSV::PROP_ON_LOAD_START },
- { "onLoadError", NSV::PROP_ON_LOAD_ERROR },
- { "onLoadProgress", NSV::PROP_ON_LOAD_PROGRESS },
- { "onLoadInit", NSV::PROP_ON_LOAD_INIT },
- { "onUnload", NSV::PROP_ON_UNLOAD },
- { "onEnterFrame", NSV::PROP_ON_ENTER_FRAME },
- { "onConstruct", NSV::PROP_ON_CONSTRUCT },
- { "onInitialize", NSV::PROP_ON_INITIALIZE },
- { "onData", NSV::PROP_ON_DATA },
- { "onResize", NSV::PROP_ON_RESIZE },
- { "onPress", NSV::PROP_ON_PRESS },
- { "onRelease", NSV::PROP_ON_RELEASE },
- { "onReleaseOutside", NSV::PROP_ON_RELEASE_OUTSIDE },
- { "onRollOut", NSV::PROP_ON_ROLL_OUT },
- { "onRollOver", NSV::PROP_ON_ROLL_OVER },
- { "onDragOver", NSV::PROP_ON_DRAG_OVER },
- { "onDragOut", NSV::PROP_ON_DRAG_OUT },
- { "onKeyPress", NSV::PROP_ON_KEY_PRESS },
- { "onKeyDown", NSV::PROP_ON_KEY_DOWN },
- { "onKeyUp", NSV::PROP_ON_KEY_UP },
- { "onMouseDown", NSV::PROP_ON_MOUSE_DOWN },
- { "onMouseUp", NSV::PROP_ON_MOUSE_UP },
- { "onMouseMove", NSV::PROP_ON_MOUSE_MOVE },
- { "onSetFocus", NSV::PROP_ON_SET_FOCUS },
- { "onKillFocus", NSV::PROP_ON_KILL_FOCUS },
- { "onSelect", NSV::PROP_ON_SELECT },
- { "onStatus", NSV::PROP_ON_STATUS },
- { "onMetaData", NSV::PROP_ON_META_DATA },
- { "onSockClose", NSV::PROP_ON_SOCK_CLOSE },
- { "onSockConnect", NSV::PROP_ON_SOCK_CONNECT },
- { "onSockData", NSV::PROP_ON_SOCK_DATA },
- { "onSockXML", NSV::PROP_ON_SOCK_XML },
- { "onXMLLoad", NSV::PROP_ON_XML_LOAD },
- { "onXMLData", NSV::PROP_ON_XML_DATA },
- { "parseXML", NSV::PROP_PARSE_XML },
- { "onTimer", NSV::PROP_ON_TIMER },
- { "_parent", NSV::PROP_uPARENT },
- { "_root", NSV::PROP_uROOT },
- { "_global", NSV::PROP_uGLOBAL },
- { "__proto__", NSV::PROP_uuPROTOuu },
- { "prototype", NSV::PROP_PROTOTYPE },
- { "push", NSV::PROP_PUSH },
- { "removeListener", NSV::PROP_REMOVE_LISTENER },
- { "rightMargin", NSV::PROP_RIGHT_MARGIN },
- { "_rotation", NSV::PROP_uROTATION },
- { "scaleMode", NSV::PROP_SCALE_MODE },
- { "size", NSV::PROP_SIZE },
- { "_soundbuftime", NSV::PROP_uSOUNDBUFTIME },
- { "splice", NSV::PROP_SPLICE },
- { "Stage", NSV::PROP_iSTAGE },
- { "status", NSV::PROP_STATUS },
- { "super", NSV::PROP_SUPER },
- { "_target", NSV::PROP_uTARGET },
- { "text", NSV::PROP_TEXT },
- { "textColor", NSV::PROP_TEXT_COLOR },
- { "textWidth", NSV::PROP_TEXT_WIDTH },
- { "toString", NSV::PROP_TO_STRING },
- { "_totalframes", NSV::PROP_uTOTALFRAMES },
- { "underline", NSV::PROP_UNDERLINE },
- { "_url", NSV::PROP_uURL },
- { "valueOf", NSV::PROP_VALUE_OF },
- { "_visible", NSV::PROP_uVISIBLE },
- { "_width", NSV::PROP_uWIDTH },
- { "x", NSV::PROP_X },
- { "_x", NSV::PROP_uX },
- { "_xmouse", NSV::PROP_uXMOUSE },
- { "_xscale", NSV::PROP_uXSCALE },
- { "y", NSV::PROP_Y },
- { "_y", NSV::PROP_uY },
- { "_ymouse", NSV::PROP_uYMOUSE },
- { "_yscale", NSV::PROP_uYSCALE },
- { "System", NSV::CLASS_SYSTEM },
-// { "Stage", NSV::CLASS_STAGE }, // Identical to PROP_iSTAGE
- { "MovieClip", NSV::CLASS_MOVIE_CLIP },
- { "TextField", NSV::CLASS_TEXT_FIELD },
- { "Math", NSV::CLASS_MATH },
- { "Boolean", NSV::CLASS_BOOLEAN },
- { "Color", NSV::CLASS_COLOR },
- { "Selection", NSV::CLASS_SELECTION },
- { "Sound", NSV::CLASS_SOUND },
- { "XMLSocket", NSV::CLASS_X_M_L_SOCKET },
- { "Date", NSV::CLASS_DATE },
- { "XML", NSV::CLASS_X_M_L },
- { "XMLNode", NSV::CLASS_X_M_L_NODE },
- { "Mouse", NSV::CLASS_MOUSE },
- { "Object", NSV::CLASS_OBJECT },
- { "String", NSV::CLASS_STRING },
- { "Number", NSV::CLASS_NUMBER },
- { "Array", NSV::CLASS_ARRAY },
- { "Key", NSV::CLASS_KEY },
- { "AsBroadcaster", NSV::CLASS_AS_BROADCASTER },
- { "Function", NSV::CLASS_FUNCTION },
- { "TextSnapshot", NSV::CLASS_TEXT_SNAPSHOT },
- { "Video", NSV::CLASS_VIDEO },
- { "Camera", NSV::CLASS_CAMERA },
- { "Microphone", NSV::CLASS_MICROPHONE },
- { "SharedObject", NSV::CLASS_SHARED_OBJECT },
- { "LoadVars", NSV::CLASS_LOAD_VARS },
- { "CustomActions", NSV::CLASS_CUSTOM_ACTIONS },
- { "NetConnection", NSV::CLASS_NET_CONNECTION },
- { "NetStream", NSV::CLASS_NET_STREAM },
- { "ContextMenu", NSV::CLASS_CONTEXT_MENU },
- { "MovieClipLoader", NSV::CLASS_MOVIE_CLIP_LOADER },
- { "Error", NSV::CLASS_ERROR },
- { "flash.display", NSV::NS_FLASH_DISPLAY },
- { "flash.text", NSV::NS_FLASH_TEXT },
- { "flash.geom", NSV::NS_FLASH_GEOM },
- { "flash.net", NSV::NS_FLASH_NET },
- { "flash.system", NSV::NS_FLASH_SYSTEM },
- { "flash.utils", NSV::NS_FLASH_UTILS },
- { "flash.events", NSV::NS_FLASH_EVENTS },
- { "flash.accessibility", NSV::NS_FLASH_ACCESSIBILITY },
- { "flash.media", NSV::NS_FLASH_MEDIA },
- { "flash.xml", NSV::NS_FLASH_XML },
- { "flash.ui", NSV::NS_FLASH_UI },
- { "adobe.utils", NSV::NS_ADOBE_UTILS },
- { "", NSV::INTERNAL_TYPE },
- { "", NSV::INTERNAL_STACK_PARENT },
- { "", NSV::INTERNAL_INTERFACES }
+ string_table::svt( "addListener", NSV::PROP_ADD_LISTENER ),
+ string_table::svt( "align", NSV::PROP_ALIGN ),
+ string_table::svt( "_alpha", NSV::PROP_uALPHA ),
+ string_table::svt( "blockIndent", NSV::PROP_BLOCK_INDENT ),
+ string_table::svt( "bold", NSV::PROP_BOLD ),
+ string_table::svt( "broadcastMessage", NSV::PROP_BROADCAST_MESSAGE ),
+ string_table::svt( "bullet", NSV::PROP_BULLET ),
+ string_table::svt( "callee", NSV::PROP_CALLEE ),
+ string_table::svt( "color", NSV::PROP_COLOR ),
+ string_table::svt( "constructor", NSV::PROP_CONSTRUCTOR ),
+ string_table::svt( "__constructor__", NSV::PROP_uuCONSTRUCTORuu ),
+ string_table::svt( "_currentframe", NSV::PROP_uCURRENTFRAME ),
+ string_table::svt( "_droptarget", NSV::PROP_uDROPTARGET ),
+ string_table::svt( "enabled", NSV::PROP_ENABLED ),
+ string_table::svt( "_focusrect", NSV::PROP_uFOCUSRECT ),
+ string_table::svt( "_framesloaded", NSV::PROP_uFRAMESLOADED ),
+ string_table::svt( "_height", NSV::PROP_uHEIGHT ),
+ string_table::svt( "_highquality", NSV::PROP_uHIGHQUALITY ),
+ string_table::svt( "htmlText", NSV::PROP_HTML_TEXT ),
+ string_table::svt( "indent", NSV::PROP_INDENT ),
+ string_table::svt( "italic", NSV::PROP_ITALIC ),
+ string_table::svt( "leading", NSV::PROP_LEADING ),
+ string_table::svt( "left_margin", NSV::PROP_LEFT_MARGIN ),
+ string_table::svt( "length", NSV::PROP_LENGTH ),
+ string_table::svt( "_listeners", NSV::PROP_uLISTENERS ),
+ string_table::svt( "loaded", NSV::PROP_LOADED ),
+ string_table::svt( "_name", NSV::PROP_uNAME ),
+ string_table::svt( "onLoad", NSV::PROP_ON_LOAD ),
+ string_table::svt( "onClose", NSV::PROP_ON_CLOSE ),
+ string_table::svt( "onLoadStart", NSV::PROP_ON_LOAD_START ),
+ string_table::svt( "onLoadError", NSV::PROP_ON_LOAD_ERROR ),
+ string_table::svt( "onLoadProgress", NSV::PROP_ON_LOAD_PROGRESS ),
+ string_table::svt( "onLoadInit", NSV::PROP_ON_LOAD_INIT ),
+ string_table::svt( "onUnload", NSV::PROP_ON_UNLOAD ),
+ string_table::svt( "onEnterFrame", NSV::PROP_ON_ENTER_FRAME ),
+ string_table::svt( "onConstruct", NSV::PROP_ON_CONSTRUCT ),
+ string_table::svt( "onInitialize", NSV::PROP_ON_INITIALIZE ),
+ string_table::svt( "onData", NSV::PROP_ON_DATA ),
+ string_table::svt( "onResize", NSV::PROP_ON_RESIZE ),
+ string_table::svt( "onPress", NSV::PROP_ON_PRESS ),
+ string_table::svt( "onRelease", NSV::PROP_ON_RELEASE ),
+ string_table::svt( "onReleaseOutside", NSV::PROP_ON_RELEASE_OUTSIDE ),
+ string_table::svt( "onRollOut", NSV::PROP_ON_ROLL_OUT ),
+ string_table::svt( "onRollOver", NSV::PROP_ON_ROLL_OVER ),
+ string_table::svt( "onDragOver", NSV::PROP_ON_DRAG_OVER ),
+ string_table::svt( "onDragOut", NSV::PROP_ON_DRAG_OUT ),
+ string_table::svt( "onKeyPress", NSV::PROP_ON_KEY_PRESS ),
+ string_table::svt( "onKeyDown", NSV::PROP_ON_KEY_DOWN ),
+ string_table::svt( "onKeyUp", NSV::PROP_ON_KEY_UP ),
+ string_table::svt( "onMouseDown", NSV::PROP_ON_MOUSE_DOWN ),
+ string_table::svt( "onMouseUp", NSV::PROP_ON_MOUSE_UP ),
+ string_table::svt( "onMouseMove", NSV::PROP_ON_MOUSE_MOVE ),
+ string_table::svt( "onSetFocus", NSV::PROP_ON_SET_FOCUS ),
+ string_table::svt( "onKillFocus", NSV::PROP_ON_KILL_FOCUS ),
+ string_table::svt( "onSelect", NSV::PROP_ON_SELECT ),
+ string_table::svt( "onStatus", NSV::PROP_ON_STATUS ),
+ string_table::svt( "onMetaData", NSV::PROP_ON_META_DATA ),
+ string_table::svt( "onSockClose", NSV::PROP_ON_SOCK_CLOSE ),
+ string_table::svt( "onSockConnect", NSV::PROP_ON_SOCK_CONNECT ),
+ string_table::svt( "onSockData", NSV::PROP_ON_SOCK_DATA ),
+ string_table::svt( "onSockXML", NSV::PROP_ON_SOCK_XML ),
+ string_table::svt( "onXMLLoad", NSV::PROP_ON_XML_LOAD ),
+ string_table::svt( "onXMLData", NSV::PROP_ON_XML_DATA ),
+ string_table::svt( "parseXML", NSV::PROP_PARSE_XML ),
+ string_table::svt( "onTimer", NSV::PROP_ON_TIMER ),
+ string_table::svt( "_parent", NSV::PROP_uPARENT ),
+ string_table::svt( "_root", NSV::PROP_uROOT ),
+ string_table::svt( "_global", NSV::PROP_uGLOBAL ),
+ string_table::svt( "__proto__", NSV::PROP_uuPROTOuu ),
+ string_table::svt( "prototype", NSV::PROP_PROTOTYPE ),
+ string_table::svt( "push", NSV::PROP_PUSH ),
+ string_table::svt( "removeListener", NSV::PROP_REMOVE_LISTENER ),
+ string_table::svt( "rightMargin", NSV::PROP_RIGHT_MARGIN ),
+ string_table::svt( "_rotation", NSV::PROP_uROTATION ),
+ string_table::svt( "scaleMode", NSV::PROP_SCALE_MODE ),
+ string_table::svt( "size", NSV::PROP_SIZE ),
+ string_table::svt( "_soundbuftime", NSV::PROP_uSOUNDBUFTIME ),
+ string_table::svt( "splice", NSV::PROP_SPLICE ),
+ string_table::svt( "Stage", NSV::PROP_iSTAGE ),
+ string_table::svt( "status", NSV::PROP_STATUS ),
+ string_table::svt( "super", NSV::PROP_SUPER ),
+ string_table::svt( "_target", NSV::PROP_uTARGET ),
+ string_table::svt( "text", NSV::PROP_TEXT ),
+ string_table::svt( "textColor", NSV::PROP_TEXT_COLOR ),
+ string_table::svt( "textWidth", NSV::PROP_TEXT_WIDTH ),
+ string_table::svt( "toString", NSV::PROP_TO_STRING ),
+ string_table::svt( "_totalframes", NSV::PROP_uTOTALFRAMES ),
+ string_table::svt( "underline", NSV::PROP_UNDERLINE ),
+ string_table::svt( "_url", NSV::PROP_uURL ),
+ string_table::svt( "valueOf", NSV::PROP_VALUE_OF ),
+ string_table::svt( "_visible", NSV::PROP_uVISIBLE ),
+ string_table::svt( "_width", NSV::PROP_uWIDTH ),
+ string_table::svt( "x", NSV::PROP_X ),
+ string_table::svt( "_x", NSV::PROP_uX ),
+ string_table::svt( "_xmouse", NSV::PROP_uXMOUSE ),
+ string_table::svt( "_xscale", NSV::PROP_uXSCALE ),
+ string_table::svt( "y", NSV::PROP_Y ),
+ string_table::svt( "_y", NSV::PROP_uY ),
+ string_table::svt( "_ymouse", NSV::PROP_uYMOUSE ),
+ string_table::svt( "_yscale", NSV::PROP_uYSCALE ),
+ string_table::svt( "System", NSV::CLASS_SYSTEM ),
+// string_table::svt( "Stage", NSV::CLASS_STAGE ), // Identical to
PROP_iSTAGE
+ string_table::svt( "MovieClip", NSV::CLASS_MOVIE_CLIP ),
+ string_table::svt( "TextField", NSV::CLASS_TEXT_FIELD ),
+ string_table::svt( "Math", NSV::CLASS_MATH ),
+ string_table::svt( "Boolean", NSV::CLASS_BOOLEAN ),
+ string_table::svt( "Color", NSV::CLASS_COLOR ),
+ string_table::svt( "Selection", NSV::CLASS_SELECTION ),
+ string_table::svt( "Sound", NSV::CLASS_SOUND ),
+ string_table::svt( "XMLSocket", NSV::CLASS_X_M_L_SOCKET ),
+ string_table::svt( "Date", NSV::CLASS_DATE ),
+ string_table::svt( "XML", NSV::CLASS_X_M_L ),
+ string_table::svt( "XMLNode", NSV::CLASS_X_M_L_NODE ),
+ string_table::svt( "Mouse", NSV::CLASS_MOUSE ),
+ string_table::svt( "Object", NSV::CLASS_OBJECT ),
+ string_table::svt( "String", NSV::CLASS_STRING ),
+ string_table::svt( "Number", NSV::CLASS_NUMBER ),
+ string_table::svt( "Array", NSV::CLASS_ARRAY ),
+ string_table::svt( "Key", NSV::CLASS_KEY ),
+ string_table::svt( "AsBroadcaster", NSV::CLASS_AS_BROADCASTER ),
+ string_table::svt( "Function", NSV::CLASS_FUNCTION ),
+ string_table::svt( "TextSnapshot", NSV::CLASS_TEXT_SNAPSHOT ),
+ string_table::svt( "Video", NSV::CLASS_VIDEO ),
+ string_table::svt( "Camera", NSV::CLASS_CAMERA ),
+ string_table::svt( "Microphone", NSV::CLASS_MICROPHONE ),
+ string_table::svt( "SharedObject", NSV::CLASS_SHARED_OBJECT ),
+ string_table::svt( "LoadVars", NSV::CLASS_LOAD_VARS ),
+ string_table::svt( "CustomActions", NSV::CLASS_CUSTOM_ACTIONS ),
+ string_table::svt( "NetConnection", NSV::CLASS_NET_CONNECTION ),
+ string_table::svt( "NetStream", NSV::CLASS_NET_STREAM ),
+ string_table::svt( "ContextMenu", NSV::CLASS_CONTEXT_MENU ),
+ string_table::svt( "MovieClipLoader", NSV::CLASS_MOVIE_CLIP_LOADER ),
+ string_table::svt( "Error", NSV::CLASS_ERROR ),
+ string_table::svt( "flash.display", NSV::NS_FLASH_DISPLAY ),
+ string_table::svt( "flash.text", NSV::NS_FLASH_TEXT ),
+ string_table::svt( "flash.geom", NSV::NS_FLASH_GEOM ),
+ string_table::svt( "flash.net", NSV::NS_FLASH_NET ),
+ string_table::svt( "flash.system", NSV::NS_FLASH_SYSTEM ),
+ string_table::svt( "flash.utils", NSV::NS_FLASH_UTILS ),
+ string_table::svt( "flash.events", NSV::NS_FLASH_EVENTS ),
+ string_table::svt( "flash.accessibility", NSV::NS_FLASH_ACCESSIBILITY ),
+ string_table::svt( "flash.media", NSV::NS_FLASH_MEDIA ),
+ string_table::svt( "flash.xml", NSV::NS_FLASH_XML ),
+ string_table::svt( "flash.ui", NSV::NS_FLASH_UI ),
+ string_table::svt( "adobe.utils", NSV::NS_ADOBE_UTILS ),
+ string_table::svt( "", NSV::INTERNAL_TYPE ),
+ string_table::svt( "", NSV::INTERNAL_STACK_PARENT ),
+ string_table::svt( "", NSV::INTERNAL_INTERFACES )
};
void load_strings(string_table *table, int version)
{
if (version < 7)
+ {
table->lower_next_group();
+ table->set_insensitive();
+ }
table->insert_group(preload_names,
sizeof (preload_names) / sizeof (string_table::svt));
Index: testsuite/server/PropertyListTest.cpp
===================================================================
RCS file: /sources/gnash/gnash/testsuite/server/PropertyListTest.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- testsuite/server/PropertyListTest.cpp 21 Jan 2008 23:26:53 -0000
1.21
+++ testsuite/server/PropertyListTest.cpp 29 Jan 2008 07:13:24 -0000
1.22
@@ -68,6 +68,8 @@
string_table& st = vm.getStringTable();
+ if (vm.getSWFVersion() > 6) // Below 7 is not case sensitive.
+ {
check_equals(props.size(), 0);
check ( props.setValue(st.find("Var0"), val, obj) );
check_equals(props.size(), 1);
@@ -121,6 +123,6 @@
check_equals( vals["var0"], "value3" );
check_equals( vals["Var0"], "value2" );
check_equals( vals["var1"], "value" );
-
+ } // end version specific
}