Bug 738572 - #include nsIHTMLContentSink.h in fewer places. r=bzbarsky.

This commit is contained in:
Henri Sivonen 2012-03-23 17:21:44 +02:00
Родитель 24485f6c5c
Коммит 88c3e0947f
7 изменённых файлов: 7 добавлений и 83 удалений

Просмотреть файл

@ -65,7 +65,7 @@
#include "mozilla/css/Loader.h"
#include "mozilla/dom/Element.h"
#include "nsCharsetAlias.h"
#include "nsIHTMLContentSink.h"
#include "nsIFrame.h"
#include "nsContentUtils.h"
#include "txXMLUtils.h"
#include "nsContentSink.h"

Просмотреть файл

@ -86,7 +86,6 @@
#include "nsGkAtoms.h"
#include "nsCSSAnonBoxes.h"
#include "nsCSSPseudoElements.h"
#include "nsIHTMLContentSink.h"
#include "nsCSSFrameConstructor.h"
#include "nsFrameTraversal.h"

Просмотреть файл

@ -45,6 +45,8 @@
#error This header/class should only be used within Mozilla code. It should not be used by extensions.
#endif
#define MAX_REFLOW_DEPTH 200
/* nsIFrame is in the process of being deCOMtaminated, i.e., this file is eventually
going to be eliminated, and all callers will use nsFrame instead. At the moment
we're midway through this process, so you will see inlined functions and member

Просмотреть файл

@ -45,8 +45,7 @@
#include "nsEventDispatcher.h"
#include "nsContentUtils.h"
#include "nsNodeUtils.h"
#define NS_HTML5_TREE_DEPTH_LIMIT 200
#include "nsIFrame.h"
class nsPresContext;
@ -453,7 +452,7 @@ nsHtml5TreeBuilder::elementPushed(PRInt32 aNamespace, nsIAtom* aName, nsIContent
* table elements shouldn't be used as surrogate parents for user experience
* reasons.
*/
if (!deepTreeSurrogateParent && currentPtr >= NS_HTML5_TREE_DEPTH_LIMIT &&
if (!deepTreeSurrogateParent && currentPtr >= MAX_REFLOW_DEPTH &&
!(aName == nsHtml5Atoms::script ||
aName == nsHtml5Atoms::table ||
aName == nsHtml5Atoms::thead ||
@ -498,7 +497,7 @@ nsHtml5TreeBuilder::elementPopped(PRInt32 aNamespace, nsIAtom* aName, nsIContent
NS_ASSERTION(aNamespace == kNameSpaceID_XHTML || aNamespace == kNameSpaceID_SVG || aNamespace == kNameSpaceID_MathML, "Element isn't HTML, SVG or MathML!");
NS_ASSERTION(aName, "Element doesn't have local name!");
NS_ASSERTION(aElement, "No element!");
if (deepTreeSurrogateParent && currentPtr <= NS_HTML5_TREE_DEPTH_LIMIT) {
if (deepTreeSurrogateParent && currentPtr <= MAX_REFLOW_DEPTH) {
deepTreeSurrogateParent = nsnull;
}
if (aNamespace == kNameSpaceID_MathML) {

Просмотреть файл

@ -89,8 +89,6 @@
{ 0xb6d6ae00, 0x0884, 0x4a30, \
{ 0xa8, 0xb4, 0xce, 0xca, 0x57, 0x27, 0x1a, 0x3e } }
#define MAX_REFLOW_DEPTH 200
/**
* This interface is OBSOLETE and in the process of being REMOVED.
* Do NOT implement!

Просмотреть файл

@ -1,75 +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 Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either of 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 MPL, 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 nsIHTMLFragmentContentSink_h___
#define nsIHTMLFragmentContentSink_h___
#include "nsIHTMLContentSink.h"
#define NS_HTMLFRAGMENTSINK_CONTRACTID "@mozilla.org/layout/htmlfragmentsink;1"
#define NS_HTMLFRAGMENTSINK2_CONTRACTID "@mozilla.org/layout/htmlfragmentsink;2"
class nsIDOMDocumentFragment;
class nsIDocument;
#define NS_IHTML_FRAGMENT_CONTENT_SINK_IID \
{0xa6cf9102, 0x15b3, 0x11d2, \
{0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32}}
class nsIHTMLFragmentContentSink : public nsIHTMLContentSink {
public:
/**
* This method is used to obtain the fragment created by
* a fragment content sink. The value returned will be null
* if the content sink hasn't yet received parser notifications.
*
*/
NS_IMETHOD GetFragment(nsIDOMDocumentFragment** aFragment) = 0;
/**
* This method is used to set the target document for this fragment
* sink. This document's nodeinfo manager will be used to create
* the content objects. This MUST be called before the sink is used.
*
* If aDocument is null or has no nodeinfo manager, the sink will
* create a brand-new nodeinfo manager.
*
* @param aDocument the document the new nodes will belong to
*/
NS_IMETHOD SetTargetDocument(nsIDocument* aDocument) = 0;
};
#endif

Просмотреть файл

@ -62,6 +62,7 @@
#include "nsIParserService.h"
#include "nsReadableUtils.h"
#include "nsIHTMLContentSink.h"
#include "nsIFrame.h"
#define IF_HOLD(_ptr) \
PR_BEGIN_MACRO \