Changeset 82795 in webkit


Ignore:
Timestamp:
Apr 3, 2011 4:22:58 PM (13 years ago)
Author:
mitz@apple.com
Message:

fast/images/extra-image-in-image-document.html crashes when run after embed-image.html
https://bugs.webkit.org/show_bug.cgi?id=57733

Reviewed by Maciej Stachowiak.

The crash happens because resetting the page scale as part of preparing the WebView for the
next test triggered layout, which in turn caused a plug-in to make a resource request, and
DumpRenderTree's delegate to be dispatched. The delegate doesn't expect to be called between
tests, and it references the layout test controller, which is null.

  • page/Frame.cpp:

(WebCore::Frame::scalePage): Avoid an unnecessary layout if the page scale isn't changing. This
is more efficient, and has the side effect of avoiding the crash in DumpRenderTree, although
DumpRenderTree could still crash when after a test with disabled plug-ins and a non-1 page scale.
I think there are currently no such tests, so I am not fixing DumpRenderTree.

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r82793 r82795  
     12011-04-03  Dan Bernstein  <mitz@apple.com>
     2
     3        Reviewed by Maciej Stachowiak.
     4
     5        fast/images/extra-image-in-image-document.html crashes when run after embed-image.html
     6        https://bugs.webkit.org/show_bug.cgi?id=57733
     7
     8        The crash happens because resetting the page scale as part of preparing the WebView for the
     9        next test triggered layout, which in turn caused a plug-in to make a resource request, and
     10        DumpRenderTreeÕs delegate to be dispatched. The delegate doesnÕt expect to be called between
     11        tests, and it references the layout test controller, which is null.
     12
     13        * page/Frame.cpp:
     14        (WebCore::Frame::scalePage): Avoid an unnecessary layout if the page scale isnÕt changing. This
     15        is more efficient, and has the side effect of avoiding the crash in DumpRenderTree, although
     16        DumpRenderTree could still crash when after a test with disabled plug-ins and a non-1 page scale.
     17        I think there are currently no such tests, so I am not fixing DumpRenderTree.
     18
    1192011-04-03  Eric Seidel  <eric@webkit.org>
    220
     
    37893807        (WebCore::propertyNameMatchesAttributeName):
    37903808
    3791 2011-03-29  Csaba Osztrogonác  <ossy@webkit.org>
     38092011-03-29  Csaba Osztrogonác  <ossy@webkit.org>
    37923810
    37933811        Unreviewed rollout r82282, part of r82288, r82298.
     
    54395457        * inspector/generate-inspector-idl:
    54405458
    5441 2011-03-28  Csaba Osztrogonác  <ossy@webkit.org>
     54592011-03-28  Csaba Osztrogonác  <ossy@webkit.org>
    54425460
    54435461        Buildfix after r82125.
     
    586758852011-03-28  Nancy Piedra  <nancy.piedra@nokia.com>
    58685886
    5869         Reviewed by Csaba Osztrogonác.
     5887        Reviewed by Csaba Osztrogonác.
    58705888
    58715889        This patch fixes linking errors on Qt Webkit Windows MinGW builds.
     
    10538105562011-03-21  Andreas Kling  <kling@webkit.org>
    1053910557
    10540         Reviewed by Tor Arne Vestbø.
     10558        Reviewed by Tor Arne Vestbø.
    1054110559
    1054210560        [Qt] Add QNetworkReplyHandler::wasAborted()
     
    1296912987        (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
    1297012988
    12971 2011-03-16  Csaba Osztrogonác  <ossy@webkit.org>
     129892011-03-16  Csaba Osztrogonác  <ossy@webkit.org>
    1297212990
    1297312991        [Qt] Buildfix after r81230.
     
    1317213190        only the clones on the RenderCombineText will be mutated.
    1317313191        * rendering/RenderCombineText.cpp:
    13174         (WebCore::RenderCombineText::styleDidChange): Clone the style, to avoid mutating the parents
     13192        (WebCore::RenderCombineText::styleDidChange): Clone the style, to avoid mutating the parent’s
    1317513193        style.
    1317613194        (WebCore::RenderCombineText::combineText): Start off with the original font; restore it if
    1317713195        the text cannot be combined.
    1317813196        * rendering/RenderCombineText.h:
    13179         (WebCore::RenderCombineText::originalFont): Added. Returns the parents font.
     13197        (WebCore::RenderCombineText::originalFont): Added. Returns the parent’s font.
    1318013198
    13181131992011-03-14  Pavel Podivilov  <podivilov@chromium.org>
     
    19884199022011-03-08  Joe Wild  <joseph.wild@nokia.com>
    1988519903
    19886         Reviewed by Csaba Osztrogonác.
     19904        Reviewed by Csaba Osztrogonác.
    1988719905
    1988819906        [Qt] Missing SVG variables
     
    2097420992        * WebCore.gypi:
    2097520993
    20976 2011-03-07  Csaba Osztrogonác  <ossy@webkit.org>
     209942011-03-07  Csaba Osztrogonác  <ossy@webkit.org>
    2097720995
    2097820996        Unreviewed buildfix after r80478.
     
    2393323951        * editing/EditingStyle.h:
    2393423952
    23935 2011-03-03  Csaba Osztrogonác  <ossy@webkit.org>
     239532011-03-03  Csaba Osztrogonác  <ossy@webkit.org>
    2393623954
    2393723955        Unreviewed trivial fix after r80169.
     
    24628246462011-03-02  Aravind Akella  <aravind.akella@nokia.com>
    2462924647
    24630          Reviewed by Csaba Osztrogonác.
     24648         Reviewed by Csaba Osztrogonác.
    2463124649
    2463224650         [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
     
    26542265602011-03-01  Andras Becsi  <abecsi@webkit.org>
    2654326561
    26544         Reviewed by Csaba Osztrogonác.
     26562        Reviewed by Csaba Osztrogonác.
    2654526563
    2654626564        [Qt] Clean up the project files and move common options to WebKit.pri.
     
    2700727025        Reviewed by Darin Adler.
    2700827026
    27009         [Mac] Make "Change back to " contextual menu item work with new autocorrection.
     27027        [Mac] Make "Change back to …" contextual menu item work with new autocorrection.
    2701027028        https://bugs.webkit.org/show_bug.cgi?id=55396
    2701127029        <rdar://problem/8836093>
     
    2797427992        Reviewed by Eric Seidel.
    2797527993
    27976         <input value="type=submit"> throws a warning (“HTML parse error”)
     27994        <input value="type=submit"> throws a warning (“HTML parse error”)
    2797727995        https://bugs.webkit.org/show_bug.cgi?id=55120
    2797827996
     
    3093830956        * page/EventHandler.cpp:
    3093930957        (WebCore::EventHandler::EventHandler): Initialize m_activationEventNumber
    30940         to -1. Since WebKit2 doesnt support non-activating clicks yet (<http://webkit.org/b/55053>
    30941         <rdar://problem/9042197>) and doesnt send event numbers, all events were considered to be
     30958        to -1. Since WebKit2 doesn�t support non-activating clicks yet (<http://webkit.org/b/55053>
     30959        <rdar://problem/9042197>) and doesn�t send event numbers, all events were considered to be
    3094230960        window-activating events. This in turn prevented them from clearing the selection and resuming
    3094330961        caret blinking on mouse up.
     
    31438314562011-02-22  Chang Shu  <cshu@webkit.org>
    3143931457
    31440         Reviewed by Csaba Osztrogonác.
     31458        Reviewed by Csaba Osztrogonác.
    3144131459
    3144231460        [Qt] editing/deleting/5408255.html fails
     
    31507315252011-02-22  Andras Becsi  <abecsi@webkit.org>
    3150831526
    31509         Reviewed by Csaba Osztrogonác.
     31527        Reviewed by Csaba Osztrogonác.
    3151031528
    3151131529        [Qt] Redesign the build system
     
    3163231650
    3163331651        Reviewed by Laszlo Gombos.
    31634         Rubber-stamped by Csaba Osztrogonác.
     31652        Rubber-stamped by Csaba Osztrogonác.
    3163531653
    3163631654        [Qt] Redesign the build system
     
    3256932587        (WebCore::InspectorDOMAgent::create):
    3257032588
    32571 2011-02-21  Csaba Osztrogonác  <ossy@webkit.org>
     325892011-02-21  Csaba Osztrogonác  <ossy@webkit.org>
    3257232590
    3257332591        Reviewed by Andreas Kling.
     
    33346333642011-02-18  Yi Shen  <yi.4.shen@nokia.com>
    3334733365
    33348         Reviewed by Tor Arne Vestbø.
     33366        Reviewed by Tor Arne Vestbø.
    3334933367
    3335033368        Always display the media controls when requiresFullscreenForVideoPlayback() is true
     
    3398534003        (WebCore::DateComponents::parseTime):
    3398634004
    33987 2011-02-18  Csaba Osztrogonác  <ossy@webkit.org>
     340052011-02-18  Csaba Osztrogonác  <ossy@webkit.org>
    3398834006
    3398934007        Rubber-stamped by Andreas Kling.
     
    3418034198        * page/FrameView.cpp:
    3418134199        (WebCore::FrameView::scrollXForFixedPosition): Moved from ScrollView here and changed to
    34182         account for page scale: when the page is scaled, the “viewport” with respect to which fixed
    34183         objects are positioned is scaled as well. Since its now bigger than the real viewport (that is,
     34200        account for page scale: when the page is scaled, the “viewport” with respect to which fixed
     34201        objects are positioned is scaled as well. Since it’s now bigger than the real viewport (that is,
    3418434202        the frame view), we move it around in proportion to the document scroll, so that when the document
    3418534203        is fully scrolled to the bottom-right, the bottom right of the scaled viewport is visible.
     
    3483734855        (WebCore::RenderSVGResourcePattern::createTileImage):
    3483834856
    34839 2011-02-17  Csaba Osztrogonác  <ossy@webkit.org>
     348572011-02-17  Csaba Osztrogonác  <ossy@webkit.org>
    3484034858
    3484134859        Unreviewed.
  • trunk/Source/WebCore/page/Frame.cpp

    r82533 r82795  
    998998        return;
    999999
    1000     m_pageScaleFactor = scale;
    1001 
    1002     if (document->renderer())
    1003         document->renderer()->setNeedsLayout(true);
    1004 
    1005     document->recalcStyle(Node::Force);
     1000    if (scale != m_pageScaleFactor) {
     1001        m_pageScaleFactor = scale;
     1002
     1003        if (document->renderer())
     1004            document->renderer()->setNeedsLayout(true);
     1005
     1006        document->recalcStyle(Node::Force);
    10061007
    10071008#if USE(ACCELERATED_COMPOSITING)
    1008     updateContentsScale(scale);
    1009 #endif
     1009        updateContentsScale(scale);
     1010#endif
     1011    }
    10101012
    10111013    if (FrameView* view = this->view()) {
Note: See TracChangeset for help on using the changeset viewer.