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

95 Коммитов

Автор SHA1 Сообщение Дата
Bobby Holley 9cff749db5 Bug 1454460 - Pass a bonafide nsACString to Servo. r=bz
This will allow the Rust code hold a copy-free strong reference to the string
past callstack unwind.

MozReview-Commit-ID: HCop9h2abZU
2018-04-17 16:27:08 -07:00
Xidorn Quan 3b8cc6c6ef Bug 1447828 part 4 - Remove StyleBackendType uses from Loader. r=emilio
MozReview-Commit-ID: 8DbjibZE3Dw

--HG--
extra : rebase_source : aa664ee40199b5358e304e076c8d6853e496d7a8
extra : source : 06be08613cf88b6963033929ff5ac0d82a6327b1
2018-03-29 02:33:01 +11:00
Jonathan Watt 4570211dcc Bug 1449565 - Remove the aGeckoParentRule parameter from css::Loader's InsertChildSheet and LoadChildSheet. r=emilio
--HG--
extra : source : c31de7e26809522daca72a6050cd3ab665e8f6ff
2018-03-23 17:02:35 +00:00
Emilio Cobos Álvarez f7522ae728 Bug 1447358: Unifdef the old style system code. r=jwatt
Summary:
This has been automatically generated using:

  http://dotat.at/prog/unifdef/

And:

find $OBJDIR -type f -name '*.h' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

find $OBJDIR -type f -name '*.cpp' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

MozReview-Commit-ID: I4NdKqbMXzJ

Reviewers: jwatt

Bug #: 1447358

Differential Revision: https://phabricator.services.mozilla.com/D779
2018-03-21 10:20:34 +01:00
Emilio Cobos Álvarez de099db7bd Bug 1444905: Remove scoped style support from the old style system. r=xidorn,smaug
Summary: It uses two node bits that can be better suited for something else.

Reviewers: xidorn, smaug

Bug #: 1444905

Differential Revision: https://phabricator.services.mozilla.com/D709

MozReview-Commit-ID: HIPDtHm6xpM
2018-03-13 10:26:13 +01:00
Boris Zbarsky ccac7d9846 Bug 1442126. Make sure to consistently fail a sheet load if any of its imports fail. r=bholley
This fixes a race where we would fail if and only if our last-to-complete import failed.

MozReview-Commit-ID: L33bIxlkj08
2018-03-06 14:45:27 -05:00
Bobby Holley 1c48af9d6d Bug 1438974 - Dispatch to the appropriate event target. r=smaug
MozReview-Commit-ID: 6mCk1PjStND
2018-02-28 10:43:13 -08:00
Bobby Holley 8eda59462e Bug 1438974 - Make Servo stylesheet parsing completion async by default. r=bz
MozReview-Commit-ID: GXLT5NakIop
2018-02-28 10:43:13 -08:00
Bobby Holley a584615963 Bug 1438974 - Separate synchronous stylesheet parsing into a separate path. r=bz
This will allow us to make the regular path fully asynchronous.

MozReview-Commit-ID: 6ZurtiNQPZK
2018-02-28 10:43:12 -08:00
Bobby Holley e328272882 Bug 1438974 - Separate the Gecko and Servo parsing paths in the Loader. r=bz
This will allow us to avoid touching the old style system when making
the Servo parses asynchronous, and make it easier to drop the old code
when the time comes.

MozReview-Commit-ID: 5em0PMnb5Nw
2018-02-28 10:43:11 -08:00
Bobby Holley 096338d19b Bug 1438974 - Add an explicit "being parsed" flag to SheetLoadData and remove mParsingDatas. r=bz
MozReview-Commit-ID: 69fK5VAWrbj
2018-02-28 10:43:11 -08:00
Bobby Holley 2ba333893c Bug 1441896 - Pass an explicit parent SheetLoadData for child stylesheet loads. r=bz CLOSED TREE
MozReview-Commit-ID: 7XNu42NtITm
2018-02-28 10:09:00 +02:00
Kris Maglione 1653b08073 Bug 1415352: Part 4c - Use subject principal as the triggering principal for inline <style> nodes. r=bz
This change captures the subject principal when a scripted caller sets the
textContent or innerHTML property of a <style> node, and uses it as the
triggering principal for the resulting stylesheet.

