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
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.
Changes to FrameMetrics and progressive tiling caused ReusableTileStoreOGL
to basically not work anymore. Refactor to provide the same function as it did
previously taking into account the platform changes.
The testing framework doesn't react well to paints not coming in synchronously.
Disable progressive tile painting when a shadow target is set on the layer
manager for now.
Add a function to LayerManagerOGL that can compute how much of the last
rendered area was incomplete (i.e. is pending update when progressive tile
drawing is enabled).
======
From eb29a25dd6dddc511388bf883c9b95843ecdb823 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Tue, 16 Nov 2010 13:18:39 +0000
Subject: win32: Use a font_face hash table to provide unique font faces
Similar to the freetype and toy font backends, use a hash table
to map logfont,hfont to font faces.
This fixes the multiple embedding of the same font in PDF.
https://bugs.freedesktop.org/show_bug.cgi?id=24849
======
From 6e3e329170ab4b96bc0d587c8071e869e228e758 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Thu, 18 Nov 2010 12:37:45 +0000
Subject: win32: fix font_face hashing
some bugs were discovered while testing with firefox
======
From 101fab7cd8a90f7cf3d8113c792b3f8c2a9afb7d Mon Sep 17 00:00:00 2001
From: Andrea Canciani <ranma42@gmail.com>
Date: Wed, 15 Jun 2011 09:37:36 +0000
Subject: win32-font: Improve static data reset function
The hashtable is guaranteed to only contain font faces which are
currently referenced, hence there is no need to remove any font face
when it is reset (just like for toy-font).
This makes the function simpler and fixes the assertion
Assertion failed: predicate != NULL, file cairo-hash.c, line 373
hit by multiple tests (the first one being "clear").
See https://bugs.freedesktop.org/show_bug.cgi?id=38049
======
--HG--
extra : rebase_source : 73172c901f80e2f6e9f52035e1d6eab2a220642f
When rendering progressively, make sure that any previously visible area that
is still visible is updated at the same time. This helps maintain visual
coherency on pages that invalidate previously visible areas while scrolling,
and when losing layers between updates.
This supersedes the previous method of only doing progressive updates while
scrolling.