forked from mirrors/gecko-dev
		
	 53093e432c
			
		
	
	
		53093e432c
		
	
	
	
	
		
			
			This patch is developed from D104136#3396152. This patch creates WorkerTestUtils.webidl under dom/webidl for testing workers with internal APIs. These APIs are exposed to workers only and controlled by dom.workers.testing.enabled pref. This patch creates a Mozilla-specific web-platform test, testing/web-platform/mozilla/test/workers/worker_timer_nesting_level.html, to test the timer nesting level implementation for workers. To simplify the test implementation, this patch does not implement the webidl under dom/chrome-webidl/ suggested by D104136#3396152. Depends on D104136 Differential Revision: https://phabricator.services.mozilla.com/D105332
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.3 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_dom_WorkerTestUtils__
 | |
| #define mozilla_dom_WorkerTestUtils__
 | |
| 
 | |
| namespace mozilla {
 | |
| 
 | |
| class ErrorResult;
 | |
| 
 | |
| namespace dom {
 | |
| 
 | |
| /**
 | |
|  * dom/webidl/WorkerTestUtils.webidl defines APIs to expose worker's internal
 | |
|  * status for glass-box testing. The APIs are only exposed to Workers with prefs
 | |
|  * dom.workers.testing.enabled.
 | |
|  *
 | |
|  * WorkerTestUtils is the implementation of dom/webidl/WorkerTestUtils.webidl
 | |
|  */
 | |
| class WorkerTestUtils final {
 | |
|  public:
 | |
|   /**
 | |
|    *  Expose the worker's current timer nesting level.
 | |
|    *
 | |
|    *  The worker's current timer nesting level means the executing timer
 | |
|    *  handler's timer nesting level. When there is no executing timer handler, 0
 | |
|    *  should be returned by this API. The maximum timer nesting level is 5.
 | |
|    *
 | |
|    *  https://html.spec.whatwg.org/#timer-initialisation-steps
 | |
|    */
 | |
|   static uint32_t CurrentTimerNestingLevel(const GlobalObject&,
 | |
|                                            ErrorResult& aErr);
 | |
| };
 | |
| 
 | |
| }  // namespace dom
 | |
| }  // namespace mozilla
 | |
| #endif
 |