1. Factoring nsIChannel into a protocol specific part, the nsIChannel, and a socket specific, the nsITransport.
2. Derive the nsIChannel from a nsIRequest.
2. Changes the notification system from necko and the URILoader to pass the nsIRequest interface instead of nsIChannel interface.
This goal stems from wanting to be able to have active AsyncRead and AsyncWrite operations on nsSocketTransport.
This is desired because it would greatly simplify the task of maintaining persistent/reusable socket connections
for FTP, HTTP, and Imap (and potentially other protocols). The problem with the existing nsIChannel interface is
that it does not allow one to selectively suspend just one of the read or write operations while keeping the other active.
The full details of the change on written up in the netlib newsgroup.
r=darin@netscape.comsr=rpotts@netscape.com
r=vishy. verified this solution works for mozilla, commercial and shrimp.
dont have bug number handy but this should be world++. basically from
now on, jar.mn rules will both create the jar and publish the flat files
to dist. the flat files are needed so that installers can compose the
files into a new naming system or delete some or whatever.
interfaces. Since the C++ generated code upper-cases the method names, this
affects no C++ code, but only a few javascript methods.
Bug 46771.
r=waterson.
I am in today and tomorrow.
a=brendan
* chatzilla-service.js
added components required for irc:// urls.
* command-manager.js
sort names before returning
* connection-xpcom.js
added support for async reads.
* events.js
Added "yield" event type to break out of event processing.
* irc-debug.js
add MPL
show data for "senddata" type events.
* irc.js
add password param for server.login() method.
add key param for channel.join() method.
refactoring to use the connection's async read method if it's there
(it's not in connection-rhino.js yet.)
* utils.js
add hyphenateWord function.
* chatzilla.xul
add windowtype attribute.
apply exv@randomc.com 's userlist context menu patch.
* commands.js
apply cbegle@geocast.com 's /stalk and /unstalk patch.
update join, server, and attach commands to include new params.
alias leave part.
removed bogus comments.
* handlers.js
apply cbegle@geocast.com 's /stalk and /unstalk patch.
update join, server, and attach commands to include new params.
check for pending irc urls after connection is made.
* static.js
apply cbegle@geocast.com 's /stalk and /unstalk patch.
apply exv@randomc.com 's userlist context menu patch.
add long word rule to munger.
implement parseIRCURL() and gotoIRCURL() function.
implement doURLTest() to test the other two.
1) Passing the proxy hostname and port to the underlying socket
and changing all users that appeared in lxr.
2) (psm-glue) registering with the cache manager to allow local loopback so that
psm will work with a proxy.
3) (psm-glue) Storing proxy information in psmSocketInfo.
most reviewed by gagan@netscape.com.
* irc.js
add ctcpTo(), ctcp() methods
forward unknown ctcp codes to onUnknownCTCP handler
* utils.js
add abbreviateWord function
* commands.js
add /ctcp command
* handler.js
make |this| refer to client.currentObject in /eval
implement /ctcp command
chop long hostnames onJoin
add onUnknownCTCP handler
redraw fixes in on366, onPart
* rdf.js
add getTreeRoot method
* static.js
comment fixes
add max word/nick display vars, implementations
updateTitle changes, show correct title based on client.currentObject
fix delete view issue
chop long nicks before displaying
* xul/content/MANIFEST
install new file.
* chatzilla.xul
remove old js file.
add new js file.
menu restructuring.
userlist as rdf populated tree.
* commands.js
hookup for quit, exit, clear, delete, hide, commands, names, toolbar, and statusbar commands.
* handlers.js
implement new commands.
userlist sorting.
tab completion reorg.
pgup/dn functionality.
userlist rdf related hookup.
* static.js
remove unused client.vars.
make version reply one line.
show activity in titlebar if toolbar is not visible.
fix scrolling AND redraw problems!!
userlist rdf related hookup.
* chatzilla.xul
add tasksoverlay
convert starusbar from html:table to box
html:input -> textfield
* handlers.js
prompt for a new nickname if default was not changed
* readprefs.js
read network pref
* static.js
titlebutton -> menubutton
* listbox.js
convert html thingies to xul thingies. Quite broken, need to change quicklist to a tree
* chatzilla.css
deleted much, more skinnable now
Various changes to make it Right
* events.js
parameterize hook functions to allow arbitrary hook arrays to be used.
search hooks in reverse order of add
* irc.js
check to see if server is connected before trying to disconnect on net.quit()
watch for exception on connect()
move auto-join-channel into on001 handler.
watch for java.lang.ThreadDeath if running under rhino.
fix onNick for the undernet network
* utils.js
define dd under rhino.
allow functions as patterns in matchObject().
* ircbot.js
define gc() for rhino.
add initPersonality hook.
add support for script line continuation with "\"
* chatzilla.xul
include globalOverlay.xul (why?)
comment out style change menu.
* handlers.js
read prefs before initialization.
add updateTitle() calls where appropriate.
* readprefs.js
Add comment to explain valid prefs.
add style prefs.
* static.js
Fix matchMyNick to match if nick is anywhere in the message (bug 24860.)
Hook up user styles in output window.
add updateTitle(), (bug 24671.)
* chatzilla.css
remove window size designation (resize issues.)
* output-default.css
remove font size attributes.
swap mark=odd and directed-to-me declaration order, to make directed-to-me take
precedence.
* output-marble.css
tab->space changes
* static.js
Adjust IMAGEDIR and CSSDIR to use chrome:// urls
Append IMAGEDIR to gifs used in smiley insertion
* chatzilla.css
Background color in userlist
(border seems to bring back bug 24195)
* Makefile.in, makefile.win
Install files under chrome directory instead of bin. smfr will adjust mac next.
* connection-xpcom.js, utils.js, readprefs.js
Remove getPriv call (not needed for chrome:// url.)
* irc/xul/content/*, irc/xul/skin/*
Copied test3* files from test directory into new structure. Renamed test3* to chatzilla*.
* test3-handlers.js
Map function keys to available views
* test3-readprefs.js
Removed debugging output.
* test3-static.js
Wiring for fn key->view mapping
Tweak smiley regexp to require spaces on each side.
Ignore view change if new view == current view
Apply munger rules on TOPIC messages in addition to PRIVMSG and ACTIONs
* Makefile.in, makefile.win
Install new files: munger.js, test3-readprefs.js, and face-*.gif (9 files)
* irc.js
Update regexps to 1.5 syntax.
* test3-commands.js
Wire whois command.
* test3-handlers.js
readPrefs() on startup.
Show checkmark on debug message menu.
Clear inputbox after a /command.
Send eval output to currentobject, instead of *client*
Fix for /join #channelname joining ##channelname.
Whois command implementation.
Factor _addToUserList out of onJoin so it can be used from onNick as well.
Whois reply display code.
* test3-output-*.css
New styles for munger tags.
Assorted style changes.
* test3-static.js
Change linuxnet->moznet.
Munger hookup.
newInlineText creates spans instead of anchors.
notifyActivity blinks indicator if it is already lit.
s/parity/mark
* test3.css
Assorted ui style changes: tbuttons in groove, color changes, etc.
* test3.xul
Include new js file.
Put statusbar in a toolbox.
* xul/tests/test3-output-loud.css
Added css for "loud" style.
* xul/tests/blue_rock.gif
Added pic for new default style, from Eterm background collection.
* makefile.win, Makefile.in
Add blue_rock.gif to install files.
* js/lib/irc.js
Strip \r characters from input.
* xul/tests/index.html
Updated content.
* xul/tests/test3-handlers.js
Create userlist object onJoin if it isnt already there.
* xul/tests/test3-output-default.css
New default style.
* xul/tests/test3-static.js
Added irc.freei.net server to top of EFNet network. This server does not
require the ident service, which is blocked by the NS firewall.
* xul/tests/test3.xul
Added "loud" style to menu (old default style.)
Install new css files and alternate images.
* README
Removed some rot.
* events.js
Add ability to disable a hook without uninstalling it.
Changed return value of addHook to the new hook object.
Added getHook(name) method.
Removed unused variable from routeEvent.
* http.js, irc-debug.js
Fixed spelling error.
* irc.js
network.onConnect no longer forwards the event to the server.
Added getModeStr() method to the IRCChanMode object to retrieve the entire mode string for a channel.
* utils.js
Added Clone() constructor.
Fixed problem in stringTrim.
Added getStackTrace() ... Whoopee!! ...
* bsconnection.c, bsutil.c
Stop warnings on Mac.
* index.html
Change links to buttons to avoid troubles with other methods (href="javascript:f()" | (href="javascript:(void 0)" | href="#") onclick="f()")
* test3-commands.js
Wiring for /testdisplay and /msg commands.
* test3-handlers.js
Added debug message toggle menuitem handler.
Added style change menu item handler.
Added hack to work around bad KeyUp events.
Factored out some logic from onInputCompleteLine into getObjectDetails (in test3-static.js)
Added /testdisplay and /msg implementation.
Fixed error message for unknown network passed to /network.
Added topicDate to output of /topic command.
updateNetwork and updateChannel calls sprinkled throughout to keep the statusbar current.
Added topic change handler.
* test3-static.js
Post new messages top to bottom!!
Disable the debug hook by default.
Added getObjectDetails (factored out of test3-handlers.js)
Added setOutputStyle to dynamically change the .cs file used for the output window.
Implemented updateNetwork and updateChannel.
Massive changes to .display methods make output window now display using a table, instead of spans (much faster, btw.)
Fixed addHistory to trim the correct side of the output, regardless of print direction.
* test3.css
Factored out output window styles.
* test3.xul
Added menu options for debug message toggle and style changes.
Added statusbar (table.)
* test3-output-default.css, test3-output-marble.css
Added output window stylesheets.
Added start page for the various test clients.
* Makefile.in, makefile.win
Changes to install index.html.
* irc.js
Fix to stop e.meat from getting filled with the <params> when there is no
<trailing> token in the message (raw data events)
Forward server ping and pong events to the parent network.
* utils.js
Verify XPCOM is present for functions that require it.
Modified arrayInsertAt and arrayRemoveAt to use Array.prototype.splice()
* test3-handlers.js
Add various verifications to commands, report on precondition problems
Added /msg command.
* test3.css
Show message types by default, suppress only specific types.
Changes to install command related files.
connection-xpcom.js:
style changes; fix to verify the socket is open before send/recieve,
* dcc.js, http.js, events.js:
style changes
* irc-debug.js:
changes to display network events
* irc.js:
style changes, userIsMe() convenience function added.
Route events to parent network if there is no local landing spot.
add usersAffected property to onChanMode events.
* utils.js:
add jsenv.HAS_DOCUMENT
* listbox.js
add MPL (duh)
add prepend and insert methods
* test3-handlers.js
Add MPL
Use new command stuff to provide online help and error reporting.
Hook some basic server messages to output window.
Alphabetize nicks (order breaks when someone /nicks)
Added nick property to some display() lines so they can be CSS'd by user.
Listen for onChanMode event.
Modify client.viewsArray to allow for multiple view with the same name.
* test3-static.js
Add MPL
Show navigator.userAgent in VERSION reply
modify setCurrentObject to not care if there isnt a toolbutton associated
modify getTBForObject to work with multiple view w/ same name
test3.xul
Add MPL
Include command related scripts
listbox.js
'remove' fix
test3-handlers.js
outputFilter added, outbound messages echoed to display
test3-static.js
added client ID to version reply
/me commands echoed
test3.css
color changes
Makefile updates to install test3 on unix/win (win not tested)
paths fixed in test3.xul
help message added to test3-static.js
initialize the client object before the help message is displayed in test3-handlers.js
fix to keys() in utils.js to prevent trailing comma
formatting changes; added |properNick| to CIRCUser to hold nickname with nIcKCaPs preserved.
utils.js:
optimized silly code in matchObject; fixed no-op renameProperty (it used to delete the prop)
Moved bsConnection.cpp to bsXPCConnection.cpp to prevent build collisions
with bsconnection.c on case insensitive platforms. Moved
bsConnectionFactory.cpp to bsXPCConnectionFactory.cpp to match the new prefix.