If the node contents are modified in any way other than through textContent or
innerHTML, the triggering principal is forgotten (which is an intentional
design feature).

MozReview-Commit-ID: GacZFIB5BzS

--HG--
extra : rebase_source : 04926f30b8e2831d18d3fb64b850f670f006eb85
2017-11-07 14:25:45 -08:00
Daniel Holbert 680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Kris Maglione 5fdcb5a5d2 Bug 1407056: Part 1 - Provide more consistent principal/origin URL to content policies. r=bz,ckerschb
We're currently fairly vague and inconsistent about the values we provide to
content policy implementations for requestOrigin and requestPrincipal. In some
cases they're the triggering principal, sometimes the loading principal,
sometimes the channel principal.

Our existing content policy implementations which require or expect a loading
principal currently retrieve it from the context node. Since no current
callers require the principal to be the loading principal, and some already
expect it to be the triggering principal (which there's currently no other way
to retrieve), I chose to pass the triggering principal whenever possible, but
use the loading principal to determine the origin URL.

As a follow-up, I'd like to change the nsIContentPolicy interface to
explicitly receive loading and triggering principals, or possibly just
LoadInfo instances, rather than poorly-defined request
origin/principal/context args. But since that may cause trouble for
comm-central, I'd rather not do it as part of this bug.

MozReview-Commit-ID: LqD9GxdzMte

--HG--
extra : rebase_source : 41ce439912ae7b895e0a3b0e660fa6ba571eb50f
2017-10-12 15:43:55 -07:00
Kris Maglione 9c145b38f6 Bug 1406278: Part 8b - Use subject principal as triggering principal in style <link> "href" attribute. r=bz
MozReview-Commit-ID: LWMkBcB4WIg

--HG--
extra : rebase_source : fa2daf25c58190cee7e55798347d4eaffa0d5250
extra : histedit_source : f2887c9e53c572aa5e675600cd1aeb6c5a72becc%2Ce7a84ac505319ca24e65c73a4df13014a0a0cdc0
2017-10-05 19:40:48 -07:00
Henri Sivonen 3c8567b60d Bug 1354989 - Avoid pivoting via UTF-16 when loading CSS in the Stylo mode. r=jdm,SimonSapin
MozReview-Commit-ID: Llt29dvB4Io

--HG--
extra : rebase_source : 3ae51dc8beff3fb19e9318a6c7c30c9ab08a5b57
2017-08-29 16:01:42 +03:00
Thomas Nguyen 33fb4a1505 Bug 1384493 - LoadStyleLink and LoadInlineStyle should use correct referrer policy. r=heycam
If the link element has referrerpolicy attribute, we should use policy in the
attribute with higher priority

MozReview-Commit-ID: GZZeRaoxPUw
2017-08-15 00:05:00 -04:00
Emilio Cobos Álvarez f16a67fdd4 Bug 1372041: Refactor a bunch of stuff so link rel="media" is honored. r=heycam
This still leaves one annoying refactoring of @import so we also fix it for
them.

MozReview-Commit-ID: 4s0WExDEH75
2017-07-02 17:19:07 +02:00
KuoE0 1ef85c4cf5 Bug 1367984 - Refactor LoaderReusableStyleSheets to accept StyleSheet to support both of CSSStyleSheet and ServoStyleSheet. r=heycam
MozReview-Commit-ID: 8scCs4avrCf

