Commit Graph

79 Commits

Author SHA1 Message Date
Nicholas Nethercote
d161939aec Bug 1402255 - Change nsIBaseWindow::title from wstring to AString. r=janv.
Because nsAString is nicer to work with than char16_t*. The patch relatedly
changes nsIEmbeddingSiteWindow::title and nsIWindowMediator::updateWindowTitle
as well.
2017-09-25 13:10:51 +10:00
Masatoshi Kimura
fb07ec2141 Bug 1375123 - Remove nsIDOMWindowInternal. r=Ehsan
MozReview-Commit-ID: 2jjGFsxsLTz
2017-08-03 20:33:51 +09:00
Nicholas Nethercote
09493fcbcf Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj. 2017-07-31 14:28:48 +10:00
Sebastian Hengst
51534c6b52 Backed out changeset ef5feef07bed (bug 1384835) 2017-07-28 10:29:24 +02:00
Nicholas Nethercote
8846676f01 Bug 1384835 (part 3) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj.
This is similar like the previous patch, but for the 8-bit string variants.
Also, it changes assignment to Adopt() in GetCString() and GetDefaultCString()
to avoid an extra copy.
2017-07-27 16:45:10 +10:00
Julian Seward
7d1151d83a Bug 1382563 - Remove ns*String::AssignWithConversion. r=erahm.
This patch replaces four functions of the name AssignWithConversion which
are essentially wrappers around CopyASCIItoUTF16 and LossyCopyUTF16toASCII
with direct calls to the latter two functions.  The replaced functions are:

  void nsCString::AssignWithConversion( const nsAString& aData )
  void nsString::AssignWithConversion( const nsACString& aData )

  void nsTString_CharT::AssignWithConversion(
                            const incompatible_char_type* aData,
                            int32_t aLength = -1);

The last of the three exists inside the double-included nsTString* world and
so describes two functions, giving four in total.

This has two advantages:

* it removes code

* at the call points, it makes clear (from the replacement name) which
  conversion is being carried out.  The generic name "AssignWithConversion"
  doesn't make that obvious -- one had to infer it from the types.

The patch also removes two commented out lines from
editor/composer/nsComposerCommands.cpp, that appear to be related.  They are
at top level, where they would never have compiled.  They look like
leftovers from some previous change.
2017-07-24 19:23:52 +02:00
Boris Zbarsky
b4f8b39732 Bug 1378147. Hold strong refs to elements when calling various functions that can run script. r=mystor 2017-07-13 23:46:59 -04:00
Sylvestre Ledru
9d4a84d778 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG
2017-07-06 14:00:35 +02:00
Nicholas Nethercote
a58025002f Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.
2017-06-22 17:08:53 +10:00
Nathan Froyd
3b526b2200 Bug 1359490 - add an event loop spinning abstraction function; r=gerald
This function is arguably nicer than calling NS_ProcessNextEvent
manually, is slightly more efficient, and will enable better auditing
for NS_ProcessNextEvent when we do Quantum DOM scheduling changes.
2017-05-15 09:34:19 -04:00
Milan Sreckovic
381c32b166 Bug 1358297: Part 3. Create special case for stripping CR and LF on TSubstring, and use it in all the places that it is called. Use ASCIIMask to make it fast. r=froydnj
MozReview-Commit-ID: 5ugh3Ma0OtH
2017-05-10 13:12:36 -04:00
Wes Kocher
900a24bea8 Backed out 4 changesets (bug 1358297) for hazard build failures a=backout
Backed out changeset 95211a496191 (bug 1358297)
Backed out changeset 3c1b426a5cce (bug 1358297)
Backed out changeset 9201d345a1d5 (bug 1358297)
Backed out changeset c926817dea60 (bug 1358297)

MozReview-Commit-ID: 874DF43K7Dp
2017-05-05 12:45:46 -07:00
Milan Sreckovic
09ead5e859 Bug 1358297: Part 3. Create special case for stripping CR and LF on TSubstring, and use it in all the places that it is called. Use ASCIIMask to make it fast. r=froydnj
MozReview-Commit-ID: 3p97cCGfy6i
2017-05-05 13:37:13 -04:00
Tim Huang
abae817dce Bug 1352305 - Part 1: Making the XULWindow will not be enforecd to be rounded dimensions if it is a window without a primary content when fingerprinting resistance is enabled. r=Ehsan
This patch making the nsXULWindow::ForceRoundedDimensions() will only be called
when this window is a window which has a primary content when fingerprinting
resistance is enabled.

