[Mozilla Enterprise] Windowing Changes in Firefox 60 ESR- Does not reflect xulstore.json values.

Wes Holton wes.holton at citrix.com
Mon Jul 9 14:47:59 UTC 2018


Hello,

I am working with a large customer who deploys Firefox as a published application using Citrix XenApp (https://www.citrix.com/products/xenapp-xendesktop/) Prior to version 55, they were able to set up size and position as desired and deliver a consistent experience to their user community. Since version 55, when they launch Firefox as a published application, the window is about a third of the size that it should be. I have verified that our software is detecting the screen size normally. We have tried various settings in regards to Electrolysis and Fingerprinting resistance, but we are not able to have the window as the desired size. I'm looking for some direction on next steps, as there seems to be a clear change from the Firefox perspective and no change in our code. I did some research and found that the following function seems to have been added in v55, and may explain why the values in xulstore.json are not held to. Can someone let me know if I'm on the right track here, and how to proceed, or if there is a way to get the old windowing behavior back? Thanks!

// Rounds window size to 1000x1000, or, if there isn't enough available
// screen space, to a multiple of 200x100.
NS_IMETHODIMP nsXULWindow::ForceRoundedDimensions()
{
  if (mIsHiddenWindow) {
    return NS_OK;
  }

  int32_t availWidthCSS    = 0;
  int32_t availHeightCSS   = 0;
  int32_t contentWidthCSS  = 0;
  int32_t contentHeightCSS = 0;
  int32_t windowWidthCSS   = 0;
  int32_t windowHeightCSS  = 0;
  double devicePerCSSPixels = 1.0;

  GetUnscaledDevicePixelsPerCSSPixel(&devicePerCSSPixels);

  GetAvailScreenSize(&availWidthCSS, &availHeightCSS);

  // To get correct chrome size, we have to resize the window to a proper
  // size first. So, here, we size it to its available size.
  SetSpecifiedSize(availWidthCSS, availHeightCSS);

  // Get the current window size for calculating chrome UI size.
  GetSize(&windowWidthCSS, &windowHeightCSS); // device pixels
  windowWidthCSS = NSToIntRound(windowWidthCSS / devicePerCSSPixels);
  windowHeightCSS = NSToIntRound(windowHeightCSS / devicePerCSSPixels);

  // Get the content size for calculating chrome UI size.
  GetPrimaryContentSize(&contentWidthCSS, &contentHeightCSS);

  // Calculate the chrome UI size.
  int32_t chromeWidth = 0, chromeHeight = 0;
  chromeWidth = windowWidthCSS - contentWidthCSS;
  chromeHeight = windowHeightCSS - contentHeightCSS;

  int32_t targetContentWidth = 0, targetContentHeight = 0;

  // Here, we use the available screen dimensions as the input dimensions to
  // force the window to be rounded as the maximum available content size.
  nsContentUtils::CalcRoundedWindowSizeForResistingFingerprinting(
    chromeWidth,
    chromeHeight,
    availWidthCSS,
    availHeightCSS,
    availWidthCSS,
    availHeightCSS,
    false, // aSetOuterWidth
    false, // aSetOuterHeight
    &targetContentWidth,
    &targetContentHeight
  );

  targetContentWidth = NSToIntRound(targetContentWidth * devicePerCSSPixels);
  targetContentHeight = NSToIntRound(targetContentHeight * devicePerCSSPixels);

  SetPrimaryContentSize(targetContentWidth, targetContentHeight);

  mIgnoreXULSize = true;
  mIgnoreXULSizeMode = true;

  return NS_OK;
}


[cid:image001.png at 01D40C87.655F4E10]

Wes Holton
Senior Escalation Engineer
Technical Support
T +1 678-225-3807


[https://support.citrix.com/content/dam/citrixsupport/signature/TSIA-citrix-support.jpg]
CONFIDENTIALITY NOTICE
This e-mail message and all documents which accompany it are intended only for the use of the individual or entity to which addressed, and may contain privileged or confidential information. Any unauthorized disclosure or distribution of this e-mail message is prohibited. Any private files or utilities that are included in this e-mail are intended only for the use of the individual or entity to which this is addressed and distribution of these files or utilities is prohibited. If you have received this e-mail message in error, please notify me immediately. Thank you.

Customer Satisfaction is our goal.
If you have feedback regarding my performance, please feel free to contact my manager Robert.poston at citrix.com<mailto:Robert.poston at citrix.com>
[https://support.citrix.com/content/dam/citrixsupport/signature/tse-email-banner.png]<https://support.citrix.com/email-banner>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/enterprise/attachments/20180709/0d31eaa8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 1341 bytes
Desc: image001.png
URL: <http://mail.mozilla.org/pipermail/enterprise/attachments/20180709/0d31eaa8/attachment.png>


More information about the Enterprise mailing list