Create and destroy storage areas in the UI process
https://bugs.webkit.org/show_bug.cgi?id=111361

Reviewed by Sam Weinig.

* UIProcess/Storage/StorageManager.cpp:
(StorageManager::StorageArea):
Keep track of listener connection and storage area ID pairs.

(WebKit::StorageManager::StorageArea::~StorageArea):
Assert that we don't have any listeners left.

(WebKit::StorageManager::StorageArea::addListener):
Add the pair to the set of listeners.

(WebKit::StorageManager::StorageArea::removeListener):
Remove the pair from the set of listeners.

(WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
Given an origin, look up or create the storage area.

(WebKit::StorageManager::createStorageArea):
Create the storage area if it doesn't already exist.

(WebKit::StorageManager::destroyStorageArea):
Look up the storage area and destroy it.

* UIProcess/Storage/StorageManager.h:
Add a map of open storage areas.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144675 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Filename passed to FormData.append() takes precedence over filename in
File.
https://bugs.webkit.org/show_bug.cgi?id=111255

Patch by Victor Costan <costan@gmail.com> on 2013-03-04
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: http/tests/local/formdata/send-form-data-with-filename.html

* platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems): changed to implement the
behavior in the XMLHttpRequest W3C spec.

LayoutTests:

(runTest):
* http/tests/local/formdata/send-form-data-with-filename-expected.txt: Added.
* http/tests/local/formdata/send-form-data-with-filename.html: Added.
* http/tests/local/formdata/send-form-data-with-sliced-file-expected.txt: Updated
to reflect the behavior specified in the XMLHttpRequest W3C spec.
* platform/wk2/TestExpectations: newly added test doesn't work in
WebKit2 because beginDragWithFiles is not implemented

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