Commit graph

2392 commits

Author SHA1 Message Date
Nika Layzell
8fe35461a1 Bug 1401379 - Part 8: Avoid using mDocShell to check if the window has been closed, r=smaug
MozReview-Commit-ID: CyNanVzyyNp
2017-10-02 11:58:03 -04:00
Nika Layzell
ca2daae3e9 Bug 1401379 - Part 7: Don't try to break nsDocShell <-> nsGlobalWindow references when cleaning up, r=smaug
MozReview-Commit-ID: CnAiOaAOTkw
2017-10-02 11:58:03 -04:00
Nika Layzell
7c6f663101 Bug 1401379 - Part 1: Make nsDocShell and nsDocLoader cycle collected, r=smaug
MozReview-Commit-ID: Bui924n8Kvn
2017-10-02 11:58:01 -04:00
Wes Kocher
61c098eae7 Merge inbound to m-c a=merge CLOSED TREE
MozReview-Commit-ID: 3pMHYV9oXLm

--HG--
rename : dom/base/nsReferencedElement.cpp => dom/base/IDTracker.cpp
rename : dom/base/nsReferencedElement.h => dom/base/IDTracker.h
2017-09-27 16:51:49 -07:00
Chris Peterson
14c40f3dac Bug 1402666 - Part 1: Replace Replace("") with ReplaceLiteral(""). r=erahm
MozReview-Commit-ID: s2hrTSkBiJ

--HG--
extra : rebase_source : d3b3551ed7ed1d5c8f70fc98d72510a13868ada1
extra : source : 1c45e10702e7884cd536a25b1d39c3de90fd2914
2017-09-15 19:22:58 -07:00
Wes Kocher
acf8913934 Merge m-c to inbound, a=merge
MozReview-Commit-ID: IsbKCdZU2Ui
2017-09-26 17:14:31 -07:00
Kyle Machulis
a3876f104a Bug 1389650 - Remove nsIDOMHTMLAnchorElement; r=bz
Removes the XPCOM interface for nsIDOMHTMLAnchorElement, replacing it
with binding class usage.

MozReview-Commit-ID: 7v0bKlY7Fax
2017-09-26 11:41:28 -07:00
Sebastian Hengst
5ed0b93c50 Backed out changeset 26805294a547 (bug 1389650) 2017-09-26 10:47:41 +02:00
Samael Wang
33a5d73d1a Bug 1328501 - Part 1: Apply iframe history if it contains only initial about:blank viewer. r=smaug
MozReview-Commit-ID: AhRwSxYGdZu

--HG--
extra : rebase_source : 1a6a2aa7280419f3fdd0fc5befa7d2f16b9a2ea5
2017-09-07 16:27:35 +08:00
Sebastian Hengst
72d1ea4a4b merge mozilla-central to autoland. r=merge a=merge 2017-09-27 11:49:57 +02:00
Nicholas Nethercote
dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Kyle Machulis
e2ace7d91f Bug 1389650 - Remove nsIDOMHTMLAnchorElement; r=bz
Removes the XPCOM interface for nsIDOMHTMLAnchorElement, replacing it
with binding class usage.

MozReview-Commit-ID: 7v0bKlY7Fax
2017-09-25 23:12:44 -07:00
Sebastian Hengst
d1d55ab8bc merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 517PGVX0wPB
2017-09-25 11:58:15 +02:00
Nicholas Nethercote
3aa25724fe 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.

--HG--
extra : rebase_source : 0bf332dec3e09af6c39c676f8795b368768a6046
2017-09-25 13:10:51 +10:00
Samael Wang
c4ecad6c4b Bug 1364364 - Part 5.2: Remove browser.sessionhistory.cache_subframes and fix test cases relying on it. r=smaug
browser.sessionhistory.cache_subframes has been disabled for 12yrs. It's not
actually maintained and it leaks content viewers. Using this unreliable feature
in test cases is a bad practice, so remove the pref completely and fix existing
test cases.

MozReview-Commit-ID: 3tQLpsqmmaq

--HG--
extra : rebase_source : 3e5094fed014a5d152e85f21b6de796a9a7abaa9
2017-09-05 16:02:04 +08:00
Andrea Marchesini
cee83bc968 Bug 1398733 - nsILinkHandler::OnLinkClick and OnLinkClickSync should know the post data inputStream length, r=smaug 2017-09-22 08:11:18 +02:00
Andrea Marchesini
3a42475049 Bug 1398733 - nsIDocShell::internalLoad should know the size of the post data inputStream, r=smaug 2017-09-22 08:10:41 +02:00
Nicholas Nethercote
e3c9cbb969 Bug 1401813 - Rename Null[C]String() as Void[C]String(). r=erahm.
XPCOM's string API doesn't have the notion of a "null string". But it does have
the notion of a "void string" (or "voided string"), and that's what these
functions are returning. So the names should reflect that.

