1. 23 May, 2013 25 commits
  2. 22 May, 2013 15 commits
    • commit-queue@webkit.org's avatar
      Use uninitialized register in "JIT::emit_op_neq_null" and "emit_op_eq_null" · 050d9ca0
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116593
      
      Patch by Peter Wang <peter.wang@torchmobile.com.cn> on 2013-05-22
      Reviewed by Filip Pizlo.
      
      Generated instructions using uninitialized register. It's caused by a mistake of r126494.
      
      Source/JavaScriptCore:
      
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      
      LayoutTests:
      
      * fast/js/neq-null-crash-expected.txt: Added.
      * fast/js/neq-null-crash.html: Added.
      * fast/js/script-tests/neq-null-crash.js: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      050d9ca0
    • fpizlo@apple.com's avatar
      Fix indentation of CodeBlock.h · 870f4666
      fpizlo@apple.com authored
      Rubber stampted by Mark Hahnenberg.
      
      * bytecode/CodeBlock.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      870f4666
    • rniwa@webkit.org's avatar
      REGRESSION(r150491): WebKit2.DOMWindowExtensionNoCache fails · 6a04d4c2
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116595
      
      Temporarily skip this test.
      
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp:
      (TestWebKitAPI::TEST):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6a04d4c2
    • gyuyoung.kim@samsung.com's avatar
      Unreviewed EFL gardening. · 6b039312
      gyuyoung.kim@samsung.com authored
      Skip 3 more tests which has problem related to ecore library.
      
      * platform/efl/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b039312
    • dino@apple.com's avatar
      Rolling out r150555. It borked about 30 media tests. · e0087d5f
      dino@apple.com authored
      Source/WebCore:
      
      * WebCore.xcodeproj/project.pbxproj:
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::HTMLMediaElement):
      * html/HTMLMediaElement.h:
      * platform/audio/AudioSession.cpp:
      (WebCore):
      (WebCore::AudioSession::AudioSession):
      (WebCore::AudioSession::preferredBufferDuration):
      (WebCore::AudioSession::setPreferredBufferDuration):
      * platform/audio/AudioSession.h:
      * platform/audio/AudioSessionListener.h:
      (AudioSessionListener):
      * platform/audio/AudioSessionManager.cpp: Removed.
      * platform/audio/AudioSessionManager.h: Removed.
      * platform/audio/ios/AudioDestinationIOS.cpp:
      (WebCore::AudioDestinationIOS::configure):
      * platform/audio/ios/AudioSessionIOS.mm:
      (WebCore::AudioSession::preferredBufferDuration):
      (WebCore::AudioSession::setPreferredBufferDuration):
      * platform/audio/mac/AudioDestinationMac.cpp:
      (WebCore::AudioDestination::hardwareSampleRate):
      (WebCore::AudioDestinationMac::AudioDestinationMac):
      (WebCore::AudioDestinationMac::configure):
      * platform/audio/mac/AudioDestinationMac.h:
      (AudioDestinationMac):
      * platform/audio/mac/AudioSessionMac.cpp: Removed.
      * platform/audio/mac/AudioSessionManagerMac.cpp: Removed.
      
      Source/WTF:
      
      * wtf/Platform.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150561 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0087d5f
    • jpfau@apple.com's avatar
      Active DOM object resumption should match reason for suspending · 88145781
      jpfau@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116476
      
      Add a reason to the arguments for resuming active DOM object and
      scheduled tasks and ensure that it matches the suspend reason before
      actually resuming the objects.
      
      Reviewed by Joseph Pecoraro.
      
      No new tests, no change in functionality.
      
      * bindings/js/PageScriptDebugServer.cpp:
      (WebCore::PageScriptDebugServer::setJavaScriptPaused): Add matching resume reason
      * dom/Document.cpp:
      (WebCore::Document::resumeActiveDOMObjects): Check for matching resume reason
      (WebCore::Document::resumeScheduledTasks): Check for matching resume reason
      * dom/Document.h:
      (Document):
      * dom/ScriptExecutionContext.cpp:
      (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): Check for matching resume reason
      * dom/ScriptExecutionContext.h:
      (ScriptExecutionContext):
      (WebCore::ScriptExecutionContext::reasonForSuspendingActiveDOMObjects): Expose suspend reason to subclasses
      * history/CachedFrame.cpp:
      (WebCore::CachedFrameBase::restore): Add matching resume reason
      * page/Frame.cpp:
      (WebCore::Frame::resumeActiveDOMObjectsAndAnimations): Add matching resume reason
      * page/PageGroupLoadDeferrer.cpp:
      (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): Add matching resume reason
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      88145781
    • rniwa@webkit.org's avatar
      Remove even more stale Mac test expectations. These tests are passing now! · b76d00fe
      rniwa@webkit.org authored
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b76d00fe
    • rniwa@webkit.org's avatar
      Even more Mac test expectation updates. · 0a4379db
      rniwa@webkit.org authored
      * platform/mac-wk2/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/wk2/TestExpectations:
      * plugins/mouse-events-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150558 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0a4379db
    • jer.noble@apple.com's avatar
      Unreviewed build fix; cast OSStatus to an int before passing it to printf. · e9fd334d
      jer.noble@apple.com authored
      * platform/audio/mac/AudioSessionMac.cpp:
      (WebCore::AudioSession::setPreferredBufferSize):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150557 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9fd334d
    • dino@apple.com's avatar
      Don't snapshot plugins that can't be snapshotted · 404815fa
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116490
      
      Reviewed by Tim Horton.
      
      Some plugins, such as QuickTime, don't support snapshotting. We're
      planning on another way to capture snapshots, but in the meantime make
      sure that they don't fail to initialise because they were told to
      not use accelerated rendering.
      
      Source/WebCore:
      
      * WebCore.exp.in: Export restartSnapshottedPlugin so that it can be used from WK2.
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): Don't set the play state before restarting.
      (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Make sure we indicated that this snapshotted plugin was clicked.
      * html/HTMLPlugInImageElement.h: Move restartSnapshottedPlugin from protected to public.
      * rendering/RenderSnapshottedPlugIn.cpp:
      (WebCore::RenderSnapshottedPlugIn::handleEvent): Don't set play state here. Let the restart functions do it.
      
      Source/WebKit2:
      
      Expose a new message on the plugins so that they can tell the PluginView
      if they support snapshotting or not.
      
      * PluginProcess/PluginControllerProxy.cpp:
      (WebKit::PluginControllerProxy::supportsSnapshotting): New method.
      * PluginProcess/PluginControllerProxy.h: Ditto.
      * PluginProcess/PluginControllerProxy.messages.in: Message signature.
      
      * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add supportsSnapshotting.
      * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Ditto.
      * WebProcess/Plugins/Plugin.h: Ditto - pure virtual here.
      
      * WebProcess/Plugins/PluginProxy.cpp:
      (WebKit::PluginProxy::supportsSnapshotting): Send the message to the plugin process and return the results.
      * WebProcess/Plugins/PluginProxy.h:
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::didInitializePlugin): If the snapshotting plugin has a layer, make
          sure to add it to the tree.
      (WebKit::PluginView::isAcceleratedCompositingEnabled): Snapshotting plugins can use
          accelerated compositing, just like normal plugins.
      (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin doesn't allow snapshotting,
          immediately restart it.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      404815fa
    • jer.noble@apple.com's avatar
      Mac: Set the default audio buffer size to a large value for <video> elements. · c481653c
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116342
      
      Reviewed by Eric Carlson.
      
      Source/WebCore:
      
      To enable power savings by waking up the audio hardware less often, set the
      requested buffer frame size to a large value, such as 4096. Since this results
      in approximately 100ms worth of buffer, set the buffer size to a much lower
      value when playing WebAudio, which is much more sensitive to latency than video
      or audio elements.
      
      Introduce a new class, AudioSessionManager, as well as a helper class,
      AudioSessionManagerToken. Audio elements, video elements, and WebAudio destination
      nodes will create and retain a token, and release the token in their destructor.
      This allows the AudioSessionManager to track how many of what type of audio-
      generating objects are in existence.
      
      This requires implementing AudioSession for Mac platforms. Move the implementation
      for retrieving the hardware sample rate and setting the buffer duration into
      AudioSessionMac from AudioDestinationMac, to be shared with AudioSessionManagerMac.
      
      Change the AudioSession method preferredBufferLength() into preferredBufferSize(),
      as the callers really want to specify a buffer size, not a buffer duration. On iOS,
      where the available API requires a duration, perform the conversion from duration to
      size on behalf of the caller.
      
      * html/HTMLMediaElement.h:  Add a AudioSessionManagerToken member.
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize the token.
      * platform/audio/AudioSession.cpp:
      (WebCore::AudioSession::preferredBufferSize): Renamed from preferredBufferLength.
      (WebCore::AudioSession::setPreferredBufferSize): Renamed from setPreferredBufferLength.
      * platform/audio/AudioSession.h:
      * platform/audio/AudioSessionManager.cpp:
      (AudioSessionManagerToken::create): Simple factory method.
      (AudioSessionManagerToken::AudioSessionManagerToken): Call AudioSessionManager::incrementCount().
      (AudioSessionManagerToken::~AudioSessionManagerToken): Call AudioSessionManager::decrementCount().
      (AudioSessionManager::sharedManager): Simple singleton method.
      (AudioSessionManager::AudioSessionManager): Simple constructor.
      (AudioSessionManager::has): Return whether the type is present.
      (AudioSessionManager::incrementCount): Increment, then call updateSessionState()
      (AudioSessionManager::decrementCount): Decrement, then call updateSessionState()
      (AudioSessionManager::updateSessionState): Stub, does nothing.
      * platform/audio/AudioSessionManager.h:
      * platform/audio/ios/AudioDestinationIOS.cpp:
      (WebCore::AudioDestinationIOS::configure): Call setPreferredBufferSize() instead of setPreferredBufferLength()
      * platform/audio/ios/AudioSessionIOS.mm:
      (WebCore::AudioSession::preferredBufferSize): Renamed from preferredBufferLength.
      (WebCore::AudioSession::setPreferredBufferSize): Renamed from setPreferredBufferLength
      * platform/audio/mac/AudioDestinationMac.cpp:
      (WebCore::AudioDestination::hardwareSampleRate): Call AudioSession::sampleRate().
      (WebCore::AudioDestinationMac::AudioDestinationMac): Create the AudioSessionManagerToken.
      (WebCore::AudioDestinationMac::configure): Do not set the buffer size (this is done in AudioSessionManagerMac).
      * platform/audio/mac/AudioDestinationMac.h:
      * platform/audio/mac/AudioSessionMac.cpp: Added.
      (WebCore::defaultDevice): Added, returns the default audio device.
      (WebCore::AudioSession::AudioSession): Simple constructor.
      (WebCore::AudioSession::~AudioSession): Simple destructor.
      (WebCore::AudioSession::category): Stub, unimplemented.
      (WebCore::AudioSession::setCategory): Ditto.
      (WebCore::AudioSession::categoryOverride): Ditto.
      (WebCore::AudioSession::setCategoryOverride): Ditto.
      (WebCore::AudioSession::numberOfOutputChannels): Ditto.
      (WebCore::AudioSession::setActive): Ditto.
      (WebCore::AudioSession::sampleRate): Use the HAL to return the default audio device sample rate.
      (WebCore::AudioSession::preferredBufferSize): Return the current HAL setting.
      (WebCore::AudioSession::setPreferredBufferSize): Set the buffer size.
      * platform/audio/mac/AudioSessionManagerMac.cpp:
      (AudioSessionManager::updateSessionState): Set the buffer size depending on what audio outputs are present.
      * WebCore.xcodeproj/project.pbxproj: Add the new files to the project.
      
      Source/WTF:
      
      * wtf/Platform.h: Add a WTF_USE_AUDIO_SESSION setting.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c481653c
    • mvujovic@adobe.com's avatar
      [CSS Shaders] valueForCustomFilterTransformParameter should check that renderer is a RenderBox · 75be6733
      mvujovic@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116464
      
      Reviewed by Alexandru Chiculita.
      
      Source/WebCore:
      
      If the renderer is not a RenderBox, we just use a zero size to compute the transform,
      like in CSSComputedStyleDeclaration::computedTransform.
      
      Test: css3/filters/custom/custom-filter-crash-inline-computed-style.html
      
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::valueForCustomFilterTransformParameter):
      
      LayoutTests:
      
      * css3/filters/custom/custom-filter-crash-inline-computed-style-expected.txt: Added.
      * css3/filters/custom/custom-filter-crash-inline-computed-style.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150554 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      75be6733
    • rniwa@webkit.org's avatar
      Add a missing result after r150551. · 2c3c22e1
      rniwa@webkit.org authored
      * http/tests/inspector/network/network-size-chunked-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c3c22e1
    • rniwa@webkit.org's avatar
      Mac test expectation corrections after r150545. · adcd3951
      rniwa@webkit.org authored
      * platform/mac-lion/http/tests/multipart/policy-ignore-crash-expected.txt: Added.
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      adcd3951
    • rniwa@webkit.org's avatar
      More Mac test expectation cleanups. · fb2448d6
      rniwa@webkit.org authored
      * http/tests/inspector/network/network-size-sync-expected.txt:
      * platform/mac/TestExpectations:
      * platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150551 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb2448d6