bug 821593 - add webidl api to RGBColor and store its members as nsROCSSPrimitiveValue* not nsIDOMCSSPrimitiveValue* r=bz

This commit is contained in:
Trevor Saunders 2012-10-20 14:04:36 -04:00
parent 73579d7d88
commit 6316ea3cdf
2 changed files with 33 additions and 14 deletions

View File

@ -10,12 +10,13 @@
#include "nsIDOMCSSPrimitiveValue.h"
#include "nsDOMCSSRGBColor.h"
#include "nsContentUtils.h"
#include "nsROCSSPrimitiveValue.h"
#include "nsDOMClassInfoID.h"
nsDOMCSSRGBColor::nsDOMCSSRGBColor(nsIDOMCSSPrimitiveValue* aRed,
nsIDOMCSSPrimitiveValue* aGreen,
nsIDOMCSSPrimitiveValue* aBlue,
nsIDOMCSSPrimitiveValue* aAlpha,
nsDOMCSSRGBColor::nsDOMCSSRGBColor(nsROCSSPrimitiveValue* aRed,
nsROCSSPrimitiveValue* aGreen,
nsROCSSPrimitiveValue* aBlue,
nsROCSSPrimitiveValue* aAlpha,
bool aHasAlpha)
: mRed(aRed), mGreen(aGreen), mBlue(aBlue), mAlpha(aAlpha)
, mHasAlpha(aHasAlpha)

View File

@ -8,18 +8,18 @@
#ifndef nsDOMCSSRGBColor_h__
#define nsDOMCSSRGBColor_h__
#include "nsAutoPtr.h"
#include "nsISupports.h"
#include "nsIDOMNSRGBAColor.h"
#include "nsCOMPtr.h"
class nsIDOMCSSPrimitiveValue;
class nsROCSSPrimitiveValue;
class nsDOMCSSRGBColor : public nsIDOMNSRGBAColor {
public:
nsDOMCSSRGBColor(nsIDOMCSSPrimitiveValue* aRed,
nsIDOMCSSPrimitiveValue* aGreen,
nsIDOMCSSPrimitiveValue* aBlue,
nsIDOMCSSPrimitiveValue* aAlpha,
nsDOMCSSRGBColor(nsROCSSPrimitiveValue* aRed,
nsROCSSPrimitiveValue* aGreen,
nsROCSSPrimitiveValue* aBlue,
nsROCSSPrimitiveValue* aAlpha,
bool aHasAlpha);
virtual ~nsDOMCSSRGBColor(void);
@ -30,11 +30,29 @@ public:
bool HasAlpha() const { return mHasAlpha; }
// RGBColor webidl interface
nsROCSSPrimitiveValue* Red() const
{
return mRed;
}
nsROCSSPrimitiveValue* Green() const
{
return mGreen;
}
nsROCSSPrimitiveValue* Blue() const
{
return mBlue;
}
nsROCSSPrimitiveValue* Alpha() const
{
return mAlpha;
}
private:
nsCOMPtr<nsIDOMCSSPrimitiveValue> mRed;
nsCOMPtr<nsIDOMCSSPrimitiveValue> mGreen;
nsCOMPtr<nsIDOMCSSPrimitiveValue> mBlue;
nsCOMPtr<nsIDOMCSSPrimitiveValue> mAlpha;
nsRefPtr<nsROCSSPrimitiveValue> mRed;
nsRefPtr<nsROCSSPrimitiveValue> mGreen;
nsRefPtr<nsROCSSPrimitiveValue> mBlue;
nsRefPtr<nsROCSSPrimitiveValue> mAlpha;
bool mHasAlpha;
};