Граф коммитов

160 Коммитов

Автор SHA1 Сообщение Дата
Alastor Wu 7efc57090f Bug 1347791 - part3 : move block/resume logic from back-end to front-end. r=baku,mikedeboer
Previous design allows us calling resume/block from both front-end and back-end,
it's not easy to know who called these operations.

So move all these logic to frond-end side, it's more clear than before.

One important thing is that we should block tab before loading the content.
If we block the tab after loading, the media might not be blocked because it had
already started (that is one situation I observed from test).

The value of block state would be stored in the outer window, before media want
to start, it would check this value to know whether it can start playing or not.

---

In addition, introduce new attribute "media-blocked".

The "media-blocked" attribute indicates that whether the tab is allowed to play autoplay media.
The "activemedia-blocked" attribute indicates whether the tab has blocked the autoplay media.

MozReview-Commit-ID: FnNh3zmItxo

--HG--
extra : rebase_source : cdc890c0c47a4a03ea8dbbdfee24c66b52945c60
2017-05-17 11:56:06 +08:00
Edgar Chen 0a24632278 Bug 1354013 - Creating customized built-in elements without relevant definitions registered first shouldn't throw NotFoundError; r=wchen
per spec change: https://github.com/w3c/webcomponents/issues/608

MozReview-Commit-ID: 3W4qTndQsP7
2017-04-06 17:00:41 +08:00
Andrea Marchesini 1981f67eb3 Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader

--HG--
rename : dom/base/nsScriptElement.cpp => dom/script/ScriptElement.cpp
rename : dom/base/nsScriptElement.h => dom/script/ScriptElement.h
rename : dom/base/nsScriptLoader.cpp => dom/script/ScriptLoader.cpp
rename : dom/base/nsScriptLoader.h => dom/script/ScriptLoader.h
rename : dom/base/ScriptSettings.cpp => dom/script/ScriptSettings.cpp
rename : dom/base/ScriptSettings.h => dom/script/ScriptSettings.h
rename : dom/base/nsIScriptElement.h => dom/script/nsIScriptElement.h
rename : dom/base/nsIScriptLoaderObserver.idl => dom/script/nsIScriptLoaderObserver.idl
2017-05-08 08:24:22 +02:00
Carsten "Tomcat" Book f0d6de60d7 Backed out changeset 5d77f6b14633 (bug 1362119) for android bustage in nsCCUncollectableMarker.cpp:500:7: error: 'TraceScriptHolder' is not a member of 'mozilla'
--HG--
rename : dom/script/ScriptSettings.cpp => dom/base/ScriptSettings.cpp
rename : dom/script/ScriptSettings.h => dom/base/ScriptSettings.h
rename : dom/script/nsIScriptElement.h => dom/base/nsIScriptElement.h
rename : dom/script/nsIScriptLoaderObserver.idl => dom/base/nsIScriptLoaderObserver.idl
rename : dom/script/ScriptElement.cpp => dom/base/nsScriptElement.cpp
rename : dom/script/ScriptElement.h => dom/base/nsScriptElement.h
rename : dom/script/ScriptLoader.cpp => dom/base/nsScriptLoader.cpp
rename : dom/script/ScriptLoader.h => dom/base/nsScriptLoader.h
2017-05-08 09:54:38 +02:00
Andrea Marchesini 7a4ef797cb Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader

--HG--
rename : dom/base/nsScriptElement.cpp => dom/script/ScriptElement.cpp
rename : dom/base/nsScriptElement.h => dom/script/ScriptElement.h
rename : dom/base/nsScriptLoader.cpp => dom/script/ScriptLoader.cpp
rename : dom/base/nsScriptLoader.h => dom/script/ScriptLoader.h
rename : dom/base/ScriptSettings.cpp => dom/script/ScriptSettings.cpp
rename : dom/base/ScriptSettings.h => dom/script/ScriptSettings.h
rename : dom/base/nsIScriptElement.h => dom/script/nsIScriptElement.h
rename : dom/base/nsIScriptLoaderObserver.idl => dom/script/nsIScriptLoaderObserver.idl
2017-05-08 08:24:22 +02:00
Kirk Steuber 7fdb378650 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

