/parser/htmlparser/public/nsIHTMLFragmentContentSink.h

http://github.com/zpao/v8monkey · C Header · 75 lines · 16 code · 7 blank · 52 comment · 0 complexity · 173976147f7d87270a3e307355170baa MD5 · raw file

  1. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* ***** BEGIN LICENSE BLOCK *****
  3. * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  4. *
  5. * The contents of this file are subject to the Mozilla Public License Version
  6. * 1.1 (the "License"); you may not use this file except in compliance with
  7. * the License. You may obtain a copy of the License at
  8. * http://www.mozilla.org/MPL/
  9. *
  10. * Software distributed under the License is distributed on an "AS IS" basis,
  11. * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  12. * for the specific language governing rights and limitations under the
  13. * License.
  14. *
  15. * The Original Code is Mozilla Communicator client code.
  16. *
  17. * The Initial Developer of the Original Code is
  18. * Netscape Communications Corporation.
  19. * Portions created by the Initial Developer are Copyright (C) 1998
  20. * the Initial Developer. All Rights Reserved.
  21. *
  22. * Contributor(s):
  23. *
  24. * Alternatively, the contents of this file may be used under the terms of
  25. * either of the GNU General Public License Version 2 or later (the "GPL"),
  26. * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  27. * in which case the provisions of the GPL or the LGPL are applicable instead
  28. * of those above. If you wish to allow use of your version of this file only
  29. * under the terms of either the GPL or the LGPL, and not to allow others to
  30. * use your version of this file under the terms of the MPL, indicate your
  31. * decision by deleting the provisions above and replace them with the notice
  32. * and other provisions required by the GPL or the LGPL. If you do not delete
  33. * the provisions above, a recipient may use your version of this file under
  34. * the terms of any one of the MPL, the GPL or the LGPL.
  35. *
  36. * ***** END LICENSE BLOCK ***** */
  37. #ifndef nsIHTMLFragmentContentSink_h___
  38. #define nsIHTMLFragmentContentSink_h___
  39. #include "nsIHTMLContentSink.h"
  40. #define NS_HTMLFRAGMENTSINK_CONTRACTID "@mozilla.org/layout/htmlfragmentsink;1"
  41. #define NS_HTMLFRAGMENTSINK2_CONTRACTID "@mozilla.org/layout/htmlfragmentsink;2"
  42. class nsIDOMDocumentFragment;
  43. class nsIDocument;
  44. #define NS_IHTML_FRAGMENT_CONTENT_SINK_IID \
  45. {0xa6cf9102, 0x15b3, 0x11d2, \
  46. {0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32}}
  47. class nsIHTMLFragmentContentSink : public nsIHTMLContentSink {
  48. public:
  49. /**
  50. * This method is used to obtain the fragment created by
  51. * a fragment content sink. The value returned will be null
  52. * if the content sink hasn't yet received parser notifications.
  53. *
  54. */
  55. NS_IMETHOD GetFragment(nsIDOMDocumentFragment** aFragment) = 0;
  56. /**
  57. * This method is used to set the target document for this fragment
  58. * sink. This document's nodeinfo manager will be used to create
  59. * the content objects. This MUST be called before the sink is used.
  60. *
  61. * If aDocument is null or has no nodeinfo manager, the sink will
  62. * create a brand-new nodeinfo manager.
  63. *
  64. * @param aDocument the document the new nodes will belong to
  65. */
  66. NS_IMETHOD SetTargetDocument(nsIDocument* aDocument) = 0;
  67. };
  68. #endif