forked from mirrors/gecko-dev
		
	 d87e8fd612
			
		
	
	
		d87e8fd612
		
	
	
	
	
		
			
			Differential Revision: https://phabricator.services.mozilla.com/D40755 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 | |
| /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 | |
| /* 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/. */
 | |
| 
 | |
| #ifndef mozilla_FlushType_h
 | |
| #define mozilla_FlushType_h
 | |
| 
 | |
| #include <stdint.h>
 | |
| #include "X11UndefineNone.h"
 | |
| 
 | |
| namespace mozilla {
 | |
| 
 | |
| /**
 | |
|  * This is the enum used by Document::FlushPendingNotifications to
 | |
|  * decide what to flush.
 | |
|  *
 | |
|  * Please note that if you change these values, you should sync it with the
 | |
|  * flushTypeNames array inside PresShell::FlushPendingNotifications.
 | |
|  */
 | |
| enum class FlushType : uint8_t {
 | |
|   None,             /* Actually don't flush anything */
 | |
|   Event,            /* Flush pending events before notify other observers */
 | |
|   Content,          /* flush the content model construction */
 | |
|   ContentAndNotify, /* As above, plus flush the frame model
 | |
|                        construction and other nsIMutationObserver
 | |
|                        notifications. */
 | |
|   Style,            /* As above, plus flush style reresolution */
 | |
|   Frames,           /* As above, plus flush frame construction */
 | |
|   EnsurePresShellInitAndFrames, /* As above, plus ensure the pres shell is alive
 | |
|                                  */
 | |
|   InterruptibleLayout, /* As above, plus flush reflow, but allow it to be
 | |
|                           interrupted (so an incomplete layout may result) */
 | |
|   Layout,              /* As above, but layout must run to completion */
 | |
|   Display,             /* As above, plus flush painting */
 | |
|   Count
 | |
| };
 | |
| 
 | |
| struct ChangesToFlush {
 | |
|   ChangesToFlush(FlushType aFlushType, bool aFlushAnimations)
 | |
|       : mFlushType(aFlushType), mFlushAnimations(aFlushAnimations) {}
 | |
| 
 | |
|   FlushType mFlushType;
 | |
|   bool mFlushAnimations;
 | |
| };
 | |
| 
 | |
| }  // namespace mozilla
 | |
| 
 | |
| #endif  // mozilla_FlushType_h
 |