--HG--
extra : rebase_source : 19e928838c48211ed9deff7c2d8870dc770e4459
2017-05-15 15:55:08 +08:00
Emilio Cobos Álvarez c0d9b6a9d7 Bug 1325878: Use dom::MediaList in the CSS Loader. r=xidorn
MozReview-Commit-ID: 8KcKYrkk3jI
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-04-13 00:30:05 +08:00
Xidorn Quan e0f34c4221 Bug 1352763 part 2 - Pass borrowed child stylesheet to Gecko for loading rather than the import rule. r=emilio
This is necessary because if we pass in the import rule, we would need
to invoke Servo_ImportRule_GetSheet to get the child sheet. However,
Servo_ImportRule_GetSheet tries to lock the global rwlock with read
access, while Servo_CssRules_InsertRule has already locked the same
rwlock with write access for the CSSOM case.

Since the import rule itself is never needed in the code path, it is
easier to just pass in the child stylesheet.

MozReview-Commit-ID: 4njNyGniPIm

--HG--
extra : rebase_source : ad88929713fdc5a581addc044094fa8130125121
2017-04-03 16:18:49 +10:00
Kris Maglione dabd327027 Bug 1348442: Part 1 - Allow loading preloaded stylesheets asynchronously. r=heycam
These changes allow us to asynchronously load pre-loaded stylesheets, in a way
that's similar to ChromeUtils.compileScript. The new method returns a Promise
which resolves to the preloaded sheet once it's finished loading.

This will allow us to remove the last remaining use of synchronous channels in
moz-extension: URLs.

MozReview-Commit-ID: 7J52ff93YKT

--HG--
extra : rebase_source : 20fa013cdc7f5fbedb5ce671ede17765a2abbac2
2017-03-19 19:33:49 -07:00
Ting-Yu Lin f087300185 Bug 1338446 Part 3 - Label SheetLoadData in Loader::PostLoadEvent. r=heycam
When constructing a Loader without passing a document, we added a DocGroup
parameter so that we could still use it to dispatch events to the DocGroup.

Delete NS_ENSURE_TRUE because new() is infallable.

Use another runnable pointer for calling dispatching because forget() will
nuke the pointer and we need to use evt afterwards.

MozReview-Commit-ID: Ce2K6j4pUhA

--HG--
extra : rebase_source : 2bacf1f856e0700f36b2fefe4d2424719cad77a7
2017-03-13 17:00:57 +08:00
Cameron McCormack e1710ec7c9 Bug 1290209 - Part 7: Rename an argument. r=xidorn
MozReview-Commit-ID: DQ3gTkgnDR2
2017-01-06 15:05:24 +08:00
Thomas Nguyen 0aaea58b69 Bug 1304623 - Create a pref to control the default referrer policy - part 3. r=bkelly
MozReview-Commit-ID: 1A6IHPeNYBQ
2017-01-05 11:29:56 +08:00
Emilio Cobos Álvarez f5651bd75d Bug 1304792: Use borrowed types for ServoImportRule. r=Manishearth r=heycam
MozReview-Commit-ID: HKjsOaE2qAp
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2016-12-30 16:30:42 +01:00
Emilio Cobos Álvarez a25a3083ce Bug 1304792: stylo: Implement @import. r=heycam
MozReview-Commit-ID: Hw1V66JxIBD
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2016-12-30 16:30:41 +01: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
Xidorn Quan 1dc2955ab8 Bug 1304302 part 8 - Change include of {CSS,Servo}StyleSheet.h to StyleSheetInlines.h. r=heycam
It is a preparation for later patch which moves functions from those
classes into StyleSheet. Some of the functions are better defined in
StyleSheetInlines.h.

This commit is generated by the following command:

find . \( -name '*.h' -or -name '*.cpp' \) -not -name '*StyleSheet*' -exec sed -i -b \
  -e '/^#include/ s_/\(CSS\|Servo\)StyleSheet\.h_/StyleSheetInlines.h_' \
  -e '1,\_^#include "mozilla/StyleSheetInlines.h"_ ! { \_^#include "mozilla/StyleSheetInlines.h"_d }' {} +

MozReview-Commit-ID: 54H5x27Pmso

