A little messy, but this should get the Back/Forward buttons working again for browse...
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 14 May 2009 15:46:10 +0000 (15:46 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 14 May 2009 15:46:10 +0000 (15:46 +0000)
commit11e1e030d2538e34d12b26db64ce80cec9794c60
tree4e384cd5d0c2f591e8f9a1b4de7e42f8486e83c6
parent2ed7da822f4bd0a1b0029fa2fcc79d9239322299
A little messy, but this should get the Back/Forward buttons working again for browsers embedded in the staff client.  Model after the old 'cmd_local_admin' section in menu.js

Here's the problem in a nutshell:  <browser> behaves differently if loaded from chrome:// versus https?://

In particular, the webNavigation for a browser does not work if the <browser> is coming from http, so Back & Forward buttons will not work.

There's been churn trying to work around this, and past differences between remote/chrome browsers.  The use of chrome browser is preventing us from making the top-level menu system (menu.js) remote xul where it would be easier to deploy changes and local customizations. remote xul where it would be easier to deploy changes and local customizations.

urls.XUL_BROWSER --> chrome/content/util/browser.xul is a wrapper for chrome-based <browser>
urls.XUL_REMOTE_BROWSER --> chrome/content/util/rbrowser.xul is a wrapper for non chrome-based <browser>
chrome/content/util/browser.js is the javascript in common between the two

Since menu.js is currently chrome, we need to use XUL_BROWSER.

Since menu.js is chrome, it doesn't magically know the remote server we're connecting to.  So URL's passed to XUL_BROWSER need to be wrapped or decorated with obj.url_prefix(), which looks up the hostname given during the login sequence.

Does this make sense? :)

git-svn-id: svn://svn.open-ils.org/ILS/trunk@13161 dcc99617-32d9-48b4-a31d-7c20da2025e4
Open-ILS/xul/staff_client/chrome/content/main/menu.js