Commit Graph

1690 Commits

Author SHA1 Message Date
Andrew McCreight
179c12c3e5 Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

Differential Revision: https://phabricator.services.mozilla.com/D60197
2020-02-27 04:43:48 +00:00
Dorel Luca
6842883250 Backed out 4 changesets (bug 911444) for Mochitest failures in dom/base/test/test_pdf_print.html. CLOSED TREE
Backed out changeset d156bbaabbd5 (bug 911444)
Backed out changeset a32592af0b11 (bug 911444)
Backed out changeset b96d0a37ed1a (bug 911444)
Backed out changeset fd2e3e8728d9 (bug 911444)
2020-02-25 00:11:50 +02:00
Boris Zbarsky
29593a4aeb Bug 911444 part 1. Factor out the "is pdf viewer" code so we can reuse it. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D63707
2020-02-21 22:19:53 +00:00
Simon Giesecke
d9ad6f7529 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/base. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D63102
2020-02-21 10:41:47 +00:00
Masayuki Nakano
92864600e2 Bug 1613830 - Add nsINode::GetAsElementOrParentElement() r=smaug
This patch assumes that only element node can have content node.  I.e., we
won't hit the following `MOZ_ASSERT`:

```
Element* element = nullptr;
nsIContent* content = aContent;
while (content) {
  if (content->IsElement()) {
    element = content->AsElement();
    break;
  }
  content = content->GetParent();
}
MOZ_ASSERT(!content || content == element || content->GetParent() == element);
```

Differential Revision: https://phabricator.services.mozilla.com/D63308
2020-02-21 02:47:05 +00:00
Simon Giesecke
459f898390 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

Differential Revision: https://phabricator.services.mozilla.com/D62604
2020-02-20 11:40:14 +00:00
Andrea Marchesini
0507896212 Bug 1577040 - Part 2: Remove nsContentUtils::IsTrackingResourceWindow() and replace its calls with IsThirdPartyTrackingResourceWindow(), r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D63300
2020-02-20 07:29:11 +00:00
Dorel Luca
ccba316db1 Backed out 2 changesets (bug 1613985) for Build bustage on Windows2012. CLOSED TREE
Backed out changeset fd177b40b561 (bug 1613985)
Backed out changeset fb6d62b7f28d (bug 1613985)
2020-02-19 22:22:41 +02:00
Simon Giesecke
037dd3192f Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

Differential Revision: https://phabricator.services.mozilla.com/D62604
2020-02-19 18:05:38 +00:00
Jens Hausdorf
673e4a43ce Bug 1591235 - nsContentUtils::ShouldResistFingerprinting(*) methods should check pref if null is passed as param r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D61572
2020-02-04 14:32:13 +00:00
Boris Zbarsky
bd477b4e4f Bug 1613978. Allow passing u"...", not just nsAStrings, to templated ThrowType/RangeError. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D62061
2020-02-10 13:08:48 +00:00
Emilio Cobos Álvarez
b1f73f82ef Bug 1612510 - Remove IsChromeOrXBL*. r=bzbarsky
XBL is no longer a thing... Also, should we rename AllowContentXBLScope?

Differential Revision: https://phabricator.services.mozilla.com/D61359
2020-02-04 21:28:57 +00:00
Andrei Oprea
d5827264c8 Bug 1609635 - Whitelist about:newtab/home from content sanitization r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D60701
2020-02-04 08:37:57 +00:00
Mirko Brodesser
05c0707736 Bug 1609662: part 17) Clean up some code around Selection and ranges in nsDocumentEncoder. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D60644
2020-01-27 09:25:12 +00:00
Masayuki Nakano
040fac2942 Bug 1606043 - Make TextControlState::SetValueWithoutTextEditor() notify the text control element of value changed before dispatching eEditorInput event r=smaug
I made `nsContentUtils::DispatchInputEvent()` update validity of event target
before dispatching `eEditorInput` event in bug 1584963.  However, this is not
enough because it updates validity only when the type of `<input>` element is
`mail`, but it's required for other types, for example, `<input required>`.

This patch reverts the hack added in bug 1584963, instead, makes
`TextControlState::SetValueWithoutTextEditor()` notifies `TextControlElement`
of value change before dispatching `eEditorInput` event because it may have made
damage to the performance if `nsContentUtils::DispatchInputEvent()` updated
**all** validity state of the event target.

