Commit Graph

1690 Commits

Author SHA1 Message Date
Masayuki Nakano
d6482b24ea Bug 1524212 - Make nsContentUtils::DispatchInputEvent() update HTMLInputElement.validationMessage before dispatching "input" event r=smaug
"input" event listener may want to check HTMLInputElement.validationMessage.
However, due to moving "input" event dispatcher from
HTMLInputElement::SetUserInput() to editor, HTMLInputElement::SetValueInternal()
updates it **after** dispatching "input" event.

This patch makes nsContentUtils::DispatchInputEvent() guarantees to update
validationMessage value before dispatching every event.  On the other hand,
SetValueInternal() may be called without "input" event dispatchers.  Therefore,
it needs to keep updating validationMessage value in such cases.

Differential Revision: https://phabricator.services.mozilla.com/D19126
2019-02-08 22:17:10 +00:00
Ting-Yu Lin
14baf6ba54 Bug 1524893 - Prevent Label and Summary elements from handling click event if clicking on interactive html content. r=smaug
This patch fix label element when
1. clicking on an interactive content in the shadow tree, or
2. clicking on non-interactive content in the shadow tree, but the
   shadow root's parent is interactive.

The fix for summary element is similar to label element.

Differential Revision: https://phabricator.services.mozilla.com/D18791
2019-02-07 23:23:45 +00:00
Oana Pop Rus
87dccfaea3 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-06 12:07:13 +02:00
Liang-Heng Chen
23d19c7a1f Bug 1485266 - Use stand-ins for native colors when RFP is enabled r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D17755
2019-02-06 08:45:44 +00:00
Cosmin Sabou
7fb3466756 Backed out 8 changesets (bug 1525208) for assertion mass failures on dom/base/ThirdPartyUtil. CLOSED TREE
Backed out changeset 7a679beef53e (bug 1525208)
Backed out changeset 4a97d6a5440f (bug 1525208)
Backed out changeset 40cdbb0f3e33 (bug 1525208)
Backed out changeset 461bf050580c (bug 1525208)
Backed out changeset 529fc4945c00 (bug 1525208)
Backed out changeset 80d33523be6e (bug 1525208)
Backed out changeset 6afabd86b213 (bug 1525208)
Backed out changeset bc4389577ba8 (bug 1525208)
2019-02-05 21:04:45 +02:00
Ehsan Akhgari
a06dd6ccd0 Bug 1525208 - Part 1: Devirtualize the calls to ThirdPartyUtil in nsContentUtils::IsThirdPartyWindowOrChannel(); r=baku
Differential Revision: https://phabricator.services.mozilla.com/D18643
2019-02-05 18:11:44 +00:00
Andrea Marchesini
c693549248 Bug 1524938 - nsContentUtils::StorageAllowedForPrincipal() renamed to nsContentUtils::StorageAllowedForServiceWorker(), r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D18535
2019-02-05 09:12:11 +00:00
Dorel Luca
c294117b32 Backed out 2 changesets (bug 1524938) for Browser-chrome failures in dom/indexedDB/test/browser_private_idb.js. CLOSED TREE
Backed out changeset 9fb30b90e90d (bug 1524938)
Backed out changeset edd013998dc7 (bug 1524938)
2019-02-05 01:22:41 +02:00
Andrea Marchesini
dd2d2297e3 Bug 1524938 - nsContentUtils::StorageAllowedForPrincipal() renamed to nsContentUtils::StorageAllowedForServiceWorker(), r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D18535
2019-02-04 21:20:05 +00:00
Boris Zbarsky
6bc6a39e94 Bug 1521907 part 3. Start using CheckedUnwrapStatic/Dynamic in bindings. r=peterv
The basic idea for the changes around UnwrapObjectInternal and its callers
(UnwrapObject, UNWRAP_OBJECT, etc) is to add a parameter to the guts of the
object-unwrapping code in bindings which can be either a JSContext* or nullptr
(statically typed).  Then we test which type it is and do either a
CheckedUnwrapDynamic or CheckedUnwrapStatic.  Since the type is known at
compile time, there is no actual runtime check; the compiler just emits a call
to the right thing directly (verified by examining the assembly output on
Linux).

