1. 05 Apr, 2012 40 commits
    • oliver@apple.com's avatar
      Replace static_cast with jsCast when casting JSCell subclasses in JSC · 0c59caf6
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83307
      
      Reviewed by Gavin Barraclough.
      
      Replace all usage of static_cast<JSCell subtype*> with jsCast<> in JavaScriptCore.
      This results in assertions when unsafe casts are performed, but simply leaves
      a static_cast<> in release builds.
      
      * API/APICast.h:
      (toJS):
      * API/JSCallbackConstructor.cpp:
      (JSC::constructJSCallback):
      * API/JSCallbackFunction.cpp:
      (JSC::JSCallbackFunction::call):
      * API/JSCallbackObjectFunctions.h:
      (JSC::::asCallbackObject):
      (JSC::::finishCreation):
      (JSC::::construct):
      (JSC::::call):
      * API/JSObjectRef.cpp:
      (JSObjectGetPrivate):
      (JSObjectSetPrivate):
      (JSObjectGetPrivateProperty):
      (JSObjectSetPrivateProperty):
      (JSObjectDeletePrivateProperty):
      * API/JSValueRef.cpp:
      (JSValueIsObjectOfClass):
      * API/JSWeakObjectMapRefPrivate.cpp:
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::resolve):
      (JSC::BytecodeGenerator::resolveConstDecl):
      * debugger/DebuggerActivation.cpp:
      (JSC::DebuggerActivation::finishCreation):
      * dfg/DFGOperations.cpp:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::execute):
      (JSC::Interpreter::privateExecute):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * runtime/Executable.h:
      (JSC::isHostFunction):
      * runtime/JSActivation.h:
      (JSC::asActivation):
      * runtime/JSArray.cpp:
      (JSC::JSArray::defineOwnProperty):
      * runtime/JSArray.h:
      (JSC::asArray):
      * runtime/JSBoundFunction.cpp:
      (JSC::boundFunctionCall):
      (JSC::boundFunctionConstruct):
      * runtime/JSByteArray.h:
      (JSC::asByteArray):
      * runtime/JSCell.cpp:
      (JSC::JSCell::toObject):
      * runtime/JSCell.h:
      (JSC::jsCast):
      * runtime/JSGlobalObject.h:
      (JSC::asGlobalObject):
      * runtime/JSGlobalObjectFunctions.cpp:
      (JSC::globalFuncEval):
      * runtime/JSObject.cpp:
      (JSC::JSObject::setPrototypeWithCycleCheck):
      (JSC::JSObject::allowsAccessFrom):
      (JSC::JSObject::toThisObject):
      (JSC::JSObject::unwrappedObject):
      * runtime/JSObject.h:
      (JSC::asObject):
      * runtime/JSPropertyNameIterator.h:
      (JSC::Register::propertyNameIterator):
      * runtime/JSString.h:
      (JSC::asString):
      (JSC::JSValue::toString):
      * runtime/StringPrototype.cpp:
      (JSC::stringProtoFuncSubstr):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c59caf6
    • schenney@chromium.org's avatar
      [Chromium] Layout Test svg/as-object/nested-embedded-svg-size-changes.html times out · f133627c
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77183
      
      Unreviewed Chromium test expectations update.
      
      Somehow this test slipped thorugh the crack of rebaselining.
      
      * platform/chromium-linux-x86/svg/as-object/nested-embedded-svg-size-changes-expected.png: Removed.
      * platform/chromium-linux/svg/as-object/nested-embedded-svg-size-changes-expected.png:
      * platform/chromium-mac-leopard/svg/as-object/nested-embedded-svg-size-changes-expected.png:
      * platform/chromium-mac-snowleopard/svg/as-object/nested-embedded-svg-size-changes-expected.png: Added.
      * platform/chromium-mac/svg/as-object/nested-embedded-svg-size-changes-expected.png: Modified property svn:mime-type.
      * platform/chromium-win-vista/svg/as-object/nested-embedded-svg-size-changes-expected.png: Removed.
      * platform/chromium-win-xp/svg/as-object/nested-embedded-svg-size-changes-expected.png: Removed.
      * platform/chromium-win/svg/as-object/nested-embedded-svg-size-changes-expected.png:
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f133627c
    • paroga@webkit.org's avatar
      [Qt] Correct <wtf/*.h> include paths. · ffe69374
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83270
      
      Reviewed by Eric Seidel.
      
      Modify the #include declerations so that the
      wtf types are included using the full path.
      
      Source/WebCore:
      
      * platform/graphics/TiledBackingStoreBackend.h:
      
      Source/WebKit/qt:
      
      * Api/qwebpage.cpp:
      * WebCoreSupport/ContextMenuClientQt.h:
      * WebCoreSupport/EditorClientQt.h:
      * WebCoreSupport/FrameLoaderClientQt.h:
      * WebCoreSupport/InspectorServerQt.cpp:
      
      Source/WebKit2:
      
      * Shared/qt/QtNetworkReplyData.cpp:
      * UIProcess/WebLayerTreeRenderer.cpp:
      * UIProcess/qt/LayerBackingStore.h:
      * UIProcess/qt/QtViewportInteractionEngine.cpp:
      * UIProcess/qt/QtViewportInteractionEngine.h:
      * UIProcess/qt/QtWebPageSGNode.h:
      * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
      
      Tools:
      
      * WebKitTestRunner/qt/TestInvocationQt.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffe69374
    • schenney@chromium.org's avatar
      Switch svg/custom tests to repaint harness · 6cce56b9
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78115
      
      Unreviewed Chromium expectations update.
      
      Somehow this file was not correctly rebaselined when the original change was made.
      
      * platform/chromium-linux/svg/custom/repaint-on-constant-size-change-expected.png: Removed.
      * platform/chromium-win/svg/custom/repaint-on-constant-size-change-expected.png: Modified property svn:mime-type.
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6cce56b9
    • tonikitoo@webkit.org's avatar
      2012-04-05 Antonio Gomes <agomes@rim.com> · a8262df2
      tonikitoo@webkit.org authored
              Unreviewed bit left over from rebasing the origin patch before landing it.
      
              Complementary to r113329.
      
              * rendering/HitTestResult.cpp:
              (WebCore::HitTestResult::operator=):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8262df2
    • commit-queue@webkit.org's avatar
      [chromium] Cleanup test, redundant code in CCSchedulerTest.NoBeginFrameWhenDrawFails · 90563a55
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83300
      
      Patch by Dana Jansens <danakj@chromium.org> on 2012-04-05
      Reviewed by Adrienne Walker.
      
      * tests/CCSchedulerTest.cpp:
      (WebKitTests::TEST):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113357 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90563a55
    • rniwa@webkit.org's avatar
      perf-o-matic should include unit in runs JSON responses · 29e3bcee
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83294
      
      Reviewed by Tony Chang.
      
      This is a follow up to r112829. Report the unit in /api/test/runs so that the frontend can show it.
      Fixed a bug in Test.update_or_insert that it didn't store the unit when it first created the Test object.
      
      Also increment perf-o-matic's version to 18.
      
      * Websites/webkit-perf.appspot.com/app.yaml: Incremented the version.
      * Websites/webkit-perf.appspot.com/models.py:
      (Test.update_or_insert.execute): Store unit when creating a test.
      (Runs.to_json): Include unit.
      * Websites/webkit-perf.appspot.com/models_unittest.py: Added tests.
      (TestModelTests.test_update_or_insert_with_unit):
      (RunsTest.test_to_json_without_results):
      (RunsTest.test_to_json_with_results):
      (RunsTest.test_to_json_with_unit):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29e3bcee
    • benjamin@webkit.org's avatar
      Make something faster than JSStringBuilder for joining an array of JSValue · 7be398bf
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83180
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-05
      Reviewed by Geoffrey Garen.
      
      This patch add the class JSStringJoiner optimized for join() operations.
      
      This class makes stricter constraints than JSStringBuilder in order avoid
      memory allocations.
      
      In the best case, the class allocate memory only twice:
      -Allocate an array to keep a list of UString to join.
      -Allocate the final string.
      
      We also avoid the conversion from 8bits strings to 16bits strings since
      they are costly and unlikly to help for subsequent calls.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.gypi:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncToLocaleString):
      (JSC::arrayProtoFuncJoin):
      * runtime/JSStringJoiner.cpp: Added.
      (JSC):
      (JSC::appendStringToData):
      (JSC::joinStrings):
      (JSC::JSStringJoiner::build):
      * runtime/JSStringJoiner.h: Added.
      (JSC):
      (JSStringJoiner):
      (JSC::JSStringJoiner::JSStringJoiner):
      (JSC::JSStringJoiner::append):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7be398bf
    • tony@chromium.org's avatar
      [chromium] Unreviewed, widen the suppression for · 93facc8b
      tony@chromium.org authored
      http/tests/multipart/policy-ignore-crash.php-- it is flakey on win debug too.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93facc8b
    • schenney@chromium.org's avatar
      [Chromium] LayoutTest failures/flaky for svg/as-background-image · 3d8f1d11
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83303
      
      Unreviewed Chromium test expectations rationalization.
      
      Apparently the efl port results match Chromium.
      
      * platform/chromium-win-vista/svg/as-background-image: Removed.
      * platform/chromium-win-vista/svg/as-background-image/svg-as-background-1-expected.png: Removed.
      * platform/chromium-win-vista/svg/as-background-image/svg-as-background-3-expected.png: Removed.
      * platform/chromium-win/svg/as-background-image/svg-as-background-1-expected.png:
      * platform/chromium-win/svg/as-background-image/svg-as-background-3-expected.png:
      * platform/chromium/test_expectations.txt:
      * platform/efl/svg/as-background-image/svg-as-background-1-expected.txt: Removed.
      * platform/efl/svg/as-background-image/svg-as-background-3-expected.txt: Removed.
      * svg/as-background-image/svg-as-background-1-expected.txt: Added.
      * svg/as-background-image/svg-as-background-3-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d8f1d11
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=77293 · 61c3834a
      barraclough@apple.com authored
      [Un]Reserve 'let'
      
      Rubber stamped by Oliver Hunt.
      
      Revert r106198.
      This does break the web - e.g. https://bvi.bnc.ca/index/bnc/indexen.html
      If we're going to reserve let, we're going to have to do so in a more
      circumspect fashion.
      
      Source/JavaScriptCore: 
      
      * parser/Keywords.table:
      
      LayoutTests: 
      
      * fast/js/keywords-and-reserved_words-expected.txt:
      * fast/js/reserved-words-as-property-expected.txt:
      * fast/js/reserved-words-strict-expected.txt:
      * fast/js/script-tests/keywords-and-reserved_words.js:
      * fast/js/script-tests/reserved-words-as-property.js:
      * fast/js/script-tests/reserved-words-strict.js:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      61c3834a
    • arv@chromium.org's avatar
      HTMLSelectElement does not have a getter for namedItem. This fixes the invalid test · 814b4859
      arv@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83289
      
      Reviewed by Ryosuke Niwa.
      
      http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-select-element
      
      * fast/dom/HTMLSelectElement/named-options-expected.txt:
      * fast/dom/HTMLSelectElement/script-tests/named-options.js:
      * platform/chromium-mac/fast/dom/HTMLSelectElement/named-options-expected.txt: Removed.
      * platform/chromium-win/fast/dom/HTMLSelectElement/named-options-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      814b4859
    • zmo@google.com's avatar
      Unreviewed, rolling out r113241. · 3980a5d1
      zmo@google.com authored
      http://trac.webkit.org/changeset/113241
      https://bugs.webkit.org/show_bug.cgi?id=83293
      
      Requested by sievers@chromium.org (Requested by zhenyao on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-05
      
      Source/WebCore: 
      
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
      (WebCore::CCLayerTreeHostImpl::canDraw):
      (WebCore::CCLayerTreeHostImpl::prepareToDraw):
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
      (CCLayerTreeHostImpl):
      * platform/graphics/chromium/cc/CCThreadProxy.cpp:
      (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
      
      Source/WebKit/chromium: 
      
      * tests/CCLayerTreeHostImplTest.cpp:
      (WebKitTests::TEST_F):
      * tests/CCLayerTreeHostTest.cpp:
      (WTF::CCLayerTreeHostTest::doBeginTest):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113350 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3980a5d1
    • dglazkov@chromium.org's avatar
      [Chromium] Fixed incorrect expectations for fonts/cursive.html. · f7221a60
      dglazkov@chromium.org authored
      * platform/chromium/test_expectations.txt: Fixed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f7221a60
    • jpu@apple.com's avatar
      Fixing build failure on SnowLeopard caused by changeset 113340. · 79c941ca
      jpu@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      79c941ca
    • shawnsingh@chromium.org's avatar
      Unreviewed, rolling out r113341. · 81e24c11
      shawnsingh@chromium.org authored
      http://trac.webkit.org/changeset/113341
      https://bugs.webkit.org/show_bug.cgi?id=83299
      
      bots caught some build errors (Requested by shawnsingh on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-05
      
      Source/WebCore:
      
      * WebCore.gypi:
      * platform/graphics/chromium/LayerRendererChromium.cpp:
      (WebCore::findTileProgramUniforms):
      (WebCore::LayerRendererChromium::drawTileQuad):
      * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
      (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
      (WebCore::isScaleOrTranslation):
      (WebCore::calculateDrawTransformsAndVisibilityInternal):
      * platform/graphics/chromium/cc/CCMathUtil.cpp: Removed.
      * platform/graphics/chromium/cc/CCMathUtil.h: Removed.
      * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
      (WebCore::projectQuad):
      (WebCore):
      (WebCore::computeUnoccludedContentRect):
      
      Source/WebKit/chromium:
      
      * tests/CCLayerTreeHostCommonTest.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81e24c11
    • commit-queue@webkit.org's avatar
      [chromium] Race condition in CCLayerTreeHostTestSynchronizeAnimationStartTimes · 77ee9c0d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83179
      
      Patch by Ian Vollick <vollick@chromium.org> on 2012-04-05
      Reviewed by James Robinson.
      
      * tests/CCLayerTreeHostTest.cpp:
      (WTF::TestHooks::willAnimateLayers):
      (WTF::MockLayerTreeHostImpl::animateLayers):
      (WTF::CCLayerTreeHostTestSynchronizeAnimationStartTimes::CCLayerTreeHostTestSynchronizeAnimationStartTimes):
      (CCLayerTreeHostTestSynchronizeAnimationStartTimes):
      (WTF::CCLayerTreeHostTestSynchronizeAnimationStartTimes::willAnimateLayers):
      (WTF::CCLayerTreeHostTestSynchronizeAnimationStartTimes::notifyAnimationStarted):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77ee9c0d
    • commit-queue@webkit.org's avatar
      [Chromium] With the skia port, setting LCD text filtering is causing · bfced254
      commit-queue@webkit.org authored
      texture cache invalidations of gpu canvas backing store
      https://bugs.webkit.org/show_bug.cgi?id=74183
      
      Patch by Justin Novosad <junov@chromium.org> on 2012-04-05
      Reviewed by Stephen White.
      
      Source/WebCore:
      
      Replacing unnecessary usage of SkCanvas::LayerIter with calls to
      SkCanvas::isDrawingToLayer(). Same results, lower overhead, and no
      GPU texture invalidation.
      
      * platform/graphics/chromium/FontChromiumWin.cpp:
      (WebCore):
      (WebCore::TransparencyAwareFontPainter::initializeForGDI):
      * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
      (WebCore):
      (WebCore::adjustTextRenderMode):
      * platform/graphics/skia/FontSkia.cpp:
      (WebCore):
      (WebCore::adjustTextRenderMode):
      * platform/graphics/skia/SkiaFontWin.cpp:
      (WebCore):
      (WebCore::disableTextLCD):
      * rendering/RenderThemeChromiumWin.cpp:
      (WebCore):
      
      Source/WebKit/chromium:
      
      Replacing unnecessary usage of SkCanvas::LayerIter with call to
      SkCanvas::isDrawingToLayer(). Same results, lower overhead, and no
      GPU texture invalidation.
      
      * src/WebFontImpl.cpp:
      (WebKit::WebFontImpl::drawText):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfced254
    • commit-queue@webkit.org's avatar
      [Chromium] Properly align members in WebInputEvent and subclasses to make Valgrind happy. · 5a7be9e4
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=81570
      
      Patch by Lei Zhang <thestig@chromium.org> on 2012-04-05
      Reviewed by Darin Fisher.
      
      * public/WebInputEvent.h:
      (WebKit):
      (WebKit::WebInputEvent::WebInputEvent):
      (WebKeyboardEvent):
      (WebKit::WebTouchEvent::WebTouchEvent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a7be9e4
    • commit-queue@webkit.org's avatar
      media/track/track-webvtt-tc004-magic-header.html flakily times out · 584660f2
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=72279
      
      Source/WebCore:
      
      Patch by Zan Dobersek <zandobersek@gmail.com> on 2012-04-05
      Reviewed by Eric Carlson.
      
      Move all the checking for the WebVTT file identifier from TextTrackLoader
      to WebVTTParser, notifying the parser clients of parsing failures through
      a new method. Remove the WebVTTParser::fileIdentifierMaximumLength method
      and make WebVTTParser::hasRequiredFileIdentifier private. The latter now
      operates on a vector holding the identifier data to which data is added
      until there's enough of it to possibly hold the optional BOM character
      and the required WEBVTT character sequence.
      
      No new tests. Fixes an existing test.
      
      * html/track/WebVTTParser.cpp: Fix a typo throughout the file:
      fileIdentiferLength -> fileIdentifierLength
      (WebCore):
      (WebCore::WebVTTParser::parseBytes): Only continue with searcing for
      the WEBVTT identifier if there's enough data to possibly contain the
      identifier. Report that the file failed to parse if the identifier
      was then not found.
      (WebCore::WebVTTParser::hasRequiredFileIdentifier): Refactor to operate
      on the vector containing identifier data and merge with the
      hasLongWebVTTIdentifier function.
      * html/track/WebVTTParser.h:
      (WebVTTParserClient): Add a new method.
      (WebVTTParser):
      * loader/TextTrackLoader.cpp:
      (WebCore::TextTrackLoader::processNewCueData): Parser is now created
      immediately regardless of the mime type the response holds.
      (WebCore::TextTrackLoader::fileFailedToParse): Log the error, set the
      state to failed, start the cue load timer and cancel the load if the file
      was not parsed successfully.
      (WebCore):
      * loader/TextTrackLoader.h:
      (TextTrackLoader):
      
      LayoutTests:
      
      Remove the test from test expectations file as it should now pass.
      
      Patch by Zan Dobersek <zandobersek@gmail.com> on 2012-04-05
      Reviewed by Eric Carlson.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      584660f2
    • shawnsingh@chromium.org's avatar
      [chromium] Need to clip to homogeneous w=0 plane when applying transforms. · 4ae6cabc
      shawnsingh@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=80806
      
      Reviewed by Adrienne Walker.
      
      Source/WebCore:
      
      Unit tests added to CCLayerTreeHostCommon. This change is also
      covered by other existing unit tests and layout tests.
      
      WebCore TransformationMatrix mapRect / mapQuad / projectQuad do
      not properly handle the case where a surface is oriented partially
      behind the camera, with a perspective projection. In this case,
      projected points may appear to be valid in cartesian coordinates,
      but they are indeed not valid, and this problem can only be
      detected in homogeneous coordinates after applying the transform,
      before the divide-by-w step.
      
      The correct solution is to clip geometry where w < 0. This patch
      makes this change local to chromium only, to fix rendering bugs
      that arise from this problem. The primary fix is to correct
      calculateVisibleLayerRect(), but other ancillary locations are
      also fixed, in particular, the antialiasing code path is simply
      skipped when this case arises.
      
      Eventually this math needs to be merged into TransformationMatrix,
      to fix hit-testing bugs that occur in both Chromium and Safari.
      
      * WebCore.gypi:
      * platform/graphics/chromium/LayerRendererChromium.cpp:
      (WebCore::findTileProgramUniforms):
      (WebCore::LayerRendererChromium::drawTileQuad):
      * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
      (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
      (WebCore::isScaleOrTranslation):
      (WebCore::calculateDrawTransformsAndVisibilityInternal):
      * platform/graphics/chromium/cc/CCMathUtil.cpp: Added.
      (WebCore):
      (WebCore::HomogeneousCoordinate::HomogeneousCoordinate):
      (HomogeneousCoordinate):
      (WebCore::HomogeneousCoordinate::shouldBeClipped):
      (WebCore::HomogeneousCoordinate::cartesianPoint2d):
      (WebCore::projectPoint):
      (WebCore::mapPoint):
      (WebCore::computeClippedPointForEdge):
      (WebCore::expandBoundsToIncludePoint):
      (WebCore::computeEnclosingRectOfClippedQuad):
      (WebCore::computeEnclosingRect):
      (WebCore::CCMathUtil::mapClippedRect):
      (WebCore::CCMathUtil::projectClippedRect):
      (WebCore::CCMathUtil::mapQuad):
      (WebCore::CCMathUtil::projectQuad):
      * platform/graphics/chromium/cc/CCMathUtil.h: Added.
      (WebCore):
      (CCMathUtil):
      * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
      (WebCore::computeUnoccludedContentRect):
      
      Source/WebKit/chromium:
      
      * tests/CCLayerTreeHostCommonTest.cpp:
      (WebKitTests::TEST):
      (WebKitTests):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113341 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ae6cabc
    • jpu@apple.com's avatar
      2012-04-05 Jia Pu <jpu@apple.com> · 8d2f68b0
      jpu@apple.com authored
              Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
              https://bugs.webkit.org/show_bug.cgi?id=82970
      
              Reviewed by Enrica Casucci.
      
              Move correction panel related functions from WebEditorClient to the new WebAlternativeTextClient.
              See WebCore/ChangeLog for details.
      
              * UIProcess/API/gtk/PageClientImpl.cpp:
              * UIProcess/API/mac/PageClientImpl.h:
              (PageClientImpl):
              * UIProcess/API/mac/PageClientImpl.mm:
              (WebKit::PageClientImpl::recordAutocorrectionResponse):
              * UIProcess/API/qt/qquickwebview.cpp:
              * UIProcess/PageClient.h:
              (PageClient):
              * UIProcess/WebPageProxy.cpp:
              (WebKit::WebPageProxy::recordAutocorrectionResponse):
              * UIProcess/mac/CorrectionPanel.h:
              * UIProcess/mac/CorrectionPanel.mm:
              * WebKit2.xcodeproj/project.pbxproj:
              * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: Added.
              (WebKit):
              (WebKit::WebAlternativeTextClient::WebAlternativeTextClient):
              (WebKit::WebAlternativeTextClient::~WebAlternativeTextClient):
              (WebKit::WebAlternativeTextClient::showCorrectionAlternative):
              (WebKit::WebAlternativeTextClient::dismissAlternative):
              (WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
              (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
              * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Added.
              (WebKit):
              (WebAlternativeTextClient):
              * WebProcess/WebCoreSupport/WebEditorClient.h:
              * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
              (WebKit):
              * WebProcess/WebPage/WebPage.cpp:
              (WebKit::WebPage::WebPage):
      
      2012-04-05  Jia Pu  <jpu@apple.com>
      
              Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
              https://bugs.webkit.org/show_bug.cgi?id=82970
      
              Reviewed by Enrica Casucci.
      
              Move correction panel related functions from WebEditorClient to the new WebAlternativeTextClient.
              See WebCore/ChangeLog for details.
      
              * WebCoreSupport/CorrectionPanel.h:
              * WebCoreSupport/CorrectionPanel.mm:
              * WebCoreSupport/WebAlternativeTextClient.h: Added.
              (WebAlternativeTextClient):
              * WebCoreSupport/WebAlternativeTextClient.mm: Added.
              (WebAlternativeTextClient::WebAlternativeTextClient):
              (WebAlternativeTextClient::~WebAlternativeTextClient):
              (WebAlternativeTextClient::showCorrectionAlternative):
              (WebAlternativeTextClient::dismissAlternative):
              (WebAlternativeTextClient::dismissAlternativeSoon):
              (WebAlternativeTextClient::recordAutocorrectionResponse):
              * WebCoreSupport/WebEditorClient.h:
              * WebCoreSupport/WebEditorClient.mm:
              (WebEditorClient::~WebEditorClient):
              * WebView/WebView.mm:
              (-[WebView _commonInitializationWithFrameName:groupName:]):
      
      2012-04-05  Jia Pu  <jpu@apple.com>
      
              Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
              https://bugs.webkit.org/show_bug.cgi?id=82970
      
              Reviewed by Enrica Casucci.
      
              See WebCore/ChangeLog for details.
      
              * WebKit.xcodeproj/project.pbxproj:
      
      2012-04-05  Jia Pu  <jpu@apple.com>
      
              Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
              https://bugs.webkit.org/show_bug.cgi?id=82970
      
              Reviewed by Enrica Casucci.
      
              No new tests, since there's no change of functionality.
      
              The existing correction panel related functions in EditorClient are currently used only by OS X.
              We'd like to move them into separate AlternativeTextClient class to avoid using #ifdef's. This
              new client class will also hold dictation alternative related interface that we will add soon for
              bug 82503.
      
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * editing/AlternativeTextController.cpp: Changes in this file are all for calling functions in
                AlternativeTextClient instead of those in EditoClient.
              (WebCore::AlternativeTextController::show):
              (WebCore::AlternativeTextController::dismiss):
              (WebCore::AlternativeTextController::dismissSoon):
              (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
              (WebCore::AlternativeTextController::timerFired):
              (WebCore::AlternativeTextController::isAutomaticSpellingCorrectionEnabled):
              (WebCore::AlternativeTextController::alternativeTextClient):
              (WebCore):
              (WebCore::AlternativeTextController::editorClient):
              (WebCore::AlternativeTextController::textChecker):
              (WebCore::AlternativeTextController::recordAutocorrectionResponseReversed):
              (WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
              * editing/AlternativeTextController.h:
              (WebCore):
              (AlternativeTextController):
              * editing/TextCheckingHelper.h:
              (WebCore):
              * loader/EmptyClients.h:
              (EmptyEditorClient):
              * page/AlternativeTextClient.h: Added.
              (WebCore):
              (AlternativeTextClient):
              (WebCore::AlternativeTextClient::~AlternativeTextClient):
              * page/EditorClient.h:
              (EditorClient):
              * page/Page.cpp:
              (WebCore::Page::Page):
              (WebCore::Page::PageClients::PageClients):
              * page/Page.h:
              (WebCore):
              (PageClients):
              (Page):
              (WebCore::Page::alternativeTextClient):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d2f68b0
    • commit-queue@webkit.org's avatar
      gtk_unittest.GtkPortTest.test_get_crash_log failing on windows · c369e665
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83176
      
      Patch by Philippe Normand <pnormand@igalia.com> on 2012-04-05
      Reviewed by Tony Chang.
      
      Refactored the test to use os.path.join() to specify the
      core_pattern value of the empty crash log mock.
      
      * Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
      (GtkPortTest):
      (GtkPortTest.assertLinesEqual):
      (GtkPortTest.test_get_crash_log):
      (_mock_gdb_output):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c369e665
    • dglazkov@chromium.org's avatar
      Marked storage/indexeddb/basics-workers.html as flaky across all platforms in DEBUG · 9e389bd8
      dglazkov@chromium.org authored
      * platform/chromium/test_expectations.txt: Marked.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e389bd8
    • commit-queue@webkit.org's avatar
      Fix fullscreen video button for android · 86eda28a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83087
      
      Patch by Min Qin <qinmin@google.com> on 2012-04-05
      Reviewed by Dimitri Glazkov.
      
      https://bugs.webkit.org/show_bug.cgi?id=70437 changed css keyword for fullscreen video button.
      It is changed from media-fullscreen-button to media-enter-fullscreen-button.
      However, it does not change the value in mediaControlChromiumAndroid.css.
      No behavior change.
      
      * css/mediaControlsChromiumAndroid.css:
      (video::-webkit-media-controls-fullscreen-button):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      86eda28a
    • pfeldman@chromium.org's avatar
      Web Inspector: CSS file revisions are not restored upon front-end reopen. · 7df79074
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83292
      
      Reviewed by Yury Semikhatsky.
      
      Populating suggestions before the panel creation now.
      
      * inspector/front-end/inspector.js:
      (WebInspector._doLoadedDoneWithCapabilities.get if):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7df79074
    • simon.fraser@apple.com's avatar
      Add assertions to check for mutation of RenderLayer z-order lists during enumeration · 5ae5216e
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83242
      
      Reviewed by James Robinson.
      
      Add debug-only code that detects whether RenderLayer's z-order and
      normal flow lists are being cleared or otherwise mutated while we're
      enumerating over them.
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::RenderLayer):
      (WebCore::RenderLayer::paintList):
      (WebCore::RenderLayer::calculateLayerBounds):
      (WebCore::RenderLayer::dirtyZOrderLists):
      (WebCore::RenderLayer::dirtyNormalFlowList):
      (WebCore::RenderLayer::updateZOrderListsSlowCase):
      (WebCore::RenderLayer::updateNormalFlowList):
      * rendering/RenderLayer.h:
      (RenderLayer):
      (WebCore::RenderLayer::layerListMutationAllowed):
      (WebCore::RenderLayer::setLayerListMutationAllowed):
      (WebCore):
      (LayerListMutationDetector):
      (WebCore::LayerListMutationDetector::LayerListMutationDetector):
      (WebCore::LayerListMutationDetector::~LayerListMutationDetector):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
      (WebCore::RenderLayerCompositor::computeCompositingRequirements):
      (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
      (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
      (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
      (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
      (WebCore::RenderLayerCompositor::layerHas3DContent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ae5216e
    • zmo@google.com's avatar
      Unreviewed, rolling out r113254. · b0b00dc8
      zmo@google.com authored
      http://trac.webkit.org/changeset/113254
      https://bugs.webkit.org/show_bug.cgi?id=83291
      
      Requested by sievers@chromium.org (Requested by zhenyao on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-05
      
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
      (WebCore::CCLayerTreeHostImpl::canDraw):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b0b00dc8
    • msaboff@apple.com's avatar
      Rolling out http://trac.webkit.org/changeset/113262. · 23e09d49
      msaboff@apple.com authored
      Original code was fine.
      
      Rubber-stamped by Oliver Hunt.
      
      * assembler/MacroAssembler.h:
      (JSC::MacroAssembler::additionBlindedConstant):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23e09d49
    • zmo@google.com's avatar
      Unreviewed, rolling out r113307. · 0ab734fc
      zmo@google.com authored
      http://trac.webkit.org/changeset/113307
      https://bugs.webkit.org/show_bug.cgi?id=83288
      
      Requested by sievers@chromium.org (Requested by zhenyao on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-05
      
      Source/WebCore: 
      
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
      (WebCore::CCLayerTreeHostImpl::canDraw):
      
      Source/WebKit/chromium: 
      
      * tests/CCLayerTreeHostTest.cpp:
      (WTF::TEST_F):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0ab734fc
    • tony@chromium.org's avatar
      [chromium] Unreviewed gardening. · b7637ac8
      tony@chromium.org authored
      fast/events/click-focus-anchor.html is flakey in debug
      fast/filesystem/file-writer-abort-continue.html is hitting an assert.
      
      * platform/chromium-mac-leopard/svg/css/getComputedStyle-basic-expected.txt:
      * platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt: Removed.
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7637ac8
    • ossy@webkit.org's avatar
      [Qt] Fix includes after QtDeclarative -> QtQML renaming · 8194eebc
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=82195
      
      Relanding r112651, because Qt5 is updated everywhere.
      
      Source/WebKit/qt:
      
      * declarative/experimental/plugin.cpp:
      * declarative/plugin.cpp:
      (WebKitQmlPlugin::initializeEngine):
      
      Source/WebKit2:
      
      * UIProcess/API/qt/qquicknetworkreply_p.h:
      * UIProcess/API/qt/qquicknetworkrequest_p.h:
      * UIProcess/API/qt/qquickwebview.cpp:
      * UIProcess/API/qt/qquickwebview_p.h:
      * UIProcess/API/qt/qwebiconimageprovider_p.h:
      * UIProcess/API/qt/qwebnavigationhistory.cpp:
      * UIProcess/API/qt/qwebnavigationhistory_p.h:
      * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
      * UIProcess/qt/QtDialogRunner.cpp:
      (QtDialogRunner::initForAlert):
      (QtDialogRunner::initForConfirm):
      (QtDialogRunner::initForPrompt):
      (QtDialogRunner::initForAuthentication):
      (QtDialogRunner::initForProxyAuthentication):
      (QtDialogRunner::initForCertificateVerification):
      (QtDialogRunner::initForFilePicker):
      (QtDialogRunner::initForDatabaseQuotaDialog):
      (QtDialogRunner::createDialog):
      * UIProcess/qt/WebPopupMenuProxyQt.cpp:
      (WebKit::WebPopupMenuProxyQt::createItem):
      (WebKit::WebPopupMenuProxyQt::createContext):
      
      Tools:
      
      * MiniBrowser/qt/BrowserWindow.cpp:
      (BrowserWindow::updateVisualMockTouchPoints):
      * MiniBrowser/qt/main.cpp:
      * WebKitTestRunner/qt/PlatformWebViewQt.cpp:
      (WTR::WrapperWindow::handleStatusChanged):
      * qmake/mkspecs/features/unix/default_post.prf:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8194eebc
    • tonikitoo@webkit.org's avatar
      Extend HitTestResult to support not "discarding" shadow content in favor of its DOM ancestor · 2832cf7f
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=80847
      
      Reviewed by David Hyatt.
      Patch by Antonio Gomes <agomes@rim.com>
      
      .:
      
      Exporting Internals::nodesFromRect symbols for the Gtk build.
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      In order to improve touch precision on shadow tree content, patch
      extends the rect-hittest'ing system to allow shadow content
      to be stored as the rect-hittest result node list.
      
      Primary use cases are for this extension is making it easier to
      improve the clickability of default controls of <video> and <audio>
      elements.
      
      For the callee site, the use is simple: if shadow content in the rect-hittest
      result is desired, just add an extra 'AllowShadowContent' parameter at the creation
      of the HitTestResult object.
      
      Test: fast/dom/nodesFromRect-shadowContent.html
      
      * dom/Document.cpp:
      (WebCore::Document::nodesFromRect):
      * dom/Document.h:
      (Document):
      * page/EventHandler.cpp:
      (WebCore::EventHandler::hitTestResultAtPoint):
      * rendering/HitTestResult.cpp:
      (WebCore::HitTestResult::HitTestResult):
      (WebCore::HitTestResult::addNodeToRectBasedTestResult):
      * rendering/HitTestResult.h:
      (HitTestResult):
      (WebCore::HitTestResult::shadowContentFilterPolicy):
      * rendering/RenderImage.cpp:
      (WebCore::RenderImage::nodeAtPoint):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::hitTestLayer):
      (WebCore::RenderLayer::hitTestList):
      * testing/Internals.cpp:
      (WebCore::Internals::nodesFromRect):
      * testing/Internals.h:
      (Internals):
      * testing/Internals.idl:
      
      LayoutTests:
      
      Adds a test that rect-hittest's a element known to have a shadow
      tree (<video> with built-in controls), and check if its return type
      contains its clickable shadow nodes.
      
      * fast/dom/nodesFromRect-shadowContent-expected.txt: Added.
      * fast/dom/nodesFromRect-shadowContent.html: Added.
      * fast/dom/resources/nodesFromRect.js:
      (check):
      (checkShadowContent):
      
      Conflicts:
      
      	Source/WebCore/page/FrameView.cpp
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2832cf7f
    • commit-queue@webkit.org's avatar
      Rename CSS Exclusions "rect" value to "rectangle" · 76841ae7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=82367
      
      Patch by Hans Muller <hmuller@adobe.com> on 2012-04-05
      Reviewed by Ryosuke Niwa.
      
      Changed the CSS exclusion shape called "rect" to "rectangle" to match
      the current draft spec - http://dev.w3.org/csswg/css3-exclusions.
      
      Source/WebCore:
      
      The meeting minutes where the decision to rename the exclusion "rect" function
      to "rectangle" are: http://lists.w3.org/Archives/Public/www-style/2012Feb/0325.html
      
      No new tests were created; just updated the existing ones.
      
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseWrapShapeRectangle):
      (WebCore::CSSParser::parseWrapShape):
      * css/CSSParser.h:
      * css/CSSWrapShapes.cpp:
      (WebCore::CSSWrapShapeRectangle::cssText):
      * css/CSSWrapShapes.h:
      (WebCore::CSSWrapShapeRectangle::create):
      (WebCore::CSSWrapShapeRectangle::type):
      (WebCore::CSSWrapShapeRectangle::CSSWrapShapeRectangle):
      
      LayoutTests:
      
      * fast/exclusions/parsing-wrap-shape-inside-expected.txt:
      * fast/exclusions/parsing-wrap-shape-outside-expected.txt:
      * fast/exclusions/script-tests/parsing-wrap-shape-inside.js:
      * fast/exclusions/script-tests/parsing-wrap-shape-outside.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76841ae7
    • dglazkov@chromium.org's avatar
      [Chromium] Marked fast/filesystem/file-writer-abort-continue.html as flaky crash · 166542c5
      dglazkov@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83286
      
      * platform/chromium/test_expectations.txt: Marked.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      166542c5
    • commit-queue@webkit.org's avatar
      [BlackBerry] Disable paintingGoesToWindow() for the root layer when forced... · 3c453c44
      commit-queue@webkit.org authored
      [BlackBerry] Disable paintingGoesToWindow() for the root layer when forced compositing mode is active
      https://bugs.webkit.org/show_bug.cgi?id=83127
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-04-05
      Reviewed by Rob Buis.
      
      RIM PR: 136381
      The BlackBerry port will use accelerated compositing code path to
      render the root layer in some situations.
      
      The plan is to do this by activating the "force compositing mode"
      setting, but that in itself doesn't get us all the way, since painting
      will still go to window for the root layer.
      
      Fixed by adding a special clause in
      RenderLayerBacking::paintingGoesToWindow() for PLATFORM(BLACKBERRY).
      
      No new tests, this is currently not testable with the BlackBerry WebKit
      testing infrastructure.
      
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::paintingGoesToWindow):
      * rendering/RenderLayerCompositor.h:
      (RenderLayerCompositor):
      (WebCore::RenderLayerCompositor::inForcedCompositingMode): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3c453c44
    • commit-queue@webkit.org's avatar
      [BlackBerry] Force compositing mode when backing store is not active · 855f1729
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83131
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-04-05
      Reviewed by George Staikos.
      
      RIM PR: 136381
      Normally, the BlackBerry WebKit port resorts to direct rendering when
      the backing store is not active. However, direct rendering is broken
      with the OpenGL code path. This prevented multiple web pages from being
      displayed at once with the new WebPageCompositor API.
      
      Fixed by using accelerated compositing layer to render the root layer
      instead of backing store. This will give us a tiled layer backing the
      root layer, which for some use cases is even better than direct
      rendering.
      
      Reviewed internally by Filip Spacek.
      
      * Api/BackingStore.cpp:
      (BlackBerry::WebKit::BackingStorePrivate::shouldDirectRenderingToWindow):
      (BlackBerry::WebKit::BackingStorePrivate::blitContents):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::setLoadState):
      (BlackBerry::WebKit::WebPage::setVisible):
      (BlackBerry::WebKit::WebPagePrivate::suspendBackingStore):
      (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
      (BlackBerry::WebKit::WebPagePrivate::compositorDrawsRootLayer):
      (WebKit):
      (BlackBerry::WebKit::WebPagePrivate::setCompositorDrawsRootLayer):
      (BlackBerry::WebKit::WebPagePrivate::drawLayersOnCommit):
      (BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
      (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
      (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
      (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
      (BlackBerry::WebKit::WebPagePrivate::setRootLayerCompositingThread):
      (BlackBerry::WebKit::WebPagePrivate::createCompositor):
      (BlackBerry::WebKit::WebPagePrivate::suspendRootLayerCommit):
      (BlackBerry::WebKit::WebPagePrivate::setNeedsOneShotDrawingSynchronization):
      * Api/WebPageCompositor.cpp:
      (BlackBerry::WebKit::WebPageCompositorPrivate::WebPageCompositorPrivate):
      (BlackBerry::WebKit::WebPageCompositorPrivate::drawsRootLayer):
      (WebKit):
      (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
      * Api/WebPageCompositor_p.h:
      (BlackBerry::WebKit::WebPageCompositorPrivate::rootLayer):
      (WebPageCompositorPrivate):
      (BlackBerry::WebKit::WebPageCompositorPrivate::setDrawsRootLayer):
      * Api/WebPage_p.h:
      (WebPagePrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      855f1729
    • rakuco@webkit.org's avatar
      [EFL][DRT] Gardening 30 missing expectations · d352b6c9
      rakuco@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83266
      
      Unreviewed EFL gardening.
      
      Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-04-05
      
      * platform/efl/fast/repaint/transform-rotate-and-remove-expected.txt: Added.
      * platform/efl/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.txt: Added.
      * platform/efl/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.txt: Added.
      * platform/efl/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.txt: Added.
      * platform/efl/svg/as-background-image/svg-as-background-1-expected.png: Added.
      * platform/efl/svg/as-background-image/svg-as-background-1-expected.txt: Added.
      * platform/efl/svg/as-background-image/svg-as-background-3-expected.png: Added.
      * platform/efl/svg/as-background-image/svg-as-background-3-expected.txt: Added.
      * platform/efl/svg/as-background-image/svg-as-background-4-expected.png: Added.
      * platform/efl/svg/as-background-image/svg-as-background-4-expected.txt: Added.
      * platform/efl/svg/foreignObject/fO-display-none-expected.txt: Added.
      * platform/efl/svg/foreignObject/fO-display-none-with-relative-pos-content-expected.txt: Added.
      * platform/efl/svg/foreignObject/fO-parent-display-changes-expected.txt: Added.
      * platform/efl/svg/foreignObject/fO-parent-display-none-expected.txt: Added.
      * platform/efl/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: Added.
      * platform/efl/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: Added.
      * platform/efl/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: Added.
      * platform/efl/svg/repaint/repainting-after-animation-element-removal-expected.txt: Added.
      * platform/efl/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d352b6c9
    • schenney@chromium.org's avatar
      REGRESSION(99539): Infinite repaint loop with SVGImage and deferred repaint timers · 7c0ffc83
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78315
      
      Reviewed by Dimitri Glazkov.
      
      The existing fix for this issue was failing to check if the frameView object
      was currently _in_ layout, in addition to whether it needs layout. Calling the
      redraw method while in layout leads to a debug assertion and potential infinite
      layout loops. Now we check whether we need layout or are in layout. We also add
      a check when the repaint timer fires to ensure we do not call redraw during layout
      at that point.
      
      This patch was tested with tens of thousands of runs on layout test cases that
      previously crashed at a rate of about 1 in 25. Now we see no crashes and no test
      failures.
      
      No new tests, as this exists to fix flaky existing tests.
      
      * svg/graphics/SVGImageCache.cpp:
      (WebCore::SVGImageCache::imageContentChanged):
      (WebCore::SVGImageCache::redrawTimerFired):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c0ffc83
    • schenney@chromium.org's avatar
      Rebaseline after 73643 · b85f8043
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=73643
      
      Unreviewed update of test expectations.
      
      Patch by Philip Rogers <pdr@google.com> on 2012-04-05
      
      * platform/chromium-linux/svg/clip-path/clipper-placement-issue-expected.png: Removed.
      * platform/chromium-linux/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Removed.
      * platform/chromium-mac-leopard/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
      * platform/chromium-mac-leopard/svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
      * platform/chromium-mac-leopard/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png:
      * platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/filters-color-01-b-expected.png: Removed.
      * platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt: Added.
      * platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png: Removed.
      * platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/filters-example-01-b-expected.png: Removed.
      * platform/chromium-mac-snowleopard/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png:
      * platform/chromium-mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.png: Added.
      * platform/chromium-mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png: Added.
      * platform/chromium-mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.png: Modified property svn:mime-type.
      * platform/chromium-mac/svg/clip-path/clipper-placement-issue-expected.png: Added.
      * platform/chromium-mac/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Added.
      * platform/chromium-mac/svg/filters/feDropShadow-expected.png: Modified property svn:mime-type.
      * platform/chromium-win/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
      * platform/chromium-win/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
      * platform/chromium-win/svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
      * platform/chromium-win/svg/W3C-SVG-1.1/masking-path-01-b-expected.png:
      * platform/chromium-win/svg/clip-path/clipper-placement-issue-expected.png: Added.
      * platform/chromium-win/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Added.
      * platform/chromium-win/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Added.
      * platform/chromium-win/svg/filters/feDropShadow-expected.png: Modified property svn:mime-type.
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b85f8043