Граф коммитов

534 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 73e2b20c61 Bug 1490858 - Reorder nsISHEntry. r=nika
nsISHEntry's attributes and methods are thoroughly mixed. This patch separates
them, making it easier to understand.

--HG--
extra : rebase_source : 8a7822b5289fbb67e74dfa3cb42aa31206ee0e16
2018-09-12 13:20:14 +10:00
Nicholas Nethercote eb5daf71af Bug 1490858 - Simplify some nsISHEntry attributes. r=nika
Both nsISHEntry.URI and nsISHEntry isSubFrame are readonly, but also have a
setter. This is silly, so this patch removes the setter and makes them
modifiable.

The patch also renames nsISHEntry.setAsHistoryLoad() as setLoadTypeAsHistory(),
which makes it clearer that it modifies the loadType attribute.

--HG--
extra : rebase_source : 7772e2c1d90d4fd9f462f20c777d6eacc65801c5
2018-09-12 12:54:11 +10:00
Nicholas Nethercote f659c0df65 Bug 1490858 - Streamline nsISHEntry a little more. r=nika
By marking some C++-only nsISHistory methods as [noscript] or [noscript,
notxpcom].

--HG--
extra : rebase_source : 1216e755a227fd13f01057afd71ea082a2a79ad7
2018-09-12 11:59:06 +10:00
Nicholas Nethercote f9b2172b05 Bug 1490858 - Make most nsISHEntry attributes infallible. r=nika
The patch also removes some NS_ENSURE_ARG_POINTER checks from these attributes'
getters. Most of these getters already lack such checks, and as long as the
infallible getters are used a non-null pointer is guaranteed. In the worst case
we'll safely null-crash anyway.

--HG--
extra : rebase_source : 87d4f7fccfa7ffb605c514cf8c2abd270a13b24a
2018-09-07 11:56:23 +10:00
Nicholas Nethercote 2d47fcde1c Bug 1490828 - Handle mPersist in the nsSHEntry copy constructor. r=nika
--HG--
extra : rebase_source : 11bc9b8881467bbf6a4cee9800bf1d13707856b6
2018-09-14 11:09:19 +10:00
Nicholas Nethercote 57abe0460a Bug 1490524 - Streamline nsISHistory a little more. r=nika
- Move VIEWER_WINDOW from nsISHistory to nsSHistory.

- Mark some C++-only nsISHistory methods as [noscript, notxpcom].

- Add gotoIndex() to nsISHistory so that LegacySHistoryImpl() can be removed.

--HG--
extra : rebase_source : c33081d527af6f9697fad095d24824fc4d451f4d
2018-09-11 16:08:39 +10:00
Nicholas Nethercote a0583f1a89 Bug 1490524 - Make some nsISHistory attributes infallible. r=nika
This also requires making nsISHistory `builtinclass`.

--HG--
extra : rebase_source : a1f2c7a60782dcd741b350f6cd3979d888008a97
2018-09-11 16:08:37 +10:00
Nicholas Nethercote 86422376e7 Bug 1490524 - Remove nsISHistory.maxLength. r=nika
It's unused.

--HG--
extra : rebase_source : d835dd5f650515740e31d9f30535ea2a13d9556b
2018-09-11 16:08:35 +10:00
Nicholas Nethercote 0935270972 Bug 1490158 - Add a clarifying comment. r=nika
--HG--
extra : rebase_source : ab987310ca62b5587f7437d91f7be4345bc5cb16
2018-09-11 15:04:16 +10:00
Nicholas Nethercote 7f2bb554d6 Bug 1490158 Remove On{Length,Index}Changed from nsISHistoryListener. r=nika
They're never used.

--HG--
extra : rebase_source : 94f94e4d198917aa5e1d9322e9ba195f641e6e45
2018-09-07 10:27:05 +10:00
Nicholas Nethercote 951d44ded0 Bug 1490158 - Minimize cancelability in nsISHistoryListener. r=nika
nsISHistoryListener can cancel several operations, but the functionality is
only ever used for OnHistoryReload(). So this patch removes it for the other
operations.

--HG--
extra : rebase_source : 433422e9160f7d645570baaaff4779c4bcc3ec04
2018-09-06 16:51:58 +10:00
Nicholas Nethercote 55657f2206 Bug 1488628 - Change nsISHEntry.title to an AString. r=nika
This patch also removes the setTitle() method and makes `title` non-readonly.