The rest of the changes are mostly propagating through that template parameter,
adding static asserts to make sure people don't accidentally pass nullptr while
trying to unwrap to a type that might be a WindowProxy or Location, etc.

There are also some changes to places that were calling CheckedUnwrap directly
to use either the static or dynamic version, as needed.

Differential Revision: https://phabricator.services.mozilla.com/D17883
2019-02-02 03:23:49 +00:00
Gurzau Raul
bdea746b45 Backed out 7 changesets (bug 1521907) for failing at unit/test_bug1151385.js on a CLOSED TREE.
Backed out changeset ef04359ccf0d (bug 1521907)
Backed out changeset ac1c61bf61e9 (bug 1521907)
Backed out changeset df09b7be63c5 (bug 1521907)
Backed out changeset 585fa0024d46 (bug 1521907)
Backed out changeset e593c29aaff4 (bug 1521907)
Backed out changeset ac2e180a35b6 (bug 1521907)
Backed out changeset 270b1db9ea81 (bug 1521907)
2019-02-02 00:58:16 +02:00
Boris Zbarsky
0784890d51 Bug 1521907 part 3. Start using CheckedUnwrapStatic/Dynamic in bindings. r=peterv
The basic idea for the changes around UnwrapObjectInternal and its callers
(UnwrapObject, UNWRAP_OBJECT, etc) is to add a parameter to the guts of the
object-unwrapping code in bindings which can be either a JSContext* or nullptr
(statically typed).  Then we test which type it is and do either a
CheckedUnwrapDynamic or CheckedUnwrapStatic.  Since the type is known at
compile time, there is no actual runtime check; the compiler just emits a call
to the right thing directly (verified by examining the assembly output on
Linux).

The rest of the changes are mostly propagating through that template parameter,
adding static asserts to make sure people don't accidentally pass nullptr while
trying to unwrap to a type that might be a WindowProxy or Location, etc.

There are also some changes to places that were calling CheckedUnwrap directly
to use either the static or dynamic version, as needed.

Differential Revision: https://phabricator.services.mozilla.com/D17883
2019-02-01 18:48:13 +00:00
Ciure Andrei
a92a3ebc0a Backed out 7 changesets (bug 1521907) for JSObject Wrapper.cpp bustages and failures CLOSED TREE
Backed out changeset ce3108090e77 (bug 1521907)
Backed out changeset efd05f4979f1 (bug 1521907)
Backed out changeset 2d0895148907 (bug 1521907)
Backed out changeset 192152fe986a (bug 1521907)
Backed out changeset ca65b46b0d37 (bug 1521907)
Backed out changeset b3daf5ca3d11 (bug 1521907)
Backed out changeset 1b0a09a46c70 (bug 1521907)
2019-02-01 19:38:25 +02:00
Boris Zbarsky
93f4618761 Bug 1521907 part 3. Start using CheckedUnwrapStatic/Dynamic in bindings. r=peterv
The basic idea for the changes around UnwrapObjectInternal and its callers
(UnwrapObject, UNWRAP_OBJECT, etc) is to add a parameter to the guts of the
object-unwrapping code in bindings which can be either a JSContext* or nullptr
(statically typed).  Then we test which type it is and do either a
CheckedUnwrapDynamic or CheckedUnwrapStatic.  Since the type is known at
compile time, there is no actual runtime check; the compiler just emits a call
to the right thing directly (verified by examining the assembly output on
Linux).

The rest of the changes are mostly propagating through that template parameter,
adding static asserts to make sure people don't accidentally pass nullptr while
trying to unwrap to a type that might be a WindowProxy or Location, etc.

There are also some changes to places that were calling CheckedUnwrap directly
to use either the static or dynamic version, as needed.

