javascript URL links. Two-part fix: moving the call to GetCurrentDocumentOwner
in nsDocShell::LoadInternal to before the target docshell is called, and
changing nsScriptSecurityManager::GetFunctionObjectPrincipal to only get
the principal from the function object's scope chain if the function object's
principal is the system principal. r=jst, sr=vidur, a=asa.
The problem being fixes is the progress meter UI will not display when we are dowloading
XPI files from the net (see bug report for more details). We were throttling the update
of progress bar based on some interval being exceeded. The problem is/was that sometimes
the XPI is downloaded faster than the specified interval (a series of these renders the
progress bar "dead", and the user has no feedback UI as to what is happening). It is not
entirely clear that the time interval computation is correct to being with. The safe thing
to do here is to simply let the UI update whenever necko invokes our progress callback,
and dispense with the throttling. This results in a smooth UI update and has minimal
performance sideaffects (we are limited more by the network I/O and disk writes that the
progress bar UI update).
author=ashuk
r=edburns
Files modified
M util/classes/org/mozilla/util/Assert.java
M webclient/classes_spec/org/mozilla/webclient/BrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/BrowserControlFactory.java
M webclient/classes_spec/org/mozilla/webclient/BrowserControlImpl.java
M webclient/classes_spec/org/mozilla/webclient/test/EMWindow.java
M webclient/classes_spec/org/mozilla/webclient/test/RandomHTMLInputStream.java
M webclient/classes_spec/org/mozilla/webclient/test/UniversalDialog.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/BookmarksImpl.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/CurrentPageImpl.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/HistoryImpl.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/NavigationImpl.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/PreferencesImpl.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/RDFEnumeration.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/RDFTreeNode.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/WCMouseListenerImpl.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/WindowControlImpl.java
This fix changes the name of the Assert.assert methd to Assert.assert_it
in all the Blackwood modules which use this Assertion facility from
java/util. This is necessary for getting Blackwood to work with JDK1.4
since assert is a keyword in JDK1.4 onwards.
-----
The patch fixes a bug in getIds method where the assignment "result =
tmp" was missed, adds the public method activateIdMap(int maxId) to
IdScriptable and changes setAttributes method not to allow setting of
attributes that are less restrictive then ones returned by
getIdDefaultAttributes. That was supposed to be the case and the patch
makes it explicit.
-----
The patch makes BaseFunction.setImmunePrototypeProperty public so it can
be called from other packages (regexp).
-----
The patch switches NativeRegExp and NativeRegExpCtor to use
IdScriptable. It also changes code in a few places to passes Context and
RegExpImpl directly instead of using Context.getCurrentContext().
The patch also fixes a bug when
for (var i in RegExp) { print(i); }
would not include $1..$9 in the output in violation with Ecma. It was
caused by not overriding ScriptableObject.getIds in
NativeRegExpCtor.