Differential Revision: https://phabricator.services.mozilla.com/D60828
2020-01-23 17:50:37 +00:00
Edgar Chen
ce5759eb70 Bug 1597857 - Part 1: Move execCommand("cut"/"copy") to new user activation model; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D54065
2020-01-23 17:27:42 +00:00
pbz
9ca53ea171 Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55811
2020-01-16 14:38:40 +00:00
Christoph Kerschbaumer
02987e3f14 Bug 1600941: Sanitize HTML fragments created for about: pages. r=Gijs,johannh
Differential Revision: https://phabricator.services.mozilla.com/D55664
2020-01-14 11:35:08 +00:00
Masayuki Nakano
2275339080 Bug 970802 - part 3: Implement beforeinput event dispatcher and add onbeforeinput event handler attribute r=smaug
This patch makes `nsContentUtils::DispatchInputEvent()` dispatch `beforeinput`
event too.  And also adds `onbeforeinput` event handler which is really
important for feature detection (although Chrome has not implemented this
attribute yet: https://bugs.chromium.org/p/chromium/issues/detail?id=947408).

However, we don't implement `InputEvent.getTargetRanges()` in this bug and
implementing `beforeinput` event may hit bugs of some web apps.  Therefore,
this patch disables `beforeinput` event by default even in Nightly channel.

Differential Revision: https://phabricator.services.mozilla.com/D58125
2020-01-14 07:15:45 +00:00
Razvan Maries
fb31761821 Backed out 5 changesets (bug 970802) for xpcshell perma fails. CLOSED TREE
Backed out changeset 5511edd700f7 (bug 970802)
Backed out changeset 1fb9cf2264b6 (bug 970802)
Backed out changeset 6b185296c742 (bug 970802)
Backed out changeset ce6853e64ed6 (bug 970802)
Backed out changeset aa9bd45c09b1 (bug 970802)
2020-01-14 04:41:15 +02:00
Masayuki Nakano
5c4adfac5d Bug 970802 - part 3: Implement beforeinput event dispatcher and add onbeforeinput event handler attribute r=smaug
This patch makes `nsContentUtils::DispatchInputEvent()` dispatch `beforeinput`
event too.  And also adds `onbeforeinput` event handler which is really
important for feature detection (although Chrome has not implemented this
attribute yet: https://bugs.chromium.org/p/chromium/issues/detail?id=947408).

However, we don't implement `InputEvent.getTargetRanges()` in this bug and
implementing `beforeinput` event may hit bugs of some web apps.  Therefore,
this patch disables `beforeinput` event by default even in Nightly channel.

Differential Revision: https://phabricator.services.mozilla.com/D58125
2020-01-08 09:23:40 +00:00
Christoph Kerschbaumer
6b700532df Bug 1596360: Monitor the fragment parser in chrome code and in about: pages and assert that no new calls e.g. to innerHTML and friends can be introduced. r=jkt,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D53163
2020-01-12 19:50:13 +00:00
Oana Pop Rus
693d239a74 Backed out changeset b80ab0927b40 (bug 1596360) for dt failures in DOMSecurityMonitor.cpp on a CLOSED TREE 2020-01-10 16:04:27 +02:00
Christoph Kerschbaumer
a0e0542198 Bug 1596360: Monitor the fragment parser in chrome code and in about: pages and assert that no new calls e.g. to innerHTML and friends can be introduced. r=jkt,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D53163
2020-01-10 13:08:26 +00:00
Masatoshi Kimura
1179ae0505 Bug 1448967 - Remove enablePrivilege. r=mccr8,marionette-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D57243
2020-01-08 23:14:48 +00:00
Tetsuharu OHZEKI
423370c334 Bug 1606528 - part 2: Replace idioms with BrowsingContext::IsTop(). r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D58481
2020-01-06 19:13:38 +00:00
Jonathan Kingston
0f3d8659c7 Bug 1606774 - Change GetAttribute to GetAttr where possible r=baku
Differential Revision: https://phabricator.services.mozilla.com/D58585
2020-01-03 23:40:53 +00:00
Kris Maglione
4260fb4790 Bug 1588259: Part 1 - Suspend windows when spinning event loop for window.open. r=smaug
This doesn't solve all problems with potential reentrancy during window.open
nested event loops, but it does improve the situation somewhat. Since any
window in the same BrowsingContextGroup can target any window in the same
group, we need to suspend all windows in the group, not just the root of the
new window's parent. We also need to make sure we suspend all in-process
windows, even if we have out-of-process frames somewhere in the parent chain.

This patch takes care of suspending timeouts and input event handling in all
of these cases. It doesn't block all potential paths for running code in the
suspended windows, though, so the next patch explicitly prevents the
problematic reentrancy.

Differential Revision: https://phabricator.services.mozilla.com/D57666
2019-12-19 21:41:17 +00:00
Razvan Maries
8e52fd1919 Backed out 2 changesets (bug 1588259) for perma fais on 1588259.html. CLOSED TREE
Backed out changeset 62fb499df45a (bug 1588259)
Backed out changeset 34716f07e8cb (bug 1588259)
2019-12-19 23:34:57 +02:00
Kris Maglione
1ac5c61216 Bug 1588259: Part 1 - Suspend windows when spinning event loop for window.open. r=smaug
This doesn't solve all problems with potential reentrancy during window.open
nested event loops, but it does improve the situation somewhat. Since any
window in the same BrowsingContextGroup can target any window in the same
group, we need to suspend all windows in the group, not just the root of the
new window's parent. We also need to make sure we suspend all in-process
windows, even if we have out-of-process frames somewhere in the parent chain.

This patch takes care of suspending timeouts and input event handling in all
of these cases. It doesn't block all potential paths for running code in the
suspended windows, though, so the next patch explicitly prevents the
problematic reentrancy.

Differential Revision: https://phabricator.services.mozilla.com/D57666
2019-12-19 19:53:14 +00:00
Mirko Brodesser
4f150bee7b Bug 1600267: part 2) Add Maybe<int32_t> nsContentUtils::ComparePoints. r=smaug
Enforces callers to handle the case when the points are incomparable.

Differential Revision: https://phabricator.services.mozilla.com/D55296
2019-12-19 13:27:23 +00:00
Mirko Brodesser
9317c60217 Bug 1600267: part 1) Rename nsContentUtils::ComparePoints to ComparePoints_Deprecated. r=smaug
In a follow-up commit a new `ComparePoints` method with cleaner
arguments and return value will be added.

