Serialization of MapData object provides unsafe access to internal types
https://bugs.webkit.org/show_bug.cgi?id=138653

Patch by Oliver Hunt <oliver@apple.com> on 2014-12-04
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Converting these ASSERTs into RELEASE_ASSERTs, as it is now obvious
that despite trying hard to be safe in all cases it's simply to easy
to use an iterator in an unsafe state.

* runtime/MapData.h:
(JSC::MapData::const_iterator::key):
(JSC::MapData::const_iterator::value):

Source/WebCore:

We now keep the value portion of the key/value pair in MapData as a
separate stack. This allows us to maintain the spec semantic of
"atomic" serialisation of the key/value pair without retaining the
use of a potentially invalid iterator.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix cast-align warning in StringImpl.h
https://bugs.webkit.org/show_bug.cgi?id=139222

Reviewed by Anders Carlsson.

* wtf/text/StringImpl.h:
(WTF::StringImpl::tailPointer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Simplify StorageManager callback functions
https://bugs.webkit.org/show_bug.cgi?id=139257

Reviewed by Antti Koivisto.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::getOrigins):
(WebKit::StorageManager::getStorageDetailsByOrigin):
(WebKit::callCallbackFunction): Deleted.
(WebKit::StorageManager::getOriginsInternal): Deleted.
(WebKit::StorageManager::getStorageDetailsByOriginInternal): Deleted.
* UIProcess/Storage/StorageManager.h:
* UIProcess/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
(WebKit::didGetKeyValueStorageOrigins): Deleted.
(WebKit::didGetStorageDetailsByOrigin): Deleted.


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