--HG--
extra : rebase_source : 4e3f982e0873877174a08a25413595ff66f7d20e
2017-09-22 14:35:46 +10:00
Ben Kelly
bd9be74749 Bug 1336364 P3 Restrict service worker interception for more cookie policies. r=asuth 2017-09-20 09:24:06 -07:00
Ben Kelly
060f0734d0 Bug 1336364 P2 Fix the SW interception 3rd party cookie check to only apply to non-subresource requests and to properly check top window URI. r=smaug 2017-09-20 09:24:06 -07:00
Ben Kelly
5556b33547 Bug 1336364 P1 Refact nsDocShell::ShouldPrepareForIntercept() to short-circuit on subresource instead of non-subresource. r=smaug 2017-09-20 09:24:06 -07:00
Johann Hofmann
4a84c97ab7 Bug 1394462 - Update dnsNotFound error copy and illustration. r=nhnt11
MozReview-Commit-ID: KFp3JhkCDJJ

--HG--
extra : rebase_source : 62449541d1d5362fbc15b18fde9b4964cd153c4c
2017-09-19 21:54:29 +02:00
Erica Wright
5203d976cb Bug 1394460 - Update illustration and copy for error: invalid URL. ui-r=shorlander r=johannh
MozReview-Commit-ID: 8mMUvlOzygj

--HG--
extra : rebase_source : 6b93f7de2bbf55c330c4c25f08555386362dce04
2017-08-29 16:55:31 -04:00
Ryan VanderMeulen
68c8008faf Backed out 7 changesets (bug 1364364) for causing bug 1399182.
Backed out changeset c517d8071dfb (bug 1364364)
Backed out changeset 809036cfd7d9 (bug 1364364)
Backed out changeset c394b06dc30c (bug 1364364)
Backed out changeset c5a737bbfdeb (bug 1364364)
Backed out changeset 21ee8f318a47 (bug 1364364)
Backed out changeset 074475da0f2c (bug 1364364)
Backed out changeset de6c153ec533 (bug 1364364)

--HG--
rename : dom/indexedDB/test/bfcache_page1.html => dom/indexedDB/test/bfcache_iframe1.html
rename : dom/indexedDB/test/bfcache_page2.html => dom/indexedDB/test/bfcache_iframe2.html
rename : dom/media/webspeech/synth/test/file_bfcache_page1.html => dom/media/webspeech/synth/test/file_bfcache_frame.html
rename : dom/media/webspeech/synth/test/file_bfcache_page2.html => dom/media/webspeech/synth/test/file_bfcache_frame2.html
rename : dom/workers/test/WorkerDebugger_frozen_window1.html => dom/workers/test/WorkerDebugger_frozen_iframe1.html
rename : dom/workers/test/WorkerDebugger_frozen_window2.html => dom/workers/test/WorkerDebugger_frozen_iframe2.html
rename : dom/workers/test/suspend_window.html => dom/workers/test/suspend_iframe.html
2017-09-12 13:21:17 -04:00
Samael Wang
a175a57a4e Bug 1364364 - Part 5.2: Remove browser.sessionhistory.cache_subframes and fix test cases relying on it. r=smaug
browser.sessionhistory.cache_subframes has been disabled for 12yrs. It's not
actually maintained and it leaks content viewers. Using this unreliable feature
in test cases is a bad practice, so remove the pref completely and fix existing
test cases.

MozReview-Commit-ID: 3tQLpsqmmaq

--HG--
extra : rebase_source : ce6e27c7d422f32dec858712eba5ed8011ee8039
2017-09-05 16:02:04 +08:00
Daniel Holbert
fb2c2ce4a5 Bug 1398379 part 1: Make callers of GetRootScrollFrameAsScrollableExternal() use its equivalent non-"External" version instead. r=mats
This is a simplification. GetRootScrollFrameAsScrollableExternal() is just a
wrapper around its non-"External" version, GetRootScrollFrameAsScrollable(), so
we might as well just directly call *that* version.  All of the callers here
are inside of libxul, so they don't need the special "External" version.

MozReview-Commit-ID: GGMMDAlJ9xu

