Commit Graph

46 Commits

Author SHA1 Message Date
Adrian Wielgosik
93eb294385 Bug 1460940 - Clean up most remaining C++-side uses of nsIDOMDocument. r=bz
MozReview-Commit-ID: LKRnyDPNlle
2018-05-11 19:46:15 +02:00
Boris Zbarsky
e1d4e30728 Bug 1444143 part 14. Rename nsIFrameLoader.idl to nsIFrameLoaderOwner.idl. r=mystor
MozReview-Commit-ID: 1XpEjoFLSQh
2018-03-21 22:43:17 -04:00
Boris Zbarsky
c137816cf8 Bug 1444143 part 8. Remove nsIFrameLoader::LoadFrame. r=mystor
MozReview-Commit-ID: Ackil1mtVy0
2018-03-21 22:43:16 -04:00
Nika Layzell
e5cd184550 Bug 1383876 - Part 1: Remove GroupedSHistory and Prerendering logic from C++ code, r=freesamael, r=smaug
MozReview-Commit-ID: 2aHA6NcQPGk
2018-01-12 17:52:52 -05:00
Andrew Swan
8cef91f7e3 Bug 1396399 - Clarify rules for applying activeTab permission to content scripts. r=kmag, r=bz
MozReview-Commit-ID: 9xPDX8Qk2iR
2017-11-04 21:06:20 -07:00
Kris Maglione
c2386ba786 Bug 1406278: Part 4 - Use subject principal as triggering principal in <iframe>/<frame> "src" attribute r=bz
MozReview-Commit-ID: AgxZmfRvfTR
2017-10-04 22:59:44 -07:00
Kris Maglione
5f00cf0c65 Bug 1406278: Part 1 - Pass subject principal to SetAttribute and friends. r=bz
In order to tailor certain security checks to the caller that is attempting to
load a particular piece of content, we need to be able to attach an
appropriate triggering principal to the corresponding requests. Since most
HTML content is loaded based on attribute values, that means capturing the
subject principal of the caller who sets those attributes, which means making
it available to AfterSetAttr hooks.

MozReview-Commit-ID: BMDL2Uepg0X
2017-10-09 14:33:38 -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
Kirk Steuber
6684b17554 Bug 1365092 - Move side effects of SetAttr, UnsetAttr, and ParseAttribute functions to BeforeSetAttr and AfterSetAttr r=bz
This is necessary to facilitate the transition to cloning attributes instead of reparsing them.

MozReview-Commit-ID: Gyd1tD6ldly
2017-06-07 10:28:20 -07:00
Kirk Steuber
e2ea33731f Bug 1363481 - Add the old attribute value as a parameter to Element::AfterSetAttr r=bz
In order to facilitate the movement of code with side-effects called by Element::SetAttr to Element::BeforeSetAttr and Element::AfterSetAttr, Element::AfterSetAttr should have access to the old value of the attribute. This includes information about whether there was previously a value set or not.

Accomplishing this involved passing an additional argument through functions that find and change the old attribute value in order to ensure that we can differentiate between an empty old value and an absent old value (attribute was not set).

Note that while I tried to ensure that accurate values (and their absence) are reported to Element::AfterSetAttr, I largely ignored SVG. While the old value reported for SVG values should be however accurate the value already being reported to SetAttrAndNotify was, SVG elements do not currently report unset values properly because they will never pass a null pointer to SetAttrAndNotify.

MozReview-Commit-ID: K1mha8CNFZP
2017-05-18 14:09:01 -07:00
Kirk Steuber
9386a2f3e1 Bug 1359556 - Optimize cloneNode by preinitializing attribute and child arrays r=bz
Currently, attribute and child arrays (implemented in dom/base/nsAttrAndChildArray.h) start out empty. When cloning, the array ends up being resized multiple times in order to add the attributes and children that are being cloned from the original node. This would be quicker if the array was initialized to the correct size in the first place so that resizes are not necessary.

However, preallocating space for children is only necessary when performing a deep clone. Therefore, an additional parameter is being added to the Clone, CopyInnerTo, and CloneDocHelper methods to indicate whether preallocation of children should happen. Attributes are copied either way, so that part of the array is preallocated in both cases.

