SystemErrorReporter is the new unified error reporter for everything non-dom.
In particular, it's used by the SafeJSContext, which we'll be switching to
here shortly.
We need to stash it somewhere, because the shell-provided JSNatives need to
access it. This solution only works for script running in the scope of the
global we create. Butthat's fine here, because we only use it for load() and
quit(), which only exist in the scope of that global.
XPCShell currently overrides all the JSContexts whose creation it observes with
its own custom error reporter. This reporter does all sorts of funny things which
we try to clean up for the most part. But there are a few very intricate
considerations at play.
First, the old xpcshell error reporter does some mumbo jumbo with the
XPCCallContext stack to try to guess whether some other code might catch the
exception. This is total garbage on a number of fronts, particularly because
the XPCCallContext stack has no concept of saved frame chains, nested event
loops, sandbox boundaries, origin boundaries, or any of the myriad of
complicating factors that determine whether or not an exception will propagate.
So we get rid of it. But this causes some crazy debugger tests to fail, because
they rely on an exception from uriloader/exthandler/nsHandlerService.js getting
squelched, and can't handle anybody reporting errors to the console service at
the particular moment of contortionism when the exception is raised. So we need
to introduce an explicit mechanism to disable the error reporter here to keep
things running.
Second, we have to be very careful about tracking the return status of the
xpcshell binary. The old code would simply flag an error code if the error
handler was invoked, and we can mostly continue to do that. But there are some
complications. See the comments.
Finally, we don't anything analogous in XPCShellEnvironment, because I have
patches in bug 889714 to remove its state-dependence on the error reporter.
I'll switch it to SystemErrorReporter in that bug.
This does two main things. First, it tracks sets of obsolete document
IDs and retries obsoletes and deletes. Second, it tracks document IDs
that are attempted to be written to the server for obsolescence or
deletion without waiting for a server response to prevent orphaning
documents on successful upload and failed response.
The ObsoleteDocumentTracker uses a JSON map to maintain obsolete
document IDs and priority values. That's not the right data
structure; Bug 894194 tracks improving it.
========
https://hg.mozilla.org/integration/gaia-central/rev/e44b13b6a7b0
Author: Rudy Lu <left.lu@gmail.com>
Desc: Merge pull request #10939 from RudyLu/homescreen/4x5grid_onWVGA_support
Bug 881149 - hdpi/xhdpi resolution layout for Homescreen app. r=crdlc.
========
https://hg.mozilla.org/integration/gaia-central/rev/5dbcf6c990dd
Author: Rudy Lu <left.lu@gmail.com>
Desc: Bug 881149 - hdpi/xhdpi resolution layout for Homescreen app
1. adjust to show 4 x 5 grid on WVGA.
2. modify the scale ratio of app icon according to
window.devicePixelRatio.
==============
1. To address review comment, for reset the hidden of the 17th icon
2. Add 1.5x graphics (not complete, some assets are still missing)
========
https://hg.mozilla.org/integration/gaia-central/rev/77058600c39f
Author: Corey Frang <gnarf37@gmail.com>
Desc: Bug 891908 - [MMS] Replacing an attachment with a large image should trigger resizing - r=schung
* Ensure that image resizing is triggered whenever an image is added (even via replace)
========
https://hg.mozilla.org/integration/gaia-central/rev/02b50e5b3ca8
Author: Corey Frang <gnarf37@gmail.com>
Desc: Bug 892480 - [SMS] Sending two phone numbers separed by space or enter should detect two phone numbers - r=arcturus
* Shorten the greediness of the match to not accept as many numbers
* Added a check to ensure that the character after the match is not a digit
* Only allow space and tab as separators in phone numbers