mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 02:09:05 +02:00 
			
		
		
		
	Previously the `boolean` type was also declared using a `bool` typedef in xpidl, meaning that both were used in various places. This patch standardizes on the built-in `boolean` type, removing the typedef. Differential Revision: https://phabricator.services.mozilla.com/D206382
		
			
				
	
	
		
			71 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 | 
						|
/* This Source Code Form is subject to the terms of the Mozilla Public
 | 
						|
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
						|
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | 
						|
 | 
						|
#include "nsISupports.idl"
 | 
						|
 | 
						|
webidl Node;
 | 
						|
webidl Range;
 | 
						|
 | 
						|
/**
 | 
						|
 * nsIScriptableContentIterator is designed to testing concrete classes of
 | 
						|
 * ContentIteratorBase.
 | 
						|
 */
 | 
						|
[scriptable, builtinclass, uuid(9f25fb2a-265f-44f9-a122-62bbf443239e)]
 | 
						|
interface nsIScriptableContentIterator : nsISupports
 | 
						|
{
 | 
						|
  cenum IteratorType : 8 {
 | 
						|
    NOT_INITIALIZED,
 | 
						|
    POST_ORDER_ITERATOR,
 | 
						|
    PRE_ORDER_ITERATOR,
 | 
						|
    SUBTREE_ITERATOR
 | 
						|
  };
 | 
						|
 | 
						|
  /**
 | 
						|
   * You need to call initWith*() first.  Then, the instance of this interface
 | 
						|
   * decides the type of iterator with its aType argument.  You can call
 | 
						|
   * initWith*() multiple times, but you need to keep setting same type as
 | 
						|
   * previous call.  If you set different type, these method with throw an
 | 
						|
   * exception.
 | 
						|
   */
 | 
						|
 | 
						|
  // See ContentIteratorBase::Init(nsINode*)
 | 
						|
  void initWithRootNode(in nsIScriptableContentIterator_IteratorType aType,
 | 
						|
                        in Node aRoot);
 | 
						|
 | 
						|
  // See ContentIteratorBase::Init(nsRange*)
 | 
						|
  void initWithRange(in nsIScriptableContentIterator_IteratorType aType,
 | 
						|
                     in Range aRange);
 | 
						|
 | 
						|
  // See ContentSubtreeIterator::InitWithAllowCrossShadowBoundary(nsRange*)
 | 
						|
  void initWithRangeAllowCrossShadowBoundary(
 | 
						|
                     in nsIScriptableContentIterator_IteratorType aType,
 | 
						|
                     in Range aRange);
 | 
						|
 | 
						|
  // See ContentIteratorBase::Init(nsINode*, uint32_t, nsINode*, uint32_t)
 | 
						|
  void initWithPositions(in nsIScriptableContentIterator_IteratorType aType,
 | 
						|
                         in Node aStartContainer, in unsigned long aStartOffset,
 | 
						|
                         in Node aEndContainer, in unsigned long aEndOffset);
 | 
						|
 | 
						|
  // See ContentIteratorBase::First()
 | 
						|
  void first();
 | 
						|
 | 
						|
  // See ContentIteratorBase::Last()
 | 
						|
  void last();
 | 
						|
 | 
						|
  // See ContentIteratorBase::Next()
 | 
						|
  void next();
 | 
						|
 | 
						|
  // See ContentIteratorBase::Prev()
 | 
						|
  void prev();
 | 
						|
 | 
						|
  // See ContentIteratorBase::GetCurrentNode()
 | 
						|
  readonly attribute Node currentNode;
 | 
						|
 | 
						|
  // See ContentIteratorBase::IsDone()
 | 
						|
  readonly attribute boolean isDone;
 | 
						|
 | 
						|
  // See ContentIteratorBase::PositionAt(nsINode*)
 | 
						|
  void positionAt(in Node aNode);
 | 
						|
};
 |