--HG--
extra : rebase_source : a3bd19a6300d0ce66f38fb8433db20b4ec03abfb
2017-09-08 16:36:32 -07:00
Masayuki Nakano
4ce89d8f61 Bug 1369072 - part3: nsXBLPrototypeHandler::DispatchXBLCommand() should use controller of visible window r=smaug
With previous change, KeyboardEvent is dispatched even when invisible window
has focus.  However, nsRootWindow::GetControllerForCommand() returns controller
for focused window even when the window is invisible because it uses
nsFocusManager::GetFocusedDescendant() to retrieve focused window.

Perhaps, we can assume that users won't expect to do something with invisible
window when they type some keys.  Then, nsRootWindow::GetControllerForCommand()
should return controller for visible ancestor window if focused window is
invisible.

This patch makes nsFocusManager::GetFocusedDescendant() can return only visible
descendants.  However, it already has a bool argument.  Therefore, it should
have a flag instead of adding new flag.  Most changes of this patch is replacing
its callers.

Then, nsRootWindow::GetControllerForCommand() and nsRootWindow::GetControllers()
should have a bool flag if it should return controller(s) for visible window.
This patch adds a bool flag for it.  Fortunately, the interface isn't scriptable.

Finally, this patch makes nsXBLPrototypeHandler::DispatchXBLCommand() and
EventStateManager::DoContentCommandEvent() retrieve controller for visible
window since they are always handles user input.

MozReview-Commit-ID: GygttTHuKRm

--HG--
extra : rebase_source : 1341273c4606298cb9b890b9312d9f5c8a75d144
2017-09-07 22:54:49 +09:00
Sebastian Hengst
e32d31055b Backed out changeset 0458fccefb5c (bug 1364364) 2017-09-07 16:49:22 +02:00
Samael Wang
593ae22cd9 Bug 1364364 - Part 5.2: Remove browser.sessionhistory.cache_subframes and fix test cases relying on it. r=smaug
browser.sessionhistory.cache_subframes has been disabled for 12yrs. It's not
actually maintained and it leaks content viewers. Using this unreliable feature
in test cases is a bad practice, so remove the pref completely and fix existing
test cases.

MozReview-Commit-ID: 3tQLpsqmmaq

--HG--
extra : rebase_source : 5dcc252160694a72e30ae41689f173cc0886edd6
2017-09-05 16:02:04 +08:00
Olli Pettay
2e8b602108 Bug 1377131 - Try to trigger collector slices at times which disturb page js less (at least with iframes loaded after the top level page has been loaded), r=mccr8,bz
When triggering an iframe load or starting to parse a document for an iframe, the main thread may often have some time before the new page has been created. Try to trigger CC/GC slice at such point in order to avoid collector later when page is already executing its JS

--HG--
extra : rebase_source : 806df0af1dbaefb1761134eca0bb7c6ade6ac1a9
2017-09-06 18:18:11 +01:00
Christoph Kerschbaumer
9522e28631 Bug 1394554: Block toplevel data: URI navigations after redirect. r=smaug 2017-09-06 09:33:10 +02:00
Christoph Kerschbaumer
1b8c06e845 Bug 1331740: Pass correct context for TYPE_DOCUMENT loads within docshell. r=smaug 2017-09-05 18:01:07 +02:00
Eugen Sawin
6cb533c8c1 Bug 1396065 - [1.3] Add nsILoadURIDelegate to handle load delegation to the window (GeckoView). r=smaug,snorp 2017-09-05 19:08:04 +02:00
Christoph Kerschbaumer
f8536aa3bd Bug 1395948: Move blocking of toplevel data: URI navigations before opening a new window. r=smaug 2017-09-05 12:56:43 +02:00
Sebastian Hengst
50778e172c Backed out changeset 4270e8daf3cf (bug 1395948) for build bustage at docshell/base/nsDocShellLoadTypes.h:22. r=backout on a CLOSED TREE 2017-09-05 12:09:22 +02:00
Christoph Kerschbaumer
299370b2ab Bug 1395948: Move blocking of toplevel data: URI navigations before opening a new window. r=smaug 2017-09-05 08:21:55 +02:00
Wes Kocher
d03d9bee49 Merge m-c to inbound, a=merge
MozReview-Commit-ID: BJmeuDcuHke
2017-08-28 17:45:07 -07:00
Alphan Chen
96889965b9 Bug 1380323 - Revise the behavior of scrolling to fragments. r=ehsan 2017-08-22 16:14:51 +08:00
Wei-Cheng Pan
fad0962338 Bug 1387625 - Fix TIME_TO_DOM_LOADING_MS record timing. r=smaug
nsDocument::mTiming can be nullptr when the document is still loading, so we
should not record ready state probes in nsDOMNavigationTiming.

