Changeset 223612 in webkit
- Timestamp:
- Oct 18, 2017 10:10:16 AM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 1 deleted
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r223574 r223612 4001 4001 4002 4002 4003 GENERATE_SETTINGS_MACROS(${WEBCORE_DIR}/page/Settings.in SettingsMacros.h) 4004 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/SettingsMacros.h) 4003 GENERATE_SETTINGS_MACROS(${WEBCORE_DIR}/page/Settings.in Settings.h) 4005 4004 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/Settings.h) 4006 4005 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/Settings.cpp) -
trunk/Source/WebCore/ChangeLog
r223611 r223612 1 2017-10-18 Sam Weinig <sam@webkit.org> 2 3 [Settings] Miscellaneous cleanup of the settings generation scripts 4 https://bugs.webkit.org/show_bug.cgi?id=178462 5 6 Reviewed by Daniel Bates. 7 8 - Stop generating and remove now unused SettingsMacros.h 9 - Make functions operating on the python Setting object member functions 10 - Add predicate to determine if a Setting's type is a value type, allowing 11 us to exclude those from using const references. 12 13 * CMakeLists.txt: 14 * DerivedSources.make: 15 * Scripts/GenerateSettings.py: 16 * Scripts/GenerateSettings/GenerateInternalSettingsHeaderFile.py: 17 * Scripts/GenerateSettings/GenerateInternalSettingsIDLFile.py: 18 * Scripts/GenerateSettings/GenerateInternalSettingsImplementationFile.py: 19 * Scripts/GenerateSettings/GenerateSettings.py: 20 * Scripts/GenerateSettings/GenerateSettingsHeaderFile.py: 21 * Scripts/GenerateSettings/GenerateSettingsImplementationFile.py: 22 * Scripts/GenerateSettings/GenerateSettingsMacrosHeader.py: Removed. 23 * Scripts/GenerateSettings/Settings.py: 24 * WebCoreMacros.cmake: 25 * WebCore.xcodeproj/project.pbxproj: 26 1 27 2017-10-18 Chris Dumez <cdumez@apple.com> 2 28 -
trunk/Source/WebCore/DerivedSources.make
r223574 r223612 1371 1371 $(WebCore)/Scripts/GenerateSettings/GenerateSettingsHeaderFile.py \ 1372 1372 $(WebCore)/Scripts/GenerateSettings/GenerateSettingsImplementationFile.py \ 1373 $(WebCore)/Scripts/GenerateSettings/GenerateSettingsMacrosHeader.py \1374 1373 $(WebCore)/Scripts/GenerateSettings/Settings.py \ 1375 1374 $(WebCore)/Scripts/GenerateSettings/__init__.py 1376 1375 1377 all : InternalSettingsGenerated.idl InternalSettingsGenerated.cpp InternalSettingsGenerated.h Settings.cpp Settings.h SettingsMacros.h1378 InternalSettingsGenerated%idl InternalSettingsGenerated%cpp InternalSettingsGenerated%h Settings%cpp Settings%h SettingsMacros%h: $(WebCore)/Scripts/GenerateSettings.py $(GENERATE_SETTINGS_SCRIPTS) page/Settings.in1376 all : InternalSettingsGenerated.idl InternalSettingsGenerated.cpp InternalSettingsGenerated.h Settings.cpp Settings.h 1377 InternalSettingsGenerated%idl InternalSettingsGenerated%cpp InternalSettingsGenerated%h Settings%cpp Settings%h : $(WebCore)/Scripts/GenerateSettings.py $(GENERATE_SETTINGS_SCRIPTS) page/Settings.in 1379 1378 $(PYTHON) $< --input $(WebCore)/page/Settings.in 1380 1379 -
trunk/Source/WebCore/Scripts/GenerateSettings.py
r223574 r223612 52 52 generateSettingsHeaderFile(outputDirectory, settings) 53 53 generateSettingsImplementationFile(outputDirectory, settings) 54 generateSettingsMacrosHeader(outputDirectory, settings)55 54 generateInternalSettingsIDLFile(outputDirectory, settings) 56 55 generateInternalSettingsHeaderFile(outputDirectory, settings) -
trunk/Source/WebCore/Scripts/GenerateSettings/GenerateInternalSettingsHeaderFile.py
r222647 r223612 26 26 import os.path 27 27 28 from Settings import license, makeConditionalString , mapToIDLType, makeSetterFunctionName28 from Settings import license, makeConditionalString 29 29 30 30 … … 52 52 for settingName in sorted(settings.iterkeys()): 53 53 setting = settings[settingName] 54 idlType = mapToIDLType(setting)54 idlType = setting.idlType() 55 55 if not idlType: 56 56 continue 57 57 58 58 type = "const String&" if setting.type == "String" else setting.type 59 outputFile.write(" void " + makeSetterFunctionName(setting) + "(" + type + " " + setting.name + ");\n")59 outputFile.write(" void " + setting.setterFunctionName() + "(" + type + " " + setting.name + ");\n") 60 60 61 61 outputFile.write("\n") … … 65 65 for settingName in sorted(settings.iterkeys()): 66 66 setting = settings[settingName] 67 idlType = mapToIDLType(setting)67 idlType = setting.idlType() 68 68 if not idlType: 69 69 continue -
trunk/Source/WebCore/Scripts/GenerateSettings/GenerateInternalSettingsIDLFile.py
r222647 r223612 26 26 import os.path 27 27 28 from Settings import license , mapToIDLType, makeSetterFunctionName28 from Settings import license 29 29 30 30 … … 41 41 for settingName in sorted(settings.iterkeys()): 42 42 setting = settings[settingName] 43 idlType = mapToIDLType(setting)43 idlType = setting.idlType() 44 44 if not idlType: 45 45 continue 46 outputFile.write(" void " + makeSetterFunctionName(setting) + "(" + idlType + " " + setting.name + ");\n")46 outputFile.write(" void " + setting.setterFunctionName() + "(" + idlType + " " + setting.name + ");\n") 47 47 48 48 outputFile.write("};\n") -
trunk/Source/WebCore/Scripts/GenerateSettings/GenerateInternalSettingsImplementationFile.py
r222806 r223612 26 26 import os.path 27 27 28 from Settings import license, make SetterFunctionName, makeConditionalString, mapToIDLType, makeConditionalString28 from Settings import license, makeConditionalString, makeConditionalString 29 29 30 30 … … 47 47 for settingName in sorted(settings.iterkeys()): 48 48 setting = settings[settingName] 49 idlType = mapToIDLType(setting)49 idlType = setting.idlType() 50 50 if not idlType: 51 51 continue … … 54 54 outputFile.write("#if " + makeConditionalString(setting.conditional) + "\n") 55 55 56 outputFile.write(" , m_" + setting.name + "(page->settings()." + setting. name+ "())\n")56 outputFile.write(" , m_" + setting.name + "(page->settings()." + setting.getterFunctionName() + "())\n") 57 57 58 58 if setting.conditional: … … 71 71 for settingName in sorted(settings.iterkeys()): 72 72 setting = settings[settingName] 73 idlType = mapToIDLType(setting)73 idlType = setting.idlType() 74 74 if not idlType: 75 75 continue … … 78 78 outputFile.write("#if " + makeConditionalString(setting.conditional) + "\n") 79 79 80 outputFile.write(" m_page->settings()." + makeSetterFunctionName(setting) + "(m_" + setting.name + ");\n")80 outputFile.write(" m_page->settings()." + setting.setterFunctionName() + "(m_" + setting.name + ");\n") 81 81 82 82 if setting.conditional: … … 87 87 for settingName in sorted(settings.iterkeys()): 88 88 setting = settings[settingName] 89 idlType = mapToIDLType(setting)89 idlType = setting.idlType() 90 90 if not idlType: 91 91 continue … … 93 93 type = "const String&" if setting.type == "String" else setting.type 94 94 95 outputFile.write("void InternalSettingsGenerated::" + makeSetterFunctionName(setting) + "(" + type + " " + setting.name + ")\n")95 outputFile.write("void InternalSettingsGenerated::" + setting.setterFunctionName() + "(" + type + " " + setting.name + ")\n") 96 96 outputFile.write("{\n") 97 97 … … 99 99 outputFile.write("#if " + makeConditionalString(setting.conditional) + "\n") 100 100 101 outputFile.write(" m_page->settings()." + makeSetterFunctionName(setting) + "(" + setting.name + ");\n")101 outputFile.write(" m_page->settings()." + setting.setterFunctionName() + "(" + setting.name + ");\n") 102 102 103 103 if setting.conditional: -
trunk/Source/WebCore/Scripts/GenerateSettings/GenerateSettings.py
r223574 r223612 5 5 from GenerateSettingsHeaderFile import * 6 6 from GenerateSettingsImplementationFile import * 7 from GenerateSettingsMacrosHeader import * -
trunk/Source/WebCore/Scripts/GenerateSettings/GenerateSettingsHeaderFile.py
r223607 r223612 26 26 import os.path 27 27 28 from Settings import license, makeConditionalString, make SetterFunctionName, makePreferredConditional28 from Settings import license, makeConditionalString, makePreferredConditional 29 29 30 30 … … 79 79 80 80 def printGetterAndSetter(outputFile, setting): 81 setterFunctionName = makeSetterFunctionName(setting) 81 setterFunctionName = setting.setterFunctionName() 82 getterFunctionName = setting.getterFunctionName() 82 83 83 webcoreExport = "WEBCORE_EXPORT " if setting. setNeedsStyleRecalcInAllFrameselse ""84 webcoreExport = "WEBCORE_EXPORT " if setting.hasComplexSetter() else "" 84 85 85 if setting.type [0].islower():86 outputFile.write(" " + setting.type + " " + setting.name + "() const { return m_" + setting.name + "; }\n")86 if setting.typeIsValueType(): 87 outputFile.write(" " + setting.type + " " + getterFunctionName + "() const { return m_" + setting.name + "; }\n") 87 88 outputFile.write(" " + webcoreExport + "void " + setterFunctionName + "(" + setting.type + " " + setting.name + ")") 88 89 else: 89 outputFile.write(" const " + setting.type + "& " + setting.name + "() const { return m_" + setting.name + "; }\n")90 outputFile.write(" const " + setting.type + "& " + getterFunctionName + "() const { return m_" + setting.name + "; }\n") 90 91 outputFile.write(" " + webcoreExport + "void " + setterFunctionName + "(const " + setting.type + "& " + setting.name + ")") 91 92 92 if setting. setNeedsStyleRecalcInAllFrames:93 outputFile.write("; 93 if setting.hasComplexSetter(): 94 outputFile.write(";\n") 94 95 else: 95 outputFile.write(" { m_" + setting.name + " = " + setting.name + "; } 96 outputFile.write(" { m_" + setting.name + " = " + setting.name + "; }\n") 96 97 97 98 -
trunk/Source/WebCore/Scripts/GenerateSettings/GenerateSettingsImplementationFile.py
r223607 r223612 26 26 import os.path 27 27 28 from Settings import license, makeConditionalString, make SetterFunctionName, makePreferredConditional28 from Settings import license, makeConditionalString, makePreferredConditional 29 29 30 30 … … 148 148 149 149 def printSetterBody(outputFile, setting): 150 if not setting. setNeedsStyleRecalcInAllFrames:150 if not setting.hasComplexSetter(): 151 151 return 152 152 153 setterFunctionName = makeSetterFunctionName(setting)153 setterFunctionName = setting.setterFunctionName() 154 154 155 if setting.type [0].islower():155 if setting.typeIsValueType(): 156 156 outputFile.write("void Settings::" + setterFunctionName + "(" + setting.type + " " + setting.name + ")\n") 157 157 else: … … 175 175 for settingName in sorted(settingsByConditional[conditional].iterkeys()): 176 176 setting = settings[settingName] 177 if setting. setNeedsStyleRecalcInAllFrames:177 if setting.hasComplexSetter(): 178 178 hasSetterBody = True 179 179 break -
trunk/Source/WebCore/Scripts/GenerateSettings/Settings.py
r222806 r223612 77 77 return result 78 78 79 def hasComplexSetter(self): 80 if self.setNeedsStyleRecalcInAllFrames: 81 return True 82 return False 83 84 def typeIsValueType(self): 85 if self.type == 'String': 86 return False 87 return True 88 89 def setterFunctionName(self): 90 for prefix in ["css", "xss", "ftp", "dom"]: 91 if self.name.startswith(prefix): 92 return "set" + uppercaseFirstN(self.name, len(prefix)) 93 return "set" + uppercaseFirstN(self.name, 1) 94 95 def getterFunctionName(self): 96 return self.name 97 98 def idlType(self): 99 # FIXME: Add support for more types including enumerate types. 100 if self.type == 'int': 101 return 'long' 102 if self.type == 'unsigned': 103 return 'unsigned long' 104 if self.type == 'double': 105 return 'double' 106 if self.type == 'float': 107 return 'float' 108 if self.type == 'String': 109 return 'DOMString' 110 if self.type == 'bool': 111 return 'boolean' 112 return None 113 79 114 80 115 def uppercaseFirstN(string, n): 81 116 return string[:n].upper() + string[n:] 82 83 84 def makeSetterFunctionName(setting):85 for prefix in ["css", "xss", "ftp", "dom"]:86 if setting.name.startswith(prefix):87 return "set" + uppercaseFirstN(setting.name, len(prefix))88 return "set" + uppercaseFirstN(setting.name, 1)89 117 90 118 … … 96 124 conditionals = conditional.split('|') 97 125 return "ENABLE(" + ") || ENABLE(".join(conditionals) + ")" 98 99 100 def mapToIDLType(setting):101 # FIXME: Add support for more types including enumerate types.102 if setting.type == 'int':103 return 'long'104 if setting.type == 'unsigned' or setting.type == 'size_t':105 return 'unsigned long'106 if setting.type == 'double':107 return 'double'108 if setting.type == 'float':109 return 'float'110 if setting.type == 'String':111 return 'DOMString'112 if setting.type == 'bool':113 return 'boolean'114 return None115 126 116 127 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r223574 r223612 2549 2549 53ED3FDE167A88E7006762E6 /* JSInternalSettingsGenerated.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53ED3FDC167A88E7006762E6 /* JSInternalSettingsGenerated.cpp */; }; 2550 2550 53ED3FDF167A88E7006762E6 /* JSInternalSettingsGenerated.h in Headers */ = {isa = PBXBuildFile; fileRef = 53ED3FDD167A88E7006762E6 /* JSInternalSettingsGenerated.h */; }; 2551 53EF766B16530A61004CBE49 /* SettingsMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EF766A16530A61004CBE49 /* SettingsMacros.h */; };2552 53EF766C16531994004CBE49 /* SettingsMacros.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 53EF766A16530A61004CBE49 /* SettingsMacros.h */; };2553 2551 550A0BC9085F6039007353D6 /* QualifiedName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 550A0BC7085F6039007353D6 /* QualifiedName.cpp */; }; 2554 2552 550A0BCA085F6039007353D6 /* QualifiedName.h in Headers */ = {isa = PBXBuildFile; fileRef = 550A0BC8085F6039007353D6 /* QualifiedName.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 7512 7510 14DC0D3809FED073007B0235 /* JSNode.h in Copy Generated Headers */, 7513 7511 7CD58DFE1F9565EC00112791 /* Settings.h in Copy Generated Headers */, 7514 53EF766C16531994004CBE49 /* SettingsMacros.h in Copy Generated Headers */,7515 7512 08C7A2C710DC7462002D368B /* SVGNames.h in Copy Generated Headers */, 7516 7513 1A1414B613A0F0500019996C /* WebKitFontFamilyNames.h in Copy Generated Headers */, … … 10488 10485 53ED3FDC167A88E7006762E6 /* JSInternalSettingsGenerated.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSInternalSettingsGenerated.cpp; sourceTree = "<group>"; }; 10489 10486 53ED3FDD167A88E7006762E6 /* JSInternalSettingsGenerated.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSInternalSettingsGenerated.h; sourceTree = "<group>"; }; 10490 53EF766A16530A61004CBE49 /* SettingsMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsMacros.h; sourceTree = "<group>"; };10491 10487 550A0BC7085F6039007353D6 /* QualifiedName.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QualifiedName.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; 10492 10488 550A0BC8085F6039007353D6 /* QualifiedName.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = QualifiedName.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; … … 19489 19485 7CEB57EA1F95651500097AEC /* Settings.cpp */, 19490 19486 7CEB57E91F95651500097AEC /* Settings.h */, 19491 53EF766A16530A61004CBE49 /* SettingsMacros.h */,19492 19487 9908B0FD1BCAD07D00ED0F55 /* StreamInternalsBuiltins.cpp */, 19493 19488 9B03D8061BB3110D00B764C9 /* StreamInternalsBuiltins.h */, … … 30186 30181 7CD58DFB1F9565A500112791 /* Settings.h in Headers */, 30187 30182 7CC9722E1F93E3360004D4CF /* SettingsBase.h in Headers */, 30188 53EF766B16530A61004CBE49 /* SettingsMacros.h in Headers */,30189 30183 0F3DD45012F5EA1B000D9190 /* ShadowBlur.h in Headers */, 30190 30184 BC5EB8C40E82031B00B25965 /* ShadowData.h in Headers */, -
trunk/Source/WebCore/WebCoreMacros.cmake
r223574 r223612 210 210 # <https://cmake.org/cmake/help/v3.0/command/add_custom_command.html> 211 211 set(_extra_output 212 ${DERIVED_SOURCES_WEBCORE_DIR}/Settings.h213 212 ${DERIVED_SOURCES_WEBCORE_DIR}/Settings.cpp 214 213 ${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.h … … 223 222 ${WEBCORE_DIR}/Scripts/GenerateSettings/GenerateSettingsHeaderFile.py 224 223 ${WEBCORE_DIR}/Scripts/GenerateSettings/GenerateSettingsImplementationFile.py 225 ${WEBCORE_DIR}/Scripts/GenerateSettings/GenerateSettingsMacrosHeader.py226 224 ${WEBCORE_DIR}/Scripts/GenerateSettings/GenerateSettings.py 227 225 ${WEBCORE_DIR}/Scripts/GenerateSettings/Settings.py
Note: See TracChangeset
for help on using the changeset viewer.