--HG--
extra : rebase_source : 9c3deec6d7aafd6411044d623d4863637b45fd58
2017-04-20 12:57:48 -07:00
Iris Hsiao 93edef392b merge autoland to mozilla-central a=merge 2017-04-14 17:09:58 +08:00
Olli Pettay 66df8dc927 Bug 1355787, nsIdentifierMapEntry should let one to use either strings or atoms as keys to avoid slow string assignments when possible. r=nfroyd
--HG--
extra : rebase_source : 3e8c53462e4ed19ecaf611b7618a132d8606c0ae
2017-04-13 22:12:20 +03:00
Olli Pettay 43cc7ae337 Bug 1217436 - Make nsIdentifierMapEntry::mIdContentList an AutoTArray to save an allocation, r=nfroyd
--HG--
extra : rebase_source : f75968fac1c9c3fcd071f34ff7e3391d74e2fc32
2017-04-13 22:08:53 +03:00
Gijs Kruitbosch 3ced4320fd Bug 1320124 - don't allow privileged loads inside unprivileged loads, r=bz
MozReview-Commit-ID: 3zoknjtslHI

--HG--
extra : rebase_source : 096ba34068d6a48d54670b0bf013a886c1a327fc
2017-04-03 21:49:16 +01:00
Boris Zbarsky a71d5e3e25 Bug 1342823 part 2. Simplify the management of whether our document's frame request callbacks are scheduled. r=farre
MozReview-Commit-ID: 46oVKKbCLbn
2017-03-27 14:52:36 -04:00
Alastor Wu 7c05349889 Bug 1347758 - part2 : remove add/removeMediaContent() and related codes. r=Ehsan
Since the window would know when need to resume the media, we don't need the
add/removeMediaContent() anymore.

MozReview-Commit-ID: F9MSiqqnOiV

--HG--
extra : rebase_source : fa86b3977e13d1f2a6b6233b6d608ccc331b5bf7
2017-03-24 14:43:40 +08:00
Iris Hsiao 26a234de5d Backed out 6 changesets (bug 1347758) for eslint failure
Backed out changeset 9becd55242c1 (bug 1347758)
Backed out changeset 2abce19f5001 (bug 1347758)
Backed out changeset 80232d4c85d5 (bug 1347758)
Backed out changeset 1fd084ec34d4 (bug 1347758)
Backed out changeset cafb3c12027b (bug 1347758)
Backed out changeset 85846edfe957 (bug 1347758)
2017-03-24 16:58:08 +08:00
Alastor Wu 8591f98cad Bug 1347758 - part2 : remove add/removeMediaContent() and related codes. r=Ehsan
Since the window would know when need to resume the media, we don't need the
add/removeMediaContent() anymore.

MozReview-Commit-ID: F9MSiqqnOiV

--HG--
extra : rebase_source : 28a8312373054b8e29b93267677de99dd862a074
2017-03-24 12:01:46 +08:00
Manish Goregaokar 681045b70e Bug 1341086 - Part 2: stylo: Support all non-ts pseudos with an argument; r=emilio,heycam
MozReview-Commit-ID: IHjX2Q3k8eD

--HG--
extra : rebase_source : 57df0f0e54fd1aa1ce4b304238c7070ef9af6dd4
2017-03-16 14:10:22 -07:00
Kris Maglione 8d2a5ab915 Bug 1333990: Part 2d - Add a utility to block HTML parsing until sandbox scripts are ready. r=hsivonen,billm
In order to asynchronously load content scripts that need to run very early in
the page load cycle, before any ordinary page scripts, we need to be able to
block parsing from the document-element-inserted listener. Since the script
loader operates by returning promises, blocking on promise resolution is the
simplest way to achieve this.

MozReview-Commit-ID: CTWlyrP6dqG

--HG--
extra : rebase_source : 28ce713a6450c223f9b2089e6c6e8c78284ef8af
2017-03-16 16:47:35 -07:00
Kirk Steuber bae89898aa Bug 1345611 - Change behavior of subdocument Flash blocking to be Third-Party Flash blocking r=bsmedberg,qdot
The previous implementation regarding to the Flash Blocking Subdocument list blocked all subdocuments that matched the list. This patch changes that so that subdocuments are only blocked if they are on the Subdocument Block List and also are loaded in a Third-Party context.

