1. 06 Apr, 2012 40 commits
    • benjamin@webkit.org's avatar
      Do not abuse ArrayStorage's m_length for testing array consistency · 83c15267
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83403
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-06
      Reviewed by Geoffrey Garen.
      
      Array creation from a list of values is a 3 steps process:
      -JSArray::tryCreateUninitialized()
      -JSArray::initializeIndex() for each values
      -JSArray::completeInitialization()
      
      Previously, the attribute m_length was not set to the final size
      JSArray::tryCreateUninitialized() because it was used to test the array
      consistency JSArray::initializeIndex().
      
      This caused the initialization loop using JSArray::initializeIndex() maintain
      two counters:
      -index of the loop
      -storage->m_length++
      
      This patch fixes this by using the index of the initialization loop for the indinces of
      JSArray::initializeIndex(). For testing consistency, the variable m_initializationIndex
      is introduced if CHECK_ARRAY_CONSISTENCY is defined.
      
      The patch also fixes minor unrelated build issue when CHECK_ARRAY_CONSISTENCY is defined.
      
      This improves the performance of JSArray creation from literals by 8%.
      
      * runtime/JSArray.cpp:
      (JSC::JSArray::tryFinishCreationUninitialized):
      (JSC::JSArray::checkConsistency):
      * runtime/JSArray.h:
      (ArrayStorage):
      (JSC::JSArray::initializeIndex):
      (JSC::JSArray::completeInitialization):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83c15267
    • enne@google.com's avatar
      [chromium] Add virtual test suite for threaded compositing · 73b36797
      enne@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=82263
      
      Reviewed by James Robinson.
      
      Add compositing/visibility as a virtual test suites to test threaded
      compositing with. This is a reasonable smoke test of 9 tests, none of
      which have any expectations in the non-threaded case.
      
      To fix many of the remaining tests in this virtual test suite, there
      will need to be some serious refactoring to merge the conflict between
      the way CCScheduler wants to draw frames and the way DRT also wants to
      control things. So, in the short term, enable a few simple tests that
      are known to be passing.
      
      * Scripts/webkitpy/layout_tests/port/chromium.py:
      (ChromiumPort.virtual_test_suites):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      73b36797
    • oliver@apple.com's avatar
      Accessing the returnValue of a modal dialog should be performed directly on the global object. · aced271f
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83414
      
      Reviewed by Gavin Barraclough.
      
      Presumably during the mass-devirtualising of JSObject, this deliberate use of
      the GlobalObject's property lookup logic directly was replaced with a dynamic
      call.  That results in the DOMWindow filtering out the lookup.  This regression
      was masked by r93567.
      
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::DialogHandler::returnValue):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aced271f
    • jonlee@apple.com's avatar
      Build fix for Windows bots. · cdd36d09
      jonlee@apple.com authored
      Source/JavaScriptCore:
      
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: export missing symbol.
      
      Source/WebKit2:
      
      * win/WebKit2.def: Add missing export symbol.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cdd36d09
    • japhet@chromium.org's avatar
      Move Archive processing to DocumentLoader, instead of FrameLoader. · 79ec5e5f
      japhet@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83055
      
      Reviewed by Adam Barth.
      
      No new tests, no functionality change intended.
      
      * loader/DocumentLoader.cpp:
      (WebCore::DocumentLoader::finishedLoading):
      (WebCore::DocumentLoader::setupForReplaceByMIMEType):
      (WebCore::DocumentLoader::maybeCreateArchive): Renamed from
          FrameLoader::finishedLoadingDocument(). Returns true if an archive
          was created.
      (WebCore::DocumentLoader::setArchive):
      (WebCore::DocumentLoader::scheduleArchiveLoad):
      (WebCore::DocumentLoader::documentURL): Add a check for whether an archive url
          should be returned, so that we don't need special handling in Document and
          FrameLoader for overriding the document url later.
      * loader/DocumentLoader.h:
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::receivedFirstData): Remove archive special cases, since
          DocumentLoader::documentURL() will return the right thing for legacy archives
          and maybeCreateArchive() will override the base url for mhtml.
      (WebCore::FrameLoader::loadArchive):
      * loader/FrameLoader.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      79ec5e5f
    • charles.wei@torchmobile.com.cn's avatar
      [BlackBerry] Build fix to match the latest WebCore change · 71b76e42
      charles.wei@torchmobile.com.cn authored
      https://bugs.webkit.org/show_bug.cgi?id=83358
      
      Reviewed by Rob Buis.
      
      Source/WebCore:
      
      Update the BlackBerry cmake file to reflect the fact that:
      1.VDMXParser.cpp moved from graphics/skia to graphics/chromium.
      2.geolocation moved to Modules/geolocation
      3.websockets moved to Modules/websockets
      
      * PlatformBlackBerry.cmake:
      
      Source/WebKit:
      
      * PlatformBlackBerry.cmake:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71b76e42
    • charles.wei@torchmobile.com.cn's avatar
      [BlackBerry] Restore some code which was deleted by accident. · 51b3c19f
      charles.wei@torchmobile.com.cn authored
      https://bugs.webkit.org/show_bug.cgi?id=83357
      
      Reviewed by Rob Buis.
      
      No new tests, just BlackBerry build fix.
      
      * platform/network/blackberry/ResourceRequest.h:
      (ResourceRequest):
      * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
      (WebCore):
      (WebCore::mimeTypeRequestTypeMap):
      (WebCore::ResourceRequest::targetTypeFromMimeType):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51b3c19f
    • hbono@chromium.org's avatar
      REGRESSION: Cannot write a word with Korean double consonant · bfb6a1b9
      hbono@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=81186
      
      Reviewed by Dan Bernstein.
      
      WebKit change r103859 posts fake mouse-move events when the keyboard status is
      changed. Unfortunately, these mouse events go to input methods and confuse a
      Korean input method. This change directly calls handleMouseEvent() instead of
      -mouseMoved: to prevent sending these fake events to input methods.
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfb6a1b9
    • simonjam@chromium.org's avatar
      [Chromium] Unreviewed gardening. · 6965fe86
      simonjam@chromium.org authored
      * platform/chromium-linux/fast/text/atsui-partial-selection-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/fast/text/atsui-partial-selection-expected.png.
      * platform/chromium-mac-snowleopard/fullscreen/full-screen-stacking-context-expected.png:
      * platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt: Removed.
      * platform/chromium-mac-snowleopard/svg/text/non-bmp-positioning-lists-expected.txt: Removed.
      * platform/chromium-mac/fullscreen/full-screen-stacking-context-expected.png:
      * platform/chromium-mac/svg/custom/shape-rendering-expected.txt: Added.
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6965fe86
    • jamesr@google.com's avatar
      Unreviewed gardening. · 4e885270
      jamesr@google.com authored
      Explicitly position canvases for these tests to avoid cross-platform differences.
      
      * fast/canvas/webgl/webgl-composite-modes-expected.png:
      * fast/canvas/webgl/webgl-composite-modes-repaint-expected.png:
      * fast/canvas/webgl/webgl-composite-modes-repaint.html:
      * fast/canvas/webgl/webgl-composite-modes.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e885270
    • commit-queue@webkit.org's avatar
      Fix bug in ContainerNode::getRect with scale transforms · bcddceaa
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83385
      
      Patch by Alexandre Elias <aelias@google.com> on 2012-04-06
      Reviewed by Simon Fraser.
      
      The bottom-right corner calculation for non-inline and replaced
      elements in ContainerNode::getRect was incorrect in the presence of
      scaling, because the untransformed element size was added after the
      transformation is applied.  The rest of the calculations are careful
      to always apply the transformation as the last step, but this had been
      forgotten in this codepath.  The fix is just to make sure the size is
      included in the localToAbsolute call.
      
      One bug caused by this was that a scaled element would be cut off
      when scrollIntoView(false) is called to scroll its parent container
      to make it bottom-visible.
      
      New layout test case in fast/transforms/scrollIntoView-transformed.html
      
      Source/WebCore:
      
      * dom/ContainerNode.cpp:
      (WebCore::ContainerNode::getLowerRightCorner):
      
      LayoutTests:
      
      * fast/transforms/scrollIntoView-transformed-expected.txt:
      * fast/transforms/scrollIntoView-transformed.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bcddceaa
    • timothy_horton@apple.com's avatar
      m_shouldRespectImageOrientation is used uninitialized · 09a0f410
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83410
      
      Reviewed by Simon Fraser.
      
      Initialize Settings's m_shouldRespectImageOrientation to false.
      
      * page/Settings.cpp:
      (WebCore::Settings::Settings):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      09a0f410
    • ap@apple.com's avatar
    • jamesr@google.com's avatar
      [chromium] Clear values in combinedClear path not respected in... · 22af58dc
      jamesr@google.com authored
      [chromium] Clear values in combinedClear path not respected in WebGLRenderingContext::clearIfComposited()
      https://bugs.webkit.org/show_bug.cgi?id=83407
      
      Source/WebCore:
      
      Reviewed by Kenneth Russell.
      
      When doing a combined clear in the drawing buffer path, we have to use the user specified values for the clear
      color / mask / depth and not all 0s.
      
      Covered by slight modification to fast/canvas/webgl/canvas-test.html
      
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      (WebCore::WebGLRenderingContext::clearIfComposited):
      * platform/graphics/gpu/DrawingBuffer.cpp:
      (WebCore::DrawingBuffer::clearFramebuffers):
      (WebCore::DrawingBuffer::reset):
      * platform/graphics/gpu/DrawingBuffer.h:
      
      LayoutTests:
      
      Force a composite on each tick to more closely match the test's behavior in an actual browser.
      
      * fast/canvas/webgl/canvas-test.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113517 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22af58dc
    • tony@chromium.org's avatar
      [chromium] Unreviewed gardening. · 46de2db5
      tony@chromium.org authored
      This test is passing on Chromium Linux, but we have a different expectation
      checked in for Chromium Win which uses lighttpd.
      
      * platform/chromium-linux/http/tests/xmlhttprequest/cache-override-expected.txt: Added.
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113516 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46de2db5
    • tony@chromium.org's avatar
      [chromium] merge redundant conditions in WebCore.gyp · dbd811f9
      tony@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83319
      
      Reviewed by Adam Barth.
      
      There were duplicate conditions in some of the targets (e.g., 2
      OS=="win" sections) so I merged them and if possible, used an else
      block of an existing condition.
      
      No new tests, just refactoring the build file.
      
      * WebCore.gyp/WebCore.gyp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dbd811f9
    • simon.fraser@apple.com's avatar
      Rename paintingGoesToWindow() to paintsIntoWindow() · 655ac7f2
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83406
      
      Reviewed by Dirk Schulze.
      
      Rename paintingGoesToWindow() to paintsIntoWindow() to be consistent
      with some future refactoring.
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
      (WebCore::RenderLayer::paintLayer):
      (WebCore::RenderLayer::paintsWithTransform):
      (WebCore::RenderLayer::setBackingNeedsRepaint):
      (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::containsPaintedContent):
      (WebCore::RenderLayerBacking::paintsIntoWindow):
      (WebCore::RenderLayerBacking::paintIntoLayer):
      * rendering/RenderLayerBacking.h:
      (RenderLayerBacking):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::repaintUsingContainer):
      * rendering/RenderView.cpp:
      (WebCore::RenderView::paintBoxDecorations):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      655ac7f2
    • simonjam@chromium.org's avatar
      Roll out change to HTMLParserIdioms.cpp from 82857 · 4f2f7259
      simonjam@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83402
      
      Change 82857 causes a DCHECK on fast/forms/number/ValidityState-typeMismatch-number.html
      
      Darin suggested we roll out this file here: https://bugs.webkit.org/show_bug.cgi?id=82857#c20
      
      Unreviewed, rolling out change that broke tests.
      
      * html/parser/HTMLParserIdioms.cpp:
      (WebCore::parseToDoubleForNumberType):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f2f7259
    • fischman@chromium.org's avatar
      Roll Chromium DEPS · 45eeeb39
      fischman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83389
      
      Unreviewed, just a DEPS roll (130110:131183)
      
      
      * DEPS:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      45eeeb39
    • isherman@chromium.org's avatar
      Allow site authors to override autofilled fields' colors. · 9ffe94c9
      isherman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=66032
      http://code.google.com/p/chromium/issues/detail?id=46543
      
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      * css/html.css:
      (input:-webkit-autofill): Remove !important declarations.
      
      LayoutTests:
      
      * fast/forms/input-autofilled-expected.txt:
      * fast/forms/input-autofilled.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ffe94c9
    • enrica@apple.com's avatar
      Provide Obj-C private API to simplify markup. · e3a74e1e
      enrica@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83334
      <rdar://problem/11033861>
      
      Reviewed by Sam Weinig.
      
      Source/WebCore: 
      
      Added test in TestWebKitAPI
      
      * WebCore.exp.in:
      * editing/Editor.cpp:
      (WebCore::Editor::simplifyMarkup): Exposing the new command through the editor.
      * editing/Editor.h:
      
      Source/WebKit/mac: 
      
      * WebView/WebView.mm:
      (-[WebView _simplifyMarkup:endNode:]): Added.
      * WebView/WebViewPrivate.h:
      
      Tools: 
      
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Added.
      (-[SimplifyMarkupTest webView:didFinishLoadForFrame:]):
      * TestWebKitAPI/Tests/mac/verboseMarkup.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113510 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3a74e1e
    • dpranke@chromium.org's avatar
      clone baselines from platform/win to platform/chromium-win · 76f8568d
      dpranke@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?83394
      
      Unreviewed, expectations change.
      
      Copies the win baselines that chromium depends on into a
      chromium dir, so that we can remove the dependency on win down
      the road.
      
      * platform/chromium-win/accessibility/aria-fallback-roles-expected.txt: Added.
      * platform/chromium-win/accessibility/detached-object-notification-crash-expected.txt: Added.
      * platform/chromium-win/accessibility/document-enabled-state-expected.txt: Added.
      * platform/chromium-win/accessibility/document-role-expected.txt: Added.
      * platform/chromium-win/accessibility/focus-events-expected.txt: Added.
      * platform/chromium-win/accessibility/heading-elements-expected.txt: Added.
      * platform/chromium-win/accessibility/img-alt-attribute-expected.txt: Added.
      * platform/chromium-win/accessibility/linked-elements-expected.txt: Added.
      * platform/chromium-win/accessibility/list-item-role-expected.txt: Added.
      * platform/chromium-win/accessibility/list-marker-role-expected.txt: Added.
      * platform/chromium-win/accessibility/list-role-expected.txt: Added.
      * platform/chromium-win/accessibility/multiple-select-element-role-expected.txt: Added.
      * platform/chromium-win/accessibility/option-element-position-and-size-expected.txt: Added.
      * platform/chromium-win/accessibility/option-element-selection-and-focus-events-expected.txt: Added.
      * platform/chromium-win/accessibility/parent-element-expected.txt: Added.
      * platform/chromium-win/accessibility/scroll-to-anchor-expected.txt: Added.
      * platform/chromium-win/accessibility/select-element-role-expected.txt: Added.
      * platform/chromium-win/accessibility/select-element-valuechange-event-expected.txt: Added.
      * platform/chromium-win/accessibility/selection-and-focus-expected.txt: Added.
      * platform/chromium-win/accessibility/single-select-children-changed-expected.txt: Added.
      * platform/chromium-win/accessibility/single-select-children-expected.txt: Added.
      * platform/chromium-win/accessibility/text-role-expected.txt: Added.
      * platform/chromium-win/compositing/plugins/composited-plugin-expected.txt: Added.
      * platform/chromium-win/compositing/plugins/small-to-large-composited-plugin-expected.txt: Added.
      * platform/chromium-win/editing/selection/anchor-focus2-expected.txt: Added.
      * platform/chromium-win/editing/selection/anchor-focus3-expected.txt: Added.
      * platform/chromium-win/editing/selection/collapse-selection-in-bidi-expected.txt: Added.
      * platform/chromium-win/editing/selection/doubleclick-should-not-expand-across-lines-expected.txt: Added.
      * platform/chromium-win/editing/selection/drag-text-delay-expected.txt: Added.
      * platform/chromium-win/editing/selection/extend-selection-home-end-expected.txt: Added.
      * platform/chromium-win/editing/selection/mixed-editability-10-expected.txt: Added.
      * platform/chromium-win/editing/selection/shift-page-up-down-expected.txt: Added.
      * platform/chromium-win/editing/selection/transformed-selection-rects-expected.txt: Added.
      * platform/chromium-win/fast/css/zoom-body-scroll-expected.txt: Added.
      * platform/chromium-win/fast/dom/Element/id-in-deletebutton-expected.txt: Added.
      * platform/chromium-win/fast/dom/Window/window-properties-expected.txt: Added.
      * platform/chromium-win/fast/dom/prototype-inheritance-2-expected.txt: Added.
      * platform/chromium-win/fast/events/alt-numpad-expected.txt: Added.
      * platform/chromium-win/fast/events/alt-space-scroll-expected.txt: Added.
      * platform/chromium-win/fast/events/context-click-events-expected.txt: Added.
      * platform/chromium-win/fast/events/double-dead-char-expected.txt: Added.
      * platform/chromium-win/fast/events/keyLocation-numpad-expected.txt: Added.
      * platform/chromium-win/fast/events/panScroll-click-hyperlink-expected.txt: Added.
      * platform/chromium-win/fast/events/panScroll-correct-direction-expected.txt: Added.
      * platform/chromium-win/fast/events/panScroll-event-fired-expected.txt: Added.
      * platform/chromium-win/fast/events/panScroll-image-no-scroll-expected.txt: Added.
      * platform/chromium-win/fast/events/panScroll-imageMap-href-no-scroll-expected.txt: Added.
      * platform/chromium-win/fast/events/panScroll-imageMap-noHref-scroll-expected.txt: Added.
      * platform/chromium-win/fast/events/panScroll-nested-divs-expected.txt: Added.
      * platform/chromium-win/fast/events/panScroll-no-iframe-jump-expected.txt: Added.
      * platform/chromium-win/fast/events/panScroll-preventDefault-expected.txt: Added.
      * platform/chromium-win/fast/forms/cursor-at-editable-content-boundary-expected.txt: Added.
      * platform/chromium-win/fast/forms/select-popup-pagekeys-expected.txt: Added.
      * platform/chromium-win/fast/images/support-broken-image-delegate-expected.txt: Added.
      * platform/chromium-win/fast/js/global-constructors-expected.txt: Added.
      * platform/chromium-win/fast/loader/stateobjects/state-url-sets-links-visited-expected.txt: Added.
      * platform/chromium-win/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Added.
      * platform/chromium-win/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Added.
      * platform/chromium-win/fast/replaced/table-percent-height-text-controls-expected.txt: Added.
      * platform/chromium-win/fast/text/capitalize-boundaries-expected.txt: Added.
      * platform/chromium-win/fast/text/emphasis-combined-text-expected.txt: Added.
      * platform/chromium-win/fast/text/emphasis-expected.png: Added.
      * platform/chromium-win/fast/text/emphasis-expected.txt: Added.
      * platform/chromium-win/fast/text/emphasis-vertical-expected.png: Added.
      * platform/chromium-win/fast/text/emphasis-vertical-expected.txt: Added.
      * platform/chromium-win/fast/text/fallback-traits-fixup-expected.txt: Added.
      * platform/chromium-win/fast/text/international/hindi-whitespace-expected.png: Added.
      * platform/chromium-win/fast/text/international/hindi-whitespace-expected.txt: Added.
      * platform/chromium-win/fast/text/international/text-combine-image-test-expected.png: Added.
      * platform/chromium-win/fast/text/international/text-combine-image-test-expected.txt: Added.
      * platform/chromium-win/fast/text/international/vertical-text-glyph-test-expected.png: Added.
      * platform/chromium-win/fast/text/international/vertical-text-glyph-test-expected.txt: Added.
      * platform/chromium-win/fast/text/international/vertical-text-metrics-test-expected.txt: Added.
      * platform/chromium-win/fast/text/justify-ideograph-complex-expected.txt: Added.
      * platform/chromium-win/fast/text/justify-ideograph-simple-expected.txt: Added.
      * platform/chromium-win/fast/text/justify-ideograph-vertical-expected.txt: Added.
      * platform/chromium-win/fast/text/uniscribe-item-boundary-crash-expected.txt: Added.
      * platform/chromium-win/fast/text/uniscribe-missing-glyph-expected.txt: Added.
      * platform/chromium-win/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Added.
      * platform/chromium-win/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Added.
      * platform/chromium-win/fast/writing-mode/border-vertical-lr-expected.png: Added.
      * platform/chromium-win/fast/writing-mode/border-vertical-lr-expected.txt: Added.
      * platform/chromium-win/fast/writing-mode/japanese-lr-selection-expected.png: Added.
      * platform/chromium-win/fast/writing-mode/japanese-lr-selection-expected.txt: Added.
      * platform/chromium-win/fast/writing-mode/japanese-rl-selection-expected.png: Added.
      * platform/chromium-win/fast/writing-mode/japanese-rl-selection-expected.txt: Added.
      * platform/chromium-win/fast/writing-mode/text-orientation-basic-expected.png: Added.
      * platform/chromium-win/fast/writing-mode/text-orientation-basic-expected.txt: Added.
      * platform/chromium-win/fast/writing-mode/vertical-font-fallback-expected.txt: Added.
      * platform/chromium-win/inverted-colors/non-composited-expected.png: Added.
      * platform/chromium-win/inverted-colors/non-composited-expected.txt: Added.
      * platform/chromium-win/platform/win/plugins/draws-gradient-expected.png: Added.
      * platform/chromium-win/platform/win/plugins/draws-gradient-expected.txt: Added.
      * platform/chromium-win/plugins/call-javascript-that-destroys-plugin-expected.txt: Added.
      * platform/chromium-win/plugins/get-value-netscape-window-expected.txt: Added.
      * platform/chromium-win/plugins/iframe-inside-overflow-expected.txt: Added.
      * platform/chromium-win/plugins/npn-invalidate-rect-invalidates-window-expected.txt: Added.
      * platform/chromium-win/plugins/npp-set-window-called-during-destruction-expected.txt: Added.
      * platform/chromium-win/plugins/plugin-javascript-access-expected.txt: Added.
      * platform/chromium-win/plugins/resize-from-plugin-expected.txt: Added.
      * platform/chromium-win/plugins/visibility-hidden-expected.png: Added.
      * platform/chromium-win/plugins/visibility-hidden-expected.txt: Added.
      * platform/chromium-win/plugins/window-geometry-initialized-before-set-window-expected.txt: Added.
      * platform/chromium-win/plugins/window-region-is-set-to-clip-rect-expected.txt: Added.
      * platform/chromium-win/plugins/windowless-paint-rect-coordinates-expected.txt: Added.
      * platform/chromium-win/printing/page-rule-in-media-query-expected.txt: Added.
      * platform/chromium-win/sputnik/Conformance/11_Expressions/11.5_Multiplicative_Operators/11.5.3_Percent/S11.5.3_A4_T6-expected.txt: Added.
      * platform/chromium-win/svg/zoom/page/zoom-mask-with-percentages-expected.png: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76f8568d
    • ggaren@apple.com's avatar
      Renamed · 61b97001
      ggaren@apple.com authored
              WeakHeap => WeakSet
              HandleHeap => HandleSet
      
      Reviewed by Sam Weinig.
      
      These sets do have internal allocators, but it's confusing to call them
      heaps because they're sub-objects of an object called "heap".
      
      * heap/HandleHeap.cpp: Removed.
      * heap/HandleHeap.h: Removed.
      * heap/HandleSet.cpp: Copied from JavaScriptCore/heap/HandleHeap.cpp.
      * heap/WeakHeap.cpp: Removed.
      * heap/WeakHeap.h: Removed.
      * heap/WeakSet.cpp: Copied from JavaScriptCore/heap/WeakHeap.cpp.
      * heap/WeakSet.h: Copied from JavaScriptCore/heap/WeakHeap.h.
      
      Plus global rename using grep.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      61b97001
    • dpranke@chromium.org's avatar
      new-run-webkit-tests: fix bugs in 'mock' drt implementation · fc327d64
      dpranke@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83341
      
      Reviewed by Eric Seidel.
      
      The current implementation crashed in some circumstances for
      reference tests and files that were missing expected results.
      This patch fixes those cases and adds more unit tests; it is a
      precursor to adding unit tests each port that actually uses this
      code, in order to get better coverage of the port/*
      implementations.
      
      * Scripts/webkitpy/layout_tests/port/mock_drt.py:
      (parse_options):
      (MockDRT.input_from_line):
      (MockDRT.output_for_test):
      (MockDRT.run_one_test):
      (MockChromiumDRT.input_from_line):
      (MockChromiumDRT.output_for_test):
      (MockChromiumDRT.run_one_test):
      * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
      (MockDRTTest.make_input_output):
      (MockDRTTest.expected_output):
      (MockDRTTest):
      (MockDRTTest.assertTest):
      (MockDRTTest.test_missing_image):
      (MockDRTTest.test_missing_text):
      (MockDRTTest.test_reftest_match):
      (MockDRTTest.test_reftest_mismatch):
      (MockChromiumDRTTest.expected_output):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc327d64
    • tony@chromium.org's avatar
      [chromium] Unreviewed gardening. This test is passing on chromium win and linux. · 2e8801dc
      tony@chromium.org authored
      * platform/chromium-linux-x86/fast/text/atsui-partial-selection-expected.png: Added.
      * platform/chromium-win/fast/text/atsui-partial-selection-expected.png:
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e8801dc
    • benjamin@webkit.org's avatar
      Get rid of the useless flag PREEMPT_GEOLOCATION_PERMISSION · 6bf6be20
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83325
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-06
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore: 
      
      The flag WTF_USE_PREEMPT_GEOLOCATION_PERMISSION was added in r63742 but
      was never disabled by anyone. Supporting this feature added complexity by
      introducing two authorization scheme.
      
      This patch removes WTF_USE_PREEMPT_GEOLOCATION_PERMISSION and the code supporting
      granting the authorization after startUpdating().
      
      * Modules/geolocation/Geolocation.cpp:
      (WebCore::Geolocation::GeoNotifier::runSuccessCallback): With the simplified
      authorization code, we ensure stronger constraint on GeoNotifier::runSuccessCallback().
      (WebCore::Geolocation::stop):
      (WebCore::Geolocation::startRequest):
      (WebCore::Geolocation::clearWatch):
      (WebCore::Geolocation::setIsAllowed):
      (WebCore::Geolocation::positionChanged): The case (!isAllowed()) was there
      to support granting the authorization for WTF_USE_PREEMPT_GEOLOCATION_PERMISSION.
      (WebCore::Geolocation::handlePendingPermissionNotifiers):
      * Modules/geolocation/Geolocation.h:
      (Geolocation):
      
      Source/WebKit/blackberry: 
      
      * WebCoreSupport/AboutDataUseFeatures.in:
      
      Source/WTF: 
      
      * wtf/Platform.h: Remove the flag.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6bf6be20
    • tony@chromium.org's avatar
      [chromium] Unreviewed, rebaseline a test on Vista/Win7. · bc420254
      tony@chromium.org authored
      * platform/chromium-linux/fast/encoding/invalid-UTF-8-expected.txt: Removed.
      * platform/chromium-win/fast/encoding/invalid-UTF-8-expected.png:
      * platform/chromium-win/fast/encoding/invalid-UTF-8-expected.txt:
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bc420254
    • tsepez@chromium.org's avatar
      Block cross-origin iframe scroll to fragment. · f8960566
      tsepez@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=73083
      
      Reviewed by Adam Barth.
      
      Add a restriction similar to what FF has done for all iframes for over a
      year now. Our change is less disruptive in that it only does this in the
      cross-orgin case, which is where the fragment scrolling is problematic.
      
      Source/WebCore:
      
      Test: http/tests/navigation/anchor-frames-cross-origin.html
      
      * dom/Document.cpp:
      (WebCore::Document::canBeAccessedByEveryAncestorFrame):
      (WebCore):
      * dom/Document.h:
      (Document):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::finishedParsing):
      (WebCore::FrameLoader::loadInSameDocument):
      (WebCore::FrameLoader::loadURL):
      (WebCore::FrameLoader::loadWithDocumentLoader):
      (WebCore::FrameLoader::shouldPerformFragmentNavigation):
      (WebCore::FrameLoader::scrollToFragmentIfAllowed):
      (WebCore):
      * loader/FrameLoader.h:
      (FrameLoader):
      
      LayoutTests:
      
      * http/tests/inspector/resource-parameters-expected.txt:
      * http/tests/navigation/anchor-frames-cross-origin-expected.txt: Added.
      * http/tests/navigation/anchor-frames-cross-origin.html: Added.
      * http/tests/navigation/resources/frame-with-anchor-cross-origin.html: Added.
      * http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
      * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
      * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
      * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
      * http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
      * http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8960566
    • jer.noble@apple.com's avatar
      WebFullScreenManagerProxy::isFullScreen() will create an empty full screen window; steal focus. · dd8a3486
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83388
      
      Reviewed by Geoffrey Garen.
      
      Calling WebFullScreenManagerProxy::isFullScreen() will create a WKFullScreenWindowController if
      one does not already exist, since the -[WKView fullScreenWindowController] method will create-on-access.
      Add a new call, -[WKView hasFullScreenWindowController], which does not auto-create the controller
      and add that check to WebFullScreenManagerProxy::isFullScreen().
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView hasFullScreenWindowController]):
      * UIProcess/API/mac/WKViewInternal.h:
      * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
      (WebKit::WebFullScreenManagerProxy::isFullScreen):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dd8a3486
    • tony@chromium.org's avatar
      [chromium] Unreviewed, remove a passing test. · 6c308f17
      tony@chromium.org authored
      tables/mozilla/bugs/bug9024.html is passing on Leopard.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c308f17
    • jamesr@google.com's avatar
      Enable webkit_unit_tests for commit queue and EWS while tracking failures · a22399cc
      jamesr@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83329
      
      Reviewed by Adam Barth.
      
      This adds a step to parse XML output from webkit_unit_tests and consider regressions in the PatchAnalysisTask so
      the commit queue and EWS can reject patches that cause regressions.
      
      * Scripts/webkitpy/common/config/ports.py:
      (ChromiumPort.run_webkit_unit_tests_command):
      * Scripts/webkitpy/common/config/ports_mock.py:
      (MockPort.unit_tests_results_path):
      * Scripts/webkitpy/common/net/layouttestresults.py:
      (LayoutTestResults.__init__):
      (LayoutTestResults.failing_tests):
      (LayoutTestResults):
      (LayoutTestResults.add_unit_test_failures):
      * Scripts/webkitpy/common/net/unittestresults.py: Copied from Tools/Scripts/webkitpy/tool/steps/runtests_unittest.py.
      (UnitTestResults):
      (UnitTestResults.results_from_string):
      * Scripts/webkitpy/common/net/unittestresults_unittest.py: Added.
      (UnitTestResultsTest):
      (UnitTestResultsTest.test_nostring):
      (UnitTestResultsTest.test_emptystring):
      (UnitTestResultsTest.test_nofailures):
      (test_onefailure):
      (test_multiple_failures_per_test):
      * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
      (MockCommitQueue.test_results):
      (MockCommitQueue.archive_last_test_results):
      (FailingTestCommitQueue.test_results):
      (test_flaky_test_failure):
      (test_failed_archive):
      * Scripts/webkitpy/tool/bot/layouttestresultsreader.py:
      (LayoutTestResultsReader._create_unit_test_results):
      (LayoutTestResultsReader.results):
      * Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
      (LayoutTestResultsReaderTest.test_missing_layout_test_results):
      * Scripts/webkitpy/tool/bot/patchanalysistask.py:
      (PatchAnalysisTaskDelegate.test_results):
      (PatchAnalysisTaskDelegate.archive_last_test_results):
      (PatchAnalysisTask._test):
      (PatchAnalysisTask._build_and_test_without_patch):
      (PatchAnalysisTask._test_patch):
      * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
      (AbstractEarlyWarningSystem.test_results):
      (AbstractEarlyWarningSystem.archive_last_test_results):
      * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
      (EarlyWarningSytemTest._test_testing_ews):
      * Scripts/webkitpy/tool/commands/queues.py:
      (CommitQueue.test_results):
      (CommitQueue.archive_last_test_results):
      * Scripts/webkitpy/tool/commands/queues_unittest.py:
      (CommitQueueTest.test_commit_queue):
      (test_rollout):
      (test_manual_reject_during_processing):
      * Scripts/webkitpy/tool/steps/runtests.py:
      (RunTests.run):
      * Scripts/webkitpy/tool/steps/runtests_unittest.py:
      (RunTestsTest.test_webkit_run_unit_tests):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a22399cc
    • jer.noble@apple.com's avatar
      Foreground of apple.com/iphone video page visible during full screen animation. · 8a04ee62
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83080
      
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      No new tests; updated fullscreen/full-screen-stacking-context.html
      
      The apple.com/iphone video page uses a -webkit-mask: CSS style, which creates a stacking
      context and causes the page to pop in front of the full screen renderer.  Add all the
      styles suggested by the W3C full screen spec to the -webkit-full-screen-ancestor rule
      to keep these stacking contexts from being created.
      
      * css/fullscreen.css:
      (:-webkit-full-screen-ancestor:not(iframe)):
      
      LayoutTests:
      
      * fullscreen/full-screen-stacking-context.html:
      * platform/mac/fullscreen/full-screen-stacking-context-expected.png:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a04ee62
    • inferno@chromium.org's avatar
      Virtualize createAnonymousBoxWithSameTypeAs. · 19e17ddd
      inferno@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83229
      
      Reviewed by Julien Chaffraix.
      
      This helps to use the same function to create anonymous
      table parts and in the future extend to more classes
      derived from RenderBox.
      
      The current switch case situation was going to be messy as
      we will need to mix cases that were very dependent on the
      class, so it made sense to add a virtual function.
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
      (WebCore::RenderBlock::createAnonymousBoxWithSameTypeAs):
      * rendering/RenderBlock.h:
      (RenderBlock):
      * rendering/RenderBox.h:
      (WebCore::RenderBox::createAnonymousBoxWithSameTypeAs):
      (RenderBox):
      * rendering/RenderInline.cpp:
      (WebCore::RenderInline::splitFlow):
      * rendering/RenderTable.h:
      (WebCore::RenderTable::createAnonymousBoxWithSameTypeAs):
      * rendering/RenderTableCell.h:
      (WebCore::RenderTableCell::createAnonymousBoxWithSameTypeAs):
      * rendering/RenderTableRow.h:
      (WebCore::RenderTableRow::createAnonymousBoxWithSameTypeAs):
      * rendering/RenderTableSection.h:
      (WebCore::RenderTableSection::createAnonymousBoxWithSameTypeAs):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19e17ddd
    • timothy_horton@apple.com's avatar
      [cg] REGRESSION (r101517): Animating the transform of a <rect> with... · c9729b78
      timothy_horton@apple.com authored
      [cg] REGRESSION (r101517): Animating the transform of a <rect> with shape-rendering: crispEdges leaves behind garbage
      https://bugs.webkit.org/show_bug.cgi?id=82963
      <rdar://problem/11170476>
      
      Reviewed by Simon Fraser.
      
      CoreGraphics can inflate the stroke by 1px when drawing a rectangle
      with antialiasing disabled at non-integer coordinates, we need to
      compensate by inflating the RenderSVGRect repaint bounds by 1px.
      
      No new tests, as this is not reproducible in DRT or WKTR.
      
      * rendering/svg/RenderSVGRect.cpp:
      (WebCore::RenderSVGRect::createShape):
      (WebCore::RenderSVGRect::strokeBoundingBox):
      * rendering/svg/RenderSVGRect.h:
      (RenderSVGRect):
      
      New Mac baselines for two tests which have SVG <rect>s with shape-rendering: crispEdges.
      
      * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
      * platform/mac/svg/custom/shape-rendering-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9729b78
    • commit-queue@webkit.org's avatar
      Tools: Enable MediaSource feature for DumpRenderTree so · e47340d1
      commit-queue@webkit.org authored
      MediaSource LayoutTests will pass for Chromium.
      https://bugs.webkit.org/show_bug.cgi?id=83053
      
      Patch by Aaron Colwell <acolwell@chromium.org> on 2012-04-06
      Reviewed by Dimitri Glazkov.
      
      * DumpRenderTree/chromium/TestShell.cpp:
      (TestShell::TestShell):
      
      LayoutTests: Fix MediaSource LayoutTests to work with the new XHR behavior
      that requires asynchronous requests for the 'arraybuffer'
      responseType.
      https://bugs.webkit.org/show_bug.cgi?id=83053
      
      Patch by Aaron Colwell <acolwell@chromium.org> on 2012-04-06
      Reviewed by Dimitri Glazkov.
      
      * http/tests/media/media-source/webm/video-media-source-errors.html:
      * http/tests/media/media-source/webm/video-media-source-play.html:
      * http/tests/media/media-source/webm/video-media-source-seek.html:
      * http/tests/media/media-source/webm/video-media-source-state-changes.html:
      * http/tests/media/media-source/webm/webm-media-source.js:
      (getData.request.onload):
      (createClusterGetFunction.return.if):
      (createClusterGetFunction):
      (loadWebMData):
      (getCluster):
      (appendCluster):
      (getReadyStateName):
      (expectSourceState):
      (expectReadyState):
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e47340d1
    • simon.fraser@apple.com's avatar
      Avoid trying to set filters on transform layers · 2cc4f89e
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83344
      
      Reviewed by Dean Jackson.
      
      Return early from GraphicsLayerCA::setFilters() when the filters
      haven't changed. This avoids trying to clear filters on CALayers
      which never had them, which should both help performance, and avoids
      console spew related to setting shadow properties on transform layers.
      
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::setFilters):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2cc4f89e
    • jamesr@google.com's avatar
      WebGL content swapped at wrong time in threaded compositing mode · 03da47c9
      jamesr@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=82275
      
      Reviewed by Kenneth Russell.
      
      Source/WebCore:
      
      When using threaded compositing, we need to defer touching the texture ID being used by the compositor until the
      appropriate point in the synchronization routine and not before. Specifically, there is no time at which it is
      safe to manipulate the texture the compositor may be using from the main thread. This breaks up the presentation
      path into a few pieces (depending on the context attributes) in order to maintain these invariants.
      
      Depending on the context attributes and if we're in threaded mode, there are a few different possible back/front
      buffer combinations:
      
      - When the context is antialiased, we have a multisampled renderbuffer and associated framebuffer.
      - In all cases, we have a color texture back buffer.
      - When preserveDrawingBuffer is set or threaded compositing is enabled, we have a separate color texture as a
      front buffer.
      
      The resource update is in two phases. First, on the main thread, we prepare the back buffer. This resolves from
      the multisampled FBO into the back color buffer if multisampled and swaps the front / back color buffer textures
      if preserveDrawingBuffer is false and we're using separate front / back color buffers. Second, on the compositor
      thread, we do a texture copy from the back to the front color buffer if preserveDrawingBuffer is true. After
      these steps are complete the main thread is free to manipulate the back buffer color texture without affecting
      any resources the compositor is using.
      
      One incidental cleanup this patch also does is remove all state queries from DrawingBuffer::clearFramebuffer().
      
      Tests: fast/canvas/webgl/webgl-composite-modes-repaint.html
             fast/canvas/webgl/webgl-composite-modes.html
      
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      (WebCore::WebGLRenderingContext::WebGLRenderingContext):
      (WebCore::WebGLRenderingContext::clearIfComposited):
      (WebCore::WebGLRenderingContext::restoreStateAfterClear):
      (WebCore::WebGLRenderingContext::reshape):
      (WebCore::WebGLRenderingContext::maybeRestoreContext):
      * html/canvas/WebGLRenderingContext.h:
      (WebGLRenderingContext):
      * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
      (WebCore::DrawingBuffer::DrawingBuffer):
      (WebCore):
      (WebCore::DrawingBuffer::prepareBackBuffer):
      (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
      (WebCore::DrawingBuffer::frontColorBuffer):
      * platform/graphics/cairo/DrawingBufferCairo.cpp:
      (WebCore::DrawingBuffer::DrawingBuffer):
      (WebCore):
      (WebCore::DrawingBuffer::prepareBackBuffer):
      (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
      (WebCore::DrawingBuffer::frontColorBuffer):
      * platform/graphics/chromium/DrawingBufferChromium.cpp:
      (WebCore::generateColorTexture):
      (WebCore::DrawingBuffer::DrawingBuffer):
      (WebCore::DrawingBuffer::initialize):
      (WebCore::DrawingBuffer::prepareBackBuffer):
      (WebCore):
      (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
      (WebCore::DrawingBuffer::frontColorBuffer):
      (WebCore::DrawingBuffer::platformLayer):
      * platform/graphics/chromium/WebGLLayerChromium.cpp:
      (WebCore::WebGLLayerChromium::WebGLLayerChromium):
      (WebCore::WebGLLayerChromium::paintContentsIfDirty):
      (WebCore::WebGLLayerChromium::updateCompositorResources):
      (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
      (WebCore::WebGLLayerChromium::setNeedsDisplayRect):
      (WebCore::WebGLLayerChromium::setDrawingBuffer):
      * platform/graphics/chromium/WebGLLayerChromium.h:
      (WebGLLayerChromium):
      * platform/graphics/clutter/DrawingBufferClutter.cpp:
      (WebCore::DrawingBuffer::DrawingBuffer):
      (WebCore):
      (WebCore::DrawingBuffer::prepareBackBuffer):
      (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
      (WebCore::DrawingBuffer::frontColorBuffer):
      * platform/graphics/filters/FECustomFilter.cpp:
      (WebCore::FECustomFilter::initializeContext):
      * platform/graphics/gpu/DrawingBuffer.cpp:
      (WebCore::DrawingBuffer::create):
      (WebCore::DrawingBuffer::clear):
      (WebCore::DrawingBuffer::clearFramebuffer):
      (WebCore::DrawingBuffer::reset):
      (WebCore::DrawingBuffer::discardResources):
      * platform/graphics/gpu/DrawingBuffer.h:
      (DrawingBuffer):
      * platform/graphics/gpu/mac/DrawingBufferMac.mm:
      (WebCore::DrawingBuffer::DrawingBuffer):
      (WebCore):
      (WebCore::DrawingBuffer::prepareBackBuffer):
      (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
      (WebCore::DrawingBuffer::frontColorBuffer):
      * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
      (WebCore::DrawingBuffer::DrawingBuffer):
      (WebCore::DrawingBuffer::platformLayer):
      (WebCore::DrawingBuffer::prepareBackBuffer):
      (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
      (WebCore):
      (WebCore::DrawingBuffer::frontColorBuffer):
      
      Source/WebKit/chromium:
      
      * tests/WebGLLayerChromiumTest.cpp:
      (WebKit::TEST):
      
      LayoutTests:
      
      Adds some pixel tests for compositing all different combinations of alpha/antialias/preserveDrawingBuffer on
      WebGL content.
      
      * fast/canvas/webgl/webgl-composite-modes-expected.png: Added.
      * fast/canvas/webgl/webgl-composite-modes-expected.txt: Added.
      * fast/canvas/webgl/webgl-composite-modes-repaint-expected.png: Added.
      * fast/canvas/webgl/webgl-composite-modes-repaint-expected.txt: Added.
      * fast/canvas/webgl/webgl-composite-modes-repaint.html: Added.
      * fast/canvas/webgl/webgl-composite-modes.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03da47c9
    • tony@chromium.org's avatar
      [chromium] Unreviewed, land some mac/win baselines for table tests after r111742. · 6161ab73
      tony@chromium.org authored
      * platform/chromium-mac-leopard/tables/mozilla/bugs/bug2123-expected.png:
      * platform/chromium-mac-leopard/tables/mozilla/bugs/bug2509-expected.png:
      * platform/chromium-mac-leopard/tables/mozilla/bugs/bug34176-expected.png:
      * platform/chromium-mac-leopard/tables/mozilla/bugs/bug44505-expected.png:
      * platform/chromium-mac-leopard/tables/mozilla_expected_failures/bugs/bug59252-expected.png:
      * platform/chromium-mac-leopard/tables/mozilla_expected_failures/bugs/bug7243-expected.png:
      * platform/chromium-mac-snowleopard/fast/repaint/scroll-inside-table-cell-expected.png:
      * platform/chromium-mac-snowleopard/fast/repaint/scroll-relative-table-inside-table-cell-expected.png:
      * platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug2123-expected.png:
      * platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug2509-expected.png:
      * platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug34176-expected.png:
      * platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug44505-expected.png:
      * platform/chromium-mac-snowleopard/tables/mozilla_expected_failures/bugs/bug59252-expected.png:
      * platform/chromium-mac-snowleopard/tables/mozilla_expected_failures/bugs/bug7243-expected.png:
      * platform/chromium-mac/fast/repaint/scroll-inside-table-cell-expected.png:
      * platform/chromium-mac/fast/repaint/scroll-relative-table-inside-table-cell-expected.png:
      * platform/chromium-mac/fast/table/cell-pref-width-invalidation-expected.txt: Added.
      * platform/chromium-mac/tables/mozilla/bugs/bug2123-expected.png:
      * platform/chromium-mac/tables/mozilla/bugs/bug2123-expected.txt: Added.
      * platform/chromium-mac/tables/mozilla/bugs/bug2509-expected.png:
      * platform/chromium-mac/tables/mozilla/bugs/bug2509-expected.txt: Added.
      * platform/chromium-mac/tables/mozilla/bugs/bug34176-expected.png:
      * platform/chromium-mac/tables/mozilla/bugs/bug34176-expected.txt: Added.
      * platform/chromium-mac/tables/mozilla/bugs/bug44505-expected.png:
      * platform/chromium-mac/tables/mozilla/bugs/bug44505-expected.txt:
      * platform/chromium-mac/tables/mozilla_expected_failures/bugs/bug59252-expected.png:
      * platform/chromium-mac/tables/mozilla_expected_failures/bugs/bug59252-expected.txt: Added.
      * platform/chromium-mac/tables/mozilla_expected_failures/bugs/bug7243-expected.png:
      * platform/chromium-mac/tables/mozilla_expected_failures/bugs/bug7243-expected.txt: Added.
      * platform/chromium-win/fast/repaint/scroll-inside-table-cell-expected.png:
      * platform/chromium-win/fast/repaint/scroll-relative-table-inside-table-cell-expected.png:
      * platform/chromium-win/tables/mozilla/bugs/bug44505-expected.png:
      * platform/chromium-win/tables/mozilla/bugs/bug44505-expected.txt:
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6161ab73
    • jchaffraix@webkit.org's avatar
      Unreviewed build fix after r113486 and r113487. · b9b8f9a1
      jchaffraix@webkit.org authored
      * rendering/RenderObject.cpp:
      Added missing #include.
      
      * rendering/RenderView.h:
      Removed bad OVERRIDE.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9b8f9a1
    • bdakin@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=81939 · 0d89ea08
      bdakin@apple.com authored
      -webkit-image-set should update dynamically when the device scale factor 
      changes
      -and corresponding-
      <rdar://problem/11101108> 
      
      Reviewed by Darin Adler.
      
      Source/WebCore: 
      
      New member variable to keep track of the scale factor.
      * css/CSSImageSetValue.cpp:
      (WebCore::CSSImageSetValue::CSSImageSetValue):
      (WebCore::CSSImageSetValue::bestImageForScaleFactor):
      
       Merge the two cachedImageSet functions. There was no need for two functions here.
      (WebCore::CSSImageSetValue::cachedImageSet):
      
      cachedOrPendingImageSet() now takes a Document as a parameter so that it can 
      access the deviceScaleFactor. If there is a cached image already and the 
      Document's deviceScaleFactor doesn't match m_scaleFactor, then m_imageSet is set 
      to a pending image so that the best fit image will be reassessed and then 
      loaded.
      (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
      * css/CSSImageSetValue.h:
      (WebCore):
      (CSSImageSetValue):
      
      cachedOrPendingImageSet() now takes a Document.
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::collectMatchingRulesForList):
      
      StyleCachedImageSet should inherit from CachedImageClient just like 
      StyleCachedImage. It should add and remove itself as a client upon creation 
      and destruction, respectively.
      * rendering/style/StyleCachedImageSet.cpp:
      (WebCore::StyleCachedImageSet::StyleCachedImageSet):
      (WebCore):
      (WebCore::StyleCachedImageSet::~StyleCachedImageSet):
      * rendering/style/StyleCachedImageSet.h:
      (StyleCachedImageSet):
      
      LayoutTests: 
      
      * fast/hidpi/image-set-background-dynamic.html: Added.
      * fast/hidpi/image-set-border-image-dynamic.html: Added.
      * fast/hidpi/image-set-in-content-dynamic.html: Added.
      * platform/mac/fast/hidpi/image-set-background-dynamic-expected.png: Added.
      * platform/mac/fast/hidpi/image-set-background-dynamic-expected.txt: Added.
      * platform/mac/fast/hidpi/image-set-border-image-dynamic-expected.png: Added.
      * platform/mac/fast/hidpi/image-set-border-image-dynamic-expected.txt: Added.
      * platform/mac/fast/hidpi/image-set-in-content-dynamic-expected.png: Added.
      * platform/mac/fast/hidpi/image-set-in-content-dynamic-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d89ea08