--HG--
extra : rebase_source : 87e394ec5cb0eed7a9b77fa105b6dd45111d75fd
2018-09-05 11:29:36 +10:00
Nicholas Nethercote f5d9c8867c 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.

--HG--
extra : rebase_source : 845a1c1d5fe7f84eaa03db39a344d98fd5784afd
2018-09-05 09:03:22 +10:00
Nicholas Nethercote 13643f64e8 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.

--HG--
extra : rebase_source : c519d77fcc1c3bda2f260b5888ce9cd0f6cfdab5
2018-09-05 09:02:37 +10:00
Nicholas Nethercote 54ca088229 Bug 1488321 - Remove nsISHTransaction. r=nika
Because it's a wafer-thin wrapper around nsISHEntry that just complicates
things.

This patch leaves behind a combination of "entry" and "transaction"
terminology. I'll fix that in a subsequent patch.

--HG--
extra : rebase_source : ca15187447bf3d93c65ed3980ead5bca958471be
2018-09-05 09:02:37 +10:00
Nicholas Nethercote b546759d02 Bug 1488321 - Move the `persist` attribute from nsISHTransaction to nsISHEntry. r=nika
This requires making nsISHEntry `builtinclass`.

--HG--
extra : rebase_source : 90e792ee35c01b0d90c52315e4cb6d85667c58fa
2018-09-05 09:02:37 +10:00
Nicholas Nethercote cd3fc14877 Bug 1488321 - Improve GetTransactionAtIndex() result checking. r=nika
Specifically:

- Check the nsresult consistently, but don't check (unnecessarily) for null on
  success.

- In AddEntry(), move GetTransactionAtIndex() before all state-changing
  operations, so we don't end up with partial state updates upon failure.

- Use early returns to reduce indenting.

--HG--
extra : rebase_source : 17815f6813f024fae1cf4ec3cf1b7985ab7a2ff2
2018-09-05 08:53:28 +10:00
Nicholas Nethercote b212c4a09a Bug 1488321 - Enforce non-nullness for nsISHTransaction.sHEntry. r=nika
In practice it's always non-null, and only half the places that deal with it
have null handling code. So this simplifies things.

--HG--
extra : rebase_source : 250b286b6b2c10aeb0c4486ebe13b1e071bf6c8a
2018-09-05 08:53:28 +10:00
Nicholas Nethercote 268dd7e600 Bug 1488321 - Make nsISHTransaction builtin and its attributes infallible. r=nika
--HG--
extra : rebase_source : 2a4068b80ea20b9c25cbb8239dfada992c758821
2018-08-28 12:00:44 +10:00
Nicholas Nethercote 3062776635 Bug 1488321 - Remove `currentIndex` in nsSHistory::AddEntry(). r=nika
It was used to protect against changes in mIndex by history listeners, but the
new code structure doesn't need it, because we want to use mIndex afterwards.

--HG--
extra : rebase_source : 74f0cc7f696b101b8e9d699790f2f2c141c5f51b
2018-09-04 14:00:45 +10:00
Nicholas Nethercote 09a6eb41df 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.)

--HG--
extra : rebase_source : 69dba04f14b1438f50f597f3d16b77225795f8a7
2018-09-03 09:27:37 +10:00
Nicholas Nethercote 70d22aa86a Bug 1487328 - Remove nsISHistoryListener.OnHistoryGo{Back,Forward}. r=nika
As per the previous commit, they are now subsumed by OnHistoryGotoIndex.

--HG--
extra : rebase_source : 627a32ed9378c7dd5364323183297933f90f9d72
2018-09-03 09:27:37 +10:00
Nicholas Nethercote 6347de0109 Bug 1487328 - Clarify which nsIWebNavigation methods in nsSHistory are unreachable. r=nika
The only ones that are reachable are GotoIndex(), GetCurrentURI(), and
Reload(). This patch makes all the others crash.

Note that the reason that Go{Back,Forward}() are unreachable is because of this
behaviour in ChildHistory::Go():

  // XXX(nika): Should we turn Go(-1) and Go(1) to call GoForward and GoBack?
  // They technically fire different change events but I couldn't find anyone
  // who cares, so I'm inclined not to.

I.e. those functions are now subsumed by GotoIndex().

As for CanGo{Back,Forward}(), a try push plus code inspection confirm that they
are unused.