Differential Revision: https://phabricator.services.mozilla.com/D17883
2019-01-31 15:50:06 +00:00
Eric Faust
ede2067cf5 Bug 1520274 - Allow serving BinAST scripts with nosniff. (r=baku, r=dveditz) 2019-01-30 10:50:47 -08:00
Ehsan Akhgari
0d198f2e60 Bug 1525208 - Part 1: Devirtualize the calls to ThirdPartyUtil in nsContentUtils::IsThirdPartyWindowOrChannel(); r=baku
Differential Revision: https://phabricator.services.mozilla.com/D18643
2019-02-05 18:49:36 -05:00
Kris Maglione
8ccab89886 Bug 1478124: Part 8b - Update DocShell module to use a static component manifest. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D15040
2018-12-16 17:27:58 -08:00
Timothy Guan-tin Chien
e97d7f42aa Bug 1507895 - Part V, Remove dom.ua_widget.enabled pref r=smaug
With all the dependency removed this pref can be safely removed.

Depends on D17574

Differential Revision: https://phabricator.services.mozilla.com/D17575
2019-01-28 18:33:25 +00:00
Randell Jesup
682721b83e Bug 1522150: Add a DeferredTimers queue ahead of the normal Idle EventQueue r=froyd
* * *
Bug 1522150: Rename NS_IdleDispatch* functions since they take queue identifiers r=froyd
2019-01-26 12:18:05 -05:00
Sylvestre Ledru
6f50ec62b0 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Depends on D17388

Differential Revision: https://phabricator.services.mozilla.com/D17389
2019-01-24 08:11:00 +00:00
Andrea Marchesini
cf02f13836 Bug 1521051 - Get rid of nsICookiePermission.ACCESS_ALLOW_FIRST_PARTY_ONLY, r=johannh, r=flod 2019-01-23 19:19:19 +01:00
Andrea Marchesini
5a49424e12 Bug 1521051 - nsICookiePermission.ACCESS_LIMIT_THIRD_PARTY, r=valentin, r=johannh 2019-01-23 19:19:18 +01:00
Razvan Maries
8623470adb Backed out 2 changesets (bug 1521051) for xpcshell fails on extensions/cookie/test/unit/test_cookies_thirdparty.js. CLOSED TREE
Backed out changeset 90bb620dd870 (bug 1521051)
Backed out changeset 483fa314e45e (bug 1521051)
2019-01-23 22:09:32 +02:00
Andrea Marchesini
64b1a2db14 Bug 1515665 - StorageAccess::ePartitionedOrDeny must be used only for trackers, rehsan 2019-01-23 19:19:19 +01:00
Andrea Marchesini
24a313869c Bug 1521051 - Get rid of nsICookiePermission.ACCESS_ALLOW_FIRST_PARTY_ONLY, r=johannh, r=flod 2019-01-23 19:19:19 +01:00
Andrea Marchesini
3d962b3c1d Bug 1521051 - nsICookiePermission.ACCESS_LIMIT_THIRD_PARTY, r=valentin, r=johannh 2019-01-23 19:19:18 +01:00
Olli Pettay
cee559c583 Bug 1522084 - HighPriorityEventPendingForTopLevelDocumentBeforeContentfulPaint should return false for data documents, r=jesup 2019-01-23 16:07:21 +02:00
Ehsan Akhgari
ba1cfc6f3d Bug 1521595 - Reduce the amount of memory allocations in nsContentUtils::Get*Origin(); r=baku
Differential Revision: https://phabricator.services.mozilla.com/D17154
2019-01-22 18:02:41 +00:00
Olli Pettay
8305367222 Bug 1521603 - Add a helper method to check if the top level content document hasn't yet got first contentful paint and there is high prio event pending, r=jesup 2019-01-22 01:13:01 +02:00
Cosmin Sabou
57bb107987 Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Emilio Cobos Álvarez
2143e18c4d Bug 1521152 - Constify nsContentUtils::IsChromeDoc. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D17004
2019-01-18 19:05:31 +00:00
Matthew Noorenberghe
a1bb8d8781 Bug 1477798 - Expose whether a fieldName should be automatically persisted on getAutocompleteInfo(). r=baku
This allows us to centralize the logic about which field names are "sensitive" and shouldn't be saved in things like form history or session history.

