[chromium] Remove the WebCompositorSupport virtual methods from the base class
https://bugs.webkit.org/show_bug.cgi?id=102153

Reviewed by James Robinson.

These methods have now been removed from WebCompositorSupportImpl in
chromium and should be removed from the base class. Everything is
going through WebLayerTreeSettings now.

* chromium/public/WebCompositorSupport.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WIN] Add WebCore::getRegistryValue()
https://bugs.webkit.org/show_bug.cgi?id=97828

Reviewed by Brent Fulgham.

The new function adds an abstraction to SHGetValue(), which isn't available on WinCE.
Changing the existing files allows us to share more code between WinCE and WinNT in a next step.

* platform/win/MIMETypeRegistryWin.cpp:
(WebCore::mimeTypeForExtension):
(WebCore):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
* platform/win/WindowsExtras.h:
(WebCore::getRegistryValue):
(WebCore):
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::addPluginPathsFromRegistry):
(WebCore::addWindowsMediaPlayerPluginDirectory):
(WebCore::addQuickTimePluginDirectory):
(WebCore::addAdobeAcrobatPluginDirectory):
(WebCore::addJavaPluginDirectory):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement .detune attribute for BiquadFilterNode
https://bugs.webkit.org/show_bug.cgi?id=102737

Reviewed by Kenneth Russell.

Source/WebCore:

Similar to OscillatorNode, BiquadFilterNode must have a .detune attribute

Tests changed: webaudio/biquad-lowpass.html

* Modules/webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
* Modules/webaudio/BiquadFilterNode.h:
(WebCore::BiquadFilterNode::detune):
* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::BiquadProcessor):
(WebCore::BiquadProcessor::checkForDirtyCoefficients):
* Modules/webaudio/BiquadProcessor.h:
(WebCore::BiquadProcessor::parameter4):
(BiquadProcessor):

LayoutTests:

* webaudio/biquad-lowpass.html:
* webaudio/resources/biquad-testing.js:
(createTestAndRun):
(generateReference):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DISALLOW_COPY_AND_ASSIGN is not a WebKit macro
https://bugs.webkit.org/show_bug.cgi?id=102755

Reviewed by Sam Weinig.

WTF_MAKE_NONCOPYABLE is the idiom we use in WebKit.  I don't understand
how this compiles.

* Modules/indexeddb/IDBBackingStore.h:
(RecordIdentifier):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove empirical bass-boost for HRTF spatialization
https://bugs.webkit.org/show_bug.cgi?id=102745

Reviewed by Kenneth Russell.

Some empirically-based post-processing is being removed so that we'll
now process with the exact HRTF impulse response measurements.
Listening tests have determined that this post-processing is not necessary.

* platform/audio/HRTFElevation.cpp:
(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
* platform/audio/HRTFKernel.cpp:
(WebCore::HRTFKernel::HRTFKernel):
* platform/audio/HRTFKernel.h:
(WebCore::HRTFKernel::create):
(HRTFKernel):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
For single element arrays use the pointer into the CFDataRef instead of copying data
https://bugs.webkit.org/show_bug.cgi?id=102306

Reviewed by Brent Fulgham.

Address review comments for slightly nicer code.

* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::data):
* platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::singleDataArrayBuffer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: convert delete-closed-database-object to upgradeneeded
https://bugs.webkit.org/show_bug.cgi?id=102458

Reviewed by Tony Chang.

This test relies on gc behavior and seems flaky in content_shell.

* storage/indexeddb/delete-closed-database-object-expected.txt:
* storage/indexeddb/resources/delete-closed-database-object.js:
(prepareDatabase):
(openSuccess.openRequest.onsuccess):
(openSuccess):
(setVersion):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: last setVersion excision batch
https://bugs.webkit.org/show_bug.cgi?id=102713

Reviewed by Tony Chang.

* storage/indexeddb/resources/setversion-blocked-by-versionchange-close-in-blocked.js: Removed.
  The crucial part of this test was a connection closing itself in its
  blocked callback. This is no longer possible as there's now only a
  handle to the connection after the blocked event is dealt with.

* storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
  This test exposes a cascade of errors. h2's should receive 0 blocked
  errors. Instead it receives 2.

