forked from mirrors/gecko-dev
		
	 41e05df804
			
		
	
	
		41e05df804
		
	
	
	
	
		
			
			Summary: FlushTarget wants to decide whether we should flush the parent document or all of them. However, the only point of flushing parent documents is that media query changes could affect the document we really want to flush. That's completely pointless if we actually don't flush the subdocument, so just skip doing that. This case is already checked (see the DocumentNeedsRestyle stuff, which is also somewhat poorly named, which walks up the document chain). Reviewers: xidorn Bug #: 1443483 Differential Revision: https://phabricator.services.mozilla.com/D682 MozReview-Commit-ID: LiI7IrUBeqq
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			53 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 nsIDocument::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             = 0, /* Actually don't flush anything */
 | |
|   Event            = 1, /* Flush pending events before notify other observers */
 | |
|   Content          = 2, /* flush the content model construction */
 | |
|   ContentAndNotify = 3, /* As above, plus flush the frame model
 | |
|                            construction and other nsIMutationObserver
 | |
|                            notifications. */
 | |
|   Style            = 4, /* As above, plus flush style reresolution */
 | |
|   Frames           = Style,
 | |
|   EnsurePresShellInitAndFrames = 5, /* As above, plus ensure the pres shell is alive */
 | |
|   InterruptibleLayout = 6, /* As above, plus flush reflow,
 | |
|                               but allow it to be interrupted (so
 | |
|                               an incomplete layout may result) */
 | |
|   Layout           = 7, /* As above, but layout must run to
 | |
|                            completion */
 | |
|   Display          = 8, /* 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
 |