This will fix the problem that dialog windows are incorrectly resized after
fingerprinting resistance is enabled.

MozReview-Commit-ID: 6WD6c38CTPv
2017-05-02 18:11:50 +08:00
Aryeh Gregor
594c362b60 Bug 1251198 - Remove various obsolete events from document.createEvent r=smaug
Other browsers do not support any of these (IIRC), telemetry reports
essentially zero usage, and supporting them is contrary to the DOM spec.

Notes on specific events:

CommandEvent and SimpleGestureEvent: These are not supposed to be
web-exposed APIs, so I hid the interfaces from web content too
(necessary to avoid test_all_synthetic_events.html failures).

DataContainerEvent: This was a non-standard substitute for CustomEvent
that seemed to have only one user, so I removed it entirely and switched
the user (MozillaFileLogger.js) to CustomEvent.

ScrollAreaEvent: This is entirely non-standard, but we apparently expose
it deliberately to web content, so I didn't see any reason to remove it
from createEvent.

SimpleGestureEvent and XULCommandEvent: Can still be created from
createEvent(), but not by content.

TimeEvent: This is still in because it has no constructor, so there's no
other way to create it.  Ideally we'd update the SMIL spec to add a
constructor.  I did remove TimeEvents.

MozReview-Commit-ID: 7Yi2oCl9SM2
2017-04-20 15:45:37 +03:00
Ehsan Akhgari
15aee0c599 Bug 1356922 - Part 1: Replace the next TabParent global pointer with per-window/tab next TabParent ID; r=billm,mconley
This patch replaces the usage of sNextTabParent pointer to store the next
PBrowser parent actor to be used by the next frame loader with the
following information:

  * In the case where the content JS has requested a new tab, the ID of the
    next TabParent will be stored on the <xul:browser> element.
  * In the case where the content JS has requested a new window, the ID of
    the next TabParent will be stored on the created nsXULWindow.
2017-04-24 14:18:29 -04:00
Chris Peterson
5b57055404 Bug 1356843 - Fix -Wcomma warning in xpfe/appshell/nsXULWindow.cpp. r=mstange
clang's -Wcomma warning warns about suspicious use of the comma operator such as calling a function for side effects within an expression. Check NS_SUCCEEDED() to use HasMoreElement() in an expression and confirm that it actually returned a legitimate out parameter.

xpfe/appshell/nsXULWindow.cpp:2154:50 [-Wcomma] possible misuse of comma operator here

MozReview-Commit-ID: Dbe4NDDhqY1
2017-04-08 00:59:47 -07:00
Tim Huang
9fcdb733a7 Bug 1330882 - Part 4: Making the window.open() can only open rounded windows and the inner window will be automatically rounded after setting size through innerWidth/Height and outerWidth/Height when fingerprinting resistance is enabled. r=smaug
This patch makes the size of inner windows will be automatically rounded for
either window.open() with window features or setting window size through
innerWidth/Height and outerWidth/Height when fingerprinting resistance is
enabled. If the given value is greater the maximum available rounded size, then
it will be set to the maximum value. Otherwise, the size will be set to the
nearest upper 200x100.

This patch also adds one helper function in nsContentUtils for calculating the
rounded window dimensions.

