Commit Graph

471 Commits

Author SHA1 Message Date
Sean Feng
fbd3ec536a Bug 1377999 - Make TextNode to adapt the DOMArena changes r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D62353
2020-03-17 14:53:54 +00:00
Masayuki Nakano
76f439a6ab Bug 1609603 - Optimize the callers of DataTransfer::GetTypes() r=smaug
In C++ code, `DataTransfer::GetTypes()` are used for checking whether the
`DataTransfer` instance has specific type `DataTransferItem` or not.  Therefore,
it does not make sense to retrieve all item types nor compare some types
looking for with the retrieved item types.

This patch adds `DataTransfer::HasType()` and `DataTransfer::HasFile()` for
the current C++ users.  They don't take `CallerType` since all C++ users use
`GetTypes()` as `CallertType::System`.  And they just call a corresponding
method of `DataTransferItemList`.

Then, `DataTransferItemList` methods compares given type with every items
simply.

Note that this patch moves `DataTransfer::GetTypes()` to `DataTransferItemList`
too because new methods and `GetTypes()` should be maintained at every logic
changes.

The reason why there is no `DataTransfer::HasAnyOfTypes()` method is,
`DataTransfer.h` cannot include `DataTransferItemList.h` due to their
dependency but parameter pack requires inline methods.

Differential Revision: https://phabricator.services.mozilla.com/D60387
2020-01-20 09:46:48 +00:00
Alex Catarineu
65042da62b Bug 1581537 - Avoid several browser language leaks r=smaug
Spoof dom/dom.properties, layout/xmlparser.properties,
layout/MediaDocument.properties to en-US if needed.

Differential Revision: https://phabricator.services.mozilla.com/D46034
2019-11-04 16:56:27 +00:00
Mihai Alexandru Michis
6be7f1be0b Backed out changeset 1d87c269da8a (bug 1581537) for causing bc failures in browser_misused_characters_in_strings.js CLOSED TREE 2019-11-04 16:06:37 +02:00
Alex Catarineu
884665353f Bug 1581537 - Avoid several browser language leaks r=smaug
Spoof dom/dom.properties, layout/xmlparser.properties,
layout/MediaDocument.properties to en-US if needed.

Differential Revision: https://phabricator.services.mozilla.com/D46034
2019-11-04 11:27:59 +00:00
Andrea Marchesini
e5c5bd4530 Bug 1585284 - Use nsIGlobalObject in any Blob/File CTOR, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D49392
2019-10-21 05:33:33 +00:00
Alex Catarineu
f7985f498c Bug 1561322 - Allow spoofing strings in HTML forms r=baku,Pike
When privacy.spoof_english = 2, we should hide the user's
locale in content. So we use en-US default strings for HTML
form elements, such as a Submit button.

We also force GetLocalizedEllipsis() to always return the
ellipsis used by en-US.

Differential Revision: https://phabricator.services.mozilla.com/D35815
2019-07-24 13:22:22 +00:00
Nicholas Nethercote
c4aacd8403 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138
2019-07-26 01:10:23 +00:00
Gerald Squelart
0088545108 Bug 1474771 - Propagate NS_FRAME_IS_DIRTY to descendants when marking as dirty rather than during reflow. r=dholbert
This simplifies dealing with frames that are pushed/pulled between
continuations during reflow, allows us to avoid the complexity of the
fix to 1459937, and hopefully fixes some of the regressions from bug
1308876.

This disables the changes from bug 1459937 by commenting out a single
line in ReparentFrameInternal in nsBlockFrame.cpp, but all the added
code will be removed in the following patch.

Co-authored-by: Gerald Squelart <gsquelart@mozilla.com>
Co-authored-by: L. David Baron <dbaron@dbaron.org>

Depends on D36423