The changes to cert8.db and key3.db add the https certificate for subdocument.example.com so that testing can verify that a scheme mismatch between the document and its parent results in a third-party classification.

MozReview-Commit-ID: IXnA4iPzB4y

--HG--
extra : rebase_source : 103c1e184d4219e6db9d00da1ea54674a0e216dd
2017-03-10 10:50:21 -08:00
Manish Goregaokar 7a6a00898d Bug 1329093 - Part 4: stylo: Delay SVG mapped attr resolution till later; r=bz
MozReview-Commit-ID: 2GvHPg1egjS
2017-03-09 17:46:26 -08:00
Alastor Wu 77053f1035 Bug 1338137 - part1 : ref media content when the media element bind to tree. r=baku
In bug1319771, we found that the tab would become visible unexpectly in short
period in some situations. We don't want to resume the tab in this kind of
situation, so we check whether there is any alive media component in the tab
using IsServiceStarted(). However, since we have lots different ways to create
the service, this function is not accurate at all.

Therefore, we can add media element directly to the document when it binds to
tree so that we can really know whether there is any alive media component.

MozReview-Commit-ID: FvZFg91IqgE

--HG--
extra : rebase_source : 43c2460f6e9a39d44bf2ca1638c992a0e27b196c
2017-03-04 01:14:24 +08:00
Tobias Schneider 5167bc2af8 Bug 1337936 - (intersection-observer) Revise lifetime management. r=smaug
MozReview-Commit-ID: 4pzm00igBLR

--HG--
extra : rebase_source : ad9c5581f991c392f431793fde289b8ca8245bd0
2017-02-22 10:45:13 -08:00
Carsten "Tomcat" Book a7cadef96e Merge mozilla-central to mozilla-inbound 2017-02-22 14:40:19 +01:00
Jessica Jong cf17189117 Bug 1340086 - Remove uses of AnimationsPaused() since it is always false after bug 1316330. r=mrbkap 2017-02-22 01:00:00 -05:00
Xidorn Quan 931d61c07c Bug 1340926 part 1 - Make nsDocument::IsAboutPage usable in const function. r=Ehsan
MozReview-Commit-ID: 6MYH6VAQ911

--HG--
extra : rebase_source : 1a03566da675cb585fab50efde35e7487f00ff9b
2017-02-20 12:35:15 +11:00
John Dai e80c2fec57 Bug 1338889 - Part 2: Support DOMString as Argument 3 of Document.createElementNS. r=bz 2017-02-15 00:07:00 +08:00
Kirk Steuber c1a68c2b4c Bug 1338287 - Make nsIDocument::DocumentFlashClassification accessible from privileged JS r=bz
MozReview-Commit-ID: 1II2puZMub5

--HG--
extra : rebase_source : 2b806b4f1d4e51b72799d79126c402113d5b072e
2017-02-13 13:39:40 -08:00
Cameron McCormack b2ee81223c Bug 1334735 - Part 1: Move need style/flush flags from document to pres shell. r=bz
MozReview-Commit-ID: 2Amf9yGRiJA
2017-02-10 10:42:27 +08:00
Kirk Steuber 2844b8cf52 Bug 1336714 - Added a null check to the GetParentDocument call in nsDocument::ComputeFlashClassification. Change nsDocument::GetAllowPlugins to return result rather than using unnecessary outparam. nsPluginArray::AllowPlugins changed to call the GetAllowPlugins method on the inner window's document rather than on the docshell's mContentViewer's document. r=bsmedberg,bz
MozReview-Commit-ID: Crx9v8OBKKq

--HG--
extra : rebase_source : d1c117eb7129b19c72df109f43f129aebd691b30
2017-02-06 12:47:00 -08:00
Kirk Steuber 4d0c6c3e0b Bug 1307604 - Add allow and deny lists for Flash Blocking r=bsmedberg,bz,francois
MozReview-Commit-ID: H2dgJX6Hsz7