MozReview-Commit-ID: J2r3951vuNN
2017-03-29 15:43:56 +08:00
Tim Huang
40c2324476 Bug 1330882 - Part 1: Making new windows to be rounded size when fingerprinting resistance is enabled (adopt from Tor #19459). r=arthuredelstein,smaug
MozReview-Commit-ID: 1qBNQhfdIYP
2017-03-29 15:43:54 +08:00
Kartikaya Gupta
ebf1ce5c2b Bug 1328066 - Don't broadcast the live-resize events to all browser windows unnecessarily. r=mstange
The machinery for suppressing the displayport during live resizes
was using the Observer service. However, in the case of multiple
browser windows, this meant that all the open browser windows would
have their displayport suppressed if *any* of the browser windows
was being resized. This was mostly ok, as the displayport suppression
would be turned off once the resize ended. However, the code to
kick off a repaint with the unsuppressed displayport would only get
triggered on one of the windows (whichever happened to process the
unsuppress message last).

This patch stops using the Observer service for the implementation
machinery, and instead locates the active TabParent of the relevant
nsWindow, and invokes the displayport suppression directly on that.
This fixes the repainting bug and also avoids unnecessarily
broadcasting the suppression/unsuppression notification to windows
that don't neccessarily need it.

MozReview-Commit-ID: LBHOgOW9KUp
2017-02-01 10:38:16 -05:00
Nicholas Nethercote
aaca44be3c Bug 1299335 (part 7) - Streamline nsIWidget::{Move,Resize}. r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual void| because every
implementation of these functions always returns |NS_OK|.
2016-12-19 20:54:03 +11:00
Gijs Kruitbosch
84ebff0ce2 Bug 1322414 - part 1 - remove GetContentShellById and id passing, r=bz
MozReview-Commit-ID: FggtlNAP6ax
2016-12-08 11:12:36 -10:00
Boris Zbarsky
516592e973 Bug 1310796 part 3. Remove the aTargetable argument of contentShellAdded. r=mystor 2016-12-08 16:41:45 -10:00
Boris Zbarsky
45718b34c8 Bug 1310796 part 2. Get rid of the now-unused nsXULWindow::mTargetableShells. r=mystor 2016-12-08 16:41:45 -10:00
Boris Zbarsky
6bd7d21255 Bug 1310796 part 1. Get rid of GetTargetableShellCount in favor of a more explicit GetTabCount. r=mystor,gijs 2016-12-08 16:41:45 -10:00
Andrea Marchesini
1d56111463 Bug 1322440 - Get rid of contextFlags in nsIWindowCreator2, r=smaug 2016-12-07 16:20:08 -10:00
Michael Layzell
28edda560a Bug 1303196 - Part 2: Connect the DocGroup and TabGroup objects to nsGlobalWindow and nsDocument, ensuring that Opener is set early enough that it is correct, r=smaug
MozReview-Commit-ID: 3rZfLw3dXkF
2016-10-27 15:53:35 -04:00
Nicholas Nethercote
8b8bd02a31 Bug 1293596 (part 2) - Rework nsIWidget bounds getters. r=mstange.
This patch makes GetBounds(), GetScreenBounds() and GetClientBounds() more
obviously infallible, like existing functions such as GetNaturalBounds() and
GetClientSize(). This results in clearer behaviour in nsCocoaWindow.mm if
Objective C exceptions occur. Along the way, the patch removes some useless
failure checks for these functions.

The patch also removes the NS_IMETHOD from GetRestoredBounds and makes that
function MOZ_MUST_USE.
2016-08-19 09:03:04 +10:00
Igor
9c81c3c1ee Bug 1293384 - Part 2: Rename Snprintf.h header to Sprintf.h. r=froydnj 2016-08-14 23:43:21 -07:00
Igor
972b8460e2 Bug 1293384 - Part 1: Rename snprintf_literal to SprintfLiteral. r=froydnj 2016-08-14 23:44:00 -07:00
Igor
27c926c49e Bug 1197331 - remove PR_snprintf calls in miscellaneous directories. r=nfroyd 2016-08-04 16:41:00 +02:00
Mike Conley
7d6e2edba3 Bug 1261842 - Add methods to nsIDocShellTreeOwner for sizing the primary content. r=smaug
MozReview-Commit-ID: CqiRTVd444n
2016-07-14 16:31:41 -04:00
Mike Conley
b79bf5e9ef Bug 1261842 - Make initial browser remote sooner if we're defaulting to using remote tabs. r=Felipe
MozReview-Commit-ID: 9KVzuOkJFpW
2016-06-08 17:03:42 -04:00
Mike Conley
b07becceae Bug 1275261 - Only fire xul-window-destroyed for nsXULWindows that successfully registered. r=smaug
MozReview-Commit-ID: DPgPYfz3gSo
2016-06-02 10:28:28 -07:00
Mats Palmgren
058b8e530e Bug 881832 - Make inner document reflow asynchronous. r=tnikkel 2016-05-12 12:07:45 +12:00
Phil Ringnalda
903965a65a Back out 6 changesets (bug 881832) for failures in test_Debugger.Source.prototype.element.html
CLOSED TREE

Backed out changeset fac50ce10b07 (bug 881832)
Backed out changeset 32e01c144cd4 (bug 881832)
Backed out changeset 779f5336b81e (bug 881832)
Backed out changeset 95efd250e29f (bug 881832)
Backed out changeset 7fe79f07189f (bug 881832)
Backed out changeset 8ee1824f2a57 (bug 881832)
2016-05-23 18:34:49 -07:00
Mats Palmgren
4185a33eae Bug 881832 - Make inner document reflow asynchronous. r=tnikkel 2016-05-12 12:07:45 +12:00
Phil Ringnalda
fb3bc51a33 Back out 5 changesets (bug 881832) for failures in browser_html_tooltip-02.js
Backed out changeset 117e8e24d714 (bug 881832)
Backed out changeset 8a0d5df41cfb (bug 881832)
Backed out changeset 6b3c5e185b04 (bug 881832)
Backed out changeset 11106afdcbe7 (bug 881832)
Backed out changeset d711b7c19a43 (bug 881832)
2016-05-11 21:08:08 -07:00
Mats Palmgren
371722e397 Bug 881832 - Make inner document reflow asynchronous. r=tnikkel 2016-05-12 12:07:45 +12:00
Gabor Krizsanits
ffe67ed139 Bug 1255138 - Window resize support from JS for e10s. r=mconley 2016-05-11 11:44:57 +02:00
Jonathan Kew
d1b2b9c68a Bug 1259492 - Ensure window position is constrained to the screen after it has been sized properly in nsXULWindow::OnChromeLoaded. r=emk 2016-03-24 17:08:19 +00:00
Ehsan Akhgari
af67a93015 Bug 1229220 - Update the scrollbar visibility prefs when initializing a TabChild; r=smaug
This will make sure that window.scrollbars correctly reflects the respective
chrome flags in e10s mode.

We also update nsXULWindow::SetContentScrollbarVisibility() to the new
nsContentUtils helper.  That code is responsible for doing this work in the
single process case.
2016-03-18 11:13:20 -04:00
Jonathan Kew
d93e75cf61 Bug 1255645 - Ensure nsXULWindow constrains the window to the bounds of its screen after applying intrinsic sizing (if appropriate), by re-doing positioning after the window has been sized properly. r=emk 2016-03-15 14:29:44 +00:00
Carsten "Tomcat" Book
5451893d73 Backed out changeset 21e9dd187ca8 (bug 1255645) 2016-03-16 10:33:38 +01:00
Jonathan Kew
d110d818c1 Bug 1255645 - Ensure nsXULWindow constrains the window to the bounds of its screen after applying intrinsic sizing (if appropriate), by re-doing positioning after the window has been sized properly. r=emk 2016-03-15 14:29:44 +00:00
Sebastian Hengst
5b5cc046bb Backed out changeset 66fdeb1acce5 (bug 1229220) for M-e10s failure in test_fullscreen-api.html. r=backout on a CLOSED TREE 2016-03-14 23:03:37 +01:00
Ehsan Akhgari
a9d8fb3160 Bug 1229220 - Update the scrollbar visibility prefs when initializing a TabChild; r=smaug
This will make sure that window.scrollbars correctly reflects the respective
chrome flags in e10s mode.

We also update nsXULWindow::SetContentScrollbarVisibility() to the new
nsContentUtils helper.  That code is responsible for doing this work in the
single process case.
2016-03-14 16:03:21 -04:00
Jonathan Kew
07c157fd85 Bug 1242449 - Fix confusion among CSS, desktop and device pixel units in nsXULWindow position/size and window staggering so as to work consistently across mixed resolution displays. r=emk 2016-03-01 21:05:10 +00:00
Andrea Marchesini
39535fdea2 Bug 1252839 - Remove some if stmt after allocation with 'new' - patch 2, r=bz 2016-03-02 18:51:33 +01:00
Jonathan Kew
bcbf5171fd Bug 1247335 - patch 2 - Use desktop pixel coordinates when loading a nsXULWindow position. r=emk 2016-02-18 10:47:14 +00:00