Differential Revision: https://phabricator.services.mozilla.com/D36424
2019-07-01 21:56:43 +00:00
Peter Van der Beken
6c1f25a923 Bug 1490044 - Move all prefs used in WebIDL to StaticPrefs. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D33507
2019-06-13 09:00:59 +00:00
Ting-Yu Lin
cd66f4a680 Bug 1548673 Part 4 - Fix the display macro usage in nsFileControlFrame::GetPrefISize(). r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D29749
2019-05-03 17:35:00 +00:00
Ting-Yu Lin
471b4e0e9f Bug 1548673 Part 3 - Rename nsBlockFrame's mPrefWidth to mCachedPrefISize. r=jfkthame
Like Part 2, I choose mCachedPrefISize because grid and flex container
are using it.

Differential Revision: https://phabricator.services.mozilla.com/D29748
2019-05-03 17:34:55 +00:00
Ting-Yu Lin
f97096dd6f Bug 1548673 Part 2 - Rename nsBlockFrame's mMinWidth to mCachedMinISize. r=jfkthame
Instead of renaming it to mMinISize, I choose mCachedMinISize because
both grid and flex container frames use mCachedMinISize for similar
purpose.

Differential Revision: https://phabricator.services.mozilla.com/D29747
2019-05-03 17:34:46 +00:00
Ting-Yu Lin
62fa3e0d6a Bug 1548673 Part 1 - Rename NS_INTRINSIC_WIDTH_UNKNOWN to NS_INTRINSIC_ISIZE_UNKNOWN. r=jfkthame
This patch is generated by running the following script under layout/,
and then manually delete the FIXME comment in LayoutConstants.h

  #!/bin/bash
  function rename() {
      find .\
           -type f\
           ! -path "./obj*"\
           ! -path "./.git"\
           ! -path "./.hg"\
           \( -name "*.cpp" -or\
              -name "*.h" \)\
              -exec sed -i -e "s/$1/$2/g" "{}" \;
  }
  rename NS_INTRINSIC_WIDTH_UNKNOWN NS_INTRINSIC_ISIZE_UNKNOWN

Differential Revision: https://phabricator.services.mozilla.com/D29746
2019-05-03 17:34:36 +00:00
Masayuki Nakano
ad09cbb08f Bug 1544343 - part 2: Make factory methods take mozilla::PresShell instead of nsIPresShell r=emilio
Additionally, this patch makes `nsFrame.h` stop including `nsIPresShell.h`
and makes each users include `mozilla/PresShell.h` instead.  So, this improves
rebuild performance of `nsIPresShell.h` (and `mozilla/PresShell.h` in the
future).

Note that due to `nsIFrame::PresShell()`, `mozilla::` prefix is necessary for
`PresShell` in a lot of classes which are derived from `nsIFrame` even in
`.cpp` files.

Differential Revision: https://phabricator.services.mozilla.com/D27476
2019-04-16 07:24:49 +00:00
Emilio Cobos Álvarez
76f25e9b2f Bug 505355 - Simplify focus handling for file inputs. r=smaug
This is closer to what other UAs do, it's simpler, and fixes the bug.

It looks like the complexity of multiple buttons or what not is related to
bug 1188880, which is WONTFIX. We no longer have multiple buttons in the same
file input, so this is better IMO.

Differential Revision: https://phabricator.services.mozilla.com/D26825
2019-04-10 22:52:03 +02:00
Emilio Cobos Álvarez
753b796e77 Bug 1543161 - Simplify some rules used for file inputs. r=mats
There's only one button in a file input. This used to be an
input[type="button"].

There's no point in using more specific rules or such, the regular UA rules just
work, and content can't style this button so it can't be overriden.

This should be an idempotent patch.

Differential Revision: https://phabricator.services.mozilla.com/D26753
2019-04-10 22:51:47 +02:00
Jeff Gilbert
3fdbfc4e3b Bug 1540357 - Fix implicit int conversions in dom/canvas's layout/* includes. r=dholbert
nsUnicodeProperties.h includes into ICU, which has implicit int
truncation, so quarantine this include out of problematic headers.

Depends on D25498

