Commit Graph

2858 Commits

Author SHA1 Message Date
Nicholas Nethercote
e0b1835fc5 Bug 1488628 - Change some nsIWebNavigation method arguments from wstring to AString. r=nika 2018-09-05 13:42:16 +10:00
Nicholas Nethercote
3d067dad0c Bug 1488628 - Change nsISHEntry.title to an AString. r=nika
This patch also removes the setTitle() method and makes `title` non-readonly.
2018-09-05 11:29:36 +10:00
Nicholas Nethercote
aa1ac557fc Bug 1488321 - Remove all traces of the "transaction" terminology in SHistory. r=nika.
This patch:

- removes GetTransactionAtIndex(), because getTransactionAtIndex() can be used
  instead;

- renames a lot of things;

- updates some comments.
2018-09-05 09:03:22 +10:00
Nicholas Nethercote
357e821fd9 Bug 1488321 - Fix up nsISHEntry.{index,getEntryAtIndex()}. r=nika
nsISHEntry.index is readonly, but if you pass `true` as getEntryAtIndex()'s
second argument, nsISHEntry.index will be modified. This is pretty gross.

This patch changes `index` so it's not readonly (because it's not!) and removes
getEntryAtIndex()'s second argument.
2018-09-05 09:02:37 +10:00
Ehsan Akhgari
0054eabedd Bug 1488111 - Remove the XPCOM component registration for nsCommandManager; r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D4834
2018-09-04 15:03:22 -04:00
Ehsan Akhgari
364dd5924a Bug 1487396 - Part 1: Enable the secure browser UI object to keep track of the newly added content blocking states for each document; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D4809
2018-09-04 14:20:22 -04:00
Nicholas Nethercote
789c176560 Bug 1487328 - Make nsSHistory *not* implement nsIWebNavigation. r=nika
nsSHistory currently implements nsIWebNavigation, but only three of the methods
are actually used, and the rest call MOZ_CRASH. This patch removes the
inheritance and changes the implementations of those three methods (Reload(),
GetCurrentURI(), and GotoIndex()) to pure C++.

There is one test, bug662200_window.xul, that calls Reload() from JS, which is
no longer possible. Fortunately, nsSHistory::ReloadCurrentEntry() -- which *is*
available from JS -- is similar enough to Reload(0) that it can be used
instead.