--HG--
extra : rebase_source : 6509e635478f257be1271b51d352e0a9d81899ec
2018-09-03 09:27:37 +10:00
Nicholas Nethercote f369a978ca 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
Nicholas Nethercote 54524b264e Bug 1487296 - Fix nsIHistory.idl formatting. r=nika
Mostly:
- Fix indenting.
- Remove trailing whitespace.
- Use `aFoo` arguments.
2018-08-30 11:08:59 +10:00
Nicholas Nethercote 03f4d6c3ac Bug 1487541 - Keep mRequestedIndex in bounds in PurgeHistory(). r=me
--HG--
extra : rebase_source : 1488b7a2d3bab7e9a746ddd1fbf70a155cec3933
2018-08-31 16:25:32 +10:00
Nicholas Nethercote 1035277500 Bug 1486358 - Mark GetTransactionAtIndex() as NS_IMETHODIMP. r=me
Because of one this bug's earlier commits made it an XPIDL method.

--HG--
extra : rebase_source : d0e69d5c5eb1fd1caf0946872c8319029591fcc3
2018-08-31 15:32:14 +10:00
Nicholas Nethercote cfd6ca43dd Bug 1486358 - Factor out shistory entry window code. r=nika
(It's worth noting that I had to fix one of these instances in the previous
patch, by adding a -1.)

--HG--
extra : rebase_source : ea45cd7dc59b6649f1b46a2c917def79538fcbe8
2018-08-28 12:00:41 +10:00
Nicholas Nethercote beb090da4a Bug 1486358 - Change nsISHistory's transactions list to an nsTArray. r=nika
- nsISHistoryInternal loses `rootTransaction`, and gains
  GetTransactionAtIndex(). (The implementing class `nsSHistory` already
  implemented a method by that method.)

- nsSHistory loses `mListRoot` in favour of `mTransactions`. It also loses
  `mLength`, because `mTransactions` tracks the length itself.

- nsISHTransaction.{prev,next} are no longer needed.

- nsISHTransaction.create() is no longer needed, because all it does now is set
  the SHEntry, and we can use SetSHEntry() for that.

Overall this deletes about 200 lines of code.

--HG--
extra : rebase_source : eac6334b653e04634baa86a0f4e3c8f07c06e560
2018-08-27 14:28:46 +10:00
Nicholas Nethercote 814d346fbe Bug 1486358 - Fix nsISHTransaction.idl's formatting.
By replacing tabs with spaces, and cleaning up the comments slightly.

--HG--
extra : rebase_source : dd122be19197614bf3a048b235eb857647456fde
2018-08-27 14:28:44 +10:00
Nicholas Nethercote f751b544bf Bug 1486356 - Remove the XPCOM component registration for nsSHTransaction. r=nika
--HG--
extra : rebase_source : 992dfc8d0c836f3adf499ca1974a70656ee11791
2018-08-27 14:27:34 +10:00
Nicholas Nethercote a4afa80372 Bug 1486356 - Remove nsISHistory.restoreToEntryAtIndex. r=nika
It's unused.

--HG--
extra : rebase_source : b687ecd1f02f6de141fe03b06b555d742d8f8887
2018-08-27 14:27:34 +10:00
Ehsan Akhgari 888504fd4c Bug 1485870 - Remove the XPCOM registration for nsSHTransaction; r=nika 2018-08-28 08:29:33 -04:00
Kris Maglione 65c28aa0ad Bug 1484496: Part 2 - Add common base class for all nsISimpleEnumerator implementations. r=froydnj
In order to allow JS callers to use nsISimpleEnumerator instances with the JS
iteration protocol, we'll need to additional methods to every instance. Since
we currently have a large number of unrelated implementations, it would be
best if they could share the same implementation for the JS portion of the
protocol.

This patch adds a stub nsSimpleEnumerator base class, and updates all existing
implementations to inherit from it. A follow-up will add a new base interface
to this class, and implement the additional functionality required for JS
iteration.

Differential Revision: https://phabricator.services.mozilla.com/D3725

--HG--
extra : rebase_source : ad66d7b266856d5a750c772e4710679fab9434b1
extra : histedit_source : a83ebffbf2f0b191ba7de9007f73def6b9a955b8
2018-08-18 14:22:47 -07:00
Nicholas Nethercote 8cb0711355 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.

--HG--
extra : rebase_source : 570b7ade669fb89a789184198bec9da186c5f1d3
2018-08-22 19:20:56 +10:00
Nicholas Nethercote d596237589 Bug 1485279 - Merge nsISHEntryInternal into nsISHEntry. r=qdot
nsSHEntry is the only class that instantiates those two interfaces, so the
separation is not useful. This lets us remove several pointless QIs.

