1. Keyword search via Java Hahstable is replaced by explicit "switch"
code generated by idswitch tool. It not only speed up keyword search and
eliminates all Integer objects created to hold keyword tokens and
corresponding Hahstable structures, but it also reduces code size due to
very poor array initialization support in JVM.
2. It replaces the isXDigit method by xDigitToInt that either converts
its argument to 0..15 or returns -1 if it is not a hex digit and updates
the method usage accordingly The patch updates NativeGlobal.js_unescape
to reflect this usage change.
* Implemented MagicCollectingArray, which acts like MagicPipingArray except that the result is collected into one big array instead of multiple arrayrefs
* Added the relevant getCollecting*List methods to the Controller class
* Added DESTROY methods to the magic array to prevent DESTROY method calls from being propagated
* Made the debug.dumpVars string more robust when the data hash includes one of the three magic characters '(', '.' or ')'
* Implemented sanitation in COSES so that any keys in the data hash containing one of the three magic characters '(', '.' or ')' will have them transliterated to '[', ':' and ']' respectively (sanitation is optional and can be bypassed)
* Changed the API of the generic output module's 'output' method to take the optional $session argument last, thus simplifying the call sites a lot
* Implemented the 'dispatcher.output' service in several classes to return strings that must be support in variants (required for a good UI in the COSES editor)
* Renamed the Login module's strings so that they use the dot-notation separating significant parts
Build Error Summary
c++ -o nsBookmarksService.o -c -DOSTYPE=\"BeOS5.0\" -DOSARCH=\"BeOS\" -DMOZ_REFLOW_PERF -DMOZ_REFLOW_PERF_DSP -DOJI -I../../../../dist/include -I../../../../dist/include -I/boot/home/tinderbox/BeOS_5.0_Depend/mozilla/obj-i686-pc-beos/dist/include/nspr -fPIC -frtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth -Wno-multichar -Wno-ctor-dtor-privacy -pedantic -Wno-long-long -pipe -DDEBUG -DDEBUG_cltbld -DTRACING -g -DMOZILLA_CLIENT -include ../../../../config-defs.h -Wp,-MD,.deps/nsBookmarksService.pp /boot/home/tinderbox/BeOS_5.0_Depend/mozilla/xpfe/components/bookmarks/src/nsBookmarksService.cpp
/boot/home/tinderbox/BeOS_5.0_Depend/mozilla/xpfe/components/bookmarks/src/nsBookmarksService.cpp: In method `nsresult nsBookmarksService::ReadBookmarks()':
/boot/home/tinderbox/BeOS_5.0_Depend/mozilla/xpfe/components/bookmarks/src/nsBookmarksService.cpp:4112: no matching function for call to `BookmarkParser::SetIEFavoritesRoot (nsCString)'
/boot/home/tinderbox/BeOS_5.0_Depend/mozilla/xpfe/components/bookmarks/src/nsBookmarksService.cpp:403: candidates are: BookmarkParser::SetIEFavoritesRoot(nsCString &) <near match>
make[5]: *** [nsBookmarksService.o] Error 1
picky compiler. i'm amazed that any of the code in there works. this is a bustage fix that will only affect XP_BEOS.
* Added implicit data to the hash passed to the string expander from the generic output service
* To support the implicit data, added a |hash| stub method to the Session.pm module (and changed the already implemented version in the descendant user service to take this into account)
* To support the implicit data, added |hash| and |getArguments| methods to the Input.pm module (and implemented |getArguments| in the Arguments.pm module)
* To support the implicit data, made the Program.pm module keep track of the executing command
* To support the implicit data, added |hash| and |name| methods to the Program.pm module (actually, |name| was already assumed to exist in other parts of the codebase)
* Corrected trivial semantic mistake in Program.pm's |verifyInput| method
* Added a way to get a user not by username but by a specific address (modifies the user service and the user data source and it's MySQL implementation)
* Implemented GenericOutputs.pm, an implementation of 'dispatcher.output.generic' and 'dataSource.strings.default' for some strings used by other parts of PLIF (currently only supports 'stdout' and 'http' protocols, and minimally at that)
* Implemented Login.pm, a helper module that implements user authentication, user creation and the sending of a new password if it is forgotten, a utility method |hasRight| to ensure that the authenticated user has a particular right (resulting in a message if not), and various routines to support all this.
(implement method exposing BookmarkParser::CreateAnonymousResource)
- allow user to remove Imported IE favorites folder by setting a pref
so that it is not automatically imported on startup.
r=hixie, sr=blake, a=asa
part of 79904, 22642