1. 08 Jan, 2014 10 commits
  2. 07 Jan, 2014 30 commits
    • akling@apple.com's avatar
      createAnonymousMathMLBlock() should return RenderPtr. · 16a1aafb
      akling@apple.com authored
      <https://webkit.org/b/126583>
      
      Reviewed by Antti Koivisto.
      
      * rendering/mathml/RenderMathMLBlock.h:
      * rendering/mathml/RenderMathMLBlock.cpp:
      (WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
      
          Make this return a RenderPtr<RenderMathMLBlock> and removed the
          EDisplay argument since it was always using the default (FLEX.)
      
      * rendering/mathml/RenderMathMLFraction.cpp:
      (WebCore::RenderMathMLFraction::addChild):
      
          Updated for the new createAnonymousMathMLBlock() signature.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      16a1aafb
    • eric.carlson@apple.com's avatar
      Teach MediaSessionManager to manage interruptions · 1016295d
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126530
      
      Reviewed by Sam Weinig.
      
      Source/WebCore:
      
      Tests: media/video-interruption-active-when-element-created.html
             media/video-interruption-with-resume-allowing-play.html
             media/video-interruption-with-resume-not-allowing-play.html
      
      * WebCore.exp.in: Export functions needed by Internals.
      
      Add MediaSession and MediaSessionManager.
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      
      Automatically pause/play for interruptions. Move media restriction management to a MediaSession.
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::HTMLMediaElement): Get rid of m_loadInitiatedByUserGesture and m_userStartedPlayback,
          they aren't needed.
      (WebCore::HTMLMediaElement::load): Ditto.
      (WebCore::HTMLMediaElement::loadInternal): Use the media session to manage restrictions.
      (WebCore::HTMLMediaElement::play): Remove redundant iOS code. Postpone playback if called
          during an interruption.
      (WebCore::HTMLMediaElement::pause): Remember to not resume playback when it ends if called during
          an interruption.
      (WebCore::HTMLMediaElement::potentiallyPlaying): Rearrange code to make it easier to understand.
      (WebCore::HTMLMediaElement::couldPlayIfEnoughData): Ditto.
      (WebCore::HTMLMediaElement::pausedForUserInteraction): Return true if paused because of an interruption.
      (WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Be explicit about
          which restrictions are removed.
      (WebCore::HTMLMediaElement::mediaType): MediaSessionManager::<Type> -> MediaSession::<Type>.
      (WebCore::HTMLMediaElement::beginInterruption): New.
      (WebCore::HTMLMediaElement::endInterruption): Ditto.
      * html/HTMLMediaElement.h:
      
      Pulled MediaSessionManagerToken out of MediaSessionManager.cpp, added functionality to manage interruptions.
      * platform/audio/MediaSession.cpp: Added.
      (WebCore::MediaSession::create):
      (WebCore::MediaSession::MediaSession):
      (WebCore::MediaSession::~MediaSession):
      (WebCore::MediaSession::beginInterruption): Inform client of interruption state change.
      (WebCore::MediaSession::endInterruption): Ditto.
      * platform/audio/MediaSession.h: Added.
      
      * platform/audio/MediaSessionManager.cpp:
      (WebCore::MediaSessionManager::MediaSessionManager): Initialize interruption counter.
      (WebCore::MediaSessionManager::has): MediaType is defined in MediaSession.
      (WebCore::MediaSessionManager::count): Ditto.
      (WebCore::MediaSessionManager::beginInterruption): Inform all clients of interruption start if
          not already in an interruption.
      (WebCore::MediaSessionManager::endInterruption): Inform all clients if interruption has ended.
      (WebCore::MediaSessionManager::addSession): Renamed from addToken. Set session interruption state.
      (WebCore::MediaSessionManager::removeSession): Renamed from removeToken.
      * platform/audio/MediaSessionManager.h:
      
      * platform/audio/mac/AudioDestinationMac.cpp:
      (WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken -> MediaSession.
      * platform/audio/mac/AudioDestinationMac.h:
      
      * platform/audio/mac/MediaSessionManagerMac.cpp:
      (MediaSessionManager::updateSessionState): Ditto.
      
      Make it possible for tests to begin and end interruptions.
      * testing/Internals.cpp:
      (WebCore::Internals::beginMediaSessionInterruption):
      (WebCore::Internals::endMediaSessionInterruption):
      * testing/Internals.h:
      * testing/Internals.idl:
      
      Source/WebKit:
      
      * CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories.
      
      Source/WebKit2:
      
      * CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories.
      
      LayoutTests:
      
      * media/video-interruption-active-when-element-created-expected.txt: Added.
      * media/video-interruption-active-when-element-created.html: Added.
      * media/video-interruption-with-resume-allowing-play-expected.txt: Added.
      * media/video-interruption-with-resume-allowing-play.html: Added.
      * media/video-interruption-with-resume-not-allowing-play-expected.txt: Added.
      * media/video-interruption-with-resume-not-allowing-play.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161481 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1016295d
    • rniwa@webkit.org's avatar
      DoYouEvenBench: Turn BenchmarkRunner into a real class · 4f872c2a
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126613
      
      Reviewed by Stephanie Lewis.
      
      Made BenchmarkRunner an instantiatable class. Made tests.js simply create an array of suite objects
      instead of calling BenchmarkRunner.Suite now that we can have mulitple instances of BenchmarkRunner.
      
      * DoYouEvenBench/benchmark.html:
      (formatTestName): Moved and renamed from BenchmarkRunner._testName.
      (createUIForSuites): Extracted from a giant blob of code.
      (startTest): Ditto.
      * DoYouEvenBench/resources/benchmark-runner.js:
      (BenchmarkRunner): Added.
      (BenchmarkRunner.prototype.waitForElement):
      (BenchmarkRunner.prototype._removeFrame):
      (BenchmarkRunner.prototype._appendFrame):
      (BenchmarkRunner.prototype._waitAndWarmUp):
      (BenchmarkRunner.prototype._runTest):
      (BenchmarkState.prototype.prepareCurrentSuite):
      (BenchmarkRunner.prototype.step):
      (BenchmarkRunner.prototype._runTestAndRecordResults):
      (BenchmarkRunner.prototype._finalize):
      * DoYouEvenBench/resources/tests.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f872c2a
    • aestes@apple.com's avatar
      [iOS] Clean up some exported headers · 155516be
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126403
      
      Reviewed by Simon Fraser.
      
      Public header files that are completely excluded on iOS don't need
      !TARGET_OS_IPHONE guards since they are already listed in
      EXCLUDED_SOURCE_FILE_NAMES.
      
      I also took the opportunity to sort EXCLUDED_SOURCE_FILE_NAMES and to
      clean up some #imports.
      
      * Configurations/WebKit.xcconfig:
      * Misc/WebCache.h:
      * Misc/WebIconDatabasePrivate.h:
      * Misc/WebLocalizableStrings.h:
      * Misc/WebNSEventExtras.h:
      * Misc/WebNSPasteboardExtras.h:
      * Misc/WebNSWindowExtras.h:
      * Panels/WebPanelAuthenticationHandler.h:
      * Plugins/WebPluginsPrivate.h:
      * Storage/WebDatabaseManagerPrivate.h:
      * WebCoreSupport/WebJavaScriptTextInputPanel.h:
      * WebCoreSupport/WebKeyGenerator.h:
      * WebCoreSupport/WebSecurityOriginPrivate.h:
      * WebView/WebDashboardRegion.h:
      * WebView/WebDynamicScrollBarsView.h:
      * WebView/WebFrameView.h:
      * WebView/WebPreferenceKeysPrivate.h:
      * WebView/WebResourceLoadDelegatePrivate.h:
      * WebView/WebView.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      155516be
    • jinwoo7.song@samsung.com's avatar
      [EFL][WK2] Fix failing ewk_view_page_contents_get() API test · 64ad4bcc
      jinwoo7.song@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126609
      
      Reviewed by Gyuyoung Kim.
      
      Compare the amount of bytes in the expected result file with
      the size of callback data from the API since the 'Date' field
      and the boundaries will be different on each case.
      Refered the test case of GTK port.
      
      * UIProcess/API/efl/tests/resources/resultMHTML.mht: Added.
      * UIProcess/API/efl/tests/test_ewk2_view.cpp:
      (EWK2ViewTest::PageContentsAsMHTMLCallback):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161478 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64ad4bcc
    • seokju@webkit.org's avatar
      Web Inspector: Remove leftover 'device metrics' code · 4a2db1db
      seokju@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126607
      
      Reviewed by Joseph Pecoraro.
      
      Source/WebCore:
      
      No new tests, No changes in behavior.
      
      Removes unused code related to 'device metrics'.
      
      * css/MediaQueryEvaluator.cpp:
      (WebCore::device_heightMediaFeatureEval):
      (WebCore::device_widthMediaFeatureEval):
      * inspector/InspectorClient.h:
      * inspector/InspectorInstrumentation.cpp:
      * inspector/InspectorInstrumentation.h:
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::InspectorPageAgent):
      (WebCore::InspectorPageAgent::disable):
      (WebCore::InspectorPageAgent::didLayout):
      * inspector/InspectorPageAgent.h:
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::innerHeight):
      (WebCore::DOMWindow::innerWidth):
      * page/Screen.cpp:
      (WebCore::Screen::height):
      (WebCore::Screen::width):
      * rendering/TextAutosizer.cpp:
      (WebCore::TextAutosizer::processSubtree):
      
      Source/WebKit/blackberry:
      
      Clean up after removing InspectorClient::overrideDeviceMetrics().
      
      * WebCoreSupport/InspectorClientBlackBerry.cpp:
      * WebCoreSupport/InspectorClientBlackBerry.h:
      
      Source/WebKit/mac:
      
      * WebKit.order: Update after removing InspectorClient::overrideDeviceMetrics().
      
      Source/WebKit2:
      
      * mac/WebKit2.order: Update after removing InspectorClient::overrideDeviceMetrics().
      
      LayoutTests:
      
      * inspector/styles/override-screen-size-expected.txt: Removed.
      * inspector/styles/override-screen-size.html: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4a2db1db
    • simon.fraser@apple.com's avatar
      Fix the build. The WebKit2 project copied all of WebKit2/Scripts/webkit2 into... · 8e50f67d
      simon.fraser@apple.com authored
      Fix the build. The WebKit2 project copied all of WebKit2/Scripts/webkit2 into WebKit2.framework/PrivateHeaders,
      but that's bad because there are test result files in there now. Fix by having the project copy specific
      .py files into rivateHeaders/webkit2
      
      * WebKit2.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161476 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e50f67d
    • bfulgham@apple.com's avatar
      Unreviewed test fix: Correct whitespace around ] · fe8169a1
      bfulgham@apple.com authored
      * platform/mac/TestExpectations: "Debug]" should be "Debug ]"
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe8169a1
    • simon.fraser@apple.com's avatar
      Make it possible for MessageReceivers to pass messages to their superclass,... · 3415cb21
      simon.fraser@apple.com authored
      Make it possible for MessageReceivers to pass messages to their superclass, and use it for RemoteLayerTreeDrawingAreaProxy
      https://bugs.webkit.org/show_bug.cgi?id=126558
      
      Reviewed by Anders Carlsson.
      
      In a message.in file it's now possible to say:
      
      messages -> Subclass : Superclass { ... } and the generated code will
      call Superclass::didReceiveMessage().
      
      Use this to have RemoteLayerTreeDrawingAreaProxy pass messages up to
      DrawingAreaProxy.
      
      * Scripts/webkit2/messages.py:
      (generate_message_handler):
      * Scripts/webkit2/model.py:
      (MessageReceiver.__init__):
      * Scripts/webkit2/parser.py:
      (parse):
      * UIProcess/DrawingAreaProxy.h:
      * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3415cb21
    • simon.fraser@apple.com's avatar
      Add message-generation test for non-legacy message receiver · 3a2b0ceb
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126603
      
      Reviewed by Anders Carlsson.
      
      Add expected output files for a non-legacy message receiver, and add
      testing for same.
      
      * Scripts/webkit2/LegacyMessageReceiver-expected.cpp: Copied from Source/WebKit2/Scripts/webkit2/MessageReceiver-expected.cpp.
      * Scripts/webkit2/LegacyMessages-expected.h: Added.
      * Scripts/webkit2/MessageReceiver-expected.cpp:
      (WebKit::WebPage::didReceiveMessage):
      (WebKit::WebPage::didReceiveSyncMessage):
      * Scripts/webkit2/messages_unittest.py:
      (MessagesTest.setUp):
      (ParsingTest.test_receiver):
      (HeaderTest.test_header):
      (ReceiverImplementationTest.test_receiver_implementation):
      * Scripts/webkit2/test-legacy-messages.in: Copied from Source/WebKit2/Scripts/webkit2/test-messages.in.
      * Scripts/webkit2/test-messages.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3a2b0ceb
    • simon.fraser@apple.com's avatar
      Move expected results out of messages_unittest.py into separate files · e4a887a4
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126602
      
      Reviewed by Anders Carlsson.
      
      Uninline the test input and output from messages_unittest.py to make
      it easier to add more tests.
      
      * Scripts/webkit2/MessageReceiver-expected.cpp: Added.
      (WebKit::WebPage::didReceiveWebPageMessage):
      (WebKit::WebPage::didReceiveSyncWebPageMessage):
      * Scripts/webkit2/Messages-expected.h: Added.
      * Scripts/webkit2/messages_unittest.py:
      (ParsingTest.test_receiver):
      * Scripts/webkit2/test-messages.in: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4a887a4
    • lforschler@apple.com's avatar
      Add a scheduler for the CLoop bot. · d9386a9a
      lforschler@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9386a9a
    • aestes@apple.com's avatar
      [iOS] Upstream WebKit support for various features · 2cae60c6
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126413
      
      Reviewed by Sam Weinig.
      
      Upstream iOS WebKit changes needed for these features:
      
      - ENABLE(DELETION_UI)
      - ENABLE(TOUCH_EVENTS)
      - USE(QUICK_LOOK)
      - USE(UIKIT_EDITING)
      - ENABLE(DISK_IMAGE_CACHE)
      - ENABLE(IOS_TEXT_AUTOSIZING)
      - ENABLE(ICONDATABASE)
      - ENABLE(DASHBOARD_SUPPORT)
      
      * DefaultDelegates/WebDefaultEditingDelegate.m:
      * Misc/WebCache.mm:
      * WebCoreSupport/WebChromeClient.h:
      * WebView/WebDataSource.mm:
      (-[WebDataSource dealloc]):
      * WebView/WebEditingDelegatePrivate.h:
      * WebView/WebFrame.mm:
      (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
      * WebView/WebHTMLView.mm:
      (-[WebHTMLView maintainsInactiveSelection]):
      (-[WebHTMLView touch:]):
      * WebView/WebPreferences.mm:
      (+[WebPreferences initialize]):
      * WebView/WebPreferencesPrivate.h:
      * WebView/WebView.mm:
      (-[WebView _preferencesChanged:]):
      (-[WebView _cacheFrameLoadDelegateImplementations]):
      (-[WebView quickLookContentForURL:]):
      (-[WebView _touchEventRegions]):
      * WebView/WebViewPrivate.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2cae60c6
    • aestes@apple.com's avatar
      [iOS] Upstream a bug fix for plugin-backed media elements · b47b3363
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126412
      
      Reviewed by Eric Carlson.
      
      Media elements backed by plug-ins should outlive being removed from the
      document, like their native counterparts do.
      
      * Plugins/WebPluginController.h:
      * Plugins/WebPluginController.mm:
      (-[NSView isMediaPlugInProxyView]):
      (-[NSView setIsMediaPlugInProxyView:]):
      (-[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
      (-[WebPluginController mediaPlugInProxyViewCreated:]):
      (-[WebPluginController destroyPlugin:]):
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (pluginView):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b47b3363
    • aestes@apple.com's avatar
      [iOS] Upstream remainder of minimal-ui viewport changes · 002360bb
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126410
      
      Reviewed by Sam Weinig.
      
      Source/WebCore:
      
      * dom/ViewportArguments.h:
      
      Source/WebKit/ios:
      
      * WebCoreSupport/WebChromeClientIOS.mm:
      (dictionaryForViewportArguments):
      * WebKit.iOS.exp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      002360bb
    • fpizlo@apple.com's avatar
      DFG fixup phase should be responsible for inserting ValueToInt32's as needed... · 027ed671
      fpizlo@apple.com authored
      DFG fixup phase should be responsible for inserting ValueToInt32's as needed and it should use Phantom to keep the original values alive in case of OSR exit
      https://bugs.webkit.org/show_bug.cgi?id=126600
      
      Reviewed by Michael Saboff.
              
      This fixes an embarrassing OSR exit liveness bug. It also simplifies the code. We were
      already using FixupPhase as the place where conversion nodes get inserted. ValueToInt32
      was the only exception to that rule, and that was one of the reasons why we had this bug.
              
      Henceforth ValueToInt32 is only inserted by FixupPhase, and only when it is necessary:
      we have a BitOp that will want a ToInt32 conversion and the operand is not predicted to
      already be an int32. If FixupPhase inserts any ValueToInt32's then the BitOp will no
      longer appear to use the original operand, which will make OSR exit think that the
      original operand is dead. We work around this they way we always do: insert a Phantom on
      the original operands right after the BitOp. This ensures that any OSR exit in any of the
      ValueToInt32's or in the BitOp itself will have values for the original inputs.
      
      * dfg/DFGBackwardsPropagationPhase.cpp:
      (JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):
      (JSC::DFG::BackwardsPropagationPhase::propagate):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::handleIntrinsic):
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      (JSC::DFG::FixupPhase::fixIntEdge):
      (JSC::DFG::FixupPhase::fixBinaryIntEdges):
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate):
      * tests/stress/bit-op-value-to-int32-input-liveness.js: Added.
      (foo):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      027ed671
    • commit-queue@webkit.org's avatar
      createElementNS handles element name 'xmlns' correctly. · c6be1465
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126553
      
      Patch by Victor Costan <costan@gmail.com> on 2014-01-07
      Reviewed by Alexey Proskuryakov.
      
      Source/WebCore:
      
      Tests: fast/dom/createElementNS-namespace-errors.html
             fast/dom/setAttributeNS-namespace-errors.html
      
      * dom/Document.cpp:
      (WebCore::Document::hasValidNamespaceForElements): updated to match DOM3/DOM4 spec.
      (WebCore::Document::hasValidNamespaceForAttributes): updated to match DOM3/DOM4 spec.
      
      LayoutTests:
      
      * fast/dom/createElementNS-namespace-errors-expected.txt: Added.
      * fast/dom/createElementNS-namespace-errors.html: Added. Covers all the corner cases in the DOM4 spec.
      * fast/dom/script-tests/setAttributeNS-prefix-and-null-namespace.js: Removed.
      * fast/dom/setAttributeNS-expected.txt: Updated to match cleaned up test.
      * fast/dom/setAttributeNS-namespace-errors-expected.txt: Added.
      * fast/dom/setAttributeNS-namespace-errors.html: Added. Covers all the corner cases in the DOM4 spec.
      * fast/dom/setAttributeNS-prefix-and-null-namespace-expected.txt: Removed.
      * fast/dom/setAttributeNS-prefix-and-null-namespace.html: Removed. Subsumed by setAttributeNS-namespace-errors.
      * fast/dom/setAttributeNS.html: Cleaned up.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6be1465
    • lforschler@apple.com's avatar
      Update buiddir to be unique. · 0068c85a
      lforschler@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0068c85a
    • lforschler@apple.com's avatar
      fix Typo. · 91fef38d
      lforschler@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      91fef38d
    • lforschler@apple.com's avatar
      Add buildbot infrasctructure for building and testing JSC cloop · e1b4f066
      lforschler@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126604
      
      Reviewed by Geoffrey Garen.
      
      * BuildSlaveSupport/build.webkit.org-config/config.json:
      * BuildSlaveSupport/build.webkit.org-config/master.cfg:
      (CompileCLOOP):
      (RunCLOOPTests):
      (RunCLOOPTests.countFailures):
      (BuildAndTestCLOOP):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e1b4f066
    • commit-queue@webkit.org's avatar
      Web Inspector: Typo "clipboarPrefixString" · 7834dece
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126595
      
      Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-07
      Reviewed by Sam Weinig.
      
      * UserInterface/ConsoleCommandResult.js:
      (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
      (WebInspector.ConsoleCommandResult.prototype.get clipboardPrefixString):
      * UserInterface/ConsoleMessageImpl.js:
      (WebInspector.ConsoleMessageImpl.prototype.get clipboardPrefixString):
      (WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7834dece
    • bburg@apple.com's avatar
      Unreviewed. Add myself as a committer. · bb1034b8
      bburg@apple.com authored
      * Scripts/webkitpy/common/config/contributors.json:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb1034b8
    • rniwa@webkit.org's avatar
      DoYouEvenBench: Extract tests and runner code from benchmark.js/html · 98471c52
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126596
      
      Reviewed by Stephanie Lewis.
              
      Extracted benchmark-runner.js and tests.js out of benchmark.js and benchmark.html.
      
      Added a "client" interface to BenchmarkRunner so that benchmark.html could register necessary hooks to
      update its UI. Also made BenchmarkRunner store a tree of results so that the serialization of test names
      could be isolated from BenchmarkRunner itself in the future.
      
      * DoYouEvenBench/benchmark.html:
      Moved the code to instantiate and update UI here from benchmark.js. The test code was moved out of this
      file into resources/tests.js.
      
      * DoYouEvenBench/resources/benchmark-runner.js: Renamed from PerformanceTests/DoYouEvenBench/benchmark.js.
      (SimplePromise): Moved from benchmark.js
      (SimplePromise.prototype.then): Ditto.
      (SimplePromise.prototype.resolve): Ditto.
      (BenchmarkTestStep): Added. Wraps each test step.
      (BenchmarkRunner.suite): Moved from benchmark.js.
      (BenchmarkRunner.setClient): Added.
      (BenchmarkRunner.waitForElement): Moved.
      (BenchmarkRunner._removeFrame): Ditto.
      (BenchmarkRunner._appendFrame): Ditto. Set the width and the height of the iframe as they're more than
      presentational as they affect performance.
      (BenchmarkRunner._waitAndWarmUp): Ditto.
      (BenchmarkRunner._runTest): Ditto.
      (BenchmarkRunner._testName): Ditto.
      (BenchmarkState): Ditto.
      (BenchmarkState.prototype.currentSuite): Ditto.
      (BenchmarkState.prototype.currentTest): Ditto.
      (BenchmarkState.prototype.next): Ditto.
      (BenchmarkState.prototype.isFirstTest): Ditto.
      (BenchmarkState.prototype.prepareCurrentSuite): Ditto.
      (BenchmarkRunner.step): Ditto.
      (BenchmarkRunner._runTestAndRecordResults): Ditto. Note the code to update the UI has been move to
      benchmark.html. Also moved the code to accumulate the totals here from _finalize.
      (BenchmarkRunner._finalize): Moved. 
      
      * DoYouEvenBench/resources/tests.js: Copied from PerformanceTests/DoYouEvenBench/benchmark.html.
      Uses BenchmarkTestStep instead of an array for each test step.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98471c52
    • jer.noble@apple.com's avatar
      PlatformLayer containing scrollbars does not disappear when setting... · bfdbdad3
      jer.noble@apple.com authored
      PlatformLayer containing scrollbars does not disappear when setting overflow:hidden on page root, until resize.
      https://bugs.webkit.org/show_bug.cgi?id=116051
      
      Reviewed by Simon Fraser.
      
      Move the pre-existing call to addedOrRemovedScrollbar() outside of the else-statement
      in updateScrollbars() so that changes made in the if-statement cause the scrollbar
      layers to be updated. The scrollbarAddedOrRemoved local variable guarding access to
      addedOrRemovedScrollbar() is already being set (but never checked) inside the if-statement.
      
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::updateScrollbars):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfdbdad3
    • jer.noble@apple.com's avatar
      HTML5 video tag Does Not Load in Apache htaccess/htpasswd Protected Directory · f628b340
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=40382
      
      Reviewed by Eric Carlson.
      
      Source/WebCore:
      
      Test: http/tests/media/video-auth.html
      
      Adopt a new AVFoundation API to handle authentication challenge generated while loading
      media through an AVAsset. The authentication request comes through as a
      NSURLAuthenticationChallenge, and is wrapped in a WebCore::AuthenticationChallenge
      by MediaPlayerPrivateAVFoundationObjC, and is sent up to the HTMLMediaElement to handle.
      The HTMLMediaElement creates a ResourceRequest, and passes the challenge up to the
      ResourceLoadNotifier.
      
      To allow the HTMLMediaElement to initiate handling an AuthenticationChallenge without
      actually creating a ResourceLoader, allow ResourceLoaderDelegate to accept a unique
      identifier and a DocumentLoader in lieu of a ResourceLoader.
      
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::parseAttribute):
      * html/HTMLMediaElement.h:
      * loader/ResourceLoadNotifier.cpp:
      (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
      (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
      * loader/ResourceLoadNotifier.h:
      * platform/graphics/MediaPlayer.cpp:
      (WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
      * platform/graphics/MediaPlayer.h:
      (WebCore::MediaPlayerClient::mediaPlayerShouldWaitForResponseToAuthenticationChallenge):
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):
      (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
      
      LayoutTests:
      
      * http/tests/media/resources/video-auth.php: Added.
      * http/tests/media/video-auth-expected.txt: Added.
      * http/tests/media/video-auth.html: Added.
      * platform/mac/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f628b340
    • ap@apple.com's avatar
      Popovers at build.webkit.org/dashboard could have titles · 96555e87
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126495
      
      Reviewed by Timothy Hatcher.
      
      Added titles to all popovers except for pending revisions one, which I would like
      to improve more (probably add an ETA).
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
      (BuildbotBuilderQueueView.prototype._presentPopoverFailureLogs): Moved code for
      adding a title to base class.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
      (BuildbotQueueView.prototype._presentPopoverForPendingCommits): Moved code for inserting
      a divider to a separate function.
      (BuildbotQueueView.prototype._presentPopoverForRevisionRange): Added a title.
      (BuildbotQueueView.prototype._presentNoChangePopover): Updated the text to match
      title from above function.
      (BuildbotQueueView.prototype._revisionPopoverContentForIteration): Renamed "contentElement"
      variable to "content" to match all other code.
      (BuildbotQueueView.prototype._addIterationHeadingToPopover): Added.
      (BuildbotQueueView.prototype._addDividerToPopover): Added.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
      (BuildbotTesterQueueView.prototype._popoverContentForLayoutTestRegressions): Add a title.
      (BuildbotTesterQueueView.prototype._presentPopoverForLayoutTestRegressions): Ditto.
      (BuildbotTesterQueueView.prototype._presentPopoverForMultipleFailureKinds): Ditto.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96555e87
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r161447. · f79af8da
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/161447
      https://bugs.webkit.org/show_bug.cgi?id=126592
      
      needs some more work (Requested by thorton on #webkit).
      
      Source/WebCore:
      
      * WebCore.exp.in:
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      * page/FrameView.h:
      * platform/graphics/GraphicsLayerClient.h:
      * platform/graphics/TiledBacking.h:
      * platform/graphics/ca/GraphicsLayerCA.h:
      * platform/graphics/ca/PlatformCALayerClient.h:
      * platform/graphics/ca/mac/TileController.h:
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::TileController):
      (WebCore::TileController::tilesWouldChangeForVisibleRect):
      (WebCore::TileController::setExposedRect):
      (WebCore::TileController::setClipsToExposedRect):
      (WebCore::TileController::computeTileCoverageRect):
      (WebCore::TileController::revalidateTiles):
      (WebCore::TileController::updateTileCoverageMap):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::computeTileCoverage):
      * rendering/RenderLayerBacking.h:
      
      Source/WebKit2:
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView _updateViewExposedRect]):
      * UIProcess/DrawingAreaProxy.cpp:
      (WebKit::DrawingAreaProxy::DrawingAreaProxy):
      * UIProcess/DrawingAreaProxy.h:
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::close):
      (WebKit::WebPageProxy::viewExposedRectChanged):
      (WebKit::WebPageProxy::exposedRectChangedTimerFired):
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::viewExposedRect):
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
      * WebProcess/WebPage/DrawingArea.h:
      (WebKit::DrawingArea::setExposedRect):
      (WebKit::DrawingArea::setClipsToExposedRect):
      * WebProcess/WebPage/DrawingArea.messages.in:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::viewExposedRectChanged):
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
      (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
      (WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
      (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
      (WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
      (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
      (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
      (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
      (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
      (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
      (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
      (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f79af8da
    • dfarler@apple.com's avatar
      [ASAN] Building with trunk clang corrupts sandbox profile with comment from Compiler.h · b54e335a
      dfarler@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124532
      
      Reviewed by David Kilzer.
      
      * wtf/Compiler.h:
      Remove this quirk - it does nothing.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b54e335a
    • mhahnenberg@apple.com's avatar
      Repatch write barrier slow path call doesn't align the stack in the presence of saved registers · 3cd389dc
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126093
      
      Reviewed by Geoffrey Garen.
      
      * jit/Repatch.cpp: Reworked the stack alignment code for calling out to C code on the write barrier slow path.
      We need to properly account for the number of reused registers that were saved to the stack, so we have to 
      pass the ScratchRegisterAllocator around.
      (JSC::storeToWriteBarrierBuffer):
      (JSC::writeBarrier):
      (JSC::emitPutReplaceStub):
      (JSC::emitPutTransitionStub):
      * jit/ScratchRegisterAllocator.h: Previously the ScratchRegisterAllocator only knew whether or not it had
      reused registers, but not how many. In order to correctly align the stack for calls to C slow paths for 
      the write barriers in inline caches we need to know how the stack is aligned. So now ScratchRegisterAllocator
      tracks how many registers it has reused.
      (JSC::ScratchRegisterAllocator::ScratchRegisterAllocator):
      (JSC::ScratchRegisterAllocator::allocateScratch):
      (JSC::ScratchRegisterAllocator::didReuseRegisters):
      (JSC::ScratchRegisterAllocator::numberOfReusedRegisters):
      (JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
      (JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
      * llint/LowLevelInterpreter64.asm: Random typo fix.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3cd389dc
    • timothy_horton@apple.com's avatar
      TileController can fail to receive exposedRect from the drawing area if set at the wrong time · 2026dfee
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126536
      
      Reviewed by Anders Carlsson.
      
      Move exposedRect to FrameView so it can be pushed in from WebKit before we have
      a TiledBacking, and can be retrieved by the TiledBacking when it needs to.
      
      * WebCore.exp.in:
      Export some things.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::setExposedRect):
      * page/FrameView.h:
      Store the exposed rect on FrameView. When it changes, if the main frame
      has a TiledBacking, inform it of the change.
      
      * platform/graphics/GraphicsLayerClient.h:
      (WebCore::GraphicsLayerClient::exposedRect):
      * platform/graphics/TiledBacking.h:
      * platform/graphics/ca/GraphicsLayerCA.h:
      * platform/graphics/ca/PlatformCALayerClient.h:
      Plumbing so that TileController can retrieve the exposedRect from FrameView.
      
      * platform/graphics/ca/mac/TileController.h:
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::TileController):
      (WebCore::TileController::platformCALayerExposedRect):
      (WebCore::TileController::tilesWouldChangeForVisibleRect):
      (WebCore::TileController::exposedRectDidChange):
      (WebCore::TileController::computeTileCoverageRect):
      (WebCore::TileController::revalidateTiles):
      (WebCore::TileController::updateTileCoverageMap):
      Don't store the exposed rect or clipsToExposedRect on TileController.
      Instead, retrieve it from our client.
      Make use of the fact that we can test if a rect is infinite
      instead of having a separate boolean property for that.
      
      * rendering/RenderLayerBacking.cpp:
      (WebCore::computeTileCoverage):
      (WebCore::RenderLayerBacking::exposedRect):
      Hand the FrameView's exposedRect back to our GraphicsLayer.
      We only support clipping for the main frame TileController for now.
      
      * rendering/RenderLayerBacking.h:
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView _updateViewExposedRect]):
      * UIProcess/DrawingAreaProxy.cpp:
      (WebKit::DrawingAreaProxy::DrawingAreaProxy):
      (WebKit::DrawingAreaProxy::setExposedRect):
      (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
      * UIProcess/DrawingAreaProxy.h:
      (WebKit::DrawingAreaProxy::exposedRect):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::close):
      * UIProcess/WebPageProxy.h:
      Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
      Push the exposedRect down into WebCore.
      
      * WebProcess/WebPage/DrawingArea.h:
      * WebProcess/WebPage/DrawingArea.messages.in:
      * WebProcess/WebPage/WebPage.cpp:
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
      (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
      (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
      (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
      (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
      (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
      (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
      (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
      Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
      to indicate that now.
      Don't scroll an infinite rect; it won't work.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2026dfee