Sandbox violations when trying to access fonts in non-standard locations
authorap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 31 May 2013 23:40:40 +0000 (23:40 +0000)
committerap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 31 May 2013 23:40:40 +0000 (23:40 +0000)
        https://bugs.webkit.org/show_bug.cgi?id=117097
        <rdar://problem/9264746>

        Reviewed by Anders Carlsson.

        The issue was that lack of a main xib was resulting in font machinery being
        initialized too early, before we entered sandbox.

        * Resources/WebContentProcess.xib: Added.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@151055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/Resources/WebContentProcess.xib [new file with mode: 0644]
Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
Source/WebKit2/WebProcess/EntryPoint/mac/LegacyProcess/Info.plist
Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist
Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist

index 3301389..381c20d 100644 (file)
@@ -1,5 +1,22 @@
 2013-05-31  Alexey Proskuryakov  <ap@apple.com>
 
+        Sandbox violations when trying to access fonts in non-standard locations
+        https://bugs.webkit.org/show_bug.cgi?id=117097
+        <rdar://problem/9264746>
+
+        Reviewed by Anders Carlsson.
+
+        The issue was that lack of a main xib was resulting in font machinery being
+        initialized too early, before we entered sandbox.
+
+        * Resources/WebContentProcess.xib: Added.
+        * WebKit2.xcodeproj/project.pbxproj:
+        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
+        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
+        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
+
+2013-05-31  Alexey Proskuryakov  <ap@apple.com>
+
         <rdar://problem/14036464> Sandbox violation when using Web SpeechSynthesis
 
         Reviewed by Anders Carlsson
diff --git a/Source/WebKit2/Resources/WebContentProcess.xib b/Source/WebKit2/Resources/WebContentProcess.xib
new file mode 100644 (file)
index 0000000..34ac6a2
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
+       <data>
+               <int key="IBDocument.SystemTarget">1070</int>
+               <string key="IBDocument.SystemVersion">11G63b</string>
+               <string key="IBDocument.InterfaceBuilderVersion">3084</string>
+               <string key="IBDocument.AppKitVersion">1138.51</string>
+               <string key="IBDocument.HIToolboxVersion">569.00</string>
+               <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+                       <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+                       <string key="NS.object.0">3084</string>
+               </object>
+               <array key="IBDocument.IntegratedClassDependencies">
+                       <string>NSCustomObject</string>
+               </array>
+               <array key="IBDocument.PluginDependencies">
+                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+               </array>
+               <object class="NSMutableDictionary" key="IBDocument.Metadata">
+                       <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+                       <integer value="1" key="NS.object.0"/>
+               </object>
+               <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+                       <object class="NSCustomObject" id="1001">
+                               <string key="NSClassName">NSObject</string>
+                       </object>
+                       <object class="NSCustomObject" id="1003">
+                               <string key="NSClassName">FirstResponder</string>
+                       </object>
+                       <object class="NSCustomObject" id="1004">
+                               <string key="NSClassName">NSApplication</string>
+                       </object>
+               </array>
+               <object class="IBObjectContainer" key="IBDocument.Objects">
+                       <bool key="usesAutoincrementingIDs">NO</bool>
+                       <array class="NSMutableArray" key="connectionRecords"/>
+                       <object class="IBMutableOrderedSet" key="objectRecords">
+                               <array key="orderedObjects">
+                                       <object class="IBObjectRecord">
+                                               <string key="id">0</string>
+                                               <array key="object" id="0"/>
+                                               <reference key="children" ref="1000"/>
+                                               <nil key="parent"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <string key="id">-2</string>
+                                               <reference key="object" ref="1001"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">File's Owner</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <string key="id">-1</string>
+                                               <reference key="object" ref="1003"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">First Responder</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <string key="id">-3</string>
+                                               <reference key="object" ref="1004"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">Application</string>
+                                       </object>
+                               </array>
+                       </object>
+                       <dictionary class="NSMutableDictionary" key="flattenedProperties">
+                               <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+                               <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+                               <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+                       </dictionary>
+                       <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+                       <nil key="activeLocalization"/>
+                       <dictionary class="NSMutableDictionary" key="localizations"/>
+                       <nil key="sourceID"/>
+               </object>
+               <object class="IBClassDescriber" key="IBDocument.Classes"/>
+               <int key="IBDocument.localizationMode">0</int>
+               <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+               <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+                       <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+                       <integer value="4600" key="NS.object.0"/>
+               </object>
+               <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+               <int key="IBDocument.defaultPropertyAccessControl">3</int>
+               <bool key="IBDocument.UseAutolayout">YES</bool>
+       </data>
+</archive>
index 0dad3ad..10c123d 100644 (file)
                E1B78473163F253E0007B692 /* RemoteNetworkingContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1B78472163F253E0007B692 /* RemoteNetworkingContext.mm */; };
                E1CC1B9012D7EADF00625838 /* PrintInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E1CC1B8E12D7EADF00625838 /* PrintInfo.h */; };
                E1CC1B9112D7EADF00625838 /* PrintInfoMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1CC1B8F12D7EADF00625838 /* PrintInfoMac.mm */; };
