Snapshotted plugins must be able to restart on appropriate mouseup events
https://bugs.webkit.org/show_bug.cgi?id=113577

Reviewed by Tim Horton.

If the page content prevents the default behaviour of a mousedown event, then a snapshotted
plugin would never receive a click event, and thus be unable to restart. We have to also
look for a mouseup that happens with an associated mousedown, and trigger restart. This
won't call any page code - it's just behind the scenes.

* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize new member variable.
(WebCore::RenderSnapshottedPlugIn::handleEvent): Track the state of mousedown and up pairs, and restart
    if you see an appropriate mouseup.
* rendering/RenderSnapshottedPlugIn.h: New member variable to track mouse state.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] IndexedDB: Exceptions thrown inconsistently for non-cloneable values
https://bugs.webkit.org/show_bug.cgi?id=113091

Reviewed by Kentaro Hara.

Source/WebCore:

The exception thrown by SerializedScriptValue into the JS engine is not
observable by ScriptState. (We should fix that, but it appears non-trivial.)
Ask the SerializedScriptValue directly if it failed to clone. If so, don't
set an exception - one was already set so let that be processed normally.

Test: storage/indexeddb/clone-exception.html

* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::put):

LayoutTests:

* storage/indexeddb/clone-exception-expected.txt: Added.
* storage/indexeddb/clone-exception.html: Added.


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