Bug 1447828 part 3 - Remove StyleBackendType uses from MediaList. r?emilio draft
authorXidorn Quan <me@upsuper.org>
Wed, 28 Mar 2018 16:36:54 +1100
changeset 773743 2f443463446897080b85ac0da5b7a9ea6ccc9de2
parent 773742 4972e279ef76127e4898874478fcbd75c9631d76
child 773744 06be08613cf88b6963033929ff5ac0d82a6327b1
push id104288
push userxquan@mozilla.com
push dateWed, 28 Mar 2018 11:04:19 +0000
reviewersemilio
bugs1447828
milestone61.0a1
Bug 1447828 part 3 - Remove StyleBackendType uses from MediaList. r?emilio MozReview-Commit-ID: 9sG73iLeBw4
dom/base/nsStyleLinkElement.cpp
dom/html/HTMLSourceElement.cpp
layout/style/Loader.cpp
layout/style/MediaList.cpp
layout/style/MediaList.h
layout/style/MediaQueryList.cpp
layout/style/StyleSheet.cpp
--- a/dom/base/nsStyleLinkElement.cpp
+++ b/dom/base/nsStyleLinkElement.cpp
@@ -219,18 +219,17 @@ nsStyleLinkElement::CheckPreloadAttrs(co
 {
   nsContentPolicyType policyType = Link::AsValueToContentPolicy(aAs);
   if (policyType == nsIContentPolicy::TYPE_INVALID) {
     return false;
   }
 
   // Check if media attribute is valid.
   if (!aMedia.IsEmpty()) {
-    RefPtr<MediaList> mediaList = MediaList::Create(aDocument->GetStyleBackendType(),
-                                                    aMedia);
+    RefPtr<MediaList> mediaList = MediaList::Create(aMedia);
     nsPresContext* presContext = aDocument->GetPresContext();
     if (!presContext) {
       return false;
     }
     if (!mediaList->Matches(presContext)) {
       return false;
     }
   }
--- a/dom/html/HTMLSourceElement.cpp
+++ b/dom/html/HTMLSourceElement.cpp
@@ -56,31 +56,30 @@ HTMLSourceElement::WouldMatchMediaForDoc
                                               const nsIDocument *aDocument)
 {
   if (aMedia.IsEmpty()) {
     return true;
   }
 
   nsPresContext* pctx = aDocument->GetPresContext();
 
-  RefPtr<MediaList> mediaList =
-    MediaList::Create(aDocument->GetStyleBackendType(), aMedia);
+  RefPtr<MediaList> mediaList = MediaList::Create(aMedia);
   return pctx && mediaList->Matches(pctx);
 }
 
 void
 HTMLSourceElement::UpdateMediaList(const nsAttrValue* aValue)
 {
   mMediaList = nullptr;
   nsString mediaStr;
   if (!aValue || (mediaStr = aValue->GetStringValue()).IsEmpty()) {
     return;
   }
 
-  mMediaList = MediaList::Create(OwnerDoc()->GetStyleBackendType(), mediaStr);
+  mMediaList = MediaList::Create(mediaStr);
 }
 
 nsresult
 HTMLSourceElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
                                 const nsAttrValue* aValue,
                                 const nsAttrValue* aOldValue,
                                 nsIPrincipal* aMaybeScriptedPrincipal,
                                 bool aNotify)
--- a/layout/style/Loader.cpp
+++ b/layout/style/Loader.cpp
@@ -1090,17 +1090,17 @@ Loader::PrepareSheet(StyleSheet* aSheet,
 {
   NS_PRECONDITION(aSheet, "Must have a sheet!");
 
   RefPtr<MediaList> mediaList(aMediaList);
 
   if (!aMediaString.IsEmpty()) {
     NS_ASSERTION(!aMediaList,
                  "must not provide both aMediaString and aMediaList");
-    mediaList = MediaList::Create(GetStyleBackendType(), aMediaString);
+    mediaList = MediaList::Create(aMediaString);
   }
 
   aSheet->SetMedia(mediaList);
 
   aSheet->SetTitle(aTitle);
   aSheet->SetEnabled(!aIsAlternate);
 }
 
--- a/layout/style/MediaList.cpp
+++ b/layout/style/MediaList.cpp
@@ -65,27 +65,20 @@ MediaList::DoMediaChange(Func aCallback)
     // meaningful here.
     mStyleSheet->RuleChanged(nullptr);
   }
 
   return rv;
 }
 
 /* static */ already_AddRefed<MediaList>
