Changeset 151146 in webkit


Ignore:
Timestamp:
Jun 3, 2013 6:16:42 PM (11 years ago)
Author:
roger_fong@apple.com
Message:

clearLayoutOverflow should never be called before calling layer()->updateScrollInfoAfterLayout().
https://bugs.webkit.org/show_bug.cgi?id=116689.

Reviewed by Ojan Vafai.

Make sure that clearLayoutOverflow only gets called after layer()->updateScrollInfoAfterLayout().
Also move clearLayoutOverflow to RenderBlock so we can keep all the delayed scroll update logic together.

Test: fast/flexbox/clear-overflow-before-scroll-update.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layout): Remove call to clearLayoutOverflow.
(WebCore::RenderBlock::finishDelayUpdateScrollInfo): Add call to clearLayoutOverflow.
(WebCore::RenderBlock::updateScrollInfoAfterLayout): Ditto.

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBox.cpp:
  • rendering/RenderBox.h:

(WebCore::RenderBox::layoutOverflowRect): Remove from layoutOverflowRect.
(RenderBox):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock): This should call updateScrollInfoAfterLayout() intead of directly calling layer()->updateScrollInfoAfterLayout().

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock): Ditto.

Location:
trunk
Files:
1 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r151140 r151146  
     12013-06-03  Roger Fong  <roger_fong@apple.com>
     2
     3        clearLayoutOverflow should never be called before calling layer()->updateScrollInfoAfterLayout().
     4        https://bugs.webkit.org/show_bug.cgi?id=116689.
     5
     6        Reviewed by Ojan Vafai.
     7       
     8        * fast/flexbox/clear-overflow-before-scroll-update.html: Added.
     9
    1102013-06-03  Ryosuke Niwa  <rniwa@webkit.org>
    211
  • trunk/Source/WebCore/ChangeLog

    r151141 r151146  
    1 2013-06-03  Paweł Forysiuk  <tuxator@o2.pl>
    2 
    3         [harfbuzz] WebKit fails to build with MinGW compiler because of invalid cast in HarfBuzzShaper.cpp
    4         https://bugs.webkit.org/show_bug.cgi?id=108373
    5 
    6         Reviewed by Darin Adler.
    7 
    8         Fix building on platforms where UChar is defined as wchar_t.
    9 
    10 
    11         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
    12         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
    13 
    14 2013-06-03  Ryosuke Niwa  <rniwa@webkit.org>
    15 
    16         REGRESSION: Undoing autocorrection doesn't prevent a future autocorrection
    17         https://bugs.webkit.org/show_bug.cgi?id=117165
    18 
    19         Reviewed by Darin Adler.
    20 
    21         The bug was caused by SpellingCorrectionCommand returning true in callsAppliedEditingInDoApply, which prevented
    22         the command from being registered to the undo manager. This behavior was introduced in r148306 because TypingCommand
    23         registeres itself to the undo manager in appliedEditing.
    24 
    25         Fixed the bug by reverting both r122176 and r148306 and implementing a better fix for the bug 90487.
    26         Instead of using InsertTextCommand, simply don't specify ReplaceSelectionCommand::PreventNesting so that the command
    27         doesn't try to break out of a blockquote.
    28 
    29         Also fix a bug in ReplaceSelectionCommand::completeHTMLReplacement uncovered by this change. We were only merging
    30         text nodes at the beginning of the replaced content but not at the end. Call mergeTextNodesAroundPosition for the
    31         second time to fix whitespace at the end of the replaced content.
    32 
    33         Test: platform/mac/editing/spelling/autocorrection-respets-undo.html
    34 
    35         * editing/CompositeEditCommand.cpp: Explictily check isTypingCommand now that callsAppliedEditingInDoApply has been
    36         removed from SpellingCorrectionCommand and TypingCommand and SpellingCorrectionCommand were only classes that
    37         returned true in callsAppliedEditingInDoApply. See r148306 that introduced this function.
    38         (WebCore::CompositeEditCommand::apply):
    39         * editing/CompositeEditCommand.h: Removed callsAppliedEditingInDoApply.
    40         * editing/ReplaceSelectionCommand.cpp:
    41         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
    42         * editing/SpellingCorrectionCommand.cpp: Removed callsAppliedEditingInDoApply, which was the culprit of this bug,
    43         so that CompositeEditCommand::apply correctly registers this command with the undo manager.
    44         (WebCore::SpellingCorrectionCommand::doApply): Use ReplaceSelectionCommand instead of TypingCommand as noted above.
    45         * editing/SpellingCorrectionCommand.h:
    46         * editing/TypingCommand.cpp: Deleted callsAppliedEditingInDoApply.
    47         * editing/TypingCommand.h:
    48 
    49 2013-06-03  Anders Carlsson  <andersca@apple.com>
    50 
    51         Reduce indentation in Widget::paint in WidgetMac.mm
    52         https://bugs.webkit.org/show_bug.cgi?id=117171
    53 
    54         Reviewed by Darin Adler.
    55 
    56         Use an early return for the common case to reduce indentation in the complex case.
    57 
    58         * platform/mac/WidgetMac.mm:
    59         (WebCore::Widget::paint):
    60 
    6112013-06-03  Roger Fong  <roger_fong@apple.com>
    622
    63         Unreviewed. AppleWin VS2010 build fix.
    64 
    65         * WebCore.vcxproj/migrate-scripts.sh:
    66 
    67 2013-06-03  Roger Fong  <roger_fong@apple.com>
    68 
    69         Nuke VS2005 files from the tree.
    70         <rdar://problem/14042021>.
    71 
    72         Rubberstamped by Brent Fulgham.
    73 
    74         * WebCore.vcproj: Removed.
    75         * WebCore.vcproj/MigrateScripts: Removed.
    76         * WebCore.vcproj/QTMovieWin.vcproj: Removed.
    77         * WebCore.vcproj/QTMovieWinCommon.vsprops: Removed.
    78         * WebCore.vcproj/QTMovieWinDebug.vsprops: Removed.
    79         * WebCore.vcproj/QTMovieWinDebugAll.vsprops: Removed.
    80         * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops: Removed.
    81         * WebCore.vcproj/QTMovieWinPostBuild.cmd: Removed.
    82         * WebCore.vcproj/QTMovieWinPreBuild.cmd: Removed.
    83         * WebCore.vcproj/QTMovieWinProduction.vsprops: Removed.
    84         * WebCore.vcproj/QTMovieWinRelease.vsprops: Removed.
    85         * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: Removed.
    86         * WebCore.vcproj/WebCore.make: Removed.
    87         * WebCore.vcproj/WebCore.sln: Removed.
    88         * WebCore.vcproj/WebCore.submit.sln: Removed.
    89         * WebCore.vcproj/WebCore.vcproj: Removed.
    90         * WebCore.vcproj/WebCoreCFNetwork.vsprops: Removed.
    91         * WebCore.vcproj/WebCoreCG.vsprops: Removed.
    92         * WebCore.vcproj/WebCoreCURL.vsprops: Removed.
    93         * WebCore.vcproj/WebCoreCairo.vsprops: Removed.
    94         * WebCore.vcproj/WebCoreCommon.vsprops: Removed.
    95         * WebCore.vcproj/WebCoreDebug.vsprops: Removed.
    96         * WebCore.vcproj/WebCoreDebugAll.vsprops: Removed.
    97         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Removed.
    98         * WebCore.vcproj/WebCoreGenerated.vcproj: Removed.
    99         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Removed.
    100         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Removed.
    101         * WebCore.vcproj/WebCoreMediaQT.vsprops: Removed.
    102         * WebCore.vcproj/WebCorePostBuild.cmd: Removed.
    103         * WebCore.vcproj/WebCorePreBuild.cmd: Removed.
    104         * WebCore.vcproj/WebCoreProduction.vsprops: Removed.
    105         * WebCore.vcproj/WebCoreQuartzCore.vsprops: Removed.
    106         * WebCore.vcproj/WebCoreRelease.vsprops: Removed.
    107         * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: Removed.
    108         * WebCore.vcproj/WebCoreTestSupport.vcproj: Removed.
    109         * WebCore.vcproj/build-generated-files.sh: Removed.
    110         * WebCore.vcproj/copyForwardingHeaders.cmd: Removed.
    111         * WebCore.vcproj/copyWebCoreResourceFiles.cmd: Removed.
    112         * WebCore.vcproj/migrate-scripts.sh: Removed.
    113         * WebCore.vcproj/xcopy.excludes: Removed.
    114 
    115 2013-06-03  Chris Fleizach  <cfleizach@apple.com>
    116 
    117         AX: WebKit should join substrings on single space when concatenating the accessible name of an element
    118         https://bugs.webkit.org/show_bug.cgi?id=117100
    119 
    120         Reviewed by Darin Adler.
    121 
    122         When concatenating text from underneath an element append spaces between objects and trim whitespace.       
    123 
    124         Modified existing tests reflect the new behavior.
    125 
    126         * accessibility/AccessibilityNodeObject.cpp:
    127         (WebCore::AccessibilityNodeObject::textUnderElement):
    128 
    129 2013-06-03  Zan Dobersek  <zdobersek@igalia.com>
    130 
    131         Remove XMLMIMETypeRegExp
    132         https://bugs.webkit.org/show_bug.cgi?id=116861
    133 
    134         Reviewed by Alexey Proskuryakov.
    135 
    136         Remove the XMLMIMETypeRegExp class. It contained a regular expression that was used
    137         for checking for valid XML MIME types in DOMImplementation::isXMLMIMEType. The thread-global
    138         instance was stored in ThreadGlobalData.
    139 
    140         The class is removed, with DOMImplementation::isXMLMIMEType now testing that the given MIME type
    141         is of proper form and contains only valid characters.
    142 
    143         No new tests - no change in functionality.
    144 
    145         * dom/DOMImplementation.cpp:
    146         (WebCore::isValidXMLMIMETypeChar): A helper method that returns true only for characters that
    147         are acceptable in a valid XML MIME type (apart from the forward slash).
    148         (WebCore::DOMImplementation::isXMLMIMEType): Instead of using a regular expression, determine
    149         whether the given string is a valid non-standard XML mime type by checking for the '+xml' ending,
    150         proper forward slash position, and that no invalid characters are used in the string.
    151         * dom/DOMImplementation.h:
    152         * platform/ThreadGlobalData.cpp:
    153         (WebCore::ThreadGlobalData::ThreadGlobalData): The OwnPtr<XMLMIMETypeRegExp> member variable is being removed.
    154         (WebCore::ThreadGlobalData::destroy): Ditto.
    155         * platform/ThreadGlobalData.h:
    156         (WebCore): No need for the XMLMIMETypeRegExp forward declaration.
    157         (ThreadGlobalData): Remove the OwnPtr<XMLMIMETypeRegExp> member variable.
    158 
    159 2013-06-03  Eduardo Lima Mitev  <elima@igalia.com>
    160 
    161         [GTK] Use drawErrorUnderline() instead of Pango API for highlighting misspelled words
    162         https://bugs.webkit.org/show_bug.cgi?id=115406
    163 
    164         Reviewed by Martin Robinson.
    165 
    166         Replace pango API for drawing underline error on misspelled words, in favor of
    167         drawErrorUnderline() method, removing the platform #ifdef check. As this was the
    168         only usage of Pango in GraphicsContextCairo, it no longer includes pango.h.
    169 
    170         * platform/graphics/cairo/GraphicsContextCairo.cpp:
    171         (WebCore::GraphicsContext::drawLineForDocumentMarker): Removes
    172         pango_cairo_show_error_underline() in favor of drawErrorUnderline().
    173         * platform/graphics/cairo/DrawErrorUnderline.h:
    174         (drawErrorUnderline): Fills the cairo path at the end of the drawing.
    175 
    176 2013-06-03  Chris Fleizach  <cfleizach@apple.com>
    177 
    178         AX: MathML multiscripts not exposed in Accessibility
    179         https://bugs.webkit.org/show_bug.cgi?id=115069
    180 
    181         Reviewed by Tim Horton.
    182 
    183         Math multiscript tags allow for an arbitrary number of prescripts and postscripts
    184         around a base object.
    185 
    186         This MathML tag currently is not supported in the render tree, but that doesn't need to
    187         stop it from being exposed through accessibility, as a base object with an array of postscripts
    188         and an array of prescripts.
    189 
    190         Test: platform/mac/accessibility/mathml-multiscript.html
    191 
    192         * accessibility/AccessibilityObject.h:
    193         (WebCore::AccessibilityObject::isMathMultiscript):
    194         (AccessibilityObject):
    195         (WebCore::AccessibilityObject::mathPrescripts):
    196         (WebCore::AccessibilityObject::mathPostscripts):
    197         * accessibility/AccessibilityRenderObject.cpp:
    198         (WebCore::AccessibilityRenderObject::isMathMultiscript):
    199         (WebCore::AccessibilityRenderObject::isIgnoredElementWithinMathTree):
    200         (WebCore::AccessibilityRenderObject::mathBaseObject):
    201         (WebCore::AccessibilityRenderObject::mathPrescripts):
    202         (WebCore::AccessibilityRenderObject::mathPostscripts):
    203         * accessibility/AccessibilityRenderObject.h:
    204         (AccessibilityRenderObject):
    205         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
    206         (-[WebAccessibilityObjectWrapper accessibilityPlatformMathSubscriptKey]):
    207         (-[WebAccessibilityObjectWrapper accessibilityPlatformMathSuperscriptKey]):
    208         (-[WebAccessibilityObjectWrapper accessibilityMathPostscripts]):
    209         (-[WebAccessibilityObjectWrapper accessibilityMathPrescripts]):
    210         (-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
    211         (-[WebAccessibilityObjectWrapper accessibilityMathType]):
    212         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
    213         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
    214         (convertMathPairsToNSArray):
    215         (-[WebAccessibilityObjectWrapperBase accessibilityPlatformMathSubscriptKey]):
    216         (-[WebAccessibilityObjectWrapperBase accessibilityPlatformMathSuperscriptKey]):
    217         (-[WebAccessibilityObjectWrapperBase accessibilityMathPostscriptPairs]):
    218         (-[WebAccessibilityObjectWrapperBase accessibilityMathPrescriptPairs]):
    219         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
    220         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
    221         (-[WebAccessibilityObjectWrapper subrole]):
    222         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
    223         (-[WebAccessibilityObjectWrapper accessibilityPlatformMathSubscriptKey]):
    224         (-[WebAccessibilityObjectWrapper accessibilityPlatformMathSuperscriptKey]):
    225         * mathml/mathtags.in:
    226 
    227 2013-06-03  Bem Jones-Bey  <bjonesbe@adobe.com>
    228 
    229         ASSERTION FAILED: node->parentNode(), Heap-use-after-free in WebCore::RenderBox::exclusionShapeOutsideInfo
    230         https://bugs.webkit.org/show_bug.cgi?id=117155
    231 
    232         Reviewed by David Hyatt.
    233 
    234         Ported from a Blink patch by kenrb@chromium.org:
    235 
    236         Clear floats on RenderBlocks that haven't had layout
    237 
    238         WebKit revision 150084 creates a condition where a RenderBlock
    239         can have a populated floating object list even when it has not
    240         previously had layout. Since clearing of floats is optimized
    241         to not search through parts of the tree that have not had layout,
    242         references to floating objects were not being cleared in some cases.
    243 
    244         This patch causes markAllDescendantsWithFloatsForLayout() to proceed
    245         in the above case, in order to clear floats for a RenderBlock that has
    246         not had layout.
    247 
    248         Test: fast/block/float/float-list-changed-before-layout-crash.html
     3        clearLayoutOverflow should never be called before calling layer()->updateScrollInfoAfterLayout().
     4        https://bugs.webkit.org/show_bug.cgi?id=116689.
     5
     6        Reviewed by Ojan Vafai.
     7
     8        Make sure that clearLayoutOverflow only gets called after layer()->updateScrollInfoAfterLayout().
     9        Also move clearLayoutOverflow to RenderBlock so we can keep all the delayed scroll update logic together.
     10
     11        Test: fast/flexbox/clear-overflow-before-scroll-update.html
    24912
    25013        * rendering/RenderBlock.cpp:
    251         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
    252 
    253 2013-06-03  Bem Jones-Bey  <bjonesbe@adobe.com>
    254 
    255         [CSS Shapes] inset-rectangle support for shape-outside
    256         https://bugs.webkit.org/show_bug.cgi?id=116641
    257 
    258         Reviewed by Alexandru Chiculita.
    259 
    260         Implement support for using inset-rectangles in a shape-outside.
    261 
    262         Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-inset-rectangle.html
    263                fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-inset-rectangle.html
    264 
    265         * rendering/ExclusionShape.cpp:
    266         (WebCore::ExclusionShape::createExclusionShape): An inset-rectangle is
    267             simply a rectangle with the dimensions calculated differently. So
    268             just use ExclusionRectangle after converting the dimensions.
    269         * rendering/ExclusionShapeOutsideInfo.cpp:
    270         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Enable inset
    271             rectangles for shape-outside.
    272 
    273 2013-06-03  Tiancheng Jiang  <tijiang@rim.com>
    274 
    275         [BlackBerry] Slider UX updates.
    276         https://bugs.webkit.org/show_bug.cgi?id=117148
    277 
    278         Reviewed by Rob Buis.
    279 
    280         BlackBerry PR 342328
    281         Internally Reviewed by Jeff Rogers.
    282 
    283         Change image and reduce handle size when it is disabled.
    284 
    285         * platform/blackberry/RenderThemeBlackBerry.cpp:
    286         (WebCore::RenderThemeBlackBerry::paintSliderTrack):
    287         (WebCore::RenderThemeBlackBerry::paintSliderThumb):
    288 
    289 2013-06-03  Commit Queue  <commit-queue@webkit.org>
    290 
    291         Unreviewed, rolling out r151109.
    292         http://trac.webkit.org/changeset/151109
    293         https://bugs.webkit.org/show_bug.cgi?id=117145
    294 
    295         "Plugins in WK2 aren't implemented yet." (Requested by
    296         jturcotte on #webkit).
    297 
    298         * platform/FileSystem.h:
    299         * platform/qt/FileSystemQt.cpp:
    300         (WebCore::unloadModule):
    301         * plugins/mac/PluginPackageMac.cpp:
    302         (WebCore::PluginPackage::fetchInfo):
    303         (WebCore::PluginPackage::load):
    304         * plugins/mac/PluginViewMac.mm:
    305 
    306 2013-06-03  Zalan Bujtas  <zalan@apple.com>
    307 
    308         REGRESSION (r143070): Overflow:scroll content does not get clipped properly when the parent box has CSS3 filter on.
    309         https://bugs.webkit.org/show_bug.cgi?id=116859
    310 
    311         Reviewed by Simon Fraser.
    312 
    313         Apply proper clipping for overflow:scroll, when parent dictates
    314         full repaint to ensure correct CSS3 filter effect.
    315 
    316         When a particular layer has 'pixel moving' CSS3 filter(drop shadow, blur), it sets clipToDirtyRect
    317         to false to force no clipping on itself and on the child layers too.
    318         No clipping makes overflow:scroll behave like overflow:display, because
    319         overflow::scroll gets clipped at RenderLayer level (as opposed to overflow::hidden).
    320         This patch makes sure that both full repaint and clipping are ensured.
    321 
    322         Tests: css3/filters/clipping-overflow-scroll-with-pixel-moving-effect-on-parent.html
    323                css3/filters/clipping-overflow-scroll-with-pixel-moving-effect-on.html
    324 
    325         * rendering/RenderLayer.cpp:
    326         (WebCore::RenderLayer::paintLayerContents):
    327 
    328 2013-05-22  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
    329 
    330         [Qt] Re-enable plugins on Mac.
    331         https://bugs.webkit.org/show_bug.cgi?id=116622
    332 
    333         Reviewed by Tor Arne Vestbø.
    334 
    335         * platform/FileSystem.h:
    336         * platform/qt/FileSystemQt.cpp:
    337         (WebCore::unloadModule):
    338           - Q_WS_* aren't defined since Qt5, use Q_OS_MACX instead.
    339         * plugins/mac/PluginPackageMac.cpp:
    340         (WebCore::PluginPackage::fetchInfo):
    341         (WebCore::PluginPackage::load):
    342           - createCFString now does the adoption itself.
    343         * plugins/mac/PluginViewMac.mm:
    344           - Add missing include.
    345 
    346 2013-05-22  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
    347 
    348         [Qt][Mac] Allow drawing plugins with QWindow by always using an intermediate bitmap.
    349         https://bugs.webkit.org/show_bug.cgi?id=116620
    350 
    351         Reviewed by Tor Arne Vestbø.
    352 
    353         The isolation of QWidget along with QPA in Qt5 is abstracting away the native CGContext
    354         of a QWidget and we would need to create a non-public API to be able to achieve it.
    355         Instead of adding complexity to this rarely touched code, always draw into an
    356         intermediate bitmap that we then paint into our QPainter afterward.
    357 
    358         - Use CGBitmapContextCreate to allocate a buffer directly instead of creating a QPixmap
    359           and extract an CGContextRef out of it.
    360         - Get rid of the "if (platformPluginWidget())" code path since we don't paint directly
    361           into the QWidget's backing store anymore.
    362         - Always use m_contextRef to draw the plugin instead of alternating between direct and
    363           indirect drawing.
    364 
    365         * plugins/PluginView.cpp:
    366         (WebCore::PluginView::PluginView):
    367         * plugins/PluginView.h:
    368         * plugins/mac/PluginViewMac.mm:
    369         (WebCore::createBitmapContext):
    370         (WebCore::PluginView::platformStart):
    371         (WebCore::PluginView::platformDestroy):
    372         (WebCore::PluginView::setFocus):
    373         (WebCore::PluginView::setNPWindowIfNeeded):
    374         (WebCore::PluginView::updatePluginWidget):
    375         (WebCore::PluginView::paint):
    376         (WebCore::PluginView::invalidateRect):
    377 
    378 2013-05-22  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
    379 
    380         [Qt][Mac] Remove Carbon and QuickDraw support for plugins.
    381         https://bugs.webkit.org/show_bug.cgi?id=116619
    382 
    383         Reviewed by Tor Arne Vestbø.
    384 
    385         They are only enabled for 32bit builds of QtWebKit and are rarely tested.
    386         Other browsers support them through a 32bit host process.
    387         PluginViewMac.mm is only used by Qt since the Wx port was removed.
    388 
    389         - Only support the Cocoa event model
    390         - Only support the CoreGraphics drawing model
    391         - Remove all NP_NO_CARBON and NP_NO_QUICKDRAW blocks in PluginViewMac.mm
    392 
    393         * plugins/PluginView.cpp:
    394         (WebCore::PluginView::setValue):
    395         (WebCore::PluginView::PluginView):
    396         * plugins/PluginView.h:
    397         * plugins/mac/PluginViewMac.mm:
    398         (WebCore::PluginView::platformStart):
    399         (WebCore::PluginView::platformDestroy):
    400         (WebCore::PluginView::platformGetValueStatic):
    401         (WebCore::PluginView::setFocus):
    402         (WebCore::PluginView::setNPWindowIfNeeded):
    403         (WebCore::PluginView::paint):
    404         (WebCore::PluginView::handleWheelEvent):
    405         (WebCore::PluginView::handleMouseEvent):
    406         (WebCore::PluginView::handleKeyboardEvent):
    407 
    408 2013-06-03  Praveen R Jadhav  <praveen.j@samsung.com>
    409 
    410         'onended' event is not received in AudioBufferSourceNode and OscillatorNode.
    411         https://bugs.webkit.org/show_bug.cgi?id=117132.
    412 
    413         Reviewed by Christophe Dumez.
    414 
    415         The listener argument is a PassRefPtr which becomes NULL after the call to
    416         setAttributeEventListener() in setOnended(). This causes the m_hasEndedListener
    417         boolean to be incorrectly initialized. This patch reverses the two statements so
    418         that the m_hasEndedListener is updated before the call to setAttributeEventListener().
    419 
    420         No new tests, already covered by existing tests.
    421 
    422         * Modules/webaudio/AudioScheduledSourceNode.cpp:
    423         (WebCore::AudioScheduledSourceNode::setOnended):
    424 
    425 2013-06-03  Rashmi Kulakarni  <rashmi.vijay@samsung.com>
    426 
    427         [EFL]<select> element's text is clipped when a height is specified along with CSS line-height.
    428         https://bugs.webkit.org/show_bug.cgi?id=114862
    429 
    430         Reviewed by Gyuyoung Kim.
    431 
    432         Fix <select> element getting clipped when element height becomes less than the line-height.
    433         Set minimum height for <select> element.
    434 
    435         No new tests, no behavior change.
    436 
    437         * platform/efl/RenderThemeEfl.cpp:
    438         (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
    439 
    440 2013-06-03  Charles Wei  <charles.wei@torchmobile.com.cn>
    441 
    442         Webkit crashes while loading content from Application Cache.
    443         https://bugs.webkit.org/show_bug.cgi?id=116814
    444 
    445         Reviewed by Darin Adler.
    446 
    447         With the refacor for 112722, which removes MainResourceLoader and moves the functionality to DocumentLoader,
    448         the processing of appcache for main resource error (because of network error) was moved DocumentLoader::
    449         mainReceivedError(), which was trigged by ResourceHandle::didFail->SubResourceLoader::didFail, which already
    450         in a Finishing state after notifying the DocumentLoader of the load failure.
    451 
    452         Before patch for 112722, the appcache for main resource error was in MainResourceLoader::didFail(),
    453         which will start processing the potential fallback before notifying DocumentLoader and moving the the state
    454         of the resource loader to finishing state.
    455 
    456         So we should move maybeLoadFallbackForMainError out of DocumentLoader::mainReceivedError, and move it to
    457         ApplicationCacheHost::maybeLoadFallbackForError, if the resource that has error is the main resource.
    458 
    459         Test: http/tests/appcache/main-resource-fallback-for-network-error-crash.html
    460 
    461         * loader/DocumentLoader.cpp:
    462         (WebCore::DocumentLoader::mainReceivedError):
    463         * loader/appcache/ApplicationCacheHost.cpp:
    464         (WebCore::ApplicationCacheHost::maybeLoadFallbackForError):
    465         * loader/appcache/ApplicationCacheHost.h:
    466 
    467 2013-06-02  Arunprasad Rajkumar  <arurajku@cisco.com>
    468 
    469         [Qt] Move Qt port off legacy clipboard
    470         https://bugs.webkit.org/show_bug.cgi?id=116416
    471 
    472         Reviewed by Darin Adler.
    473 
    474         No change in behavior, no new tests added.
    475 
    476         * Target.pri: Removed ClipboardQt.h and EditorQt.cpp from compilation.
    477         * dom/Clipboard.h:
    478         * editing/qt/EditorQt.cpp: Removed.
    479         * page/qt/EventHandlerQt.cpp: Use Clipboard::createForDragAndDrop().
    480         (WebCore::EventHandler::createDraggingClipboard):
    481         * platform/Pasteboard.h:
    482         (WebCore::Pasteboard::clipboardData): Expose writable QMimeData* to outside, so that it is accessible
    483         from DragClientQt.cpp and WebDragClientQt.cpp.
    484         (WebCore::Pasteboard::invalidateWritableData):
    485         (WebCore::Pasteboard::isForDragAndDrop):
    486         (WebCore::Pasteboard::isForCopyAndPaste):
    487         * platform/qt/ClipboardQt.cpp:
    488         (WebCore::Clipboard::createDragImage):
    489         (WebCore::Clipboard::declareAndWriteDragImage):
    490         * platform/qt/ClipboardQt.h: Removed.
    491         * platform/qt/PasteboardQt.cpp: Moved required methods from ClipboardQt.cpp.
    492         (WebCore::isTextMimeType):
    493         (WebCore::isHtmlMimeType):
    494         (WebCore::Pasteboard::create):
    495         (WebCore::Pasteboard::createForCopyAndPaste):
    496         (WebCore::Pasteboard::createPrivate):
    497         (WebCore::Pasteboard::createForDragAndDrop):
    498         (WebCore::Pasteboard::Pasteboard):
    499         (WebCore::Pasteboard::~Pasteboard):
    500         (WebCore::Pasteboard::generalPasteboard):
    501         (WebCore::Pasteboard::isSelectionMode):
    502         (WebCore::Pasteboard::setSelectionMode):
    503         (WebCore::Pasteboard::readData):
    504         (WebCore::Pasteboard::hasData):
    505         (WebCore::Pasteboard::clear):
    506         (WebCore::Pasteboard::readString):
    507         (WebCore::Pasteboard::writeString):
    508         (WebCore::Pasteboard::types):
    509         (WebCore::Pasteboard::readFilenames):
    510         (WebCore::Pasteboard::setDragImage):
    511         (WebCore::Pasteboard::writePasteboard):
    512 
    513 2013-06-02  Brady Eidson  <beidson@apple.com>
    514 
    515         Going "back" to a cached page from a page with a main resource error breaks scrolling, amongst other issues.
    516         <rdar://problem/13751844> and https://bugs.webkit.org/show_bug.cgi?id=117112
    517 
    518         Reviewed by Alexey Proskuryakov.
    519 
    520         If a main resource load ends in error, the Document's parser is never cleared out.
    521 
    522         If you then return to a CachedPage, we run the Document->clearParser() step for the
    523         old page and that incorrectly dispatches didFinishLoad for the previous page load
    524         in the middle of the load for the cached page.
    525 
    526         The parser should never be needed after a load completes (even if it fails) and
    527         holding on to the parser after the page load failed but before a new navigation is
    528         actually using unnecessary resources.
    529 
    530         So we should just clear the parser right when the main resource fails.
    531 
    532         Test: http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html
    533 
    534         * loader/DocumentLoader.cpp:
    535         (WebCore::DocumentLoader::stopLoading): After canceling the main resource load, also clear the parser.
    536 
    537 2013-06-02  Csaba Osztrogonác  <ossy@webkit.org>
    538 
    539         [CMake] Unreviewed buildfix after r148896 and r150940.
    540 
    541         * CMakeLists.txt:
    542 
    543 2013-06-02  Alexey Proskuryakov  <ap@apple.com>
    544 
    545         Unstyled XML viewer crashes when XML contains an element with id="tree"
    546         https://bugs.webkit.org/show_bug.cgi?id=117117
    547         <rdar://problem/13727267>
    548 
    549         Reviewed by Darin Adler.
    550 
    551         Test: http/tests/xmlviewer/dumpAsText/existing-tree-element-crash.xml
    552 
    553         * xml/XMLViewer.css: Removed the rule to hide source document, as we no longer
    554         keep it in the tree.
    555 
    556         * xml/XMLViewer.js:
    557         (prepareWebKitXMLViewer): Make sourceXML a detached tree, as otherwise it can
    558         have ID conflicts with elements we add.
    559         (sourceXMLLoaded): Removed some commented out code. Removed code that was checking
    560         whether an extension took over XML display, as it makes no sense to duplicate this
    561         functionality in an extension.
    562 
    563 2013-06-01  Chris Fleizach  <cfleizach@apple.com>
    564 
    565         WebKit ignores aria-hidden when traversing nodes for name calculation
    566         https://bugs.webkit.org/show_bug.cgi?id=117101
    567 
    568         Reviewed by Tim Horton.
    569 
    570         When calculating the inner text, aria-hidden should be considered.
    571 
    572         Test: accessibility/text-role-with-aria-hidden-inside.html
    573 
    574         * accessibility/AccessibilityNodeObject.cpp:
    575         (WebCore::shouldUseAccessiblityObjectInnerText):
    576 
    577 2013-06-01  Darin Adler  <darin@apple.com>
    578 
    579         window.speechSynthesis needs to be cheap
    580         https://bugs.webkit.org/show_bug.cgi?id=117111
    581         rdar://problem/14042030
    582 
    583         Reviewed by Dean Jackson.
    584 
    585         Add the traditional laziness to all of the speech synthesis code, wherever
    586         it was omitted.
    587 
    588         * Modules/speech/SpeechSynthesis.cpp:
    589         (WebCore::SpeechSynthesis::create): Tweaked style (took out unneeded parentheses).
    590         (WebCore::SpeechSynthesis::SpeechSynthesis): Don't create m_platformSpeechSynthesizer.
    591         (WebCore::SpeechSynthesis::setPlatformSynthesizer): Clear state when changing the
    592         platform speech synthesizer. Since this code is only used to set up a mock in the
    593         test runner, the fact that it was wrong before was harmless, but still not good.
    594         (WebCore::SpeechSynthesis::getVoices): Create the platform speech synthesizer here
    595         so we can get the voice list from it.
    596         (WebCore::SpeechSynthesis::startSpeakingImmediately): Create the platform speech
    597         synthesizer here.
    598         (WebCore::SpeechSynthesis::cancel): Check the platform speech synthesizer for
    599         null and do nothing if it's not present.
    600         (WebCore::SpeechSynthesis::pause): Ditto.
    601         (WebCore::SpeechSynthesis::resume): Ditto.
    602 
    603         * platform/PlatformSpeechSynthesizer.cpp:
    604         (WebCore::PlatformSpeechSynthesizer::create): Don't call initializeVoiceList just
    605         to create a synthesizer.
    606         (WebCore::PlatformSpeechSynthesizer::voiceList): Do call initializeVoiceList once
    607         when asked for a voice list.
    608 
    609         * platform/PlatformSpeechSynthesizer.h: The voiceList function is no longer inlined.
    610         The unused setVoiceList function has been removed. The initializeVoiceList is now
    611         private rather than protected. Added a new m_voiceListIsInitialized boolean.
    612 
    613         * platform/mac/PlatformSpeechSynthesizerMac.mm:
    614         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer): Initialize
    615         m_voiceListIsInitialized to false.
    616 
    617         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
    618         (WebCore::PlatformSpeechSynthesizerMock::create): Don't call initializeVoiceList just
    619         to create a synthesizer.
    620         (WebCore::PlatformSpeechSynthesizerMock::~PlatformSpeechSynthesizerMock):
    621         Removed unneeded call to m_speakingFinishedTimer.stop() since timers automatically
    622         stop when you destroy them.
    623         (WebCore::PlatformSpeechSynthesizerMock::initializeVoiceList): Removed unneeded
    624         call to m_voiceList.clear(), since the caller only calls this once when the
    625         voice list is already clear.
    626 
    627 2013-06-01  Andreas Kling  <akling@apple.com>
    628 
    629         Fix typo in r151071.
    630 
    631         * dom/Element.cpp:
    632         (WebCore::Element::attributeChanged):
    633 
    634 2013-06-01  Andreas Kling  <akling@apple.com>
    635 
    636         Move Node::hasName() to Element.
    637         <http://webkit.org/b/117107>
    638 
    639         Reviewed by Antti Koivisto.
    640 
    641         A Node can't have attributes, and thus can't have a name.
    642         Use a bit on ElementData instead of (half) a Node flag to track whether we have a name.
    643 
    644         * dom/Element.cpp:
    645         (WebCore::Element::attributeChanged):
    646         (WebCore::ElementData::ElementData):
    647         * dom/Element.h:
    648         (WebCore::ElementData::hasName):
    649         (WebCore::Element::hasName):
    650         * dom/Node.h:
    651         (WebCore::Node::isEditingText):
    652 
    653 2013-06-01  Andreas Kling  <akling@apple.com>
    654 
    655         Move Node::hasID() and hasClass() to Element.
    656         <http://webkit.org/b/117104>
    657 
    658         Reviewed by Ryosuke Niwa.
    659 
    660         A Node can't have attributes, and thus can't have an ID or a class.
    661         Move these to Element instead, and fix up a few call sites that called through on a Node*.
    662 
    663         * dom/Element.h:
    664         * dom/LiveNodeList.cpp:
    665         (WebCore::LiveNodeList::namedItem):
    666         * dom/Node.h:
    667         * rendering/RenderLayer.cpp:
    668         (WebCore::RenderLayer::name):
    669         * rendering/RenderTreeAsText.cpp:
    670         (WebCore::RenderTreeAsText::writeRenderObject):
    671         (WebCore::writeRenderRegionList):
    672 
    673 2013-05-31  peavo@outlook.com  <peavo@outlook.com>
    674 
    675         [Curl] Unable to download files.
    676         https://bugs.webkit.org/show_bug.cgi?id=116150
    677 
    678         Reviewed by Brent Fulgham.
    679 
    680         Implemented basic download functionality for Curl.
    681 
    682         * WebCore.vcproj/WebCore.vcproj: Added file.
    683         * WebCore.vcxproj/WebCore.vcxproj: Added file.
    684         * WebCore.vcxproj/WebCore.vcxproj.filters: Added file.
    685         * platform/network/curl/CurlDownload.h: Added.
    686         * platform/network/curl/CurlDownload.cpp: Added.
     14        (WebCore::RenderBlock::layout): Remove call to clearLayoutOverflow.
     15        (WebCore::RenderBlock::finishDelayUpdateScrollInfo): Add call to clearLayoutOverflow.
     16        (WebCore::RenderBlock::updateScrollInfoAfterLayout): Ditto.
     17        (WebCore::RenderBlock::clearLayoutOverflow): ASSERT(!gDelayUpdateScrollInfo) and move from RenderBox to RenderBlock to keep delayed scroll update logic together.
     18        * rendering/RenderBlock.h:
     19        (RenderBlock):
     20        * rendering/RenderBox.cpp:
     21        * rendering/RenderBox.h:
     22        (WebCore::RenderBox::layoutOverflowRect): Remove from layoutOverflowRect.
     23        (RenderBox):
     24        * rendering/RenderDeprecatedFlexibleBox.cpp:
     25        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): This should call updateScrollInfoAfterLayout() intead of directly calling layer()->updateScrollInfoAfterLayout().
     26        * rendering/RenderGrid.cpp:
     27        (WebCore::RenderGrid::layoutBlock): Ditto.
    68728
    688292013-05-31  Anders Carlsson  <andersca@apple.com>
  • trunk/Source/WebCore/page/FrameView.cpp

    r150796 r151146  
    37723772            if (!horizontalWritingMode)
    37733773                overflow = overflow.transposedRect();
    3774             renderView->clearLayoutOverflow();
     3774            renderView->updateScrollAndclearLayoutOverflow();
    37753775            renderView->addLayoutOverflow(overflow); // This is how we clip in case we overflow again.
    37763776        }
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r151117 r151146  
    13941394        for (DelayedUpdateScrollInfoSet::iterator it = infoSet->begin(); it != infoSet->end(); ++it) {
    13951395            RenderBlock* block = *it;
    1396             if (block->hasOverflowClip()) {
    1397                 block->layer()->updateScrollInfoAfterLayout();
    1398             }
     1396            if (block->hasOverflowClip())
     1397                block->updateScrollAndclearLayoutOverflow();
    13991398        }
    14001399    }
     
    14091408            // for items with opposite writing directions, as the contents needs
    14101409            // to overflow in that direction
    1411             layer()->updateScrollInfoAfterLayout();
     1410            updateScrollAndclearLayoutOverflow();
    14121411            return;
    14131412        }
     
    14161415            gDelayedUpdateScrollInfoSet->add(this);
    14171416        else
    1418             layer()->updateScrollInfoAfterLayout();
     1417            updateScrollAndclearLayoutOverflow();
    14191418    }
    14201419}
     
    14311430    // layoutBlock().
    14321431    layoutBlock(false);
    1433    
    1434     // It's safe to check for control clip here, since controls can never be table cells.
    1435     // If we have a lightweight clip, there can never be any overflow from children.
    1436     if (hasControlClip() && m_overflow)
    1437         clearLayoutOverflow();
    14381432
    14391433    invalidateBackgroundObscurationStatus();
     
    18091803    if (isRenderFlowThread())
    18101804        toRenderFlowThread(this)->computeOverflowStateForRegions(oldClientAfterEdge);
     1805}
     1806
     1807void RenderBlock::updateScrollAndclearLayoutOverflow()
     1808{
     1809    ASSERT(!gDelayUpdateScrollInfo);
     1810
     1811    layer()->updateScrollInfoAfterLayout();
     1812
     1813    if (!hasControlClip())
     1814        return;
     1815
     1816    if (!m_overflow)
     1817        return;
     1818   
     1819    if (visualOverflowRect() == borderBoxRect()) {
     1820        m_overflow.clear();
     1821        return;
     1822    }
     1823   
     1824    m_overflow->setLayoutOverflow(borderBoxRect());
    18111825}
    18121826
  • trunk/Source/WebCore/rendering/RenderBlock.h

    r150743 r151146  
    555555public:
    556556    void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFloats = false);
     557    void updateScrollAndclearLayoutOverflow();
    557558protected:
    558559    virtual void addOverflowFromChildren();
  • trunk/Source/WebCore/rendering/RenderBox.cpp

    r150881 r151146  
    42264226}
    42274227
    4228 void RenderBox::clearLayoutOverflow()
    4229 {
    4230     if (!m_overflow)
    4231         return;
    4232    
    4233     if (visualOverflowRect() == borderBoxRect()) {
    4234         m_overflow.clear();
    4235         return;
    4236     }
    4237    
    4238     m_overflow->setLayoutOverflow(borderBoxRect());
    4239 }
    4240 
    42414228inline static bool percentageLogicalHeightIsResolvable(const RenderBox* box)
    42424229{
  • trunk/Source/WebCore/rendering/RenderBox.h

    r150743 r151146  
    192192    void addOverflowFromChild(RenderBox* child) { addOverflowFromChild(child, child->locationOffset()); }
    193193    void addOverflowFromChild(RenderBox* child, const LayoutSize& delta);
    194     void clearLayoutOverflow();
    195194   
    196195    void updateLayerTransform();
  • trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp

    r150038 r151146  
    379379    // Update our scrollbars if we're overflow:auto/scroll/hidden now that we know if
    380380    // we overflow or not.
    381     if (hasOverflowClip())
    382         layer()->updateScrollInfoAfterLayout();
     381    updateScrollInfoAfterLayout();
    383382
    384383    // Repaint with our new bounds if they are different from our old bounds.
  • trunk/Source/WebCore/rendering/RenderGrid.cpp

    r147758 r151146  
    181181    // Update our scroll information if we're overflow:auto/scroll/hidden now that we know if
    182182    // we overflow or not.
    183     if (hasOverflowClip())
    184         layer()->updateScrollInfoAfterLayout();
     183    updateScrollInfoAfterLayout();
    185184
    186185    repainter.repaintAfterLayout();
Note: See TracChangeset for help on using the changeset viewer.