ELECTRON-505: add dev tools administration control (#435)

* ELECTRON-505: enable / disable dev tools

implement logic to disable / enable dev tools with installer and configuration file

* ELECTRON-505: fix mac installer issues

* ELECTRON-505: add dev tools option to the windows installers

* ELECTRON-505: enable signing in the installers

* ELECTRON-505: update mac installer dev tools label text

* ELECTRON-505: remove dev tools from configuration windows
This commit is contained in:
Vishwas Shashidhar
2018-07-20 16:23:08 +05:30
committed by GitHub
parent 205c08977d
commit 1898c36508
20 changed files with 229 additions and 129 deletions

View File

@@ -7,6 +7,7 @@
"whitelistUrl": "*",
"isCustomTitleBar": true,
"memoryRefresh": true,
"devToolsEnabled": true,
"ctWhitelist": [],
"notificationSettings": {
"position": "upper-right",

View File

@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>17E199</string>
<string>17F77</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@@ -27,7 +27,7 @@
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>9E145</string>
<string>9F2000</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
@@ -35,9 +35,9 @@
<key>DTSDKName</key>
<string>macosx10.13</string>
<key>DTXcode</key>
<string>0930</string>
<string>0941</string>
<key>DTXcodeBuild</key>
<string>9E145</string>
<string>9F2000</string>
<key>InstallerSectionTitle</key>
<string>Pod Settings</string>
<key>NSHumanReadableCopyright</key>

View File

@@ -6,7 +6,7 @@
<dict>
<key>Resources/Base.lproj/MyInstallerPane.nib</key>
<data>
OYpMNvb8EiQSG3yCEHnvFzFqtTg=
aKxQwXTIcpu6B3yPxtjis9eW0pk=
</data>
<key>Resources/InstallerSections.plist</key>
<data>
@@ -37,11 +37,11 @@
<dict>
<key>hash</key>
<data>
OYpMNvb8EiQSG3yCEHnvFzFqtTg=
aKxQwXTIcpu6B3yPxtjis9eW0pk=
</data>
<key>hash2</key>
<data>
CFQLFIfiFkiEgu3AnrSMPL3RKqsXquavPkx2F78o2Ws=
ITybVAjeb1IqzMdzR5qSvqF1qupHZewwxvCNsHr/AM0=
</data>
</dict>
<key>Resources/InstallerSections.plist</key>

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14109" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14113" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14109"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14113"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@@ -19,6 +19,7 @@
<outlet property="autoLaunchCheckBox" destination="Zqh-0e-vtD" id="ETW-F7-I4U"/>
<outlet property="bringToFrontCheckBox" destination="2Me-7N-GvD" id="pH5-dt-hyv"/>
<outlet property="contentView" destination="TUK-W2-vig" id="gTd-A7-dof"/>
<outlet property="devToolsCheckBox" destination="TGe-oB-TBf" id="qqn-SW-zAf"/>
<outlet property="fullScreenCheckBox" destination="duA-yQ-iEf" id="0dM-Fa-K6i"/>
<outlet property="geoLocationCheckBox" destination="L6E-73-ezq" id="iLj-hy-quO"/>
<outlet property="mediaCheckBox" destination="B4Z-uk-s4I" id="NOT-XU-pPs"/>
@@ -44,11 +45,11 @@
<tabViewItems>
<tabViewItem label="Settings" identifier="" id="bcH-AH-92V">
<view key="view" id="ltw-L5-z8g">
<rect key="frame" x="10" y="33" width="439" height="335"/>
<rect key="frame" x="10" y="33" width="254" height="0.0"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bt3-SN-uKp">
<rect key="frame" x="152" y="278" width="245" height="22"/>
<rect key="frame" x="152" y="-57" width="245" height="22"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="https://corporate.symphony.com" drawsBackground="YES" usesSingleLineMode="YES" id="4WS-yY-IPf">
<font key="font" metaFont="system"/>
@@ -57,7 +58,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hdX-B9-o0w">
<rect key="frame" x="15" y="281" width="131" height="17"/>
<rect key="frame" x="15" y="-54" width="131" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Symphony Pod URL" id="R21-b3-R67">
<font key="font" metaFont="systemBold"/>
@@ -66,7 +67,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lRj-wz-i1m">
<rect key="frame" x="244" y="222" width="122" height="17"/>
<rect key="frame" x="244" y="-113" width="122" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Minimize on Close" id="VXX-cj-1fp">
<font key="font" metaFont="systemBold"/>
@@ -75,7 +76,7 @@
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="pJv-Z5-S8c">
<rect key="frame" x="244" y="152" width="79" height="27"/>
<rect key="frame" x="244" y="-183" width="79" height="27"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Enable" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Wks-ms-Dds">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
@@ -83,7 +84,7 @@
</buttonCell>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Oc1-Dm-yfg">
<rect key="frame" x="244" y="114" width="93" height="17"/>
<rect key="frame" x="244" y="-221" width="93" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Bring to Front" id="nNz-Ll-NWY">
<font key="font" metaFont="systemBold"/>
@@ -92,7 +93,7 @@
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2Me-7N-GvD">
<rect key="frame" x="244" y="45" width="79" height="27"/>
<rect key="frame" x="244" y="-290" width="79" height="27"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Enable" bezelStyle="regularSquare" imagePosition="left" inset="2" id="xdK-SE-fCI">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
@@ -100,7 +101,7 @@
</buttonCell>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="INy-Sf-8qZ">
<rect key="frame" x="15" y="221" width="124" height="17"/>
<rect key="frame" x="15" y="-114" width="124" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Launch on Startup" id="m0Q-sb-lur">
<font key="font" metaFont="systemBold"/>
@@ -109,7 +110,7 @@
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Zqh-0e-vtD">
<rect key="frame" x="15" y="152" width="79" height="27"/>
<rect key="frame" x="15" y="-183" width="79" height="27"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Enable" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="961-eU-jAZ">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
@@ -117,7 +118,7 @@
</buttonCell>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1Xi-cm-l1K">
<rect key="frame" x="244" y="185" width="175" height="28"/>
<rect key="frame" x="244" y="-150" width="175" height="28"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Minimize Symphony when closed" id="YlU-cU-Dpo">
<font key="font" metaFont="smallSystem"/>
@@ -126,7 +127,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="4up-16-Exw">
<rect key="frame" x="15" y="185" width="175" height="28"/>
<rect key="frame" x="15" y="-150" width="175" height="28"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Launch Symphony when computer starts" id="Gdo-1v-GBn">
<font key="font" metaFont="smallSystem"/>
@@ -135,7 +136,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="mch-Fi-uVp">
<rect key="frame" x="244" y="78" width="175" height="28"/>
<rect key="frame" x="244" y="-257" width="175" height="28"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Bring Symphony to front when message is received" id="eaz-Rv-tsn">
<font key="font" metaFont="smallSystem"/>
@@ -144,7 +145,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wzo-bc-Yl0">
<rect key="frame" x="15" y="114" width="99" height="17"/>
<rect key="frame" x="15" y="-221" width="99" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Always on Top" id="hAT-ho-9sn">
<font key="font" metaFont="systemBold"/>
@@ -153,7 +154,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KDh-Sm-XR0">
<rect key="frame" x="15" y="77" width="175" height="28"/>
<rect key="frame" x="15" y="-258" width="175" height="28"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Keep Symphony on top of other applications" id="hun-gL-63Y">
<font key="font" metaFont="smallSystem"/>
@@ -162,7 +163,7 @@
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="xJR-Fr-mRt">
<rect key="frame" x="15" y="44" width="79" height="27"/>
<rect key="frame" x="15" y="-291" width="79" height="27"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Enable" bezelStyle="regularSquare" imagePosition="left" inset="2" id="9CK-aX-XOH">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
@@ -170,7 +171,7 @@
</buttonCell>
</button>
<textField verticalHuggingPriority="750" fixedFrame="YES" allowsExpansionToolTips="YES" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lha-ib-BpX">
<rect key="frame" x="150" y="247" width="274" height="22"/>
<rect key="frame" x="150" y="-88" width="274" height="22"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" state="on" id="BfU-TS-qd2">
<font key="font" metaFont="smallSystem"/>
@@ -182,7 +183,7 @@
</view>
</tabViewItem>
<tabViewItem label="Permissions" identifier="" id="Tgb-j9-73A">
<view key="view" ambiguous="YES" id="50f-DH-wx7">
<view key="view" id="50f-DH-wx7">
<rect key="frame" x="10" y="33" width="439" height="335"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
@@ -371,6 +372,40 @@
</subviews>
</view>
</tabViewItem>
<tabViewItem label="Security" identifier="" id="vrn-fr-Dgw" userLabel="Security">
<view key="view" ambiguous="YES" id="m10-37-sFo">
<rect key="frame" x="10" y="33" width="439" height="335"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gme-WH-3ls">
<rect key="frame" x="15" y="284" width="114" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Enable Dev Tools" id="UlB-kZ-FRf">
<font key="font" metaFont="systemBold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="TGe-oB-TBf">
<rect key="frame" x="15" y="215" width="79" height="27"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Enable" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="ftT-x5-nva">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ggB-Ig-gRa">
<rect key="frame" x="15" y="248" width="112" height="28"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Enable dev tools for troubleshooting" id="XrC-xT-jAS">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
</view>
</tabViewItem>
</tabViewItems>
</tabView>
</subviews>

View File

@@ -15,6 +15,7 @@
@property (weak) IBOutlet NSButton *alwaysOnTopCheckBox;
@property (weak) IBOutlet NSTextField *podUrlAlertTextBox;
@property (weak) IBOutlet NSButton *bringToFrontCheckBox;
@property (weak) IBOutlet NSButton *devToolsCheckBox;
@property (weak) IBOutlet NSButton *mediaCheckBox;
@property (weak) IBOutlet NSButton *geoLocationCheckBox;

View File

@@ -71,6 +71,9 @@
// By default, set autoLaunchOnStart and minimizeOnClose to true
NSString *autoLaunchOnStart = @"true";
NSString *minimizeOnClose = @"true";
NSString *alwaysOnTop = @"false";
NSString *bringToFront = @"false";
NSString *devToolsEnabled = @"true\n";
// If the checkbox is changed, set the auto launch value accordingly
if ([_autoLaunchCheckBox state] == 0) {
@@ -82,10 +85,6 @@
minimizeOnClose = @"false";
}
// By default, set alwaysOnTop and bring to front to false
NSString *alwaysOnTop = @"false";
NSString *bringToFront = @"false\n";
// If the checkbox is changed, set the always on top value accordingly
if ([_alwaysOnTopCheckBox state] == 1) {
alwaysOnTop = @"true";
@@ -93,11 +92,16 @@
// If the checkbox is changed, set the bring to front value accordingly
if ([_bringToFrontCheckBox state] == 1) {
bringToFront = @"true\n";
bringToFront = @"true";
}
// If the checkbox is changed, set the dev tools enabled value accordingly
if ([_devToolsCheckBox state] == 0) {
devToolsEnabled = @"false\n";
}
// Create an array with the selected options
NSArray *symSettings = [[NSArray alloc] initWithObjects:podUrl, minimizeOnClose, autoLaunchOnStart, alwaysOnTop, bringToFront, nil];
NSArray *symSettings = [[NSArray alloc] initWithObjects:podUrl, minimizeOnClose, autoLaunchOnStart, alwaysOnTop, bringToFront, devToolsEnabled, nil];
// Create a string from the array with new-line as the separator
NSString *symSettingsString = [symSettings componentsJoinedByString:@"\n"];

View File

@@ -13,6 +13,7 @@ minimize_on_close=$(sed -n '2p' ${settingsFilePath});
launch_on_startup=$(sed -n '3p' ${settingsFilePath});
always_on_top=$(sed -n '4p' ${settingsFilePath});
bring_to_front=$(sed -n '5p' ${settingsFilePath});
dev_tools_enabled=$(sed -n '6p' ${settingsFilePath});
if [ "$pod_url" == "" ]; then
pod_url="https://corporate.symphony.com"
@@ -34,6 +35,10 @@ if [ "$bring_to_front" == "" ]; then
bring_to_front=false;
fi
if [ "$dev_tools_enabled" == "" ]; then
dev_tools_enabled=false;
fi
pod_url_escaped=$(sed 's#[&/\]#\\&#g' <<<"$pod_url")
## Replace the default settings with the user selected settings ##
@@ -42,6 +47,7 @@ sed -i "" -E "s#\"minimizeOnClose\" ?: ?([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])#
sed -i "" -E "s#\"alwaysOnTop\" ?: ?([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])#\"alwaysOnTop\":\ $always_on_top#g" ${newPath}
sed -i "" -E "s#\"launchOnStartup\" ?: ?([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])#\"launchOnStartup\":\ $launch_on_startup#g" ${newPath}
sed -i "" -E "s#\"bringToFront\" ?: ?([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])#\"bringToFront\":\ $bring_to_front#g" ${newPath}
sed -i "" -E "s#\"devToolsEnabled\" ?: ?([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])#\"devToolsEnabled\":\ $dev_tools_enabled#g" ${newPath}
## Remove the temp settings file created ##
rm -f ${settingsFilePath}
@@ -83,7 +89,6 @@ if [ "$open_external_app" == "" ]; then
open_external_app=true;
fi
## Replace the default permissions with the user selected permissions ##
sed -i "" -E "s#\"media\" ?: ?([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])#\"media\":\ $media#g" ${newPath}
sed -i "" -E "s#\"geolocation\" ?: ?([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])#\"geolocation\":\ $geo_location#g" ${newPath}

View File

@@ -746,7 +746,7 @@
<key>IC_REQUIREMENT_CPU_MINIMUM_CPU_CORES_COUNT</key>
<integer>1</integer>
<key>IC_REQUIREMENT_CPU_MINIMUM_FREQUENCY</key>
<integer>1000000</integer>
<integer>0</integer>
<key>IC_REQUIREMENT_CPU_POWERPC_ARCHITECTURE_TYPE</key>
<integer>0</integer>
</dict>
@@ -791,7 +791,7 @@
<key>NAME</key>
<string>Result of External Script</string>
<key>STATE</key>
<true/>
<false/>
</dict>
<dict>
<key>BEHAVIOR</key>
@@ -799,16 +799,23 @@
<key>DICTIONARY</key>
<dict>
<key>IC_REQUIREMENT_DISKSPACE_MINIMUM_SIZE_UNIT</key>
<integer>0</integer>
<integer>1</integer>
<key>IC_REQUIREMENT_DISKSPACE_MINIMUM_SIZE_VALUE</key>
<integer>500</integer>
<integer>1</integer>
</dict>
<key>IC_REQUIREMENT_CHECK_TYPE</key>
<integer>1</integer>
<key>IDENTIFIER</key>
<string>fr.whitebox.Packages.requirement.diskspace</string>
<key>MESSAGE</key>
<array/>
<array>
<dict>
<key>LANGUAGE</key>
<string>English</string>
<key>VALUE</key>
<string>There should be a minimum of 1 GB free space in the volume before installation</string>
</dict>
</array>
<key>NAME</key>
<string>Available Disk Space</string>
<key>STATE</key>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -23,7 +23,8 @@ let windowConfig = {
webPreferences: {
preload: path.join(__dirname, 'renderer.js'),
sandbox: true,
nodeIntegration: false
nodeIntegration: false,
devTools: false
}
};

View File

@@ -26,7 +26,8 @@ let windowConfig = {
webPreferences: {
preload: path.join(__dirname, 'renderer.js'),
sandbox: true,
nodeIntegration: false
nodeIntegration: false,
devTools: false
}
};

View File

@@ -27,7 +27,8 @@ let windowConfig = {
webPreferences: {
preload: path.join(__dirname, 'renderer.js'),
sandbox: true,
nodeIntegration: false
nodeIntegration: false,
devTools: false
}
};

View File

@@ -138,7 +138,8 @@ let config = {
webPreferences: {
preload: path.join(__dirname, 'electron-notify-preload.js'),
sandbox: sandboxed,
nodeIntegration: isNodeEnv
nodeIntegration: isNodeEnv,
devTools: false
}
}
};

View File

@@ -28,7 +28,8 @@ let windowConfig = {
webPreferences: {
preload: path.join(__dirname, 'configure-notification-position-preload.js'),
sandbox: sandboxed,
nodeIntegration: false
nodeIntegration: false,
devTools: false
}
};

View File

@@ -43,6 +43,7 @@ let position = 'lower-right';
let display;
let sandboxed = false;
let isAutoReload = false;
let devToolsEnabled = true;
const KeyCodes = {
Esc: 27,
@@ -102,9 +103,13 @@ function getParsedUrl(appUrl) {
* @param initialUrl
*/
function createMainWindow(initialUrl) {
getMultipleConfigField([ 'mainWinPos', 'isCustomTitleBar', 'locale' ])
let configParams = ['mainWinPos', 'isCustomTitleBar', 'locale', 'devToolsEnabled'];
getMultipleConfigField(configParams)
.then(configData => {
lang = configData.locale || app.getLocale();
lang = configData && configData.locale || app.getLocale();
devToolsEnabled = configData && configData.devToolsEnabled;
doCreateMainWindow(initialUrl, configData.mainWinPos, configData.isCustomTitleBar);
})
.catch(() => {
@@ -539,6 +544,10 @@ function doCreateMainWindow(initialUrl, initialBounds, isCustomTitleBar) {
handlePermissionRequests(browserWin.webContents);
browserWin.webContents.session.setCertificateVerifyProc(handleCertificateTransparencyChecks);
browserWin.webContents.on('devtools-opened', () => {
handleDevTools(browserWin);
});
}
});
} else {
@@ -561,6 +570,10 @@ function doCreateMainWindow(initialUrl, initialBounds, isCustomTitleBar) {
});
});
mainWindow.webContents.on('devtools-opened', () => {
handleDevTools(mainWindow);
});
/**
* Register shortcuts for the app
*/
@@ -682,6 +695,21 @@ function doCreateMainWindow(initialUrl, initialBounds, isCustomTitleBar) {
return callback(-2);
}
function handleDevTools(browserWindow) {
if (!devToolsEnabled) {
log.send(logLevels.INFO, `dev tools disabled for ${browserWindow.winName} window`);
browserWindow.webContents.closeDevTools();
electron.dialog.showMessageBox(browserWindow, {
type: 'warning',
buttons: ['Ok'],
title: i18n.getMessageFor('Dev Tools disabled'),
message: i18n.getMessageFor('Dev Tools has been disabled! Please contact your system administrator to enable it!'),
});
}
}
}
/**

View File

@@ -110,5 +110,7 @@
"please contact your administrator for more details": "please contact your administrator for more details",
"Your administrator has disabled": "Your administrator has disabled",
"Please contact your admin for help": "Please contact your admin for help",
"Permission Denied": "Permission Denied"
"Permission Denied": "Permission Denied",
"Dev Tools disabled": "Dev Tools disabled",
"Dev Tools has been disabled. Please contact your system administrator": "Dev Tools has been disabled. Please contact your system administrator"
}

View File

@@ -110,5 +110,7 @@
"please contact your administrator for more details": "詳細は、管理者にお問い合わせください",
"Your administrator has disabled": "管理者によて無効にされています",
"Please contact your admin for help": "不明な点がある場合は、管理者にお問い合わせください",
"Permission Denied": "アクセス許可が拒否されています"
"Permission Denied": "アクセス許可が拒否されています",
"Dev Tools disabled": "開発ツールを無効にする",
"Dev Tools has been disabled. Please contact your system administrator": "Dev Toolsが無効になっています。システム管理者に連絡してください"
}