Differential Revision: https://phabricator.services.mozilla.com/D55295
2019-12-19 13:27:08 +00:00
Hiroyuki Ikezoe
e16b1cf1f5 Bug 1596317 - Use CallState for nsContentUtils::CallOnAllRemoteChildren. r=smaug
`true` -> `CallState::Stop`
`false` -> `CallState::Continue`

Differential Revision: https://phabricator.services.mozilla.com/D57436
2019-12-19 07:58:27 +00:00
Hiroyuki Ikezoe
5d1059e664 Bug 1596317 - Change the function pointer argument of nsContentUtils::CallOnAllRemoteChildren to std::function. r=smaug
We are going to introduce a new function in Document in this commit series,
which enumerates all child documents regardless of whether it's in the same
process, in content processes or in out-of-process iframes. The function takes
std::functions, but I don't have any good ideas to convert lambda functions with
capturing variables to function pointer.

Differential Revision: https://phabricator.services.mozilla.com/D57434
2019-12-19 07:57:57 +00:00
Bogdan Tara
e59c8c65fb Backed out 7 changesets (bug 1596317) for causing build bustages CLOSED TREE
Backed out changeset 0d3208fcb948 (bug 1596317)
Backed out changeset fe5554dc4115 (bug 1596317)
Backed out changeset 019de59cbc93 (bug 1596317)
Backed out changeset f4851472b087 (bug 1596317)
Backed out changeset a984cf515db8 (bug 1596317)
Backed out changeset d0da5bf9b4d4 (bug 1596317)
Backed out changeset abe5f2030dd9 (bug 1596317)
2019-12-19 06:49:39 +02:00
Hiroyuki Ikezoe
412bdf8188 Bug 1596317 - Use CallState for nsContentUtils::CallOnAllRemoteChildren. r=smaug
`true` -> `CallState::Stop`
`false` -> `CallState::Continue`

Differential Revision: https://phabricator.services.mozilla.com/D57436
2019-12-19 03:36:35 +00:00
Hiroyuki Ikezoe
65d3d20f75 Bug 1596317 - Change the function pointer argument of nsContentUtils::CallOnAllRemoteChildren to std::function. r=smaug
We are going to introduce a new function in Document in this commit series,
which enumerates all child documents regardless of whether it's in the same
process, in content processes or in out-of-process iframes. The function takes
std::functions, but I don't have any good ideas to convert lambda functions with
capturing variables to function pointer.