+               E1D26A51175964D70095BFD1 /* WebContentProcess.xib in Resources */ = {isa = PBXBuildFile; fileRef = E1D26A4C1759634E0095BFD1 /* WebContentProcess.xib */; };
+               E1D26A52175964D90095BFD1 /* WebContentProcess.xib in Resources */ = {isa = PBXBuildFile; fileRef = E1D26A4C1759634E0095BFD1 /* WebContentProcess.xib */; };
+               E1D26A53175964D90095BFD1 /* WebContentProcess.xib in Resources */ = {isa = PBXBuildFile; fileRef = E1D26A4C1759634E0095BFD1 /* WebContentProcess.xib */; };
                E1E552C416AE065F004ED653 /* SandboxInitialiationParametersMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1E552C216AE065E004ED653 /* SandboxInitialiationParametersMac.mm */; };
                E1E552C516AE065F004ED653 /* SandboxInitializationParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = E1E552C316AE065E004ED653 /* SandboxInitializationParameters.h */; };
                E1EDFDA8162886990039ECDA /* SharedWorkerProcessMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1EDFDA21628838C0039ECDA /* SharedWorkerProcessMac.mm */; };
                E1B78472163F253E0007B692 /* RemoteNetworkingContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteNetworkingContext.mm; sourceTree = "<group>"; };
                E1CC1B8E12D7EADF00625838 /* PrintInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintInfo.h; sourceTree = "<group>"; };
                E1CC1B8F12D7EADF00625838 /* PrintInfoMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PrintInfoMac.mm; sourceTree = "<group>"; };
+               E1D26A4C1759634E0095BFD1 /* WebContentProcess.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = WebContentProcess.xib; path = Resources/WebContentProcess.xib; sourceTree = "<group>"; };
                E1E552C216AE065E004ED653 /* SandboxInitialiationParametersMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SandboxInitialiationParametersMac.mm; sourceTree = "<group>"; };
                E1E552C316AE065E004ED653 /* SandboxInitializationParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SandboxInitializationParameters.h; sourceTree = "<group>"; };
                E1EDFD9D16287F190039ECDA /* SharedWorkerProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SharedWorkerProcess.h; sourceTree = "<group>"; };
                                1CB75C931701E880009F809F /* DockRight.pdf */,
                                8DC2EF5A0486A6940098B216 /* Info.plist */,
                                089C1666FE841158C02AAC07 /* InfoPlist.strings */,
+                               E1D26A4C1759634E0095BFD1 /* WebContentProcess.xib */,
                                E133FD891423DD7F00FC7BFB /* WebKit.icns */,
                        );
                        name = Resources;
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               E1D26A51175964D70095BFD1 /* WebContentProcess.xib in Resources */,
                                E133FD8A1423DD7F00FC7BFB /* WebKit.icns in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               E1D26A53175964D90095BFD1 /* WebContentProcess.xib in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               E1D26A52175964D90095BFD1 /* WebContentProcess.xib in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
index c5a10e1..666ee83 100644 (file)
@@ -34,5 +34,7 @@
        <string>WebContentProcessMain</string>
        <key>NSSupportsAutomaticGraphicsSwitching</key>
        <true/>
+       <key>NSMainNibFile</key>
+       <string>WebContentProcess</string>
 </dict>
 </plist>
index c0d3f22..da95564 100644 (file)
@@ -45,5 +45,7 @@
                <key>_MultipleInstances</key>
                <true/>
        </dict>
+       <key>NSMainNibFile</key>
+       <string>WebContentProcess</string>
 </dict>
 </plist>
index 6e30051..6fc5968 100644 (file)
@@ -34,6 +34,8 @@
        <true/>
        <key>NSSupportsAutomaticGraphicsSwitching</key>
        <true/>
+       <key>NSMainNibFile</key>
+       <string>WebContentProcess</string>
        <key>XPCService</key>
        <dict>
                <key>JoinExistingSession</key>