diff --git a/content/svg/content/src/Makefile.in b/content/svg/content/src/Makefile.in index 057970f673ce..8e42726e0986 100644 --- a/content/svg/content/src/Makefile.in +++ b/content/svg/content/src/Makefile.in @@ -91,7 +91,6 @@ include $(topsrcdir)/config/config.mk FORCE_STATIC_LIB = 1 EXPORTS = \ - nsISVGStyleValue.h \ nsISVGTextContentMetrics.h \ nsISVGValue.h \ nsISVGValueObserver.h \ diff --git a/content/svg/content/src/nsISVGStyleValue.h b/content/svg/content/src/nsISVGStyleValue.h deleted file mode 100644 index 541e2fc9711d..000000000000 --- a/content/svg/content/src/nsISVGStyleValue.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ----- BEGIN LICENSE BLOCK ----- - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Mozilla SVG project. - * - * The Initial Developer of the Original Code is - * Crocodile Clips Ltd.. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Alex Fritze (original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ----- END LICENSE BLOCK ----- */ - - -#ifndef __NS_ISVGSTYLEVALUE_H__ -#define __NS_ISVGSTYLEVALUE_H__ - -#include "nsISupports.h" - -class nsICSSStyleRule; -class nsIContent; - -// {BD099C4C-8FA5-47c4-A44E-189B5AA5DBAF} -#define NS_ISVGSTYLEVALUE_IID \ -{ 0xbd099c4c, 0x8fa5, 0x47c4, { 0xa4, 0x4e, 0x18, 0x9b, 0x5a, 0xa5, 0xdb, 0xaf } } - -class nsISVGStyleValue : public nsISupports -{ -public: - NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISVGSTYLEVALUE_IID) - - NS_IMETHOD GetStyleRule(nsIContent* aContent, nsICSSStyleRule** rule)=0; -}; - -#endif // __NS_ISVGSTYLEVALUE_H__ - diff --git a/content/svg/content/src/nsSVGStyleValue.cpp b/content/svg/content/src/nsSVGStyleValue.cpp deleted file mode 100644 index 2eb85509c1ad..000000000000 --- a/content/svg/content/src/nsSVGStyleValue.cpp +++ /dev/null @@ -1,163 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ----- BEGIN LICENSE BLOCK ----- - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Mozilla SVG project. - * - * The Initial Developer of the Original Code is - * Crocodile Clips Ltd.. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Alex Fritze (original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ----- END LICENSE BLOCK ----- */ - -#include "nsSVGValue.h" -#include "nsISVGStyleValue.h" -#include "nsSVGStyleValue.h" -#include "nsICSSStyleRule.h" -#include "nsIContent.h" -#include "nsIURI.h" -#include "nsICSSParser.h" -#include "nsIServiceManager.h" -#include "nsLayoutCID.h" - -static NS_DEFINE_CID(kCSSParserCID, NS_CSSPARSER_CID); - -class nsSVGStyleValue : public nsSVGValue, - public nsISVGStyleValue -{ -protected: - friend nsresult - NS_NewSVGStyleValue(nsISVGStyleValue** aResult); - - nsSVGStyleValue(); - -public: - NS_DECL_ISUPPORTS - - // nsISVGValue interface: - NS_IMETHOD SetValueString(const nsAString& aValue); - NS_IMETHOD GetValueString(nsAString& aValue); - - // nsISVGStyleValue interface: - NS_IMETHOD GetStyleRule(nsIContent* aContent, nsICSSStyleRule** rule); - -protected: - // Implementation helpers: - void UpdateStyleRule(nsIContent* aContent); - - nsString mValue; - nsCOMPtr mRule; // lazily cached -}; - -//---------------------------------------------------------------------- -// Implementation: - -nsresult -NS_NewSVGStyleValue(nsISVGStyleValue** aResult) -{ - NS_PRECONDITION(aResult != nsnull, "null ptr"); - if (! aResult) return NS_ERROR_NULL_POINTER; - - *aResult = (nsISVGStyleValue*) new nsSVGStyleValue(); - if(!*aResult) return NS_ERROR_OUT_OF_MEMORY; - - NS_ADDREF(*aResult); - return NS_OK; -} - -nsSVGStyleValue::nsSVGStyleValue() -{ -} - -//---------------------------------------------------------------------- -// nsISupports methods: - -NS_IMPL_ISUPPORTS2(nsSVGStyleValue, - nsISVGValue, - nsISVGStyleValue) - - -//---------------------------------------------------------------------- -// nsISVGValue methods: - -NS_IMETHODIMP -nsSVGStyleValue::SetValueString(const nsAString& aValue) -{ - WillModify(); - mValue = aValue; - mRule = nsnull; - DidModify(); - return NS_OK; -} - -NS_IMETHODIMP -nsSVGStyleValue::GetValueString(nsAString& aValue) -{ - aValue = mValue; - return NS_OK; -} - -//---------------------------------------------------------------------- -// nsISVGStyleValue interface: - -NS_IMETHODIMP -nsSVGStyleValue::GetStyleRule(nsIContent* aContent, nsICSSStyleRule** rule) -{ - if (!mRule) { - UpdateStyleRule(aContent); - } - - *rule = mRule; - NS_IF_ADDREF(*rule); - - return NS_OK; -} - -//---------------------------------------------------------------------- -// Implementation helpers: - -void -nsSVGStyleValue::UpdateStyleRule(nsIContent* aContent) -{ - - if (mValue.IsEmpty()) { - // XXX: Removing the rule. Is this sufficient? - mRule = nsnull; - return; - } - - NS_ASSERTION(aContent, "need content node for base URL"); - nsCOMPtr baseURI = aContent->GetBaseURI(); - - nsCOMPtr css = do_CreateInstance(kCSSParserCID); - NS_ASSERTION(css, "can't get a css parser"); - if (!css) return; - - css->ParseStyleAttribute(mValue, baseURI, getter_AddRefs(mRule)); -} diff --git a/content/svg/content/src/nsSVGStyleValue.h b/content/svg/content/src/nsSVGStyleValue.h deleted file mode 100644 index 902e378d57d8..000000000000 --- a/content/svg/content/src/nsSVGStyleValue.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ----- BEGIN LICENSE BLOCK ----- - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Mozilla SVG project. - * - * The Initial Developer of the Original Code is - * Crocodile Clips Ltd.. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Alex Fritze (original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ----- END LICENSE BLOCK ----- */ - - -#ifndef __NS_SVGSTYLEVALUE_H__ -#define __NS_SVGSTYLEVALUE_H__ - -class nsISVGStyleValue; - -nsresult -NS_NewSVGStyleValue(nsISVGStyleValue** aResult); - -#endif // __NS_SVGSTYLEVALUE_H__ -