* storage/indexeddb/resources/setversion-blocked.js: Removed.
  Tests the same thing as set_version_blocked.

* storage/indexeddb/resources/setversion-not-blocked.js:
  Now h2 is the version change connection and h1 is the blocker.

* storage/indexeddb/setversion-blocked-by-versionchange-close-in-blocked.html: Removed.
* storage/indexeddb/setversion-blocked.html: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [JSC] worker debugger shouldn't stop for "willExecuteProgram" instruction
https://bugs.webkit.org/show_bug.cgi?id=102637

Patch by Peter Wang <peter.wang@torchmobile.com.cn> on 2012-11-19
Reviewed by Timothy Hatcher.

Override the interface "willExecuteProgram" to let WorkerScriptDebugServer to avoid to stop for it.

No new DRT test case. Sorry, so far it seems impossible to write a case to controle the popupped
worker inspector window.

* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::createCallFrame):
(WebCore::ScriptDebugServer::callEvent):
(WebCore::ScriptDebugServer::willExecuteProgram):
* bindings/js/ScriptDebugServer.h:
(ScriptDebugServer):
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::willExecuteProgram):
(WebCore):
* bindings/js/WorkerScriptDebugServer.h:
(WorkerScriptDebugServer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMake] Create JavaScriptCore ForwardingHeaders
https://bugs.webkit.org/show_bug.cgi?id=92665

Reviewed by Brent Fulgham.

When using CMake to build the Windows port, we need
to generate the forwarding headers with it too.

* CMakeLists.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Complex series of opens/deleteDatabase fails an ASSERT
https://bugs.webkit.org/show_bug.cgi?id=101810

Reviewed by Tony Chang.

Source/WebCore:

Tests - storage/indexeddb/deletedatabase-delayed-by-versionchange.html

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
The condition tested by this assert is a valid state.

LayoutTests:

Removed use of setVersion. Surprisingly straightforward conversion
given how gnarly this test is.

* storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
* storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
(h1OpenSuccess.h1.onversionchange):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.h2.onversionchange):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onsuccess):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onblocked.h3Blocked.request.onsuccess):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onblocked):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onupgradeneeded.h3OnUpgradeneeded.transaction.oncomplete):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onupgradeneeded):
(h1OpenSuccess.request.onsuccess):
(h1OpenSuccess):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move more non-settings out of InternalSettings
https://bugs.webkit.org/show_bug.cgi?id=102711

Reviewed by Adam Barth.

Source/WebCore:

Remove userPreferredLanguages, setUserPreferredLanguages and allowRoundingHacks
from internal.settings since they are already exposed by window.internals (in
fact, no one calls the internal.settings version).

Move setUsesOverlayScrollbars from internals.settings to internals because it is
a global (static) setting and not tied to the lifetime of the Settings object.

No new tests, there should be no behavior change since this is a refactor.

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::reset): Remove custom reset code.
(WebCore::InternalSettings::setUsesOverlayScrollbars): Add exception code handling to make it more consistent with other settings setters.
* testing/InternalSettings.h:
* testing/InternalSettings.idl: Remove unnecessary methods.
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Reset userPreferredLanguages, allowRoundingHacks and overlay scrollbars.
(WebCore::Internals::userPreferredLanguages): Don't go through InternalSettings.
(WebCore::Internals::setUserPreferredLanguages): Don't go through InternalSettings.
(WebCore::Internals::setUsesOverlayScrollbars): Moved from InternalsSettings.
(WebCore::Internals::allowRoundingHacks): Don't go through InternalSettings.

LayoutTests:

Move static values out of InternalSettings.

* fast/scrolling/scrollbar-tickmarks-hittest.html: Move setUsesOverlayScrollbars to internals.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MutationObserver wrapper should not be collected while still observing
https://bugs.webkit.org/show_bug.cgi?id=102328

Reviewed by Adam Barth.

Source/WebCore:

Use the new opaqueRootForGC helper in V8GCController to put each
MutationObserver wrapper in the same object group as the nodes it's
observing.

Only includes V8 impl for now, JSC impl coming soon.

Tests: fast/mutation/observer-wrapper-dropoff-transient.html
       fast/mutation/observer-wrapper-dropoff.html

* bindings/v8/V8GCController.cpp: Add custom code for MutationObserver
with a FIXME to move this out once we update the opaque roots API.
* dom/MutationObserver.cpp:
(WebCore::MutationObserver::getObservedNodes): Plumbing to expose the observed nodes
to the GC controller.
(WebCore):
* dom/MutationObserver.h:
* dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::addRegistrationNodesToSet): More plumbing.
(WebCore):
* dom/MutationObserverRegistration.h:
(MutationObserverRegistration):

LayoutTests:

Tests showing that observers are kept alive, both in the simple case
and in the transient registered observer case (where the original
registration node is GCed but the transient observation node is still
alive).

* fast/mutation/observer-wrapper-dropoff-expected.txt: Added.
* fast/mutation/observer-wrapper-dropoff-transient-expected.txt: Added.
* fast/mutation/observer-wrapper-dropoff-transient.html: Added.
* fast/mutation/observer-wrapper-dropoff.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
In the IDL parser, we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102746

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

* bindings/scripts/IDLParser.pm:
(parseInterface):
(parseException):
(parseAttributeOrOperationRest):
(parseOperationOrIterator):
(parseSpecialOperation):
(parseInterfaceOld):
(parseExceptionOld):
(parseAttributeOrOperationOrIteratorOld):
(parseAttributeOrOperationRestOld):
(applyMemberList):
(applyExtendedAttributeList):
* bindings/scripts/generate-bindings.pl:
* bindings/scripts/preprocess-idls.pl:
(checkIDLAttributes):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Merge getCachedWrapper(Node*) into DOMDataStore
https://bugs.webkit.org/show_bug.cgi?id=102158

Reviewed by Eric Seidel.

This patch is an incremental step towards fully merging the Node code
path with the general code path. After this patch, at least Nodes flow
through the same class.

* Modules/indexeddb/IDBTransactionCoordinator.h:
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateToV8Converters):
* bindings/v8/DOMDataStore.h:
(WebCore::DOMDataStore::getNode):
(DOMDataStore):
(WebCore::DOMDataStore::getWrapperFromObject):
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
(WebCore):
* bindings/v8/DOMWrapperWorld.h:
(WebCore):
(DOMWrapperWorld):
* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
In CodeGeneratorJS.pm we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102748

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateInterface):
(GetParentClassName):
(GetGenerateIsReachable):
(GetCustomIsReachable):
(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeaderContentHeader):
(GenerateImplementationContentHeader):
(ShouldGenerateToJSDeclaration):
(ShouldGenerateToJSImplementation):
(GenerateHeader):
(GenerateAttributesHashTable):
(GenerateOverloadedFunction):
(GenerateImplementation):
(GenerateArgumentsCountCheck):
(GenerateParametersCheck):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(WriteData):
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
(IsConstructable):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
In CodeGeneratorCPP.pm we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102752

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorCPP.pm:
(GenerateInterface):
(GetParentImplClassName):
(GetParent):
(GenerateHeader):
(GenerateImplementation):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Block Zoom picks wrong block
https://bugs.webkit.org/show_bug.cgi?id=102728

Patch by Genevieve Mak <gmak@rim.com> on 2012-11-19
Reviewed by Rob Buis.

Reviewed Internally by Jakob Petsovits
Remove transform missed in previous commit for
https://bugs.webkit.org/show_bug.cgi?id=101608
PR #247198

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
In CodeGenerator.pm we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102754

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

* bindings/scripts/CodeGenerator.pm:
(ForAllParents):
(AddMethodsConstantsAndAttributesFromParentInterfaces):
(FindSuperMethod):
(IsConstructorTemplate):
(LinkOverloadedFunctions):
(GenerateCompileTimeCheckForEnumsIfNeeded):
(GetVisibleInterfaceName):
(IsSubType):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
In CodeGeneratorGObject.pm we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102751

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorGObject.pm:
(GetParentClassName):
(GetParentGObjType):
(GenerateProperties):
(GenerateFunctions):
(GenerateCFile):
(GenerateEventTargetIface):
(Generate):
(WriteData):
(GenerateInterface):


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