1. 04 May, 2013 25 commits
    • dino@apple.com's avatar
      Animations and Transitions should not start when globally suspended · f221e46d
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114915
      
      Reviewed by Sam Weinig.
      
      .:
      
      Export AnimationController::isSuspended().
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      When the Document's AnimationController was suspended, we still
      started new transitions and animations. Change this so that
      animations enter a paused-but-new state, where they are frozen
      until the AnimationController resumes. At that time, it is as
      if they had just appeared: any delay counts down before
      the animation starts.
      
      For transitions, the change in value must still happen, but
      it does so immediately. No transitionend event should be fired.
      This produces a slightly confusing behaviour, because any
      in-progress transitions are suspended, but any new style changes
      happen instantly. This might sound contradictory, but in general
      suspending the document is a rare (and dangerous) thing to do.
      
      Previously, the Document would call resumeAnimations as it loaded,
      effectively starting all the animations. This meant if you suspended
      animations before loading a document, it was ignored as soon as the
      load finished. Now there is a separate method startAnimationsIfNotSuspended
      which checks to see if the document is suspended as it loads.
      
      In order to handle this case, I added a new state to the Animation
      machinery: AnimationStatePausedNew. This is an animation that was created
      in the suspended state.
      
      Tests: animations/added-while-suspended.html
             transitions/started-while-suspended.html
      
      * WebCore.exp.in: Export AnimationController::isSuspended().
      
      * dom/Document.cpp:
      (WebCore::Document::implicitClose):
          resumeAnimationsForDocument() -> startAnimationsIfNotSuspended()
      
      * page/animation/AnimationBase.cpp:
      (WebCore::nameForState): New name for AnimationStatePausedNew.
      (WebCore::AnimationBase::updateStateMachine): Handle new state AnimationStatePausedNew. The
          most important change is that when go from PausedNew to Running, we jump back into
          the New state and continue from there.
      (WebCore::AnimationBase::updatePlayState): suspended -> isSuspended
      * page/animation/AnimationBase.h: New state: AnimationStatePausedNew
      (WebCore::AnimationBase::waitingToStart): Add AnimationStatePausedNew.
      (WebCore::AnimationBase::paused): Add AnimationStatePausedNew.
      (WebCore::AnimationBase::isNew): Add AnimationStatePausedNew.
      
      * page/animation/AnimationController.cpp:
      (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialise m_suspended.
      (WebCore::AnimationControllerPrivate::clear): suspended -> isSuspended
      (WebCore::AnimationControllerPrivate::updateAnimations): Ditto.
      (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer): Ditto.
      (WebCore::AnimationControllerPrivate::suspendAnimations): Update m_suspended.
      (WebCore::AnimationControllerPrivate::resumeAnimations): Ditto.
      (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
      (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
      (WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): New method that will
          only resume animations if we were not globally suspended.
      (WebCore::AnimationController::isSuspended): New method.
      (WebCore::AnimationController::suspendAnimations): Add logging.
      (WebCore::AnimationController::resumeAnimations): Add logging.
      (WebCore::AnimationController::suspendAnimationsForDocument): Add logging.
      (WebCore::AnimationController::resumeAnimationsForDocument): Add logging.
      (WebCore::AnimationController::startAnimationsIfNotSuspended): Calls private method.
      * page/animation/AnimationController.h:
      (AnimationController): Add isSuspended() and animationsForDocumentMayStart().
      * page/animation/AnimationControllerPrivate.h:
      (WebCore::AnimationControllerPrivate::isSuspended): New method.
      (AnimationControllerPrivate): Add m_isSuspended member.
      
      * page/animation/CompositeAnimation.cpp:
      (WebCore::CompositeAnimation::CompositeAnimation): Moved from header - initialise m_isSuspended.
      (WebCore::CompositeAnimation::updateTransitions): Do not create ImplicitAnimation if suspended.
      (WebCore::CompositeAnimation::updateKeyframeAnimations): Move to AnimationStatePausedNew if suspended.
      (WebCore::CompositeAnimation::suspendAnimations): m_suspended -> m_isSuspended
      (WebCore::CompositeAnimation::resumeAnimations): Ditto.
      * page/animation/CompositeAnimation.h:
      (WebCore::CompositeAnimation::isSuspended): Renamed from suspended()
      
      * page/animation/KeyframeAnimation.cpp:
      (WebCore::KeyframeAnimation::animate): If we're in the AnimationStatePausedNew state, then
          we need to go to the first frame (to handle fill mode).
      
      * testing/Internals.cpp:
      (WebCore::Internals::animationsAreSuspended): New exposed method to reflect AnimationController.
      * testing/Internals.h: Add animationsAreSuspended.
      * testing/Internals.idl: Ditto.
      
      Source/WebKit:
      
      Export AnimationController::isSuspended
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/mac:
      
      The WebView private API cssAnimationsSuspended did not necessarily
      reflect the reality of the Frame's AnimationController value because it
      was caching rather than asking directly. While the WebCore part of this
      patch ensured loading the Document wouldn't resume all animations, it
      is still better to ask directly.
      
      * WebView/WebView.mm:
      (-[WebView cssAnimationsSuspended]): Call into AnimationController.
      (-[WebView setCSSAnimationsSuspended:]): Ditto.
      * WebView/WebViewData.h: Remove cssAnimationsSuspended boolean.
      * WebView/WebViewData.mm: Ditto.
      (-[WebViewPrivate init]):
      
      Source/WebKit/win:
      
      Export AnimationController::isSuspended
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      LayoutTests:
      
      Two new tests. Add an animation or transition to
      the document when the global animation controller is suspended.
      In the animation case, nothing should happen until the
      animations are resumed. In the transition case, the style
      change should happen immediately and not fire any events.
      
      * animations/added-while-suspended-expected.txt: Added.
      * animations/added-while-suspended.html: Added.
      * animations/suspend-transform-animation.html: Make sure to resume suspended animations
          before quitting the test.
      * transitions/started-while-suspended-expected.txt: Added.
      * transitions/started-while-suspended.html: Added.
      * transitions/suspend-transform-transition.html: Make sure to resume suspended animations
          before quitting the test.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f221e46d
    • weinig@apple.com's avatar
      Fix * placement in a few functions as noticed by Mark Rowe. · 4302ad6c
      weinig@apple.com authored
      Rubber-stamped by Dan Bernstein.
      
      * WebProcess/WebPage/PageBanner.h:
      (PageBanner):
      * WebProcess/WebPage/mac/PageBannerMac.mm:
      (WebKit::PageBanner::create):
      (WebKit::PageBanner::PageBanner):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149575 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4302ad6c
    • weinig@apple.com's avatar
      Move PopupMenuMac and SearchPopupMenuMac to Source/WebKit/mac · d04c0e97
      weinig@apple.com authored
      matching where they are in WebKit2.
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore: 
      
      * WebCore.exp.in:
      * WebCore.xcodeproj/project.pbxproj:
      * platform/mac/PopupMenuMac.h: Removed.
      * platform/mac/PopupMenuMac.mm: Removed.
      * platform/mac/SearchPopupMenuMac.h: Removed.
      * platform/mac/SearchPopupMenuMac.mm: Removed.
      
      Source/WebKit: 
      
      * WebKit.xcodeproj/project.pbxproj:
      
      Source/WebKit/mac: 
      
      * WebCoreSupport/PopupMenuMac.h: Copied from WebCore/platform/mac/PopupMenuMac.h.
      * WebCoreSupport/PopupMenuMac.mm: Copied from WebCore/platform/mac/PopupMenuMac.mm.
      * WebCoreSupport/SearchPopupMenuMac.h: Copied from WebCore/platform/mac/SearchPopupMenuMac.h.
      * WebCoreSupport/SearchPopupMenuMac.mm: Copied from WebCore/platform/mac/SearchPopupMenuMac.mm.
      * WebCoreSupport/WebChromeClient.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149574 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d04c0e97
    • weinig@apple.com's avatar
      REGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate(page) · ff6bce05
      weinig@apple.com authored
      <rdar://problem/13702008>
      https://bugs.webkit.org/show_bug.cgi?id=115607
      
      Reviewed by Benjamin Poulain.
      
      Source/WebKit2: 
      
      API Test: WebKit2.CloseThenTerminate
      
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::resetStateAfterProcessExited):
      Don't try to reset the state if the page is closed, it won't work and its not worth it.
      
      Tools: 
      
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      * TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp: Added.
      (TestWebKitAPI::didFinishLoadForFrame):
      (TestWebKitAPI::TEST):
      Add test that calls WKPageClose, follow by WKPageTerminate. If it crashes, its not working.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff6bce05
    • ch.dumez@sisa.samsung.com's avatar
      Get rid of special cases in AddIncludesForTypeInImpl · 8ef7eb79
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115602
      
      Reviewed by Benjamin Poulain.
      
      Get rid of the special cases in AddIncludesForTypeInImpl subroutine in the
      JS bindings generator. Those are no longer needed and special cases should
      be avoided in the generator.
      
      No new tests, no behavior change.
      
      * bindings/scripts/CodeGeneratorJS.pm:
      (AddIncludesForTypeInImpl):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149572 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ef7eb79
    • commit-queue@webkit.org's avatar
      [BlackBerry] Clean up unused spellcheck code · fffe4d83
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115560
      
      Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-04
      Reviewed by Benjamin Poulain.
      Internally reviewed by Mike Lattanzio
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
      * Api/WebPage.h:
      * WebKitSupport/InputHandler.cpp:
      * WebKitSupport/InputHandler.h:
      (InputHandler):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149571 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fffe4d83
    • ch.dumez@sisa.samsung.com's avatar
      Get rid of AddIncludesForSVGAnimatedType in bindings generator · 0189ffde
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115603
      
      Reviewed by Benjamin Poulain.
      
      Remove AddIncludesForSVGAnimatedType subroutine from the bindings generator
      as it is a special case which is no longer needed.
      
      No new tests, no behavior change.
      
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateImplementation):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149570 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0189ffde
    • graouts@apple.com's avatar
      Update code generators to handle a new JavaScript file for snapshotted plug-ins · 4e4817be
      graouts@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115596
      
      Reviewed by Dean Jackson.
      
      In preparation for https://webkit.org/b/115548, adding a new JS file at
      Resources/plugIns.js that we will use to provide presentation for the
      snapshotted plug-ins overlay.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * Resources/plugIns.js: Added.
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e4817be
    • akling@apple.com's avatar
      Unreviewed, rolling out r149563. · bffc85ef
      akling@apple.com authored
      http://trac.webkit.org/changeset/149563
      https://bugs.webkit.org/show_bug.cgi?id=115587
      
      Broke LLInt build.
      
      * wtf/text/StringImpl.h:
      (StringImpl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bffc85ef
    • akling@apple.com's avatar
      REGRESSION(r142647): Flaky Test: fast/frames/crash-remove-iframe-during-object-beforeload.html · aa4e22b8
      akling@apple.com authored
      <http://webkit.org/b/115322>
      <rdar://problem/13810719>
      
      Reviewed by Anders Carlsson.
      
      Don't cache the FrameView::renderView() in a local since updating Widgets may blow it away.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::performPostLayoutTasks):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa4e22b8
    • akling@apple.com's avatar
      Remove GraphicsContext::strokeArc(), which is unused. · 702e2bac
      akling@apple.com authored
      From Blink r149608 by <jbroman@chromium.org>
      <http://src.chromium.org/viewvc/blink?view=revision&revision=149608>
      
      This is no longer used since almost a year ago, when HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) was inlined.
      
      * platform/graphics/GraphicsContext.h:
      * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
      * platform/graphics/cairo/GraphicsContextCairo.cpp:
      * platform/graphics/cg/GraphicsContextCG.cpp:
      * platform/graphics/wince/GraphicsContextWinCE.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      702e2bac
    • akling@apple.com's avatar
      Remove unused CSSSelector::isCustomPseudoType(). · 9786fd24
      akling@apple.com authored
      From Blink r149574 by <dominicc@chromium.org>
      <http://src.chromium.org/viewvc/blink?view=revision&revision=149574>
      
      * css/CSSSelector.h:
      * css/CSSSelector.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9786fd24
    • commit-queue@webkit.org's avatar
      No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl · f9d181b9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115587
      
      Patch by Xan Lopez <xlopez@igalia.com> on 2013-05-04
      Reviewed by Andreas Kling.
      
      No need to declare LLInt::Data as friend class of WTF::StringImpl,
      it does not use any private method/data member of the latter.
      
      * wtf/text/StringImpl.h:
      (StringImpl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9d181b9
    • andersca@apple.com's avatar
      Get rid of -[NSMutableDictionary _webkit_setObject:forUncopiedKey:] · 388bf2c5
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115592
      
      Reviewed by Beth Dakin.
      
      Using CFDictionarySetValue to set a key without having to copy it is not supported. Use NSMapTable with strong pointers instead.
      
      * Misc/WebNSDictionaryExtras.h:
      * Misc/WebNSDictionaryExtras.m:
      * Panels/WebPanelAuthenticationHandler.h:
      (NSURLAuthenticationChallenge):
      * Panels/WebPanelAuthenticationHandler.m:
      (-[WebPanelAuthenticationHandler init]):
      (-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]):
      (-[WebPanelAuthenticationHandler tryNextChallengeForWindow:]):
      (-[WebPanelAuthenticationHandler startAuthentication:window:]):
      (-[WebPanelAuthenticationHandler cancelAuthentication:]):
      * Plugins/WebNetscapePluginView.h:
      * Plugins/WebNetscapePluginView.mm:
      (-[WebNetscapePluginView destroyPlugin]):
      (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
      (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
      (-[WebNetscapePluginView loadPluginRequest:]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      388bf2c5
    • bdakin@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=115574 · 97402d59
      bdakin@apple.com authored
      Crash using new WKBundlePageSetHeaderBanner() API to set a banner to null
      
      Reviewed by Darin Adler.
      
      Don't call addToPage() on a null banner.
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::setHeaderPageBanner):
      (WebKit::WebPage::setFooterPageBanner):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149561 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      97402d59
    • akling@apple.com's avatar
      Remove ShadowRoot's previous/next ShadowRoot pointers. · f426167d
      akling@apple.com authored
      <http://webkit.org/b/115588>
      
      Reviewed by Anders Carlsson.
      
      ShadowRoot no longer inherits from DoublyLinkedListNode<ShadowRoot> because that code wasn't
      doing anything anymore. Shrinks ShadowRoot by two pointers.
      
      * dom/ElementShadow.h:
      * dom/ShadowRoot.cpp:
      (SameSizeAsShadowRoot):
      (WebCore::ShadowRoot::ShadowRoot):
      (WebCore::ShadowRoot::~ShadowRoot):
      * dom/ShadowRoot.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f426167d
    • akling@apple.com's avatar
      RenderObject: don't change GraphicsContext state when not drawing dashed/dotted lines. · 17f6bbca
      akling@apple.com authored
      From Blink r149546 by <jbroman@chromium.org>
      <http://src.chromium.org/viewvc/blink?view=revision&revision=149546>
      
      Previously, there was asymmetry between changing and restoring state (certain state
      would be restored only if thickness was positive, i.e. a line was actually drawn.)
      
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::drawLineForBoxSide):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      17f6bbca
    • zandobersek@gmail.com's avatar
      Unreviewed. · 672ad3a0
      zandobersek@gmail.com authored
      * Scripts/webkitpy/common/config/contributors.json: Correcting my igalia.com email address.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149558 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      672ad3a0
    • akling@apple.com's avatar
      Remove CSS selector profiler branches from ElementRuleCollector loop. · 048f7520
      akling@apple.com authored
      <http://webkit.org/b/115581>
      
      Reviewed by Antti Koivisto.
      
      Templatize the method so we don't have to check for active inspector frontends on every
      pass through the loop.
      
      Time spent in this loop goes down from 0.5% to 0.2% on iTunes Store, WebCore binary size
      goes up 480 bytes (sorry Benjamin, I'll make it up to you.)
      
      * css/ElementRuleCollector.h:
      * css/ElementRuleCollector.cpp:
      (WebCore::ElementRuleCollector::collectMatchingRulesForList):
      (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149557 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      048f7520
    • mihnea@adobe.com's avatar
    • zandobersek@gmail.com's avatar
      [GTK] Catch select.error exceptions in parse_output_lines · 6b94f451
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115253
      
      Reviewed by Gustavo Noronha Silva.
      
      Catch any select.error exceptions when waiting for the file descriptor to become readable when parsing the
      output lines in common.parse_output_lines. These are currently being thrown when running the GTK unit tests on
      builders, but are not fatal. Because of that they are at the moment only logged (writing out the file descriptor,
      error code and the error message) and the loop is re-entered.
      
      * gtk/common.py:
      (parse_output_lines):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b94f451
    • zandobersek@gmail.com's avatar
      [GTK] Set up the TestWebCore in TestWebKitAPI · 4b53c236
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115237
      
      Reviewed by Gustavo Noronha Silva.
      
      Set up the WebCore unit test program, consisting of the unit tests under the TestWebKitAPI/Tests/WebCore directory.
      Again the approach of specifying libtool libraries multiple times in the TestWebCore program's LDFLAGS is used as
      a workaround for the layer violations and circular dependencies between various static libraries. Linking against
      either libwebkitgtk or libwebkit2gtk shared libraries is avoided due to the unit tests covering WebCore, which
      shouldn't rely on neither of the two distributable libraries (hence the dirty workaround).
      
      * TestWebKitAPI/GNUmakefile.am:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149554 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b53c236
    • robert@webkit.org's avatar
      REGRESSION(r140907): Incorrect baseline on cells after updating vertical-align · ebc7a49d
      robert@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115432
      
      Reviewed by Julien Chaffraix.
      
      Source/WebCore:
      
      If a cell changes vertical-align any intrinsic padding it has is now redundant. It
      needs to calculate its new height from RenderTableRow::layout() and then find its
      new intrinsic padding in RenderTableSection::layoutRows().
      
      Test: fast/table/correct-baseline-after-style-change.html
      
      * rendering/RenderTableCell.cpp:
      (WebCore::RenderTableCell::styleDidChange):
      
      LayoutTests:
      
      * fast/table/correct-baseline-after-style-change-expected.html: Added.
      * fast/table/correct-baseline-after-style-change.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ebc7a49d
    • msaboff@apple.com's avatar
      There should be a runtime option to constrain what functions get DFG compiled · 7b4d2076
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115576
      
      Reviewed by Mark Hahnenberg.
      
      Added OptionRange to Options to allow checking that something is within an option
      or not.  The new OptionClass supports range strings in the form of [!]<low>[:<high>].
      If only one value is given, then it will be used for both low and high.  A leading
      '!' inverts the check.  If no range is given, then checking for a value within a range
      will always return true.  Added the option "bytecodeRangeToDFGCompile" that takes an
      OptionRange string to select the bytecode range of code blocks to DFG compile.
      
      * dfg/DFGDriver.cpp:
      (JSC::DFG::compile): Added new check for bytecode count within bytecodeRangeToDFGCompile
      range.
      * runtime/Options.cpp:
      (JSC::parse): Added overloaded parse() for OptionRange.
      (JSC::OptionRange::init): Parse range string and then initialize the range.
      (JSC::OptionRange::isInRange): Function used by consumer to check if a value is within
      the specified range.
      (JSC::Options::dumpOption): Added code to dump OptionRange options.
      * runtime/Options.h:
      (OptionRange): New class.
      (JSC::OptionRange::operator= ): This is really used as a default ctor for use within
      the Option static array initialization.
      (JSC::OptionRange::rangeString): This is used for debug.  It assumes that the char*
      passed into OptionRange::init is valid when this function is called.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b4d2076
    • ap@apple.com's avatar
      <rdar://problem/13806836> Tweak sandbox profile. · d1563c25
      ap@apple.com authored
              Reviewed by Dan Bernstein.
      
              * WebProcess/com.apple.WebProcess.sb.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149551 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d1563c25
  2. 03 May, 2013 15 commits
    • commit-queue@webkit.org's avatar
      incorrect repainting when a table has a transform · a37e3568
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109867
      
      Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-05-03
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      Disable LayoutState when table, tableRow or tableSection render
      objects have transforms or reflections.
      
      Tests: fast/repaint/reflection-table-layout.html
             fast/repaint/transform-table-layout.html
      
      * rendering/RenderTable.cpp:
      (WebCore::RenderTable::layout):
      * rendering/RenderTableRow.cpp:
      (WebCore::RenderTableRow::layout):
      * rendering/RenderTableSection.cpp:
      (WebCore::RenderTableSection::layout):
      (WebCore::RenderTableSection::layoutRows):
      
      LayoutTests:
      
      Create tests that resize an element inside a display: table element.
      Compare to a reference html file where the element has a static size.
      In the first test, the table like element has a transform. In the
      second, it has a reflection.
      
      * fast/repaint/reflection-table-layout-expected.html: Added.
      * fast/repaint/reflection-table-layout.html: Added.
      * fast/repaint/transform-table-layout-expected.html: Added.
      * fast/repaint/transform-table-layout.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149550 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a37e3568
    • antti@apple.com's avatar
      Remove concept of younger and older shadow trees · 5da311eb
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115570
      
      Reviewed by Andreas Kling.
      
      Source/WebCore: 
      
      Younger and older shadow trees are an obscure corner of the Shadow DOM spec.
              
      Support only one shadow tree per element. This simplifies many things. 
      
      * dom/ComposedShadowTreeWalker.cpp:
      (WebCore::ComposedShadowTreeWalker::traverseChild):
      (WebCore::ComposedShadowTreeWalker::traverseSiblingInCurrentTree):
      (WebCore):
      (WebCore::ComposedShadowTreeWalker::traverseParent):
      (WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
      (WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):
      * dom/ComposedShadowTreeWalker.h:
      (WebCore::ComposedShadowTreeWalker::assertPrecondition):
      (ComposedShadowTreeWalker):
      * dom/ContainerNodeAlgorithms.cpp:
      (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
      (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
      (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
      (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
      (WebCore::ChildFrameDisconnector::collectFrameOwners):
      (WebCore::assertConnectedSubrameCountIsConsistent):
      * dom/Document.cpp:
      (WebCore::Document::buildAccessKeyMap):
      * dom/Element.cpp:
      (WebCore::Element::authorShadowRoot):
      (WebCore::Element::userAgentShadowRoot):
      (WebCore::Element::ensureUserAgentShadowRoot):
      * dom/Element.h:
      (Element):
      (WebCore::Element::hasAuthorShadowRoot):
      * dom/Element.idl:
      * dom/ElementShadow.cpp:
      (WebCore::ElementShadow::addShadowRoot):
              
      Allow only one ShadowRoot per ElementShadow. Remove linked list handling.
              
      (WebCore::ElementShadow::removeAllShadowRoots):
      (WebCore::ElementShadow::attach):
      (WebCore::ElementShadow::detach):
      (WebCore::ElementShadow::childNeedsStyleRecalc):
      (WebCore::ElementShadow::needsStyleRecalc):
      (WebCore::ElementShadow::recalcStyle):
      (WebCore::ElementShadow::removeAllEventListeners):
      * dom/ElementShadow.h:
      (WebCore::ElementShadow::shadowRoot):
      (ElementShadow):
      (WebCore::ElementShadow::host):
      (WebCore::Node::shadowRoot):
      (WebCore):
      * dom/Node.cpp:
      (WebCore):
      (WebCore::Node::showNodePathForThis):
      (WebCore::traverseTreeAndMark):
      (WebCore::showSubTreeAcrossFrame):
      * dom/Node.h:
      (Node):
      * dom/ShadowRoot.cpp:
      (WebCore::ShadowRoot::insertedInto):
      * dom/ShadowRoot.h:
      (ShadowRoot):
              
          Remove LinkedList base.
              
      * dom/TreeScopeAdopter.cpp:
      (WebCore::TreeScopeAdopter::moveTreeToNewScope):
      (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
      * html/shadow/ContentDistributor.cpp:
      (WebCore::ContentDistributor::distribute):
      (WebCore::ContentDistributor::invalidate):
      (WebCore::ContentDistributor::ensureSelectFeatureSet):
      * inspector/InspectorDOMAgent.cpp:
      (WebCore::InspectorDOMAgent::unbind):
      (WebCore::InspectorDOMAgent::buildObjectForNode):
      * page/FocusController.cpp:
      (WebCore::FocusNavigationScope::FocusNavigationScope):
      (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):
      * rendering/RenderFileUploadControl.cpp:
      (WebCore::RenderFileUploadControl::uploadButton):
      * svg/SVGTRefElement.cpp:
      (WebCore::SVGTRefElement::updateReferencedText):
      (WebCore::SVGTRefElement::detachTarget):
      * svg/SVGUseElement.cpp:
      (WebCore::SVGUseElement::clearResourceReferences):
      (WebCore::SVGUseElement::buildShadowAndInstanceTree):
      (WebCore::SVGUseElement::buildShadowTree):
      * testing/Internals.cpp:
      (WebCore::Internals::ensureShadowRoot):
      (WebCore::Internals::shadowRoot):
      (WebCore):
      * testing/Internals.h:
      (Internals):
      * testing/Internals.idl:
      
      LayoutTests: 
      
      * editing/text-iterator/basic-iteration-expected.txt:
      * editing/text-iterator/script-tests/basic-iteration.js:
      (addShadowTreeWithDivElement):
      * fast/forms/resources/common-spinbutton-change-and-input-events.js:
      (testSpinButtonChangeAndInputEvents):
      * fast/forms/resources/common-spinbutton-click-in-iframe.js:
      (getSpinButton):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5da311eb
    • commit-queue@webkit.org's avatar
      SunSpider 1.0: 3d-morph: use epsilon to check result · 163ba616
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115553
      
      Patch by Cosmin Truta <ctruta@blackberry.com> on 2013-05-03
      Reviewed by George Staikos.
      
      SunSpider/3d-morph should be more lenient in validating its results, since they depend on Math.sin, which isn't formally specified.
      
      * tests/sunspider-1.0/3d-morph.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149548 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      163ba616
    • commit-queue@webkit.org's avatar
      Create a script to import W3C tests · b2edd305
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=111513
      
      Patch by Rebecca Hauck <rhauck@adobe.com> on 2013-05-03
      Reviewed by Dirk Pranke.
      
      Script to automate the import of W3C tests into WebKit.
      For the full description of how it works, see the comments
      at the top of test_importer.py.
      
      * Scripts/import-w3c-tests: Added.
      * Scripts/webkitpy/w3c/__init__.py: Added.
      * Scripts/webkitpy/w3c/test_converter.py: Added.
      (TestConverter):
      (TestConverter.__init__):
      (TestConverter.load_prefixed_prop_list):
      (TestConverter.load_file):
      (TestConverter.convert_for_webkit):
      (TestConverter.convert_testharness_paths):
      (TestConverter.convert_prefixed_properties):
      (TestConverter.scrub_unprefixed_props):
      (TestConverter.replace_tag):
      * Scripts/webkitpy/w3c/test_converter_unittest.py: Added.
      (TestConverterTest):
      (TestConverterTest.testLoadPrefixedPropList):
      (TestConverterTest.test_convertForWebkitNothingToConvert):
      (test_convertForWebkitHarnessOnly):
      (test_convertForWebkitPropsOnly):
      (test_convertForWebkitHarnessAndProps):
      (test_convertTestHarnessPaths):
      (test_convertPrefixedProperties):
      (verifyTestHarnessPaths):
      (verifyPrefixedProperties):
      (generateTestContent):
      * Scripts/webkitpy/w3c/test_importer.py: Added.
      (main):
      (parse_args):
      (validate_import_directory):
      (TestImporter):
      (TestImporter.__init__):
      (TestImporter.do_import):
      (TestImporter.get_changeset):
      (TestImporter.scan_source_directory):
      (TestImporter.import_tests):
      (TestImporter.setup_destination_directory):
      (TestImporter.get_test_status):
      (TestImporter.remove_deleted_files):
      (TestImporter.write_import_log):
      * Scripts/webkitpy/w3c/test_importer_unittest.py: Added.
      (TestImporterTest):
      (TestImporterTest.test_ImportDirWithNoTests):
      * Scripts/webkitpy/w3c/test_parser.py: Added.
      (TestParser):
      (TestParser.__init__):
      (TestParser.load_file):
      (TestParser.analyze_test):
      (TestParser.get_reftests):
      (TestParser.is_jstest):
      (TestParser.get_support_files):
      * Scripts/webkitpy/w3c/test_parser_unittest.py: Added.
      (TestParserTest):
      (TestParserTest.test_analyzeTestReftestOneMatch):
      (test_analyzeTestReftestMultipleMatches):
      (test_analyzeTestReftestMatchAndMismatch):
      (test_analyzeTestReftestWithRefSupportFiles):
      (test_analyzeJSTest):
      (test_analyzePixelTestAllTrue):
      (test_analyzePixelTestAllFalse):
      (test_analyzeNonHTMLFile):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2edd305
    • mrobinson@webkit.org's avatar
      Simplify the #ifdefs in GraphicsContext3D.h · 1cc115d3
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115568
      
      Reviewed by Daniel Bates.
      
      * platform/graphics/GraphicsContext3D.h:
      (GraphicsContext3D): Combine #ifdefs paths that have a common
      implementation. This reduces the #ifdef paths from many to just three.
      * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
      (WebCore::GraphicsContext3D::platformTexture): Move the implementation
      here to simplify the header.
      * platform/graphics/efl/GraphicsContext3DEfl.cpp:
      (WebCore::GraphicsContext3D::platformTexture): Ditto.
      (WebCore):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1cc115d3
    • ch.dumez@sisa.samsung.com's avatar
      Unreviewed. Update Viatcheslav Ostapenko's email in contributors.json. · bee0a95a
      ch.dumez@sisa.samsung.com authored
      * Scripts/webkitpy/common/config/contributors.json:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149545 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bee0a95a
    • commit-queue@webkit.org's avatar
      [Qt] Build with --video-track fails because String(AtomicString) is ambiguous · 2b174fec
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115551
      
      Patch by Brendan Long <b.long@cablelabs.com> on 2013-05-03
      Reviewed by Benjamin Poulain.
      
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::configureTextTrackGroup):
      Change String(textTrack->kind()) to textTrack->kind().string(), and same thing with language.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2b174fec
    • commit-queue@webkit.org's avatar
      [GStreamer] GStreamer log crashes in MediaPlayerPrivateGStreamerBase because... · bed9e9ac
      commit-queue@webkit.org authored
      [GStreamer] GStreamer log crashes in MediaPlayerPrivateGStreamerBase because of uninitialized category
      https://bugs.webkit.org/show_bug.cgi?id=115575
      
      Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-05-03
      Reviewed by Philippe Normand.
      
      No new tests needed.
      
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
      Using extern debug category.
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
      Declaring debug category as not static.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bed9e9ac
    • zhajiang@rim.com's avatar
      [BlackBerry] Page rendering scale is changed after go back and forward · 798989fe
      zhajiang@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115573
      
      Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-05-03.
      Reviewed by Rob Buis.
      Internally reviewed by Jeff Rogers.
      
      PR: 326886
      When navigating back from page A with viewport to page B without
      viewport, we didn't call setViewMode(); therefore, we didn't change
      the fixed layout size which was set by page A. In that case, WebCore
      would just pick up page A's fixed layout size to layout page B which
      caused this issue.
      Expecting zoomToInitialScaleOnLoad() or other functions to setViewMode()
      later is not a good way, because zoomToInitialScaleOnLoad() has never
      been called in this case. So we should always call setViewMode() to set
      fixed layout size when a new page is committed.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::setLoadState):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      798989fe
    • bfulgham@webkit.org's avatar
      [WinCairo] Unreviewed VS2010 Build Correction. · bc007772
      bfulgham@webkit.org authored
      * WebCore.vcxproj/WebCore.vcxproj: Exclude CG-only
      SubimageCacheWithTimer.cpp from WinCairo build.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bc007772
    • commit-queue@webkit.org's avatar
      [Cairo] Anti-aliasing should not be always disabled for lines · bb84f89c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109535
      
      Patch by Viatcheslav Ostapenko <viatchslav.o@samsung.com> on 2013-05-03
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      Don't disable antialiasing for text lines because it produces ugly picture if
      page is scaled.
      
      Test: fast/css3-text/css3-text-decoration/text-decoration-line-scaled.html
      
      * platform/graphics/cairo/GraphicsContextCairo.cpp:
      (WebCore::drawLineOnCairoContext):
      
      LayoutTests:
      
      Add pixel test with scaled text lines.
      
      * fast/css3-text/css3-text-decoration/text-decoration-line-scaled.html: Added.
      * platform/efl/fast/css3-text/css3-text-decoration/text-decoration-line-scaled-expected.png: Added.
      * platform/efl/fast/css3-text/css3-text-decoration/text-decoration-line-scaled-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb84f89c
    • dbates@webkit.org's avatar
      Remove unnecessary include HTMLNames.h from RenderThemeGtk.cpp · e398dc69
      dbates@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115571
      
      Reviewed by Martin Robinson.
      
      * platform/gtk/RenderThemeGtk.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e398dc69
    • ap@apple.com's avatar
      [Mac] setMetadataURL incorrectly treats path bytes as Latin-1 · ff0af585
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115557
      
      Reviewed by Sam Weinig.
      
      * platform/mac/FileSystemMac.mm: (WebCore::setMetaData): Use the correct constructor.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff0af585
    • timothy_horton@apple.com's avatar
      PDFPlugin: Changes being made to active annotation aren't saved when the PDF is exported · 90ae9289
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115544
      <rdar://problem/13801789>
      
      Reviewed by Alexey Proskuryakov.
      
      Commit changes to the active annotation (if there is one) before
      returning the live PDF data, so that said changes are represented
      in the exported or printed output.
      
      * WebProcess/Plugins/PDF/PDFPlugin.h: Override liveData.
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      (WebKit::PDFPlugin::liveData): Commit the active annotation if there is one.
      * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
      (SimplePDFPlugin): Make liveData virtual.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90ae9289
    • timothy_horton@apple.com's avatar
      Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8 · cf8bae9f
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115056
      <rdar://problem/13719543>
      
      Reviewed by Simon Fraser.
      
      Null-check m_page. In theory, we shouldn't get here, because we stop
      the timer at the only point where m_page is cleared, but crash logs say
      we're still crashing here.
      
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf8bae9f