This patch implements the code which is shared by all platforms for
fullscreen transition.
It adds two prefs for the duration of fullscreen transition. They can
also be used to completely suppress the transition.
In addition, this patch uses the newly added prefs to suppress the
transition in all tests which use the DOM fullscreen.
This patch implements the code which is shared by all platforms for
fullscreen transition.
It adds two prefs for the duration of fullscreen transition. They can
also be used to completely suppress the transition.
In addition, this patch uses the newly added prefs to suppress the
transition in all tests which use the DOM fullscreen.
MozDOMFullscreen:{Request,Exit} are simply used to redirect the request
to the parent process, hence there is no need to align them with refresh
driver tick or dispatch asynchronously.
MozDOMFullscreen:{Entered,Exited} are also used to notify the content
process about the change, hence dispatching them later could cause
unwanted delay on fullscreen change. Their handlers are also changed in
this patch to avoid recursive fullscreen change.
This patch moves the "fullscreen" event from the original place to the
second part, which indicates two other changes:
1. When the event is triggered, the value of fullScreen would have been
toggled to the new value, which is different from before. The changes in
browser/../browser-fullScreen.js and mobile/../browser.js are for this.
2. This event is no longer preventDefault-able, since it is triggered
after the fullscreen change. This leads to the removal of the test and
the only place which calls preventDefault on that event. That place is
a workaround for bug 1079222. To address that problem, this patch fixes
the intrinsic issue via stoping handling the fullscreen change once it
finds we failed to change the state of the widget.
Change of fullscreen origin is now notified by the new specific event,
MozDOMFullscreen:NewOrigin. The event MozDOMFullscreen:Entered is only
triggered when the window first enter fullscreen by DOM fullscreen. It
is now only used to notify the parent to hide its chrome.
The -*- file variable lines -*- establish per-file settings that Emacs will
pick up. This patch makes the following changes to those lines (and touches
nothing else):
- Never set the buffer's mode.
Years ago, Emacs did not have a good JavaScript mode, so it made sense
to use Java or C++ mode in .js files. However, Emacs has had js-mode for
years now; it's perfectly serviceable, and is available and enabled by
default in all major Emacs packagings.
Selecting a mode in the -*- file variable line -*- is almost always the
wrong thing to do anyway. It overrides Emacs's default choice, which is
(now) reasonable; and even worse, it overrides settings the user might
have made in their '.emacs' file for that file extension. It's only
useful when there's something specific about that particular file that
makes a particular mode appropriate.
- Correctly propagate settings that establish the correct indentation
level for this file: c-basic-offset and js2-basic-offset should be
js-indent-level. Whatever value they're given should be preserved;
different parts of our tree use different indentation styles.
- We don't use tabs in Mozilla JS code. Always set indent-tabs-mode: nil.
Remove tab-width: settings, at least in files that don't contain tab
characters.
- Remove js2-mode settings that belong in the user's .emacs file, like
js2-skip-preprocessor-directives.