The patch also removes RemoveFromBFCache{AS,S}ync, which are unused.

--HG--
extra : rebase_source : 84db7ec180c357ab8c762dc60efb5eed444ba514
2018-08-22 19:13:57 +10:00
Nicholas Nethercote 5ad84b56e2 Bug 1484944 - Remove nsSHEnumerator. r=qdot
--HG--
extra : rebase_source : 3f52fd7bf780e53631919a0f2e6925345b714517
2018-08-21 19:52:19 +10:00
Kris Maglione f84c2cf454 Bug 1480244: Part 1c - Rename TabChildGlobal to TabChildMessageManager. r=bz
MozReview-Commit-ID: ECtFjFV7dZa

--HG--
extra : rebase_source : 50e64fa4da1099ca2bd9e14c8679bb87c354015e
2018-08-10 14:04:23 -07:00
Boris Zbarsky e2aafee76f Bug 1479569 part 3. Remove nsIContentFrameMessageManager. r=kmag 2018-08-02 23:49:09 -04:00
Csoregi Natalia 08c950712e Backed out 3 changesets (bug 1479569) for devtools/client/responsive.html failures. CLOSED TREE
Backed out changeset e123d0aa911c (bug 1479569)
Backed out changeset b828a58404e5 (bug 1479569)
Backed out changeset 97041ef8f311 (bug 1479569)
2018-08-03 10:39:12 +03:00
Boris Zbarsky b318c42b9e Bug 1479569 part 3. Remove nsIContentFrameMessageManager. r=kmag 2018-08-02 23:49:09 -04:00
Kris Maglione 44f3d2e02f Bug 1473631: Part 11 - Replace pref observers with callbacks in nsSHistory. r=njn
MozReview-Commit-ID: EvwiYRg4SnC

--HG--
extra : rebase_source : af78bc15488a0c6b2916aefa5dca0611f9c2f722
2018-07-05 14:58:04 -07:00
Kyle Machulis 5e51176ffa 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 17f492c9c1 Bug 1472087 - deCOMtaminate nsIDocShellLoadInfo; r=nika
Change all references from nsIDocShellLoadInfo to nsDocShellLoadInfo

MozReview-Commit-ID: AyKlZUtSEDD
2018-07-11 20:19:14 -07:00
Jan de Mooij ef58e3064f Bug 1474835 - Use implicit_jscontext for nsIWebNavigation.setOriginAttributesBeforeLoading. r=smaug 2018-07-11 15:23:54 +02:00
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Boris Zbarsky 02221942ef Bug 894215 part 1. Change nsSHEntryShared to inherit from nsStubMutationObserver. r=smaug 2018-05-18 23:37:56 -04:00
Adrian Wielgosik c501e3beb0 Bug 1460940 - Clean up most remaining C++-side uses of nsIDOMDocument. r=bz
MozReview-Commit-ID: LKRnyDPNlle

--HG--
extra : rebase_source : a48b7c72a0f7ede38c91149a04d5de53987736f1
2018-05-11 19:46:15 +02:00
Jan Henning 29713de206 Bug 1335148 - Part 1: Dynamically determine content viewer count on Android, too. r=bz,snorp
The current limit of at most one bfcache entry on Android dates back to when
Fennec was built for the Nokia N810, which had a whopping 128 MB of memory.
Since a few years have passed since then and mobile device technology has
evolved considerably, it should be safe now to allow a little more than that.

Since web sites sizes might have grown somewhat as well compared to the figure
of 4MB mentioned in CalcMaxTotalViweres(), though and to be absolutely on the
safe side, we still tweak the formula when building for Android, though.

If in the worst case even those assumptions turn out too generous, we will still
be protected by the fact that
- we temporarily disable the bfcache when the OS signals memory pressure, and
- our contentViewerTimeout is set to a lower value than on Desktop, so bfcache
  entries will expire sooner

MozReview-Commit-ID: 1A6d0Q6Mdx0

--HG--
extra : rebase_source : 9cc1f7abb1aef82ffc4d7987773ae7cf35440884
2018-03-29 21:51:13 +02:00
Chris Peterson 71422dcaa9 Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent

MozReview-Commit-ID: KuUsnVe2h8L

--HG--
extra : source : c14655ab3df2c9b1465dd8102b9d25683359a37b
2018-04-28 12:50:58 -07:00