Differential Revision: https://phabricator.services.mozilla.com/D57434
2019-12-19 03:35:59 +00:00
Mirko Brodesser
40af6be192 Bug 1587433: part 7.5) Adapt callers of RangeBoundaryBase::Offset(). r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D54495
2019-12-16 11:31:46 +00:00
Oana Pop Rus
2fa2ebf69d Backed out 7 changesets (bug 1432856) for build bustages failures in nsWindow.h on a CLOSED TREE
Backed out changeset 3d08c3cce533 (bug 1432856)
Backed out changeset 49d03dd89b17 (bug 1432856)
Backed out changeset 62fc84c8ce99 (bug 1432856)
Backed out changeset a8a4fa63f5b2 (bug 1432856)
Backed out changeset c81f3d5b9bf3 (bug 1432856)
Backed out changeset 8351a8b1d96a (bug 1432856)
Backed out changeset a303b775a51b (bug 1432856)
2019-12-16 23:53:35 +02:00
pbz
29a2e0c4e4 Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55811
2019-12-16 21:06:11 +00:00
Csoregi Natalia
fa83972cc0 Backed out 11 changesets (bug 1587433) for bustages on RangeBoundary.h. CLOSED TREE
Backed out changeset 18f8d61039b0 (bug 1587433)
Backed out changeset 69ad70a4f85e (bug 1587433)
Backed out changeset 79ec11ba7fde (bug 1587433)
Backed out changeset f8a7e23843b8 (bug 1587433)
Backed out changeset f9255884980f (bug 1587433)
Backed out changeset 50a798e664a1 (bug 1587433)
Backed out changeset b225586edea6 (bug 1587433)
Backed out changeset b1d9e55ece86 (bug 1587433)
Backed out changeset 7ebbcb2da488 (bug 1587433)
Backed out changeset 4032df295a67 (bug 1587433)
Backed out changeset 0e1577031add (bug 1587433)
2019-12-16 13:25:51 +02:00
Mirko Brodesser
bb59366536 Bug 1587433: part 7.5) Adapt callers of RangeBoundaryBase::Offset(). r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D54495
2019-12-11 12:26:10 +00:00
Emilio Cobos Álvarez
3a412cb3ee Bug 1603889 - Simplify the scrollbar preference setup. r=smaug
So much plumbing to pass an enum down.

Differential Revision: https://phabricator.services.mozilla.com/D57182
2019-12-15 22:56:23 +00:00
Emilio Cobos Álvarez
bdf1376152 Bug 1603313 - Remove some silly patterns. r=bzbarsky
foo ? true : false

or:

  foo ? false : true

Have always a nicer way to be written.

Differential Revision: https://phabricator.services.mozilla.com/D56842
2019-12-14 05:05:01 +00:00
Boris Zbarsky
8f97398a08 Bug 1602483 part 2. Add a window id argument to CheckLoadURIWithPrincipal. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D56428
2019-12-12 16:41:19 +00:00
Boris Zbarsky
fcb04b87e4 Bug 1602090 part 2. Create separate CheckMayLoad and CheckMayLoadWithReporting APIs. r=ckerschb
CheckMayLoadAndReport takes a window ID.  This allows us to report
errors from it to the web console as needed.  Most consumers know statically
whether they want reporting or not, so there's no reason to force the ones that
don't to provide window ids.

Differential Revision: https://phabricator.services.mozilla.com/D56388
2019-12-13 06:24:12 +00:00
Henri Sivonen
b33e8e6eaf Bug 1551276 - Autodetect legacy encodings on unlabeled pages. r=emk
Differential Revision: https://phabricator.services.mozilla.com/D56362
2019-12-12 17:50:19 +00:00
Ciure Andrei
2e0157c747 Backed out 4 changesets (bug 1602483, bug 1602090) for causing perma leackchecks CLOSED TREE
Backed out changeset 6b057ba06b4a (bug 1602483)
Backed out changeset 9be3269d781d (bug 1602483)
Backed out changeset e3e2c1d7478e (bug 1602090)
Backed out changeset fdc4a588912e (bug 1602090)
2019-12-12 18:37:01 +02:00
Oana Pop Rus
53a8a406db Backed out changeset 0810ad586986 (bug 1551276) for wpt failures in ar-ISO-8859-6-late.tentative.html on a CLOSED TREE 2019-12-12 16:38:54 +02:00
Boris Zbarsky
f99de7f9a0 Bug 1602483 part 2. Add a window id argument to CheckLoadURIWithPrincipal. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D56428
2019-12-12 13:05:12 +00:00