(The only difference between Reload(0) and ReloadCurrentEntry() is that the
former triggers the `OnHistoryReload` notification and the latter triggers
`OnHistoryGotoIndex`, which doesn't matter for this test.)
2018-09-03 09:27:37 +10:00
Nicholas Nethercote
61fa13d890 Bug 1487296 - Merge nsISHistoryInternal into nsISHistory. r=nika
With legacy add-ons gone, there is no benefit to keeping them separate.
2018-08-30 11:37:40 +10:00
Boris Zbarsky
0a587b88a6 Bug 1486932 part 2. Remove nsIDOMStorage. r=mccr8 2018-08-31 13:56:55 -04:00
Gabriele Svelto
b3b1ef307d Bug 1486772 - Refactor the screen-orientation types and headers r=smaug
This patch removes the 'ScreenOrientationInternal' type from
dom/base/ScreenOrientation.h and moves it into the
HalScreenConfiguration.h header, renaming it simply to 'ScreenOrientation'
in the process. This has several knock-off effects:

- It allows files that needed ScreenOrientationInternal to include a much
  smaller header than before

- It greatly reduces the number of headers pulled in when including Hal.h

- It clarifies the role of the type. The 'Internal' part in the name had
  nothing to do with it being part of the implementation. The type was public
  and called that way only to avoid clashing with the 'ScreenOrientation'
  class. Since we moved it into a different namespace it can be renamed
  safely.

- It allows a file that was manually re-declaring 'ScreenConfigurationInternal'
  type to use the original one

- Finally this fixes a few files which were missing headers they actually
  required but that would still build because unified compilation put them into
  units that already had those headers thanks to ScreenConfiguration.h

Differential Revision: https://phabricator.services.mozilla.com/D4458
2018-08-29 20:54:56 +00:00
Andreas Farre
383c4c2fb1 Bug 1481238 - Create WebIDL interface for BrowsingContext. r=peterv
Expose Chrome only WebIDL to interface with BrowsingContext from
script. The API consists of parent, firstChild and nextSibling
attributes for BrowsingContext, and the browsingContext attribute for
Window.
2018-08-29 05:00:00 +03:00
Nicholas Nethercote
cd127441a0 Bug 1486690 - Remove unnecessary checks after moz_xmalloc() calls. r=glandium
There are surprisingly many of them.

(Plus a couple of unnecessary checks after `new` calls that were nearby.)
2018-08-28 15:56:01 +10:00
Ehsan Akhgari
10f79b9857 Bug 1486092 - Part 1: Move the browser.contentblocking.enabled pref to StaticPrefs; r=baku 2018-08-27 09:22:01 -04:00
Nicholas Nethercote
4683d6b86a Bug 1485279 - Merge nsISHContainer into nsISHEntry. r=qdot
nsSHEntry is the only class that instantiates those two interfaces, so the
separation is not useful. This lets us remove numerous pointless QIs.
2018-08-22 19:20:56 +10:00
James Willcox
6c7e22db93 Bug 1480095 - Allow loading custom error pages via nsILoadURIDelegate r=esawin,bz,jchen
MozReview-Commit-ID: IhVC9nU60fy
2018-08-22 08:46:41 -05:00
Henri Sivonen
7067da0717 Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:

 * UTF errors are handled safely per spec instead of dangerously truncating
   strings.

 * There are fewer converter implementations.

Performance improvements:

 * The old code did exact buffer length math, which meant doing UTF math twice
   on each input string (once for length calculation and another time for
   conversion). Exact length math is more complicated when handling errors
   properly, which the old code didn't do. The new code does UTF math on the
   string content only once (when converting) but risks allocating more than
   once. There are heuristics in place to lower the probability of
   reallocation in cases where the double math avoidance isn't enough of a
   saving to absorb an allocation and memcpy.

 * Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
   but a single non-ASCII code point pessimized the rest of the string. The
   new code tries to get back on the fast ASCII path.

 * UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
   input to eliminate an operation from the inner loop on x86/x86_64.

 * When assigning to a pre-existing string, the new code tries to reuse the
   old buffer instead of first releasing the old buffer and then allocating a
   new one.

 * When reallocating from the new code, the memcpy covers only the data that
   is part of the logical length of the old string instead of memcpying the
   whole capacity. (For old callers old excess memcpy behavior is preserved
   due to bogus callers. See bug 1472113.)

 * UTF-8 strings in XPConnect that are in the Latin1 range are passed to
   SpiderMonkey as Latin1.

New features:

 * Conversion between UTF-8 and Latin1 is added in order to enable faster
   future interop between Rust code (or otherwise UTF-8-using code) and text
   node and SpiderMonkey code that uses Latin1.

MozReview-Commit-ID: JaJuExfILM9
2018-08-14 14:43:42 +03:00
Francois Marier
941b742abf Bug 1480450 - Honor browser.contentblocking.enabled in tracking protection. r=dimi!
Depends on D3131

Differential Revision: https://phabricator.services.mozilla.com/D3132
2018-08-13 23:20:40 +00:00
Ciure Andrei
99e15da229 Backed out 1 changesets (bug 1480450) for mochitest/test_trackingprotection_bug1157081.html failures CLOSED TREE
Backed out changeset 34d3b10c54eb (bug 1480450)
2018-08-13 22:45:37 +03:00
Francois Marier
e425b78d45 Bug 1480450 - Honor browser.contentblocking.enabled in tracking protection. r=dimi!
Depends on D3131

Differential Revision: https://phabricator.services.mozilla.com/D3132
2018-08-13 14:54:10 +00:00
Gabriele Svelto
7e6f18cd29 Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.
2018-07-05 15:42:11 +02:00
Jonathan Kingston
07af5c5572 Bug 1362034 - Have addTab() provide the correct triggering principal. r=ckerschb r=Gijs
Reviewers: ckerschb!, Gijs!

Tags: #secure-revision

Bug #: 1362034

Differential Revision: https://phabricator.services.mozilla.com/D2046
2018-07-06 15:14:54 +01:00
dvarga
86b7ee6d9f Backed out 2 changesets (bug 1362034) for failure at browser/tools/mozscreenshots/primaryUI/browser_primaryUI.js on a CLOSED TREE
Backed out changeset 1c3329958b8a (bug 1362034)
Backed out changeset f68b1b76af36 (bug 1362034)
2018-08-08 22:11:56 +03:00
Jonathan Kingston
0e48203cf4 Bug 1362034 - Have addTab() provide the correct triggering principal. r=ckerschb,Gijs
Reviewers: ckerschb, Gijs

Reviewed By: ckerschb, Gijs

Subscribers: mixedpuppy, reviewbot

Bug #: 1362034

Differential Revision: https://phabricator.services.mozilla.com/D2046
2018-08-08 20:03:55 +03:00
Kyle Machulis
7b09c13dc4 Bug 1480641 - Remove nsITextScroll; r=nika
Summary:
Implemented by nsDocShell and nsWebBrowser (which just wraps the
docshell functions), but not actually used anywhere.

MozReview-Commit-ID: 2YzfsrvOolX

Test Plan: Try run

Reviewers: nika

Tags: #secure-revision

Bug #: 1480641

Differential Revision: https://phabricator.services.mozilla.com/D2695
2018-08-07 17:28:16 -07:00
Kyle Machulis
68a4e360a9 Bug 1480637 - Remove nsIClipboardCommands; r=nika
Summary:
Unused interface that can be removed.

MozReview-Commit-ID: GnHRXdtI4qe

Test Plan: Try run

Reviewers: nika

Tags: #secure-revision

Bug #: 1480637

Differential Revision: https://phabricator.services.mozilla.com/D2694
2018-08-07 15:12:55 -07:00
Kyle Machulis
46398272f6 Bug 1480628 - Remove nsIWebShellServices; r=nika
Summary:
nsIWebShellServices is only implemented by nsDocShell, and only used
in one place in C++. Move definitions to nsIDocShell, and rename
functions to show they are only used as part of Charset changes.

MozReview-Commit-ID: DOSeE3Doc51

Test Plan: Try run

Reviewers: nika

Tags: #secure-revision

Bug #: 1480628

Differential Revision: https://phabricator.services.mozilla.com/D2692
2018-08-07 15:12:55 -07:00
Dylan Roeh
8c94543dbc Bug 1441059 - Make nsILoadURIDelegate async to preserve the order of GeckoSession.loadUri() calls. r=snorp,bz
This alters nsILoadURIDelegate.loadURI() to return a Promise rather than spinning the event loop to synchronously return a boolean, and alters nsDocShell::InternalLoad to allow for those changes by re-calling itself if necessary based on the resolution of the promise.
2018-08-07 13:42:07 -05:00
Andreea Pavel
31fb9c007c Backed out 2 changesets (bug 1362034) for failing damp | inspector/cold-open.js on a CLOSED TREE
Backed out changeset 8c8925b75aa2 (bug 1362034)
Backed out changeset ff6b05c96094 (bug 1362034)
2018-08-06 20:42:44 +03:00
Jonathan Kingston
ea417d37e5 Bug 1362034 - Have addTab() provide the correct triggering principal. r=ckerschb,Gijs
Reviewers: ckerschb, Gijs

Reviewed By: ckerschb, Gijs

Subscribers: reviewbot

Bug #: 1362034

Differential Revision: https://phabricator.services.mozilla.com/D2046
2018-08-06 19:54:47 +03:00
Noemi Erli
0fb4e39a0d Backed out changeset 1e9ecba54e7b (bug 1348273) for failing on widget/tests/test_bug1123480.xul 2018-08-04 12:39:40 +03:00
Gabriele Svelto
4df61d277b Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant functions are updated to take a typed enum (in C++) and an
integer constant (in JavaScript). A JavaScript wrapper around the crash
reporter service is provided to hold the constants. The existing whitelists
and blacklists of annotations are also generated from the YAML file and the
existing duplicate code has been consolidated. Once written out to the .extra
file the annotations are converted in string form and are no different than
the existing ones.

All existing annotations have been included (and some obsolete ones removed)
and all call sites have been updated including tests.
2018-07-05 15:42:11 +02:00
Coroiu Cristina
b12a4c82a2 Backed out changeset 86471a18672f (bug 1348273) for ESlint failure at toolkit/modules/WebNavigationChild.jsm 2018-08-03 22:48:51 +03:00
Gabriele Svelto
b8949da3b5 Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant functions are updated to take a typed enum (in C++) and an
integer constant (in JavaScript). A JavaScript wrapper around the crash
reporter service is provided to hold the constants. The existing whitelists
and blacklists of annotations are also generated from the YAML file and the
existing duplicate code has been consolidated. Once written out to the .extra
file the annotations are converted in string form and are no different than
the existing ones.

All existing annotations have been included (and some obsolete ones removed)
and all call sites have been updated including tests.
2018-07-05 15:42:11 +02:00
Boris Zbarsky
ea76c8a450 Bug 1479569 part 3. Remove nsIContentFrameMessageManager. r=kmag 2018-08-02 23:49:09 -04:00
Boris Zbarsky
37dd73127b Bug 1479569 part 1. Add a ContentFrameMessageManager getter on nsIDocShell. r=kmag 2018-08-02 23:49:09 -04:00
Boris Zbarsky
e9dec2a2c5 Bug 1480310. Use docshell's editingSession getter instead of getInterface to get editing sessions. r=kmag
All the C++ consumers already call the getter, so we can remove
nsIEditingSession from the docshell GetInterface method completely.

Differential Revision: https://phabricator.services.mozilla.com/D2668
2018-08-02 19:15:27 +00:00
Kyle Machulis
62a2f52775 Bug 1450164 - Don't update URIs on history adds on docshells that are being shut down; r=bzbarsky
If we add to history on a docshell that is being shut down, add
history entry but skip trying to load the new URI.

MozReview-Commit-ID: JCF9muhxbFd

Differential Revision: https://phabricator.services.mozilla.com/D2311
2018-08-02 00:51:09 +00:00
Xidorn Quan
f21ef958b7 Bug 1479995 - Rename ScrollbarStyles to ScrollStyles. r=mstange
This change also renames several related functions, as well as fields,
and the header is moved into EXPORTS.mozilla given it is defined under
mozilla namespace.

MozReview-Commit-ID: LqCdcW8fmUN
2018-08-01 16:14:26 +10:00
Eugen Sawin
7ea9ead83e Bug 1451476 - [1.2] Add GeckoView page load error API. r=snorp,droeh,smaug 2018-07-31 20:43:33 +02:00
Kris Maglione
9ba14892f2 Bug 1463016: Part 5 - Add domWindow property to DocShellTreeItem and update callers to use it. r=nika
MozReview-Commit-ID: FRRAdxLHRtG
2018-05-20 18:10:16 -07:00
Narcis Beleuzu
749f83cc65 Backed out 2 changesets (bug 1463016, bug 1463291) for geckoview failures
Backed out changeset fcfb99baa0f0 (bug 1463291)
Backed out changeset 0d69b4fb1ed4 (bug 1463016)
2018-07-29 03:55:23 +03:00
Kris Maglione
86fbdd6653 Bug 1463016: Part 5 - Add domWindow property to DocShellTreeItem and update callers to use it. r=nika
MozReview-Commit-ID: FRRAdxLHRtG
2018-05-20 18:10:16 -07:00
Andreas Farre
b80facf293 Bug 1445659 - Make BrowsingContext interact with bfcache. r=peterv
Have BrowsingContext keep its own cache to enable caching of
BrowsingContexts, especially in the parent process.

This isn't really optimal, since it effectively duplicates the
cache in the child process. BFcache keeps a list of strong pointers to
the list of cached nsDocShells, where each nsDocShell in turn keeps a
reciprocated strong pointer to its BrowsingContext, which in turn is
held in the BrowsingContexts list of cached contexts. Ideally these
caches should be merged.
2018-06-28 05:40:00 +03:00
Andreas Farre
b2b698695f Bug 1445659 - Create basic Browsing Context in Content Parent and Child. r=peterv
Add BrowsingContext to allow the tree structure of docshells to exist
in several processes simultaneously. This is a first step towards
allowing a tree structure preserving separation of docshells across
processes.
2018-07-26 10:31:00 +03:00
Dragana Damjanovic
18e8f5bf11 Bug 1468523 - Fix the history entry for http-equiv=refresh. r=smaug 2018-07-26 15:31:59 +03:00
Brindusan Cristian
6f8a0f5893 Backed out changeset 9a8f58cb7315 (bug 1441059) for geckoview failures on multiple files. 2018-07-23 21:03:26 +03:00
Dylan Roeh
290af4ca77 Bug 1441059 - Make nsILoadURIDelegate async to preserve the order of GeckoSession.loadUri() calls. r=snorp,bz
This alters nsILoadURIDelegate.loadURI() to return a Promise rather than spinning the event loop to synchronously return a boolean, and alters nsDocShell::InternalLoad to allow for those changes by re-calling itself if necessary based on the resolution of the promise.
2018-07-23 10:12:18 -05:00
Andrea Marchesini
c2055bb4ff Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Kyle Machulis
712963e80a Bug 1472087 - Remove nsDocShellLoadInfo::LoadTypes; r=nika
We have 2 different LoadType enums with two different values, which
have to be converted between depending on whether we're going to/from
LoadInfo/nsISHEntry/etc. We should be able to just use the same enum
everywhere and not have to deal with conversion, especially since we
don't have any type safety around the enum.

MozReview-Commit-ID: 2t9vVGLpOte
2018-07-11 20:19:18 -07:00
Kyle Machulis
ad45351721 Bug 1472087 - Convert nsDocShellLoadInfo to WebIDL style; r=nika
While nsDocShellLoadInfo isn't represented by WebIDL (because we don't
need it in JS currently), make the getter/setter interface look
similar, just to keep consistent code style.

MozReview-Commit-ID: 3UfLR6jWVGK
2018-07-11 20:19:17 -07:00