mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 20:35:50 +00:00
add S/GetLineBreaker to nsIDocument.h. Reviewed by kipp and waterson
This commit is contained in:
parent
a8d0ce0e89
commit
02b8de88ba
@ -50,6 +50,7 @@ class nsXIFConverter;
|
||||
class nsINameSpaceManager;
|
||||
class nsIDOMSelection;
|
||||
class nsIDOMDocumentFragment;
|
||||
class nsILineBreaker;
|
||||
|
||||
// IID for the nsIDocument interface
|
||||
#define NS_IDOCUMENT_IID \
|
||||
@ -111,6 +112,12 @@ public:
|
||||
virtual nsString* GetDocumentCharacterSet() const = 0;
|
||||
virtual void SetDocumentCharacterSet(nsString* aCharSetID) = 0;
|
||||
|
||||
/**
|
||||
* Return the Line Breaker for the document
|
||||
*/
|
||||
NS_IMETHOD GetLineBreaker(nsILineBreaker** aResult) = 0;
|
||||
NS_IMETHOD SetLineBreaker(nsILineBreaker* aLineBreaker) = 0;
|
||||
|
||||
/**
|
||||
* Access HTTP header data (this may also get set from other sources, like
|
||||
* HTML META tags).
|
||||
|
@ -95,6 +95,12 @@ static NS_DEFINE_IID(kIEnumeratorIID, NS_IENUMERATOR_IID);
|
||||
static NS_DEFINE_IID(kIDOMScriptObjectFactoryIID, NS_IDOM_SCRIPT_OBJECT_FACTORY_IID);
|
||||
static NS_DEFINE_IID(kDOMScriptObjectFactoryCID, NS_DOM_SCRIPT_OBJECT_FACTORY_CID);
|
||||
|
||||
|
||||
#include "nsILineBreakerFactory.h"
|
||||
#include "nsLWBrkCIID.h"
|
||||
static NS_DEFINE_IID(kLWBrkCID, NS_LWBRK_CID);
|
||||
static NS_DEFINE_IID(kILineBreakerFactoryIID, NS_ILINEBREAKERFACTORY_IID);
|
||||
|
||||
class nsDOMStyleSheetCollection : public nsIDOMStyleSheetCollection,
|
||||
public nsIScriptObjectOwner,
|
||||
public nsIDocumentObserver
|
||||
@ -561,6 +567,7 @@ nsDocument::nsDocument()
|
||||
mDOMStyleSheets = nsnull;
|
||||
mNameSpaceManager = nsnull;
|
||||
mHeaderData = nsnull;
|
||||
mLineBreaker = nsnull;
|
||||
|
||||
Init();/* XXX */
|
||||
}
|
||||
@ -614,6 +621,7 @@ nsDocument::~nsDocument()
|
||||
delete mHeaderData;
|
||||
mHeaderData = nsnull;
|
||||
}
|
||||
NS_IF_RELEASE(mLineBreaker);
|
||||
}
|
||||
|
||||
nsresult nsDocument::QueryInterface(REFNSIID aIID, void** aInstancePtr)
|
||||
@ -803,6 +811,37 @@ void nsDocument::SetDocumentCharacterSet(nsString* aCharSetID)
|
||||
mCharacterSet = aCharSetID;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsDocument::GetLineBreaker(nsILineBreaker** aResult)
|
||||
{
|
||||
if(nsnull == mLineBreaker ) {
|
||||
// no line breaker, find a default one
|
||||
nsILineBreakerFactory *lf;
|
||||
nsresult result;
|
||||
result = nsServiceManager::GetService(kLWBrkCID,
|
||||
kILineBreakerFactoryIID,
|
||||
(nsISupports **)&lf);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
nsILineBreaker *lb = nsnull ;
|
||||
nsAutoString lbarg("");
|
||||
result = lf->GetBreaker(lbarg, &lb);
|
||||
if(NS_SUCCEEDED(result)) {
|
||||
mLineBreaker = lb;
|
||||
}
|
||||
result = nsServiceManager::ReleaseService(kLWBrkCID, lf);
|
||||
}
|
||||
}
|
||||
*aResult = mLineBreaker;
|
||||
NS_IF_ADDREF(mLineBreaker);
|
||||
return NS_OK; // XXX we should do error handling here
|
||||
}
|
||||
NS_IMETHODIMP nsDocument::SetLineBreaker(nsILineBreaker* aLineBreaker)
|
||||
{
|
||||
NS_IF_RELEASE(mLineBreaker);
|
||||
mLineBreaker = aLineBreaker;
|
||||
NS_IF_ADDREF(mLineBreaker);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocument::GetHeaderData(nsIAtom* aHeaderField, nsString& aData) const
|
||||
{
|
||||
|
@ -121,6 +121,12 @@ public:
|
||||
virtual nsString* GetDocumentCharacterSet() const;
|
||||
virtual void SetDocumentCharacterSet(nsString* aCharSetID);
|
||||
|
||||
/**
|
||||
* Return the Line Breaker for the document
|
||||
*/
|
||||
NS_IMETHOD GetLineBreaker(nsILineBreaker** aResult) ;
|
||||
NS_IMETHOD SetLineBreaker(nsILineBreaker* aLineBreaker) ;
|
||||
|
||||
/**
|
||||
* Access HTTP header data (this may also get set from other sources, like
|
||||
* HTML META tags).
|
||||
@ -362,6 +368,7 @@ protected:
|
||||
nsDOMStyleSheetCollection *mDOMStyleSheets;
|
||||
nsINameSpaceManager* mNameSpaceManager;
|
||||
nsDocHeaderData* mHeaderData;
|
||||
nsILineBreaker* mLineBreaker;
|
||||
};
|
||||
|
||||
#endif /* nsDocument_h___ */
|
||||
|
@ -83,6 +83,9 @@
|
||||
#include "plstr.h"
|
||||
#include "rdfutil.h"
|
||||
|
||||
|
||||
#include "nsILineBreakerFactory.h"
|
||||
#include "nsLWBrkCIID.h"
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static NS_DEFINE_IID(kICSSParserIID, NS_ICSS_PARSER_IID); // XXX grr..
|
||||
@ -128,6 +131,9 @@ static NS_DEFINE_CID(kWellFormedDTDCID, NS_WELLFORMEDDTD_CID);
|
||||
static NS_DEFINE_CID(kXULContentSinkCID, NS_XULCONTENTSINK_CID);
|
||||
static NS_DEFINE_CID(kXULDataSourceCID, NS_XULDATASOURCE_CID);
|
||||
|
||||
static NS_DEFINE_IID(kLWBrkCID, NS_LWBRK_CID);
|
||||
static NS_DEFINE_IID(kILineBreakerFactoryIID, NS_ILINEBREAKERFACTORY_IID);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
enum nsContentType {
|
||||
@ -334,6 +340,9 @@ public:
|
||||
|
||||
virtual void SetDocumentCharacterSet(nsString* aCharSetID);
|
||||
|
||||
NS_IMETHOD GetLineBreaker(nsILineBreaker** aResult) ;
|
||||
NS_IMETHOD SetLineBreaker(nsILineBreaker* aLineBreaker) ;
|
||||
|
||||
NS_IMETHOD GetHeaderData(nsIAtom* aHeaderField, nsString& aData) const;
|
||||
NS_IMETHOD SetHeaderData(nsIAtom* aheaderField, const nsString& aData);
|
||||
|
||||
@ -591,6 +600,7 @@ protected:
|
||||
nsIRDFDataSource* mLocalDataSource;
|
||||
nsIRDFDataSource* mDocumentDataSource;
|
||||
nsIParser* mParser;
|
||||
nsILineBreaker* mLineBreaker;
|
||||
};
|
||||
|
||||
|
||||
@ -614,10 +624,12 @@ XULDocumentImpl::XULDocumentImpl(void)
|
||||
mXULBuilder(nsnull),
|
||||
mLocalDataSource(nsnull),
|
||||
mDocumentDataSource(nsnull),
|
||||
mLineBreaker(nsnull),
|
||||
mParser(nsnull)
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
|
||||
|
||||
nsresult rv;
|
||||
|
||||
// construct a selection object
|
||||
@ -650,6 +662,7 @@ XULDocumentImpl::~XULDocumentImpl()
|
||||
NS_IF_RELEASE(mArena);
|
||||
NS_IF_RELEASE(mNameSpaceManager);
|
||||
NS_IF_RELEASE(mParser);
|
||||
NS_IF_RELEASE(mLineBreaker);
|
||||
}
|
||||
|
||||
|
||||
@ -960,6 +973,42 @@ XULDocumentImpl::SetDocumentCharacterSet(nsString* aCharSetID)
|
||||
mCharSetID = aCharSetID;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
XULDocumentImpl::GetLineBreaker(nsILineBreaker** aResult)
|
||||
{
|
||||
if(nsnull == mLineBreaker ) {
|
||||
// no line breaker, find a default one
|
||||
nsILineBreakerFactory *lf;
|
||||
nsresult result;
|
||||
result = nsServiceManager::GetService(kLWBrkCID,
|
||||
kILineBreakerFactoryIID,
|
||||
(nsISupports **)&lf);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
nsILineBreaker *lb = nsnull ;
|
||||
nsAutoString lbarg("");
|
||||
result = lf->GetBreaker(lbarg, &lb);
|
||||
if(NS_SUCCEEDED(result)) {
|
||||
mLineBreaker = lb;
|
||||
}
|
||||
result = nsServiceManager::ReleaseService(kLWBrkCID, lf);
|
||||
}
|
||||
}
|
||||
*aResult = mLineBreaker;
|
||||
NS_IF_ADDREF(mLineBreaker);
|
||||
return NS_OK; // XXX we should do error handling here
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
XULDocumentImpl::SetLineBreaker(nsILineBreaker* aLineBreaker)
|
||||
{
|
||||
NS_IF_RELEASE(mLineBreaker);
|
||||
mLineBreaker = aLineBreaker;
|
||||
NS_IF_ADDREF(mLineBreaker);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
XULDocumentImpl::GetHeaderData(nsIAtom* aHeaderField, nsString& aData) const
|
||||
{
|
||||
|
@ -50,6 +50,7 @@ class nsXIFConverter;
|
||||
class nsINameSpaceManager;
|
||||
class nsIDOMSelection;
|
||||
class nsIDOMDocumentFragment;
|
||||
class nsILineBreaker;
|
||||
|
||||
// IID for the nsIDocument interface
|
||||
#define NS_IDOCUMENT_IID \
|
||||
@ -111,6 +112,12 @@ public:
|
||||
virtual nsString* GetDocumentCharacterSet() const = 0;
|
||||
virtual void SetDocumentCharacterSet(nsString* aCharSetID) = 0;
|
||||
|
||||
/**
|
||||
* Return the Line Breaker for the document
|
||||
*/
|
||||
NS_IMETHOD GetLineBreaker(nsILineBreaker** aResult) = 0;
|
||||
NS_IMETHOD SetLineBreaker(nsILineBreaker* aLineBreaker) = 0;
|
||||
|
||||
/**
|
||||
* Access HTTP header data (this may also get set from other sources, like
|
||||
* HTML META tags).
|
||||
|
@ -95,7 +95,8 @@ CPP_OBJS= \
|
||||
|
||||
LINCS=-I$(PUBLIC)\xpcom -I$(PUBLIC)\raptor \
|
||||
-I$(PUBLIC)\dom -I$(PUBLIC)\js -I$(PUBLIC)\netlib \
|
||||
-I$(PUBLIC)\pref -I..\..\html\base\src -I..\..\html\style\src
|
||||
-I$(PUBLIC)\pref -I..\..\html\base\src -I..\..\html\style\src \
|
||||
-I$(PUBLIC)\lwbrk
|
||||
|
||||
LCFLAGS = \
|
||||
$(LCFLAGS) \
|
||||
|
@ -95,6 +95,12 @@ static NS_DEFINE_IID(kIEnumeratorIID, NS_IENUMERATOR_IID);
|
||||
static NS_DEFINE_IID(kIDOMScriptObjectFactoryIID, NS_IDOM_SCRIPT_OBJECT_FACTORY_IID);
|
||||
static NS_DEFINE_IID(kDOMScriptObjectFactoryCID, NS_DOM_SCRIPT_OBJECT_FACTORY_CID);
|
||||
|
||||
|
||||
#include "nsILineBreakerFactory.h"
|
||||
#include "nsLWBrkCIID.h"
|
||||
static NS_DEFINE_IID(kLWBrkCID, NS_LWBRK_CID);
|
||||
static NS_DEFINE_IID(kILineBreakerFactoryIID, NS_ILINEBREAKERFACTORY_IID);
|
||||
|
||||
class nsDOMStyleSheetCollection : public nsIDOMStyleSheetCollection,
|
||||
public nsIScriptObjectOwner,
|
||||
public nsIDocumentObserver
|
||||
@ -561,6 +567,7 @@ nsDocument::nsDocument()
|
||||
mDOMStyleSheets = nsnull;
|
||||
mNameSpaceManager = nsnull;
|
||||
mHeaderData = nsnull;
|
||||
mLineBreaker = nsnull;
|
||||
|
||||
Init();/* XXX */
|
||||
}
|
||||
@ -614,6 +621,7 @@ nsDocument::~nsDocument()
|
||||
delete mHeaderData;
|
||||
mHeaderData = nsnull;
|
||||
}
|
||||
NS_IF_RELEASE(mLineBreaker);
|
||||
}
|
||||
|
||||
nsresult nsDocument::QueryInterface(REFNSIID aIID, void** aInstancePtr)
|
||||
@ -803,6 +811,37 @@ void nsDocument::SetDocumentCharacterSet(nsString* aCharSetID)
|
||||
mCharacterSet = aCharSetID;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsDocument::GetLineBreaker(nsILineBreaker** aResult)
|
||||
{
|
||||
if(nsnull == mLineBreaker ) {
|
||||
// no line breaker, find a default one
|
||||
nsILineBreakerFactory *lf;
|
||||
nsresult result;
|
||||
result = nsServiceManager::GetService(kLWBrkCID,
|
||||
kILineBreakerFactoryIID,
|
||||
(nsISupports **)&lf);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
nsILineBreaker *lb = nsnull ;
|
||||
nsAutoString lbarg("");
|
||||
result = lf->GetBreaker(lbarg, &lb);
|
||||
if(NS_SUCCEEDED(result)) {
|
||||
mLineBreaker = lb;
|
||||
}
|
||||
result = nsServiceManager::ReleaseService(kLWBrkCID, lf);
|
||||
}
|
||||
}
|
||||
*aResult = mLineBreaker;
|
||||
NS_IF_ADDREF(mLineBreaker);
|
||||
return NS_OK; // XXX we should do error handling here
|
||||
}
|
||||
NS_IMETHODIMP nsDocument::SetLineBreaker(nsILineBreaker* aLineBreaker)
|
||||
{
|
||||
NS_IF_RELEASE(mLineBreaker);
|
||||
mLineBreaker = aLineBreaker;
|
||||
NS_IF_ADDREF(mLineBreaker);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocument::GetHeaderData(nsIAtom* aHeaderField, nsString& aData) const
|
||||
{
|
||||
|
@ -121,6 +121,12 @@ public:
|
||||
virtual nsString* GetDocumentCharacterSet() const;
|
||||
virtual void SetDocumentCharacterSet(nsString* aCharSetID);
|
||||
|
||||
/**
|
||||
* Return the Line Breaker for the document
|
||||
*/
|
||||
NS_IMETHOD GetLineBreaker(nsILineBreaker** aResult) ;
|
||||
NS_IMETHOD SetLineBreaker(nsILineBreaker* aLineBreaker) ;
|
||||
|
||||
/**
|
||||
* Access HTTP header data (this may also get set from other sources, like
|
||||
* HTML META tags).
|
||||
@ -362,6 +368,7 @@ protected:
|
||||
nsDOMStyleSheetCollection *mDOMStyleSheets;
|
||||
nsINameSpaceManager* mNameSpaceManager;
|
||||
nsDocHeaderData* mHeaderData;
|
||||
nsILineBreaker* mLineBreaker;
|
||||
};
|
||||
|
||||
#endif /* nsDocument_h___ */
|
||||
|
@ -48,6 +48,7 @@ LINCS= -I$(PUBLIC)\rdf \
|
||||
-I$(PUBLIC)\xpcom \
|
||||
-I$(PUBLIC)\netlib \
|
||||
-I$(PUBLIC)\raptor \
|
||||
-I$(PUBLIC)\lwbrk \
|
||||
-I$(PUBLIC)\js \
|
||||
-I$(PUBLIC)\dom \
|
||||
-I$(DEPTH)\rdf\base\src \
|
||||
|
@ -83,6 +83,9 @@
|
||||
#include "plstr.h"
|
||||
#include "rdfutil.h"
|
||||
|
||||
|
||||
#include "nsILineBreakerFactory.h"
|
||||
#include "nsLWBrkCIID.h"
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static NS_DEFINE_IID(kICSSParserIID, NS_ICSS_PARSER_IID); // XXX grr..
|
||||
@ -128,6 +131,9 @@ static NS_DEFINE_CID(kWellFormedDTDCID, NS_WELLFORMEDDTD_CID);
|
||||
static NS_DEFINE_CID(kXULContentSinkCID, NS_XULCONTENTSINK_CID);
|
||||
static NS_DEFINE_CID(kXULDataSourceCID, NS_XULDATASOURCE_CID);
|
||||
|
||||
static NS_DEFINE_IID(kLWBrkCID, NS_LWBRK_CID);
|
||||
static NS_DEFINE_IID(kILineBreakerFactoryIID, NS_ILINEBREAKERFACTORY_IID);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
enum nsContentType {
|
||||
@ -334,6 +340,9 @@ public:
|
||||
|
||||
virtual void SetDocumentCharacterSet(nsString* aCharSetID);
|
||||
|
||||
NS_IMETHOD GetLineBreaker(nsILineBreaker** aResult) ;
|
||||
NS_IMETHOD SetLineBreaker(nsILineBreaker* aLineBreaker) ;
|
||||
|
||||
NS_IMETHOD GetHeaderData(nsIAtom* aHeaderField, nsString& aData) const;
|
||||
NS_IMETHOD SetHeaderData(nsIAtom* aheaderField, const nsString& aData);
|
||||
|
||||
@ -591,6 +600,7 @@ protected:
|
||||
nsIRDFDataSource* mLocalDataSource;
|
||||
nsIRDFDataSource* mDocumentDataSource;
|
||||
nsIParser* mParser;
|
||||
nsILineBreaker* mLineBreaker;
|
||||
};
|
||||
|
||||
|
||||
@ -614,10 +624,12 @@ XULDocumentImpl::XULDocumentImpl(void)
|
||||
mXULBuilder(nsnull),
|
||||
mLocalDataSource(nsnull),
|
||||
mDocumentDataSource(nsnull),
|
||||
mLineBreaker(nsnull),
|
||||
mParser(nsnull)
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
|
||||
|
||||
nsresult rv;
|
||||
|
||||
// construct a selection object
|
||||
@ -650,6 +662,7 @@ XULDocumentImpl::~XULDocumentImpl()
|
||||
NS_IF_RELEASE(mArena);
|
||||
NS_IF_RELEASE(mNameSpaceManager);
|
||||
NS_IF_RELEASE(mParser);
|
||||
NS_IF_RELEASE(mLineBreaker);
|
||||
}
|
||||
|
||||
|
||||
@ -960,6 +973,42 @@ XULDocumentImpl::SetDocumentCharacterSet(nsString* aCharSetID)
|
||||
mCharSetID = aCharSetID;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
XULDocumentImpl::GetLineBreaker(nsILineBreaker** aResult)
|
||||
{
|
||||
if(nsnull == mLineBreaker ) {
|
||||
// no line breaker, find a default one
|
||||
nsILineBreakerFactory *lf;
|
||||
nsresult result;
|
||||
result = nsServiceManager::GetService(kLWBrkCID,
|
||||
kILineBreakerFactoryIID,
|
||||
(nsISupports **)&lf);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
nsILineBreaker *lb = nsnull ;
|
||||
nsAutoString lbarg("");
|
||||
result = lf->GetBreaker(lbarg, &lb);
|
||||
if(NS_SUCCEEDED(result)) {
|
||||
mLineBreaker = lb;
|
||||
}
|
||||
result = nsServiceManager::ReleaseService(kLWBrkCID, lf);
|
||||
}
|
||||
}
|
||||
*aResult = mLineBreaker;
|
||||
NS_IF_ADDREF(mLineBreaker);
|
||||
return NS_OK; // XXX we should do error handling here
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
XULDocumentImpl::SetLineBreaker(nsILineBreaker* aLineBreaker)
|
||||
{
|
||||
NS_IF_RELEASE(mLineBreaker);
|
||||
mLineBreaker = aLineBreaker;
|
||||
NS_IF_ADDREF(mLineBreaker);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
XULDocumentImpl::GetHeaderData(nsIAtom* aHeaderField, nsString& aData) const
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user