Differential Revision: https://phabricator.services.mozilla.com/D25499
2019-04-02 17:00:49 +00:00
Emilio Cobos Álvarez
df05b5492b Bug 1525371 - Kill ComputedStyle::mPresContext, move the pointer to the frame instead. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D18734
2019-02-07 11:15:36 +01: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
Cameron McCormack
638e13698f Bug 1512716 - Re-indent NS_QUERYFRAME macros after clang-format. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D13995
2018-12-07 20:00:18 +00: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
Masayuki Nakano
8496847b12 Bug 1504911 - part 1: Make all "input" event dispatcher in C++ use new utility method r=smaug
Currently, a lot of code dispatch "input" event and some of them dispatch
"input" event with wrong interface and/or values.  Therefore this patch
creates nsContentUtils::DispatchInputEvent() to make all of them dispatch
correct event.

Unfortunately, due to bug 1506439, we cannot set pointer to refcountable
classes of MOZ_CAN_RUN_SCRIPT method to nullptr.  Therefore, this patch
creates temporary RefPtr<TextEditor> a lot even though it makes damage to
the performance if it's in a hot path.

This patch makes eEditorInput event dispatched with
InternalEditorInputEvent when "input" event should be dispatched with
dom::InputEvent.  However, this patch uses WidgetEvent whose message is
eUnidentifiedEvent and setting WidgetEvent::mSpecifiedEventType to
nsGkAtoms::oninput when "input" event should be dispatched with
dom::Event because we need to keep that eEditorInput and
InternalEditorInputEvent are mapped each other.

Differential Revision: https://phabricator.services.mozilla.com/D12244
2018-11-21 03:59:02 +00:00
Mats Palmgren
6b3257abd5 Bug 1500530 - Make the anonymous child <label> have display:inline-block so that it applies its min-inline-size. r=jfkthame 2018-10-25 16:51:45 +02:00
Mats Palmgren
80fe323704 Bug 1495153 part 2 - Implement cropping the filename for <input type=file>. r=emilio,jfkthame 2018-10-07 10:08:45 +02:00
Mats Palmgren
753210ebae Bug 1495153 part 1 - Replace the XUL label in <input type=file> with an HTML label. r=emilio 2018-10-07 09:44:51 +02:00
Narcis Beleuzu
25c8dc3bc2 Backed out 2 changesets (bug 1495153) for causing perma failures on dynamic-max-width.html
Backed out changeset 6d95f0e0cc76 (bug 1495153)
Backed out changeset 6800eb348ebe (bug 1495153)
2018-10-07 05:14:44 +03:00
Mats Palmgren
e1164cc0da Bug 1495153 part 2 - Implement cropping the filename for <input type=file>. r=emilio,jfkthame 2018-10-06 19:31:51 +02:00
Mats Palmgren
42565a1539 Bug 1495153 part 1 - Replace the XUL label in <input type=file> with an HTML label. r=emilio 2018-10-06 19:31:51 +02:00
Zhang Junzhi
53f2fa9f5a Bug 1490611 - physical to logical name refactor: DISPLAY_*_WIDTH to DISPLAY_*_INLINE_SIZE(as well as the relevant struct in the macro contents) r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D5657
2018-09-12 12:35:47 +00:00
Andrea Marchesini
6e6375e285 Bug 1489844 - Port DOMPrefs to StaticPrefs - part 15 - dom.webkitBlink.dirPicker.enabled, r=ehsan 2018-09-10 20:36:16 +02:00
Sahil Bhosale
033431fc85 Bug 1479605 - Remove ENSURE_TRUE in nsFrame.h, and replace it with NS_ENSURE_TRUE_VOID. r=TYLin 2018-08-13 12:42:00 +03:00
Boris Zbarsky
efccea82ec Bug 1471157. Fix null-deref crash when a drop event has no DataTransfer. r=nika
https://hg.mozilla.org/mozilla-central/rev/41d99ad7144f removed a null-check
that shouldn't have been removed: the datatransfer argument might actually be
null here.
2018-06-27 12:04:26 -04:00
Jeff Gilbert
70a22b2878 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Emilio Cobos Álvarez
0348c342b8 Bug 1470930: Use enums for passing arguments for event dispatch. r=smaug
MozReview-Commit-ID: DsNuF7GAflJ
2018-06-26 18:22:06 +02:00
Emilio Cobos Álvarez
e354320a4a Revert three changesets (Bug 1451576) for causing bug 1467964 and since it's not generally sound. r=me
MozReview-Commit-ID: CZaLUNlGkX8
2018-06-12 16:52:52 -07:00
Timothy Guan-tin Chien
1552e2f9b8 Bug 1451576 - Set dir=auto on [Browse...] button of <input type=file> r=Ehsan
The label of the button comes from the UI; it's direction should be independent
of the web content directionality. As there is no access to :-moz-locale-dir()
selectors in HTML, we'll have to rely on auto-direction here.