MozReview-Commit-ID: 3iVezeAKXnI
2017-04-20 12:57:48 -07:00
Bobby Holley
6e1a22f635 Bug 1340333 - Eagerly compute whether a frame is really a browser. r=smaug
MozReview-Commit-ID: Gm0oYaSKpUY
2017-02-16 21:57:50 -08:00
Bobby Holley
61f116d30c Bug 1335303 - Explicitly set up the bool var cache for BrowserFramesEnabled. r=smaug 2017-02-08 17:04:47 -08:00
Bobby Holley
dbb8cff5e0 Bug 1335303 - Add a virtual method to avoid QI to nsIMozBrowserFrame. r=smaug 2017-02-08 17:04:47 -08:00
Michael Layzell
9c319f00c2 Bug 1303196 - Part 4: Merge mFrameLoader and mOpener into mFrameLoaderOrOpener, r=smaug
MozReview-Commit-ID: DuJRM5KsGhb
2016-10-27 15:53:35 -04:00
Michael Layzell
28edda560a Bug 1303196 - Part 2: Connect the DocGroup and TabGroup objects to nsGlobalWindow and nsDocument, ensuring that Opener is set early enough that it is correct, r=smaug
MozReview-Commit-ID: 3rZfLw3dXkF
2016-10-27 15:53:35 -04:00
Ehsan Akhgari
307f7072e2 Bug 1310378 - Remove support for mozwidget; r=baku 2016-10-17 13:15:36 -04:00
Boris Zbarsky
65a99191a7 Bug 1308287 part 1. Change [NeedsSubjectPrincipal] to only do the Maybe thing for interfaces that can be exposed to workers. r=baku
The idea is to not make consumers think about whether the principal exists or
not when the caller knows for sure that it does.