--HG--
extra : rebase_source : 7b56241fcaf5f99b64f6ad40a9dc2676692f70d2
2016-11-22 15:01:04 -08:00
Nathan Froyd 676dfa4114 Bug 1322396 - report external resources of documents when flushing use counters in tests; r=dholbert
Our use counter tests force reporting of use counters from documents to
make the tests more deterministic: relying on the default
report-at-document-destruction behavior would introduce any number of
intermittents.  However, documents may have any number of external
resource documents, and we have no mechanism for forcing a deterministic
reporting of the use counters from those documents.  Relying on those
external resources to have been destroyed (and thereby reported their
use counters) when we examine the values of the use counters in question
is a recipe for intermittent failures.

Therefore, we introduce an optional report kind for use counter
reporting: if a document is reporting its use counters for the purposes
of a test, we will also report the use counters for the document's
external resource documents.  This change makes everything more
deterministic.
2017-01-11 09:52:23 -05:00
Phil Ringnalda d55961eb9d Backed out 2 changesets (bug 1322396) for unexpected-pass failures in browser_use_counters.js
Backed out changeset 211d8715c965 (bug 1322396)
Backed out changeset aae1f858f6de (bug 1322396)

MozReview-Commit-ID: EYvhigQ0NSO
2017-01-09 18:45:08 -08:00
Nathan Froyd 7c92b7a145 Bug 1322396 - part 1 - report external resources of documents when flushing use counters in tests; r=dholbert
Our use counter tests force reporting of use counters from documents to
make the tests more deterministic: relying on the default
report-at-document-destruction behavior would introduce any number of
intermittents.  However, documents may have any number of external
resource documents, and we have no mechanism for forcing a deterministic
reporting of the use counters from those documents.  Relying on those
external resources to have been destroyed (and thereby reported their
use counters) when we examine the values of the use counters in question
is a recipe for intermittent failures.

Therefore, we introduce an optional report kind for use counter
reporting: if a document is reporting its use counters for the purposes
of a test, we will also report the use counters for the document's
external resource documents.  This change makes everything more
deterministic.
2017-01-09 13:55:31 -05:00
Cameron McCormack babad063ff Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
Xidorn Quan 4ba2027497 Bug 1328530 - Remove useless nsHTMLDocument::CreateShell and nsDocument::doCreateShell. r=smaug
MozReview-Commit-ID: AOgjtCpNO7t

--HG--
extra : rebase_source : 933a6ca98827e6b46107dcd6f0ea521960736a47
2017-01-04 18:32:18 +11:00
Boris Zbarsky 921224f8f4 Bug 1319255 part 3. Don't create special elements for <shadow> and <content> unless webcomponents are enabled. r=wchen 2016-11-22 22:41:51 -05:00
Boris Zbarsky c892e11e49 Bug 1318117. Stop using IsCallerChrome in pointerlock API, fullscreen API, and documentURI getter. r=ehsan 2016-11-17 13:49:27 -05:00
Stone Shih 1ed10ff082 Bug 1305458 Part1: Rename nsIDOMEventTarget::PreHandleEvent to nsIDOMEventTarget::GetEventTargetParent. r=smaug
MozReview-Commit-ID: FM3vDUyLOCb

--HG--
extra : rebase_source : 5a513af84718a6d591f77437a0704984c8fc2b67
2016-10-21 10:11:07 +08:00
Matt Woodrow 9775890c70 Bug 1315581 - Notify MediaFormatReader when the compositor gets recreated. r=jya,smaug,jw_wang 2016-11-08 15:23:12 +13:00
Tobias Schneider 5b2ef3c1db Bug 1243846 - Implement Intersection Observer API. r=mrbkap, r=mstange 2016-10-28 10:24:00 -04:00
Ehsan Akhgari 1978fee9f2 Bug 1310385 - Remove support for UndoManager; r=smaug
There hasn't been any traction on this feature, and we keep
paying the maintenance and code size and memory usage penalty
of having this implementation.

We can revive this from VCS history in the future if we decide
to start working on it again.  In the mean time, it's better
to remove it.
2016-10-17 10:06:11 -04:00
John Dai 48b937b61e Bug 1309140 - Rename CustomElementsRegistry to CustomElementRegistry. r=wchen, r=smaug
MozReview-Commit-ID: 3gYTaRVcV0y