-MediaList::Create(
-    StyleBackendType aBackendType,
-    const nsAString& aMedia,
-    CallerType aCallerType)
+MediaList::Create(const nsAString& aMedia, CallerType aCallerType)
 {
-  if (aBackendType == StyleBackendType::Servo) {
-    RefPtr<ServoMediaList> mediaList = new ServoMediaList(aMedia, aCallerType);
-    return mediaList.forget();
-  }
-
-  MOZ_CRASH("old style system disabled");
+  RefPtr<ServoMediaList> mediaList = new ServoMediaList(aMedia, aCallerType);
+  return mediaList.forget();
 }
 
 void
 MediaList::GetMediaText(nsAString& aMediaText)
 {
   GetText(aMediaText);
 }
 
--- a/layout/style/MediaList.h
+++ b/layout/style/MediaList.h
@@ -7,17 +7,16 @@
 /* base class for representation of media lists */
 
 #ifndef mozilla_dom_MediaList_h
 #define mozilla_dom_MediaList_h
 
 #include "mozilla/dom/BindingDeclarations.h"
 #include "mozilla/ErrorResult.h"
 #include "mozilla/ServoUtils.h"
-#include "mozilla/StyleBackendType.h"
 
 #include "nsWrapperCache.h"
 
 class nsIDocument;
 class nsPresContext;
 class nsMediaQueryResultCacheKey;
 
 namespace mozilla {
@@ -35,21 +34,17 @@ namespace dom {
 
 class MediaList : public nsISupports
                 , public nsWrapperCache
 {
 public:
   NS_DECL_CYCLE_COLLECTING_ISUPPORTS
   NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(MediaList)
 
-  /**
-   * Creates a MediaList backed by the given StyleBackendType.
-   */
-  static already_AddRefed<MediaList> Create(StyleBackendType,
-                                            const nsAString& aMedia,
+  static already_AddRefed<MediaList> Create(const nsAString& aMedia,
                                             CallerType aCallerType =
                                               CallerType::NonSystem);
 
   virtual already_AddRefed<MediaList> Clone() = 0;
 
   JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) final;
   nsISupports* GetParentObject() const { return nullptr; }
 
--- a/layout/style/MediaQueryList.cpp
+++ b/layout/style/MediaQueryList.cpp
@@ -22,20 +22,17 @@ namespace dom {
 
 MediaQueryList::MediaQueryList(nsIDocument* aDocument,
                                const nsAString& aMediaQueryList,
                                CallerType aCallerType)
   : mDocument(aDocument)
   , mMatches(false)
   , mMatchesValid(false)
 {
-  mMediaList =
-    MediaList::Create(aDocument->GetStyleBackendType(),
-                      aMediaQueryList,
-                      aCallerType);
+  mMediaList = MediaList::Create(aMediaQueryList, aCallerType);
 
   KeepAliveIfHasListenersFor(ONCHANGE_STRING);
 }
 
 MediaQueryList::~MediaQueryList()
 {}
 
 NS_IMPL_CYCLE_COLLECTION_CLASS(MediaQueryList)
--- a/layout/style/StyleSheet.cpp
+++ b/layout/style/StyleSheet.cpp
@@ -855,17 +855,17 @@ StyleSheet::DropMedia()
     mMedia = nullptr;
   }
 }
 
 dom::MediaList*
 StyleSheet::Media()
 {
   if (!mMedia) {
-    mMedia = dom::MediaList::Create(mType, nsString());
+    mMedia = dom::MediaList::Create(nsString());
     mMedia->SetStyleSheet(this);
   }
 
   return mMedia;
 }
 
 // nsWrapperCache