forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			58 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* 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/. */
 | |
| 
 | |
| import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
 | |
| 
 | |
| export class AboutMessagePreviewChild extends JSWindowActorChild {
 | |
|   handleEvent(event) {
 | |
|     console.log(`Received page event ${event.type}`);
 | |
|   }
 | |
| 
 | |
|   actorCreated() {
 | |
|     this.exportFunctions();
 | |
|   }
 | |
| 
 | |
|   exportFunctions() {
 | |
|     if (this.contentWindow) {
 | |
|       for (const name of ["MPShowMessage", "MPIsEnabled", "MPShouldShowHint"]) {
 | |
|         Cu.exportFunction(this[name].bind(this), this.contentWindow, {
 | |
|           defineAs: name,
 | |
|         });
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   /**
 | |
|    * Check if the Message Preview feature is enabled. This reflects the value of
 | |
|    * the pref `browser.newtabpage.activity-stream.asrouter.devtoolsEnabled`.
 | |
|    *
 | |
|    * @returns {boolean}
 | |
|    */
 | |
|   MPIsEnabled() {
 | |
|     return Services.prefs.getBoolPref(
 | |
|       "browser.newtabpage.activity-stream.asrouter.devtoolsEnabled",
 | |
|       false
 | |
|     );
 | |
|   }
 | |
| 
 | |
|   /**
 | |
|    * Route a message to the parent process to be displayed with the relevant
 | |
|    * messaging surface.
 | |
|    *
 | |
|    * @param {object} message
 | |
|    */
 | |
|   MPShowMessage(message) {
 | |
|     this.sendAsyncMessage(`MessagePreview:SHOW_MESSAGE`, message);
 | |
|   }
 | |
| 
 | |
|   /**
 | |
|    * Check if a hint should be shown about how to enable Message Preview. The
 | |
|    * hint is only displayed in local/unofficial builds.
 | |
|    *
 | |
|    * @returns {boolean}
 | |
|    */
 | |
|   MPShouldShowHint() {
 | |
|     return !this.MPIsEnabled() && !AppConstants.MOZILLA_OFFICIAL;
 | |
|   }
 | |
| }
 | 
