1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 
5 #ifndef nsAHtml5TreeOpSink_h
6 #define nsAHtml5TreeOpSink_h
7 
8 #include "nsTArrayForwardDeclare.h"
9 
10 class nsHtml5TreeOperation;
11 
12 /**
13  * The purpose of this interface is to connect a tree op executor
14  * (main-thread case), a tree op stage (non-speculative off-the-main-thread
15  * case) or a speculation (speculative case).
16  */
17 class nsAHtml5TreeOpSink {
18  public:
19   /**
20    * Flush the operations from the tree operations from the argument
21    * queue into this sink unconditionally.
22    */
23   virtual void MoveOpsFrom(nsTArray<nsHtml5TreeOperation>& aOpQueue) = 0;
24 };
25 
26 #endif /* nsAHtml5TreeOpSink_h */
27