mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 02:09:05 +02:00 
			
		
		
		
	# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D186092
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# 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/.
 | 
						|
 | 
						|
from geckoprocesstypes import process_types
 | 
						|
 | 
						|
 | 
						|
def process_name(string_name):
 | 
						|
    if string_name == "default":
 | 
						|
        string_name = "main"
 | 
						|
    if string_name == "tab":
 | 
						|
        string_name = "content"
 | 
						|
    return string_name
 | 
						|
 | 
						|
 | 
						|
def gen_process_map():
 | 
						|
    kIdentifier = "/* SUBST: CRASH_MANAGER_PROCESS_MAP */"
 | 
						|
    crashManagerMap = """
 | 
						|
  processTypes: {"""
 | 
						|
 | 
						|
    for p in process_types:
 | 
						|
        crashManagerMap += """
 | 
						|
    // A crash in the %(procname)s process.
 | 
						|
    %(proctype)d: "%(procname)s",""" % {
 | 
						|
            "proctype": p.enum_value,
 | 
						|
            "procname": process_name(p.string_name),
 | 
						|
        }
 | 
						|
    crashManagerMap += """
 | 
						|
  },"""
 | 
						|
 | 
						|
    return (kIdentifier, crashManagerMap)
 | 
						|
 | 
						|
 | 
						|
def gen_process_pings():
 | 
						|
    kIdentifier = "/* SUBST: CRASH_MANAGER_PROCESS_PINGS */"
 | 
						|
    crashManagerPing = ""
 | 
						|
 | 
						|
    for p in process_types:
 | 
						|
        crashManagerPing += """
 | 
						|
      "%(proctype)s": %(crashping)s,""" % {
 | 
						|
            "proctype": process_name(p.string_name),
 | 
						|
            "crashping": "true" if p.crash_ping else "false",
 | 
						|
        }
 | 
						|
 | 
						|
    return (kIdentifier, crashManagerPing)
 | 
						|
 | 
						|
 | 
						|
def main(o, crashManager):
 | 
						|
    subst = [gen_process_map(), gen_process_pings()]
 | 
						|
    with open(crashManager, "r") as src:
 | 
						|
        for l in src.readlines():
 | 
						|
            for id, value in subst:
 | 
						|
                if id in l:
 | 
						|
                    l = l.replace(id, value)
 | 
						|
            o.write(l)
 |