Also stops recording probes from parent process because we only need data from
real web contents.

MozReview-Commit-ID: 8XUHC8yKobO

--HG--
extra : rebase_source : 2227ba85d55496f2e8dfa4aa91d8f9f966684c6f
2017-08-23 11:09:24 +08:00
Nicholas Nethercote
9160e1cba8 Bug 1390428 (part 6) - Remove nsXPIDLCString class members. r=erahm.
These are all straightforward except for InternalLoadEvent::mTypeHint, which
requires a bit of care to preserve existing behaviour.

--HG--
extra : rebase_source : 9b152122b011cf49b9acccdc98b4693548b8bdd2
2017-08-17 14:17:27 +10:00
Samael Wang
363b9e9d45 Bug 1375833 - Part 2: Set mHistoryID to aSHEntry->DocshellID() in both reload and history navigation. r=smaug
The root cause of bug 1326845 is that reloading would apply frame history entries
without setting new child docshells' mHistoryID to the entrys' DocshellID.
So SHistory can not find corresponding entries for subframes in a consequent
GoBack(), and cause history navigation being broken (it would return
NS_ERROR_FAILURE).

MozReview-Commit-ID: 6syGYkoP1eZ

--HG--
extra : rebase_source : ba0edd6ee121cc81d9e7c6e825e17844b26c730d
2017-08-11 14:49:09 +08:00
Samael Wang
d281a28f21 Bug 1375833 - Part 1: Do not clear subframe history on normal reload. r=smaug
In bug 1326251 we made gecko aggressively clear frame history. It turns out to
be too aggressive comparing to all other major browsers. This patch reverses
the behavior, so that only force reload and fresh would clear frame history,
but not normal reload.

MozReview-Commit-ID: EYVaA13cp6b

--HG--
extra : rebase_source : 1edd23d0fc7ba3d8f319d2b8c3d9034befa8a818
2017-08-11 14:47:20 +08:00
James Willcox
f029ff1bf4 Bug 1369815 - Add display mode to nsIDocShell and use it for media queries r=heycam
MozReview-Commit-ID: EVT0fTk6GfC
2017-08-22 09:08:39 -05:00
Christoph Kerschbaumer
9b81c8b695 Bug 1391011: CSP: Fix upgrade-insecure-requests for toplevel navigations when base it https. r=smaug 2017-08-21 08:57:14 +02:00
Gijs Kruitbosch
1840a17b2a Bug 776167 - allow going back to about:newtab, r=smaug,ursula
MozReview-Commit-ID: 8FTPI30RqYL

--HG--
extra : rebase_source : 693cecd231ebef219edbf2985910589c266101ae
2017-08-10 10:46:19 +01:00
Nicholas Nethercote
a83fefd956 Bug 1390036 (part 1) - Remove most remaining uses of nsXPIDLString. r=erahm.
CompareCacheHashEntry::mCrit[] is the only case where the nsXPIDLString-ness
was important. The patch adds an explicit SetIsVoid() call to that class's
constructor and changes some null checks to IsVoid() checks.

--HG--
extra : rebase_source : e68befcde4dd098bac2a550bc666eaf3bf1298d7
2017-08-11 18:31:22 +10:00
Sebastian Hengst
c5721643b5 Backed out changeset 3b956ceaaf8b (bug 1369815) 2017-08-15 18:30:29 +02:00
James Willcox
a976136fdd Bug 1369815 - Add display mode to nsIDocShell and use it for media queries r=heycam
MozReview-Commit-ID: EVT0fTk6GfC
2017-08-15 09:29:56 -05:00
Wes Kocher
936a9461f6 Merge inbound to m-c a=merge
MozReview-Commit-ID: KRQeIGmhAPA
2017-08-10 18:14:34 -07:00
Masayuki Nakano
032d6a0a9c Bug 1387406 - part2: nsIDocShell should have GetHTMLEditor() and SetHTMLEditor() r=smaug
C++ code should be accessible to editor of nsDocShell.  However, nsIDocShell needs to have the methods.  Therefore, this patch assumes that nsDocShell is the only subclass of nsIDocShell and creates 2 inline methods to access nsDocShell methods.

MozReview-Commit-ID: ByXtTB5X4cB

--HG--
extra : rebase_source : d68e407e35fa7c6f528ad325fa7925f83f962573
2017-08-04 22:12:03 +09:00