This adds a RoundedRect class that we use to do the offsetting. This class can
probably also be used elsewhere. With this patch we handle the Gmail checkboxes
in a single draw instead of in pieces like we currently do.
--HG--
extra : rebase_source : 8809f12b386eef2ce7364fb98e681fba343efdfe
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".
There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id. This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.
I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process. I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".
There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id. This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.
I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process. I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.
This approach ends up calling BlitTextureImage three extra times instead of
changing BlitTextureImage to support rotated buffers.
Supporting rotated buffers in BlitTextureImage is somewhat tricky because of
TiledTextureImage, and calling it three more times shouldn't be too bad (it
should be better than having to repaint)
Unfortunately, the rectangle manipulation code is a bit hairy.
--HG--
extra : rebase_source : a1018a22932675b154b76533f403a1328aa29cb5
The only behavior change caused by this patch should be that nsDeviceContexts with no widget
(mainly printing, I think), default to a devpixel-per-CSS-pixel ratio of 1.0, ignoring
any prefs set.