Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Allow ResizeSensor to be loaded in a Firefox extension #318

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gwhitney
Copy link

Recent versions of the Firefox browser have a strict Content Security
Policy in extension content scripts that disallows any direct or
indirect string evaluation. Previously, the Function('return this')
in ResizeSensor.js, used to obtain the true global window object,
violated that security policy. This PR checks instead for the
validity of the globalThis identifier, now provided in Firefox
explicitly for the purpose that Function('return this') was being
used for.

As Mozilla will not sign extensions that patch third-party packages,
without a change along these lines, no extension that directly or
indirectly uses ResizeSensor could be created. Hence, it would be
greatly appreciated for this small change to be merged and a new
release made. Thanks for considering.

  Recent versions of the Firefox browser have a strict Content Security
  Policy in extension content scripts that disallows any direct or
  indirect string evaluation. Previously, the `Function('return this')`
  in ResizeSensor.js, used to obtain the true global window object,
  violated that security policy. This PR checks instead for the
  validity of the `globalThis` identifier, now provided in Firefox
  explicitly for the purpose that `Function('return this')` was being
  used for.

  As Mozilla will not sign extensions that patch third-party packages,
  without a change along these lines, no extension that directly or
  indirectly uses ResizeSensor could be created. Hence, it would be
  greatly appreciated for this small change to be merged and a new
  release made. Thanks for considering.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant