1. 21 Nov, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Remove ENABLE_WORKERS · f0eff209
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=105784
      
      .:
      
      Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-21
      Reviewed by Darin Adler.
      
      * Source/autotools/SetupWebKitFeatures.m4:
      * Source/cmake/WebKitFeatures.cmake:
      * Source/cmakeconfig.h.cmake:
      
      Source/WebCore:
      
      Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-21
      Reviewed by Darin Adler.
      
      Source/WebKit:
      
      Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-21
      Reviewed by Darin Adler.
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/efl:
      
      Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-21
      Reviewed by Darin Adler.
      
      * ewk/ewk_settings.cpp:
      (ewk_settings_memory_cache_clear):
      
      Source/WebKit/win:
      
      Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-21
      Reviewed by Darin Adler.
      
      * WebWorkersPrivate.cpp:
      (WebWorkersPrivate::workerThreadCount):
      
      Source/WTF:
      
      Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-21
      Reviewed by Darin Adler.
      
      * wtf/FeatureDefines.h:
      * wtf/nix/FeatureDefinesNix.h:
      
      Tools:
      
      Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-21
      Reviewed by Darin Adler.
      
      * Scripts/webkitperl/FeatureList.pm:
      
      WebKitLibraries:
      
      Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-21
      Reviewed by Darin Adler.
      
      * win/tools/vsprops/FeatureDefines.props:
      * win/tools/vsprops/FeatureDefinesCairo.props:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159679 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0eff209
  2. 15 Nov, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Modifying RTCIceCandidate object construction to match the spec · a1366a09
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124369
      
      Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-11-15
      Reviewed by Eric Carlson.
      
      According to the spec the RTCIceCandidateInit parameter in RTCSessionDescription constructor is optional,
      which must not be nullable, and, if passed, must be a valid Dictionary. If the keys are not present, the string
      object that stores them in the RTCIceCandidate class, must be null in those cases. Also, if a key is present
      and its value is not valid an exception must be raised.
      
      Source/WebCore:
      
      Existing test was updated.
      
      * GNUmakefile.list.am:
      * Modules/mediastream/RTCIceCandidate.cpp:
      (WebCore::RTCIceCandidate::create):
      * Modules/mediastream/RTCIceCandidate.idl:
      * UseJSC.cmake:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSRTCIceCandidateCustom.cpp: Added.
      (WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):
      
      LayoutTests:
      
      * fast/mediastream/RTCIceCandidate-expected.txt:
      * fast/mediastream/RTCIceCandidate.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1366a09
  3. 13 Nov, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Modifying RTCSessionDescription object construction to match the spec · 53a006ec
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124212
      
      Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-11-13
      Reviewed by Eric Carlson.
      
      According to the spec the RTCSessionDescriptionInit parameter in RTCSessionDescription constructor is optional,
      which must not be nullable. If the 'type' and/or 'sdp' keys are not present, the string object that stores
      them in the RTCSessionDescription class, must be null in those cases. Also, if an object that is not a
      Dictionary is passed as argument to the constructor, an exception must be raised.
      
      Source/WebCore:
      
      Existing test was updated.
      
      * GNUmakefile.list.am:
      * Modules/mediastream/RTCSessionDescription.cpp:
      (WebCore::RTCSessionDescription::create):
      * Modules/mediastream/RTCSessionDescription.idl:
      * UseJSC.cmake:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSRTCSessionDescriptionCustom.cpp: Added.
      (WebCore::JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription):
      
      LayoutTests:
      
      * fast/mediastream/RTCSessionDescription-expected.txt:
      * fast/mediastream/RTCSessionDescription.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53a006ec
  4. 08 Nov, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Checking for TypeError in RTCPeerConnection object creation · 9d56fba8
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124049
      
      Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-11-08
      Reviewed by Eric Carlson.
      
      Source/WebCore:
      
      If invalid parameters are passed on RTCPeerConnection creation we must throw a TypeError exception.
      According to the spec it requires a Dictionary argument, the RTCConfiguration, which is mandatory.
      
      Please notice that this patch does not make every tests run as expected,
      RTCPeerConnectionHandlerMock needs to be update to deal with contraints.
      
      Existing tests were updated.
      
      * GNUmakefile.list.am:
      * Modules/mediastream/RTCPeerConnection.idl:
      * UseJSC.cmake:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSRTCPeerConnectionCustom.cpp: Added.
      (WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):
      
      LayoutTests:
      
      Please notice that this patch does not make every tests run as expected,
      RTCPeerConnectionHandlerMock needs to be update to deal with contraints.
      
      * fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
      * fast/mediastream/RTCPeerConnection-createAnswer.html:
      * fast/mediastream/RTCPeerConnection-createOffer.html:
      * fast/mediastream/RTCPeerConnection-datachannel.html:
      * fast/mediastream/RTCPeerConnection-dtmf.html:
      * fast/mediastream/RTCPeerConnection-events.html:
      * fast/mediastream/RTCPeerConnection-expected.txt:
      * fast/mediastream/RTCPeerConnection-ice-expected.txt:
      * fast/mediastream/RTCPeerConnection-ice.html:
      * fast/mediastream/RTCPeerConnection-localDescription.html:
      * fast/mediastream/RTCPeerConnection-onnegotiationneeded.html:
      * fast/mediastream/RTCPeerConnection-remoteDescription.html:
      * fast/mediastream/RTCPeerConnection-stats-expected.txt:
      * fast/mediastream/RTCPeerConnection-stats.html:
      * fast/mediastream/RTCPeerConnection-statsSelector-expected.txt:
      * fast/mediastream/RTCPeerConnection-statsSelector.html:
      * fast/mediastream/RTCPeerConnection.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d56fba8
  5. 10 Oct, 2013 1 commit
  6. 08 Oct, 2013 1 commit
  7. 06 Oct, 2013 1 commit
    • darin@apple.com's avatar
      Remove unneeded ScriptGCEvent class · d5b7f4f8
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122390
      
      Reviewed by Anders Carlsson.
      
      Source/ThirdParty:
      
      * gtest/xcode/gtest.xcodeproj/project.pbxproj: Let Xcode update this file.
      Not really part of this bug fix, but good to land anyway.
      
      Source/WebCore:
      
      * GNUmakefile.list.am: Removed ScriptGCEvent files.
      * Target.pri: Ditto.
      * UseJSC.cmake: Ditto.
      * WebCore.exp.in: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      * bindings/js/JSBindingsAllInOne.cpp: Ditto.
      * bindings/js/ScriptGCEvent.cpp: Removed.
      * bindings/js/ScriptGCEvent.h: Removed.
      
      * inspector/InspectorMemoryAgent.cpp: Removed include.
      
      * inspector/InspectorTimelineAgent.cpp:
      (WebCore::InspectorTimelineAgent::start): Removed GC event listening.
      Some day we might add it back, but for now it is dead code.
      (WebCore::InspectorTimelineAgent::stop): Ditto.
      (WebCore::usedHeapSize): Renamed from getUsedHeapSize and put the
      implementation here instead of indirecting through ScriptGCEvent.
      (WebCore::InspectorTimelineAgent::setDOMCounters): Updated for above changes.
      (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): Ditto.
      (WebCore::InspectorTimelineAgent::pushCurrentRecord): Ditto.
      
      * inspector/InspectorTimelineAgent.h: Removed include.
      
      * inspector/ScriptGCEventListener.h: Removed.
      
      * testing/MemoryInfo.h: Updated to get heap capacity and size directly
      instead of going through ScriptGCEvent.
      
      Source/WebKit:
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      Replaced symbol from ScriptGCEvent with symbol from JSDOMWindowBase.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156989 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d5b7f4f8
  8. 30 Sep, 2013 1 commit
    • weinig@apple.com's avatar
      Remove support for DOMFileSystem · 7df82b33
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122137
      
      Reviewed by Anders Carlsson.
      
      .: 
      
      * Source/autotools/SetupWebKitFeatures.m4:
      * Source/cmake/OptionsBlackBerry.cmake:
      * Source/cmake/WebKitFeatures.cmake:
      * Source/cmakeconfig.h.cmake:
      
      Source/JavaScriptCore: 
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebCore: 
      
      * Files elided *
      
      Source/WebKit/blackberry: 
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::init):
      (BlackBerry::WebKit::WebPage::clearWebFileSystem):
      * WebCoreSupport/AboutDataEnableFeatures.in:
      
      Source/WebKit/efl: 
      
      * ewk/ewk_settings.cpp:
      (ewk_settings_file_system_path_set):
      
      Source/WebKit/mac: 
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebKit2: 
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WTF: 
      
      * wtf/FeatureDefines.h:
      
      Tools: 
      
      * Scripts/webkitperl/FeatureList.pm:
      * Scripts/webkitpy/style/checkers/cpp.py:
      (check_spacing):
      * Scripts/webkitpy/style/checkers/cpp_unittest.py:
      (CppStyleTest.test_spacing_for_binary_ops):
      * qmake/mkspecs/features/features.pri:
      
      LayoutTests: 
      
      * fast/dom/MutationObserver/filesystem-callback-delivery-expected.txt: Removed.
      * fast/dom/MutationObserver/filesystem-callback-delivery.html: Removed.
      * fast/filesystem: Removed.
      * fast/filesystem/async-operations-expected.txt: Removed.
      * fast/filesystem/async-operations.html: Removed.
      * fast/filesystem/cross-filesystem-op-expected.txt: Removed.
      * fast/filesystem/cross-filesystem-op.html: Removed.
      * fast/filesystem/directory-entry-to-uri-expected.txt: Removed.
      * fast/filesystem/directory-entry-to-uri.html: Removed.
      * fast/filesystem/entry-points-missing-arguments-expected.txt: Removed.
      * fast/filesystem/entry-points-missing-arguments.html: Removed.
      * fast/filesystem/file-after-reload-crash-expected.txt: Removed.
      * fast/filesystem/file-after-reload-crash.html: Removed.
      * fast/filesystem/file-entry-to-uri-expected.txt: Removed.
      * fast/filesystem/file-entry-to-uri.html: Removed.
      * fast/filesystem/file-from-file-entry-expected.txt: Removed.
      * fast/filesystem/file-from-file-entry.html: Removed.
      * fast/filesystem/file-metadata-after-write-expected.txt: Removed.
      * fast/filesystem/file-metadata-after-write.html: Removed.
      * fast/filesystem/file-writer-abort-continue-expected.txt: Removed.
      * fast/filesystem/file-writer-abort-continue.html: Removed.
      * fast/filesystem/file-writer-abort-depth-expected.txt: Removed.
      * fast/filesystem/file-writer-abort-depth.html: Removed.
      * fast/filesystem/file-writer-abort-expected.txt: Removed.
      * fast/filesystem/file-writer-abort.html: Removed.
      * fast/filesystem/file-writer-empty-blob-expected.txt: Removed.
      * fast/filesystem/file-writer-empty-blob.html: Removed.
      * fast/filesystem/file-writer-events-expected.txt: Removed.
      * fast/filesystem/file-writer-events.html: Removed.
      * fast/filesystem/file-writer-gc-blob-expected.txt: Removed.
      * fast/filesystem/file-writer-gc-blob.html: Removed.
      * fast/filesystem/file-writer-truncate-extend-expected.txt: Removed.
      * fast/filesystem/file-writer-truncate-extend.html: Removed.
      * fast/filesystem/file-writer-write-overlapped-expected.txt: Removed.
      * fast/filesystem/file-writer-write-overlapped.html: Removed.
      * fast/filesystem/filesystem-missing-arguments-expected.txt: Removed.
      * fast/filesystem/filesystem-missing-arguments.html: Removed.
      * fast/filesystem/filesystem-no-callback-null-ptr-crash-expected.txt: Removed.
      * fast/filesystem/filesystem-no-callback-null-ptr-crash.html: Removed.
      * fast/filesystem/filesystem-reference-expected.txt: Removed.
      * fast/filesystem/filesystem-reference.html: Removed.
      * fast/filesystem/filesystem-unserializable-expected.txt: Removed.
      * fast/filesystem/filesystem-unserializable.html: Removed.
      * fast/filesystem/filesystem-uri-origin-expected.txt: Removed.
      * fast/filesystem/filesystem-uri-origin.html: Removed.
      * fast/filesystem/flags-passing-expected.txt: Removed.
      * fast/filesystem/flags-passing.html: Removed.
      * fast/filesystem/input-access-entries-expected.txt: Removed.
      * fast/filesystem/input-access-entries.html: Removed.
      * fast/filesystem/not-enough-arguments-expected.txt: Removed.
      * fast/filesystem/not-enough-arguments.html: Removed.
      * fast/filesystem/op-copy-expected.txt: Removed.
      * fast/filesystem/op-copy.html: Removed.
      * fast/filesystem/op-get-entry-expected.txt: Removed.
      * fast/filesystem/op-get-entry.html: Removed.
      * fast/filesystem/op-get-metadata-expected.txt: Removed.
      * fast/filesystem/op-get-metadata.html: Removed.
      * fast/filesystem/op-get-parent-expected.txt: Removed.
      * fast/filesystem/op-get-parent.html: Removed.
      * fast/filesystem/op-move-expected.txt: Removed.
      * fast/filesystem/op-move.html: Removed.
      * fast/filesystem/op-read-directory-expected.txt: Removed.
      * fast/filesystem/op-read-directory.html: Removed.
      * fast/filesystem/op-remove-expected.txt: Removed.
      * fast/filesystem/op-remove.html: Removed.
      * fast/filesystem/op-restricted-chars-expected.txt: Removed.
      * fast/filesystem/op-restricted-chars.html: Removed.
      * fast/filesystem/op-restricted-names-expected.txt: Removed.
      * fast/filesystem/op-restricted-names.html: Removed.
      * fast/filesystem/op-restricted-unicode-expected.txt: Removed.
      * fast/filesystem/op-restricted-unicode.html: Removed.
      * fast/filesystem/read-directory-expected.txt: Removed.
      * fast/filesystem/read-directory.html: Removed.
      * fast/filesystem/resources: Removed.
      * fast/filesystem/resources/async-operations.js: Removed.
      * fast/filesystem/resources/directory-entry-to-uri.js: Removed.
      * fast/filesystem/resources/file-entry-to-uri-sync.js: Removed.
      * fast/filesystem/resources/file-entry-to-uri.js: Removed.
      * fast/filesystem/resources/file-from-file-entry-sync.js: Removed.
      * fast/filesystem/resources/file-from-file-entry.js: Removed.
      * fast/filesystem/resources/file-writer-abort-continue.js: Removed.
      * fast/filesystem/resources/file-writer-abort-depth.js: Removed.
      * fast/filesystem/resources/file-writer-abort.js: Removed.
      * fast/filesystem/resources/file-writer-empty-blob.js: Removed.
      * fast/filesystem/resources/file-writer-events.js: Removed.
      * fast/filesystem/resources/file-writer-gc-blob.js: Removed.
      * fast/filesystem/resources/file-writer-sync-truncate-extend.js: Removed.
      * fast/filesystem/resources/file-writer-sync-write-overlapped.js: Removed.
      * fast/filesystem/resources/file-writer-truncate-extend.js: Removed.
      * fast/filesystem/resources/file-writer-utils.js: Removed.
      * fast/filesystem/resources/file-writer-write-overlapped.js: Removed.
      * fast/filesystem/resources/fs-test-util.js: Removed.
      * fast/filesystem/resources/fs-worker-common.js: Removed.
      * fast/filesystem/resources/op-copy.js: Removed.
      * fast/filesystem/resources/op-get-entry.js: Removed.
      * fast/filesystem/resources/op-get-metadata.js: Removed.
      * fast/filesystem/resources/op-get-parent.js: Removed.
      * fast/filesystem/resources/op-move.js: Removed.
      * fast/filesystem/resources/op-read-directory.js: Removed.
      * fast/filesystem/resources/op-remove.js: Removed.
      * fast/filesystem/resources/op-restricted-chars.js: Removed.
      * fast/filesystem/resources/op-restricted-names.js: Removed.
      * fast/filesystem/resources/op-restricted-unicode.js: Removed.
      * fast/filesystem/resources/op-tests-helper.js: Removed.
      * fast/filesystem/resources/shared-worker-stub.js: Removed.
      * fast/filesystem/resources/simple-persistent-sync.js: Removed.
      * fast/filesystem/resources/simple-persistent.js: Removed.
      * fast/filesystem/resources/simple-readonly.js: Removed.
      * fast/filesystem/resources/simple-required-arguments-getdirectory.js: Removed.
      * fast/filesystem/resources/simple-required-arguments-getfile.js: Removed.
      * fast/filesystem/resources/simple-required-arguments-getmetadata.js: Removed.
      * fast/filesystem/resources/simple-required-arguments-remove.js: Removed.
      * fast/filesystem/resources/simple-temporary-sync.js: Removed.
      * fast/filesystem/resources/simple-temporary.js: Removed.
      * fast/filesystem/resources/sync-operations.js: Removed.
      * fast/filesystem/script-tests: Removed.
      * fast/filesystem/script-tests/TEMPLATE.html: Removed.
      * fast/filesystem/script-tests/filesystem-reference.js: Removed.
      * fast/filesystem/script-tests/filesystem-unserializable.js: Removed.
      * fast/filesystem/script-tests/flags-passing.js: Removed.
      * fast/filesystem/script-tests/read-directory.js: Removed.
      * fast/filesystem/simple-persistent-expected.txt: Removed.
      * fast/filesystem/simple-persistent.html: Removed.
      * fast/filesystem/simple-readonly-expected.txt: Removed.
      * fast/filesystem/simple-readonly-file-object-expected.txt: Removed.
      * fast/filesystem/simple-readonly-file-object.html: Removed.
      * fast/filesystem/simple-readonly.html: Removed.
      * fast/filesystem/simple-required-arguments-getdirectory-expected.txt: Removed.
      * fast/filesystem/simple-required-arguments-getdirectory.html: Removed.
      * fast/filesystem/simple-required-arguments-getfile-expected.txt: Removed.
      * fast/filesystem/simple-required-arguments-getfile.html: Removed.
      * fast/filesystem/simple-required-arguments-getmetadata-expected.txt: Removed.
      * fast/filesystem/simple-required-arguments-getmetadata.html: Removed.
      * fast/filesystem/simple-required-arguments-remove-expected.txt: Removed.
      * fast/filesystem/simple-required-arguments-remove.html: Removed.
      * fast/filesystem/simple-temporary-expected.txt: Removed.
      * fast/filesystem/simple-temporary.html: Removed.
      * fast/filesystem/workers: Removed.
      * fast/filesystem/workers/async-operations-expected.txt: Removed.
      * fast/filesystem/workers/async-operations.html: Removed.
      * fast/filesystem/workers/detached-frame-crash-expected.txt: Removed.
      * fast/filesystem/workers/detached-frame-crash.html: Removed.
      * fast/filesystem/workers/file-entry-to-uri-sync-expected.txt: Removed.
      * fast/filesystem/workers/file-entry-to-uri-sync.html: Removed.
      * fast/filesystem/workers/file-from-file-entry-expected.txt: Removed.
      * fast/filesystem/workers/file-from-file-entry-sync-expected.txt: Removed.
      * fast/filesystem/workers/file-from-file-entry-sync.html: Removed.
      * fast/filesystem/workers/file-from-file-entry.html: Removed.
      * fast/filesystem/workers/file-writer-empty-blob-expected.txt: Removed.
      * fast/filesystem/workers/file-writer-empty-blob.html: Removed.
      * fast/filesystem/workers/file-writer-events-expected.txt: Removed.
      * fast/filesystem/workers/file-writer-events-shared-worker-expected.txt: Removed.
      * fast/filesystem/workers/file-writer-events-shared-worker.html: Removed.
      * fast/filesystem/workers/file-writer-events.html: Removed.
      * fast/filesystem/workers/file-writer-gc-blob-expected.txt: Removed.
      * fast/filesystem/workers/file-writer-gc-blob.html: Removed.
      * fast/filesystem/workers/file-writer-sync-truncate-extend-expected.txt: Removed.
      * fast/filesystem/workers/file-writer-sync-truncate-extend.html: Removed.
      * fast/filesystem/workers/file-writer-sync-write-overlapped-expected.txt: Removed.
      * fast/filesystem/workers/file-writer-sync-write-overlapped.html: Removed.
      * fast/filesystem/workers/file-writer-truncate-extend-expected.txt: Removed.
      * fast/filesystem/workers/file-writer-truncate-extend.html: Removed.
      * fast/filesystem/workers/file-writer-write-overlapped-expected.txt: Removed.
      * fast/filesystem/workers/file-writer-write-overlapped.html: Removed.
      * fast/filesystem/workers/resources: Removed.
      * fast/filesystem/workers/resources/detached-frame-crash-frame.html: Removed.
      * fast/filesystem/workers/resources/detached-frame-crash-worker.js: Removed.
      * fast/filesystem/workers/simple-persistent-expected.txt: Removed.
      * fast/filesystem/workers/simple-persistent-sync-expected.txt: Removed.
      * fast/filesystem/workers/simple-persistent-sync.html: Removed.
      * fast/filesystem/workers/simple-persistent.html: Removed.
      * fast/filesystem/workers/simple-temporary-expected.txt: Removed.
      * fast/filesystem/workers/simple-temporary-sync-expected.txt: Removed.
      * fast/filesystem/workers/simple-temporary-sync.html: Removed.
      * fast/filesystem/workers/simple-temporary.html: Removed.
      * fast/filesystem/workers/sync-operations-expected.txt: Removed.
      * fast/filesystem/workers/sync-operations.html: Removed.
      * fast/forms/file/input-file-entries-expected.txt: Removed.
      * fast/forms/file/input-file-entries.html: Removed.
      * http/tests/filesystem: Removed.
      * http/tests/filesystem/no-cache-filesystem-url-expected.txt: Removed.
      * http/tests/filesystem/no-cache-filesystem-url.html: Removed.
      * http/tests/filesystem/resolve-uri-expected.txt: Removed.
      * http/tests/filesystem/resolve-uri.html: Removed.
      * http/tests/filesystem/resources: Removed.
      * http/tests/filesystem/resources/fs-test-util.js: Removed.
      * http/tests/filesystem/resources/fs-worker-common.js: Removed.
      * http/tests/filesystem/resources/fs-worker-test-util.js: Removed.
      * http/tests/filesystem/script-tests: Removed.
      * http/tests/filesystem/script-tests/TEMPLATE.html: Removed.
      * http/tests/filesystem/script-tests/resolve-uri.js: Removed.
      * http/tests/filesystem/workers: Removed.
      * http/tests/filesystem/workers/resolve-url-expected.txt: Removed.
      * http/tests/filesystem/workers/resolve-url-sync-expected.txt: Removed.
      * http/tests/filesystem/workers/resolve-url-sync.html: Removed.
      * http/tests/filesystem/workers/resolve-url.html: Removed.
      * http/tests/filesystem/workers/script-tests: Removed.
      * http/tests/filesystem/workers/script-tests/TEMPLATE.html: Removed.
      * http/tests/filesystem/workers/script-tests/resolve-url-sync.js: Removed.
      * http/tests/inspector/filesystem: Removed.
      * http/tests/inspector/filesystem/delete-entry-expected.txt: Removed.
      * http/tests/inspector/filesystem/delete-entry.html: Removed.
      * http/tests/inspector/filesystem/directory-tree-expected.txt: Removed.
      * http/tests/inspector/filesystem/directory-tree.html: Removed.
      * http/tests/inspector/filesystem/filesystem-test.js: Removed.
      * http/tests/inspector/filesystem/request-directory-content-expected.txt: Removed.
      * http/tests/inspector/filesystem/request-directory-content.html: Removed.
      * http/tests/inspector/filesystem/request-file-content-expected.txt: Removed.
      * http/tests/inspector/filesystem/request-file-content.html: Removed.
      * http/tests/inspector/filesystem/request-filesystem-root-expected.txt: Removed.
      * http/tests/inspector/filesystem/request-filesystem-root.html: Removed.
      * http/tests/inspector/filesystem/request-metadata-expected.txt: Removed.
      * http/tests/inspector/filesystem/request-metadata.html: Removed.
      * http/tests/security/contentSecurityPolicy/filesystem-urls-match-self-expected.txt: Removed.
      * http/tests/security/contentSecurityPolicy/filesystem-urls-match-self.html: Removed.
      * http/tests/security/filesystem-iframe-from-remote-expected.txt: Removed.
      * http/tests/security/filesystem-iframe-from-remote.html: Removed.
      * http/tests/security/mixedContent/filesystem-url-in-iframe-expected.txt: Removed.
      * http/tests/security/mixedContent/filesystem-url-in-iframe.html: Removed.
      * http/tests/websocket/tests/hybi/send-file-blob-expected.txt: Removed.
      * http/tests/websocket/tests/hybi/send-file-blob-fail-expected.txt: Removed.
      * http/tests/websocket/tests/hybi/send-file-blob-fail.html: Removed.
      * http/tests/websocket/tests/hybi/send-file-blob.html: Removed.
      * http/tests/workers/resources/sync-operations.js:
      (onmessage):
      * http/tests/workers/terminate-during-sync-operation-expected.txt: Removed.
      * http/tests/workers/terminate-during-sync-operation.html: Removed.
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/qt/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7df82b33
  9. 26 Sep, 2013 1 commit
    • akling@apple.com's avatar
      Remove empty JSFooCustom.cpp files. · ef24047f
      akling@apple.com authored
      <https://webkit.org/b/121955>
      
      Reviewed by Anders Carlsson.
      
      There's no sense in slowing down build times with empty files that
      still include a bunch of headers.
      
      * bindings/js/JSAudioBufferCustom.cpp: Removed.
      * bindings/js/JSCSSFontFaceRuleCustom.cpp: Removed.
      * bindings/js/JSCSSImportRuleCustom.cpp: Removed.
      * bindings/js/JSCSSMediaRuleCustom.cpp: Removed.
      * bindings/js/JSCSSPageRuleCustom.cpp: Removed.
      * bindings/js/JSCSSStyleRuleCustom.cpp: Removed.
      * bindings/js/JSDOMImplementationCustom.cpp: Removed.
      * bindings/js/JSDOMTokenListCustom.cpp: Removed.
      * bindings/js/JSHTMLStyleElementCustom.cpp: Removed.
      * bindings/js/JSMediaListCustom.cpp: Removed.
      * bindings/js/JSProcessingInstructionCustom.cpp: Removed.
      * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Removed.
      * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Removed.
      * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef24047f
  10. 21 Sep, 2013 1 commit
    • darin@apple.com's avatar
      Shink attribute event listener code · 197597bb
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121735
      
      Reviewed by Antti Koivisto.
      
      * GNUmakefile.list.am: Eliminate ScriptEventListener source files.
      * Target.pri: Ditto.
      * UseJSC.cmake: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      * bindings/js/JSBindingsAllInOne.cpp: Ditto.
      
      * bindings/js/JSDOMGlobalObject.h: Removed unneeded forward declarations
      of JSEventListener and JSLazyEventListener.
      
      * bindings/js/JSLazyEventListener.cpp:
      (WebCore::JSLazyEventListener::JSLazyEventListener): Changed type to
      ContainerNode because the node pointer is only ever used for elements
      and documents.
      (WebCore::eventParameterName): Moved this function here from
      ScriptEventListener.cpp, but also rewrote to use NeverDestroyed.
      (WebCore::JSLazyEventListener::createForNode): Moved this function
      here from ScriptEventListener.cpp, cleaned up a bit.
      (WebCore::JSLazyEventListener::createForDOMWindow): Ditto.
      
      * bindings/js/JSLazyEventListener.h: Replaced the old create function
      with two new create functions we can use directly. Also used some
      OVERRIDE, some FINAL, and a bit of WTF_DELETED_FUNCTION so we don't
      accidentally call create and create a non-lazy listener.
      
      * bindings/js/ScriptEventListener.cpp: Removed.
      * bindings/js/ScriptEventListener.h: Removed.
      
      * dom/ContainerNode.cpp:
      (WebCore::ContainerNode::setAttributeEventListener): Added.
      Calls JSLazyEventListener::createForNode and then calls the other
      overload of setAttributeEventListener, to obviate having more code
      at the call site.
      * dom/ContainerNode.h: Added overload of setAttributeEventListener
      for convenient use in Document and Element implementations.
      
      * dom/Document.cpp:
      (WebCore::Document::prepareForDestruction): Use m_domWindow instead
      of the domWindow() function.
      (WebCore::Document::removeAllEventListeners): Ditto.
      (WebCore::Document::errorEventTarget): Ditto.
      (WebCore::Document::takeDOMWindowFrom): Ditto.
      (WebCore::Document::setWindowAttributeEventListener): Ditto. Also
      added an overload that calls JSLazyEventListener::createForDOMWindow.
      (WebCore::Document::getWindowAttributeEventListener): Use m_domWindow.
      (WebCore::Document::dispatchWindowEvent): Ditto.
      (WebCore::Document::dispatchWindowLoadEvent): Ditto.
      (WebCore::Document::enqueueWindowEvent): Ditto.
      (WebCore::Document::enqueuePopstateEvent): Ditto.
      * dom/Document.h: Added overload of setWindowAttributeEventListener.
      
      * html/HTMLBodyElement.cpp: Removed unnneded include.
      (WebCore::HTMLBodyElement::parseAttribute): Removed all the calls to
      createAttributeEventListener, and use the setAttributeEventListener
      overloads instead.
      * html/HTMLButtonElement.cpp: Ditto.
      * html/HTMLElement.cpp:
      (WebCore::HTMLElement::parseAttribute): Ditto.
      * html/HTMLFormControlElement.cpp: Ditto.
      * html/HTMLFormElement.cpp: Ditto.
      * html/HTMLFrameElementBase.cpp:
      (WebCore::HTMLFrameElementBase::parseAttribute): Ditto.
      * html/HTMLFrameSetElement.cpp:
      (WebCore::HTMLFrameSetElement::parseAttribute): Ditto.
      * html/HTMLImageElement.cpp:
      (WebCore::HTMLImageElement::parseAttribute): Ditto.
      * html/HTMLInputElement.cpp:
      (WebCore::HTMLInputElement::parseAttribute): Ditto.
      * html/HTMLLinkElement.cpp:
      (WebCore::HTMLLinkElement::parseAttribute): Ditto.
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::parseAttribute): Ditto.
      * html/HTMLObjectElement.cpp:
      (WebCore::HTMLObjectElement::parseAttribute): Ditto.
      * html/HTMLScriptElement.cpp:
      (WebCore::HTMLScriptElement::parseAttribute): Ditto.
      * html/HTMLSelectElement.cpp: Ditto.
      * html/HTMLStyleElement.cpp: Ditto.
      * html/HTMLTextFormControlElement.cpp: Ditto.
      * html/HTMLTrackElement.cpp: Ditto.
      * html/track/LoadableTextTrack.cpp: Ditto.
      * svg/SVGElement.cpp:
      (WebCore::SVGElement::parseAttribute): Ditto.
      * svg/SVGSVGElement.cpp:
      (WebCore::SVGSVGElement::parseAttribute): Ditto.
      * svg/SVGScriptElement.cpp:
      (WebCore::SVGScriptElement::parseAttribute): Ditto.
      
      * inspector/InspectorDOMAgent.cpp:
      (WebCore::InspectorDOMAgent::buildObjectForEventListener):
      Moved the code here to dig inside a JSEventListener for things like
      the source location. This used to be spread across multiple function
      calls in ScriptEventListener.h, which were doing and redoing the same
      things, so better to just get it all at once.
      
      * html/parser/XSSAuditor.cpp:
      (WebCore::XSSAuditor::init): Fixed "minium" typo.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      197597bb
  11. 14 Sep, 2013 1 commit
    • weinig@apple.com's avatar
      There is no need for any custom bindings for Console · 1dc3b821
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121338
      
      Reviewed by Timothy Hatcher.
      
      * GNUmakefile.list.am:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSBindingsAllInOne.cpp:
      Remove JSConsoleCustom.cpp from project files.
      
      * bindings/js/JSConsoleCustom.cpp:
      Removed.
      
      * page/Console.cpp:
      (WebCore::Console::profile):
      (WebCore::Console::profileEnd):
      * page/Console.h:
      Swap the order of the arguments to appease the bindings generator.
      
      * page/Console.idl:
      Add the [CallWith=ScriptState] attribute to pass the ExecState
      and [TreatNullAs=NullString, TreatUndefinedAs=NullString] to get
      the right stringification.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155774 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1dc3b821
  12. 13 Sep, 2013 2 commits
  13. 26 Aug, 2013 1 commit
    • weinig@apple.com's avatar
      Add support for Promises · bd760697
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120260
      
      Reviewed by Darin Adler.
      
      Source/JavaScriptCore: 
      
      Add an initial implementation of Promises - http://dom.spec.whatwg.org/#promises.
      - Despite Promises being defined in the DOM, the implementation is being put in JSC
        in preparation for the Promises eventually being defined in ECMAScript.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      Add new files.
      
      * jsc.cpp:
      Update jsc's GlobalObjectMethodTable to stub out the new QueueTaskToEventLoop callback. This mean's
      you can't quite use Promises with with the command line tool yet.
          
      * interpreter/CallFrame.h:
      (JSC::ExecState::promisePrototypeTable):
      (JSC::ExecState::promiseConstructorTable):
      (JSC::ExecState::promiseResolverPrototypeTable):
      * runtime/VM.cpp:
      (JSC::VM::VM):
      (JSC::VM::~VM):
      * runtime/VM.h:
      Add supporting code for the new static lookup tables.
      
      * runtime/CommonIdentifiers.h:
      Add 3 new identifiers, "Promise", "PromiseResolver", and "then".
      
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset):
      (JSC::JSGlobalObject::visitChildren):
      Add supporting code Promise and PromiseResolver's constructors and structures.
      
      * runtime/JSGlobalObject.h:
      (JSC::TaskContext::~TaskContext):
      Add a new callback to the GlobalObjectMethodTable to post a task on the embedder's runloop.
      
      (JSC::JSGlobalObject::promisePrototype):
      (JSC::JSGlobalObject::promiseResolverPrototype):
      (JSC::JSGlobalObject::promiseStructure):
      (JSC::JSGlobalObject::promiseResolverStructure):
      (JSC::JSGlobalObject::promiseCallbackStructure):
      (JSC::JSGlobalObject::promiseWrapperCallbackStructure):
      Add supporting code Promise and PromiseResolver's constructors and structures.
      
      * runtime/JSPromise.cpp: Added.
      * runtime/JSPromise.h: Added.
      * runtime/JSPromiseCallback.cpp: Added.
      * runtime/JSPromiseCallback.h: Added.
      * runtime/JSPromiseConstructor.cpp: Added.
      * runtime/JSPromiseConstructor.h: Added.
      * runtime/JSPromisePrototype.cpp: Added.
      * runtime/JSPromisePrototype.h: Added.
      * runtime/JSPromiseResolver.cpp: Added.
      * runtime/JSPromiseResolver.h: Added.
      * runtime/JSPromiseResolverConstructor.cpp: Added.
      * runtime/JSPromiseResolverConstructor.h: Added.
      * runtime/JSPromiseResolverPrototype.cpp: Added.
      * runtime/JSPromiseResolverPrototype.h: Added.
      Add Promise implementation.
      
      Source/WebCore: 
      
      Add an initial implementation of Promises - http://dom.spec.whatwg.org/#promises.
      - Despite Promises being defined in the DOM, the implementation is being put in JSC
        in preparation for the Promises eventually being defined in ECMAScript.
      
      Tests: fast/js/Promise-already-fulfilled.html
             fast/js/Promise-already-rejected.html
             fast/js/Promise-already-resolved.html
             fast/js/Promise-catch-in-workers.html
             fast/js/Promise-catch.html
             fast/js/Promise-chain.html
             fast/js/Promise-exception.html
             fast/js/Promise-fulfill-in-workers.html
             fast/js/Promise-fulfill.html
             fast/js/Promise-init-in-workers.html
             fast/js/Promise-init.html
             fast/js/Promise-reject-in-workers.html
             fast/js/Promise-reject.html
             fast/js/Promise-resolve-chain.html
             fast/js/Promise-resolve-in-workers.html
             fast/js/Promise-resolve-with-then-exception.html
             fast/js/Promise-resolve-with-then-fulfill.html
             fast/js/Promise-resolve-with-then-reject.html
             fast/js/Promise-resolve.html
             fast/js/Promise-simple-fulfill-inside-callback.html
             fast/js/Promise-simple-fulfill.html
             fast/js/Promise-simple-in-workers.html
             fast/js/Promise-simple.html
             fast/js/Promise-static-fulfill.html
             fast/js/Promise-static-reject.html
             fast/js/Promise-static-resolve.html
             fast/js/Promise-then-in-workers.html
             fast/js/Promise-then-without-callbacks-in-workers.html
             fast/js/Promise-then-without-callbacks.html
             fast/js/Promise-then.html
             fast/js/Promise-types.html
             fast/js/Promise.html
      
      * GNUmakefile.list.am:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSBindingsAllInOne.cpp:
      Add new files.
      
      * bindings/js/JSDOMGlobalObjectTask.cpp: Added.
      (WebCore::JSGlobalObjectCallback::create):
      (WebCore::JSGlobalObjectCallback::~JSGlobalObjectCallback):
      (WebCore::JSGlobalObjectCallback::call):
      (WebCore::JSGlobalObjectCallback::JSGlobalObjectCallback):
      (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
      (WebCore::JSGlobalObjectTask::~JSGlobalObjectTask):
      (WebCore::JSGlobalObjectTask::performTask):
      * bindings/js/JSDOMGlobalObjectTask.h: Added.
      (WebCore::JSGlobalObjectTask::create):
      Add a new task type to be used with the GlobalObjectMethodTable's new QueueTaskToEventLoop callback.
      
      * bindings/js/JSDOMWindowBase.cpp:
      (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
      * bindings/js/JSDOMWindowBase.h:
      Implement the GlobalObjectMethodTable callback, QueueTaskToEventLoop. 
      
      * bindings/js/JSMainThreadExecState.h:
      All using JSMainThreadExecState as a simple RAII object.
      
      * bindings/js/JSWorkerGlobalScopeBase.cpp:
      (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
      (WebCore::JSWorkerGlobalScopeBase::allowsAccessFrom):
      (WebCore::JSWorkerGlobalScopeBase::supportsProfiling):
      (WebCore::JSWorkerGlobalScopeBase::supportsRichSourceInfo):
      (WebCore::JSWorkerGlobalScopeBase::shouldInterruptScript):
      (WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled):
      (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
      * bindings/js/JSWorkerGlobalScopeBase.h:
      Add a GlobalObjectMethodTable and implement QueueTaskToEventLoop. Forward the other callbacks
      to JSGlobalObject so they retain their existing behavior.
      
      LayoutTests: 
      
      Add tests adapted from the Mozilla and Blink projects.
      
      * fast/js/Promise-already-fulfilled-expected.txt: Added.
      * fast/js/Promise-already-fulfilled.html: Added.
      * fast/js/Promise-already-rejected-expected.txt: Added.
      * fast/js/Promise-already-rejected.html: Added.
      * fast/js/Promise-already-resolved-expected.txt: Added.
      * fast/js/Promise-already-resolved.html: Added.
      * fast/js/Promise-catch-expected.txt: Added.
      * fast/js/Promise-catch-in-workers-expected.txt: Added.
      * fast/js/Promise-catch-in-workers.html: Added.
      * fast/js/Promise-catch.html: Added.
      * fast/js/Promise-chain-expected.txt: Added.
      * fast/js/Promise-chain.html: Added.
      * fast/js/Promise-exception-expected.txt: Added.
      * fast/js/Promise-exception.html: Added.
      * fast/js/Promise-expected.txt: Added.
      * fast/js/Promise-fulfill-expected.txt: Added.
      * fast/js/Promise-fulfill-in-workers-expected.txt: Added.
      * fast/js/Promise-fulfill-in-workers.html: Added.
      * fast/js/Promise-fulfill.html: Added.
      * fast/js/Promise-init-expected.txt: Added.
      * fast/js/Promise-init-in-workers-expected.txt: Added.
      * fast/js/Promise-init-in-workers.html: Added.
      * fast/js/Promise-init.html: Added.
      * fast/js/Promise-reject-expected.txt: Added.
      * fast/js/Promise-reject-in-workers-expected.txt: Added.
      * fast/js/Promise-reject-in-workers.html: Added.
      * fast/js/Promise-reject.html: Added.
      * fast/js/Promise-resolve-chain-expected.txt: Added.
      * fast/js/Promise-resolve-chain.html: Added.
      * fast/js/Promise-resolve-expected.txt: Added.
      * fast/js/Promise-resolve-in-workers-expected.txt: Added.
      * fast/js/Promise-resolve-in-workers.html: Added.
      * fast/js/Promise-resolve-with-then-exception-expected.txt: Added.
      * fast/js/Promise-resolve-with-then-exception.html: Added.
      * fast/js/Promise-resolve-with-then-fulfill-expected.txt: Added.
      * fast/js/Promise-resolve-with-then-fulfill.html: Added.
      * fast/js/Promise-resolve-with-then-reject-expected.txt: Added.
      * fast/js/Promise-resolve-with-then-reject.html: Added.
      * fast/js/Promise-resolve.html: Added.
      * fast/js/Promise-simple-expected.txt: Added.
      * fast/js/Promise-simple-fulfill-expected.txt: Added.
      * fast/js/Promise-simple-fulfill-inside-callback-expected.txt: Added.
      * fast/js/Promise-simple-fulfill-inside-callback.html: Added.
      * fast/js/Promise-simple-fulfill.html: Added.
      * fast/js/Promise-simple-in-workers-expected.txt: Added.
      * fast/js/Promise-simple-in-workers.html: Added.
      * fast/js/Promise-simple.html: Added.
      * fast/js/Promise-static-fulfill-expected.txt: Added.
      * fast/js/Promise-static-fulfill.html: Added.
      * fast/js/Promise-static-reject-expected.txt: Added.
      * fast/js/Promise-static-reject.html: Added.
      * fast/js/Promise-static-resolve-expected.txt: Added.
      * fast/js/Promise-static-resolve.html: Added.
      * fast/js/Promise-then-expected.txt: Added.
      * fast/js/Promise-then-in-workers-expected.txt: Added.
      * fast/js/Promise-then-in-workers.html: Added.
      * fast/js/Promise-then-without-callbacks-expected.txt: Added.
      * fast/js/Promise-then-without-callbacks-in-workers-expected.txt: Added.
      * fast/js/Promise-then-without-callbacks-in-workers.html: Added.
      * fast/js/Promise-then-without-callbacks.html: Added.
      * fast/js/Promise-then.html: Added.
      * fast/js/Promise-types-expected.txt: Added.
      * fast/js/Promise-types.html: Added.
      * fast/js/Promise.html: Added.
      * fast/js/resources/Promise-catch-in-workers.js: Added.
      * fast/js/resources/Promise-fulfill-in-workers.js: Added.
      * fast/js/resources/Promise-init-in-workers.js: Added.
      * fast/js/resources/Promise-reject-in-workers.js: Added.
      * fast/js/resources/Promise-resolve-in-workers.js: Added.
      * fast/js/resources/Promise-simple-in-workers.js: Added.
      * fast/js/resources/Promise-then-in-workers.js: Added.
      * fast/js/resources/Promise-then-without-callbacks-in-workers.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd760697
  14. 15 Aug, 2013 1 commit
    • fpizlo@apple.com's avatar
      Typed arrays should be rewritten · 0e0d9312
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119064
      
      .: 
      
      Reviewed by Oliver Hunt.
      
      Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
      
      * Source/autotools/symbols.filter:
      
      Source/JavaScriptCore: 
      
      Reviewed by Oliver Hunt.
              
      Typed arrays were previously deficient in several major ways:
              
      - They were defined separately in WebCore and in the jsc shell. The two
        implementations were different, and the jsc shell one was basically wrong.
        The WebCore one was quite awful, also.
              
      - Typed arrays were not visible to the JIT except through some weird hooks.
        For example, the JIT could not ask "what is the Structure that this typed
        array would have if I just allocated it from this global object". Also,
        it was difficult to wire any of the typed array intrinsics, because most
        of the functionality wasn't visible anywhere in JSC.
              
      - Typed array allocation was brain-dead. Allocating a typed array involved
        two JS objects, two GC weak handles, and three malloc allocations.
              
      - Neutering. It involved keeping tabs on all native views but not the view
        wrappers, even though the native views can autoneuter just by asking the
        buffer if it was neutered anytime you touch them; while the JS view
        wrappers are the ones that you really want to reach out to.
              
      - Common case-ing. Most typed arrays have one buffer and one view, and
        usually nobody touches the buffer. Yet we created all of that stuff
        anyway, using data structures optimized for the case where you had a lot
        of views.
              
      - Semantic goofs. Typed arrays should, in the future, behave like ES
        features rather than DOM features, for example when it comes to exceptions.
        Firefox already does this and I agree with them.
              
      This patch cleanses our codebase of these sins:
              
      - Typed arrays are almost entirely defined in JSC. Only the lifecycle
        management of native references to buffers is left to WebCore.
              
      - Allocating a typed array requires either two GC allocations (a cell and a
        copied storage vector) or one GC allocation, a malloc allocation, and a
        weak handle (a cell and a malloc'd storage vector, plus a finalizer for the
        latter). The latter is only used for oversize arrays. Remember that before
        it was 7 allocations no matter what.
              
      - Typed arrays require just 4 words of overhead: Structure*, Butterfly*,
        mode/length, void* vector. Before it was a lot more than that - remember,
        there were five additional objects that did absolutely nothing for anybody.
              
      - Native views aren't tracked by the buffer, or by the wrappers. They are
        transient. In the future we'll probably switch to not even having them be
        malloc'd.
              
      - Native array buffers have an efficient way of tracking all of their JS view
        wrappers, both for neutering, and for lifecycle management. The GC
        special-cases native array buffers. This saves a bunch of grief; for example
        it means that a JS view wrapper can refer to its buffer via the butterfly,
        which would be dead by the time we went to finalize.
              
      - Typed array semantics now match Firefox, which also happens to be where the
        standards are going. The discussion on webkit-dev seemed to confirm that
        Chrome is also heading in this direction. This includes making
        Uint8ClampedArray not a subtype of Uint8Array, and getting rid of
        ArrayBufferView as a JS-visible construct.
              
      This is up to a 10x speed-up on programs that allocate a lot of typed arrays.
      It's a 1% speed-up on Octane. It also opens up a bunch of possibilities for
      further typed array optimizations in the JSC JITs, including inlining typed
      array allocation, inlining more of the accessors, reducing the cost of type
      checks, etc.
              
      An additional property of this patch is that typed arrays are mostly
      implemented using templates. This deduplicates a bunch of code, but does mean
      that we need some hacks for exporting s_info's of template classes. See
      JSGenericTypedArrayView.h and JSTypedArrays.cpp. Those hacks are fairly
      low-impact compared to code duplication.
              
      Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.list.am:
      * JSCTypedArrayStubs.h: Removed.
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/ByValInfo.h:
      (JSC::hasOptimizableIndexingForClassInfo):
      (JSC::jitArrayModeForClassInfo):
      (JSC::typedArrayTypeForJITArrayMode):
      * bytecode/SpeculatedType.cpp:
      (JSC::speculationFromClassInfo):
      * dfg/DFGArrayMode.cpp:
      (JSC::DFG::toTypedArrayType):
      * dfg/DFGArrayMode.h:
      (JSC::DFG::ArrayMode::typedArrayType):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::checkArray):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
      (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
      (JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
      (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
      (JSC::DFG::SpeculativeJIT::compileGetArrayLength):
      * dfg/DFGSpeculativeJIT.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * heap/CopyToken.h:
      * heap/DeferGC.h:
      (JSC::DeferGCForAWhile::DeferGCForAWhile):
      (JSC::DeferGCForAWhile::~DeferGCForAWhile):
      * heap/GCIncomingRefCounted.h: Added.
      (JSC::GCIncomingRefCounted::GCIncomingRefCounted):
      (JSC::GCIncomingRefCounted::~GCIncomingRefCounted):
      (JSC::GCIncomingRefCounted::numberOfIncomingReferences):
      (JSC::GCIncomingRefCounted::incomingReferenceAt):
      (JSC::GCIncomingRefCounted::singletonFlag):
      (JSC::GCIncomingRefCounted::hasVectorOfCells):
      (JSC::GCIncomingRefCounted::hasAnyIncoming):
      (JSC::GCIncomingRefCounted::hasSingleton):
      (JSC::GCIncomingRefCounted::singleton):
      (JSC::GCIncomingRefCounted::vectorOfCells):
      * heap/GCIncomingRefCountedInlines.h: Added.
      (JSC::::addIncomingReference):
      (JSC::::filterIncomingReferences):
      * heap/GCIncomingRefCountedSet.h: Added.
      (JSC::GCIncomingRefCountedSet::size):
      * heap/GCIncomingRefCountedSetInlines.h: Added.
      (JSC::::GCIncomingRefCountedSet):
      (JSC::::~GCIncomingRefCountedSet):
      (JSC::::addReference):
      (JSC::::sweep):
      (JSC::::removeAll):
      (JSC::::removeDead):
      * heap/Heap.cpp:
      (JSC::Heap::addReference):
      (JSC::Heap::extraSize):
      (JSC::Heap::size):
      (JSC::Heap::capacity):
      (JSC::Heap::collect):
      (JSC::Heap::decrementDeferralDepth):
      (JSC::Heap::decrementDeferralDepthAndGCIfNeeded):
      * heap/Heap.h:
      * interpreter/CallFrame.h:
      (JSC::ExecState::dataViewTable):
      * jit/JIT.h:
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::privateCompileGetByVal):
      (JSC::JIT::privateCompilePutByVal):
      (JSC::JIT::emitIntTypedArrayGetByVal):
      (JSC::JIT::emitFloatTypedArrayGetByVal):
      (JSC::JIT::emitIntTypedArrayPutByVal):
      (JSC::JIT::emitFloatTypedArrayPutByVal):
      * jsc.cpp:
      (GlobalObject::finishCreation):
      * runtime/ArrayBuffer.cpp:
      (JSC::ArrayBuffer::transfer):
      * runtime/ArrayBuffer.h:
      (JSC::ArrayBuffer::createAdopted):
      (JSC::ArrayBuffer::ArrayBuffer):
      (JSC::ArrayBuffer::gcSizeEstimateInBytes):
      (JSC::ArrayBuffer::pin):
      (JSC::ArrayBuffer::unpin):
      (JSC::ArrayBufferContents::tryAllocate):
      * runtime/ArrayBufferView.cpp:
      (JSC::ArrayBufferView::ArrayBufferView):
      (JSC::ArrayBufferView::~ArrayBufferView):
      (JSC::ArrayBufferView::setNeuterable):
      * runtime/ArrayBufferView.h:
      (JSC::ArrayBufferView::isNeutered):
      (JSC::ArrayBufferView::buffer):
      (JSC::ArrayBufferView::baseAddress):
      (JSC::ArrayBufferView::byteOffset):
      (JSC::ArrayBufferView::verifySubRange):
      (JSC::ArrayBufferView::clampOffsetAndNumElements):
      (JSC::ArrayBufferView::calculateOffsetAndLength):
      * runtime/ClassInfo.h:
      * runtime/CommonIdentifiers.h:
      * runtime/DataView.cpp: Added.
      (JSC::DataView::DataView):
      (JSC::DataView::create):
      (JSC::DataView::wrap):
      * runtime/DataView.h: Added.
      (JSC::DataView::byteLength):
      (JSC::DataView::getType):
      (JSC::DataView::get):
      (JSC::DataView::set):
      * runtime/Float32Array.h:
      * runtime/Float64Array.h:
      * runtime/GenericTypedArrayView.h: Added.
      (JSC::GenericTypedArrayView::data):
      (JSC::GenericTypedArrayView::set):
      (JSC::GenericTypedArrayView::setRange):
      (JSC::GenericTypedArrayView::zeroRange):
      (JSC::GenericTypedArrayView::zeroFill):
      (JSC::GenericTypedArrayView::length):
      (JSC::GenericTypedArrayView::byteLength):
      (JSC::GenericTypedArrayView::item):
      (JSC::GenericTypedArrayView::checkInboundData):
      (JSC::GenericTypedArrayView::getType):
      * runtime/GenericTypedArrayViewInlines.h: Added.
      (JSC::::GenericTypedArrayView):
      (JSC::::create):
      (JSC::::createUninitialized):
      (JSC::::subarray):
      (JSC::::wrap):
      * runtime/IndexingHeader.h:
      (JSC::IndexingHeader::arrayBuffer):
      (JSC::IndexingHeader::setArrayBuffer):
      * runtime/Int16Array.h:
      * runtime/Int32Array.h:
      * runtime/Int8Array.h:
      * runtime/JSArrayBuffer.cpp: Added.
      (JSC::JSArrayBuffer::JSArrayBuffer):
      (JSC::JSArrayBuffer::finishCreation):
      (JSC::JSArrayBuffer::create):
      (JSC::JSArrayBuffer::createStructure):
      (JSC::JSArrayBuffer::getOwnPropertySlot):
      (JSC::JSArrayBuffer::getOwnPropertyDescriptor):
      (JSC::JSArrayBuffer::put):
      (JSC::JSArrayBuffer::defineOwnProperty):
      (JSC::JSArrayBuffer::deleteProperty):
      (JSC::JSArrayBuffer::getOwnNonIndexPropertyNames):
      * runtime/JSArrayBuffer.h: Added.
      (JSC::JSArrayBuffer::impl):
      (JSC::toArrayBuffer):
      * runtime/JSArrayBufferConstructor.cpp: Added.
      (JSC::JSArrayBufferConstructor::JSArrayBufferConstructor):
      (JSC::JSArrayBufferConstructor::finishCreation):
      (JSC::JSArrayBufferConstructor::create):
      (JSC::JSArrayBufferConstructor::createStructure):
      (JSC::constructArrayBuffer):
      (JSC::JSArrayBufferConstructor::getConstructData):
      (JSC::JSArrayBufferConstructor::getCallData):
      * runtime/JSArrayBufferConstructor.h: Added.
      * runtime/JSArrayBufferPrototype.cpp: Added.
      (JSC::arrayBufferProtoFuncSlice):
      (JSC::JSArrayBufferPrototype::JSArrayBufferPrototype):
      (JSC::JSArrayBufferPrototype::finishCreation):
      (JSC::JSArrayBufferPrototype::create):
      (JSC::JSArrayBufferPrototype::createStructure):
      * runtime/JSArrayBufferPrototype.h: Added.
      * runtime/JSArrayBufferView.cpp: Added.
      (JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
      (JSC::JSArrayBufferView::JSArrayBufferView):
      (JSC::JSArrayBufferView::finishCreation):
      (JSC::JSArrayBufferView::getOwnPropertySlot):
      (JSC::JSArrayBufferView::getOwnPropertyDescriptor):
      (JSC::JSArrayBufferView::put):
      (JSC::JSArrayBufferView::defineOwnProperty):
      (JSC::JSArrayBufferView::deleteProperty):
      (JSC::JSArrayBufferView::getOwnNonIndexPropertyNames):
      (JSC::JSArrayBufferView::finalize):
      * runtime/JSArrayBufferView.h: Added.
      (JSC::JSArrayBufferView::sizeOf):
      (JSC::JSArrayBufferView::ConstructionContext::operator!):
      (JSC::JSArrayBufferView::ConstructionContext::structure):
      (JSC::JSArrayBufferView::ConstructionContext::vector):
      (JSC::JSArrayBufferView::ConstructionContext::length):
      (JSC::JSArrayBufferView::ConstructionContext::mode):
      (JSC::JSArrayBufferView::ConstructionContext::butterfly):
      (JSC::JSArrayBufferView::mode):
      (JSC::JSArrayBufferView::vector):
      (JSC::JSArrayBufferView::length):
      (JSC::JSArrayBufferView::offsetOfVector):
      (JSC::JSArrayBufferView::offsetOfLength):
      (JSC::JSArrayBufferView::offsetOfMode):
      * runtime/JSArrayBufferViewInlines.h: Added.
      (JSC::JSArrayBufferView::slowDownAndWasteMemoryIfNecessary):
      (JSC::JSArrayBufferView::buffer):
      (JSC::JSArrayBufferView::impl):
      (JSC::JSArrayBufferView::neuter):
      (JSC::JSArrayBufferView::byteOffset):
      * runtime/JSCell.cpp:
      (JSC::JSCell::slowDownAndWasteMemory):
      (JSC::JSCell::getTypedArrayImpl):
      * runtime/JSCell.h:
      * runtime/JSDataView.cpp: Added.
      (JSC::JSDataView::JSDataView):
      (JSC::JSDataView::create):
      (JSC::JSDataView::createUninitialized):
      (JSC::JSDataView::set):
      (JSC::JSDataView::typedImpl):
      (JSC::JSDataView::getOwnPropertySlot):
      (JSC::JSDataView::getOwnPropertyDescriptor):
      (JSC::JSDataView::slowDownAndWasteMemory):
      (JSC::JSDataView::getTypedArrayImpl):
      (JSC::JSDataView::createStructure):
      * runtime/JSDataView.h: Added.
      * runtime/JSDataViewPrototype.cpp: Added.
      (JSC::JSDataViewPrototype::JSDataViewPrototype):
      (JSC::JSDataViewPrototype::create):
      (JSC::JSDataViewPrototype::createStructure):
      (JSC::JSDataViewPrototype::getOwnPropertySlot):
      (JSC::JSDataViewPrototype::getOwnPropertyDescriptor):
      (JSC::getData):
      (JSC::setData):
      (JSC::dataViewProtoFuncGetInt8):
      (JSC::dataViewProtoFuncGetInt16):
      (JSC::dataViewProtoFuncGetInt32):
      (JSC::dataViewProtoFuncGetUint8):
      (JSC::dataViewProtoFuncGetUint16):
      (JSC::dataViewProtoFuncGetUint32):
      (JSC::dataViewProtoFuncGetFloat32):
      (JSC::dataViewProtoFuncGetFloat64):
      (JSC::dataViewProtoFuncSetInt8):
      (JSC::dataViewProtoFuncSetInt16):
      (JSC::dataViewProtoFuncSetInt32):
      (JSC::dataViewProtoFuncSetUint8):
      (JSC::dataViewProtoFuncSetUint16):
      (JSC::dataViewProtoFuncSetUint32):
      (JSC::dataViewProtoFuncSetFloat32):
      (JSC::dataViewProtoFuncSetFloat64):
      * runtime/JSDataViewPrototype.h: Added.
      * runtime/JSFloat32Array.h: Added.
      * runtime/JSFloat64Array.h: Added.
      * runtime/JSGenericTypedArrayView.h: Added.
      (JSC::JSGenericTypedArrayView::byteLength):
      (JSC::JSGenericTypedArrayView::byteSize):
      (JSC::JSGenericTypedArrayView::typedVector):
      (JSC::JSGenericTypedArrayView::canGetIndexQuickly):
      (JSC::JSGenericTypedArrayView::canSetIndexQuickly):
      (JSC::JSGenericTypedArrayView::getIndexQuicklyAsNativeValue):
      (JSC::JSGenericTypedArrayView::getIndexQuicklyAsDouble):
      (JSC::JSGenericTypedArrayView::getIndexQuickly):
      (JSC::JSGenericTypedArrayView::setIndexQuicklyToNativeValue):
      (JSC::JSGenericTypedArrayView::setIndexQuicklyToDouble):
      (JSC::JSGenericTypedArrayView::setIndexQuickly):
      (JSC::JSGenericTypedArrayView::canAccessRangeQuickly):
      (JSC::JSGenericTypedArrayView::typedImpl):
      (JSC::JSGenericTypedArrayView::createStructure):
      (JSC::JSGenericTypedArrayView::info):
      (JSC::toNativeTypedView):
      * runtime/JSGenericTypedArrayViewConstructor.h: Added.
      * runtime/JSGenericTypedArrayViewConstructorInlines.h: Added.
      (JSC::::JSGenericTypedArrayViewConstructor):
      (JSC::::finishCreation):
      (JSC::::create):
      (JSC::::createStructure):
      (JSC::constructGenericTypedArrayView):
      (JSC::::getConstructData):
      (JSC::::getCallData):
      * runtime/JSGenericTypedArrayViewInlines.h: Added.
      (JSC::::JSGenericTypedArrayView):
      (JSC::::create):
      (JSC::::createUninitialized):
      (JSC::::validateRange):
      (JSC::::setWithSpecificType):
      (JSC::::set):
      (JSC::::getOwnPropertySlot):
      (JSC::::getOwnPropertyDescriptor):
      (JSC::::put):
      (JSC::::defineOwnProperty):
      (JSC::::deleteProperty):
      (JSC::::getOwnPropertySlotByIndex):
      (JSC::::putByIndex):
      (JSC::::deletePropertyByIndex):
      (JSC::::getOwnNonIndexPropertyNames):
      (JSC::::getOwnPropertyNames):
      (JSC::::visitChildren):
      (JSC::::copyBackingStore):
      (JSC::::slowDownAndWasteMemory):
      (JSC::::getTypedArrayImpl):
      * runtime/JSGenericTypedArrayViewPrototype.h: Added.
      * runtime/JSGenericTypedArrayViewPrototypeInlines.h: Added.
      (JSC::genericTypedArrayViewProtoFuncSet):
      (JSC::genericTypedArrayViewProtoFuncSubarray):
      (JSC::::JSGenericTypedArrayViewPrototype):
      (JSC::::finishCreation):
      (JSC::::create):
      (JSC::::createStructure):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset):
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::arrayBufferPrototype):
      (JSC::JSGlobalObject::arrayBufferStructure):
      (JSC::JSGlobalObject::typedArrayStructure):
      * runtime/JSInt16Array.h: Added.
      * runtime/JSInt32Array.h: Added.
      * runtime/JSInt8Array.h: Added.
      * runtime/JSTypedArrayConstructors.cpp: Added.
      * runtime/JSTypedArrayConstructors.h: Added.
      * runtime/JSTypedArrayPrototypes.cpp: Added.
      * runtime/JSTypedArrayPrototypes.h: Added.
      * runtime/JSTypedArrays.cpp: Added.
      * runtime/JSTypedArrays.h: Added.
      * runtime/JSUint16Array.h: Added.
      * runtime/JSUint32Array.h: Added.
      * runtime/JSUint8Array.h: Added.
      * runtime/JSUint8ClampedArray.h: Added.
      * runtime/Operations.h:
      * runtime/Options.h:
      * runtime/SimpleTypedArrayController.cpp: Added.
      (JSC::SimpleTypedArrayController::SimpleTypedArrayController):
      (JSC::SimpleTypedArrayController::~SimpleTypedArrayController):
      (JSC::SimpleTypedArrayController::toJS):
      * runtime/SimpleTypedArrayController.h: Added.
      * runtime/Structure.h:
      (JSC::Structure::couldHaveIndexingHeader):
      * runtime/StructureInlines.h:
      (JSC::Structure::hasIndexingHeader):
      * runtime/TypedArrayAdaptors.h: Added.
      (JSC::IntegralTypedArrayAdaptor::toNative):
      (JSC::IntegralTypedArrayAdaptor::toJSValue):
      (JSC::IntegralTypedArrayAdaptor::toDouble):
      (JSC::FloatTypedArrayAdaptor::toNative):
      (JSC::FloatTypedArrayAdaptor::toJSValue):
      (JSC::FloatTypedArrayAdaptor::toDouble):
      (JSC::Uint8ClampedAdaptor::toNative):
      (JSC::Uint8ClampedAdaptor::toJSValue):
      (JSC::Uint8ClampedAdaptor::toDouble):
      (JSC::Uint8ClampedAdaptor::clamp):
      * runtime/TypedArrayController.cpp: Added.
      (JSC::TypedArrayController::TypedArrayController):
      (JSC::TypedArrayController::~TypedArrayController):
      * runtime/TypedArrayController.h: Added.
      * runtime/TypedArrayDescriptor.h: Removed.
      * runtime/TypedArrayInlines.h: Added.
      * runtime/TypedArrayType.cpp: Added.
      (JSC::classInfoForType):
      (WTF::printInternal):
      * runtime/TypedArrayType.h: Added.
      (JSC::toIndex):
      (JSC::isTypedView):
      (JSC::elementSize):
      (JSC::isInt):
      (JSC::isFloat):
      (JSC::isSigned):
      (JSC::isClamped):
      * runtime/TypedArrays.h: Added.
      * runtime/Uint16Array.h:
      * runtime/Uint32Array.h:
      * runtime/Uint8Array.h:
      * runtime/Uint8ClampedArray.h:
      * runtime/VM.cpp:
      (JSC::VM::VM):
      (JSC::VM::~VM):
      * runtime/VM.h:
      
      Source/WebCore: 
      
      Reviewed by Oliver Hunt.
      
      Typed arrays are now implemented in JavaScriptCore, and WebCore is merely a
      client of them. There is only one layering violation: WebCore installs a
      WebCoreTypedArrayController on VM, which makes the
      ArrayBuffer<->JSArrayBuffer relationship resemble DOM wrappers. By default,
      JSC makes the ownership go one way; the JSArrayBuffer keeps the ArrayBuffer
      alive but if ArrayBuffer is kept alive from native code then the
      JSArrayByffer may die. WebCoreTypedArrayController will keep the
      JSArrayBuffer alive if the ArrayBuffer is in the opaque root set.
              
      To make non-JSDOMWrappers behave like DOM wrappers, a bunch of code is
      changed to make most references to wrappers refer to JSObject* rather than
      JSDOMWrapper*.
              
      Array buffer views are now transient; the JS array buffer view wrappers
      don't own them or keep them alive. This required a bunch of changes to make
      bindings code use RefPtr<ArrayBufferView> to hold onto their views.
              
      Also there is a bunch of new code to make JSC-provided array buffers and
      views obey the toJS/to<ClassName> idiom for wrapping and unwrapping.
              
      Finally, the DataView API is now completely different: the JSDataView
      provides the same user-visible JS API but using its own internal magic; the
      C++ code that uses DataView now uses a rather different API that is not
      aware of usual DOM semantics, since it's in JSC and not WebCore. It's
      equally useful for all of WebCore's purposes, but some code had to change
      to adapt the new conventions.
              
      Some tests have been changed or rebased due to changes in behavior, that
      bring us into conformance with where the standards are going and allow us to
      match Firefox behavior.
      
      Automake work and some additional GTK changes courtesy of
      Zan Dobersek <zdobersek@igalia.com>.
              
      Additional Qt changes courtesy of Arunprasad Rajkumar <arurajku@cisco.com>.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * ForwardingHeaders/runtime/DataView.h: Added.
      * ForwardingHeaders/runtime/JSArrayBuffer.h: Added.
      * ForwardingHeaders/runtime/JSArrayBufferView.h: Added.
      * ForwardingHeaders/runtime/JSDataView.h: Added.
      * ForwardingHeaders/runtime/JSTypedArrays.h: Added.
      * ForwardingHeaders/runtime/TypedArrayController.h: Added.
      * ForwardingHeaders/runtime/TypedArrayInlines.h: Added.
      * ForwardingHeaders/runtime/TypedArrays.h: Added.
      * GNUmakefile.list.am:
      * Modules/webaudio/RealtimeAnalyser.h:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.exp.in:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/DOMWrapperWorld.h:
      * bindings/js/JSArrayBufferCustom.cpp: Removed.
      * bindings/js/JSArrayBufferViewHelper.h: Removed.
      * bindings/js/JSAudioContextCustom.cpp:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSBlobCustom.cpp:
      * bindings/js/JSCSSRuleCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSCSSValueCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSCryptoCustom.cpp:
      (WebCore::JSCrypto::getRandomValues):
      * bindings/js/JSDOMBinding.h:
      (WebCore::wrapperOwner):
      (WebCore::wrapperContext):
      (WebCore::getInlineCachedWrapper):
      (WebCore::setInlineCachedWrapper):
      (WebCore::clearInlineCachedWrapper):
      (WebCore::getCachedWrapper):
      (WebCore::cacheWrapper):
      (WebCore::uncacheWrapper):
      (WebCore::wrap):
      (WebCore::toJS):
      (WebCore::toArrayBufferView):
      (WebCore::toInt8Array):
      (WebCore::toInt16Array):
      (WebCore::toInt32Array):
      (WebCore::toUint8Array):
      (WebCore::toUint8ClampedArray):
      (WebCore::toUint16Array):
      (WebCore::toUint32Array):
      (WebCore::toFloat32Array):
      (WebCore::toFloat64Array):
      (WebCore::toDataView):
      * bindings/js/JSDataViewCustom.cpp: Removed.
      * bindings/js/JSDictionary.cpp:
      * bindings/js/JSDictionary.h:
      * bindings/js/JSDocumentCustom.cpp:
      (WebCore::JSDocument::location):
      (WebCore::toJS):
      * bindings/js/JSEventCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSFileReaderCustom.cpp:
      * bindings/js/JSHTMLCollectionCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSHTMLTemplateElementCustom.cpp:
      (WebCore::JSHTMLTemplateElement::content):
      * bindings/js/JSImageDataCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSInjectedScriptHostCustom.cpp:
      * bindings/js/JSMessageEventCustom.cpp:
      * bindings/js/JSMessagePortCustom.cpp:
      * bindings/js/JSSVGPathSegCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSStyleSheetCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSTrackCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::send):
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::SerializedScriptValue::transferArrayBuffers):
      * bindings/js/WebCoreJSClientData.h:
      (WebCore::initNormalWorldClientData):
      * bindings/js/WebCoreTypedArrayController.cpp: Added.
      (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController):
      (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController):
      (WebCore::WebCoreTypedArrayController::toJS):
      (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
      (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
      * bindings/js/WebCoreTypedArrayController.h: Added.
      (WebCore::WebCoreTypedArrayController::wrapperOwner):
      * bindings/scripts/CodeGenerator.pm:
      (ForAllParents):
      (ParseInterface):
      (SkipIncludeHeader):
      (IsTypedArrayType):
      (IsWrapperType):
      * bindings/scripts/CodeGeneratorJS.pm:
      (AddIncludesForType):
      (GenerateHeader):
      (GenerateImplementation):
      (GenerateParametersCheck):
      (GetNativeType):
      (JSValueToNative):
      (NativeToJSValue):
      (GenerateConstructorDefinition):
      (GenerateConstructorHelperMethods):
      * fileapi/WebKitBlobBuilder.cpp:
      (WebCore::BlobBuilder::append):
      * fileapi/WebKitBlobBuilder.h:
      * html/canvas/ArrayBuffer.idl: Removed.
      * html/canvas/ArrayBufferView.idl: Removed.
      * html/canvas/DataView.cpp: Removed.
      * html/canvas/DataView.h: Removed.
      * html/canvas/DataView.idl: Removed.
      * html/canvas/Float32Array.idl: Removed.
      * html/canvas/Float64Array.idl: Removed.
      * html/canvas/Int16Array.idl: Removed.
      * html/canvas/Int32Array.idl: Removed.
      * html/canvas/Int8Array.idl: Removed.
      * html/canvas/Uint16Array.idl: Removed.
      * html/canvas/Uint32Array.idl: Removed.
      * html/canvas/Uint8Array.idl: Removed.
      * html/canvas/Uint8ClampedArray.idl: Removed.
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore::WebGLRenderingContext::readPixels):
      (WebCore::WebGLRenderingContext::validateTexFuncData):
      * page/Crypto.cpp:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
      (WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData):
      * platform/graphics/filters/FECustomFilter.h:
      * platform/graphics/filters/FEGaussianBlur.cpp:
      * platform/graphics/filters/FilterEffect.cpp:
      * testing/MockCDM.cpp:
      
      Source/WebKit2: 
      
      Reviewed by Oliver Hunt.
              
      You don't need to include JSUint8Array anymore if you just want to
      unwrap one; JSDOMBinding gives you all of the things you need.
      
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      
      Source/WTF: 
      
      Reviewed by Oliver Hunt.
              
      - Added the notion of a reference counted object that can be marked Deferred,
        which is like a special-purpose upref.
              
      - Added a common byte flipper.
      
      Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
      
      * GNUmakefile.list.am:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/DeferrableRefCounted.h: Added.
      (WTF::DeferrableRefCountedBase::ref):
      (WTF::DeferrableRefCountedBase::hasOneRef):
      (WTF::DeferrableRefCountedBase::refCount):
      (WTF::DeferrableRefCountedBase::isDeferred):
      (WTF::DeferrableRefCountedBase::DeferrableRefCountedBase):
      (WTF::DeferrableRefCountedBase::~DeferrableRefCountedBase):
      (WTF::DeferrableRefCountedBase::derefBase):
      (WTF::DeferrableRefCountedBase::setIsDeferredBase):
      (WTF::DeferrableRefCounted::deref):
      (WTF::DeferrableRefCounted::setIsDeferred):
      (WTF::DeferrableRefCounted::DeferrableRefCounted):
      (WTF::DeferrableRefCounted::~DeferrableRefCounted):
      * wtf/FlipBytes.h: Added.
      (WTF::needToFlipBytesIfLittleEndian):
      (WTF::flipBytes):
      (WTF::flipBytesIfLittleEndian):
      
      LayoutTests: 
      
      Reviewed by Oliver Hunt.
      
      * fast/canvas/webgl/array-set-invalid-arguments-expected.txt:
      * fast/canvas/webgl/array-set-out-of-bounds-expected.txt:
      * fast/canvas/webgl/array-unit-tests-expected.txt:
      * fast/canvas/webgl/array-unit-tests.html:
      * fast/canvas/webgl/data-view-crash-expected.txt:
      * fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js:
      (checkView):
      * fast/dom/call-a-constructor-as-a-function-expected.txt:
      * fast/dom/call-a-constructor-as-a-function.html:
      * fast/js/constructor-length.html:
      * fast/js/global-constructors-attributes-dedicated-worker-expected.txt:
      * fast/js/global-constructors-attributes-expected.txt:
      * fast/js/global-constructors-attributes-shared-worker-expected.txt:
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc.html: Added.
      * fast/js/regress/Int32Array-Int8Array-view-alloc-expected.txt: Added.
      * fast/js/regress/Int32Array-Int8Array-view-alloc.html: Added.
      * fast/js/regress/Int32Array-alloc-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-huge-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-huge-long-lived-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-huge-long-lived.html: Added.
      * fast/js/regress/Int32Array-alloc-huge.html: Added.
      * fast/js/regress/Int32Array-alloc-large-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-large-long-lived-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-large-long-lived.html: Added.
      * fast/js/regress/Int32Array-alloc-large.html: Added.
      * fast/js/regress/Int32Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-long-lived.html: Added.
      * fast/js/regress/Int32Array-alloc.html: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived-buffer.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc.js: Added.
      * fast/js/regress/script-tests/Int32Array-Int8Array-view-alloc.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-huge-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-huge.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-large-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-large.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc.js: Added.
      * platform/mac/fast/js/constructor-length-expected.txt:
      * webgl/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html:
      * webgl/resources/webgl_test_files/conformance/typedarrays/data-view-test.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e0d9312
  15. 06 Aug, 2013 1 commit
    • weinig@apple.com's avatar
      .: Remove support for HTML5 MicroData · b49e18e4
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119480
      
      Reviewed by Anders Carlsson.
      
      * Source/autotools/SetupWebKitFeatures.m4:
      * Source/cmake/OptionsBlackBerry.cmake:
      * Source/cmake/OptionsEfl.cmake:
      * Source/cmake/OptionsGTK.cmake:
      * Source/cmake/WebKitFeatures.cmake:
      * Source/cmakeconfig.h.cmake:
      
      Source/JavaScriptCore: Remove support for HTML5 MicroData
      https://bugs.webkit.org/show_bug.cgi?id=119480
      
      Reviewed by Anders Carlsson.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebCore: Remove support for HTML5 Microdata
      https://bugs.webkit.org/show_bug.cgi?id=119480
      
      Reviewed by Anders Carlsson.
      
      * CMakeLists.txt:
      * Configurations/FeatureDefines.xcconfig:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/gobject/GNUmakefile.am:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSHTMLCollectionCustom.cpp:
      (WebCore::JSHTMLCollection::nameGetter):
      * bindings/js/JSHTMLElementCustom.cpp:
      * bindings/js/JSMicroDataItemValueCustom.cpp: Removed.
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateImplementation):
      * dom/Document.cpp:
      * dom/Document.h:
      * dom/Document.idl:
      * dom/Element.cpp:
      (WebCore::Element::ensureCachedHTMLCollection):
      * dom/LiveNodeList.cpp:
      (WebCore::LiveNodeListBase::rootNode):
      (WebCore::LiveNodeListBase::invalidateCache):
      (WebCore::LiveNodeList::namedItem):
      * dom/LiveNodeList.h:
      (WebCore::LiveNodeListBase::shouldInvalidateTypeOnAttributeChange):
      * dom/MicroDataItemList.cpp: Removed.
      * dom/MicroDataItemList.h: Removed.
      * dom/Node.cpp:
      * dom/Node.h:
      * dom/NodeRareData.cpp:
      * dom/NodeRareData.h:
      * dom/PropertyNodeList.cpp: Removed.
      * dom/PropertyNodeList.h: Removed.
      * dom/PropertyNodeList.idl: Removed.
      * html/CollectionType.h:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLAnchorElement.h:
      * html/HTMLAreaElement.cpp:
      * html/HTMLAreaElement.h:
      * html/HTMLCollection.cpp:
      (WebCore::shouldOnlyIncludeDirectChildren):
      (WebCore::rootTypeFromCollectionType):
      (WebCore::invalidationTypeExcludingIdAndNameAttributes):
      (WebCore::isMatchingElement):
      (WebCore::LiveNodeListBase::item):
      * html/HTMLElement.cpp:
      (WebCore::HTMLElement::parseAttribute):
      (WebCore::HTMLElement::isURLAttribute):
      * html/HTMLElement.h:
      * html/HTMLElement.idl:
      * html/HTMLEmbedElement.cpp:
      * html/HTMLEmbedElement.h:
      * html/HTMLIFrameElement.cpp:
      * html/HTMLIFrameElement.h:
      * html/HTMLImageElement.cpp:
      * html/HTMLImageElement.h:
      * html/HTMLLinkElement.cpp:
      * html/HTMLLinkElement.h:
      * html/HTMLMediaElement.cpp:
      * html/HTMLMediaElement.h:
      * html/HTMLMetaElement.cpp:
      * html/HTMLMetaElement.h:
      * html/HTMLObjectElement.cpp:
      * html/HTMLObjectElement.h:
      * html/HTMLPropertiesCollection.cpp: Removed.
      * html/HTMLPropertiesCollection.h: Removed.
      * html/HTMLPropertiesCollection.idl: Removed.
      * html/HTMLSourceElement.cpp:
      * html/HTMLSourceElement.h:
      * html/HTMLTrackElement.cpp:
      * html/HTMLTrackElement.h:
      * html/MicroDataAttributeTokenList.cpp: Removed.
      * html/MicroDataAttributeTokenList.h: Removed.
      * html/MicroDataItemValue.cpp: Removed.
      * html/MicroDataItemValue.h: Removed.
      * html/MicroDataItemValue.idl: Removed.
      
      Source/WebKit/blackberry: Remove support for HTML5 MicroData
      https://bugs.webkit.org/show_bug.cgi?id=119480
      
      Reviewed by Anders Carlsson.
      
      * WebCoreSupport/AboutDataEnableFeatures.in:
      
      Source/WebKit/mac: Remove support for HTML5 MicroData
      https://bugs.webkit.org/show_bug.cgi?id=119480
      
      Reviewed by Anders Carlsson.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebKit2: Remove support for HTML5 MicroData
      https://bugs.webkit.org/show_bug.cgi?id=119480
      
      Reviewed by Anders Carlsson.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WTF: Remove support for HTML5 MicroData
      https://bugs.webkit.org/show_bug.cgi?id=119480
      
      Reviewed by Anders Carlsson.
      
      * wtf/FeatureDefines.h:
      
      Tools: Remove support for HTML5 MicroData
      https://bugs.webkit.org/show_bug.cgi?id=119480
      
      Reviewed by Anders Carlsson.
      
      * Scripts/webkitperl/FeatureList.pm:
      * qmake/mkspecs/features/features.pri:
      
      LayoutTests: Remove support for HTML5 MicroData
      https://bugs.webkit.org/show_bug.cgi?id=119480
      
      Reviewed by Anders Carlsson.
      
      * fast/dom/MicroData: Removed.
      * fast/dom/MicroData/001-expected.txt: Removed.
      * fast/dom/MicroData/001.html: Removed.
      * fast/dom/MicroData/002-expected.txt: Removed.
      * fast/dom/MicroData/002.html: Removed.
      * fast/dom/MicroData/003-expected.txt: Removed.
      * fast/dom/MicroData/003.html: Removed.
      * fast/dom/MicroData/004-expected.txt: Removed.
      * fast/dom/MicroData/004.html: Removed.
      * fast/dom/MicroData/005-expected.txt: Removed.
      * fast/dom/MicroData/005.html: Removed.
      * fast/dom/MicroData/006-expected.txt: Removed.
      * fast/dom/MicroData/006.html: Removed.
      * fast/dom/MicroData/007-expected.txt: Removed.
      * fast/dom/MicroData/007.html: Removed.
      * fast/dom/MicroData/008-expected.txt: Removed.
      * fast/dom/MicroData/008.html: Removed.
      * fast/dom/MicroData/009-expected.txt: Removed.
      * fast/dom/MicroData/009.html: Removed.
      * fast/dom/MicroData/add-remove-property-to-item-which-is-not-attached-to-domtree-expected.txt: Removed.
      * fast/dom/MicroData/add-remove-property-to-item-which-is-not-attached-to-domtree.html: Removed.
      * fast/dom/MicroData/domsettabletokenlist-attributes-add-token-expected.txt: Removed.
      * fast/dom/MicroData/domsettabletokenlist-attributes-add-token.html: Removed.
      * fast/dom/MicroData/domsettabletokenlist-attributes-out-of-range-index-expected.txt: Removed.
      * fast/dom/MicroData/domsettabletokenlist-attributes-out-of-range-index.html: Removed.
      * fast/dom/MicroData/element-with-empty-itemprop-expected.txt: Removed.
      * fast/dom/MicroData/element-with-empty-itemprop.html: Removed.
      * fast/dom/MicroData/getitems-empty-string-as-arg-expected.txt: Removed.
      * fast/dom/MicroData/getitems-empty-string-as-arg.html: Removed.
      * fast/dom/MicroData/getitems-multiple-itemtypes-expected.txt: Removed.
      * fast/dom/MicroData/getitems-multiple-itemtypes.html: Removed.
      * fast/dom/MicroData/item-not-attached-to-domtree-expected.txt: Removed.
      * fast/dom/MicroData/item-not-attached-to-domtree.html: Removed.
      * fast/dom/MicroData/item-with-itemprop-attr-expected.txt: Removed.
      * fast/dom/MicroData/item-with-itemprop-attr.html: Removed.
      * fast/dom/MicroData/item-with-itemref-pointing-to-itself-expected.txt: Removed.
      * fast/dom/MicroData/item-with-itemref-pointing-to-itself.html: Removed.
      * fast/dom/MicroData/itemid-attribute-test-001-expected.txt: Removed.
      * fast/dom/MicroData/itemid-attribute-test-001.html: Removed.
      * fast/dom/MicroData/itemid-attribute-test-expected.txt: Removed.
      * fast/dom/MicroData/itemid-attribute-test.html: Removed.
      * fast/dom/MicroData/itemid-must-see-resolved-url-expected.txt: Removed.
      * fast/dom/MicroData/itemid-must-see-resolved-url.html: Removed.
      * fast/dom/MicroData/itemprop-add-remove-tokens-expected.txt: Removed.
      * fast/dom/MicroData/itemprop-add-remove-tokens.html: Removed.
      * fast/dom/MicroData/itemprop-for-an-element-must-be-correct-expected.txt: Removed.
      * fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html: Removed.
      * fast/dom/MicroData/itemprop-must-be-read-only-expected.txt: Removed.
      * fast/dom/MicroData/itemprop-must-be-read-only.html: Removed.
      * fast/dom/MicroData/itemprop-names-override-builtin-properties-expected.txt: Removed.
      * fast/dom/MicroData/itemprop-names-override-builtin-properties.html: Removed.
      * fast/dom/MicroData/itemprop-reflected-by-itemProp-property-expected.txt: Removed.
      * fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html: Removed.
      * fast/dom/MicroData/itemref-add-remove-tokens-expected.txt: Removed.
      * fast/dom/MicroData/itemref-add-remove-tokens.html: Removed.
      * fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property-expected.txt: Removed.
      * fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html: Removed.
      * fast/dom/MicroData/itemref-for-an-element-must-be-correct-expected.txt: Removed.
      * fast/dom/MicroData/itemref-for-an-element-must-be-correct.html: Removed.
      * fast/dom/MicroData/itemref-must-be-read-only-expected.txt: Removed.
      * fast/dom/MicroData/itemref-must-be-read-only.html: Removed.
      * fast/dom/MicroData/itemref-pointing-to-root-node-expected.txt: Removed.
      * fast/dom/MicroData/itemref-pointing-to-root-node.html: Removed.
      * fast/dom/MicroData/itemref-refers-first-element-with-given-id-expected.txt: Removed.
      * fast/dom/MicroData/itemref-refers-first-element-with-given-id.html: Removed.
      * fast/dom/MicroData/itemscope-attribute-test-expected.txt: Removed.
      * fast/dom/MicroData/itemscope-attribute-test.html: Removed.
      * fast/dom/MicroData/itemscope-must-be-read-write-expected.txt: Removed.
      * fast/dom/MicroData/itemscope-must-be-read-write.html: Removed.
      * fast/dom/MicroData/itemtype-add-remove-tokens-expected.txt: Removed.
      * fast/dom/MicroData/itemtype-add-remove-tokens.html: Removed.
      * fast/dom/MicroData/itemtype-attribute-test-expected.txt: Removed.
      * fast/dom/MicroData/itemtype-attribute-test.html: Removed.
      * fast/dom/MicroData/itemvalue-reflects-data-attr-on-object-element-expected.txt: Removed.
      * fast/dom/MicroData/itemvalue-reflects-data-attr-on-object-element.html: Removed.
      * fast/dom/MicroData/itemvalue-reflects-href-attr-expected.txt: Removed.
      * fast/dom/MicroData/itemvalue-reflects-href-attr.html: Removed.
      * fast/dom/MicroData/itemvalue-reflects-src-attribute-on-img-element-expected.txt: Removed.
      * fast/dom/MicroData/itemvalue-reflects-src-attribute-on-img-element.html: Removed.
      * fast/dom/MicroData/itemvalue-reflects-the-content-attr-on-meta-element-expected.txt: Removed.
      * fast/dom/MicroData/itemvalue-reflects-the-content-attr-on-meta-element.html: Removed.
      * fast/dom/MicroData/itemvalue-reflects-the-src-attr-expected.txt: Removed.
      * fast/dom/MicroData/itemvalue-reflects-the-src-attr.html: Removed.
      * fast/dom/MicroData/itemvalue-returns-element-itself-expected.txt: Removed.
      * fast/dom/MicroData/itemvalue-returns-element-itself.html: Removed.
      * fast/dom/MicroData/itemvalue-returns-null-expected.txt: Removed.
      * fast/dom/MicroData/itemvalue-returns-null.html: Removed.
      * fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-001-expected.txt: Removed.
      * fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-001.html: Removed.
      * fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-002-expected.txt: Removed.
      * fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-002.html: Removed.
      * fast/dom/MicroData/microdata-domtokenlist-attribute-add-remove-tokens-expected.txt: Removed.
      * fast/dom/MicroData/microdata-domtokenlist-attribute-add-remove-tokens.html: Removed.
      * fast/dom/MicroData/nameditem-must-be-case-sensitive-expected.txt: Removed.
      * fast/dom/MicroData/nameditem-must-be-case-sensitive.html: Removed.
      * fast/dom/MicroData/nameditem-must-return-correct-item-properties-expected.txt: Removed.
      * fast/dom/MicroData/nameditem-must-return-correct-item-properties.html: Removed.
      * fast/dom/MicroData/nameditem-returns-propertynodelist-expected.txt: Removed.
      * fast/dom/MicroData/nameditem-returns-propertynodelist.html: Removed.
      * fast/dom/MicroData/names-item-out-of-range-index-expected.txt: Removed.
      * fast/dom/MicroData/names-item-out-of-range-index.html: Removed.
      * fast/dom/MicroData/names-property-must-be-correct-expected.txt: Removed.
      * fast/dom/MicroData/names-property-must-be-correct.html: Removed.
      * fast/dom/MicroData/names-property-test-expected.txt: Removed.
      * fast/dom/MicroData/names-property-test.html: Removed.
      * fast/dom/MicroData/properties-collection-add-remove-itemref-expected.txt: Removed.
      * fast/dom/MicroData/properties-collection-add-remove-itemref.html: Removed.
      * fast/dom/MicroData/properties-collection-add-remove-property-expected.txt: Removed.
      * fast/dom/MicroData/properties-collection-add-remove-property.html: Removed.
      * fast/dom/MicroData/properties-collection-behavior-add-remove-itemscope-attr-expected.txt: Removed.
      * fast/dom/MicroData/properties-collection-behavior-add-remove-itemscope-attr.html: Removed.
      * fast/dom/MicroData/properties-collection-must-be-correct-expected.txt: Removed.
      * fast/dom/MicroData/properties-collection-must-be-correct.html: Removed.
      * fast/dom/MicroData/properties-collection-must-ignore-properties-of-nested-items-expected.txt: Removed.
      * fast/dom/MicroData/properties-collection-must-ignore-properties-of-nested-items.html: Removed.
      * fast/dom/MicroData/properties-collection-must-see-the-properties-added-in-itemref-expected.txt: Removed.
      * fast/dom/MicroData/properties-collection-must-see-the-properties-added-in-itemref.html: Removed.
      * fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name-expected.txt: Removed.
      * fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html: Removed.
      * fast/dom/MicroData/properties-collection-nameditem-test-expected.txt: Removed.
      * fast/dom/MicroData/properties-collection-nameditem-test.html: Removed.
      * fast/dom/MicroData/properties-collection-test-expected.txt: Removed.
      * fast/dom/MicroData/properties-collection-test.html: Removed.
      * fast/dom/MicroData/propertiescollection-crash-expected.txt: Removed.
      * fast/dom/MicroData/propertiescollection-crash.html: Removed.
      * fast/dom/MicroData/propertiescollection-on-changing-id-attr-expected.txt: Removed.
      * fast/dom/MicroData/propertiescollection-on-changing-id-attr.html: Removed.
      * fast/dom/MicroData/propertynodelist-add-remove-itemprop-tokens-expected.txt: Removed.
      * fast/dom/MicroData/propertynodelist-add-remove-itemprop-tokens.html: Removed.
      * fast/dom/MicroData/propertynodelist-add-remove-itemref-tokens-expected.txt: Removed.
      * fast/dom/MicroData/propertynodelist-add-remove-itemref-tokens.html: Removed.
      * fast/dom/MicroData/propertynodelist-crash-expected.txt: Removed.
      * fast/dom/MicroData/propertynodelist-crash.html: Removed.
      * fast/dom/MicroData/propertynodelist-getvalues-array-values-obtained-from-itemvalue-of-each-element-expected.txt: Removed.
      * fast/dom/MicroData/propertynodelist-getvalues-array-values-obtained-from-itemvalue-of-each-element.html: Removed.
      * fast/dom/MicroData/propertynodelist-getvalues-test-expected.txt: Removed.
      * fast/dom/MicroData/propertynodelist-getvalues-test.html: Removed.
      * fast/dom/MicroData/propertynodelist-test-add-remove-element-expected.txt: Removed.
      * fast/dom/MicroData/propertynodelist-test-add-remove-element.html: Removed.
      * fast/dom/MicroData/resources: Removed.
      * fast/dom/MicroData/resources/microdata-common.js: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b49e18e4
  16. 27 Jun, 2013 2 commits
    • ch.dumez@sisa.samsung.com's avatar
      Remove [NoInterfaceObject] from WorkerGlobalScope · 1a536842
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118071
      
      Reviewed by Kentaro Hara.
      
      .:
      
      Update GENERATE_BINDINGS CMake macro to take 2 additional parameters
      now needed by the preprocess-idls.pl script.
      
      * Source/cmake/WebKitMacros.cmake:
      
      Source/WebCore:
      
      Expose WorkerGlobalScope interface in worker environment as per the latest
      specification:
      http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#the-workerglobalscope-common-interface
      
      Also expose the SharedWorkerGlobalScope interface when the JavaScript global environment is a
      shared worker environment, and the DedicatedWorkerGlobalScope interface when the JavaScript
      global environment is a dedicated worker environment:
      http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#sharedworkerglobalscope
      http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#dedicatedworkerglobalscope
      
      The semantics of the [GlobalContext] IDL extended attribute has changed to support this
      use case. The value for the extended attribute is now the name of the interface to which the
      Constructor attribute should be added (Window, WorkerGlobalScope, SharedWorkerGlobalScope...).
      It is possible to specify several interface names by using '&' as separator. For e.g.
      [GlobalContext=DOMWindow&WorkerGlobalScope].
      
      Tests: fast/js/global-constructors-attributes-dedicated-worker.html
             fast/js/global-constructors-attributes-shared-worker.html
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.am:
      * Modules/websockets/WebSocket.idl:
      * UseJSC.cmake:
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateConstructorHelperMethods):
      * bindings/scripts/IDLAttributes.txt:
      * bindings/scripts/generate-bindings.pl:
      (checkIfIDLAttributesExists):
      * bindings/scripts/preprocess-idls.pl:
      * dom/MessageChannel.idl:
      * dom/MessageEvent.idl:
      * fileapi/Blob.idl:
      * fileapi/FileReader.idl:
      * fileapi/FileReaderSync.idl:
      * html/DOMURL.idl:
      * html/canvas/ArrayBuffer.idl:
      * html/canvas/DataView.idl:
      * html/canvas/Float32Array.idl:
      * html/canvas/Float64Array.idl:
      * html/canvas/Int16Array.idl:
      * html/canvas/Int32Array.idl:
      * html/canvas/Int8Array.idl:
      * html/canvas/Uint16Array.idl:
      * html/canvas/Uint32Array.idl:
      * html/canvas/Uint8Array.idl:
      * html/canvas/Uint8ClampedArray.idl:
      * page/EventSource.idl:
      * workers/DedicatedWorkerGlobalScope.idl:
      * workers/SharedWorkerGlobalScope.idl:
      * workers/WorkerGlobalScope.idl:
      * workers/WorkerLocation.idl:
      * xml/XMLHttpRequest.idl:
      
      Tools:
      
      Update bindings test script to pass 2 additional parameters
      now needed by the preprocess-idls.pl script.
      
      * Scripts/webkitpy/bindings/main.py:
      (BindingsTests.generate_supplemental_dependency):
      (BindingsTests.main):
      
      LayoutTests:
      
      Split fast/js/global-constructors-attributes-worker.html test into 2 for both
      shared and dedicated workers, as the output is now different.
      
      * fast/js/global-constructors-attributes-dedicated-worker-expected.txt: Copied from LayoutTests/fast/js/global-constructors-attributes-worker-expected.txt.
      * fast/js/global-constructors-attributes-dedicated-worker.html: Copied from LayoutTests/fast/js/global-constructors-attributes-worker.html.
      * fast/js/global-constructors-attributes-shared-worker-expected.txt: Renamed from LayoutTests/fast/js/global-constructors-attributes-worker-expected.txt.
      * fast/js/global-constructors-attributes-shared-worker.html: Renamed from LayoutTests/fast/js/global-constructors-attributes-worker.html.
      * fast/js/script-tests/global-constructors-attributes.js:
      (.self.postMessage):
      (.self.onconnect.self.postMessage):
      (.self.onconnect):
      * platform/efl/fast/js/global-constructors-attributes-dedicated-worker-expected.txt: Copied from LayoutTests/platform/gtk/fast/js/global-constructors-attributes-worker-expected.txt.
      * platform/efl/fast/js/global-constructors-attributes-shared-worker-expected.txt: Copied from LayoutTests/platform/gtk/fast/js/global-constructors-attributes-worker-expected.txt.
      * platform/gtk/fast/js/global-constructors-attributes-dedicated-worker-expected.txt: Renamed from LayoutTests/platform/gtk/fast/js/global-constructors-attributes-worker-expected.txt.
      * platform/gtk/fast/js/global-constructors-attributes-shared-worker-expected.txt: Renamed from LayoutTests/platform/efl/fast/js/global-constructors-attributes-worker-expected.txt.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a536842
    • ch.dumez@sisa.samsung.com's avatar
      Rename WorkerContext to WorkerGlobalScope · 14792a6b
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118059
      
      Reviewed by Kentaro Hara.
      
      Source/WebCore:
      
      Rename WorkerContext / SharedWorkerContext / DedicatedWorkerContext to
      WorkerGlobalScope / SharedWorkerGlobalScope / DedicatedWorkerGlobalScope
      to match the latest specification:
      http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerglobalscope
      
      Those interfaces have [NoInterfaceObject] IDL extended attribute so the
      name did not matter much so far. However, the specification was updated
      and [NoInterfaceObject] was removed. We should therefore rename those
      interfaces as a preparation for this change.
      
      No new tests, no behavior change as these interfaces are not exposed to
      JavaScript yet.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * Modules/filesystem/WorkerGlobalScopeFileSystem.cpp: Renamed from Source/WebCore/Modules/filesystem/WorkerContextFileSystem.cpp.
      (WebCore::WorkerGlobalScopeFileSystem::webkitRequestFileSystem):
      (WebCore::WorkerGlobalScopeFileSystem::webkitRequestFileSystemSync):
      (WebCore::WorkerGlobalScopeFileSystem::webkitResolveLocalFileSystemURL):
      (WebCore::WorkerGlobalScopeFileSystem::webkitResolveLocalFileSystemSyncURL):
      * Modules/filesystem/WorkerGlobalScopeFileSystem.h: Renamed from Source/WebCore/Modules/filesystem/WorkerContextFileSystem.h.
      * Modules/filesystem/WorkerGlobalScopeFileSystem.idl: Renamed from Source/WebCore/Modules/filesystem/WorkerContextFileSystem.idl.
      * Modules/indexeddb/IDBFactory.cpp:
      * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp: Renamed from Source/WebCore/Modules/indexeddb/WorkerContextIndexedDatabase.cpp.
      (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
      (WebCore::WorkerGlobalScopeIndexedDatabase::~WorkerGlobalScopeIndexedDatabase):
      (WebCore::WorkerGlobalScopeIndexedDatabase::supplementName):
      (WebCore::WorkerGlobalScopeIndexedDatabase::from):
      (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
      * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h: Renamed from Source/WebCore/Modules/indexeddb/WorkerContextIndexedDatabase.h.
      * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl: Renamed from Source/WebCore/Modules/indexeddb/WorkerContextIndexedDatabase.idl.
      * Modules/notifications/Notification.cpp:
      * Modules/notifications/NotificationCenter.cpp:
      * Modules/notifications/WorkerGlobalScopeNotifications.cpp: Renamed from Source/WebCore/Modules/notifications/WorkerContextNotifications.cpp.
      (WebCore::WorkerGlobalScopeNotifications::WorkerGlobalScopeNotifications):
      (WebCore::WorkerGlobalScopeNotifications::~WorkerGlobalScopeNotifications):
      (WebCore::WorkerGlobalScopeNotifications::supplementName):
      (WebCore::WorkerGlobalScopeNotifications::from):
      (WebCore::WorkerGlobalScopeNotifications::webkitNotifications):
      * Modules/notifications/WorkerGlobalScopeNotifications.h: Renamed from Source/WebCore/Modules/notifications/WorkerContextNotifications.h.
      * Modules/notifications/WorkerGlobalScopeNotifications.idl: Renamed from Source/WebCore/Modules/notifications/WorkerContextNotifications.idl.
      * Modules/webdatabase/DatabaseContext.cpp:
      (WebCore::DatabaseContext::allowDatabaseAccess):
      (WebCore::DatabaseContext::databaseExceededQuota):
      * Modules/webdatabase/WorkerGlobalScopeWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextWebDatabase.cpp.
      (WebCore::WorkerGlobalScopeWebDatabase::openDatabase):
      (WebCore::WorkerGlobalScopeWebDatabase::openDatabaseSync):
      * Modules/webdatabase/WorkerGlobalScopeWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextWebDatabase.h.
      (WebCore::WorkerGlobalScopeWebDatabase::WorkerGlobalScopeWebDatabase):
      (WebCore::WorkerGlobalScopeWebDatabase::~WorkerGlobalScopeWebDatabase):
      * Modules/webdatabase/WorkerGlobalScopeWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextWebDatabase.idl.
      * Modules/websockets/ThreadableWebSocketChannel.cpp:
      (WebCore::ThreadableWebSocketChannel::create):
      * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
      (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback):
      * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
      (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
      (WebCore::workerGlobalScopeDidSend):
      (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
      (WebCore::workerGlobalScopeDidGetBufferedAmount):
      (WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
      (WebCore::workerGlobalScopeDidConnect):
      (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
      (WebCore::workerGlobalScopeDidReceiveMessage):
      (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
      (WebCore::workerGlobalScopeDidReceiveBinaryData):
      (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
      (WebCore::workerGlobalScopeDidUpdateBufferedAmount):
      (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
      (WebCore::workerGlobalScopeDidStartClosingHandshake):
      (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
      (WebCore::workerGlobalScopeDidClose):
      (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
      (WebCore::workerGlobalScopeDidReceiveMessageError):
      (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
      (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
      (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create):
      (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask):
      (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask):
      (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
      (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
      (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
      * Modules/websockets/WorkerThreadableWebSocketChannel.h:
      (WebCore::WorkerThreadableWebSocketChannel::create):
      (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.order:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/cpp/WebDOMEventTarget.cpp:
      (toWebKit):
      * bindings/cpp/WebDOMEventTarget.h:
      * bindings/generic/ActiveDOMCallback.cpp:
      * bindings/js/DOMRequestState.h:
      (WebCore::DOMRequestState::DOMRequestState):
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSDOMBinding.h:
      * bindings/js/JSDOMGlobalObject.cpp:
      (WebCore::JSDOMGlobalObject::scriptExecutionContext):
      (WebCore::toJSDOMGlobalObject):
      * bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp: Renamed from Source/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp.
      (WebCore::JSDedicatedWorkerGlobalScope::postMessage):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::handleEvent):
      * bindings/js/JSEventTargetCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSWorkerGlobalScopeBase.cpp: Renamed from Source/WebCore/bindings/js/JSWorkerContextBase.cpp.
      (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
      (WebCore::JSWorkerGlobalScopeBase::finishCreation):
      (WebCore::JSWorkerGlobalScopeBase::destroy):
      (WebCore::JSWorkerGlobalScopeBase::scriptExecutionContext):
      (WebCore::toJS):
      (WebCore::toJSDedicatedWorkerGlobalScope):
      (WebCore::toJSSharedWorkerGlobalScope):
      (WebCore::toJSWorkerGlobalScope):
      * bindings/js/JSWorkerGlobalScopeBase.h: Renamed from Source/WebCore/bindings/js/JSWorkerContextBase.h.
      (WebCore::JSWorkerGlobalScopeBase::impl):
      (WebCore::JSWorkerGlobalScopeBase::createStructure):
      * bindings/js/JSWorkerGlobalScopeCustom.cpp: Renamed from Source/WebCore/bindings/js/JSWorkerContextCustom.cpp.
      (WebCore::JSWorkerGlobalScope::visitChildren):
      (WebCore::JSWorkerGlobalScope::getOwnPropertySlotDelegate):
      (WebCore::JSWorkerGlobalScope::getOwnPropertyDescriptorDelegate):
      (WebCore::JSWorkerGlobalScope::importScripts):
      (WebCore::JSWorkerGlobalScope::setTimeout):
      (WebCore::JSWorkerGlobalScope::setInterval):
      * bindings/js/ScheduledAction.cpp:
      (WebCore::ScheduledAction::execute):
      * bindings/js/ScheduledAction.h:
      * bindings/js/ScriptProfiler.cpp:
      (WebCore::ScriptProfiler::startForWorkerGlobalScope):
      (WebCore::ScriptProfiler::stopForWorkerGlobalScope):
      * bindings/js/ScriptProfiler.h:
      * bindings/js/ScriptState.cpp:
      (WebCore::scriptStateFromWorkerGlobalScope):
      * bindings/js/ScriptState.h:
      * bindings/js/WorkerScriptController.cpp:
      (WebCore::WorkerScriptController::WorkerScriptController):
      (WebCore::WorkerScriptController::~WorkerScriptController):
      (WebCore::WorkerScriptController::initScript):
      (WebCore::WorkerScriptController::evaluate):
      (WebCore::WorkerScriptController::setException):
      (WebCore::WorkerScriptController::forbidExecution):
      (WebCore::WorkerScriptController::isExecutionForbidden):
      (WebCore::WorkerScriptController::disableEval):
      (WebCore::WorkerScriptController::attachDebugger):
      (WebCore::WorkerScriptController::detachDebugger):
      * bindings/js/WorkerScriptController.h:
      (WebCore::WorkerScriptController::workerGlobalScopeWrapper):
      (WebCore::WorkerScriptController::initScriptIfNeeded):
      * bindings/js/WorkerScriptDebugServer.cpp:
      (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
      (WebCore::WorkerScriptDebugServer::addListener):
      (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
      (WebCore::WorkerScriptDebugServer::removeListener):
      (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
      * bindings/js/WorkerScriptDebugServer.h:
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      (GenerateImplementation):
      * bindings/scripts/IDLAttributes.txt:
      * bindings/scripts/preprocess-idls.pl:
      * dom/ActiveDOMObject.cpp:
      * dom/EventTarget.h:
      * dom/EventTargetFactory.in:
      * dom/MessagePort.cpp:
      (WebCore::MessagePort::dispatchMessages):
      * dom/ScriptExecutionContext.cpp:
      (WebCore::ScriptExecutionContext::createdMessagePort):
      (WebCore::ScriptExecutionContext::destroyedMessagePort):
      (WebCore::ScriptExecutionContext::vm):
      * dom/ScriptExecutionContext.h:
      (WebCore::ScriptExecutionContext::isWorkerGlobalScope):
      * inspector/InjectedScriptManager.cpp:
      (WebCore::InjectedScriptManager::createForWorker):
      (WebCore::InjectedScriptManager::canAccessInspectedWorkerGlobalScope):
      * inspector/InjectedScriptManager.h:
      * inspector/InspectorConsoleInstrumentation.h:
      (WebCore::InspectorInstrumentation::addMessageToConsole):
      * inspector/InspectorInstrumentation.cpp:
      (WebCore::InspectorInstrumentation::didStartWorkerGlobalScopeImpl):
      (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
      (WebCore::InspectorInstrumentation::workerGlobalScopeTerminatedImpl):
      (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
      (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
      * inspector/InspectorInstrumentation.h:
      (WebCore::InspectorInstrumentation::didStartWorkerGlobalScope):
      (WebCore::InspectorInstrumentation::workerGlobalScopeTerminated):
      * inspector/InspectorProfilerAgent.cpp:
      (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
      (WebCore::WorkerProfilerAgent::startProfiling):
      (WebCore::WorkerProfilerAgent::stopProfiling):
      (WebCore::InspectorProfilerAgent::create):
      * inspector/InspectorProfilerAgent.h:
      * inspector/InspectorRuntimeAgent.h:
      * inspector/InspectorWorkerAgent.cpp:
      (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
      (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
      (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::proxy):
      (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::connectToWorkerGlobalScope):
      (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::disconnectFromWorkerGlobalScope):
      (WebCore::InspectorWorkerAgent::connectToWorker):
      (WebCore::InspectorWorkerAgent::disconnectFromWorker):
      (WebCore::InspectorWorkerAgent::didStartWorkerGlobalScope):
      (WebCore::InspectorWorkerAgent::workerGlobalScopeTerminated):
      (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
      (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
      * inspector/InspectorWorkerAgent.h:
      * inspector/InstrumentingAgents.cpp:
      (WebCore::instrumentationForWorkerGlobalScope):
      * inspector/InstrumentingAgents.h:
      * inspector/WorkerDebuggerAgent.cpp:
      (WebCore::WorkerDebuggerAgent::create):
      (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
      (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
      (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
      (WebCore::WorkerDebuggerAgent::injectedScriptForEval):
      * inspector/WorkerDebuggerAgent.h:
      * inspector/WorkerInspectorController.cpp:
      (WebCore::WorkerInspectorController::WorkerInspectorController):
      (WebCore::WorkerInspectorController::connectFrontend):
      * inspector/WorkerInspectorController.h:
      * inspector/WorkerRuntimeAgent.cpp:
      (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
      (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
      (WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
      * inspector/WorkerRuntimeAgent.h:
      (WebCore::WorkerRuntimeAgent::create):
      * loader/ThreadableLoader.cpp:
      (WebCore::ThreadableLoader::create):
      (WebCore::ThreadableLoader::loadResourceSynchronously):
      * loader/WorkerThreadableLoader.cpp:
      (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
      (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
      (WebCore::workerGlobalScopeDidSendData):
      (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
      (WebCore::workerGlobalScopeDidReceiveResponse):
      (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
      (WebCore::workerGlobalScopeDidReceiveData):
      (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
      (WebCore::workerGlobalScopeDidFinishLoading):
      (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
      (WebCore::workerGlobalScopeDidFail):
      (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
      (WebCore::workerGlobalScopeDidFailAccessControlCheck):
      (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck):
      (WebCore::workerGlobalScopeDidFailRedirectCheck):
      (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
      * loader/WorkerThreadableLoader.h:
      (WebCore::WorkerThreadableLoader::create):
      * loader/cache/MemoryCache.cpp:
      (WebCore::MemoryCache::removeRequestFromCache):
      * platform/blackberry/LocalFileSystemBlackBerry.cpp:
      (WebCore::openFileSystem):
      (WebCore::LocalFileSystem::deleteFileSystem):
      * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp:
      (WebCore::WorkerAsyncFileSystemBlackBerry::WorkerAsyncFileSystemBlackBerry):
      (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystem):
      (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystem):
      * platform/blackberry/WorkerAsyncFileSystemBlackBerry.h:
      (WebCore::WorkerAsyncFileSystemBlackBerry::create):
      * platform/blackberry/WorkerAsyncFileWriterBlackBerry.h:
      * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp:
      (WebCore::WorkerPlatformAsyncFileSystemCallbacks::postTaskToWorkerThread):
      * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h:
      * platform/blackberry/WorkerPlatformFileWriterClient.cpp:
      (WebCore::WorkerPlatformFileWriterClient::postTaskToWorkerThreadIfNeeded):
      * platform/blackberry/WorkerPlatformFileWriterClient.h:
      * workers/DedicatedWorkerGlobalScope.cpp: Renamed from Source/WebCore/workers/DedicatedWorkerContext.cpp.
      (WebCore::DedicatedWorkerGlobalScope::create):
      (WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
      (WebCore::DedicatedWorkerGlobalScope::~DedicatedWorkerGlobalScope):
      (WebCore::DedicatedWorkerGlobalScope::interfaceName):
      (WebCore::DedicatedWorkerGlobalScope::postMessage):
      (WebCore::DedicatedWorkerGlobalScope::importScripts):
      (WebCore::DedicatedWorkerGlobalScope::thread):
      * workers/DedicatedWorkerGlobalScope.h: Renamed from Source/WebCore/workers/DedicatedWorkerContext.h.
      * workers/DedicatedWorkerGlobalScope.idl: Renamed from Source/WebCore/workers/DedicatedWorkerContext.idl.
      * workers/DedicatedWorkerThread.cpp:
      (WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
      (WebCore::DedicatedWorkerThread::runEventLoop):
      * workers/DedicatedWorkerThread.h:
      * workers/DefaultSharedWorkerRepository.cpp:
      (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
      (WebCore::SharedWorkerProxy::workerGlobalScopeClosed):
      (WebCore::SharedWorkerProxy::workerGlobalScopeDestroyed):
      (WebCore::SharedWorkerConnectTask::performTask):
      (WebCore::SharedWorkerScriptLoader::notifyFinished):
      (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
      * workers/SharedWorkerGlobalScope.cpp: Renamed from Source/WebCore/workers/SharedWorkerContext.cpp.
      (WebCore::createConnectEvent):
      (WebCore::SharedWorkerGlobalScope::create):
      (WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
      (WebCore::SharedWorkerGlobalScope::~SharedWorkerGlobalScope):
      (WebCore::SharedWorkerGlobalScope::interfaceName):
      (WebCore::SharedWorkerGlobalScope::thread):
      (WebCore::SharedWorkerGlobalScope::logExceptionToConsole):
      * workers/SharedWorkerGlobalScope.h: Renamed from Source/WebCore/workers/SharedWorkerContext.h.
      (WebCore::SharedWorkerGlobalScope::name):
      * workers/SharedWorkerGlobalScope.idl: Renamed from Source/WebCore/workers/SharedWorkerContext.idl.
      * workers/SharedWorkerThread.cpp:
      (WebCore::SharedWorkerThread::createWorkerGlobalScope):
      * workers/SharedWorkerThread.h:
      * workers/Worker.cpp:
      (WebCore::Worker::Worker):
      (WebCore::Worker::postMessage):
      (WebCore::Worker::terminate):
      (WebCore::Worker::notifyFinished):
      * workers/Worker.h:
      * workers/WorkerGlobalScope.cpp: Renamed from Source/WebCore/workers/WorkerContext.cpp.
      (WebCore::CloseWorkerGlobalScopeTask::create):
      (WebCore::CloseWorkerGlobalScopeTask::performTask):
      (WebCore::CloseWorkerGlobalScopeTask::isCleanupTask):
      (WebCore::WorkerGlobalScope::WorkerGlobalScope):
      (WebCore::WorkerGlobalScope::~WorkerGlobalScope):
      (WebCore::WorkerGlobalScope::applyContentSecurityPolicyFromString):
      (WebCore::WorkerGlobalScope::scriptExecutionContext):
      (WebCore::WorkerGlobalScope::virtualURL):
      (WebCore::WorkerGlobalScope::virtualCompleteURL):
      (WebCore::WorkerGlobalScope::completeURL):
      (WebCore::WorkerGlobalScope::userAgent):
      (WebCore::WorkerGlobalScope::disableEval):
      (WebCore::WorkerGlobalScope::location):
      (WebCore::WorkerGlobalScope::close):
      (WebCore::WorkerGlobalScope::navigator):
      (WebCore::WorkerGlobalScope::hasPendingActivity):
      (WebCore::WorkerGlobalScope::postTask):
      (WebCore::WorkerGlobalScope::setTimeout):
      (WebCore::WorkerGlobalScope::clearTimeout):
      (WebCore::WorkerGlobalScope::clearInspector):
      (WebCore::WorkerGlobalScope::setInterval):
      (WebCore::WorkerGlobalScope::clearInterval):
      (WebCore::WorkerGlobalScope::importScripts):
      (WebCore::WorkerGlobalScope::errorEventTarget):
      (WebCore::WorkerGlobalScope::logExceptionToConsole):
      (WebCore::WorkerGlobalScope::addConsoleMessage):
      (WebCore::WorkerGlobalScope::addMessage):
      (WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
      (WebCore::WorkerGlobalScope::isContextThread):
      (WebCore::WorkerGlobalScope::isJSExecutionForbidden):
      (WebCore::WorkerGlobalScope::eventTargetData):
      (WebCore::WorkerGlobalScope::ensureEventTargetData):
      (WebCore::WorkerGlobalScope::Observer::Observer):
      (WebCore::WorkerGlobalScope::Observer::~Observer):
      (WebCore::WorkerGlobalScope::Observer::stopObserving):
      (WebCore::WorkerGlobalScope::registerObserver):
      (WebCore::WorkerGlobalScope::unregisterObserver):
      (WebCore::WorkerGlobalScope::notifyObserversOfStop):
      (WebCore::WorkerGlobalScope::eventQueue):
      * workers/WorkerGlobalScope.h: Renamed from Source/WebCore/workers/WorkerContext.h.
      (WebCore::WorkerGlobalScope::isSharedWorkerGlobalScope):
      (WebCore::WorkerGlobalScope::isDedicatedWorkerGlobalScope):
      (WebCore::WorkerGlobalScope::url):
      (WebCore::WorkerGlobalScope::groupSettings):
      (WebCore::WorkerGlobalScope::script):
      (WebCore::WorkerGlobalScope::clearScript):
      (WebCore::WorkerGlobalScope::thread):
      (WebCore::WorkerGlobalScope::self):
      (WebCore::WorkerGlobalScope::workerInspectorController):
      (WebCore::WorkerGlobalScope::optionalNavigator):
      (WebCore::WorkerGlobalScope::optionalLocation):
      (WebCore::WorkerGlobalScope::isClosing):
      * workers/WorkerGlobalScope.idl: Renamed from Source/WebCore/workers/WorkerContext.idl.
      * workers/WorkerGlobalScopeProxy.h: Renamed from Source/WebCore/workers/WorkerContextProxy.h.
      (WebCore::WorkerGlobalScopeProxy::~WorkerGlobalScopeProxy):
      (WebCore::WorkerGlobalScopeProxy::PageInspector::~PageInspector):
      (WebCore::WorkerGlobalScopeProxy::connectToInspector):
      (WebCore::WorkerGlobalScopeProxy::disconnectFromInspector):
      (WebCore::WorkerGlobalScopeProxy::sendMessageToInspector):
      * workers/WorkerLoaderProxy.h:
      * workers/WorkerMessagingProxy.cpp:
      (WebCore::MessageWorkerGlobalScopeTask::create):
      (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask):
      (WebCore::MessageWorkerGlobalScopeTask::performTask):
      (WebCore::WorkerGlobalScopeDestroyedTask::create):
      (WebCore::WorkerGlobalScopeDestroyedTask::WorkerGlobalScopeDestroyedTask):
      (WebCore::WorkerGlobalScopeDestroyedTask::performTask):
      (WebCore::WorkerTerminateTask::performTask):
      (WebCore::PostMessageToPageInspectorTask::performTask):
      (WebCore::WorkerGlobalScopeProxy::create):
      (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
      (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
      (WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
      (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
      (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
      (WebCore::WorkerMessagingProxy::workerObjectDestroyedInternal):
      (WebCore::connectToWorkerGlobalScopeInspectorTask):
      (WebCore::WorkerMessagingProxy::connectToInspector):
      (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
      (WebCore::WorkerMessagingProxy::disconnectFromInspector):
      (WebCore::dispatchOnInspectorBackendTask):
      (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
      (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
      (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyedInternal):
      (WebCore::WorkerMessagingProxy::terminateWorkerGlobalScope):
      * workers/WorkerMessagingProxy.h:
      * workers/WorkerObjectProxy.h:
      * workers/WorkerReportingProxy.h:
      * workers/WorkerRunLoop.cpp:
      (WebCore::WorkerRunLoop::run):
      (WebCore::WorkerRunLoop::runInMode):
      (WebCore::WorkerRunLoop::runCleanupTasks):
      (WebCore::WorkerRunLoop::Task::performTask):
      * workers/WorkerRunLoop.h:
      * workers/WorkerScriptLoader.cpp:
      (WebCore::WorkerScriptLoader::loadSynchronously):
      * workers/WorkerThread.cpp:
      (WebCore::WorkerThread::workerThread):
      (WebCore::WorkerThread::runEventLoop):
      (WebCore::WorkerThreadShutdownFinishTask::performTask):
      (WebCore::WorkerThreadShutdownStartTask::performTask):
      (WebCore::WorkerThread::stop):
      * workers/WorkerThread.h:
      (WebCore::WorkerThread::workerGlobalScope):
      * xml/XMLHttpRequest.cpp:
      (WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode):
      (WebCore::XMLHttpRequest::responseXML):
      
      Source/WebKit/qt:
      
      Update calls to ScriptExecutionContext::isWorkerContext() as it was
      renamed to ScriptExecutionContext::isWorkerGlobalScope().
      
      * WebCoreSupport/NotificationPresenterClientQt.cpp:
      (WebCore::NotificationPresenterClientQt::show):
      (WebCore::NotificationPresenterClientQt::toPage):
      (WebCore::NotificationPresenterClientQt::toFrame):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14792a6b
  17. 05 Jun, 2013 1 commit
    • zandobersek@gmail.com's avatar
      Move MemoryInfo under window.internals · 43a80137
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=117197
      
      Reviewed by Ryosuke Niwa.
      
      .: 
      
      * Source/autotools/symbols.filter: Export the required symbol.
      
      PerformanceTests: 
      
      * resources/runner.js: Remove the setMemoryEnabled call, it's not required anymore as the memory
      info is now accessed through window.internals and doesn't need the setting to be enabled to work.
      
      Source/WebCore: 
      
      The MemoryInfo interface is not a subject of any specification and should not be exposed
      to the Web. It's still used by the performance tests so it is moved under the testing
      internals, accessible through window.internals.memoryInfo.
      
      The jsHeapSizeLimit attribute is removed from the MemoryInfo interface as that value was
      only usable when using the V8 bindings which are not supported anymore. A small fast/harness
      test is also provided to check that the MemoryInfo object is accessible through window.internals.
      
      Test: fast/harness/memoryinfo-object.html
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.exp.in:
      * WebCore.order:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
      * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/gobject/GNUmakefile.am: Remove the GObject bindings targets for MemoryInfo.
      * bindings/js/JSBindingsAllInOne.cpp: Remove the JSMemoryInfo.h and MemoryInfo.h inclusion.
      * bindings/js/JSMemoryInfoCustom.cpp: Removed.
      * bindings/js/ScriptGCEvent.cpp: Remove the ENABLE(INSPECTOR) guards.
      (WebCore::ScriptGCEvent::getHeapSize): Remove the jsHeapSizeLimit assignment.
      * bindings/js/ScriptGCEvent.h: Remove the ENABLE(INSPECTOR) guards.
      (WebCore::HeapInfo::HeapInfo): Remove the jsHeapSizeLimit member.
      * page/Console.cpp: Remove the Console::memory method.
      * page/Console.h: Ditto.
      * page/Console.idl: Remove the window.console.memory attribute.
      * page/MemoryInfo.cpp: Removed.
      * page/Performance.cpp: Remove the Performance::memory method.
      * page/Performance.h: Ditto.
      * page/Performance.idl: Remove the window.performance.memory attribute.
      * testing/Internals.cpp:
      (WebCore::Internals::memoryInfo): Return a MemoryInfo object upon invoking.
      * testing/Internals.h: Declare the Internals::memoryInfo method.
      * testing/Internals.idl: Expose the window.internals.memoryInfo operation.
      * testing/MemoryInfo.h: Renamed from Source/WebCore/page/MemoryInfo.h.
      (WebCore::MemoryInfo::create): Return a new RefPtr-wrapped MemoryInfo object.
      (WebCore::MemoryInfo::usedJSHeapSize): Return the value of the equally-named HeapInfo member.
      (WebCore::MemoryInfo::totalJSHeapSize): Ditto.
      (WebCore::MemoryInfo::MemoryInfo): Acquire the current heap info upon construction.
      * testing/MemoryInfo.idl: Renamed from Source/WebCore/page/MemoryInfo.idl.
      The jsHeapSizeLimit attribute is removed.
      
      Tools: 
      
      * GNUmakefile.am: Add the testing/MemoryInfo.(h|idl) files and the generated targets to
      the Automake build
      * Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl: List the
      testing/MemoryInfo.idl file instead of page/MemoryInfo.idl.
      
      LayoutTests: 
      
      Remove window.performance.memory property listings from the baselines, the object was moved
      under window.internals. The latter is tested throug the new fast/harness test.
      
      * fast/dom/Window/window-properties-performance-expected.txt:
      * fast/harness/memoryinfo-object-expected.txt: Added.
      * fast/harness/memoryinfo-object.html: Added.
      * platform/efl/fast/dom/Window/window-properties-performance-expected.txt:
      * platform/gtk/fast/dom/Window/window-properties-performance-expected.txt:
      * platform/qt/fast/dom/Window/window-properties-performance-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43a80137
  18. 04 Jun, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Automatically generate WorkerContext constructor attributes · 5d7bf679
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=117183
      
      Reviewed by Kentaro Hara.
      
      .:
      
      Update GENERATE_BINDINGS macro to take an additional _workercontext_constructors_file
      optional argument.
      
      * Source/cmake/WebKitMacros.cmake:
      
      Source/WebCore:
      
      Add [GlobalContext=WindowOnly|WorkerOnly|WindowAndWorker] IDL extended attribute
      to indicate to the bindings generator on which global context the constructor
      attribute should be generated for interfaces without [NoInterfaceObject]:
      - WindowOnly: only on the global Window object (default if ommitted)
      - WorkerOnly: only on the worker context
      - WindowAndWorker: On both the global Window object and the worker context
      
      This covers all the current use cases.
      
      The JSC bindings generator now automatically generates the Constructor attributes
      on the WorkerContext for non-callback interfaces which do not have the
      [NoInterfaceObject] extended attribute but have [GlobalContext=WorkerOnly|WindowAndWorker]
      extended attribute.
      
      No new tests, already covered by:
      fast/js/global-constructors-attributes.html
      fast/js/global-constructors-attributes-worker.html
      
      * CMakeLists.txt:
      * DerivedSources.make: Pass new --workerContextConstructorsFile argument to preprocess-idls.pl.
      * DerivedSources.pri: Ditto.
      * GNUmakefile.am: Ditto.
      * PlatformBlackBerry.cmake: Ditto.
      * UseJSC.cmake: Ditto.
      * bindings/scripts/IDLAttributes.txt: Add [GlobalContext=WindowOnly|WorkerOnly|WindowAndWorker]
      IDL extended attribute.
      * bindings/scripts/preprocess-idls.pl: Add support for [GlobalContext] extended attribute and
      generate a partial interface for WorkerContext global constructors that are automatically
      generated.
      * dom/MessageEvent.idl: Add [GlobalContext=WindowAndWorker].
      * fileapi/Blob.idl: Add [GlobalContext=WindowAndWorker].
      * fileapi/FileReader.idl: Add [GlobalContext=WindowAndWorker].
      * fileapi/FileReaderSync.idl: Add [GlobalContext=WorkerOnly] and remove [NoInterfaceObject]
      as the interface should only be visible in worker environment as per the spec.
      * html/DOMURL.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/ArrayBuffer.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/DataView.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Float32Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Float64Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Int16Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Int32Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Int8Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Uint16Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Uint32Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Uint8Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Uint8ClampedArray.idl: Add [GlobalContext=WindowAndWorker].
      * workers/WorkerContext.idl: Remove several Constructor attributes which are now automatically
      generated.
      * workers/WorkerLocation.idl: Add [GlobalContext=WorkerOnly] and remove [NoInterfaceObject]
      as the interface should only be visible in worker environment as per the spec.
      
      Tools:
      
      Pass new --workerContextConstructorsFile to preprocess-idl.pl for bindings
      tests.
      
      * Scripts/webkitpy/bindings/main.py:
      (BindingsTests.generate_supplemental_dependency):
      (BindingsTests.main):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5d7bf679
  19. 24 May, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Remove custom code for webkitAudioContext global constructor getter · 99856b91
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116530
      
      Reviewed by Geoffrey Garen.
      
      Source/WebCore:
      
      Get rid of custom code for webkitAudioContext global constructor getter. The
      global DOMWindow attribute is now automatically generated by leveraging support
      for [EnabledAtRuntime] extended attribute and the existing methods in
      RuntimeEnabledFeatures class.
      
      No new tests, no behavior change.
      
      * GNUmakefile.list.am: Remove JSDOMWindowWebAudioCustom.*.
      * Modules/webaudio/AudioContext.idl:
      Remove [NoInterfaceObject] extended attribute so that the global constructor is
      automatically generated instead of automatically added. Add [EnabledAtRuntime]
      extended attribute since this global constructor can be disabled at runtime and
      so that we can getter rid of the [CustomGetter] for the corresponding global
      constructor. Use [InterfaceName] extended attribute so that the interface name
      matches the global constructor on DOMWindow (webkitAudioContext).
      
      * Target.pri: Remove JSDOMWindowWebAudioCustom.*.
      * UseJSC.cmake: Remove JSDOMWindowWebAudioCustom.*.
      * WebCore.exp.in: Export additional symbol.
      * WebCore.order: Export additional symbol.
      * WebCore.vcproj/WebCore.vcproj: Remove JSDOMWindowWebAudioCustom.*.
      * WebCore.vcxproj/WebCore.vcxproj: Remove JSDOMWindowWebAudioCustom.*.
      * WebCore.vcxproj/WebCore.vcxproj.filters: Remove JSDOMWindowWebAudioCustom.*.
      * WebCore.xcodeproj/project.pbxproj: Remove JSDOMWindowWebAudioCustom.*.
      * bindings/generic/RuntimeEnabledFeatures.h:
      (WebCore::RuntimeEnabledFeatures::setWebAudioEnabled):
      * bindings/js/JSBindingsAllInOne.cpp: Remove JSDOMWindowWebAudioCustom.*.
      * bindings/js/JSDOMWindowWebAudioCustom.cpp: Removed. We no longer need any custom code for
      the WebAudio global constructor getter because we use [EnabledAtRuntime] support in the
      bindings generator now.
      * page/DOMWindow.idl: Remove global constructor for AudioContext as it is now automatically
      generated.
      * page/Settings.in: Remove webAudioEnabled setting as we use the existing setting
      in RuntimeEnabledFeatures now.
      
      Source/WebKit/efl:
      
      Use RuntimeEnabledFeatures instead of Settings to toggle Web Audio support.
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      (DumpRenderTreeSupportEfl::setWebAudioEnabled):
      * WebCoreSupport/DumpRenderTreeSupportEfl.h:
      * ewk/ewk_view.cpp:
      (_Ewk_View_Private_Data):
      (_ewk_view_priv_new):
      * ewk/ewk_view.h: Remove public API to toggle Web Audio support as it is no longer
      a view specific feature.
      
      Source/WebKit/gtk:
      
      Use RuntimeEnabledFeatures instead of Settings to toggle Web Audio support.
      
      * webkit/webkitwebview.cpp:
      (webkit_web_view_update_settings):
      (webkit_web_view_settings_notify):
      
      Source/WebKit/mac:
      
      Use RuntimeEnabledFeatures instead of Settings to toggle Web Audio support.
      
      * WebView/WebView.mm:
      (-[WebView _preferencesChanged:]):
      
      Source/WebKit/qt:
      
      Use RuntimeEnabledFeatures instead of Settings to toggle Web Audio support.
      
      * Api/qwebsettings.cpp:
      (QWebSettingsPrivate::apply):
      
      Source/WebKit/win:
      
      Use RuntimeEnabledFeatures instead of Settings to toggle Web Audio support.
      
      * WebView.cpp:
      (WebView::notifyPreferencesChanged):
      
      Source/WebKit2:
      
      Use RuntimeEnabledFeatures instead of WebCore Settings to toggle Web Audio support.
      
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::updatePreferences):
      
      Tools:
      
      Update EFL's DumpRenderTree to use DumpRenderTreeSupport to toggle
      WebAudio feature instead of public ewk_view API since that API was
      removed.
      
      * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
      (DumpRenderTreeChrome::resetDefaultsToConsistentValues):
      * DumpRenderTree/efl/TestRunnerEfl.cpp:
      (TestRunner::overridePreference):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99856b91
  20. 17 May, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Add [EnabledAtRuntime] extended attribute support for global constructors · c1020034
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116147
      
      Reviewed by Geoffrey Garen.
      
      Add [EnabledAtRuntime] extended attribute support for global constructors.
      This patch adds [EnabledAtRuntime] extended attribute to SharedWorker and
      WebSocket IDL interfaces so that their global constructors on the global
      Window object can now be automatically generated.
      
      The behavior on JavaScript side is unchanged. We simply leverage
      RuntimeEnabledFeatures class and the new [EnabledAtRuntime] IDL extended
      attribute to generate the code for global constructors getters instead
      of using custom code.
      
      No new tests, no behavior change for layout tests.
      
      * GNUmakefile.list.am:
      * Modules/websockets/WebSocket.cpp: Enable WebSockets at runtime by default.
      * Modules/websockets/WebSocket.idl:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore):
      * bindings/js/JSDOMWindowWebSocketCustom.cpp: Removed.
      * bindings/scripts/CodeGeneratorJS.pm:
      (ToMethodName):
      (GetRuntimeEnableFunctionName):
      (GenerateImplementation):
      * bindings/scripts/IDLAttributes.txt:
      * page/DOMWindow.idl:
      * workers/SharedWorker.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1020034
  21. 09 May, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Add support for [NoInterfaceObject] Web IDL extended attribute · 077c4e77
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115714
      
      Reviewed by Kentaro Hara.
      
      .:
      
      Update GENERATE_BINDINGS macro to take an additional _window_constructors_file
      optional argument.
      
      * Source/cmake/WebKitMacros.cmake:
      
      Source/WebCore:
      
      *Constructor attributes on the global DOMWindow object are now automatically
      generated for each non-callback interface that is not declared with the
      [NoInterfaceObject] extended attribute. It is thus no longer needed for
      developers to manually add *Constructor attributes for their new interfaces
      unless they wish to register an "extra" constructor for their interface.
      
      This patch does not modify at all the behavior on JS side. To achieve this,
      [NoInterfaceObject] extended attribute is added to interfaces that should
      not have it according to specification (e.g. History, Location, ...).
      This can be improved later as the behavior should not change with this
      patch.
      
      No new tests, no behavior change.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * Modules/battery/BatteryManager.idl:
      * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
      * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
      * Modules/encryptedmedia/MediaKeySession.idl:
      * Modules/encryptedmedia/MediaKeys.idl:
      * Modules/filesystem/DOMFileSystem.idl:
      * Modules/filesystem/DOMFileSystemSync.idl:
      * Modules/filesystem/DirectoryEntry.idl:
      * Modules/filesystem/DirectoryEntrySync.idl:
      * Modules/filesystem/DirectoryReader.idl:
      * Modules/filesystem/DirectoryReaderSync.idl:
      * Modules/filesystem/Entry.idl:
      * Modules/filesystem/EntryArray.idl:
      * Modules/filesystem/EntryArraySync.idl:
      * Modules/filesystem/EntrySync.idl:
      * Modules/filesystem/FileEntry.idl:
      * Modules/filesystem/FileEntrySync.idl:
      * Modules/filesystem/FileWriter.idl:
      * Modules/filesystem/FileWriterSync.idl:
      * Modules/filesystem/Metadata.idl:
      * Modules/gamepad/Gamepad.idl:
      * Modules/gamepad/GamepadList.idl:
      * Modules/geolocation/Coordinates.idl:
      * Modules/geolocation/Geolocation.idl:
      * Modules/geolocation/Geoposition.idl:
      * Modules/geolocation/PositionError.idl:
      * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
      * Modules/indexeddb/IDBAny.idl:
      * Modules/mediasource/MediaSource.idl:
      * Modules/mediasource/SourceBuffer.idl:
      * Modules/mediasource/SourceBufferList.idl:
      * Modules/mediastream/DOMWindowMediaStream.idl: Removed.
      * Modules/mediastream/MediaStream.idl:
      * Modules/mediastream/MediaStreamTrack.idl:
      * Modules/mediastream/MediaStreamTrackEvent.idl:
      * Modules/mediastream/NavigatorUserMediaError.idl:
      * Modules/mediastream/RTCDTMFSender.idl:
      * Modules/mediastream/RTCDTMFToneChangeEvent.idl:
      * Modules/mediastream/RTCDataChannel.idl:
      * Modules/mediastream/RTCDataChannelEvent.idl:
      * Modules/mediastream/RTCIceCandidateEvent.idl:
      * Modules/mediastream/RTCPeerConnection.idl:
      * Modules/mediastream/RTCStatsReport.idl:
      * Modules/mediastream/RTCStatsResponse.idl:
      * Modules/networkinfo/NetworkInfoConnection.idl:
      * Modules/notifications/DOMWindowNotifications.idl:
      * Modules/notifications/NotificationCenter.idl:
      * Modules/quota/StorageInfo.idl:
      * Modules/quota/StorageQuota.idl:
      * Modules/speech/DOMWindowSpeech.idl: Removed.
      * Modules/speech/DOMWindowSpeechSynthesis.idl:
      * Modules/speech/SpeechGrammar.idl:
      * Modules/speech/SpeechGrammarList.idl:
      * Modules/speech/SpeechRecognition.idl:
      * Modules/speech/SpeechRecognitionAlternative.idl:
      * Modules/speech/SpeechRecognitionError.idl:
      * Modules/speech/SpeechRecognitionEvent.idl:
      * Modules/speech/SpeechRecognitionResult.idl:
      * Modules/speech/SpeechRecognitionResultList.idl:
      * Modules/speech/SpeechSynthesis.idl:
      * Modules/speech/SpeechSynthesisVoice.idl:
      * Modules/webaudio/AnalyserNode.idl:
      * Modules/webaudio/AudioBuffer.idl:
      * Modules/webaudio/AudioBufferSourceNode.idl:
      * Modules/webaudio/AudioContext.idl:
      * Modules/webaudio/AudioDestinationNode.idl:
      * Modules/webaudio/AudioListener.idl:
      * Modules/webaudio/AudioNode.idl:
      * Modules/webaudio/AudioParam.idl:
      * Modules/webaudio/AudioSourceNode.idl:
      * Modules/webaudio/BiquadFilterNode.idl:
      * Modules/webaudio/ChannelMergerNode.idl:
      * Modules/webaudio/ChannelSplitterNode.idl:
      * Modules/webaudio/ConvolverNode.idl:
      * Modules/webaudio/DOMWindowWebAudio.idl: Removed.
      * Modules/webaudio/DelayNode.idl:
      * Modules/webaudio/DynamicsCompressorNode.idl:
      * Modules/webaudio/GainNode.idl:
      * Modules/webaudio/MediaElementAudioSourceNode.idl:
      * Modules/webaudio/MediaStreamAudioDestinationNode.idl:
      * Modules/webaudio/MediaStreamAudioSourceNode.idl:
      * Modules/webaudio/OfflineAudioContext.idl:
      * Modules/webaudio/OscillatorNode.idl:
      * Modules/webaudio/PannerNode.idl:
      * Modules/webaudio/ScriptProcessorNode.idl:
      * Modules/webaudio/WaveShaperNode.idl:
      * Modules/webaudio/WaveTable.idl:
      * Modules/webdatabase/DOMWindowWebDatabase.idl:
      * Modules/webdatabase/Database.idl:
      * Modules/webdatabase/DatabaseSync.idl:
      * Modules/webdatabase/SQLError.idl:
      * Modules/webdatabase/SQLResultSet.idl:
      * Modules/webdatabase/SQLResultSetRowList.idl:
      * Modules/webdatabase/SQLTransaction.idl:
      * Modules/webdatabase/SQLTransactionSync.idl:
      * Modules/websockets/DOMWindowWebSocket.idl: Removed.
      * Modules/websockets/WebSocket.idl:
      * PlatformBlackBerry.cmake:
      * UseJSC.cmake:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/scripts/IDLAttributes.txt:
      * bindings/scripts/IDLParser.pm:
      (parseTypedef):
      * bindings/scripts/preprocess-idls.pl:
      (GenerateConstructorAttribute):
      (getFileContents):
      (getPartialInterfaceNameFromIDL):
      (isCallbackInterfaceFromIDL):
      (trim):
      (getInterfaceExtendedAttributesFromIDL):
      * css/CSSFontFaceLoadEvent.idl:
      * css/CSSFontFaceRule.idl:
      * css/CSSSupportsRule.idl:
      * css/CSSUnknownRule.idl:
      * css/DOMWindowCSS.idl:
      * css/FontLoader.idl:
      * css/MediaQueryList.idl:
      * css/MediaQueryListListener.idl:
      * css/StyleMedia.idl:
      * dom/CustomElementConstructor.idl:
      * dom/DOMError.idl:
      * dom/DOMNamedFlowCollection.idl:
      * dom/DataTransferItem.idl:
      * dom/DataTransferItemList.idl:
      * dom/EventListener.idl:
      * dom/EventTarget.idl:
      * dom/NodeIterator.idl:
      * dom/ShadowRoot.idl:
      * dom/TreeWalker.idl:
      * dom/WebKitNamedFlow.idl:
      * fileapi/FileException.idl:
      * fileapi/FileReaderSync.idl:
      * html/HTMLAudioElement.idl:
      * html/HTMLDetailsElement.idl:
      * html/HTMLOptionElement.idl:
      * html/MediaError.idl:
      * html/MediaKeyError.idl:
      * html/MicroDataItemValue.idl:
      * html/RadioNodeList.idl:
      * html/ValidityState.idl:
      * html/canvas/CanvasRenderingContext.idl:
      * html/canvas/DOMPath.idl:
      * html/canvas/EXTDrawBuffers.idl:
      * html/canvas/EXTTextureFilterAnisotropic.idl:
      * html/canvas/OESElementIndexUint.idl:
      * html/canvas/OESStandardDerivatives.idl:
      * html/canvas/OESTextureFloat.idl:
      * html/canvas/OESTextureHalfFloat.idl:
      * html/canvas/OESVertexArrayObject.idl:
      * html/canvas/WebGLCompressedTextureATC.idl:
      * html/canvas/WebGLCompressedTexturePVRTC.idl:
      * html/canvas/WebGLCompressedTextureS3TC.idl:
      * html/canvas/WebGLContextAttributes.idl:
      * html/canvas/WebGLDebugRendererInfo.idl:
      * html/canvas/WebGLDebugShaders.idl:
      * html/canvas/WebGLDepthTexture.idl:
      * html/canvas/WebGLLoseContext.idl:
      * html/canvas/WebGLVertexArrayObjectOES.idl:
      * html/track/AudioTrack.idl:
      * html/track/AudioTrackList.idl:
      * html/track/TextTrackRegionList.idl:
      * html/track/VideoTrack.idl:
      * html/track/VideoTrackList.idl:
      * inspector/InjectedScriptHost.idl:
      * inspector/InspectorFrontendHost.idl:
      * inspector/JavaScriptCallFrame.idl:
      * inspector/ScriptProfile.idl:
      * inspector/ScriptProfileNode.idl:
      * loader/appcache/DOMApplicationCache.idl:
      * page/AbstractView.idl:
      * page/BarInfo.idl:
      * page/Console.idl:
      * page/Crypto.idl:
      * page/DOMSecurityPolicy.idl:
      * page/DOMWindow.idl:
      * page/History.idl:
      * page/Location.idl:
      * page/MemoryInfo.idl:
      * page/Navigator.idl:
      * page/PagePopupController.idl:
      * page/Performance.idl:
      * page/PerformanceEntry.idl:
      * page/PerformanceEntryList.idl:
      * page/PerformanceMark.idl:
      * page/PerformanceMeasure.idl:
      * page/PerformanceNavigation.idl:
      * page/PerformanceResourceTiming.idl:
      * page/PerformanceTiming.idl:
      * page/Screen.idl:
      * page/SpeechInputResult.idl:
      * page/SpeechInputResultList.idl:
      * page/WorkerNavigator.idl:
      * page/make_settings.pl:
      (generateInternalSettingsIdlFile):
      * svg/ElementTimeControl.idl:
      * svg/SVGAnimationElement.idl:
      * svg/SVGExternalResourcesRequired.idl:
      * svg/SVGFilterPrimitiveStandardAttributes.idl:
      * svg/SVGFitToViewBox.idl:
      * svg/SVGLangSpace.idl:
      * svg/SVGLocatable.idl:
      * svg/SVGStyledElement.idl:
      * svg/SVGTests.idl:
      * svg/SVGTransformable.idl:
      * svg/SVGURIReference.idl:
      * testing/InternalSettings.idl:
      * testing/Internals.idl:
      * testing/MallocStatistics.idl:
      * testing/TypeConversions.idl:
      * workers/AbstractWorker.idl:
      * workers/DedicatedWorkerContext.idl:
      * workers/SharedWorker.idl:
      * workers/SharedWorkerContext.idl:
      * workers/WorkerContext.idl:
      * workers/WorkerLocation.idl:
      * xml/XPathExpression.idl:
      * xml/XPathNSResolver.idl:
      
      Tools:
      
      Update BindingsTests.generate_supplemental_dependency() to pass an
      additional windowConstructorsFile argument to preprocess-idls.pl.
      
      * Scripts/webkitpy/bindings/main.py:
      (BindingsTests.generate_supplemental_dependency):
      (BindingsTests.main):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      077c4e77
  22. 19 Apr, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Add interfaces and stubs for audio and video tracks · 159869e5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113965
      
      Patch by Brendan Long <b.long@cablelabs.com> on 2013-04-19
      Reviewed by Jer Noble.
      
      No new tests because there's no implementations, so there's nothing
      interesting to test.
      
      * CMakeLists.txt: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
      * DerivedSources.cpp: Same.
      * DerivedSources.make: Same.
      * DerivedSources.pri: Same.
      * GNUmakefile.list.am: Same.
      * Target.pri: Same.
      * UseJSC.cmake: Same.
      * WebCore.vcproj/WebCore.vcproj: Same.
      * WebCore.xcodeproj/project.pbxproj: Same.
      * bindings/gobject/GNUmakefile.am: Same.
      * bindings/js/JSAudioTrackCustom.cpp: Added, based on JSTestTrackCustom
      * bindings/js/JSAudioTrackListCustom.cpp: Same.
      * bindings/js/JSBindingsAllInOne.cpp: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
      * bindings/js/JSVideoTrackCustom.cpp: Added, based on JSTestTrackCustom
      * bindings/js/JSVideoTrackListCustom.cpp: Same.
      * dom/EventTarget.h: Make AudioTrackList and VideoTrackList event targets.
      * dom/EventTargetFactory.in: Same.
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::HTMLMediaElement): Add m_audioTracks and m_videoTracks
      (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear clients for audio and video tracks
      (WebCore::HTMLMediaElement::audioTrackEnabledChanged): Added.
      (WebCore::HTMLMediaElement::videoTrackSelectedChanged): Added.
      (WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
      (WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack): Same.
      (WebCore::HTMLMediaElement::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
      (WebCore::HTMLMediaElement::mediaPlayerDidRemoveVideoTrack): Same.
      (WebCore::HTMLMediaElement::addAudioTrack): Added, based on addTextTrack
      (WebCore::HTMLMediaElement::addVideoTrack): Same.
      (WebCore::HTMLMediaElement::removeAudioTrack): Added, based on removeTextTrack
      (WebCore::HTMLMediaElement::removeVideoTrack): Added, based on removeTextTrack
      (WebCore::HTMLMediaElement::removeAllInbandTracks): Remove audio and video tracks too
      (WebCore::HTMLMediaElement::audioTracks): Added, based on textTracks
      (WebCore::HTMLMediaElement::videoTracks): Added, based on textTracks
      (WebCore::HTMLMediaElement::reportMemoryUsage): Add audio and video tracks
      * html/HTMLMediaElement.h: Add audioTracks and videoTracks and related functions
      * html/HTMLMediaElement.idl: Add audioTracks and videoTracks
      * html/track/AudioTrack.cpp: Added, based on TextTrack and InbandTextTrack.
      * html/track/AudioTrack.h: Same.
      * html/track/AudioTrack.idl: Added.
      * html/track/AudioTrackList.cpp: Added, based on TextTrackList
      * html/track/AudioTrackList.h: Same.
      * html/track/AudioTrackList.idl: Added.
      * html/track/TextTrackList.h: Add missing OVERRIDE on interfaceName()
      * html/track/VideoTrack.cpp: Added, based on TextTrack and InbandTextTrack.
      * html/track/VideoTrack.h: Same.
      * html/track/VideoTrack.idl: Added.
      * html/track/VideoTrackList.cpp: Added, based on TextTrackList
      * html/track/VideoTrackList.h: Same.
      * html/track/VideoTrackList.idl: Added.
      * platform/graphics/AudioTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
      * platform/graphics/MediaPlayer.cpp:
      (WebCore::MediaPlayer::addAudioTrack): Added, based on addTextTrack
      (WebCore::MediaPlayer::removeAudioTrack): Added, based on removeTextTrack
      (WebCore::MediaPlayer::addVideoTrack): Added, based on addTextTrack
      (WebCore::MediaPlayer::removeVideoTrack): Added, based on removeTextTrack
      * platform/graphics/MediaPlayer.h:
      (WebCore::MediaPlayerClient::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
      (WebCore::MediaPlayerClient::mediaPlayerDidAddVideoTrack): Same
      (WebCore::MediaPlayerClient::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
      (WebCore::MediaPlayerClient::mediaPlayerDidRemoveVideoTrack): Same
      * platform/graphics/VideoTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      159869e5
  23. 16 Apr, 2013 1 commit
  24. 05 Apr, 2013 1 commit
    • commit-queue@webkit.org's avatar
      REGRESSION(r145279): Build fails while linking when MEDIA_STREAM is enabled · 6394346e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113294
      
      Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-04-05
      Reviewed by Xan Lopez.
      
      In r145279 NamedGetter extended attribute is added to
      RTCStatsResponse.idl which makes the code generator to add
      prototypes for JSRTCStatsResponse::nameGetter and
      JSRTCStatsResponse::canGetItemsForName to the generated
      JSRTCStatsResponse header, but they are not implemented
      anywhere. We need to provide a JSRTCStatsResponseCustom file with
      the implementation of both functions.
      
      * GNUmakefile.list.am: Add JSRTCStatsResponseCustom.cpp to
      compilation.
      * Target.pri: Ditto.
      * UseJSC.cmake: Ditto.
      * WebCore.vcproj/WebCore.vcproj: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
      * bindings/js/JSRTCStatsResponseCustom.cpp: Added.
      (WebCore):
      (WebCore::JSRTCStatsResponse::canGetItemsForName):
      (WebCore::JSRTCStatsResponse::nameGetter):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6394346e
  25. 22 Mar, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Use generated bindings for the Coordinates type used by Geolocation · e25524f8
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112975
      
      Patch by Steve Block <steveblock@chromium.org> on 2013-03-22
      Reviewed by Kentaro Hara.
      
      No new tests, refactoring only.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/geolocation/Coordinates.cpp: Renamed from Source/WebCore/bindings/js/JSCoordinatesCustom.cpp.
      (WebCore):
      (WebCore::Coordinates::altitude):
      (WebCore::Coordinates::altitudeAccuracy):
      (WebCore::Coordinates::heading):
      (WebCore::Coordinates::speed):
      * Modules/geolocation/Coordinates.h:
      (Coordinates):
      * Modules/geolocation/Coordinates.idl:
      * Target.pri:
      * UseJSC.cmake:
      * UseV8.cmake:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/v8/custom/V8CoordinatesCustom.cpp: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e25524f8
  26. 15 Mar, 2013 1 commit
  27. 28 Feb, 2013 2 commits
    • kaustubh@motorola.com's avatar
      Notification.requestPermission callback should be optional · ecf7eefb
      kaustubh@motorola.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108196
      
      Reviewed by Kentaro Hara.
      
      Spec says it should be optional.
      http://notifications.spec.whatwg.org/#notification
      
      Source/WebCore:
      
      Test: fast/notifications/notifications-request-permission-optional.html
      
      * GNUmakefile.list.am:
      * Modules/notifications/Notification.h:
      (Notification):
      * Modules/notifications/Notification.idl:
      * Modules/notifications/NotificationCenter.cpp:
      (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
      * Modules/notifications/NotificationCenter.h:
      (NotificationCenter):
      * Modules/notifications/NotificationCenter.idl:
      * Target.pri:
      * UseJSC.cmake:
      * UseV8.cmake:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSDesktopNotificationsCustom.cpp: Removed.
      * bindings/js/JSNotificationCustom.cpp: Removed.
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateParametersCheck):
      * bindings/v8/custom/V8NotificationCenterCustom.cpp: Removed.
      * bindings/v8/custom/V8NotificationCustom.cpp: Removed.
      
      LayoutTests:
      
      * fast/notifications/notifications-request-permission-optional-expected.txt: Added.
      * fast/notifications/notifications-request-permission-optional.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144376 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ecf7eefb
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r144126 and r144176. · b9b7af1d
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/144126
      http://trac.webkit.org/changeset/144176
      https://bugs.webkit.org/show_bug.cgi?id=111096
      
      Caused fast/notifications/notifications-request-
      permission.html to crash (Requested by abarth on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-28
      
      Source/WebCore:
      
      * GNUmakefile.list.am:
      * Modules/notifications/Notification.h:
      (Notification):
      * Modules/notifications/Notification.idl:
      * Target.pri:
      * UseJSC.cmake:
      * UseV8.cmake:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSNotificationCustom.cpp: Added.
      (WebCore):
      (WebCore::JSNotification::requestPermission):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateParametersCheck):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      * bindings/v8/custom/V8NotificationCustom.cpp: Added.
      (WebCore):
      (WebCore::V8Notification::requestPermissionMethodCustom):
      
      LayoutTests:
      
      * fast/notifications/notifications-request-permission-optional-expected.txt: Removed.
      * fast/notifications/notifications-request-permission-optional.html: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144341 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9b7af1d
  28. 26 Feb, 2013 1 commit
  29. 11 Feb, 2013 1 commit
  30. 30 Jan, 2013 1 commit
    • adamk@chromium.org's avatar
      [JSC] MutationObservers should not create circular, leaky references · c4e733a6
      adamk@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93661
      
      Reviewed by Adam Barth.
      
      This patch makes JSMutationCallback an entirely-custom class that
      holds a weak reference to the function it wraps. To keep that function
      alive, it also adds a PrivateName between the JSMutationObserver
      wrapper and the function when the MutationObserver is constructed.
      
      Unlike the generated JSC callbacks, JSMutationCallback doesn't hold a
      reference to the JSDOMGlobalObject, instead holding the
      DOMWrapperWorld it was created in. As an ActiveDOMCallback, it also
      holds a weak pointer to ScriptExecutionContext (via ContextDestructionObserver).
      
      It's not clear to me how to write a test for this. There's an existing
      manual test in ManualTests/leak-cycle-observer-wrapper.html which may
      be of use but which doesn't seem to currently give meaningful output.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSMutationCallback.cpp: Added.
      (WebCore):
      (WebCore::JSMutationCallback::JSMutationCallback):
      (WebCore::JSMutationCallback::~JSMutationCallback):
      (WebCore::JSMutationCallback::handleEvent):
      * bindings/js/JSMutationCallback.h: Added.
      (WebCore):
      (JSMutationCallback): Instead of a JSCallbackData, hold a weak ref to the callback and a RefPtr to the DOMWrapperWorld.
      (WebCore::JSMutationCallback::create):
      * bindings/js/JSMutationCallbackCustom.cpp: Removed.
      * bindings/js/JSMutationObserverCustom.cpp:
      (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
      When constructing the JSMutationObserver, add a reference via PrivateName from the MutationObserver to the callback function.
      * dom/MutationCallback.idl: Removed. Neither JSC nor V8 use an IDL file to generate this class any more.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141296 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4e733a6
  31. 29 Jan, 2013 1 commit
    • rgf748@motorola.com's avatar
      HTMLOutputElement::htmlFor should be readonly · 482e7714
      rgf748@motorola.com authored
      https://bugs.webkit.org/show_bug.cgi?id=101898
      
      Reviewed by Kentaro Hara.
      
      Source/WebCore:
      
      The spec says htmlFor should be readonly, but WebKit implements it as no-readonly.
      Spec: http://dev.w3.org/html5/spec-preview/the-output-element.html
      
      No new tests. Modified existing test fast/dom/HTMLOutputElement/dom-settable-token-list.html
      to work as expected.
      
      * GNUmakefile.list.am: Removed JSHTMLOutputElementCustom.cpp
      * Target.pri: Ditto
      * UseJSC.cmake: Ditto
      * UseV8.cmake: Removed V8HTMLOutputElementCustom.cpp
      * WebCore.gypi: Removed V8HTMLOutputElementCustom.cpp
      * WebCore.vcproj/WebCore.vcproj: Removed JSHTMLOutputElementCustom.cpp
      * WebCore.vcxproj/WebCore.vcxproj: Ditto
      * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
      * WebCore.xcodeproj/project.pbxproj: Ditto
      * bindings/js/JSBindingsAllInOne.cpp: Ditto
      * bindings/js/JSHTMLOutputElementCustom.cpp: Removed.
      * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Removed.
      * html/HTMLOutputElement.idl: Made htmlFor attribute readonly.
      
      LayoutTests:
      
      The spec says htmlFor should be readonly, but WebKit implements it as no-readonly.
      Spec: http://dev.w3.org/html5/spec-preview/the-output-element.html
      Modified tests according to new behavior.
      
      * fast/dom/HTMLOutputElement/dom-settable-token-list-expected.txt:
      * fast/dom/HTMLOutputElement/script-tests/dom-settable-token-list.js: Test for attribute htmlFor is readonly.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      482e7714
  32. 22 Jan, 2013 1 commit
    • jsbell@chromium.org's avatar
      IndexedDB: Remove IDBKey from WebKitIDL · c837f818
      jsbell@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97375
      
      Reviewed by Kentaro Hara.
      
      Now that references to the artificial IDBKey type have been removed from all IDLs, remove
      the support code, and move the conversion code into the IDBBindingUtilities. Removes
      references to the autogenerated {V8,JS}IDBKey{Custom,}.{cpp,h} from the project files.
      
      No new tests - just code moves/removing unused code. Updated binding reference test results.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Modules/indexeddb/IDBKey.idl: Removed.
      * Target.pri:
      * UseJSC.cmake:
      * UseV8.cmake:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/IDBBindingUtilities.cpp:
      (WebCore::toJS): Moved here from JSIDBKeyCustom.cpp
      (WebCore):
      * bindings/js/JSIDBKeyCustom.cpp: Removed.
      * bindings/scripts/CodeGeneratorJS.pm:
      (JSValueToNative):
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateFunctionCallString):
      (GetNativeType):
      (JSValueToNative):
      * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
      * bindings/scripts/test/CPP/WebDOMTestObj.h:
      * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
      * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
      * bindings/scripts/test/JS/JSTestObj.cpp:
      * bindings/scripts/test/JS/JSTestObj.h:
      * bindings/scripts/test/ObjC/DOMTestObj.h:
      * bindings/scripts/test/ObjC/DOMTestObj.mm:
      * bindings/scripts/test/TestObj.idl: Removed IDBKey-specific test.
      * bindings/scripts/test/V8/V8TestObj.cpp:
      * bindings/v8/IDBBindingUtilities.cpp:
      (WebCore::toV8): Moved here from V8IDBKeyCustom.cpp
      (WebCore):
      * bindings/v8/custom/V8IDBKeyCustom.cpp: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c837f818
  33. 10 Jan, 2013 1 commit
    • tony@chromium.org's avatar
      Speed up supplemental dependency computation · 73fddb23
      tony@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106503
      
      Reviewed by Adam Barth.
      
      .:
      
      * Source/cmake/WebKitMacros.cmake: Add --idlAttributesFile to the binding generation step in cmake.
      
      Source/WebCore:
      
      On my machine, generating supplemental IDL dependencies was taking about 18s
      because it has to run the C preprocessor on each IDL file. Avoid this by using
      a regular expression to find the Supplemental= value in each IDL file rather than
      doing a full parse. Now generating supplemental IDL dependencies is less than a
      second.
      
      preprocess-idls.pl used to also check IDL attributes against IDLAttributes.txt.
      Move this code to run in generate-bindings.pl. This change revealed that
      TestRunner.idl uses PassContext so add that to IDLAttributes.txt.
      
      No new tests, this is a build refactor. EWS bots should be green.
      
      * DerivedSources.make: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
      * DerivedSources.pri: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
      * GNUmakefile.am: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
      * UseJSC.cmake: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
      * UseV8.cmake: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
      * WebCore.gyp/WebCore.gyp: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
      * bindings/scripts/IDLAttributes.txt: Add PassContext needed by TestRunner.idl.
      * bindings/scripts/generate-bindings.pl:
      (loadIDLAttributes): Moved from preprocess-idls.pl.
      (checkIDLAttributes): Moved from preprocess-idls.pl.
      (checkIfIDLAttributesExists): Moved from preprocess-idls.pl.
      * bindings/scripts/preprocess-idls.pl:
      (getSupplementalFromIDLFile): Helper method to get Supplemental=* quickly.
      
      Tools:
      
      Pass the IDL attributes file for generating the bindings in WebKitTestRunner.
      
      * WebKitTestRunner/CMakeLists.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      73fddb23
  34. 04 Jan, 2013 1 commit
    • crogers@google.com's avatar
      Implement WebIDL-style string constants in WebAudio (part 2) · 04304451
      crogers@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=105977
      
      Reviewed by Kentaro Hara.
      
      Source/WebCore:
      
      See Deprecation Notes for more detail:
      https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DeprecationNotes
      
      PannerNode, BiquadFilterNode, OscillatorNode constants must support WebIDL-style string constants.
      Legacy support in the setters for the old integer values should be supported.
      This patch handles the changes for BiquadFilterNode and PannerNode.
      
      Test: webaudio/pannernode-basic.html
      
      * GNUmakefile.list.am:
      * Modules/webaudio/BiquadFilterNode.cpp:
      (WebCore::BiquadFilterNode::type):
      (WebCore):
      (WebCore::BiquadFilterNode::setType):
      * Modules/webaudio/BiquadFilterNode.h:
      (BiquadFilterNode):
      * Modules/webaudio/BiquadFilterNode.idl:
      * Modules/webaudio/PannerNode.cpp:
      (WebCore::PannerNode::panningModel):
      (WebCore):
      (WebCore::PannerNode::setPanningModel):
      (WebCore::PannerNode::distanceModel):
      (WebCore::PannerNode::setDistanceModel):
      * Modules/webaudio/PannerNode.h:
      (PannerNode):
      * Modules/webaudio/PannerNode.idl:
      * Target.pri:
      * UseJSC.cmake:
      * UseV8.cmake:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSBiquadFilterNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.
      (WebCore):
      (WebCore::JSBiquadFilterNode::setType):
      * bindings/js/JSPannerNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.
      (WebCore):
      (WebCore::JSPannerNode::setPanningModel):
      (WebCore::JSPannerNode::setDistanceModel):
      * bindings/v8/custom/V8BiquadFilterNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.
      (WebCore):
      (WebCore::V8BiquadFilterNode::typeAccessorSetter):
      * bindings/v8/custom/V8PannerNodeCustom.cpp: Added.
      (WebCore):
      (WebCore::V8PannerNode::panningModelAccessorSetter):
      (WebCore::V8PannerNode::distanceModelAccessorSetter):
      
      LayoutTests:
      
      * webaudio/audiopannernode-basic-expected.txt: Removed.
      * webaudio/audiopannernode-basic.html: Removed.
      * webaudio/biquad-getFrequencyResponse-expected.txt:
      * webaudio/biquad-getFrequencyResponse.html:
      * webaudio/biquadfilternode-basic-expected.txt:
      * webaudio/biquadfilternode-basic.html:
      * webaudio/pannernode-basic-expected.txt: Added.
      * webaudio/pannernode-basic.html: Added.
      * webaudio/resources/biquad-testing.js:
      * webaudio/resources/distance-model-testing.js:
      (createGraph):
      (.return.renderedBuffer):
      (checkDistanceResult):
      * webaudio/resources/panner-model-testing.js:
      (createGraph):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      04304451
  35. 03 Jan, 2013 1 commit
    • tony@chromium.org's avatar
      Generate internal.settings from Settings.in · 02a17254
      tony@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=104740
      
      Reviewed by Adam Barth.
      
      .:
      
      * Source/cmake/WebKitMacros.cmake: Specify additional output files from make_settings.pl.
      
      Source/WebCore:
      
      If the setting is declared in Settings.in and is a basic type, generate a
      setter function at internals.settings.
      
      InternalSettingsGenerated.idl is created by make_settings.pl. InternalSettings.idl
      inherits from InternalSettingsGenerated.idl so we can override generated functions if
      needed or add additional custom setters.
      
      This patch removes 2 password echo methods from InternalSettings.idl since they are
      auto generated. There are other methods we could remove, but I'll do that in a followup.
      
      No new tests, existing tests should pass. Specifically, editing/input/password* tests should pass.
      
      * CMakeLists.txt: Add generated cpp file to the testing lib.
      * DerivedSources.make: Add generated idl file and specify all the outputs of make_settings.pl
      * DerivedSources.pri: Generate idl file before generating bindings and include generated idl
      for bindings generation.
      * GNUmakefile.am: Specify all the generated files of make_settings.pl. Add generated idl to
      list of files to be processed and resulting output to be compiled.
      * UseJSC.cmake: Add generated idl file to list of idl files to process.
      * UseV8.cmake: Same as UseJSC.cmake.
      * WebCore.gyp/WebCore.gyp: Run make_settings.pl earlier so we can run the output through the
      bindings generator.
      * WebCore.gypi: Add new files.
      * WebCore.vcproj/WebCoreTestSupport.vcproj: Add new files.
      * WebCore.xcodeproj/project.pbxproj: Add new files.
      * bindings/scripts/CodeGenerator.pm:
      (IDLFileForInterface): Add current directory to the include path so DerivedSources.make can
      find the generated idl file.
      * page/make_settings.pl:
      (generateCode): Generate InternalSettingsGenerated.{idl,h,cpp}.
      (generateSettingsMacrosHeader): Rename since we're generating 2 headers now.
      (setterFunctionName): Helper function for naming a setter.
      (printGetterAndSetter): Use setterFunctionName.
      (enumerateParsedItems): Helper function that visits each parsed item.
      (generateInternalSettingsIdlFile): Generate idl file.
      (generateInternalSettingsHeaderFile): Generate header file.
      (generateInternalSettingsCppFile): Generate C++ file.
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::Backup::Backup): Remove password echo members.
      (WebCore::InternalSettings::Backup::restoreTo): Remove password echo members.
      (InternalSettingsWrapper): We can't use RefCountedSupplemental because we're we're already
      RefCounted. Create a wrapper class to wrap the RefCounted InternalSettings for Supplement<>::provideTo,
      which uses an OwnPtr.
      (WebCore::InternalSettingsWrapper::InternalSettingsWrapper): Wraps an InternalSettings that the Page can own.
      (WebCore::InternalSettingsWrapper::~InternalSettingsWrapper): Clear's m_page when the Page goes away.
      (WebCore::InternalSettingsWrapper::internalSettings): Unwrap InternalSettings.
      (WebCore::InternalSettings::from): Update to use InternalSettingsWrapper.
      (WebCore::InternalSettings::InternalSettings): Call base class constructor.
      (WebCore::InternalSettings::resetToConsistentState): Renamed from reset() and pass through to base class.
      Also remove unnecessary pageScaleFactor reset (done in Internals::resetToConsistentState).
      * testing/InternalSettings.h:
      (Backup): Remove password echo members.
      (WebCore::InternalSettings::create): Create an instance instead of using new.
      (WebCore::InternalSettings::hostDestroyed): Clear the page. This is similar to the code that
      RefCountedSupplemental has.
      * testing/InternalSettings.idl: Extends InternalSettingsGenerated.
      * testing/js/WebCoreTestSupport.cpp:
      (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
      * testing/v8/WebCoreTestSupport.cpp:
      (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
      Remove an unused header.
      
      Tools:
      
      * GNUmakefile.am: Compile new generated files on GTK+.
      * qmake/mkspecs/features/default_post.prf: Qt: Make it so an action
      with both extra_sources and add_output_to_sources=false will still
      compile the files in extra_sources. This makes it possible to compile
      InternalSettingsGenerated.cpp and not be confused by
      InternalSettingsGenerated.idl.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02a17254
  36. 02 Jan, 2013 2 commits
    • tony@chromium.org's avatar
      Unreviewed, rolling out r138661. · 33e17a9a
      tony@chromium.org authored
      http://trac.webkit.org/changeset/138661
      https://bugs.webkit.org/show_bug.cgi?id=104740
      
      Compile problems on EFL
      
      .:
      
      * Source/cmake/WebKitMacros.cmake:
      
      Source/WebCore:
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.am:
      * UseJSC.cmake:
      * UseV8.cmake:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * WebCore.vcproj/WebCoreTestSupport.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/scripts/CodeGenerator.pm:
      (IDLFileForInterface):
      * page/make_settings.pl:
      (generateCode):
      (generateHeader):
      (printGetterAndSetter):
      (printInitializer):
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::Backup::Backup):
      (WebCore::InternalSettings::Backup::restoreTo):
      (WebCore::InternalSettings::from):
      (WebCore::InternalSettings::InternalSettings):
      (WebCore::InternalSettings::reset):
      (WebCore::InternalSettings::setPasswordEchoEnabled):
      (WebCore):
      (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
      * testing/InternalSettings.h:
      (Backup):
      (InternalSettings):
      * testing/InternalSettings.idl:
      * testing/js/WebCoreTestSupport.cpp:
      (WebCoreTestSupport::resetInternalsObject):
      * testing/v8/WebCoreTestSupport.cpp:
      (WebCoreTestSupport::resetInternalsObject):
      
      Tools:
      
      * GNUmakefile.am:
      * qmake/mkspecs/features/default_post.prf:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138678 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      33e17a9a
    • tony@chromium.org's avatar
      Generate internal.settings from Settings.in · a35bd277
      tony@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=104740
      
      Reviewed by Adam Barth.
      
      .:
      
      * Source/cmake/WebKitMacros.cmake: Specify additional output files from make_settings.pl.
      
      Source/WebCore:
      
      If the setting is declared in Settings.in and is a basic type, generate a
      setter function at internals.settings.
      
      InternalSettingsGenerated.idl is created by make_settings.pl. InternalSettings.idl
      inherits from InternalSettingsGenerated.idl so we can override generated functions if
      needed or add additional custom setters.
      
      This patch removes 2 password echo methods from InternalSettings.idl since they are
      auto generated. There are other methods we could remove, but I'll do that in a followup.
      
      No new tests, existing tests should pass. Specifically, editing/input/password* tests should pass.
      
      * CMakeLists.txt: Add generated cpp file to the testing lib.
      * DerivedSources.make: Add generated idl file and specify all the outputs of make_settings.pl
      * DerivedSources.pri: Generate idl file before generating bindings and include generated idl
      for bindings generation.
      * GNUmakefile.am: Specify all the generated files of make_settings.pl. Add generated idl to
      list of files to be processed and resulting output to be compiled.
      * UseJSC.cmake: Add generated idl file to list of idl files to process.
      * UseV8.cmake: Same as UseJSC.cmake.
      * WebCore.gyp/WebCore.gyp: Run make_settings.pl earlier so we can run the output through the
      bindings generator.
      * WebCore.gypi: Add new files.
      * WebCore.vcproj/WebCoreTestSupport.vcproj: Add new files.
      * WebCore.xcodeproj/project.pbxproj: Add new files.
      * bindings/scripts/CodeGenerator.pm:
      (IDLFileForInterface): Add current directory to the include path so DerivedSources.make can
      find the generated idl file.
      * page/make_settings.pl:
      (generateCode): Generate InternalSettingsGenerated.{idl,h,cpp}.
      (generateSettingsMacrosHeader): Rename since we're generating 2 headers now.
      (setterFunctionName): Helper function for naming a setter.
      (printGetterAndSetter): Use setterFunctionName.
      (enumerateParsedItems): Helper function that visits each parsed item.
      (generateInternalSettingsIdlFile): Generate idl file.
      (generateInternalSettingsHeaderFile): Generate header file.
      (generateInternalSettingsCppFile): Generate C++ file.
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::Backup::Backup): Remove password echo members.
      (WebCore::InternalSettings::Backup::restoreTo): Remove password echo members.
      (InternalSettingsWrapper): We can't use RefCountedSupplemental because we're we're already
      RefCounted. Create a wrapper class to wrap the RefCounted InternalSettings for Supplement<>::provideTo,
      which uses an OwnPtr.
      (WebCore::InternalSettingsWrapper::InternalSettingsWrapper): Wraps an InternalSettings that the Page can own.
      (WebCore::InternalSettingsWrapper::~InternalSettingsWrapper): Clear's m_page when the Page goes away.
      (WebCore::InternalSettingsWrapper::internalSettings): Unwrap InternalSettings.
      (WebCore::InternalSettings::from): Update to use InternalSettingsWrapper.
      (WebCore::InternalSettings::InternalSettings): Call base class constructor.
      (WebCore::InternalSettings::resetToConsistentState): Renamed from reset() and pass through to base class.
      Also remove unnecessary pageScaleFactor reset (done in Internals::resetToConsistentState).
      * testing/InternalSettings.h:
      (Backup): Remove password echo members.
      (WebCore::InternalSettings::create): Create an instance instead of using new.
      (WebCore::InternalSettings::hostDestroyed): Clear the page. This is similar to the code that
      RefCountedSupplemental has.
      * testing/InternalSettings.idl: Extends InternalSettingsGenerated.
      * testing/js/WebCoreTestSupport.cpp:
      (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
      * testing/v8/WebCoreTestSupport.cpp:
      (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
      Remove an unused header.
      
      Tools:
      
      * GNUmakefile.am: Compile new generated files on GTK+.
      * qmake/mkspecs/features/default_post.prf: Qt: Make it so an action
      with both extra_sources and add_output_to_sources=false will still
      compile the files in extra_sources. This makes it possible to compile
      InternalSettingsGenerated.cpp and not be confused by
      InternalSettingsGenerated.idl.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a35bd277