1. 19 Jul, 2011 23 commits
    • commit-queue@webkit.org's avatar
      Patch by Robin Qiu <robin.qiu@torchmobile.com.cn> on 2011-07-19 · b4abfc88
      commit-queue@webkit.org authored
      Reviewed by Antonio Gomes.
      
      ScrollBar should initialize current position in constructor.
      https://bugs.webkit.org/show_bug.cgi?id=39284
      
      When ScrollBar is created, m_currentPos should be initialized to
      m_scrollableArea's current scrollPosition. Because scrollbars may
      be created after the content of m_scrollableArea has been scrolled.
      
      Source/WebCore:
      
      Test: scrollbars/scrollbar-initial-position.html
      
      * platform/Scrollbar.cpp:
      (WebCore::Scrollbar::Scrollbar):
      
      LayoutTests:
      
      * scrollbars/scrollbar-initial-position-expected.png: Added.
      * scrollbars/scrollbar-initial-position-expected.txt: Added.
      * scrollbars/scrollbar-initial-position.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4abfc88
    • yutak@chromium.org's avatar
      WebSocket: Implement hybi framing · 6a2ece20
      yutak@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64522
      
      Reviewed by Kent Tamura.
      
      Source/WebCore:
      
      Implement WebSocket framing protocol which is mainly described in
      <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-4> and
      <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-6>.
      
      Hybi protocol introduces a new frame format which is drastically different from
      the old one. Notable differences are:
      - Binary data support.
      - Fragmentation support: a single message can be fragmented to multiple frames.
      - Ping-pong support.
      - Masking: frame content of a client must be masked to prevent cross-protocol attacks.
      
      This patch covers the following features:
      - Send a pong frame when a ping frame is received.
      - Receive fragmented frames.
      - Receive masked frames. (Servers do not have to mask frames, but they may if they wish.)
      
      The following features are NOT implemented yet:
      - Send or receive binary messages.
      - Send a ping message.
      - Send fragmented frames. (It is unclear whether this is necessary.)
      - Rewrite the frame content by WebSocket protocol extensions (like frame compression).
      
      New tests: http/tests/websocket/tests/hybi/broken-utf8.html
                 http/tests/websocket/tests/hybi/fragmented-control-frame.html
                 http/tests/websocket/tests/hybi/fragmented-frames.html
                 http/tests/websocket/tests/hybi/interleaved-fragments.html
                 http/tests/websocket/tests/hybi/long-control-frame.html
                 http/tests/websocket/tests/hybi/masked-frames.html
                 http/tests/websocket/tests/hybi/pong.html
                 http/tests/websocket/tests/hybi/reserved-bits.html
                 http/tests/websocket/tests/hybi/reserved-opcodes.html
                 http/tests/websocket/tests/hybi/too-long-payload.html
      
      * websockets/WebSocketChannel.cpp:
      (WebCore::WebSocketChannel::WebSocketChannel):
      (WebCore::WebSocketChannel::send):
      The original content of send() was moved to a private method sendFrameHixie76().
      (WebCore::WebSocketChannel::fail):
      Stop handling incoming data after the WebSocket connection is failed.
      It was unclear to me whether we should do the same thing for hixie-76 connection;
      for now, I kept the original behavior.
      (WebCore::WebSocketChannel::processBuffer):
      (WebCore::WebSocketChannel::resumeTimerFired):
      (WebCore::WebSocketChannel::startClosingHandshake):
      (WebCore::WebSocketChannel::closingTimerFired):
      (WebCore::WebSocketChannel::parseFrame):
      (WebCore::WebSocketChannel::processFrame):
      (WebCore::WebSocketChannel::processFrameHixie76):
      (WebCore::WebSocketChannel::sendFrame):
      (WebCore::WebSocketChannel::sendFrameHixie76):
      * websockets/WebSocketChannel.h:
      (WebCore::WebSocketChannel::isNonControlOpCode):
      (WebCore::WebSocketChannel::isControlOpCode):
      (WebCore::WebSocketChannel::isReservedOpCode):
      
      LayoutTests:
      
      Fix existing tests so they match the new frame format, and add tests for the new frame types
      and error conditions related to the new frame format.
      
      Unskip hybi tests on mac, win and chromium. Other ports (wk2, qt and gtk) still skip these tests
      because they do not support changing the value of "WebKitHixie76WebSocketProtocolEnabled"
      preference key via layoutTestController.overridePreferences() yet.
      
      * http/tests/websocket/tests/hybi/broken-utf8-expected.txt: Added.
      * http/tests/websocket/tests/hybi/broken-utf8.html: Added.
      * http/tests/websocket/tests/hybi/broken-utf8_wsh.py: Added.
      * http/tests/websocket/tests/hybi/client-close-expected.txt:
      * http/tests/websocket/tests/hybi/client-close.html:
      The format of a close frame has been changed. Currently, we do not include any payload
      in a close frame, thus it must start with "\x88\x80" (see section 4.1 of hybi-10
      specification for more details).
      * http/tests/websocket/tests/hybi/client-close_wsh.py:
      * http/tests/websocket/tests/hybi/fragmented-control-frame-expected.txt: Added.
      * http/tests/websocket/tests/hybi/fragmented-control-frame.html: Added.
      * http/tests/websocket/tests/hybi/fragmented-control-frame_wsh.py: Added.
      * http/tests/websocket/tests/hybi/fragmented-frames-expected.txt: Added.
      * http/tests/websocket/tests/hybi/fragmented-frames.html: Added.
      * http/tests/websocket/tests/hybi/fragmented-frames_wsh.py: Added.
      * http/tests/websocket/tests/hybi/interleaved-fragments-expected.txt: Added.
      * http/tests/websocket/tests/hybi/interleaved-fragments.html: Added.
      * http/tests/websocket/tests/hybi/interleaved-fragments_wsh.py: Added.
      * http/tests/websocket/tests/hybi/long-control-frame-expected.txt: Added.
      * http/tests/websocket/tests/hybi/long-control-frame.html: Added.
      * http/tests/websocket/tests/hybi/long-control-frame_wsh.py: Added.
      * http/tests/websocket/tests/hybi/masked-frames-expected.txt: Added.
      * http/tests/websocket/tests/hybi/masked-frames.html: Added.
      * http/tests/websocket/tests/hybi/masked-frames_wsh.py: Added.
      * http/tests/websocket/tests/hybi/pong-expected.txt: Added.
      * http/tests/websocket/tests/hybi/pong.html: Added.
      * http/tests/websocket/tests/hybi/pong_wsh.py: Added.
      * http/tests/websocket/tests/hybi/reserved-bits-expected.txt: Added.
      * http/tests/websocket/tests/hybi/reserved-bits.html: Added.
      * http/tests/websocket/tests/hybi/reserved-bits_wsh.py: Added.
      * http/tests/websocket/tests/hybi/reserved-opcodes-expected.txt: Added.
      * http/tests/websocket/tests/hybi/reserved-opcodes.html: Added.
      * http/tests/websocket/tests/hybi/reserved-opcodes_wsh.py: Added.
      * http/tests/websocket/tests/hybi/send2_wsh.py:
      Send two text frames at once.
      * http/tests/websocket/tests/hybi/too-long-payload-expected.txt: Added.
      * http/tests/websocket/tests/hybi/too-long-payload.html: Added.
      * http/tests/websocket/tests/hybi/too-long-payload_wsh.py: Added.
      * platform/chromium/test_expectations.txt:
      Derive test expectations of hixie76 tests, because these tests are likely to behave
      the same way as hixie76 tests. Will be checked later whether they really do.
      * platform/mac/Skipped:
      * platform/win/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6a2ece20
    • zimmermann@webkit.org's avatar
      2011-07-19 Nikolas Zimmermann <nzimmermann@rim.com> · 877dc99f
      zimmermann@webkit.org authored
              REGRESSION (r88913): Preview in Safari's snippet editor has a fixed height instead of filling the entire pane
              https://bugs.webkit.org/show_bug.cgi?id=64059
      
              REGRESSION (r88913): <object> has wrong computed height
              https://bugs.webkit.org/show_bug.cgi?id=62769
      
              Reviewed by Rob Buis.
      
              Add new layout test in fast/css covering both bugs.
              Update svg/zoom/page results (this is a progression, but the test itself remains broken, see comment inline).
      
              * fast/css/replaced-element-implicit-size.html: Added.
              * platform/mac/fast/css/replaced-element-implicit-size-expected.png: Added.
              * platform/mac/fast/css/replaced-element-implicit-size-expected.txt: Added.
              * platform/mac/svg/zoom/page/zoom-svg-through-object-with-text-expected.png:
              * platform/mac/svg/zoom/page/zoom-svg-through-object-with-text-expected.txt:
      
      2011-07-19  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              REGRESSION (r88913): Preview in Safari's snippet editor has a fixed height instead of filling the entire pane
              https://bugs.webkit.org/show_bug.cgi?id=64059
      
              REGRESSION (r88913): <object> has wrong computed height
              https://bugs.webkit.org/show_bug.cgi?id=62769
      
              Reviewed by Rob Buis.
      
              Fix misinterpretation of CSS 2.1 - "10.5 Content height: the 'height' property".
              It says "If the height of the containing block is not specified explicitelz (i.e. it depends on the
              content height), and this element is not absolutely positioned, the value computes to 'auto'".
      
              Checking whether the containing block height depends on the content height is not equal to checking
              whether the height property is set on the containing block, there are other ways to implicitly specify
              the height by setting top & bottom. Fix that by checking whether the containing block has a height
              property or top & bottom set.
      
              While I was at it, make computeReplacedLogicalWidth/Height a bit more explicit to make it easier to compare
              the code with the spec quoatations - this doesn't change the functionality only the readability.
              
              Test: fast/css/replaced-element-implicit-size.html
      
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::computeReplacedLogicalWidth): Cleanup comment, make code more explicit.
              (WebCore::RenderReplaced::logicalHeightIsAuto): Add helper method used by computeReplacedLogicalHeight.
              (WebCore::RenderReplaced::computeReplacedLogicalHeight): Fix height=auto detection.
              * rendering/RenderReplaced.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      877dc99f
    • abarth@webkit.org's avatar
      garden-o-matic should have a "Triage Failures" button for iterating over failures · e3b1ada7
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64769
      
      Reviewed by Eric Seidel.
      
      This patch adds some global static state and refactors things a bit so
      that we can iterate over all the failures in the details pane.
      
      * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
          - Add a generic callback iterator to iterate through a series of
            callbacks. We use this to iterate through the failures we want to
            display the details of.
      * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
          - Add a toolbar for the results summary and change the buttons to
            be real buttons.
      * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
          - Make the detail pane 75% of the window.
          - Make the buttons pretty.
          - Allow the failure type badges to apply to the details pane as well.
      * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
          - Restructure how we bring up the details pane so we can iterate
            through a bunch of failures.
          - Remove the transition between results details because it's
            annoying when you want to click through a bunch of failures.
      * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
          - Add some more structure to the title bar for the results details
            so it's clearer which results we're currently displaying.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3b1ada7
    • abarth@webkit.org's avatar
      garden-o-matic should live update as conditions change on the buildbot · 65ecad21
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64646
      
      Reviewed by Eric Seidel.
      
      This patch causes the garden-o-matic display to update every 10 minutes
      to show the latest failures.  This patch required a moderately large
      refactoring of main.js to make the display incremental instead of
      all-at-once.
      
      * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
      * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
      * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
      * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      65ecad21
    • aestes@apple.com's avatar
      Solar Walk app-specific hack accidentally strips stylesheets from the document. · 27797ba6
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=64777
      
      Reviewed by Adam Barth.
      
      Solar Walk uses a self-closed title tag in its documents ("<title />").
      The HTML5 parser does not recognize this as a valid self-closing tag,
      so it treats the remainder of the document as title text.
      
      We work around this in WebKit by injecting a script that calls
      document.write() on the contents of document.title, thereby restoring
      the contents of the document. Unfortunately this overwrote several
      <style> tags that existed before the <title>, thereby causing the
      document to not have the intended styling.
      
      Fix this by having the injected script concatenate document.title to
      the document instead of overwriting it during document.write(). We can
      also take the opportunity to remove document.title since it does not
      contain useful information.
      
      * Misc/SolarWalkQuirksUserScript.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27797ba6
    • rniwa@webkit.org's avatar
      Fix Chromium test expectations. · 6aebd5e3
      rniwa@webkit.org authored
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6aebd5e3
    • rniwa@webkit.org's avatar
      REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard · 724bf274
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64767
      
      Add a runtime check for font cascading optimization.
      
      It's a constant value in Mac port so hopefully gcc will constant-propagate the value
      and eliminate the function altogether.
      
      * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
      (WebCore::canSetCascadeListForCustomFont): Added.
      (WebCore::FontPlatformData::ctFont):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91237 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      724bf274
    • rniwa@webkit.org's avatar
      Chromium test expectation update after r91229. · 63018767
      rniwa@webkit.org authored
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      63018767
    • morrita@google.com's avatar
      .: [ShadowContentElement] forwarded node should be able to access its hosting content element. · d534c6d8
      morrita@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=64251
      
      Reviewed by Dimitri Glazkov.
      
      Added GTK symbols for new window.internals methods.
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore: [ShadowContentElement] forwarded node should be able to access its hosting content element.
      https://bugs.webkit.org/show_bug.cgi?id=64251
      
      Reviewed by Dimitri Glazkov.
      
      - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
        ShadowInclusionSet instance is owned by ShadowRoot.
      - Updated the set on inclusion list changes.
      - Used the set to retrieve the content element of NodeRenderingContext.
      
      There are also related refactoring and cleanup:
      - Renamed NodeRenderingContext::m_contentElement to m_includer
      - ShadowContentSelector::m_activeElement is no longer used, thus removed.
      
      Test: fast/dom/shadow/content-element-includer.html
      
      * WebCore.exp.in:
      * dom/NodeRenderingContext.cpp:
      (WebCore::NodeRenderingContext::NodeRenderingContext):
      (WebCore::NodeRenderingContext::nextRenderer):
      (WebCore::NodeRenderingContext::previousRenderer):
      * dom/NodeRenderingContext.h:
      (WebCore::NodeRenderingContext::includer):
      * dom/ShadowContentElement.cpp:
      (WebCore::removeFromSet):
      (WebCore::addToSet):
      (WebCore::ShadowContentElement::attach):
      (WebCore::ShadowContentElement::detach):
      * dom/ShadowContentElement.h:
      (WebCore::ShadowInclusionSet::add):
      (WebCore::ShadowInclusionSet::remove):
      (WebCore::ShadowInclusionSet::isEmpty):
      (WebCore::ShadowInclusionSet::Translator::hash):
      (WebCore::ShadowInclusionSet::Translator::equal):
      (WebCore::ShadowInclusionSet::Hash::hash):
      (WebCore::ShadowInclusionSet::Hash::equal):
      (WebCore::ShadowInclusionSet::find):
      * dom/ShadowContentSelector.cpp:
      (WebCore::ShadowContentSelector::ShadowContentSelector):
      (WebCore::ShadowContentSelector::selectInclusion):
      * dom/ShadowContentSelector.h:
      * dom/ShadowRoot.cpp:
      (WebCore::ShadowRoot::~ShadowRoot):
      (WebCore::ShadowRoot::includerFor):
      (WebCore::ShadowRoot::inclusions):
      (WebCore::ShadowRoot::ensureInclusions):
      * dom/ShadowRoot.h:
      (WebCore::toShadowRoot):
      * testing/Internals.cpp:
      (WebCore::Internals::includerFor):
      * testing/Internals.h:
      * testing/Internals.idl:
      
      Source/WebKit2: [ShadowContentElement] forwarded node should be able to access its hosting content element.
      https://bugs.webkit.org/show_bug.cgi?id=64251
      
      Reviewed by Dimitri Glazkov.
      
      Exported additional symbols for window.internals object.
      
      * win/WebKit2.def:
      * win/WebKit2CFLite.def:
      
      LayoutTests: [ShadowContentElement] forwarded node should be able to access its hosting content element.
      https://bugs.webkit.org/show_bug.cgi?id=64251
      
      Reviewed by Dimitri Glazkov.
      
      - Added a new test.
      - Updated expectations. This change make ShadowContentElement availability on NodeRenderingContext
        more strict. that makes some redundant node disappeared.
      
      * fast/dom/shadow/content-element-includer-expected.txt: Added.
      * fast/dom/shadow/content-element-includer.html: Added.
      * platform/chromium-win/fast/html/details-nested-2-expected.txt:
      * platform/gtk/fast/html/details-nested-2-expected.txt:
      * platform/mac/fast/html/details-nested-2-expected.txt:
      * platform/qt/fast/html/details-nested-2-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d534c6d8
    • barraclough@apple.com's avatar
      Add a failing test expectation for object-prototype-properties.html after r91225. · 6ec662b6
      barraclough@apple.com authored
      Patch by Ryosuke Niwa <rniwa@webkit.org> on 2011-07-18
      
      * platform/chromium/test_expectations.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ec662b6
    • commit-queue@webkit.org's avatar
      Tab Atkins is not in committers.py (as a non-committer) · 8146dd49
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64770
      
      Patch by Tab Atkins <jackalmage@gmail.com> on 2011-07-18
      Reviewed by Eric Seidel.
      
      * Scripts/webkitpy/common/config/committers.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8146dd49
    • dino@apple.com's avatar
      2011-07-18 Dean Jackson <dino@apple.com> · ef970381
      dino@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=64742
              Expose WebPreferences for media playback requiring user gestures and inline playback
      
              Reviewed by Simon Fraser.
      
              Media playback already tested if it should require user gestures, but
              no setting was ever exposed to clients. Also, some ports only allow media
              playback to be fullscreen, so exposing a new setting for them.
      
              Two new WebPreferences: MediaPlaybackRequiresUserGesture and
              MediaPlaybackAllowsInline.
      
          WebCore:
      
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::HTMLMediaElement): Examine the new Setting
              for user gestures.
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              * page/Settings.h: Two new settings.
              (WebCore::Settings::setMediaPlaybackRequiresUserGesture):
              (WebCore::Settings::mediaPlaybackRequiresUserGesture):
              (WebCore::Settings::setMediaPlaybackAllowsInline):
              (WebCore::Settings::mediaPlaybackAllowsInline):
      
          WebKit/mac:
      
              * WebView/WebPreferenceKeysPrivate.h:
              * WebView/WebPreferences.mm:
              (+[WebPreferences initialize]):
              (-[WebPreferences mediaPlaybackRequiresUserGesture]):
              (-[WebPreferences setMediaPlaybackRequiresUserGesture:]):
              (-[WebPreferences mediaPlaybackAllowsInline]):
              (-[WebPreferences setMediaPlaybackAllowsInline:]):
              * WebView/WebPreferencesPrivate.h:
              * WebView/WebView.mm:
              (-[WebView _preferencesChanged:]):
      
          WebKit/win:
      
              * Interfaces/IWebPreferencesPrivate.idl:
              * WebPreferenceKeysPrivate.h:
              * WebPreferences.cpp:
              (WebPreferences::initializeDefaultSettings):
              (WebPreferences::setMediaPlaybackRequiresUserGesture):
              (WebPreferences::mediaPlaybackRequiresUserGesture):
              (WebPreferences::setMediaPlaybackAllowsInline):
              (WebPreferences::mediaPlaybackAllowsInline):
              * WebPreferences.h:
              * WebView.cpp:
              (WebView::notifyPreferencesChanged):
      
          WebKit2:
      
              * Shared/WebPreferencesStore.h:
              * UIProcess/API/C/WKPreferences.cpp:
              (WKPreferencesSetMediaPlaybackRequiresUserGesture):
              (WKPreferencesGetMediaPlaybackRequiresUserGesture):
              (WKPreferencesSetMediaPlaybackAllowsInline):
              (WKPreferencesGetMediaPlaybackAllowsInline):
              * UIProcess/API/C/WKPreferencesPrivate.h:
              * WebProcess/WebPage/WebPage.cpp:
              (WebKit::WebPage::updatePreferences):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef970381
    • rniwa@webkit.org's avatar
      Leopard build fix after r91229. · d9b04cf4
      rniwa@webkit.org authored
      * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
      (WebCore::FontPlatformData::ctFont):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9b04cf4
    • rniwa@webkit.org's avatar
      Add a failing test expectation for object-prototype-properties.html after r91225. · 460e4252
      rniwa@webkit.org authored
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      460e4252
    • mitz@apple.com's avatar
      REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard · ad4bbbaa
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=64767
      
      Reviewed by Sam Weinig.
      
      * platform/graphics/Font.h:
      * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
      (WebCore::FontPlatformData::ctFont): Undo the cascade list optimization on Leopard for custom
      fonts, because adding a cascade list apparently breaks the font.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ad4bbbaa
    • mdelaney@apple.com's avatar
      Remove drawsUsingCopy now that all ports handle the copying · 570f3fcd
      mdelaney@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=64768
              
      Introduced in https://bugs.webkit.org/show_bug.cgi?id=43507, ImageBuffer::drawsUsingCopy
      was used to know whether or not an ImageBuffer should be explicitly copied before being
      painted into a context (as was used in HTMLCanvasElement::paint). All platforms now
      handle the logic of copying or not in their ImageBuffer::draw() implementations, so
      drawsUsingCopy() is no longer needed. This patch removes it.
      
      Reviewed by Dan Bernstein.
      
      No new tests; does not affect behavior.
      
      * html/HTMLCanvasElement.cpp:
      (WebCore::HTMLCanvasElement::paint):
      * platform/graphics/ImageBuffer.h:
      (WebCore::ImageBuffer::isAccelerated):
      * platform/graphics/cairo/ImageBufferCairo.cpp:
      * platform/graphics/cg/ImageBufferCG.cpp:
      * platform/graphics/qt/ImageBufferQt.cpp:
      * platform/graphics/skia/ImageBufferSkia.cpp:
      * platform/graphics/wince/ImageBufferWinCE.cpp:
      * platform/graphics/wx/ImageBufferWx.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      570f3fcd
    • vsevik@chromium.org's avatar
      Web Inspector: [REGRESSION] Resource preserving fails when frameNavigated... · 668ddbfa
      vsevik@chromium.org authored
      Web Inspector: [REGRESSION] Resource preserving fails when frameNavigated event is dispatched on NetworkPanel.
      https://bugs.webkit.org/show_bug.cgi?id=64748
      
      Reviewed by Pavel Feldman.
      
      * inspector/front-end/NetworkPanel.js:
      (WebInspector.NetworkLogView.prototype._frameNavigated):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      668ddbfa
    • commit-queue@webkit.org's avatar
      DFG JIT does not optimize strict equality as effectively as the old JIT does. · 6efa2caf
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64759
      
      Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
      Reviewed by Gavin Barraclough.
      
      This adds a more complete set of strict equality optimizations.  If either
      operand is known numeric, then the code reverts to the old style of optimizing
      (first try integer comparison).  Otherwise it uses the old JIT's trick of
      first simultaneously checking if both operands are either numbers or cells;
      if not then a fast path is taken.
      
      * dfg/DFGJITCodeGenerator.cpp:
      (JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeStrictEq):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeStrictEq):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeStrictEq):
      * dfg/DFGJITCodeGenerator.h:
      * dfg/DFGNonSpeculativeJIT.cpp:
      (JSC::DFG::NonSpeculativeJIT::compile):
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6efa2caf
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=64760 · 1fbf1db9
      barraclough@apple.com authored
      DFG JIT - Should be able to compile program code.
      
      Reviewed by Geoff Garen.
      
      Add support for op_end, hooks to compile program code in Executable.cpp.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
          - Add support for op_end
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::compileEntry):
      (JSC::DFG::JITCompiler::compileBody):
      (JSC::DFG::JITCompiler::link):
          - Added, separate out steps of compileFunction.
      (JSC::DFG::JITCompiler::compile):
          - Added, compile program code.
      (JSC::DFG::JITCompiler::compileFunction):
          - Sections separated out to helper functions.
      * dfg/DFGJITCompiler.h:
      (JSC::DFG::JITCompiler::JITCompiler):
          - Added m_exceptionCheckCount.
      * runtime/Executable.cpp:
      (JSC::tryDFGCompile):
      (JSC::tryDFGCompileFunction):
      (JSC::ProgramExecutable::compileInternal):
      (JSC::FunctionExecutable::compileForCallInternal):
          - Renamed tryDFGCompile to tryDFGCompileFunction, added tryDFGCompile to compile program code.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fbf1db9
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=64678 · 921ec019
      barraclough@apple.com authored
      Fix bugs in Object.prototype this handling.
      
      Reviewed by Oliver Hunt.
      
      Source/JavaScriptCore: 
      
      undefined/null this values should throw TypeErrors, not convert to the global object,
      also, to toLocaleString should be calling the ToObject & invoking the object's toString
      function, even for values that are already strings.
      
      * runtime/ObjectPrototype.cpp:
      (JSC::objectProtoFuncValueOf):
      (JSC::objectProtoFuncHasOwnProperty):
      (JSC::objectProtoFuncIsPrototypeOf):
      (JSC::objectProtoFuncPropertyIsEnumerable):
      (JSC::objectProtoFuncToLocaleString):
      (JSC::objectProtoFuncToString):
      
      LayoutTests: 
      
      * fast/js/resources/js-test-pre.js:
          - Updated harness to not call Object.prototype.toString on undefined.
      * fast/js/eval-var-decl-expected.txt:
      * fast/js/object-prototype-properties-expected.txt: Added.
      * fast/js/object-prototype-properties.html: Added.
      * fast/js/object-prototype-toLocaleString-expected.txt
      * fast/js/script-tests/eval-var-decl.js:
          - Fix test case, calling hasProperty with undefined as the this value should throw.
      * fast/js/script-tests/object-prototype-properties.js: Added.
          - Place for test cases for Object.prototype properties; to being with, check that calling these methods on undefined throws!
      * fast/js/script-tests/object-prototype-toLocaleString.js:
          - Added test cases for correct behaviour when this is a string primitive.
      * sputnik/Conformance/11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A2-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T3-expected.txt:
          - These test cases are all incorrect. (See https://bugs.ecmascript.org/show_bug.cgi?id=117).
            We were incorrectly passing 15.5.4.11_String.prototype.replace, this should fail, as the others do.
            All the other 15.5.4 tests were failing & are still failing, but now have a better error message.
            S11.1.1_A2 is also invalid, calling toString() passing undefined as this should throw.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      921ec019
    • rniwa@webkit.org's avatar
      Fix a typo. · 760f400b
      rniwa@webkit.org authored
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      760f400b
    • bweinstein@apple.com's avatar
      Prep work for: Crash under WebPage::platformDragEnded when dragging on Mac · dc5fa7a6
      bweinstein@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=64766
      <rdar://problem/9548174>
              
      Reviewed by Darin Adler.
      
      Add a DragClient function that is called when a drag is ended, and call it from DragController::dragEnded.
      This isn't used yet, but will be used by WebKit2 on Mac.
              
      This patch also cleans up style in DragClient.h.
      
      No change in behavior, no tests needed.
      
      * page/DragClient.h:
      (WebCore::DragClient::dragEnded): Stub virtual implementation for now, this will be used by
          WebKit2 on Mac.
      * page/DragController.cpp:
      (WebCore::DragController::dragEnded): Call DragClient::dragEnded.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc5fa7a6
  2. 18 Jul, 2011 17 commits
    • rniwa@webkit.org's avatar
      Add Chromium failing expectations for some font tests; failures are tracked by the bug 64767. · f63be00a
      rniwa@webkit.org authored
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f63be00a
    • ojan@chromium.org's avatar
      Load ToT chromium bots by default in the flakiness dashboard · 89a78439
      ojan@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64756
      
      Reviewed by Adam Barth.
      
      For now, these are the most useful bots to look at. Eventually,
      we may want to load the build.webkit.org bots by default once
      most of the bots there upload results.
      
      * TestResultServer/static-dashboards/dashboard_base.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      89a78439
    • jhoneycutt@apple.com's avatar
      Focus and selection events are not fired when a <select>'s selection · a461af4e
      jhoneycutt@apple.com authored
      changes
      https://bugs.webkit.org/show_bug.cgi?id=64504
      <rdar://problem/9319881>
      
      Reviewed by Alice Liu.
      
      Source/WebCore:
      
      Test: platform/win/accessibility/option-element-selection-and-focus-events.html
      
      * accessibility/chromium/AXObjectCacheChromium.cpp:
      (WebCore::AXObjectCache::postPlatformNotification):
      Add new notification type to the section of unhandled notifications.
      
      * accessibility/AXObjectCache.h:
      Declare a new notification, AXMenuListItemSelected.
      
      * accessibility/AccessibilityMenuList.cpp:
      (WebCore::AccessibilityMenuList::didUpdateActiveOption):
      Tell our child popup that the active option changed, and post a
      notification that our value changed.
      
      * accessibility/AccessibilityMenuList.h:
      Declare didUpdateActiveOption().
      
      * accessibility/AccessibilityMenuListPopup.cpp:
      (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
      Get the child <option> element that is selected, and fire focus and
      selection events for it.
      
      * accessibility/AccessibilityMenuListPopup.h:
      Declare didUpdateActiveOption().
      
      * accessibility/win/AXObjectCacheWin.cpp:
      (WebCore::AXObjectCache::postPlatformNotification):
      Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.
      
      * dom/SelectElement.cpp:
      (WebCore::SelectElement::setSelectedIndex):
      Pass the newly-selected index.
      
      * rendering/RenderMenuList.cpp:
      (WebCore::RenderMenuList::RenderMenuList):
      Update the initialization list for the renamed m_lastActiveIndex.
      (WebCore::RenderMenuList::setTextFromOption):
      A new selection has been made in the popup; call
      didUpdateActiveOption().
      (WebCore::RenderMenuList::didSetSelectedIndex):
      Call didUpdateActiveOption(), passing the index of the newly-selected
      <option>.
      (WebCore::RenderMenuList::didUpdateActiveOption):
      If accessibility is disabled, or if the active option has not changed,
      return early. Check whether the option index is in the range of list
      items, and assert that the item at that index is an <option> element.
      Tell the AccessibilityMenuList for this element that we updated the
      active option.
      
      * rendering/RenderMenuList.h:
      Updated the declaration of didSetSelectedIndex() to take the selected
      index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
      m_lastActiveIndex.
      
      Tools:
      
      * DumpRenderTree/AccessibilityController.h:
      Added m_notificationsEventHook for addNotificationListener().
      m_allEventsHook will now be used for setLogAccessibilityEvents().
      
      * DumpRenderTree/win/AccessibilityControllerWin.cpp:
      (AccessibilityController::AccessibilityController):
      Initialize m_notificationsEventHook.
      (AccessibilityController::~AccessibilityController):
      Turn off logging of all accessibility events. If
      m_notificationsEventHook is non-null, unhook it.
      (logEventProc):
      Add handling of EVENT_OBJECT_SELECTION.
      (AccessibilityController::setLogAccessibilityEvents):
      If the state of logging is not changing, return early. If we're turning
      off logging, unhook m_allEventsHook, and zero it out. Otherwise, add a
      hook for all events.
      (AccessibilityController::addNotificationListener):
      Use m_notificationsEventHook rather than m_allEventsHook.
      
      LayoutTests:
      
      * platform/win/accessibility/option-element-selection-and-focus-events-expected.txt: Added.
      * platform/win/accessibility/option-element-selection-and-focus-events.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a461af4e
    • commit-queue@webkit.org's avatar
      JSC GC lazy sweep does not inline the common cases of cell destruction. · 6932c5f0
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64745
      
      Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
      Reviewed by Oliver Hunt.
      
      This inlines the case of JSFinalObject destruction.
      
      * heap/MarkedBlock.cpp:
      (JSC::MarkedBlock::lazySweep):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6932c5f0
    • commit-queue@webkit.org's avatar
      Add regression tests for legacy color parsing of valid CSS colors · ac93f185
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64576
      
      Patch by Tab Atkins <jackalmage@gmail.com> on 2011-07-18
      Reviewed by Simon Fraser.
      
      * fast/dom/attribute-legacy-colors-expected.txt:
      * fast/dom/script-tests/attribute-legacy-colors.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac93f185
    • oliver@apple.com's avatar
      Interpreter build-fix · 1893ec32
      oliver@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1893ec32
    • commit-queue@webkit.org's avatar
      webkit-patch apply-attachment does not work when not called from the root of the checkout · bd443675
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64751
      
      Unreviewed.  Just updating unit test results after bug 64751.
      
      * Scripts/webkitpy/layout_tests/port/chromium_win.py:
      * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd443675
    • abarth@webkit.org's avatar
      simplejson has trouble on chromium-linux · 3f9a2d6b
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64757
      
      Reviewed by Eric Seidel.
      
      Use the native JSON, if available.
      
      * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f9a2d6b
    • rniwa@webkit.org's avatar
      Unreviewed. Rolled DEPS. · 6bfa4ca1
      rniwa@webkit.org authored
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-07-18
      
      * DEPS:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6bfa4ca1
    • ojan@chromium.org's avatar
      update the flakiness dashboard to understand the new platforms/formats in test_expectations · 53e324d6
      ojan@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64743
      
      Reviewed by Adam Barth.
      
      The test expectations format changed a long time ago and the flakiness dashboard
      was never updated to match.
      
      * TestResultServer/static-dashboards/dashboard_base.js:
      * TestResultServer/static-dashboards/flakiness_dashboard.html:
      * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
      * TestResultServer/static-dashboards/timeline_explorer.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53e324d6
    • rniwa@webkit.org's avatar
      [SVG] [Chromium]: painting-control-04-f.svg and zero-path-square-cap-rendering.svg are failing · ba255a67
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64675
      
      Rebaseline painting-control-04-f.svg since r91191 fixed it.
      
      * platform/chromium-linux/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png: Added.
      * platform/chromium-win/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png: Added.
      * platform/chromium-win/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt: Added.
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba255a67
    • commit-queue@webkit.org's avatar
      webkit-patch apply-attachment does not work when not called from the root of the checkout · 1506a4d8
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64751
      
      Reviewed by Adam Barth.
      
      Last week I removed a os.chdir in EnsureWorkingDirectoryClean, which
      is a step that we run for most commands (as one of the earliest steps).
      EnsureWorkingDirectoryClean was incorrectly calling os.chdir to change
      the CWD to the checkout root.  This magically made a bunch of otherwise
      wrong code work.
      
      When I realized that apply-attachment no longer worked as expected today,
      I went and fixed the bug, then realizing that we were not testing
      what the cwd was when running various commands.  I fixed our MockExecutive
      to always log what the cwd is and fixed a whole bunch of places
      where we needed to be setting the cwd.
      
      Hopefully this will solve our cwd problems once and for-all, and webkit-patch
      will again correctly work when called from any directory (including outside
      of a webkit checkout).
      
      * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
      * Scripts/webkitpy/common/system/executive.py:
      * Scripts/webkitpy/common/system/workspace_unittest.py:
      * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
      * Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
      * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
      * Scripts/webkitpy/layout_tests/port/qt_unittest.py:
      * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
      * Scripts/webkitpy/tool/bot/irc_command.py:
      * Scripts/webkitpy/tool/bot/irc_command_unittest.py:
      * Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
      * Scripts/webkitpy/tool/commands/download_unittest.py:
      * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
      * Scripts/webkitpy/tool/commands/queues.py:
      * Scripts/webkitpy/tool/commands/queues_unittest.py:
      * Scripts/webkitpy/tool/commands/queuestest.py:
      * Scripts/webkitpy/tool/mocktool.py:
      * Scripts/webkitpy/tool/servers/gardeningserver.py:
      * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
      * Scripts/webkitpy/tool/steps/build.py:
      * Scripts/webkitpy/tool/steps/checkstyle.py:
      * Scripts/webkitpy/tool/steps/editchangelog.py:
      * Scripts/webkitpy/tool/steps/preparechangelog.py:
      * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
      * Scripts/webkitpy/tool/steps/runtests.py:
      * Scripts/webkitpy/tool/steps/steps_unittest.py:
      * Scripts/webkitpy/tool/steps/update.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1506a4d8
    • mitz@apple.com's avatar
      Specify a cascade list consisting of the last resort font for Core Text · de0fc300
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=64747
      
      Reviewed by Sam Weinig.
      
      No new tests, because this does not affect behavior.
      
      This prevents Core Text from taking its default, longer fallback list when the primary font does
      not include a character. This is OK to do because WebKit never uses the results of Core Text
      fallback anyway.
      
      * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
      (WebCore::cascadeToLastResortFontDescriptor): Added. Returns a CTFontDescriptor with a cascade
      list consisting of the last resort font.
      (WebCore::FontPlatformData::ctFont): Changed to include the cascadeToLastResortFontDescriptor
      in the returned font.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de0fc300
    • commit-queue@webkit.org's avatar
      DFG JIT does not optimize equal-null comparisons and branches. · 7e5477ef
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64659
      
      Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
      Reviewed by Gavin Barraclough.
      
      Added a peephole-aware compare-to-null implementation to JITCodeGenerator,
      which is used by both the speculative and non-speculative JIT.  Through
      the use of the new isNullConstant helper, the two JITs invoke the
      nonSpecualtiveCompareNull() helper instead of their regular comparison
      helpers when compiling CompareEq.  Through the use of the new isKnownCell
      helper, the compare-null code will skip the is-a-cell check if the
      speculative JIT had been speculating cell.
      
      * dfg/DFGJITCodeGenerator.cpp:
      (JSC::DFG::JITCodeGenerator::isKnownCell):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeCompareNull):
      * dfg/DFGJITCodeGenerator.h:
      (JSC::DFG::JITCodeGenerator::isNullConstant):
      * dfg/DFGNonSpeculativeJIT.cpp:
      (JSC::DFG::NonSpeculativeJIT::compile):
      * dfg/DFGOperations.cpp:
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e5477ef
    • commit-queue@webkit.org's avatar
      Timer scheduling should be based off the monotonic clock · 3af8d9f0
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64544
      
      Patch by James Robinson <jamesr@chromium.org> on 2011-07-18
      Reviewed by Darin Adler.
      
      Source/JavaScriptCore:
      
      Switches ThreadCondition::timedWait and related utility functions from currentTime() to
      monotonicallyIncreasingTime().
      
      Add WTF::monotonicallyIncreasingTime() to list of exported functions so it can be accessed from WebCore/WebKit.
      
      * JavaScriptCore.exp:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * wtf/ThreadingPthreads.cpp:
      (WTF::ThreadCondition::timedWait):
      * wtf/ThreadingWin.cpp:
      (WTF::absoluteTimeToWaitTimeoutInterval):
      * wtf/gtk/ThreadingGtk.cpp:
      (WTF::ThreadCondition::timedWait):
      * wtf/qt/ThreadingQt.cpp:
      (WTF::ThreadCondition::timedWait):
      
      Source/WebCore:
      
      Changes the Timer scheduling logic from using absolute values in terms of currentTime() to using relative
      intervals in terms of monotonicallyIncreasingTime().  This provides better standards compliance, compatibility,
      and predictability when the system clock is adjusted.
      
      No automated tests since there is no way to modify the system clock from DRT.
      
      * platform/SharedTimer.h:
      (WebCore::MainThreadSharedTimer::setFireInterval):
      * platform/ThreadTimers.cpp:
      (WebCore::ThreadTimers::updateSharedTimer):
      (WebCore::ThreadTimers::sharedTimerFiredInternal):
      * platform/Timer.cpp:
      (WebCore::TimerBase::start):
      (WebCore::TimerBase::nextFireInterval):
      * platform/android/SharedTimerAndroid.cpp:
      (WebCore::setSharedTimerFireInterval):
      * platform/brew/SharedTimerBrew.cpp:
      (WebCore::setSharedTimerFireInterval):
      * platform/chromium/PlatformBridge.h:
      * platform/chromium/SharedTimerChromium.cpp:
      (WebCore::setSharedTimerFireInterval):
      * platform/efl/SharedTimerEfl.cpp:
      (WebCore::addNewTimer):
      (WebCore::setSharedTimerFireInterval):
      * platform/gtk/SharedTimerGtk.cpp:
      (WebCore::setSharedTimerFireInterval):
      * platform/haiku/SharedTimerHaiku.cpp:
      (WebCore::SharedTimerHaiku::start):
      (WebCore::setSharedTimerFireInterval):
      * platform/mac/SharedTimerMac.mm:
      (WebCore::setSharedTimerFireInterval):
      * platform/qt/SharedTimerQt.cpp:
      (WebCore::SharedTimerQt::start):
      (WebCore::setSharedTimerFireInterval):
      * platform/win/SharedTimerWin.cpp:
      (WebCore::setSharedTimerFireInterval):
      * platform/wince/SharedTimerWinCE.cpp:
      (WebCore::setSharedTimerFireInterval):
      * platform/wx/SharedTimerWx.cpp:
      (WebCore::setSharedTimerFireInterval):
      * workers/WorkerRunLoop.cpp:
      (WebCore::WorkerSharedTimer::setFireInterval):
      
      Source/WebKit/chromium:
      
      Renames setSharedTimerFireTime to setSharedTimerFireInterval to be consistent with WebCore.
      
      * public/WebKitClient.h:
      (WebKit::WebKitClient::setSharedTimerFireInterval):
      * src/PlatformBridge.cpp:
      (WebCore::PlatformBridge::setSharedTimerFireInterval):
      
      Source/WebKit2:
      
      Converts the WebKit2 RunLoop and CoreIPC timeouts to use monotonicallyIncreasingTime().
      
      * Platform/CoreIPC/Connection.cpp:
      (CoreIPC::Connection::waitForMessage):
      (CoreIPC::Connection::waitForSyncReply):
      * Platform/RunLoop.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3af8d9f0
    • commit-queue@webkit.org's avatar
      Patch by Yuzhu Shen <yzshen@chromium.com> on 2011-07-18 · 40c659cf
      commit-queue@webkit.org authored
      Reviewed by James Robinson.
      
      [chromium] WebFontImpl::drawText needs to handle the canvasIsOpaque input.
      https://bugs.webkit.org/show_bug.cgi?id=64555
      
      This change handles canvasIsOpaque for the WEBKIT_USING_SKIA case.
      
      * src/WebFontImpl.cpp: handled canvasIsOpaque.
      * src/WebFontImpl.h: added method declaration.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40c659cf
    • abarth@webkit.org's avatar
      Update baseline. rbuis says this is an improvement. · 3c9c347e
      abarth@webkit.org authored
      * platform/chromium-mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3c9c347e