Add skeleton of the OfflineStorageProcess
https://bugs.webkit.org/show_bug.cgi?id=109615

Reviewed by Anders Carlsson.

This adds the skeleton of a new process to contain Database and Local Storage
backends in (hence, offline storage). We're adding a new process, rather than
using the Network or UIProcesses, to allow us to tightly sandbox these activities
away from networking and full filesystem access.

* Configurations/OfflineStorageProcess.xcconfig: Added.
* Configurations/OfflineStorageService.Development.xcconfig: Added.
* Configurations/OfflineStorageService.xcconfig: Added.
* DerivedSources.make:
* OfflineStorageProcess: Added.
* OfflineStorageProcess/EntryPoint: Added.
* OfflineStorageProcess/EntryPoint/mac: Added.
* OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Added.
* OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
* OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Added.
* OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Added.
* OfflineStorageProcess/OfflineStorageProcess.cpp: Added.
* OfflineStorageProcess/OfflineStorageProcess.h: Added.
* OfflineStorageProcess/OfflineStorageProcess.messages.in: Added.
* OfflineStorageProcess/mac: Added.
* OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Added.
(WebKit::OfflineStorageProcess::initializeProcessName):
(WebKit::OfflineStorageProcess::initializeSandbox):
* OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Added.
* Shared/OfflineStorage: Added.
* Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Added.
* Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Added.

* Scripts/webkit2/messages.py:
(struct_or_class):
Added OfflineStorageProcessCreationParameters.

* WebKit2.xcodeproj/project.pbxproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash when scrolling soon after page starts loading
https://bugs.webkit.org/show_bug.cgi?id=109631
<rdar://problem/13157533&13159627&13196727>

Reviewed by Anders Carlsson.

Make the scrolling tree more robust when the root state node,
and/or scrolling node are null. This can happen if we try to
handle a wheel event before we've done the first scrolling
tree commit.

* page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::commit): Handle the case where
m_rootStateNode is null. We'll still commit, but the state tree
will have no state nodes.
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::handleWheelEvent): Null-check m_rootNode.
(WebCore::ScrollingTree::commitNewTreeState): Handle a null root node.
(WebCore::ScrollingTree::updateTreeFromStateNode): If the rood state node
is null, just clear the map and null out the root scrolling node.
* page/scrolling/ScrollingTree.h: m_debugInfoLayer was unused.
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::ensureRootStateNodeForFrameView): It may be possible
to get here before we've registered the root scroll layer, in which case scrollLayerID()
will be 0. Assert to see if this can ever happen.
(WebCore::ScrollingCoordinatorMac::scrollingStateTreeAsText): Handle case of rootStateNode()
being null.

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