--HG--
rename : dom/base/CustomElementsRegistry.cpp => dom/base/CustomElementRegistry.cpp
rename : dom/base/CustomElementsRegistry.h => dom/base/CustomElementRegistry.h
rename : dom/webidl/CustomElementsRegistry.webidl => dom/webidl/CustomElementRegistry.webidl
2016-10-12 15:26:02 +08:00
Xidorn Quan ea2d289c2c Bug 1292432 part 9 - Change WebIDL interface of CSSStyleSheet to StyleSheet. r=heycam
MozReview-Commit-ID: 5AXhsuvvrwe

--HG--
extra : source : 218d4c72938f74f16af22239a99fbdf0e4c621cf
2016-10-14 22:25:38 +11:00
Ehsan Akhgari 75d4b96af8 Bug 1306800 - Remove support for app theming; r=myk,baku 2016-10-13 13:23:03 -04:00
Cameron McCormack 58c32a9088 Bug 1309082 - Part 1: Extract image tracking from nsDocument into a separate, refcounted object. r=bholley
This is refcounted as we'll need to hold strong references to the ImageTracker
from style structs that load images.

MozReview-Commit-ID: 994gE9tOjAn

--HG--
extra : rebase_source : 2d50059e51b42251c89a92a954cef7b49720ceba
2016-10-13 15:04:15 +08:00
Brian Birtles b813bcffe5 Bug 1302973 - Store timelines on document; r=smaug
MozReview-Commit-ID: KHtAq0VgPZW

--HG--
extra : rebase_source : 7daa2a4202f489308981e9cff02e2d7f3bf92c1e
2016-10-09 22:36:56 +09:00
Carsten "Tomcat" Book 5b45193594 merge mozilla-inbound to mozilla-central a=merge 2016-09-29 11:44:58 +02:00
Boris Zbarsky 6a6430cf38 Bug 1305580 part 1. Remove all the methods from nsIDOMXMLDocument and make it not inherit from nsIDOMDocument anymore. r=smaug
This will let us know for sure that we're being called from script in things
like nsXMLDocument::Load.
2016-09-28 15:46:44 -04:00
Wes Kocher 63caea8af6 Backed out 2 changesets (bug 1305580) for Windows svgr crashes a=backout CLOSED TREE
Backed out changeset 1124e3458403 (bug 1305580)
Backed out changeset 521286426a93 (bug 1305580)
2016-09-28 16:52:15 -07:00
Boris Zbarsky 6d5e95674f Bug 1305580 part 1. Remove all the methods from nsIDOMXMLDocument and make it not inherit from nsIDOMDocument anymore. r=smaug
This will let us know for sure that we're being called from script in things
like nsXMLDocument::Load.
2016-09-28 15:46:44 -04:00
James Cheng 48efb9caad Bug 1300654 Part1-Remove MOZ_EME from code base. r=cpearce,smaug
MozReview-Commit-ID: JboGO0w4tcE

--HG--
extra : rebase_source : abfe53f30081f74fc39c900cab48d08c7574bfec
2016-09-08 18:06:20 +08:00
Xidorn Quan 2f49a48a09 Bug 1304302 part 10 - Replace all uses of StyleSheetHandle. r=heycam
This commit is generated by the following commands with some minor
manual adjustment:

find . \( -name '*.h' -or -name '*.cpp' \) -not -path './layout/style/StyleSheet*' -exec sed -i -b \
  -e '/^\(#include\|using\)/s/StyleSheetHandle/StyleSheet/g' \
  -e 's/\(mozilla::\)\?StyleSheetHandle::RefPtr/RefPtr<\1StyleSheet>/g' \
  -e 's/StyleSheetHandle()/nullptr/g' \
  -e 's/->AsStyleSheet()//g' \
  -e 's/StyleSheetHandle/StyleSheet*/g' {} +
sed -i -b 's/sheet->AsVoidPtr()/sheet.get()/' layout/style/Loader.cpp
sed -i -b 's/AsHandle()/this/' layout/style/StyleSheet.cpp

MozReview-Commit-ID: 7abdvlKHukd

--HG--
extra : source : e5682242db07203b5a91810fe1e243c955310588
2016-09-26 22:03:25 +10:00