The alternative (or, addition to the fix here) would be adding the value of
the dir attribute to HtmlForm.properties, allowing the localizers to set
the directionality explicitly. I however don't know if that's necessary.

MozReview-Commit-ID: 5NXeLtxLXVH
2018-04-17 18:04:39 +08:00
Boris Zbarsky
7cd02511ad Bug 1455055 part 3. Clean up HandleEvent implementations in layout. r=masayuki
MozReview-Commit-ID: 7Irm8aAmeIt
2018-04-20 00:49:29 -04:00
Boris Zbarsky
65759d684b Bug 1455055 part 1. Convert nsIDOMEventListener to taking an Event, not an nsIDOMEvent. r=masayuki
This does no cleanup other than what's needed to compile.  Cleanup coming up in
later patches.

MozReview-Commit-ID: 3sOnkj71n09
2018-04-20 00:49:29 -04:00
Emilio Cobos Álvarez
1d4859a89a Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez
97286b35c8 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez
1f5d8de5cc Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
Boris Zbarsky
152cd3ba6e Bug 1447098 part 1. Rename FromContent on various DOM classes to FromNode. r=mystor
MozReview-Commit-ID: 202nkbmkwfR
2018-03-21 17:39:04 -04:00
Adrian Wielgosik
03284e63fb Bug 1446515 - Remove nsIDOMFileList. r=bz
MozReview-Commit-ID: 4ab1e6NTcOB
2018-03-16 20:55:32 +01:00
Boris Zbarsky
43e343d31f Bug 1444686 part 8. Remove use of nsIDOMDataTransfer from layout/forms. r=mystor
MozReview-Commit-ID: 2MR9MVbdOPP
2018-03-13 16:24:00 -04:00
Boris Zbarsky
e0d4f437be Bug 1444686 part 6. Get rid of nsIDOMDataTransfer::GetFiles. r=mystor
MozReview-Commit-ID: 3gAWLI2DyyU
2018-03-13 16:24:00 -04:00
Boris Zbarsky
762a379561 Bug 1444686 part 1. Get rid of nsIDOMDataTransfer::Get/SetDropEffect. r=mystor
MozReview-Commit-ID: 6Kn9uuaQYI0
2018-03-13 16:23:59 -04:00
Boris Zbarsky
d220ac2a77 Bug 1436508 part 13. Remove nsIDOMMutationEvent constants. r=masayuki
MozReview-Commit-ID: Anl5QJZknJL
2018-02-09 11:17:10 -05:00
Boris Zbarsky
6b0d86d490 Bug 1434686 part 3. Use IgnoreErrors() outside of dom/. r=mystor
I left some IgnoredErrorResults for now where people warn on failure.  We could
consider adding a WarnOnError() thing or something.

MozReview-Commit-ID: L5ttZ9CGKg0
2018-02-01 14:21:14 -05:00
Boris Zbarsky
a04420f06a Bug 1432186 part 19. Remove the nsIDOMNode::*_NODE constants. r=mccr8
MozReview-Commit-ID: KvKjeKIOB9K
2018-01-29 23:10:53 -05:00