The two flags combined used to be represented by just RENDER_IGNORE_VIEWPORT_SCROLLING. Until http://hg.mozilla.org/mozilla-central/rev/99279c1c33cc (bug 590294) split RENDER_DOCUMENT_RELATIVE out. It split out the requested rect to be document relative. But it also split out the part about "drawing the document as if it had not been scrolled" with the new flag, but the comments for that part didn't get updated.
The names of the flags are perhaps inaccurate, but changing that requires changing a lot more code.
It would be nice to add static assertions for this equivalence but I don't want
to have to include cairo.h in gfxTypes.h. (Indeed, that's why
gfxImageFormatToCairoFormat and gfxCairoFormatToImageFormat are macros in the
first place).
--HG--
extra : rebase_source : 894fcce51ebbb17283c8f5ad325ea6dd403056cc
clang-cl warns about this one, saying:
"unqualified friend declaration referring to type outside of the nearest
enclosing namespace is a Microsoft extension; add a nested name specifier"
It's not completely obvious to me how this is a Microsoft extension if
GCC and clang both manage to compile it, but explicit is better than
implicit, I suppose, so let's add the :: qualifier.
This reverts much of part 2 of bug 878935, except for the Android browser.js
changes which have already been reverted elsewhere.
--HG--
extra : rebase_source : efdcede145567d8a56409cebecdd49a9307ec71a
Member fields are supposed to be initialized in the order they are
declared, but the constructor of GeckoChildProcessHost initialized
mDelegate prior to mSandboxLevel. This is probably harmless, but it
does cause a warning on clang-cl, so let's fix it.
Efficiency is proportional to stage size, so start with the largest size
possible.
--HG--
extra : rebase_source : 34915efce1eb94e18f53adf35dc939301242467a
Now, the most FFT work that happens during one realtime processing block is
when one 2048-size stage and the 256-size stage are performed at the same
phase-offset. Before FFT timing was controlled by initial input buffer offset
(bug 1221831), two 1024-size stages as well as the 512- and 256-size stages
performed FFTs at one offset. Thus, the maximum work in one block is reduced
by a ratio of about 11 to 9.
Measurements also indicate a similar reduction in total rendering thread
CPU usage.
Previously the alignment of the eleven 1024-size realtime stages was such
that, in three consecutive blocks, two 1024-size stages would peform their
FFTs. Now, the 2048-size stages is aligned so that none of these perform
their FFTs in consecutive blocks.
--HG--
extra : rebase_source : 7265374c1642661db1d4f4d630ddc8294be689c7
as with the main thread.
The comment was incomplete as ReverbConvolverStage also supports multiples of
the FFT halfsize, but only values up to WEBAUDIO_BLOCK_SIZE.
--HG--
extra : rebase_source : 34f11834dd425075e8948f47dcc5283dcb50fc42