Web Inspector: [regression] Settings panel fails to open.
https://bugs.webkit.org/show_bug.cgi?id=94647

Unreviewed: one line JS front-end fix.

* inspector/front-end/ScriptsSearchScope.js:
* inspector/front-end/Settings.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: IDBRequest can be GCd during event dispatch
https://bugs.webkit.org/show_bug.cgi?id=94235

Reviewed by Ojan Vafai.

Source/WebCore:

Avoid a "race" where GC may attempt to reclaim IDB objects that are marked
"done" prior to the completion of the event dispatch. The script runtime
may decide to do a GC pass before calling the event handler, releasing the
object and turning the dispatch into a no-op.

This is a partial reversion (with renames, etc) of r123275, r124842,
and r121492. Added a new test, although it does not exercise the "race"
condition directly.

Test: storage/indexeddb/pending-activity.html
      storage/indexeddb/pending-activity-workers.html

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::close): Let the IDBRequest know it this cursor won't
make it fire again.
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest): Reintroduce "am I done?" flag.
(WebCore::IDBRequest::finishCursor): Cursors may fire events at the same
IDBRequest repeatedly, so we need to know when they're are really done.
(WebCore):
(WebCore::IDBRequest::hasPendingActivity): Test the flag.
(WebCore::IDBRequest::dispatchEvent): Set the flag.
* Modules/indexeddb/IDBRequest.h:
(IDBRequest):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction): Reintroduce "am I done?" flag.
(WebCore::IDBTransaction::hasPendingActivity): Test the flag.
(WebCore::IDBTransaction::dispatchEvent): Set the flag.
* Modules/indexeddb/IDBTransaction.h:

LayoutTests:

Release references to IDBRequest and IDBTransaction objects and force GC,
to ensure that pending events are still fired. (Doesn't exercise race
condition where GC is triggered by script during dispatch itself, though.)

* storage/indexeddb/pending-activity-expected.txt: Added.
* storage/indexeddb/pending-activity-workers-expected.txt: Added.
* storage/indexeddb/pending-activity-workers.html: Added.
* storage/indexeddb/pending-activity.html: Added.
* storage/indexeddb/resources/pending-activity.js: Added.
(test):
(prepareDatabase.request.onsuccess.request.onsuccess.request.onsuccess):
(prepareDatabase.request.onsuccess.request.onsuccess):
(prepareDatabase.request.onsuccess):
(prepareDatabase):
(testTransaction):
(transactionOnComplete):
(testRequest):
(requestOnSuccess):
(testCursorRequest):
(cursorRequestOnFirstSuccess):
(cursorRequestOnSecondSuccess):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Chromium gardening. Rebaseline tests after http://trac.webkit.org/changeset/126225 .
https://bugs.webkit.org/show_bug.cgi?id=94665 filed to track optimization of these baselines.

* platform/chromium-linux-x86/fast/canvas/canvas-scale-shadowBlur-expected.txt: Added.
* platform/chromium-linux-x86/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Added.
* platform/chromium-linux-x86/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Added.
* platform/chromium-linux-x86/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Added.
* platform/chromium-linux/fast/canvas/canvas-scale-shadowBlur-expected.txt: Added.
* platform/chromium-linux/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Added.
* platform/chromium-linux/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Added.
* platform/chromium-linux/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/canvas/canvas-scale-shadowBlur-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Added.
* platform/chromium-mac/fast/canvas/canvas-scale-shadowBlur-expected.txt: Added.
* platform/chromium-mac/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Added.
* platform/chromium-mac/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Added.
* platform/chromium-mac/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Added.
* platform/chromium-win-xp/fast/canvas/canvas-scale-shadowBlur-expected.txt: Added.
* platform/chromium-win-xp/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Added.
* platform/chromium-win-xp/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Added.
* platform/chromium-win-xp/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Added.
* platform/chromium-win/fast/canvas/canvas-scale-shadowBlur-expected.txt: Added.
* platform/chromium-win/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Added.
* platform/chromium-win/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Added.
* platform/chromium-win/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/gpu/fast/canvas/canvas-scale-shadowBlur-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/gpu/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/gpu/fast/canvas/canvas-strokeRect-alpha-shadow-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/gpu/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make an event object clonable to support an event propagation across seamless iframes.
https://bugs.webkit.org/show_bug.cgi?id=93678

Reviewed by Dimitri Glazkov.

We should clone an event object when a event propagates across
seamless iframes.  Currently Event and MouseEvent are
supported. Support for other kinds of events will be addressed
later.

This is one of the pre-requirements to support an event
propagation across seamless iframes.

No new tests, no behavior change.

* dom/Event.cpp:
(WebCore::Event::cloneFor):
(WebCore):
* dom/Event.h:
(WebCore):
(Event):
* dom/MouseEvent.cpp:
(WebCore::adjustedClinetX):
(WebCore):
(WebCore::adjustedClinetY):
(WebCore::MouseEvent::cloneFor):
* dom/MouseEvent.h:
(MouseEvent):


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