--HG--
extra : source : e4fe253a8f82c3c58e5191d6af66fb0e85f2df19
2016-09-26 22:03:25 +10:00
Tom Tung 78670a91d5 Bug 1187335 - P2 - Modify the way to report to console for worker and use LoadTainting to decide CORS or not. r=bkelly. r=francois. 2016-09-08 09:59:40 +08:00
Bobby Holley 19f8c5faa5 Bug 1291390 - Make parsing mode an immutable property of the StyleSheet. r=heycam 2016-08-03 10:26:14 -07:00
Cameron McCormack acd21d26c0 Bug 1285474: Decide style system backend type for documents earlier. r=bholley
MozReview-Commit-ID: 7A4t3957CWe
2016-07-12 00:33:57 -07:00
Cameron McCormack 3633214b94 Bug 1250379 - Create css::Loaders for specific style backend types. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack 0ecd5593cc Bug 1244074 - Part 4: Use StyleSheetHandle instead of concrete style sheet class in most places. r=dholbert 2016-02-24 18:01:12 +11:00
Christoph Kerschbaumer c53a2ff8b7 Bug 1195173 - Apply CSP to preloaded styles within layout/style/Loader.cpp (r=bz) 2016-02-02 20:35:30 -08:00
Christoph Kerschbaumer de9089189c Bug 1195173 - Use channel->ascynOpen2 layout/style/Loader.cpp (r=bz) 2016-02-02 20:35:02 -08:00
Birunthan Mohanathas d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas 373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Cameron McCormack 3b1d48a397 Bug 1243912 - Remove unused Loader::RemoveEntriesWithURI declaration. r=njn 2016-01-29 10:16:05 +11:00
Sebastian Hengst 9969f938e7 Backed out 4 changesets (bug 1195173) for webtest failures. r=oranges on a CLOSED TREE
Backed out changeset 92b7c3c6e875 (bug 1195173)
Backed out changeset d026d6f185ab (bug 1195173)
Backed out changeset 3b51d7bae8e4 (bug 1195173)
Backed out changeset a75bb8d083e8 (bug 1195173)
2016-01-27 20:24:52 +01:00
Christoph Kerschbaumer 14dd5d55e6 Bug 1195173 - Apply CSP to preloaded styles within layout/style/Loader.cpp (r=bz) 2016-01-26 15:31:19 -08:00
Christoph Kerschbaumer 97f2fa23ac Bug 1195173 - Use channel->ascynOpen2 layout/style/Loader.cpp (r=bz) 2016-01-26 15:30:47 -08:00
Tom Tromey 279d6ac586 Bug 1230491 - add CSSStyleSheet::parsingMode; r=heycam,bz 2016-01-12 09:50:43 -07:00
Nathan Froyd 01583602a9 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

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Zack Weinberg 9b82cb1584 Bug 1035091 part 1: change CSS parser and loader APIs to distinguish UA, user, and author sheets instead of just UA vs everyone else. r=heycam
--HG--
extra : rebase_source : a8a5a27db01306d1de58974ebb4d06d29d4b72b0
2015-10-13 17:43:16 -04:00
Tom Tromey c3e2a29d05 Bug 1202095 - re-use @imported style sheets from inIDOMUtils.parseStyleSheet. r=heycam 2015-09-18 07:27:00 +02:00
Christoph Kerschbaumer c1259a401c Bug 1048048 - add preload content policy types for stylesheets (r=cam)
--HG--
extra : source : 6a727c40eb68d4b84d64d1e173b7401a982fda23
2015-09-20 14:56:10 -07:00
Wes Kocher cd079d2bf9 Backed out 7 changesets (bug 1048048) for android crashes in various chunks CLOSED TREE
Backed out changeset b5abe23a4ea5 (bug 1048048)
Backed out changeset 4f91b10e8be0 (bug 1048048)
Backed out changeset 450d4a13c90e (bug 1048048)
Backed out changeset 6a727c40eb68 (bug 1048048)
Backed out changeset 88c2333ff745 (bug 1048048)
Backed out changeset 740ab1ecd079 (bug 1048048)
Backed out changeset 02c6d6aef163 (bug 1048048)
2015-09-21 09:08:34 -07:00