The substantive changes are in dom/bindings, nsHTMLDocument::SetDesignMode, and
around the CanUseStorage bits.  Everything else is pretty mechanical.
2016-10-10 21:07:48 -04:00
Andrea Marchesini
c25c38926b Bug 1306241 - Use NeedsSubjectPrincipal in dom/html/* - part 1, r=ehsan 2016-10-03 10:34:14 +02:00
J. Ryan Stinnett
5e7b672687 Bug 1242644 - HTML swapFrameLoaders. r=bz
Adds swapFrameLoaders for HTML frames.  It is also possible to swap frame
loaders between XUL and HTML frames.

MozReview-Commit-ID: 43JeiBuMcOL
2016-03-31 19:47:44 -05:00
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Xidorn Quan
c783a5c82f Bug 1187801 part 3 - Add iframe fullscreen flag and stop auto-rollback when this flag presents. r=smaug 2015-10-08 17:47:39 +11:00
Andrea Marchesini
db97457570 Bug 1113086 - AudioChannel policy in Browser API - patch 1 - BrowserElementAudioChannel, r=ehsan 2015-07-10 17:38:44 +01:00
Carsten "Tomcat" Book
4d84eb2be5 Backed out changeset bcfbdb934c37 (bug 1113086) for breaking cpp tests with timeouts in TestAudioChannelService.exe 2015-07-11 14:14:58 +02:00
Andrea Marchesini
567d09c01f Bug 1113086 - AudioChannel policy in Browser API - patch 1 - BrowserElementAudioChannel, r=ehsan 2015-07-10 21:08:43 -04:00
Xidorn Quan
a5cfa673a9 Backed out 8 changesets (bug 1113086) for build bustage
Backed out changeset a20839dfd439 (bug 1113086)
Backed out changeset 675ea719b91c (bug 1113086)
Backed out changeset cfb34138bb9f (bug 1113086)
Backed out changeset b9525c60a737 (bug 1113086)
Backed out changeset 380859ae955b (bug 1113086)
Backed out changeset 5ec088f0892f (bug 1113086)
Backed out changeset caf57ae8cbce (bug 1113086)
Backed out changeset 0fc4dec6cd81 (bug 1113086)
2015-07-11 10:55:59 +10:00
Andrea Marchesini
0294bacd27 Bug 1113086 - AudioChannel policy in Browser API - patch 1 - BrowserElementAudioChannel, r=ehsan 2015-07-10 17:38:44 +01:00
Andrew McCreight
92010d3e4c Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Robert Longson
edf9f8fd0c Bug 1108887 - Backout part 2 of bug 949435 (SVG iframe). r=bzbarsky 2015-02-11 11:20:50 +00:00
Kan-Ru Chen (陳侃如)
8863a756af Bug 1044736 - Part 2. Add nsIBrowserElementAPI.idl and implement nsBrowserElement. r=bz 2014-11-21 18:56:27 +08:00
Kan-Ru Chen (陳侃如)
2c3f23f89f Bug 1044736 - Part 1. Add BrowserElement.webidl and stub implementation. r=bz 2014-11-21 18:56:27 +08:00
Wes Kocher
c219da6c17 Backed out changeset 78aacc35b4e7 (bug 1044736) for breaking statusbar in b2g, take two a=backout 2014-11-17 22:49:39 -08:00
Wes Kocher
30086e74a0 Backed out changeset c7c9170ab299 (bug 1044736) 2014-11-17 22:44:13 -08:00
Wes Kocher
18435c6ea3 Backed out changeset d045286cff6e (original backout of 8 changesets) for not working right a=backout 2014-11-17 22:19:49 -08:00
Wes Kocher
df63c516ef Backed out 8 changesets (bug 1044736) for breaking the statusbar on b2g a=backout
Backed out changeset b1a6ecfca674 (bug 1044736)
Backed out changeset 61fc517d0336 (bug 1044736)
Backed out changeset 59a47fafaccf (bug 1044736)
Backed out changeset b3ff4ce20e67 (bug 1044736)
Backed out changeset e4f1f09f150f (bug 1044736)
Backed out changeset 8ecfc1f41ddc (bug 1044736)
Backed out changeset c7c9170ab299 (bug 1044736)
Backed out changeset 78aacc35b4e7 (bug 1044736)
2014-11-17 20:34:00 -08:00
Kan-Ru Chen (陳侃如)
4f169ae692 Bug 1044736 - Part 2. Add nsIBrowserElementAPI.idl and implement nsBrowserElement. r=bz 2014-11-12 19:27:31 +08:00
Kan-Ru Chen (陳侃如)
afb172ba6d Bug 1044736 - Part 1. Add BrowserElement.webidl and stub implementation. r=bz 2014-11-12 19:27:31 +08:00
Carsten "Tomcat" Book
66af27d596 Backed out changeset e81aa95ac8d3 (bug 1044736) to fix bustage on a CLOSED TREE 2014-11-12 08:40:14 +01:00
Carsten "Tomcat" Book
2f6cb3d69a Backed out changeset 8505276285fa (bug 1044736) 2014-11-12 08:39:41 +01:00
Carsten "Tomcat" Book
6c2b14a312 Backed out changeset 6ccbc46c33db (bug 1044736) 2014-11-12 08:39:28 +01:00
Kan-Ru Chen (陳侃如)
6d134c35cc Backed out 8 changesets (bug 1044736) r=bustage
Backed out changeset 920775ddfb85 (bug 1044736)
Backed out changeset a3604ab2b3ca (bug 1044736)
Backed out changeset fb6a60700803 (bug 1044736)
Backed out changeset 7037d2b40d39 (bug 1044736)
Backed out changeset 1b55f80e1ca6 (bug 1044736)
Backed out changeset f55ff90f2b6f (bug 1044736)
Backed out changeset 8505276285fa (bug 1044736)
Backed out changeset e81aa95ac8d3 (bug 1044736)
2014-11-12 15:10:27 +08:00
Kan-Ru Chen (陳侃如)
27c110b5aa Bug 1044736 - Part 2. Add nsIBrowserElementAPI.idl and implement nsBrowserElement. r=bz 2014-11-12 14:20:18 +08:00
Kan-Ru Chen (陳侃如)
687f27c287 Bug 1044736 - Part 1. Add BrowserElement.webidl and stub implementation. r=bz 2014-11-12 14:20:18 +08:00
Birunthan Mohanathas
86c0c5b215 Bug 946065 - Part 11: Move content/html/ to dom/ and flatten subdirectories. r=peterv 2014-10-25 20:24:55 +03:00