Differential Revision: https://phabricator.services.mozilla.com/D16128
2019-01-10 18:48:39 +00:00
Ehsan Akhgari
498e2df734 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset
2019-01-18 10:16:18 +01:00
Masayuki Nakano
01fba38e28 Bug 1447239 - Implement InputEvent.inputType r=smaug
This patch implements InputType.inputType which is declared by Input Events.
The attribute has already been implemented by Chrome and Safari.  Chrome
implements Input Events Level 1, but Safari implements Input Events Level 2.
 Difference between them is only whether it supports "insertFromComposition",
"deleteByComposition" and "deleteCompositionText".  This patch makes the
level switchable with pref and takes Level 1 by default because Level 2 is
still unstable around event order with composition events.

For reducing string copy cost at dispatching "input" event, this patch
makes EditorInternalInputEvent store valid input-type as enum class,
EditorInputType and resolves it to string value when
dom::InputEvent::GetInputType() is called.  Note that the reason why
this patch names the enum class as EditorInputType is, there is InputType
enum class already for avoiding conflict the name, this appends "Editor"
prefix because "input" and "beforeinput" events are fired only when an
editor has focus.

Differential Revision: https://phabricator.services.mozilla.com/D14128
2019-01-07 10:10:57 +00:00
Ciure Andrei
212a44dc44 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-01-04 01:03:06 +02:00
Boris Zbarsky
82b1110d4e Bug 1517434 part 2. Convert existing callers of GetIsSystemPrincipal() to IsSystemPrincipal(). r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D15673
2019-01-03 20:55:38 +00:00
Tom Schuster
4742b413b9 Bug 571074 - Refactor nsContentUtils::TransferableToIPCTransferable to make error handling more obvious. r=smaug
While trying to handle a failed GetTransferData call I made some mistake, mostly because this function has incredibily
confusing control flow. I would actually assume some of its current behavior is not intentional.

For this we assume that data == nullptr <-> NS_FAILED(rv), this is probably not 100% correct, but doesn't seem to
matter in practice. (This is a change in behavior that is intentional, because we want to check return value)

If we trace the data == nullptr case through the old code, we realize that for aInSyncMessage we will just continue.
(This is because nullptr doesn't queryInterface to anything)

Differential Revision: https://phabricator.services.mozilla.com/D15572
2019-01-03 16:58:40 +00:00
Henri Sivonen
fe8c5afdcd Bug 1512758. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D14141
2018-12-20 09:15:58 +00:00
Emilio Cobos Álvarez
e461afa617 Bug 1516853 - Merge nsIDocument and nsDocument. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D15498
2018-12-31 14:10:19 +00:00
Emilio Cobos Álvarez
dc336a73ba Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Sylvestre Ledru
3ece000f7a Bug 1516555 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D15426
2018-12-28 15:48:06 +00:00
Eric Rahm
51982f512c Bug 1515821 - Remove verbose warning in IsThirdPartyWindowOrChannel. r=ehsan 2018-12-21 15:00:26 -08:00
Andrea Marchesini
ab2f923d5e Bug 1513895 - Unify PopupBlocker algorithm in 1 single file, r=smaug 2018-12-16 10:21:16 +01:00
Andrea Marchesini
5bd736a9d8 Bug 1511436 - Cleanup URL-Classifier code - part 0 - use of StaticPrefs, r=dimi 2018-12-14 12:40:16 +01:00
Olli Pettay
3863e71b88 Bug 1089326, make <button> hit testing similar to other elements which may have some content, and for click target find the common (interactive) ancestor, r=masayuki 2018-12-11 23:35:40 +02:00
Andrea Marchesini
b8e53cf46b Bug 1459264 - Allow just 1 FilePicker per event, r=smaug 2018-12-12 01:00:05 +01:00
Neil Deakin
3acf83c461 Bug 1492326, don't use QueryInterface to get nsIBrowser as it may be implemented in a custom element, r=paolo 2018-12-04 11:33:06 -05:00
Nika Layzell
d163891b1f Bug 1512085 - Don't overlap IDs between content and middleman process, r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D13763
2018-12-05 10:18:46 -05:00
Sylvestre Ledru
e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Andreea Pavel
c67e826ab6 Backed out changeset f9900ac6071c (bug 571074) for failing clipboard at browser/base/content/test/general/browser_clipboard.js on a CLOSED TREE 2018-11-30 02:30:22 +02:00