Skip to content
Snippets Groups Projects
  • View options
  • View options
  • Activity

    • All activity
    • Comments only
    • History only
    • Newest first
    • Oldest first
    • Thorin

      FYI: upstream

    • morgan

      The tldr for why this happens is that RFP spoofs your monitor's DPI and as a result things which render to canvas and take the screen DPI into account (google docs, js pdf renderers, etc) will have the wrong value and so the contents of the canvas element's backing frame buffer will be stretched or squished to the page content's logical size.

      So for example suppose you have a high DPI screen and a page has a canvas element with logical dimensions of 100x100 but the web app would normally take DPI into account and request the framebuffer be 200x200 to match your monitor's physical dimensions. With RFP enabled, the page now thinks the physical dimensions are the same as the logical dimensions and request a 100x100 framebuffer, whose contents are now stretched to fit the 200x200 physical dimensions, resulting in blurriness.

      I wonder, does this happen when WebRender is enabled? (on Nightly with RFP enabled)

    • Georg Koppen

      Replying to pospeselr:

      The tldr for why this happens is that RFP spoofs your monitor's DPI and as a result things which render to canvas and take the screen DPI into account (google docs, js pdf renderers, etc) will have the wrong value and so the contents of the canvas element's backing frame buffer will be stretched or squished to the page content's logical size.

      So for example suppose you have a high DPI screen and a page has a canvas element with logical dimensions of 100x100 but the web app would normally take DPI into account and request the framebuffer be 200x200 to match your monitor's physical dimensions. With RFP enabled, the page now thinks the physical dimensions are the same as the logical dimensions and request a 100x100 framebuffer, whose contents are now stretched to fit the 200x200 physical dimensions, resulting in blurriness.

      Are we missing a "Is this a privileged context and thus no RFP"-check here somewhere?

    • Tom Ritter

      Replying to gk:

      Are we missing a "Is this a privileged context and thus no RFP"-check here somewhere?

      I don't know why it took you spoon-feeding this to me; but yeah. I investigated and sure enough I think the fix is pretty simple.

      I put a patch up at https://bugzilla.mozilla.org/show_bug.cgi?id=1537955

    • Georg Koppen

      Trac:
      Keywords: ff60-esr deleted, ff68-esr added

      Are we missing a "Is this a privileged context and thus no RFP"-check here somewhere?

      Can that be exploited as an RFP bypass?

    • Tom Ritter

      Replying to cypherpunks:

      Are we missing a "Is this a privileged context and thus no RFP"-check here somewhere?

      Can that be exploited as an RFP bypass?

      I don't think so; but if you can figure out a way to run javascript inside a pdf or inject it into an iframe whose url is a pdf then yeah.

    • Pili Guerra

      Adding Sponsor 44 to ESR68 tickets

      Trac:
      Sponsor: N/A to Sponsor44-can

    • Georg Koppen

      We got this in esr68, closing.

      Trac:
      Keywords: ff68-esr deleted, ff68-esr-will-have added
      Status: new to closed
      Resolution: N/A to fixed