Commit Graph

2457 Commits

Author SHA1 Message Date
Christoph Kerschbaumer
980d2b45c4 Bug 1403814 - Block toplevel data: URI navigations only if openend in the browser. r=smaug 2017-11-03 13:23:11 +01:00
Nika Layzell
e9c8d1f228 Bug 1401379 - Part 1: Make nsDocShell and nsDocLoader cycle collected, r=smaug
MozReview-Commit-ID: Bui924n8Kvn
2017-11-01 11:06:24 -04:00
Samael Wang
b2ed78ebfc Bug 1397512 - Part 1: Use LOAD_NORMAL_REPLACE in OnLinkClickSync if it's running inside an onload handler. r=smaug
MozReview-Commit-ID: BILgS0XTAIc
2017-10-26 14:13:46 +08:00
Masatoshi Kimura
e29c3d5a3e Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj
MozReview-Commit-ID: 7JoD4VYzZp3
2017-10-21 23:53:02 +09:00
Andrew McCreight
385ff12f02 Bug 1407740 - Fix a crash by setting a flag to true. r=bz 2017-10-20 16:11:26 -04:00
Nicholas Nethercote
dc0d454657 Bug 1409227 (part 4) - Replace nsMemory::Clone(id, sizeof(nsID)) with nsID::Clone(id). r=mccr8.
This change requires introducing nsID::Clone(). Because it's infallible, the
patch also removes some redundant failure-handling code. (nsMemory::Clone() is
also infallible, so this code was redundant even before this change.)
2017-10-18 10:39:20 +11:00
Christoph Kerschbaumer
f7074d3759 Bug 1408451: Log to web console when blocking toplevel data: URI navigations. r=bz 2017-10-16 14:18:52 +02:00
Kris Maglione
4a5ef65402 Bug 1404198: Part 2j - Switch to NS_NewTimer* everywhere else. r=njn
MozReview-Commit-ID: LmGIgfmNSmk
2017-09-24 19:57:48 -07:00
Kris Maglione
7b017c97d6 Bug 1407056: Part 1 - Provide more consistent principal/origin URL to content policies. r=bz,ckerschb
We're currently fairly vague and inconsistent about the values we provide to
content policy implementations for requestOrigin and requestPrincipal. In some
cases they're the triggering principal, sometimes the loading principal,
sometimes the channel principal.

Our existing content policy implementations which require or expect a loading
principal currently retrieve it from the context node. Since no current
callers require the principal to be the loading principal, and some already
expect it to be the triggering principal (which there's currently no other way
to retrieve), I chose to pass the triggering principal whenever possible, but
use the loading principal to determine the origin URL.

As a follow-up, I'd like to change the nsIContentPolicy interface to
explicitly receive loading and triggering principals, or possibly just
LoadInfo instances, rather than poorly-defined request
origin/principal/context args. But since that may cause trouble for
comm-central, I'd rather not do it as part of this bug.

MozReview-Commit-ID: LqD9GxdzMte
2017-10-12 15:43:55 -07:00
Ben Kelly
a0a0da0bba Bug 1391693 P1 Rename nsIInterceptedChannel.cancel() to cancelInterception() r=jdm 2017-10-09 10:03:40 -07:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
Christoph Kerschbaumer
efde1d4c6f Bug 1403641: Allow data: URI downloads even if data: URI navigations are blocked. r=bz 2017-10-04 08:43:56 +02:00
Sebastian Hengst
1ce17aa2d6 Backed out changeset e83481bd6963 (bug 1401379) for failing wpt-reftest /infrastructure/reftest-wait.html and unexpected passes in /webvtt/ and leaks in browser-chrome, all on OS X and Windows. r=backout on a CLOSED TREE 2017-10-02 19:59:42 +02:00
Sebastian Hengst
bb0fba471e Backed out changeset 436ecd081ffa (bug 1401379) 2017-10-02 19:57:06 +02:00
Sebastian Hengst
4b193ecf70 Backed out changeset 318b85f85682 (bug 1401379) 2017-10-02 19:57:00 +02:00
Nika Layzell
9fcd7adeb9 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
6332e70807 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
5e91cc36b5 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
cbba752608 Merge inbound to m-c a=merge CLOSED TREE
MozReview-Commit-ID: 3pMHYV9oXLm
2017-09-27 16:51:49 -07:00
Chris Peterson
99957af4ec Bug 1402666 - Part 1: Replace Replace("") with ReplaceLiteral(""). r=erahm
MozReview-Commit-ID: s2hrTSkBiJ
2017-09-15 19:22:58 -07:00
Wes Kocher
0960ec2e95 Merge m-c to inbound, a=merge
MozReview-Commit-ID: IsbKCdZU2Ui
2017-09-26 17:14:31 -07:00
Kyle Machulis
91b22b30db 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
92b4fa479c Backed out changeset 26805294a547 (bug 1389650) 2017-09-26 10:47:41 +02:00
Samael Wang
f68e75d967 Bug 1328501 - Part 1: Apply iframe history if it contains only initial about:blank viewer. r=smaug
MozReview-Commit-ID: AhRwSxYGdZu
2017-09-07 16:27:35 +08:00
Sebastian Hengst
8360facddc merge mozilla-central to autoland. r=merge a=merge 2017-09-27 11:49:57 +02:00
Nicholas Nethercote
9fda5528d2 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
2017-09-26 08:33:21 +10:00
Kyle Machulis
96c43e718c 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
bdcb676edc merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 517PGVX0wPB
2017-09-25 11:58:15 +02:00
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
Samael Wang
abc471c799 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
2017-09-05 16:02:04 +08:00
Andrea Marchesini
385a35ebae 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
d7a91a07c0 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
e8236888ee 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.
2017-09-22 14:35:46 +10:00
Ben Kelly
bca9af1161 Bug 1336364 P3 Restrict service worker interception for more cookie policies. r=asuth 2017-09-20 09:24:06 -07:00
Ben Kelly
1ceea1d52c 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
5d96971561 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
385718ba1c Bug 1394462 - Update dnsNotFound error copy and illustration. r=nhnt11
MozReview-Commit-ID: KFp3JhkCDJJ
2017-09-19 21:54:29 +02:00
Erica Wright
b6e6a1c5e5 Bug 1394460 - Update illustration and copy for error: invalid URL. ui-r=shorlander r=johannh
MozReview-Commit-ID: 8mMUvlOzygj
2017-08-29 16:55:31 -04:00
Ryan VanderMeulen
e07311eba2 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)
2017-09-12 13:21:17 -04:00
Samael Wang
f453bbca1e 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
2017-09-05 16:02:04 +08:00
Daniel Holbert
84d5061233 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
2017-09-08 16:36:32 -07:00
Masayuki Nakano
87466056af 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
2017-09-07 22:54:49 +09:00
Sebastian Hengst
37a7cb134a Backed out changeset 0458fccefb5c (bug 1364364) 2017-09-07 16:49:22 +02:00
Samael Wang
28a88ab41f 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
2017-09-05 16:02:04 +08:00
Olli Pettay
8cae9c47d0 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
2017-09-06 18:18:11 +01:00
Christoph Kerschbaumer
bfefd4d8c4 Bug 1394554: Block toplevel data: URI navigations after redirect. r=smaug 2017-09-06 09:33:10 +02:00
Christoph Kerschbaumer
5d94374c6a Bug 1331740: Pass correct context for TYPE_DOCUMENT loads within docshell. r=smaug 2017-09-05 18:01:07 +02:00
Eugen Sawin
f1607b396d 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
7c1554fd3b 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
36aaae01d2 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