Issue #2490 - Part 14: Convert CSSPageRule to WebIDL.

The .style PutForwards bit is coming along for the ride here as a new feature.
This commit is contained in:
Moonchild 2024-04-03 16:47:23 +02:00 committed by roytam1
commit 74fdaed1fe
8 changed files with 34 additions and 21 deletions

View file

@ -38,6 +38,7 @@
#include "mozilla/dom/CSSMediaRuleBinding.h"
#include "mozilla/dom/CSSSupportsRuleBinding.h"
#include "mozilla/dom/CSSMozDocumentRuleBinding.h"
#include "mozilla/dom/CSSPageRuleBinding.h"
#include "StyleRule.h"
#include "nsFont.h"
#include "nsIURI.h"
@ -2606,7 +2607,6 @@ nsCSSPageRule::nsCSSPageRule(const nsCSSPageRule& aCopy)
: Rule(aCopy)
, mDeclaration(new css::Declaration(*aCopy.mDeclaration))
{
SetIsNotDOMBinding();
mDeclaration->SetOwningRule(this);
}
@ -2651,7 +2651,6 @@ nsCSSPageRule::IsCCLeaf() const
// QueryInterface implementation for nsCSSPageRule
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsCSSPageRule)
NS_INTERFACE_MAP_ENTRY(nsIDOMCSSPageRule)
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(CSSPageRule)
NS_INTERFACE_MAP_END_INHERITING(mozilla::css::Rule)
#ifdef DEBUG
@ -2696,12 +2695,18 @@ nsCSSPageRule::GetCssTextImpl(nsAString& aCssText) const
NS_IMETHODIMP
nsCSSPageRule::GetStyle(nsIDOMCSSStyleDeclaration** aStyle)
{
NS_ADDREF(*aStyle = Style());
return NS_OK;
}
nsICSSDeclaration*
nsCSSPageRule::Style()
{
if (!mDOMDeclaration) {
mDOMDeclaration = new nsCSSPageStyleDeclaration(this);
}
NS_ADDREF(*aStyle = mDOMDeclaration);
return NS_OK;
return mDOMDeclaration;
}
void
@ -2729,8 +2734,7 @@ nsCSSPageRule::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const
nsCSSPageRule::WrapObject(JSContext* aCx,
JS::Handle<JSObject*> aGivenProto)
{
NS_NOTREACHED("We called SetIsNotDOMBinding() in our constructor");
return nullptr;
return CSSPageRuleBinding::Wrap(aCx, this, aGivenProto);
}
namespace mozilla {