1 2012-03-01 Xingnan Wang <xingnan.wang@intel.com>
3 Enable IPP for Biquad filter
4 https://bugs.webkit.org/show_bug.cgi?id=77509
6 Reviewed by Chris Rogers.
8 Use IIR filter in IPP and improve ~27% performance in linux.
9 Changes are covered by current tests.
11 * platform/audio/Biquad.cpp:
12 (WebCore::Biquad::Biquad):
13 (WebCore::Biquad::~Biquad):
15 (WebCore::Biquad::process):
16 (WebCore::Biquad::reset):
17 (WebCore::Biquad::setLowpassParams):
18 (WebCore::Biquad::setHighpassParams):
19 (WebCore::Biquad::setNormalizedCoefficients):
20 (WebCore::Biquad::setZeroPolePairs):
21 * platform/audio/Biquad.h:
24 2012-03-01 Peter Kotwicz <pkotwicz@google.com>
26 Decouple scrollbar painting from Scrollbar object
27 https://bugs.webkit.org/show_bug.cgi?id=78028
29 Reviewed by James Robinson.
31 Added interface ScrollbarThemeClient which Scrollbar inherits from.
32 This allows painting via ScrollbarTheme with a proxy to a Scrollbar
35 * GNUmakefile.list.am:
38 * WebCore.vcproj/WebCore.vcproj:
39 * WebCore.xcodeproj/project.pbxproj:
40 * platform/Scrollbar.cpp:
41 (WebCore::Scrollbar::scrollbarOverlayStyle):
43 (WebCore::Scrollbar::getTickmarks):
44 (WebCore::Scrollbar::isScrollableAreaActive):
45 (WebCore::Scrollbar::isScrollViewScrollbar):
46 (WebCore::Scrollbar::setFrameRect):
47 * platform/Scrollbar.h:
49 (WebCore::Scrollbar::x):
50 (WebCore::Scrollbar::y):
51 (WebCore::Scrollbar::width):
52 (WebCore::Scrollbar::height):
53 (WebCore::Scrollbar::size):
54 (WebCore::Scrollbar::location):
55 (WebCore::Scrollbar::parent):
56 (WebCore::Scrollbar::root):
57 (WebCore::Scrollbar::frameRect):
58 (WebCore::Scrollbar::invalidate):
59 (WebCore::Scrollbar::convertFromContainingWindow):
60 (WebCore::Scrollbar::isCustomScrollbar):
61 (WebCore::Scrollbar::orientation):
62 (WebCore::Scrollbar::value):
63 (WebCore::Scrollbar::currentPos):
64 (WebCore::Scrollbar::visibleSize):
65 (WebCore::Scrollbar::totalSize):
66 (WebCore::Scrollbar::maximum):
67 (WebCore::Scrollbar::controlSize):
68 (WebCore::Scrollbar::lineStep):
69 (WebCore::Scrollbar::pageStep):
70 (WebCore::Scrollbar::pressedPart):
71 (WebCore::Scrollbar::hoveredPart):
72 (WebCore::Scrollbar::styleChanged):
73 (WebCore::Scrollbar::enabled):
74 * platform/ScrollbarTheme.h:
76 (WebCore::ScrollbarTheme::updateEnabledState):
77 (WebCore::ScrollbarTheme::paint):
78 (WebCore::ScrollbarTheme::hitTest):
79 (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
80 (WebCore::ScrollbarTheme::invalidateParts):
81 (WebCore::ScrollbarTheme::invalidatePart):
82 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
83 (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
84 (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb):
85 (WebCore::ScrollbarTheme::thumbPosition):
86 (WebCore::ScrollbarTheme::thumbLength):
87 (WebCore::ScrollbarTheme::trackPosition):
88 (WebCore::ScrollbarTheme::trackLength):
89 (WebCore::ScrollbarTheme::registerScrollbar):
90 (WebCore::ScrollbarTheme::unregisterScrollbar):
91 * platform/ScrollbarThemeClient.h: Added.
93 (ScrollbarThemeClient):
94 (WebCore::ScrollbarThemeClient::~ScrollbarThemeClient):
95 * platform/ScrollbarThemeComposite.cpp:
96 (WebCore::ScrollbarThemeComposite::paint):
97 (WebCore::ScrollbarThemeComposite::hitTest):
98 (WebCore::ScrollbarThemeComposite::invalidatePart):
99 (WebCore::ScrollbarThemeComposite::splitTrack):
100 (WebCore::usedTotalSize):
101 (WebCore::ScrollbarThemeComposite::thumbPosition):
102 (WebCore::ScrollbarThemeComposite::thumbLength):
103 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
104 (WebCore::ScrollbarThemeComposite::trackPosition):
105 (WebCore::ScrollbarThemeComposite::trackLength):
106 * platform/ScrollbarThemeComposite.h:
107 (ScrollbarThemeComposite):
108 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
109 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
110 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
111 (WebCore::ScrollbarThemeComposite::paintButton):
112 (WebCore::ScrollbarThemeComposite::paintThumb):
113 (WebCore::ScrollbarThemeComposite::paintTickmarks):
114 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
115 * platform/chromium/ScrollbarThemeChromium.cpp:
116 (WebCore::ScrollbarThemeChromium::hasThumb):
117 (WebCore::ScrollbarThemeChromium::backButtonRect):
118 (WebCore::ScrollbarThemeChromium::forwardButtonRect):
119 (WebCore::ScrollbarThemeChromium::trackRect):
120 (WebCore::ScrollbarThemeChromium::paintTrackBackground):
121 (WebCore::ScrollbarThemeChromium::paintTickmarks):
122 * platform/chromium/ScrollbarThemeChromium.h:
123 (WebCore::ScrollbarThemeChromium::hasButtons):
124 (ScrollbarThemeChromium):
125 * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
126 (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
127 (WebCore::ScrollbarThemeChromiumAndroid::shouldCenterOnThumb):
128 (WebCore::ScrollbarThemeChromiumAndroid::buttonSize):
129 (WebCore::ScrollbarThemeChromiumAndroid::minimumThumbLength):
130 * platform/chromium/ScrollbarThemeChromiumAndroid.h:
131 (ScrollbarThemeChromiumAndroid):
132 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
133 (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
134 (WebCore::ScrollbarThemeChromiumLinux::paintButton):
135 (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
136 (WebCore::ScrollbarThemeChromiumLinux::shouldCenterOnThumb):
137 (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
138 (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
139 * platform/chromium/ScrollbarThemeChromiumLinux.h:
140 (ScrollbarThemeChromiumLinux):
141 * platform/chromium/ScrollbarThemeChromiumMac.h:
142 (ScrollbarThemeChromiumMac):
143 * platform/chromium/ScrollbarThemeChromiumMac.mm:
144 (WebCore::scrollbarStateToThemeState):
145 (WebCore::ScrollbarThemeChromiumMac::paint):
146 (WebCore::ScrollbarThemeChromiumMac::paintGivenTickmarks):
147 * platform/chromium/ScrollbarThemeChromiumWin.cpp:
148 (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
149 (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
150 (WebCore::ScrollbarThemeChromiumWin::paintButton):
151 (WebCore::ScrollbarThemeChromiumWin::paintThumb):
152 (WebCore::ScrollbarThemeChromiumWin::getThemeState):
153 (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
154 (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
155 (WebCore::ScrollbarThemeChromiumWin::shouldCenterOnThumb):
156 (WebCore::ScrollbarThemeChromiumWin::buttonSize):
157 * platform/chromium/ScrollbarThemeChromiumWin.h:
158 (ScrollbarThemeChromiumWin):
159 * platform/efl/ScrollbarThemeEfl.cpp:
160 (WebCore::ScrollbarThemeEfl::registerScrollbar):
161 (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
162 * platform/efl/ScrollbarThemeEfl.h:
164 * platform/gtk/ScrollbarThemeGtk.cpp:
166 (WebCore::ScrollbarThemeGtk::registerScrollbar):
167 (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
168 (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
169 (WebCore::ScrollbarThemeGtk::hasThumb):
170 (WebCore::ScrollbarThemeGtk::backButtonRect):
171 (WebCore::ScrollbarThemeGtk::forwardButtonRect):
172 (WebCore::ScrollbarThemeGtk::trackRect):
173 (WebCore::ScrollbarThemeGtk::thumbRect):
174 (WebCore::ScrollbarThemeGtk::paint):
175 (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb):
176 (WebCore::ScrollbarThemeGtk::buttonSize):
177 (WebCore::ScrollbarThemeGtk::minimumThumbLength):
178 * platform/gtk/ScrollbarThemeGtk.h:
179 (WebCore::ScrollbarThemeGtk::hasButtons):
181 * platform/gtk/ScrollbarThemeGtk2.cpp:
182 (WebCore::getWidgetForScrollbar):
183 (WebCore::ScrollbarThemeGtk::paintTrackBackground):
184 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
185 (WebCore::ScrollbarThemeGtk::paintThumb):
186 (WebCore::ScrollbarThemeGtk::paintButton):
187 * platform/gtk/ScrollbarThemeGtk3.cpp:
188 (WebCore::ScrollbarThemeGtk::paintTrackBackground):
189 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
190 (WebCore::ScrollbarThemeGtk::paintThumb):
191 (WebCore::ScrollbarThemeGtk::paintButton):
192 * platform/mac/ScrollbarThemeMac.h:
194 * platform/mac/ScrollbarThemeMac.mm:
196 (WebCore::ScrollbarThemeMac::registerScrollbar):
197 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
198 (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
199 (WebCore::ScrollbarThemeMac::painterForScrollbar):
200 (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
201 (WebCore::ScrollbarThemeMac::hasButtons):
202 (WebCore::ScrollbarThemeMac::hasThumb):
203 (WebCore::ScrollbarThemeMac::backButtonRect):
204 (WebCore::ScrollbarThemeMac::forwardButtonRect):
205 (WebCore::ScrollbarThemeMac::trackRect):
206 (WebCore::ScrollbarThemeMac::minimumThumbLength):
207 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
208 (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb):
209 (WebCore::ScrollbarThemeMac::updateEnabledState):
210 (WebCore::ScrollbarThemeMac::paint):
211 * platform/mock/ScrollbarThemeMock.cpp:
212 (WebCore::ScrollbarThemeMock::trackRect):
213 (WebCore::ScrollbarThemeMock::paintTrackBackground):
214 (WebCore::ScrollbarThemeMock::paintThumb):
215 * platform/mock/ScrollbarThemeMock.h:
216 (WebCore::ScrollbarThemeMock::hasButtons):
217 (WebCore::ScrollbarThemeMock::hasThumb):
218 (WebCore::ScrollbarThemeMock::backButtonRect):
219 (WebCore::ScrollbarThemeMock::forwardButtonRect):
220 (ScrollbarThemeMock):
221 * platform/qt/ScrollbarThemeQt.cpp:
222 (WebCore::styleOptionSlider):
223 (WebCore::ScrollbarThemeQt::paint):
224 (WebCore::ScrollbarThemeQt::hitTest):
225 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
226 (WebCore::ScrollbarThemeQt::invalidatePart):
227 (WebCore::ScrollbarThemeQt::thumbPosition):
228 (WebCore::ScrollbarThemeQt::thumbLength):
229 (WebCore::ScrollbarThemeQt::trackPosition):
230 (WebCore::ScrollbarThemeQt::trackLength):
231 * platform/qt/ScrollbarThemeQt.h:
233 * platform/win/ScrollbarThemeSafari.cpp:
234 (WebCore::ScrollbarThemeSafari::hasButtons):
235 (WebCore::ScrollbarThemeSafari::hasThumb):
236 (WebCore::ScrollbarThemeSafari::backButtonRect):
237 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
238 (WebCore::ScrollbarThemeSafari::trackRect):
239 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
240 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
241 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
242 (WebCore::ScrollbarThemeSafari::paintButton):
243 (WebCore::ScrollbarThemeSafari::paintThumb):
244 * platform/win/ScrollbarThemeSafari.h:
245 (ScrollbarThemeSafari):
246 * platform/win/ScrollbarThemeWin.cpp:
247 (WebCore::ScrollbarThemeWin::hasThumb):
248 (WebCore::ScrollbarThemeWin::backButtonRect):
249 (WebCore::ScrollbarThemeWin::forwardButtonRect):
250 (WebCore::ScrollbarThemeWin::trackRect):
251 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
252 (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
253 (WebCore::ScrollbarThemeWin::paintTrackBackground):
254 (WebCore::ScrollbarThemeWin::paintTrackPiece):
255 (WebCore::ScrollbarThemeWin::paintButton):
256 (WebCore::paintGripper):
257 (WebCore::ScrollbarThemeWin::paintThumb):
258 * platform/win/ScrollbarThemeWin.h:
259 (WebCore::ScrollbarThemeWin::hasButtons):
261 * platform/wx/ScrollbarThemeWx.cpp:
262 (WebCore::ScrollbarThemeWx::hasThumb):
263 (WebCore::ScrollbarThemeWx::minimumThumbLength):
264 (WebCore::ScrollbarThemeWx::buttonSize):
265 (WebCore::ScrollbarThemeWx::splitTrack):
266 (WebCore::ScrollbarThemeWx::backButtonRect):
267 (WebCore::ScrollbarThemeWx::forwardButtonRect):
268 (WebCore::ScrollbarThemeWx::trackRect):
269 (WebCore::ScrollbarThemeWx::paint):
270 * platform/wx/ScrollbarThemeWx.h:
272 (WebCore::ScrollbarThemeWx::hasButtons):
273 * rendering/RenderScrollbar.h:
274 (WebCore::toRenderScrollbar):
275 * rendering/RenderScrollbarTheme.cpp:
276 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
277 (WebCore::RenderScrollbarTheme::hasButtons):
278 (WebCore::RenderScrollbarTheme::hasThumb):
279 (WebCore::RenderScrollbarTheme::minimumThumbLength):
280 (WebCore::RenderScrollbarTheme::backButtonRect):
281 (WebCore::RenderScrollbarTheme::forwardButtonRect):
282 (WebCore::RenderScrollbarTheme::trackRect):
283 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
284 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
285 (WebCore::RenderScrollbarTheme::paintTrackBackground):
286 (WebCore::RenderScrollbarTheme::paintTrackPiece):
287 (WebCore::RenderScrollbarTheme::paintButton):
288 (WebCore::RenderScrollbarTheme::paintThumb):
289 * rendering/RenderScrollbarTheme.h:
290 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
291 (WebCore::RenderScrollbarTheme::registerScrollbar):
292 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
293 (RenderScrollbarTheme):
295 2012-03-01 Luke Macpherson <macpherson@chromium.org>
297 Implement CSSPropertyImageRendering in CSSStyleApplyProperty.
298 https://bugs.webkit.org/show_bug.cgi?id=79855
300 Reviewed by Eric Seidel.
302 No new tests / refactoring only.
304 * css/CSSStyleApplyProperty.cpp:
305 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
306 * css/CSSStyleSelector.cpp:
307 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
309 2012-03-01 Alok Priyadarshi <alokp@chromium.org>
311 [chromium] Partial texture updates not happening with accelerated painting path
312 https://bugs.webkit.org/show_bug.cgi?id=80040
314 Reviewed by James Robinson.
316 The order of y-flip and clip-rect was opposite of what it should be.
317 The clip rect was not properly transformed to account for y-flip and hence clipping everything.
319 * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
320 (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
322 2012-03-01 Alexey Proskuryakov <ap@apple.com>
324 FileReader read speed is way too low
325 https://bugs.webkit.org/show_bug.cgi?id=77272
327 Reviewed by Oliver Hunt.
329 This brings performance to reasonable range, but certainly doesn't exhaust improvement opportunities.
331 * platform/network/BlobResourceHandle.cpp: Use a more appropriate block size. Performing
332 cross-thread messaging for every 1024 bytes is slow.
334 2012-03-01 Dan Bernstein <mitz@apple.com>
336 ScrollView::setFrameRect() calls contentsResized() even when the frame size is unchanged
337 https://bugs.webkit.org/show_bug.cgi?id=80047
339 Reviewed by Anders Carlsson.
341 * platform/ScrollView.cpp:
342 (WebCore::ScrollView::setFrameRect): Added a check that the new frame size differs from the
343 old one before calling contentsResized().
345 2012-03-01 James Robinson <jamesr@chromium.org>
347 [chromium] Move pageScaleDirty logic from LayerChromium to GraphicsLayerChromium
348 https://bugs.webkit.org/show_bug.cgi?id=79714
350 Reviewed by Adrienne Walker.
352 When the page scale changes on a composited layer we need to invalidate all of the contents on the layer in
353 order to repaint them at the new scale. The sequence of calls we get make this a bit tricky, since we first
354 receive a page scale changed notification and then receive the new layer bounds. The solution is to defer the
355 invalidation until we have the new layer bounds, which landed in r99774.
357 This moves that logic from LayerChromium into GraphicsLayerChromium since IMO this is pretty particular to the
358 way WebCore is passing us invalidations and not something fundamental to the compositor.
360 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
361 (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
362 (WebCore::GraphicsLayerChromium::setSize):
363 (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
364 * platform/graphics/chromium/GraphicsLayerChromium.h:
365 * platform/graphics/chromium/LayerChromium.cpp:
366 (WebCore::LayerChromium::LayerChromium):
367 (WebCore::LayerChromium::setBounds):
368 * platform/graphics/chromium/LayerChromium.h:
371 2012-03-01 Joe Thomas <joethomas@motorola.com>
373 :empty still applies to elements made non-empty via page dynamics.
374 https://bugs.webkit.org/show_bug.cgi?id=79734
376 Check for :empty style change should be made even if the RenderStyle for the element is NULL
377 as changes to the element's children can trigger a change in :empty state of the parent element.
379 Reviewed by Antti Koivisto.
381 Test: fast/selectors/empty-element-made-non-empty.html
384 (WebCore::checkForSiblingStyleChanges):
386 2012-02-29 Nat Duca <nduca@chromium.org>
388 [chromium] Move context lost control code from CCSingleThreadProxy to CCLayerTreeHost
389 https://bugs.webkit.org/show_bug.cgi?id=79964
391 Reviewed by James Robinson.
393 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
394 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
395 (WebCore::CCLayerTreeHost::initializeLayerRenderer):
396 (WebCore::CCLayerTreeHost::recreateContext):
397 (WebCore::CCLayerTreeHost::createContext):
398 (WebCore::CCLayerTreeHost::didLoseContext):
399 (WebCore::CCLayerTreeHost::compositeAndReadback):
400 (WebCore::CCLayerTreeHost::loseContext):
401 (WebCore::CCLayerTreeHost::updateLayers):
402 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
403 (CCLayerTreeHostClient):
405 * platform/graphics/chromium/cc/CCProxy.h:
407 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
408 (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
409 (WebCore::CCSingleThreadProxy::compositeAndReadback):
410 (WebCore::CCSingleThreadProxy::initializeContext):
411 (WebCore::CCSingleThreadProxy::recreateContext):
413 (WebCore::CCSingleThreadProxy::loseContext):
414 (WebCore::CCSingleThreadProxy::compositeImmediately):
415 (WebCore::CCSingleThreadProxy::doComposite):
416 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
417 (CCSingleThreadProxy):
418 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
419 (WebCore::CCThreadProxy::initializeContext):
420 (WebCore::CCThreadProxy::recreateContext):
422 (WebCore::CCThreadProxy::loseContext):
423 * platform/graphics/chromium/cc/CCThreadProxy.h:
426 2012-03-01 Abhishek Arya <inferno@chromium.org>
428 Prevent layout root to remain set on renderers getting destroyed.
429 https://bugs.webkit.org/show_bug.cgi?id=79953
431 Reviewed by Eric Seidel.
433 Implement Julien Chaffraix's idea.
436 (WebCore::FrameView::clearLayoutRoot): helper to clear layout root.
437 * rendering/RenderObject.cpp:
438 (WebCore::clearLayoutRootIfNeeded): if we know we are going
439 away and we are the view's layout root, then we need to reset the layout
440 root to prevent being used.
442 (WebCore::RenderObject::willBeDestroyed): call clearLayoutRootIfNeeded at end.
444 2012-03-01 Kangil Han <kangil.han@samsung.com>
446 [DRT] Remove all PlainTextController usages in existing tests by adding internal API
447 https://bugs.webkit.org/show_bug.cgi?id=78570
449 Reviewed by Hajime Morita.
451 This patch will remove all PlainTextController usages
452 in existing DRT tests by adding internal API to WebCore/testing/Internals
454 Changed editing/text-iterator/script-tests/basic-iteration.js to use internals.rangeAsText
456 * testing/Internals.cpp:
457 (WebCore::Internals::rangeAsText):
459 * testing/Internals.h:
461 * testing/Internals.idl:
463 2012-03-01 Adam Barth <abarth@webkit.org>
465 DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
466 https://bugs.webkit.org/show_bug.cgi?id=80013
468 Reviewed by Kentaro Hara.
470 Before this patch, DOMWindow still knew about IDB because of the
471 database factory. This patch moves the factory to
472 DOMWindowIndexedDatabase.
474 * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
475 (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
476 (WebCore::DOMWindowIndexedDatabase::from):
478 (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
479 (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
480 * Modules/indexeddb/DOMWindowIndexedDatabase.h:
481 (DOMWindowIndexedDatabase):
482 * page/DOMWindow.cpp:
483 (WebCore::DOMWindow::~DOMWindow):
484 (WebCore::DOMWindow::clear):
489 2012-03-01 Anders Carlsson <andersca@apple.com>
491 Glitchy scrolling on pages where the scroll layer needs to be updated on the main thread
492 https://bugs.webkit.org/show_bug.cgi?id=80038
493 <rdar://problem/10933831>
495 Reviewed by Simon Fraser.
497 When we need to update the scroll layer position on the main thread, we need to cache the
498 scroll position we sent to the main thread and assume that that's the correct scroll position.
500 * page/scrolling/mac/ScrollingTreeNodeMac.h:
501 (ScrollingTreeNodeMac):
502 * page/scrolling/mac/ScrollingTreeNodeMac.mm:
503 (WebCore::ScrollingTreeNodeMac::update):
504 (WebCore::ScrollingTreeNodeMac::setScrollPosition):
505 (WebCore::ScrollingTreeNodeMac::scrollPosition):
507 2012-03-01 Julien Chaffraix <jchaffraix@webkit.org>
509 Unreviewed, rolling out r109367.
510 http://trac.webkit.org/changeset/109367
511 https://bugs.webkit.org/show_bug.cgi?id=75568
513 Some tests started to fail in a non obvious way.
515 * rendering/RenderBlock.cpp:
516 (WebCore::RenderBlock::updateScrollInfoAfterLayout):
517 (WebCore::RenderBlock::layoutBlock):
518 (WebCore::RenderBlock::paint):
519 (WebCore::RenderBlock::isPointInOverflowControl):
520 * rendering/RenderBlock.h:
522 * rendering/RenderBox.cpp:
523 (WebCore::RenderBox::willBeDestroyed):
524 (WebCore::RenderBox::styleDidChange):
525 (WebCore::RenderBox::scrollWidth):
526 (WebCore::RenderBox::scrollHeight):
527 (WebCore::RenderBox::scrollLeft):
528 (WebCore::RenderBox::scrollTop):
529 (WebCore::RenderBox::setScrollLeft):
530 (WebCore::RenderBox::setScrollTop):
531 (WebCore::RenderBox::includeVerticalScrollbarSize):
532 (WebCore::RenderBox::includeHorizontalScrollbarSize):
533 (WebCore::RenderBox::scrolledContentOffset):
534 (WebCore::RenderBox::cachedSizeForOverflowClip):
535 (WebCore::RenderBox::pushContentsClip):
536 (WebCore::RenderBox::popContentsClip):
537 (WebCore::RenderBox::addLayoutOverflow):
538 * rendering/RenderBox.h:
541 * rendering/RenderBoxModelObject.cpp:
543 (WebCore::RenderBoxModelObject::styleDidChange):
544 * rendering/RenderBoxModelObject.h:
545 (WebCore::RenderBoxModelObject::requiresLayer):
546 (RenderBoxModelObject):
547 * rendering/RenderDeprecatedFlexibleBox.cpp:
548 (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
549 * rendering/RenderTableRow.h:
550 (WebCore::RenderTableRow::requiresLayer):
552 2012-03-01 Kenichi Ishibashi <bashi@chromium.org>
554 REGRESSION: Outlook 2007 doesn't display fonts correctly on emails composed by WebKit
555 https://bugs.webkit.org/show_bug.cgi?id=79448
557 Reviewed by Ryosuke Niwa.
559 Don't produce single quotes around face attribute of font elements.
561 Test: editing/style/font-face-unquote.html
563 * editing/EditingStyle.cpp:
564 (WebCore::StyleChange::extractTextStyles): Remove single quotes from m_applyFontFace.
566 2012-03-01 Beth Dakin <bdakin@apple.com>
568 Reviewed by Kevin Decker.
570 Part of https://bugs.webkit.org/show_bug.cgi?id=79705
572 Here's some of that tweaking promised in the comment. Adjusting
573 gMaximumUnpaintedAreaRatio down a bit.
577 2012-03-01 Levi Weintraub <leviw@chromium.org>
579 Add roundToInt method for LayoutUnits
580 https://bugs.webkit.org/show_bug.cgi?id=79283
582 Reviewed by Eric Seidel.
584 Adding a roundToInt method that rounds a LayoutUnit to the nearest integer. This
585 only has an effect once we switch to sub-pixel positioning. Points and offsets
586 are rounded for painting and hit testing.
588 No new tests. No change in behavior.
590 * dom/MouseRelatedEvent.cpp:
591 (WebCore::MouseRelatedEvent::offsetX):
592 (WebCore::MouseRelatedEvent::offsetY):
593 * html/shadow/MediaControlElements.cpp:
594 (WebCore::MediaControlTextTrackContainerElement::updateSizes):
595 * rendering/LayoutState.cpp:
596 (WebCore::LayoutState::computeLineGridPaginationOrigin):
597 * rendering/LayoutTypes.h:
598 (WebCore::roundToInt): Stub until we switch to sub-pixel LayoutUnits.
600 * rendering/RenderBlock.cpp:
601 (WebCore::RenderBlock::pageLogicalTopForOffset):
602 * rendering/RenderBlock.h:
603 (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Correcting to use the
604 pixel snapped methods on FloatingObjects and removing the fixme.
605 (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat): Ditto.
606 (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat): Ditto.
607 (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat): Ditto.
608 (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat): Ditto.
609 (WebCore::RenderBlock::pixelSnappedLogicalWidthForFloat): Ditto.
610 * rendering/RenderBlockLineLayout.cpp:
611 (WebCore::LineWidth::updateAvailableWidth):
612 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Using
613 pixelSnappedLogicalLeft/RightOffsetForLine convenience methods for line layout. When
614 we switch to sub-pixel positioning, we still pixel snap blocks before painting them,
615 but text is rendered using floats. We need to ensure the text is laid out using the
616 actual pixel width of the containing block to avoid bleeding out of the block.
617 * rendering/RenderBoxModelObject.h: Moving the fixme to pixelSnappedWidth/Height and
618 adding the necessary rounding for Left/Top.
619 (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
620 (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
621 * rendering/RenderLayer.cpp:
622 (WebCore::RenderLayer::scrollRectToVisible):
623 * rendering/RenderListBox.cpp:
624 (WebCore::RenderListBox::scrollHeight): Rounding the height for scrollHeight. Scrolling
625 always uses rounded values.
626 * rendering/svg/RenderSVGRoot.cpp:
627 (WebCore::RenderSVGRoot::localToParentTransform): Similar to the line box tree, since
628 SVG renders using floats, we need to start with pixel snapped values from the render
629 tree or we'll end up with the contents not properly aligned to the rest of the page.
630 * rendering/svg/SVGRenderSupport.cpp:
631 (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
633 2012-03-01 Pavel Feldman <pfeldman@chromium.org>
635 Web Inspector: arrays in object properties sections do not scale.
636 https://bugs.webkit.org/show_bug.cgi?id=64596
638 Reviewed by Vsevolod Vlasov.
640 Test: inspector/console/console-big-array.html
642 * inspector/front-end/ConsoleMessage.js:
643 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
644 (WebInspector.ConsoleMessageImpl.prototype._printArray):
645 * inspector/front-end/ObjectPropertiesSection.js:
646 (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
647 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
648 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
649 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
650 (WebInspector.ArrayGroupingTreeElement):
651 (WebInspector.ArrayGroupingTreeElement.populateAsArray):
652 (WebInspector.ArrayGroupingTreeElement._populate.appendElement):
653 (WebInspector.ArrayGroupingTreeElement._populate):
654 (WebInspector.ArrayGroupingTreeElement.prototype.onpopulate):
655 * inspector/front-end/RemoteObject.js:
656 (WebInspector.RemoteObject.prototype.release):
657 (WebInspector.RemoteObject.prototype.arrayLength):
658 (WebInspector.LocalJSONObject.prototype.isError):
659 (WebInspector.LocalJSONObject.prototype.arrayLength):
660 * inspector/front-end/ScopeChainSidebarPane.js:
661 (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath):
662 * inspector/front-end/StylesSidebarPane.js:
663 (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
664 * inspector/front-end/inspector.css:
665 (.console-formatted-object, .console-formatted-node, .console-formatted-array):
666 (.console-formatted-object .section, .console-formatted-node .section, .console-formatted-array .section):
668 2012-03-01 Adam Barth <abarth@webkit.org>
670 Unreviewed, rolling out r109336.
671 http://trac.webkit.org/changeset/109336
672 https://bugs.webkit.org/show_bug.cgi?id=80013
674 It's causing some crashes
676 * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
677 (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
678 (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
679 * Modules/indexeddb/DOMWindowIndexedDatabase.h:
680 (DOMWindowIndexedDatabase):
681 * page/DOMWindow.cpp:
682 (WebCore::DOMWindow::~DOMWindow):
683 (WebCore::DOMWindow::clear):
685 (WebCore::DOMWindow::setIDBFactory):
688 (WebCore::DOMWindow::idbFactory):
690 2012-03-01 Tom Sepez <tsepez@chromium.org>
692 Move m_frame protector from FrameLoader::changeLocation to FrameLoader::urlSelected
693 https://bugs.webkit.org/show_bug.cgi?id=79882
695 Reviewed by Adam Barth.
697 Test: fast/frames/url-selected-crash.html
699 * loader/FrameLoader.cpp:
700 (WebCore::FrameLoader::changeLocation):
701 (WebCore::FrameLoader::urlSelected):
703 2012-03-01 Julien Chaffraix <jchaffraix@webkit.org>
705 Lazily allocate overflow: hidden layers if we have overflowing content
706 https://bugs.webkit.org/show_bug.cgi?id=75568
708 Reviewed by David Hyatt.
710 Change covered by the existing tests and the tons of rebaselines.
712 This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
714 Apart from saving some memory, it will also speed up the rendering as we don't need to
715 go through the layer's machinery when painting and hit testing.
717 On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
718 overflow: hidden case in par with the overflow: visible case when scrolling that is a
719 very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).
721 * rendering/RenderBlock.cpp:
722 (WebCore::RenderBlock::updateScrollInfoAfterLayout):
723 Changed this method to update our size cache if needed.
725 * rendering/RenderBlock.cpp:
726 (WebCore::RenderBlock::layoutBlock):
727 (WebCore::RenderBlock::paint):
728 (WebCore::RenderBlock::isPointInOverflowControl):
729 * rendering/RenderBlock.h:
731 * rendering/RenderBox.cpp:
732 (WebCore::RenderBox::styleDidChange):
733 (WebCore::RenderBox::scrollWidth):
734 (WebCore::RenderBox::scrollHeight):
735 (WebCore::RenderBox::scrollLeft):
736 (WebCore::RenderBox::scrollTop):
737 (WebCore::RenderBox::setScrollLeft):
738 (WebCore::RenderBox::setScrollTop):
739 (WebCore::RenderBox::includeVerticalScrollbarSize):
740 (WebCore::RenderBox::includeHorizontalScrollbarSize):
741 (WebCore::RenderBox::pushContentsClip):
742 (WebCore::RenderBox::popContentsClip):
743 (WebCore::RenderBox::addLayoutOverflow):
744 Added layer() check to the previous call sites.
746 * rendering/RenderBoxModelObject.cpp:
747 (WebCore::RenderBoxModelObject::ensureLayer):
748 Added this function to create and add a new layer.
750 (WebCore::RenderBoxModelObject::willBeDestroyed):
752 (WebCore::RenderBoxModelObject::styleDidChange):
753 Patched those method to handle updating / removing
756 (WebCore::cachedSizeForOverflowClipMap):
757 (WebCore::RenderBoxModelObject::cachedSizeForOverflowClip):
758 (WebCore::RenderBoxModelObject::updateCachedSizeForOverflowClip):
759 (WebCore::RenderBoxModelObject::clearCachedSizeForOverflowClip):
760 This logic stores the size information for later repainting.
761 It is in practice replicating what RenderLayer is doing.
763 * rendering/RenderBoxModelObject.h:
764 (WebCore::RenderBoxModelObject::requiresLayer):
765 Updated to call requiresLayerForOverflowClip.
767 (WebCore::RenderBoxModelObject::requiresLayerForOverflowClip):
768 Added this method to check if we can lazily allocate the layer.
770 * rendering/RenderDeprecatedFlexibleBox.cpp:
771 (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
772 Removed some checks as they are part of updateScrollInfoAfterLayout.
774 * rendering/RenderObject.cpp:
775 (WebCore::RenderObject::scrolledContentOffset):
776 Added a layer() check.
778 * rendering/RenderTableRow.h:
780 Added a comment about why we need a layout for table rows.
782 2012-03-01 Abhishek Arya <inferno@chromium.org>
784 Protect functions using two container node function, each of which can fire mutation events.
785 https://bugs.webkit.org/show_bug.cgi?id=78397
787 Reviewed by Ryosuke Niwa.
789 Tests: fast/dom/document-set-title-mutation-crash.html
790 fast/dom/option-text-mutation-crash.html
793 (WebCore::Node::setTextContent):
795 (WebCore::Text::replaceWholeText):
796 * editing/markup.cpp:
797 (WebCore::trimFragment):
798 (WebCore::replaceChildrenWithFragment):
799 (WebCore::replaceChildrenWithText):
800 * html/HTMLOptionElement.cpp:
801 (WebCore::HTMLOptionElement::setText):
802 * html/HTMLScriptElement.cpp:
803 (WebCore::HTMLScriptElement::setText):
804 * html/HTMLTableElement.cpp:
805 (WebCore::HTMLTableElement::insertRow):
806 * html/HTMLTextAreaElement.cpp:
807 (WebCore::HTMLTextAreaElement::setDefaultValue):
808 * html/HTMLTitleElement.cpp:
809 (WebCore::HTMLTitleElement::setText):
811 2012-03-01 Alexey Proskuryakov <ap@apple.com>
813 Some trivial file stream cleanup
814 https://bugs.webkit.org/show_bug.cgi?id=79955
816 Reviewed by Sam Weinig.
818 No change in functionality.
820 * fileapi/FileStreamProxy.cpp: Tweaked comment, and added copyright for earlier changes.
822 * fileapi/FileStreamProxy.h: Added a FIXME telling that this should be in platform.
824 * platform/AsyncFileStream.h: Tweaked includes and added a FIXME about this to stop being
827 * platform/FileStreamClient.h: Removed obvious comments, and added ones explaing in-band
830 * platform/network/BlobResourceHandle.cpp: Removed an include outside of platform, and an
833 2012-03-01 Shinya Kawanaka <shinyak@chromium.org>
835 Appending ShadowRoot into an element should not cause crash.
836 https://bugs.webkit.org/show_bug.cgi?id=79620
838 Reviewed by Dimitri Glazkov.
840 We should treat ShadowRoot as a document fragment.
842 Test: fast/dom/shadow/shadow-root-append.html
844 * dom/ContainerNode.cpp:
845 (WebCore::collectTargetNodes):
847 2012-03-01 Pavel Podivilov <podivilov@chromium.org>
849 Web Inspector: use live location to update console message bubbles.
850 https://bugs.webkit.org/show_bug.cgi?id=80023
852 Reviewed by Vsevolod Vlasov.
854 * inspector/front-end/DebuggerPresentationModel.js:
855 (WebInspector.DebuggerPresentationModel):
856 (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
857 (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
858 (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript.updateLocation):
859 (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
860 (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessage):
861 (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessagesToScript):
862 (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
863 (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
864 (WebInspector.DebuggerPresentationModel.prototype._scriptForURLAndLocation):
865 (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
866 * inspector/front-end/RawSourceCode.js:
867 (WebInspector.RawSourceCode):
869 2012-03-01 Vsevolod Vlasov <vsevik@chromium.org>
871 Web Inspector: [InspectorIndexedDB] Show tooltips with IndexedDB objects meta information
872 https://bugs.webkit.org/show_bug.cgi?id=80022
874 Reviewed by Pavel Feldman.
876 Added tooltips with meta information for IndexedDB databases, object stores and indexes.
877 Added keyPath: prefix to key columns in IndexedDB data grid.
879 * English.lproj/localizedStrings.js:
880 * inspector/front-end/IndexedDBViews.js:
881 (WebInspector.IDBDataView.prototype._createDataGrid):
882 (WebInspector.IDBDataView.prototype._keyPathHeader):
883 * inspector/front-end/ResourcesPanel.js:
884 (WebInspector.IDBDatabaseTreeElement.prototype.update):
885 (WebInspector.IDBDatabaseTreeElement.prototype._updateTooltip):
886 (WebInspector.IDBObjectStoreTreeElement.prototype.update):
887 (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
888 (WebInspector.IDBIndexTreeElement.prototype.update):
889 (WebInspector.IDBIndexTreeElement.prototype._updateTooltip):
891 2012-03-01 Pavel Feldman <pfeldman@google.com>
893 Web Inspector: hide color picker on Esc and Enter.
894 https://bugs.webkit.org/show_bug.cgi?id=79915
896 Reviewed by Vsevolod Vlasov.
898 * inspector/front-end/Spectrum.js:
899 (WebInspector.Spectrum.prototype.reposition):
900 (WebInspector.Spectrum.prototype.hide):
901 (WebInspector.Spectrum.prototype._onKeyDown):
903 2012-03-01 Huang Dongsung <luxtella@company100.net>
905 [Qt] Fixed incorrect size pixmap creation for a new transparency layer.
906 https://bugs.webkit.org/show_bug.cgi?id=79658
908 If QPainter does not have clipping, beginPlatformTransparencyLayer can create
909 wrong size pixmap, so it causes incorrect rendering.
911 Reviewed by Simon Hausmann.
913 * platform/graphics/qt/GraphicsContextQt.cpp:
914 (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
916 2012-03-01 Simon Hausmann <simon.hausmann@nokia.com>
918 [Qt] Remove dead style option code.
919 https://bugs.webkit.org/show_bug.cgi?id=80017
921 Reviewed by Kenneth Rohde Christiansen.
923 QtStyleOptionWebComboBox provides functionality (bool multiple()) that
924 is not called from anywhere (and the base class does not have it as a
928 * platform/qt/QtStyleOptionWebComboBox.h: Removed.
929 * platform/qt/RenderThemeQStyle.cpp:
930 (WebCore::RenderThemeQStyle::paintMenuList):
931 (WebCore::RenderThemeQStyle::paintMenuListButton):
933 2012-03-01 Stephen Chenney <schenney@chromium.org>
935 Crash in WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget
936 https://bugs.webkit.org/show_bug.cgi?id=79831
938 Reviewed by Eric Seidel.
940 Out-of-order operations in the SVGSMILElement::removedFromDocument
941 method caused its target to be removed and then re-added due to a
942 later call. This led to the target being set on the animation while
943 the target element itself was unaware. At deletion time, this caused a
944 crash (or assert in debug builds). Thanks to Abhishek Arya for help
945 with the layout test.
947 Test: svg/animations/smil-element-target-crash-main.html
949 * svg/animation/SVGSMILElement.cpp:
950 (WebCore::SVGSMILElement::removedFromDocument):
952 2012-03-01 Ilya Tikhonovsky <loislo@chromium.org>
954 Web Inspector: move heap snapshot nodes data to external array.
955 https://bugs.webkit.org/show_bug.cgi?id=79911
957 Reviewed by Vsevolod Vlasov.
961 heap-shapshot-loader.html
963 * inspector/front-end/HeapSnapshot.js:
964 (WebInspector.Int32Array):
965 (WebInspector.Int32Array.prototype.get array):
966 (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
967 (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
968 (WebInspector.HeapSnapshot):
969 (WebInspector.HeapSnapshot.prototype._init):
971 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
973 Introduce SMIL overrideStyle, to make SVG stop mutating CSS styles directly
974 https://bugs.webkit.org/show_bug.cgi?id=79790
976 Reviewed by Zoltan Herczeg.
978 Next step towards enabling animVal support for XML attribute animations.
979 When SVG CSS properties are animated using SMIL, we currently mutate
980 the target elements style, and have to keep a baseValue around as String
981 to be able to recover from the DOM mutations at the end, if fill!="freeze".
983 The approach required by SMIL is to keep around an override style declaration
984 set and apply it right after the inline style declarations. Implement that
985 finally, to avoid mutating styles directly.
987 Test: svg/animations/attributeTypes.html
989 * css/CSSStyleSelector.cpp: Model "SMIL animation style" applying just like "inline style" declarations.
990 (WebCore::CSSStyleSelector::addElementStyleProperties): Refactored common code from matchAllRules().
991 (WebCore::CSSStyleSelector::matchAllRules): Apply "SMIL animation style" after "inline style" declarations, as specified in SMIL2.
992 * css/CSSStyleSelector.h: Add new addElementStyleProperties() helper.
993 * svg/SVGAnimateElement.cpp: Keep track of animation state, if it's about to end, clear "SMIL animation style" upon next applyResultToTarget() call.
994 (WebCore::SVGAnimateElement::SVGAnimateElement):
995 (WebCore::SVGAnimateElement::applyResultsToTarget): Reset the CSS property we're animating int the "SMIL animation style", after animation ends.
996 (Instead of resetting target->style() properties to the old baseValue, as we used to do).
997 (WebCore::SVGAnimateElement::endedActiveInterval): Set m_aboutToStopAnimation to true, so next call to applyResultsToTarget() knows the animation ends.
998 * svg/SVGAnimateElement.h: Store bool m_aboutToSTopAnimation;
999 * svg/SVGAnimationElement.cpp:
1000 (WebCore::setTargetAttributeAnimatedCSSValue):
1001 (WebCore::setTargetAttributeAnimatedXMLValue):
1002 Refactored both of these methods from setTargetAttributeAnimatedValue().
1003 Changed the CSS part, to apply property changes to the "SMIL animation style" instead of the regular StylePropertySet.
1004 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): Refactored code, use shouldApplyAnimation() to determine whether this animation should run.
1005 (WebCore::SVGAnimationElement::resetAnimationState): New helper calling setTargetAttributeAnimatedValue with a null-string for CSS attributes, when the animation ends.
1006 This is used to detect that the CSS property should be removed from the "SMIL animation style".
1007 (WebCore::SVGAnimationElement::shouldApplyAnimation): Refactored from existing code, and make it more obvious how attributeType influences the animation, all according to SVG 1.1/SMIL2.
1008 * svg/SVGAnimationElement.h:
1009 * svg/SVGElement.cpp: Manage the "SMIL animation style", in SVGElementRareData, if needed. Only gets created if SMIL animations on CSS properties run.
1010 (WebCore::SVGElement::~SVGElement): Destroy SMIL animation style, upon destruction.
1011 (WebCore::SVGElement::animatedSMILStyleProperties): Returns the StylePropertySet for the "SMIL animation style", if it's available.
1012 (WebCore::SVGElement::ensureAnimatedSMILStyleProperties): Enforces creating the StylePropertySet for the "SMIL animation style".
1013 * svg/SVGElement.h: Expose new methods.
1014 * svg/SVGElementRareData.h: Stores the "SMIL animation style", actual managment is done by SVGElement, if needed.
1015 (WebCore::SVGElementRareData::animatedSMILStyleProperties): Retrieve it.
1016 (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties): Create it.
1017 (WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties): Destroy it.
1018 * svg/animation/SVGSMILElement.h: Make endedActiveInterval() virtual again, its needed by SVGAnimateElement now.
1020 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
1022 Unreviewed, rolling out r109255.
1023 http://trac.webkit.org/changeset/109255
1024 https://bugs.webkit.org/show_bug.cgi?id=79932
1026 Breaks rounded rects with dashed strokes in SVG
1029 * platform/graphics/Path.cpp:
1030 (WebCore::Path::addRoundedRect):
1031 * platform/graphics/Path.h:
1033 * platform/graphics/cg/PathCG.cpp:
1034 * platform/mac/WebCoreSystemInterface.h:
1035 * platform/mac/WebCoreSystemInterface.mm:
1037 2012-03-01 Adam Barth <abarth@webkit.org>
1039 DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
1040 https://bugs.webkit.org/show_bug.cgi?id=80013
1042 Reviewed by Kentaro Hara.
1044 Before this patch, DOMWindow still knew about IDB because of the
1045 database factory. This patch moves the factory to
1046 DOMWindowIndexedDatabase.
1048 * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
1049 (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
1050 (WebCore::DOMWindowIndexedDatabase::from):
1052 (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
1053 (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
1054 * Modules/indexeddb/DOMWindowIndexedDatabase.h:
1055 (DOMWindowIndexedDatabase):
1056 * page/DOMWindow.cpp:
1057 (WebCore::DOMWindow::~DOMWindow):
1058 (WebCore::DOMWindow::clear):
1063 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
1065 SVG <use> element allows invalid contents
1066 https://bugs.webkit.org/show_bug.cgi?id=77764
1068 Reviewed by Zoltan Herczeg.
1070 Unbreak the world after r109299 - dozens of SVGUseElement tests fail in trunk because:
1071 - text nodes weren't allowed in SVG shadow subtrees
1072 - tagName matching ignores any prefixes, thus svg:circle fails to identify as SVGCircleElement
1074 * svg/SVGUseElement.cpp:
1075 (WebCore::isDisallowedElement):
1077 2012-03-01 Luke Macpherson <macpherson@chromium.org>
1079 Handle CSSPropertyWebkitHyphens in CSSStyleApplyProperty.
1080 https://bugs.webkit.org/show_bug.cgi?id=80004
1082 Reviewed by Eric Seidel.
1084 No new tests / refactoring only.
1086 * css/CSSStyleApplyProperty.cpp:
1087 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1088 * css/CSSStyleSelector.cpp:
1089 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1091 2012-02-29 Pavel Podivilov <podivilov@chromium.org>
1093 Web Inspector: abstract out the common pattern of creating auto-updated locations.
1094 https://bugs.webkit.org/show_bug.cgi?id=79906
1096 Reviewed by Vsevolod Vlasov.
1098 * inspector/front-end/DebuggerPresentationModel.js:
1099 (WebInspector.PresentationCallFrame.prototype.uiLocation):
1100 (WebInspector.DebuggerPresentationModel.CallFramePlacard):
1101 (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
1102 (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
1103 (WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
1104 (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
1105 (WebInspector.DebuggerPresentationModel.Linkifier):
1106 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
1107 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
1108 (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
1109 * inspector/front-end/RawSourceCode.js:
1110 (WebInspector.RawSourceCode.prototype.createLiveLocation):
1111 (WebInspector.RawSourceCode.LiveLocation):
1112 (WebInspector.RawSourceCode.LiveLocation.prototype.init):
1113 (WebInspector.RawSourceCode.LiveLocation.prototype.dispose):
1114 (WebInspector.RawSourceCode.LiveLocation.prototype._update):
1116 2012-03-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
1118 Make the tiling code slightly smarter
1119 https://bugs.webkit.org/show_bug.cgi?id=80015
1121 Reviewed by Simon Hausmann.
1123 Avoid doing the same tranformations all over in each call to
1124 tileRectForCoordinate.
1126 Do not resize tiles and then drop them because they are not out of
1127 the keep rect; instead drop before resizing.
1129 Rename dropTilesOutsideRect to setKeepRect as it now stored the keep
1130 rect. This is used to avoid unneeded iteration of all tiles for
1131 invalidates outside the keep rect.
1133 * platform/graphics/TiledBackingStore.cpp:
1134 (WebCore::TiledBackingStore::invalidate):
1136 (WebCore::TiledBackingStore::commitScaleChange):
1137 (WebCore::TiledBackingStore::coverageRatio):
1138 (WebCore::TiledBackingStore::createTiles):
1139 (WebCore::TiledBackingStore::adjustForContentsRect):
1140 (WebCore::TiledBackingStore::resizeEdgeTiles):
1141 (WebCore::TiledBackingStore::setKeepRect):
1142 (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
1143 (WebCore::TiledBackingStore::tileRectForCoordinate):
1144 (WebCore::TiledBackingStore::setSupportsAlpha):
1145 * platform/graphics/TiledBackingStore.h:
1146 (TiledBackingStore):
1148 2012-02-29 Kinuko Yasuda <kinuko@chromium.org>
1150 Use the new createSnapshotFileAndReadMetadata API for FileEntry.file()
1151 https://bugs.webkit.org/show_bug.cgi?id=79928
1153 Reviewed by David Levin.
1155 No new tests: no functionality changes.
1156 fast/filesystem/ tests should use the new code (they should pass once
1157 the corresponding chromium change is rolled in).
1159 * fileapi/DOMFileSystem.cpp:
1160 (WebCore::DOMFileSystem::createFile): Updated to use the new API.
1161 * fileapi/DOMFileSystemSync.cpp:
1162 (WebCore::DOMFileSystemSync::createFile): Updated to use the new API.
1163 * fileapi/FileSystemCallbacks.cpp:
1164 * fileapi/FileSystemCallbacks.h:
1165 (FileSystemCallbacksBase):
1166 * platform/AsyncFileSystem.h:
1168 * platform/AsyncFileSystemCallbacks.h: Added default implementation (which just calls ASSERT_NOTREACHED()) so that subclasses can focus only on the callback methods that they're interested in.
1170 2012-02-29 Pavel Podivilov <podivilov@chromium.org>
1172 Web Inspector: add UISourceCode.isEditable property.
1173 https://bugs.webkit.org/show_bug.cgi?id=79909
1175 Reviewed by Vsevolod Vlasov.
1177 * inspector/front-end/DebuggerPresentationModel.js:
1178 (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
1179 * inspector/front-end/RawSourceCode.js:
1180 (WebInspector.RawSourceCode.prototype._createUISourceCode):
1181 * inspector/front-end/UISourceCode.js:
1182 (WebInspector.UISourceCode):
1184 2012-02-29 Shinya Kawanaka <shinyak@chromium.org>
1186 Fallback elements in non-youngest shadow tree should not be rendered.
1187 https://bugs.webkit.org/show_bug.cgi?id=80002
1189 Reviewed by Hajime Morita.
1191 Fallback elements in non-youngest shadow tree should not be rendered, so its phase should be
1192 AttachingNotDistributed instead of AttachingFallbacked.
1194 Tests: multiple-shadowroot-rendering.html covers this patch.
1196 * dom/NodeRenderingContext.cpp:
1197 (WebCore::NodeRenderingContext::NodeRenderingContext):
1199 2012-02-29 Adam Barth <abarth@webkit.org>
1201 ScriptExecutionContext has too many ifdef ENABLE(SQL_DATABASE)
1202 https://bugs.webkit.org/show_bug.cgi?id=79633
1204 Reviewed by Eric Seidel.
1206 This class creates a DatabaseContext object to supplement the
1207 ScriptExecutionContext with database-specific information. This new
1208 object lets us remove a bunch of database-specific (and ifdefed) logic
1209 from ScriptExecutionContext.(cpp|h).
1212 * GNUmakefile.list.am:
1216 * WebCore.vcproj/WebCore.vcproj:
1217 * WebCore.xcodeproj/project.pbxproj:
1218 * dom/ScriptExecutionContext.cpp:
1219 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1220 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1222 * dom/ScriptExecutionContext.h:
1224 (ScriptExecutionContext):
1225 * history/PageCache.cpp:
1226 (WebCore::logCanCacheFrameDecision):
1227 (WebCore::PageCache::canCachePageContainingThisFrame):
1228 * loader/FrameLoader.cpp:
1229 (WebCore::FrameLoader::stopLoading):
1230 * platform/Supplementable.h:
1231 (WebCore::Supplementable::provideSupplement):
1232 (WebCore::Supplementable::requireSupplement):
1234 * storage/AbstractDatabase.cpp:
1235 (WebCore::AbstractDatabase::AbstractDatabase):
1236 * storage/AbstractDatabase.h:
1238 (WebCore::AbstractDatabase::databaseContext):
1240 * storage/Database.cpp:
1241 (WebCore::Database::openDatabase):
1242 (WebCore::Database::Database):
1243 (WebCore::Database::openAndVerifyVersion):
1244 (WebCore::Database::markAsDeletedAndClose):
1245 (WebCore::Database::close):
1246 (WebCore::Database::closeImmediately):
1247 (WebCore::Database::performOpenAndVerify):
1248 (WebCore::Database::scheduleTransaction):
1249 (WebCore::Database::scheduleTransactionStep):
1250 (WebCore::Database::transactionClient):
1251 (WebCore::Database::transactionCoordinator):
1252 (WebCore::Database::tableNames):
1253 (WebCore::Database::securityOrigin):
1254 * storage/DatabaseContext.cpp: Added.
1256 (WebCore::existingDatabaseContextFrom):
1257 (WebCore::DatabaseContext::DatabaseContext):
1258 (WebCore::DatabaseContext::~DatabaseContext):
1259 (WebCore::DatabaseContext::from):
1260 (WebCore::DatabaseContext::databaseThread):
1261 (WebCore::DatabaseContext::hasOpenDatabases):
1262 (WebCore::DatabaseContext::stopDatabases):
1263 * storage/DatabaseContext.h: Added.
1266 (WebCore::DatabaseContext::setHasOpenDatabases):
1267 * storage/SQLTransaction.cpp:
1268 (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
1269 (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
1270 * workers/WorkerThread.cpp:
1271 (WebCore::WorkerThreadShutdownStartTask::performTask):
1273 2012-02-29 Shinya Kawanaka <shinyak@chromium.org>
1275 Refactoring: HTMLContentSelector should be InsertionPoint-aware.
1276 https://bugs.webkit.org/show_bug.cgi?id=79901
1278 Reviewed by Hajime Morita.
1280 ContentSelectorQuery took HTMLContentElement as argument, but patch changes it to take InsertionPoint instead.
1281 If InsertionPoint is not HTMLContentElement, ContentSelectorQuery will selects the rest of light children.
1283 Now InsertionPoint has pure virtual method 'select'. <shadow> will implement this as a method returning empty string.
1285 * dom/ShadowRoot.cpp:
1286 (WebCore::ShadowRoot::hasInsertionPoint):
1289 * dom/ShadowTree.cpp:
1290 (WebCore::ShadowTree::needsReattachHostChildrenAndShadow):
1291 (WebCore::ShadowTree::hostChildrenChanged):
1292 * html/shadow/ContentSelectorQuery.cpp:
1293 (WebCore::ContentSelectorQuery::ContentSelectorQuery):
1294 (WebCore::ContentSelectorQuery::matches):
1295 * html/shadow/ContentSelectorQuery.h:
1297 (ContentSelectorQuery):
1298 * html/shadow/HTMLContentElement.cpp:
1299 (WebCore::HTMLContentElement::detach):
1300 * html/shadow/HTMLContentElement.h:
1301 (WebCore::toHTMLContentElement):
1303 * html/shadow/HTMLContentSelector.cpp:
1304 (WebCore::HTMLContentSelector::select):
1305 * html/shadow/HTMLContentSelector.h:
1306 (HTMLContentSelector):
1307 * html/shadow/InsertionPoint.h:
1310 2012-02-29 Luke Macpherson <macpherson@chromium.org>
1312 Handle CSSPropertySpeak in CSSStyleApplyProperty.
1313 https://bugs.webkit.org/show_bug.cgi?id=79879
1315 Reviewed by Eric Seidel.
1317 No new tests / refactoring only.
1319 * css/CSSStyleApplyProperty.cpp:
1320 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1321 * css/CSSStyleSelector.cpp:
1322 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1323 * rendering/style/RenderStyle.h:
1325 2012-02-29 Luke Macpherson <macpherson@chromium.org>
1327 Handle CSSPropertyWebkitColumnAxis in CSSStyleApplyProperty.
1328 https://bugs.webkit.org/show_bug.cgi?id=79869
1330 Reviewed by Eric Seidel.
1332 No new tests / refactoring only.
1334 * css/CSSStyleApplyProperty.cpp:
1335 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1336 * css/CSSStyleSelector.cpp:
1337 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1339 2012-02-29 Erik Arvidsson <arv@chromium.org>
1341 Rename DOMSelection to Selection
1342 https://bugs.webkit.org/show_bug.cgi?id=79688
1344 Reviewed by Adam Barth.
1346 No new tests. Existing tests have been updated to cover this.
1348 * page/DOMSelection.idl:
1349 * page/DOMWindow.idl:
1351 2012-02-29 Joshua Bell <jsbell@chromium.org>
1353 IndexedDB: IDBDatabase.objectStoreNames and IDObjectStore.indexNames results should be sorted
1354 https://bugs.webkit.org/show_bug.cgi?id=79950
1356 Reviewed by Tony Chang.
1358 Test: storage/indexeddb/list-ordering.html
1360 * dom/DOMStringList.cpp: Added sort method, not exposed via IDL.
1361 (WebCore::DOMStringList::sort):
1363 * dom/DOMStringList.h:
1365 * storage/IDBDatabaseBackendImpl.cpp:
1366 (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
1367 * storage/IDBObjectStoreBackendImpl.cpp:
1368 (WebCore::IDBObjectStoreBackendImpl::indexNames):
1370 2012-02-29 W. James MacLean <wjmaclean@chromium.org>
1372 [chromium] Estimate pixel count for frame rate control
1373 https://bugs.webkit.org/show_bug.cgi?id=74982
1375 Reviewed by James Robinson.
1377 Value checks added to unit tests.
1379 Adds mechanism to compute and collect statistics on pixel overdraw for selected frames.
1381 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1382 (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
1383 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1384 (WebCore::wedgeProduct):
1386 (WebCore::quadArea):
1387 (WebCore::CCQuadCuller::cullOccludedQuads):
1388 * platform/graphics/chromium/cc/CCQuadCuller.h:
1390 * platform/graphics/chromium/cc/CCRenderPass.cpp:
1391 (WebCore::CCRenderPass::optimizeQuads):
1392 * platform/graphics/chromium/cc/CCRenderPass.h:
1397 2012-02-29 Jason Liu <jason.liu@torchmobile.com.cn>
1399 [BlackBerry]Make about:cache feature available in release version.
1400 https://bugs.webkit.org/show_bug.cgi?id=79866
1402 Reviewed by Antonio Gomes.
1405 * platform/network/blackberry/NetworkJob.cpp:
1406 (WebCore::NetworkJob::handleAbout):
1408 2012-02-29 James Simonsen <simonjam@chromium.org>
1410 [chromium] Fix navigation start time on cross-renderer navigation
1411 https://bugs.webkit.org/show_bug.cgi?id=75922
1413 Reviewed by Darin Fisher.
1415 * loader/DocumentLoadTiming.cpp:
1416 (WebCore::DocumentLoadTiming::setNavigationStart): Added.
1417 * loader/DocumentLoadTiming.h:
1419 2012-02-29 Stephen Chenney <schenney@chromium.org>
1421 SVG <use> element allows invalid contents
1422 https://bugs.webkit.org/show_bug.cgi?id=77764
1424 Reviewed by Nikolas Zimmermann.
1426 Modify the isDisallowedElement method to disallow all of the
1427 disallowed elements, instead of just a few. It is now a whitelist
1430 This also fixes bugs 78807, 78838 and 79798 related to memory
1433 Tests: svg/custom/bug78807.svg
1434 svg/custom/bug78838.html
1435 svg/custom/bug79798.html
1437 * svg/SVGUseElement.cpp:
1438 (WebCore::isDisallowedElement):
1440 2012-02-29 Ami Fischman <fischman@chromium.org>
1442 Continue the search for playable mime types among <source> children of <video> even when using data: URLs
1443 https://bugs.webkit.org/show_bug.cgi?id=79934
1445 Reviewed by Eric Carlson.
1447 Test: media/sources-fallback-codecs.html
1449 * html/HTMLMediaElement.cpp:
1450 (WebCore::HTMLMediaElement::selectNextSourceChild):
1452 2012-02-29 Ian Vollick <vollick@chromium.org>
1454 [chromium] Add impl-thread support for animation-timing-function
1455 https://bugs.webkit.org/show_bug.cgi?id=79819
1457 Reviewed by James Robinson.
1460 * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
1461 (WebCore::CCKeyframe::CCKeyframe):
1463 (WebCore::CCKeyframe::~CCKeyframe):
1464 (WebCore::CCKeyframe::time):
1465 (WebCore::CCKeyframe::timingFunction):
1466 (WebCore::CCFloatKeyframe::create):
1467 (WebCore::CCFloatKeyframe::CCFloatKeyframe):
1468 (WebCore::CCFloatKeyframe::~CCFloatKeyframe):
1469 (WebCore::CCFloatKeyframe::value):
1470 (WebCore::CCFloatKeyframe::clone):
1471 (WebCore::CCTransformKeyframe::create):
1472 (WebCore::CCTransformKeyframe::CCTransformKeyframe):
1473 (WebCore::CCTransformKeyframe::~CCTransformKeyframe):
1474 (WebCore::CCTransformKeyframe::value):
1475 (WebCore::CCTransformKeyframe::clone):
1476 (WebCore::CCKeyframedFloatAnimationCurve::create):
1477 (WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve):
1478 (WebCore::CCKeyframedFloatAnimationCurve::addKeyframe):
1479 (WebCore::CCKeyframedFloatAnimationCurve::duration):
1480 (WebCore::CCKeyframedFloatAnimationCurve::clone):
1481 (WebCore::CCKeyframedFloatAnimationCurve::getValue):
1482 (WebCore::CCKeyframedTransformAnimationCurve::create):
1483 (WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve):
1484 (WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve):
1485 (WebCore::CCKeyframedTransformAnimationCurve::addKeyframe):
1486 (WebCore::CCKeyframedTransformAnimationCurve::duration):
1487 (WebCore::CCKeyframedTransformAnimationCurve::clone):
1488 (WebCore::CCKeyframedTransformAnimationCurve::getValue):
1489 * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
1493 (CCTransformKeyframe):
1494 (CCKeyframedFloatAnimationCurve):
1495 (CCKeyframedTransformAnimationCurve):
1496 * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1497 * platform/graphics/chromium/cc/CCTimingFunction.cpp: Added.
1499 (WebCore::CCTimingFunction::CCTimingFunction):
1500 (WebCore::CCTimingFunction::~CCTimingFunction):
1501 (WebCore::CCTimingFunction::duration):
1502 (WebCore::CCCubicBezierTimingFunction::create):
1503 (WebCore::CCCubicBezierTimingFunction::CCCubicBezierTimingFunction):
1504 (WebCore::CCCubicBezierTimingFunction::~CCCubicBezierTimingFunction):
1505 (WebCore::CCCubicBezierTimingFunction::getValue):
1506 (WebCore::CCCubicBezierTimingFunction::clone):
1507 (WebCore::CCEaseTimingFunction::create):
1508 (WebCore::CCEaseInTimingFunction::create):
1509 (WebCore::CCEaseOutTimingFunction::create):
1510 (WebCore::CCEaseInOutTimingFunction::create):
1511 * platform/graphics/chromium/cc/CCTimingFunction.h: Added.
1514 (CCCubicBezierTimingFunction):
1515 (CCEaseTimingFunction):
1516 (CCEaseInTimingFunction):
1517 (CCEaseOutTimingFunction):
1518 (CCEaseInOutTimingFunction):
1520 2012-02-29 Shinya Kawanaka <shinyak@chromium.org>
1522 Methods in ShadowTree and TreeScopeAdopter should be multiple shadow roots aware.
1523 https://bugs.webkit.org/show_bug.cgi?id=79768
1525 Reviewed by Hajime Morita.
1527 Some methods in ShadowTree and TreeScopeAdopter were not multiple shadow roots aware.
1528 They should consider multiple shadow roots.
1530 Test: fast/dom/shadow/multiple-shadowroot-adopt.html
1532 * dom/ShadowTree.cpp:
1533 (WebCore::ShadowTree::setParentTreeScope):
1535 (WebCore::ShadowTree::childNeedsStyleRecalc):
1536 (WebCore::ShadowTree::needsStyleRecalc):
1540 * dom/TreeScopeAdopter.cpp:
1541 (WebCore::shadowTreeFor):
1542 (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1543 (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
1544 (WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):
1546 * dom/TreeScopeAdopter.h:
1549 2012-02-29 David Levin <levin@chromium.org>
1551 [chromium] Add the ability to turn off autoresize.
1552 https://bugs.webkit.org/show_bug.cgi?id=77452
1554 Reviewed by Darin Fisher.
1556 Test: fast/autoresize/turn-off-autoresize.html
1558 * page/FrameView.cpp:
1559 (WebCore::FrameView::enableAutoSizeMode): Fix the code
1560 path for turning off autoresize to set the scrollbars to auto.
1562 2012-02-29 David Barton <dbarton@mathscribe.com>
1564 <msubsup> setNeedsLayout() correction
1565 https://bugs.webkit.org/show_bug.cgi?id=79856
1567 Reviewed by Julien Chaffraix.
1569 m_scripts->setNeedsLayout(true, false); needs to be added to the fix for bug 79274.
1571 No new tests. It's actually difficult to test the need for this with the current code,
1572 because there are a lot of extra setNeedsLayout() calls right now. I caught this after
1573 removing some of those calls that should be redundant, for a future patch. Actually
1574 removing those calls now changes other behavior, due to other bugs, so I'll save all
1575 that for future patches. We should land this fix now though I think, as it could
1576 possibly matter in some cases.
1578 * rendering/mathml/RenderMathMLSubSup.cpp:
1579 (WebCore::RenderMathMLSubSup::layout):
1581 2012-02-29 Andreas Kling <awesomekling@apple.com>
1583 IsSynchronizingStyleAttributeFlag could be purged.
1584 <http://webkit.org/b/79313>
1586 Reviewed by Anders Carlsson.
1588 We were using IsSynchronizingStyleAttributeFlag to prevent various things from
1589 happening below setAttribute() when serializing the "style" attribute based on
1590 an element's inline style.
1592 Simplify the whole thing by adding a way to set an attribute without triggering
1593 any callbacks (a 'notifyChanged' argument to Element::setAttribute().)
1594 This removes the need for IsSynchronizingStyleAttributeFlag in the first place
1595 and makes StyledElement::updateStyleAttribute() a bit cheaper to boot.
1598 (WebCore::Element::setAttribute):
1599 (WebCore::Element::setAttributeInternal):
1600 (WebCore::Element::willModifyAttribute):
1601 (WebCore::Element::didModifyAttribute):
1602 (WebCore::Element::didRemoveAttribute):
1605 * dom/StyledElement.cpp:
1606 (WebCore::StyledElement::updateStyleAttribute):
1607 (WebCore::StyledElement::attributeChanged):
1608 * html/HTMLElement.cpp:
1609 (WebCore::StyledElement::copyNonAttributeProperties):
1611 2012-02-29 Daniel Cheng <dcheng@chromium.org>
1613 [chromium] REGRESSION: Cannot drag a file out
1614 https://bugs.webkit.org/show_bug.cgi?id=79817
1616 Reviewed by Ryosuke Niwa.
1618 Temporary fix for file drag out. This change won't be needed once DataTransferItemList
1619 support is better implemented.
1621 Test: platform/chromium/fast/events/drag-downloadURL.html
1623 * platform/chromium/ChromiumDataObject.cpp:
1624 (WebCore::ChromiumDataObject::types):
1626 2012-02-29 Luke Macpherson <macpherson@chromium.org>
1628 Clean up CSSPrimitiveValue::computeLengthDouble().
1629 https://bugs.webkit.org/show_bug.cgi?id=77065
1631 Reviewed by Eric Seidel.
1633 Refactoring only / no behavioral change.
1635 * css/CSSPrimitiveValue.cpp:
1636 (WebCore::CSSPrimitiveValue::computeLengthDouble):
1638 2012-02-29 Beth Dakin <bdakin@apple.com>
1640 Speculative build-fix.
1642 * rendering/RenderImage.cpp:
1643 (WebCore::RenderImage::paintReplaced):
1645 2012-02-29 Beth Dakin <bdakin@apple.com>
1647 https://bugs.webkit.org/show_bug.cgi?id=79705
1648 didNewFirstVisuallyNonEmptyLayout should be enhanced to look at size instead
1651 <rdar://problem/10821314>
1653 Reviewed by Dave Hyatt.
1655 Instead of firing didNewFirstVisuallyNonEmptyLayout() when a raw tally of
1656 relevant painted objects has reached a port-defined threshold, this patch
1657 looks at the size of those objects with respect to the view area. The patch
1658 also looks at relevant objects that cannot yet be fully painted, such as
1659 incrementally loading images.
1661 We no longer need a HashSet for the relevant painted objects since Region can
1662 do all of the heavy lifting. We now have a Region for the painted and
1663 unpainted regions. We do need a HashSet for the unpainted objects though,
1664 because we need to know if a painted object needs to be subtracted from the
1665 unpainted region before being added to the painted region.
1668 (WebCore::Page::isCountingRelevantRepaintedObjects):
1669 (WebCore::Page::startCountingRelevantRepaintedObjects):
1670 (WebCore::Page::resetRelevantPaintedObjectCounter):
1671 (WebCore::Page::addRelevantRepaintedObject):
1672 (WebCore::Page::addRelevantUnpaintedObject):
1676 New function on Region iterates through the rects and calculates the total
1678 * platform/graphics/Region.cpp:
1679 (WebCore::Region::totalArea):
1681 * platform/graphics/Region.h:
1684 Remove code from these classes since they are not actually relevant objects.
1685 * rendering/InlineBox.cpp:
1686 (WebCore::InlineBox::paint):
1687 * rendering/RenderRegion.cpp:
1688 (WebCore::RenderRegion::paintReplaced):
1689 * rendering/RenderReplaced.cpp:
1690 (WebCore::RenderReplaced::paint):
1692 All of these other callers send a rect that actually represents their size
1693 (usually the visualOverflowRect) instead of the paintInfo's paintRect, and
1694 they call addRelevantUnpaintedObject when appropriate.
1695 * rendering/InlineTextBox.cpp:
1696 (WebCore::InlineTextBox::paint):
1697 * rendering/RenderEmbeddedObject.cpp:
1698 (WebCore::RenderEmbeddedObject::paint):
1699 (WebCore::RenderEmbeddedObject::paintReplaced):
1700 * rendering/RenderHTMLCanvas.cpp:
1701 (WebCore::RenderHTMLCanvas::paintReplaced):
1702 * rendering/RenderImage.cpp:
1703 (WebCore::RenderImage::paintReplaced):
1704 * rendering/RenderVideo.cpp:
1705 (WebCore::RenderVideo::paintReplaced):
1706 * rendering/svg/RenderSVGRoot.cpp:
1707 (WebCore::RenderSVGRoot::paintReplaced):
1709 2012-02-29 Joshua Bell <jsbell@chromium.org>
1711 IndexedDB: Resource leak with IDBObjectStore.openCursor
1712 https://bugs.webkit.org/show_bug.cgi?id=79835
1714 IDBCursor object that were never continue()'d to the end would leak due to a
1715 reference cycle with IDBRequest. In addition, the IDBRequest would never be
1716 marked "finished" which would prevent GC from reclaiming it. IDBTransactions
1717 now track and notify IDBCursors to break these references when the transaction
1718 can no longer not process requests.
1720 Reviewed by Tony Chang.
1722 Tests: storage/indexeddb/cursor-continue.html
1724 * storage/IDBCursor.cpp:
1725 (WebCore::IDBCursor::IDBCursor): Register with IDBTransaction bookkeeping.
1726 (WebCore::IDBCursor::continueFunction): Early error if transaction has finished.
1727 (WebCore::IDBCursor::close): Break the reference cycle with IDBRequest, and notify it
1728 that the cursor is finished.
1730 * storage/IDBCursor.h:
1733 * storage/IDBRequest.cpp:
1734 (WebCore::IDBRequest::IDBRequest):
1735 (WebCore::IDBRequest::finishCursor): If there is no request in flight, mark itself as
1736 finished to allow GC.
1738 (WebCore::IDBRequest::dispatchEvent): Once an in-flight request has been processed,
1739 mark the request as finished if the cursor is finished, to allow GC.
1740 * storage/IDBRequest.h:
1742 * storage/IDBTransaction.cpp: Track open cursors, close them when finished.
1743 (WebCore::IDBTransaction::OpenCursorNotifier::OpenCursorNotifier):
1745 (WebCore::IDBTransaction::OpenCursorNotifier::~OpenCursorNotifier):
1746 (WebCore::IDBTransaction::registerOpenCursor):
1747 (WebCore::IDBTransaction::unregisterOpenCursor):
1748 (WebCore::IDBTransaction::closeOpenCursors):
1749 (WebCore::IDBTransaction::onAbort):
1750 (WebCore::IDBTransaction::onComplete):
1751 * storage/IDBTransaction.h:
1753 (OpenCursorNotifier):
1756 2012-02-29 David Hyatt <hyatt@apple.com>
1758 https://bugs.webkit.org/show_bug.cgi?id=79940
1759 <rdar://problem/10080189>
1761 Add support in WebKit for an intra-line character grid for Japanese text layout.
1763 Patch logicalLeftOffsetForLine and logicalRightOffsetForLine in order to get the
1764 basic edge snapping grid functionality up and running. See all the FIXMEs in the function for
1765 some of the issues that still have to be dealt with for it to really work well.
1767 Reviewed by Dan Bernstein.
1769 Added new tests in fast/line-grid.
1771 * rendering/RenderBlock.cpp:
1772 (WebCore::RenderBlock::logicalLeftOffsetForLine):
1773 (WebCore::RenderBlock::logicalRightOffsetForLine):
1775 2012-02-29 Anders Carlsson <andersca@apple.com>
1777 [Chromium] Some Layout Tests in platform/chromium/rubberbanding and platform/chromium/compositing/rubberbanding are failing
1778 https://bugs.webkit.org/show_bug.cgi?id=79878
1780 Reviewed by James Robinson.
1782 Make sure that ScrollableArea::setScrollOffsetFromAnimation doesn't end up
1783 setting the ScrollAnimator's current scroll position by making a new function, scrollPositionChanged,
1784 that both notifyScrollPositionChanged and setScrollOffsetFromAnimation call and move the call to update
1785 the position to notifyScrollPositionChanged.
1787 * platform/ScrollableArea.cpp:
1788 (WebCore::ScrollableArea::notifyScrollPositionChanged):
1790 (WebCore::ScrollableArea::scrollPositionChanged):
1791 (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
1792 * platform/ScrollableArea.h:
1795 2012-02-29 Dana Jansens <danakj@chromium.org>
1797 [chromium] Don't let invalidation for next frame prevent tile upload
1798 https://bugs.webkit.org/show_bug.cgi?id=79841
1800 Reviewed by James Robinson.
1802 We currently don't push dirty tiles to the impl thread so there are no
1803 tiles with garbage data on the impl thread. However, this judgement is
1804 overzealous and blocks tiles that get invalidated by WebKit for the
1805 next frame during the paint of the current frame.
1807 Instead, check if a tile is dirty and was not painted for the current
1808 frame when deciding to push the tile to the impl thread. This requires
1809 that we know if a tile was painted during the current frame, which we
1810 can do if we always reset m_updateRect to be empty each frame.
1812 New unit tests: TiledLayerChromiumTest.pushTilesMarkedDirtyDuringPaint
1813 TiledLayerChromiumTest.pushTilesLayerMarkedDirtyDuringPaintOnNextLayer
1814 TiledLayerChromiumTest.pushTilesLayerMarkedDirtyDuringPaintOnPreviousLayer
1816 * platform/graphics/chromium/TiledLayerChromium.cpp:
1817 (WebCore::UpdatableTile::isDirtyForCurrentFrame):
1818 (WebCore::TiledLayerChromium::pushPropertiesTo):
1819 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1820 (WebCore::TiledLayerChromium::resetUpdateState):
1822 (WebCore::TiledLayerChromium::prepareToUpdate):
1823 * platform/graphics/chromium/TiledLayerChromium.h:
1824 (TiledLayerChromium):
1826 2012-02-29 Tommy Widenflycht <tommyw@google.com>
1828 MediaStream API: MediaStreamTrackList out-of-bounds access fix
1829 https://bugs.webkit.org/show_bug.cgi?id=79889
1831 Reviewed by Adam Barth.
1833 Out-of-bounds access to MediaStreamTrackList ASSERTS instead of returning 0,
1834 this is not according to ecmascript standard. Also fixed a similar issue in MediaStreamList.
1836 Test: fast/mediastream/peerconnection-mediastreamlist.html
1838 * Modules/mediastream/MediaStreamList.cpp:
1839 (WebCore::MediaStreamList::item):
1840 * Modules/mediastream/MediaStreamTrackList.cpp:
1841 (WebCore::MediaStreamTrackList::item):
1843 2012-02-29 Leo Yang <leo.yang@torchmobile.com.cn>
1845 [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatSize.h
1846 https://bugs.webkit.org/show_bug.cgi?id=79893
1848 Reviewed by Antonio Gomes.
1850 Add conversion convenience between WebCore::FloatSize and BlackBerry::Platform::FloatSize.
1852 The porting can't be built yet, no new tests.
1854 * platform/graphics/FloatSize.h:
1858 2012-02-29 Leo Yang <leo.yang@torchmobile.com.cn>
1860 [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatRect.h
1861 https://bugs.webkit.org/show_bug.cgi?id=79891
1863 Reviewed by Antonio Gomes.
1865 Add conversion convenience between WebCore::FloatRect and BlackBerry::Platform::FloatRect.
1867 The porting can't be built yet, no new tests.
1869 * platform/graphics/FloatRect.h:
1873 2012-02-29 Tim Horton <timothy_horton@apple.com>
1875 Make use of CG rounded-rect primitives
1876 https://bugs.webkit.org/show_bug.cgi?id=79932
1877 <rdar://problem/9274953>
1879 Reviewed by Simon Fraser.
1881 Dispatch to potentially platform-specific rounded rectangle path
1882 construction from addPathForRoundedRect. Make use of this to call
1883 wkCGPathAddRoundedRect on Lion and above, as long as the rounded
1884 corners are all equivalent.
1886 No new tests, as this is covered by many that use rounded corners,
1887 and is only a performance improvement.
1890 * platform/graphics/Path.cpp:
1891 (WebCore::Path::addRoundedRect):
1893 (WebCore::Path::addPathForRoundedRect):
1894 * platform/graphics/Path.h:
1896 * platform/graphics/cg/PathCG.cpp:
1897 (WebCore::Path::addPathForRoundedRect):
1899 * platform/mac/WebCoreSystemInterface.h:
1900 * platform/mac/WebCoreSystemInterface.mm:
1902 2012-02-29 Leo Yang <leo.yang@torchmobile.com.cn>
1904 [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatPoint.h
1905 https://bugs.webkit.org/show_bug.cgi?id=79887
1907 Reviewed by Antonio Gomes.
1909 Add conversion convenience between WebCore::FloatPoint and BlackBerry::Platform::FloatPoint.
1911 The porting can't be built yet, no new tests.
1913 * platform/graphics/FloatPoint.h:
1917 2012-02-29 Kaustubh Atrawalkar <kaustubh@motorola.com>
1919 ShadowRoot need innerHTML
1920 https://bugs.webkit.org/show_bug.cgi?id=78473
1922 Reviewed by Hajime Morita.
1924 Refactor code for sharing common code between HTMLElement & ShadowRoot.
1925 Implement innerHTML attribute for ShadowRoot.
1927 Test: fast/dom/shadow/shadow-root-innerHTML.html
1929 * dom/ShadowRoot.cpp:
1930 (WebCore::ShadowRoot::cloneNode):
1932 (WebCore::ShadowRoot::innerHTML):
1933 (WebCore::ShadowRoot::setInnerHTML):
1936 * dom/ShadowRoot.idl:
1937 * editing/markup.cpp:
1938 (WebCore::urlToMarkup):
1940 (WebCore::createFragmentFromSource):
1941 (WebCore::hasOneChild):
1942 (WebCore::hasOneTextChild):
1943 (WebCore::replaceChildrenWithFragment):
1944 (WebCore::replaceChildrenWithText):
1946 * html/HTMLElement.cpp:
1949 2012-02-29 Julien Chaffraix <jchaffraix@webkit.org>
1951 Stop doubling maximalOutlineSize during painting
1952 https://bugs.webkit.org/show_bug.cgi?id=79724
1954 Reviewed by Tony Chang.
1956 Refactoring only, covered by existing tests (mostly repaint ones).
1958 * rendering/RenderReplaced.cpp:
1959 (WebCore::RenderReplaced::shouldPaint):
1960 * rendering/RenderTableCell.cpp:
1961 (WebCore::RenderTableCell::paintCollapsedBorders):
1962 Introduce a local repaint rectangle that we inflate by the maximalOutlineSize
1963 to simplify the comparison logic. Also tried to make it clearer what's going on
1964 by tweaking the existing code.
1966 * rendering/RenderTableSection.cpp:
1967 (WebCore::RenderTableSection::paintObject):
1968 Remove the doubling.
1970 2012-02-29 Ken Buchanan <kenrb@chromium.org>
1972 Crash when changing list marker locations
1973 https://bugs.webkit.org/show_bug.cgi?id=79681
1975 Reviewed by David Hyatt.
1977 This fixes a regression crash from r108548.
1979 There are some conditions where removing the anonymous block
1980 parent at that point can cause problems. One is when there is
1981 a continuation from it, and another when it is a sibling of
1982 lineBoxParent and it causes lineBoxParent to be deleted
1983 incidentally. This patch delays the destruction until after
1984 lineBoxParent has been used and makes an exception for
1987 * rendering/RenderListItem.cpp:
1988 (WebCore::RenderListItem::updateMarkerLocation)
1990 2012-02-29 Max Feil <mfeil@rim.com>
1992 [BlackBerry] Add support for FLAC audio and OGG/Vorbis audio
1993 https://bugs.webkit.org/show_bug.cgi?id=79519
1995 Reviewed by Antonio Gomes.
1997 A layout test already exists for OGG. We do not support OGG
1998 video at this time, only audio.
2000 Test: media/media-can-play-flac-audio.html
2002 * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
2005 2012-02-28 Beth Dakin <bdakin@apple.com>
2007 https://bugs.webkit.org/show_bug.cgi?id=79868
2008 Overlay scrollbars should respond to AppKit's NSEventPhaseMayBegin
2010 <rdar://problem/10688637>
2012 Reviewed by Anders Carlsson.
2014 Scrollbars are currently drawn on the main thread even when scrolling happens
2015 on the scrolling thread, so we have to call back to the main thread for the
2016 time being to make the right drawing calls for NSEventPhaseMayBegin.
2017 * page/scrolling/ScrollingCoordinator.cpp:
2018 (WebCore::ScrollingCoordinator::handleWheelEventPhase):
2020 * page/scrolling/ScrollingCoordinator.h:
2021 (ScrollingCoordinator):
2022 * page/scrolling/ScrollingTree.cpp:
2023 (WebCore::ScrollingTree::handleWheelEventPhase):
2025 * page/scrolling/ScrollingTree.h:
2026 * page/scrolling/mac/ScrollingTreeNodeMac.mm:
2027 (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
2028 * platform/ScrollAnimator.h:
2029 (WebCore::ScrollAnimator::handleWheelEventPhase):
2032 Call into AppKit on NSEventPhaseMayBegin.
2033 * platform/mac/ScrollAnimatorMac.h:
2034 (ScrollAnimatorMac):
2035 * platform/mac/ScrollAnimatorMac.mm:
2036 (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
2038 (WebCore::ScrollAnimatorMac::handleWheelEventPhase):
2039 (WebCore::ScrollAnimatorMac::handleWheelEvent):
2041 2012-02-28 Jer Noble <jer.noble@apple.com>
2043 Full screen video volume slider has "progress bar"
2044 https://bugs.webkit.org/show_bug.cgi?id=79812
2046 Reviewed by Eric Carlson.
2048 No new tests; strictly a platform-specific look-and-feel change.
2050 The full-screen volume slider has a "media-slider"" appearance, which is rendering as if
2051 the volume slider has a "progress". Make a concrete "media-fullscreen-volume-slider" appearance
2052 which has the correct look-and-feel.
2054 Add two new appearance keywords, media-fullscreen-volume-slider and thumb, and their associated
2055 types and CSS keywords:
2056 * css/CSSValueKeywords.in:
2057 * css/CSSPrimitiveValueMappings.h:
2058 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2059 * html/shadow/MediaControlElements.h:
2060 * platform/ThemeTypes.h:
2062 Handle the new slider and thumb types when rendering:
2063 * rendering/RenderMediaControls.cpp:
2064 (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
2065 (WebCore::RenderMediaControls::paintMediaControlsPart):
2066 * rendering/RenderTheme.cpp:
2067 (WebCore::RenderTheme::adjustStyle):
2068 (WebCore::RenderTheme::paint):
2069 * rendering/RenderTheme.h:
2070 (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
2071 (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
2072 * rendering/RenderThemeMac.h:
2074 * rendering/RenderThemeMac.mm:
2075 (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
2076 (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack):
2077 (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb):
2078 * rendering/RenderMediaControlsChromium.cpp:
2079 (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2081 * accessibility/AccessibilitySlider.cpp:
2082 (WebCore::AccessibilitySlider::orientation): Mark the fullscreen volume slider as horizontal.
2083 * html/shadow/SliderThumbElement.cpp:
2084 (WebCore::RenderSliderThumb::updateAppearance): Give MediaFullScreenVolumeSliderParts
2085 MediaFullScreenVolumeSliderThumbParts.
2086 * css/fullscreenQuickTime.css: Change the styles for the fullscreen slider, min, and max buttons.
2087 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-min-button):
2088 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-slider):
2089 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-max-button):
2090 * html/shadow/MediaControlRootElement.cpp:
2091 (WebCore::MediaControlRootElement::reset): Set the value of the fullscreen volume slider
2094 2012-02-29 Antti Koivisto <antti@apple.com>
2096 Applying region style should not need to access parent rules
2097 https://bugs.webkit.org/show_bug.cgi?id=79910
2099 Reviewed by Andreas Kling.
2101 Currently CSSStyleSelector::applyProperties looks into parent rules to see if a rule is
2102 part of region style. The plan is to eliminate the rule parent pointer so this needs to be refactored.
2104 Add a bit to RuleData to indicate if the StyleRule is part of a region style.
2106 * css/CSSStyleSelector.cpp:
2108 (WebCore::RuleData::isInRegionRule):
2110 (WebCore::CSSStyleSelector::addMatchedProperties):
2111 (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
2112 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2113 * css/CSSStyleSelector.h:
2116 2012-02-27 Vsevolod Vlasov <vsevik@chromium.org>
2118 Web Inspector: [InspectorIndexedDB] Add refresh to IndexedDB support.
2119 https://bugs.webkit.org/show_bug.cgi?id=79695
2121 Reviewed by Pavel Feldman.
2123 * inspector/front-end/IndexedDBViews.js:
2124 (WebInspector.IDBDataView):
2125 (WebInspector.IDBDataView.prototype._refreshButtonClicked):
2126 (WebInspector.IDBDataView.prototype.get statusBarItems):
2127 * inspector/front-end/ResourcesPanel.js:
2128 (WebInspector.IndexedDBTreeElement):
2129 (WebInspector.IndexedDBTreeElement.prototype.onattach):
2130 (WebInspector.IndexedDBTreeElement.prototype._handleContextMenuEvent):
2131 (WebInspector.IDBDatabaseTreeElement.prototype.onattach):
2132 (WebInspector.IDBDatabaseTreeElement.prototype._handleContextMenuEvent):
2133 (WebInspector.IDBDatabaseTreeElement.prototype._refreshIndexedDB):
2135 2012-02-29 Andrey Kosyakov <caseq@chromium.org>
2137 Web Inspector: timeline markers are not shown on the timeline panel
2138 https://bugs.webkit.org/show_bug.cgi?id=79921
2140 Reviewed by Pavel Feldman.
2142 * inspector/front-end/TimelinePanel.js:
2143 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
2144 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2146 2012-02-29 Kenichi Ishibashi <bashi@chromium.org>
2148 Align InlineBox::m_expansion to a byte boundary
2149 https://bugs.webkit.org/show_bug.cgi?id=79761
2151 Add a bit to m_expansion to align a byte boundary.
2152 This will make valgrind memcheck happy.
2153 I confirmed sizeof(InlineBox) is unchanged.
2155 Reviewed by Hajime Morita.
2157 No new tests. No behavior changes.
2159 * rendering/InlineBox.h:
2160 (InlineBox): Aligned m_expansion to a byte boundary.
2162 2012-02-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
2164 Do not iterate all tiles for resizing when the content didn't change
2165 https://bugs.webkit.org/show_bug.cgi?id=79787
2167 Reviewed by Simon Hausmann.
2169 * platform/graphics/TiledBackingStore.cpp:
2170 (WebCore::TiledBackingStore::createTiles):
2172 2012-02-29 Parag Radke <parag@motorola.com>
2174 Crash in WebCore::CompositeEditCommand::insertNodeAt
2175 https://bugs.webkit.org/show_bug.cgi?id=67764
2177 Reviewed by Ryosuke Niwa.
2179 If caret position after deletion and destination position coincides then
2180 removing the node will result in removing the destination node also. Hence crash.
2182 Test: editing/deleting/delete-block-merge-contents-025.html
2184 * editing/CompositeEditCommand.cpp:
2185 (WebCore::CompositeEditCommand::cleanupAfterDeletion):
2186 If the caret position after delete and the destination position
2187 renderes at the same place, pruning the node and making an early exit.
2189 2012-02-29 Pavel Feldman <pfeldman@google.com>
2191 Web Inspector: remove calculator's updateBoundaries in the timeline panel.
2192 https://bugs.webkit.org/show_bug.cgi?id=79907
2194 Reviewed by Yury Semikhatsky.
2196 * inspector/front-end/NetworkPanel.js:
2197 (WebInspector.NetworkBaseCalculator.prototype.computeBarGraphLabels):
2198 (WebInspector.NetworkBaseCalculator.prototype.formatTime):
2199 (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels):
2200 (WebInspector.NetworkTimeCalculator.prototype.formatTime):
2201 (WebInspector.NetworkTransferTimeCalculator.prototype.formatTime):
2202 (WebInspector.NetworkTransferDurationCalculator.prototype.formatTime):
2203 * inspector/front-end/TimelineGrid.js:
2204 (WebInspector.TimelineGrid.prototype.updateDividers):
2205 * inspector/front-end/TimelineOverviewPane.js:
2206 (WebInspector.TimelineOverviewCalculator.prototype.formatTime):
2207 (WebInspector.TimelineStartAtZeroOverview):
2208 (WebInspector.TimelineStartAtZeroOverview.prototype.update):
2209 * inspector/front-end/TimelinePanel.js:
2210 (WebInspector.TimelinePanel):
2211 (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
2212 (WebInspector.TimelinePanel.prototype._refresh):
2213 (WebInspector.TimelinePanel.prototype._refreshRecords):
2214 (WebInspector.TimelinePanel.prototype.get timelinePaddingLeft):
2215 (WebInspector.TimelineCalculator):
2216 (WebInspector.TimelineCalculator.prototype.setWindow):
2217 (WebInspector.TimelineCalculator.prototype.setRecords):
2218 (WebInspector.TimelineCalculator.prototype.formatTime):
2219 (WebInspector.TimelineFitInWindowCalculator):
2220 (WebInspector.TimelineFitInWindowCalculator.prototype.setWindow):
2221 (WebInspector.TimelineFitInWindowCalculator.prototype.setRecords):
2222 * inspector/front-end/TimelinePresentationModel.js:
2223 (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
2225 2012-02-29 Yury Semikhatsky <yurys@chromium.org>
2227 Web Inspector: enable Profiles panel for workers
2228 https://bugs.webkit.org/show_bug.cgi?id=79908
2230 Introduced worker profiler agent. Enabled script profiling for
2233 Reviewed by Pavel Feldman.
2235 * bindings/js/ScriptProfiler.cpp:
2236 (WebCore::ScriptProfiler::startForPage):
2238 (WebCore::ScriptProfiler::startForWorkerContext):
2239 (WebCore::ScriptProfiler::stopForPage):
2240 (WebCore::ScriptProfiler::stopForWorkerContext):
2241 * bindings/js/ScriptProfiler.h:
2244 * bindings/v8/ScriptProfiler.cpp:
2245 (WebCore::ScriptProfiler::startForPage):
2247 (WebCore::ScriptProfiler::startForWorkerContext):
2248 (WebCore::ScriptProfiler::stopForPage):
2249 (WebCore::ScriptProfiler::stopForWorkerContext):
2250 * bindings/v8/ScriptProfiler.h:
2253 * inspector/InspectorProfilerAgent.cpp:
2255 (PageProfilerAgent):
2256 (WebCore::PageProfilerAgent::PageProfilerAgent):
2257 (WebCore::PageProfilerAgent::~PageProfilerAgent):
2258 (WebCore::PageProfilerAgent::startProfiling):
2259 (WebCore::PageProfilerAgent::stopProfiling):
2260 (WebCore::InspectorProfilerAgent::create):
2261 (WorkerProfilerAgent):
2262 (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
2263 (WebCore::WorkerProfilerAgent::~WorkerProfilerAgent):
2264 (WebCore::WorkerProfilerAgent::startProfiling):
2265 (WebCore::WorkerProfilerAgent::stopProfiling):
2266 (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
2267 (WebCore::InspectorProfilerAgent::start):
2268 (WebCore::InspectorProfilerAgent::stop):
2269 * inspector/InspectorProfilerAgent.h:
2271 (InspectorProfilerAgent):
2272 * inspector/WorkerInspectorController.cpp:
2273 (WebCore::WorkerInspectorController::WorkerInspectorController):
2274 (WebCore::WorkerInspectorController::connectFrontend):
2275 (WebCore::WorkerInspectorController::disconnectFrontend):
2276 (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
2277 * inspector/WorkerInspectorController.h:
2279 (WorkerInspectorController):
2280 * inspector/front-end/ProfilesPanel.js:
2281 * inspector/front-end/inspector.js:
2282 (WebInspector._createPanels):
2284 2012-02-29 Alexander Pavlov <apavlov@chromium.org>
2286 Web Inspector: Clicking relative links fails when query string contains a slash
2287 https://bugs.webkit.org/show_bug.cgi?id=79905
2289 Reviewed by Vsevolod Vlasov.
2291 * inspector/front-end/ResourceUtils.js:
2292 (WebInspector.completeURL):
2294 2012-02-29 Pavel Feldman <pfeldman@google.com>
2296 Web Inspector: Ctrl R should reload page from the console panel as well.
2297 https://bugs.webkit.org/show_bug.cgi?id=79883
2299 Reviewed by Vsevolod Vlasov.
2301 * inspector/front-end/inspector.js:
2302 (WebInspector.documentKeyDown):
2304 2012-02-28 Pavel Podivilov <podivilov@chromium.org>
2306 Extended attributes list should go before 'static' and 'const' modifiers in IDLs.
2307 https://bugs.webkit.org/show_bug.cgi?id=79807
2309 Reviewed by Kentaro Hara.
2311 No new tests. Generated code isn't changed.
2313 * bindings/scripts/IDLParser.pm:
2315 * bindings/scripts/IDLStructure.pm:
2316 * bindings/scripts/test/TestObj.idl:
2317 * bindings/scripts/test/TestSupplemental.idl:
2319 * html/HTMLMediaElement.idl:
2320 * html/HTMLTrackElement.idl:
2322 2012-02-28 Yury Semikhatsky <yurys@chromium.org>
2324 Web Inspector: move DOM counter graphs out of experimental
2325 https://bugs.webkit.org/show_bug.cgi?id=79802
2327 Enable DOM counter graphs by default.
2329 Reveal nearest record from the left hand side when there is no
2330 record containing the point where the user clicked.
2332 Reviewed by Pavel Feldman.
2334 * inspector/front-end/Settings.js:
2335 (WebInspector.ExperimentsSettings):
2336 * inspector/front-end/TimelinePanel.js:
2337 (WebInspector.TimelinePanel):
2338 (WebInspector.TimelinePanel.prototype._endSplitterDragging):
2339 (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
2340 (WebInspector.TimelinePanel.prototype.sidebarResized):
2341 (WebInspector.TimelinePanel.prototype._resetPanel):
2342 (WebInspector.TimelinePanel.prototype._refresh):
2343 (WebInspector.TimelinePanel.prototype.revealRecordAt):
2345 2012-02-28 MORITA Hajime <morrita@google.com>
2347 [Refactoring] Shadow related attach paths should be in ShadowTree.
2348 https://bugs.webkit.org/show_bug.cgi?id=79854
2350 Reviewed by Ryosuke Niwa.
2352 No new tests. No behavior change.
2354 This change introduces ShadowTree::attachHost() and ShadowTree::detachHost()
2355 and moves shadow-enabled attachment code from Element to ShadowRoot.
2356 This also factored out small ContainerNode method to use it from ShadowTree.
2358 Even after this change, the traveral order in ShadowTree
2359 attachment has some unclear part. Coming changes will clarify
2360 these. This change is aimed to be purely textural.
2362 * dom/ContainerNode.cpp:
2363 (WebCore::ContainerNode::attach):
2364 (WebCore::ContainerNode::detach):
2365 * dom/ContainerNode.h:
2367 (WebCore::ContainerNode::attachAsNode): Added.
2368 (WebCore::ContainerNode::attachChildren): Added.
2369 (WebCore::ContainerNode::attachChildrenIfNeeded): Added.
2370 (WebCore::ContainerNode::attachChildrenLazily): Added.
2371 (WebCore::ContainerNode::detachAsNode): Added.
2372 (WebCore::ContainerNode::detachChildrenIfNeeded): Added.
2373 (WebCore::ContainerNode::detachChildren): Added.
2375 (WebCore::Element::attach):
2376 (WebCore::Element::detach):
2377 * dom/ShadowTree.cpp:
2378 (WebCore::ShadowTree::addShadowRoot):
2379 (WebCore::ShadowTree::removeAllShadowRoots):
2380 (WebCore::ShadowTree::detachHost):
2382 (WebCore::ShadowTree::attachHost):
2383 (WebCore::ShadowTree::reattachHostChildrenAndShadow):
2387 2012-02-28 Arko Saha <arko@motorola.com>
2389 Microdata: Implement HTMLPropertiesCollection collection.namedItem().
2390 https://bugs.webkit.org/show_bug.cgi?id=73156
2392 Reviewed by Kentaro Hara.
2394 Tests: fast/dom/MicroData/nameditem-must-be-case-sensitive.html
2395 fast/dom/MicroData/nameditem-must-return-correct-item-properties.html
2396 fast/dom/MicroData/properties-collection-nameditem-test.html
2398 * bindings/scripts/CodeGeneratorJS.pm: Modified code generator to generate
2399 JS bindings code for HTMLPropertiesCollection [NamedGetter] property.
2400 (GenerateImplementation):
2401 * html/HTMLPropertiesCollection.cpp:
2402 (WebCore::HTMLPropertiesCollection::names):
2404 (WebCore::HTMLPropertiesCollection::namedItem): Returns a NodeList object
2405 containing any elements that add a property named name.
2406 (WebCore::HTMLPropertiesCollection::hasNamedItem): Checks if the items can
2407 be retrieved or not based on the property named name.
2408 * html/HTMLPropertiesCollection.h: Added namedItem(), hasProperty(),
2409 hasNamedItem() methods.
2410 (HTMLPropertiesCollection):
2411 * html/HTMLPropertiesCollection.idl: Added namedItem() IDL method.
2413 2012-02-28 Kinuko Yasuda <kinuko@chromium.org>
2415 Add size field to Metadata in FileSystem API
2416 https://bugs.webkit.org/show_bug.cgi?id=79813
2418 Reviewed by David Levin.
2420 Test: fast/filesystem/op-get-metadata.html
2422 * fileapi/FileSystemCallbacks.cpp:
2423 (WebCore::MetadataCallbacks::didReadMetadata):
2424 * fileapi/Metadata.h:
2425 (WebCore::Metadata::create):
2426 (WebCore::Metadata::modificationTime):
2427 (WebCore::Metadata::size): Added.
2428 (WebCore::Metadata::Metadata):
2429 * fileapi/Metadata.idl:
2431 2012-02-28 Dmitry Lomov <dslomov@google.com>
2433 [JSC] Implement ArrayBuffer transfer
2434 https://bugs.webkit.org/show_bug.cgi?id=73493.
2435 Implement ArrayBuffer transfer, per Khronos spec: http://www.khronos.org/registry/typedarray/specs/latest/#9.
2436 This brings parity with V8 implementation of transferable typed arrays.
2438 Reviewed by Oliver Hunt.
2440 Covered by existing tests.
2442 * bindings/js/JSDOMWindowCustom.cpp:
2443 (WebCore::handlePostMessage):
2444 * bindings/js/JSDictionary.cpp:
2445 (WebCore::JSDictionary::convertValue):
2446 * bindings/js/JSHistoryCustom.cpp:
2447 (WebCore::JSHistory::pushState):
2448 (WebCore::JSHistory::replaceState):
2449 * bindings/js/JSMessageEventCustom.cpp:
2450 (WebCore::handleInitMessageEvent):
2451 * bindings/js/JSMessagePortCustom.cpp:
2452 (WebCore::fillMessagePortArray):
2453 * bindings/js/JSMessagePortCustom.h:
2455 (WebCore::handlePostMessage):
2456 * bindings/js/ScriptValue.cpp:
2457 (WebCore::ScriptValue::serialize):
2458 * bindings/js/SerializedScriptValue.cpp:
2460 (WebCore::CloneSerializer::serialize):
2462 (WebCore::CloneSerializer::CloneSerializer):
2463 (WebCore::CloneSerializer::fillTransferMap):
2464 (WebCore::CloneSerializer::dumpArrayBufferView):
2465 (WebCore::CloneSerializer::dumpIfTerminal):
2466 (WebCore::CloneDeserializer::deserialize):
2467 (WebCore::CloneDeserializer::CloneDeserializer):
2468 (WebCore::CloneDeserializer::readTerminal):
2469 (CloneDeserializer):
2470 (WebCore::SerializedScriptValue::SerializedScriptValue):
2471 (WebCore::SerializedScriptValue::transferArrayBuffers):
2472 (WebCore::SerializedScriptValue::create):
2473 (WebCore::SerializedScriptValue::deserialize):
2474 * bindings/js/SerializedScriptValue.h:
2476 (SerializedScriptValue):
2478 2012-02-28 Kevin Ollivier <kevino@theolliviers.com>
2480 [wx] Unreviewed. Build fixes after recent bindings changes.
2482 * bindings/scripts/CodeGeneratorCPP.pm:
2484 * testing/Internals.idl:
2486 2012-02-28 Yoshifumi Inoue <yosin@chromium.org>
2488 [Forms] Spin button sometimes ignores Indeterminate of m_upDownState
2489 https://bugs.webkit.org/show_bug.cgi?id=79754
2491 Reviewed by Kent Tamura.
2493 This patch checks enum value Indeterminate before using m_upDownState. This make
2494 sure Indeterminate state doesn't act like Down state.
2496 m_upDownState can be Indeterminate at mousedown event if mouse pointer is on
2497 spin button when it is displayed.
2499 Test: fast/forms/number/spin-button-state.html
2501 * html/shadow/TextControlInnerElements.cpp:
2502 (WebCore::SpinButtonElement::defaultEventHandler):
2503 (WebCore::SpinButtonElement::repeatingTimerFired):
2505 2012-02-27 MORITA Hajime <morrita@google.com>
2507 [Refactoring] RenderSummary and RenderDetail is no longer needed.
2508 https://bugs.webkit.org/show_bug.cgi?id=79641
2510 Reviewed by Kent Tamura.
2512 Removed RenderDetails and RenderSummary because its only
2513 modification they had is already handled by RenderBlock::styleWillChange().
2514 These are just a historical artifact. We could have removed these
2515 classes when they were switched to shadow-based implementations.
2517 Tests: fast/html/details-inline-expected.html
2518 fast/html/details-inline.html
2521 * GNUmakefile.list.am:
2524 * WebCore.vcproj/WebCore.vcproj:
2525 * WebCore.xcodeproj/project.pbxproj:
2526 * html/HTMLDetailsElement.cpp:
2527 (WebCore::HTMLDetailsElement::createRenderer):
2528 * html/HTMLSummaryElement.cpp:
2529 (WebCore::HTMLSummaryElement::createRenderer):
2530 (WebCore::HTMLSummaryElement::defaultEventHandler):
2531 * rendering/RenderDetails.cpp: Removed.
2532 * rendering/RenderDetails.h: Removed.
2533 * rendering/RenderDetailsMarker.cpp:
2534 (WebCore::RenderDetailsMarker::isOpen):
2535 * rendering/RenderDetailsMarker.h:
2536 (RenderDetailsMarker):
2537 * rendering/RenderObject.h:
2539 * rendering/RenderSummary.cpp: Removed.
2540 * rendering/RenderSummary.h: Removed.
2541 * rendering/RenderingAllInOne.cpp:
2543 2012-02-28 Simon Fraser <simon.fraser@apple.com>
2545 Optimize the rects being drawn into compositing layers
2546 https://bugs.webkit.org/show_bug.cgi?id=79852
2548 Reviewed by Dan Bernstein.
2550 Use the newly added WebKitSystemInterface method
2551 to limit the area being painted in a CALayer
2552 -drawInContext callback. This avoids redundant drawing,
2555 * platform/graphics/mac/WebLayer.mm:
2556 (drawLayerContents):
2558 2012-02-28 Simon Fraser <simon.fraser@apple.com>
2560 Fix the SnowLeopard build.
2564 2012-02-28 Anders Carlsson <andersca@apple.com>
2566 With tiled drawing enabled, pressing Down arrow after scrolling via mouse gesture causes page to jump back up to top
2567 https://bugs.webkit.org/show_bug.cgi?id=79249
2568 <rdar://problem/10866273>
2570 Reviewed by Sam Weinig.
2572 ScrollableArea::notifyScrollPositionChanged must make sure that the scroll animator position is kept up to date.
2574 * platform/ScrollAnimator.cpp:
2575 (WebCore::ScrollAnimator::setCurrentPosition):
2577 * platform/ScrollAnimator.h:
2579 * platform/ScrollableArea.cpp:
2580 (WebCore::ScrollableArea::notifyScrollPositionChanged):
2582 2012-02-28 Daniel Cheng <dcheng@chromium.org>
2584 Unreviewed, rolling out r107894.
2585 http://trac.webkit.org/changeset/107894
2586 https://bugs.webkit.org/show_bug.cgi?id=30416
2588 dataTransfer.types should be an Array since DOMStringList is deprecated.
2590 * bindings/js/JSClipboardCustom.cpp:
2591 (WebCore::JSClipboard::types):
2593 * bindings/v8/custom/V8ClipboardCustom.cpp:
2594 (WebCore::V8Clipboard::typesAccessorGetter):
2596 * dom/Clipboard.cpp:
2597 (WebCore::Clipboard::hasStringOfType):
2600 * dom/Clipboard.idl:
2601 * platform/blackberry/ClipboardBlackBerry.cpp:
2602 (WebCore::ClipboardBlackBerry::types):
2603 * platform/blackberry/ClipboardBlackBerry.h:
2604 (ClipboardBlackBerry):
2605 * platform/chromium/ChromiumDataObject.cpp:
2606 (WebCore::ChromiumDataObject::types):
2607 * platform/chromium/ChromiumDataObject.h:
2608 (ChromiumDataObject):
2609 * platform/chromium/ClipboardChromium.cpp:
2610 (WebCore::ClipboardChromium::types):
2611 (WebCore::ClipboardChromium::mayUpdateItems):
2612 * platform/chromium/ClipboardChromium.h:
2613 (ClipboardChromium):
2614 * platform/chromium/DragDataChromium.cpp:
2615 (WebCore::containsHTML):
2616 (WebCore::DragData::containsURL):
2617 (WebCore::DragData::asURL):
2618 (WebCore::DragData::containsPlainText):
2619 (WebCore::DragData::canSmartReplace):
2620 (WebCore::DragData::asFragment):
2621 * platform/efl/ClipboardEfl.cpp:
2622 (WebCore::ClipboardEfl::types):
2623 * platform/efl/ClipboardEfl.h:
2625 * platform/gtk/ClipboardGtk.cpp:
2626 (WebCore::ClipboardGtk::types):
2627 * platform/gtk/ClipboardGtk.h:
2629 * platform/mac/ClipboardMac.h:
2631 * platform/mac/ClipboardMac.mm:
2632 (WebCore::addHTMLClipboardTypesForCocoaType):
2633 (WebCore::ClipboardMac::types):
2634 * platform/qt/ClipboardQt.cpp:
2635 (WebCore::ClipboardQt::types):
2636 * platform/qt/ClipboardQt.h:
2638 * platform/win/ClipboardWin.cpp:
2639 (WebCore::addMimeTypesForFormat):
2640 (WebCore::ClipboardWin::types):
2641 * platform/win/ClipboardWin.h:
2643 * platform/wx/ClipboardWx.cpp:
2644 (WebCore::ClipboardWx::types):
2645 * platform/wx/ClipboardWx.h:
2648 2012-02-28 Simon Fraser <simon.fraser@apple.com>
2650 Update WebKitSystemInterface.
2652 Reviewed by Sam Weinig.
2655 (drawLayerContents):
2656 * platform/mac/WebCoreSystemInterface.h:
2657 * platform/mac/WebCoreSystemInterface.mm:
2659 2012-02-27 MORITA Hajime <morrita@google.com>
2661 <content> element should behave as HTMLUnknownElement outside of a shadow DOM subtree
2662 https://bugs.webkit.org/show_bug.cgi?id=79551
2664 Reviewed by Dimitri Glazkov.
2666 The problem happened because HTMLContentElement doesn't create renderer anytime.
2668 This change allows it to create a renderer unless the HTMLContentElement is shadowed.
2669 Since this could happen not only on <content> but also on upcoming <shadow>,
2670 the corresponding part of the code is pulled up to InsertionPoint.
2672 Tests: fast/dom/shadow/content-element-outside-shadow-style-expected.html
2673 fast/dom/shadow/content-element-outside-shadow-style.html
2675 * dom/NodeRenderingContext.cpp:
2676 (WebCore::NodeRenderingContext::NodeRenderingContext):
2679 (WebCore::TreeScope::isShadowRoot):
2682 * html/shadow/HTMLContentElement.h:
2683 * html/shadow/InsertionPoint.cpp:
2684 (WebCore::InsertionPoint::isShadowBoundary):
2686 * html/shadow/InsertionPoint.h:
2688 (WebCore::isShadowBoundary):
2691 2012-02-28 Daniel Cheng <dcheng@chromium.org>
2693 Clipboard::getData should return an empty string instead of undefined
2694 https://bugs.webkit.org/show_bug.cgi?id=79712
2696 Reviewed by Tony Chang.
2698 Per the spec, an empty string should be returned when there is no data for the given typestring.
2700 Test: fast/events/dataTransfer-getData-returns-empty-string.html
2702 * bindings/js/JSClipboardCustom.cpp:
2703 * bindings/v8/custom/V8ClipboardCustom.cpp:
2706 * dom/Clipboard.idl:
2707 * platform/blackberry/ClipboardBlackBerry.cpp:
2708 (WebCore::ClipboardBlackBerry::getData):
2709 * platform/blackberry/ClipboardBlackBerry.h:
2710 (ClipboardBlackBerry):
2711 * platform/chromium/ClipboardChromium.cpp:
2712 (WebCore::ClipboardChromium::getData):
2713 * platform/chromium/ClipboardChromium.h:
2714 (ClipboardChromium):
2715 * platform/efl/ClipboardEfl.cpp:
2716 (WebCore::ClipboardEfl::getData):
2717 * platform/efl/ClipboardEfl.h:
2719 * platform/gtk/ClipboardGtk.cpp:
2720 (WebCore::ClipboardGtk::getData):
2721 * platform/gtk/ClipboardGtk.h:
2723 * platform/mac/ClipboardMac.h:
2725 * platform/mac/ClipboardMac.mm:
2726 (WebCore::ClipboardMac::getData):
2727 * platform/qt/ClipboardQt.cpp:
2728 (WebCore::ClipboardQt::getData):
2729 * platform/qt/ClipboardQt.h:
2731 * platform/win/ClipboardUtilitiesWin.cpp:
2732 (WebCore::getFullCFHTML):
2734 (WebCore::getPlainText):
2735 (WebCore::getTextHTML):
2736 (WebCore::getCFHTML):
2737 (WebCore::fragmentFromHTML):
2738 * platform/win/ClipboardUtilitiesWin.h:
2740 * platform/win/ClipboardWin.cpp:
2741 (WebCore::ClipboardWin::getData):
2742 * platform/win/ClipboardWin.h:
2744 * platform/wx/ClipboardWx.cpp:
2745 (WebCore::ClipboardWx::getData):
2746 * platform/wx/ClipboardWx.h:
2749 2012-02-28 Kenichi Ishibashi <bashi@chromium.org>
2751 [Chromium] Uninitialized value in LocaleToScriptCodeForFontSelection
2752 https://bugs.webkit.org/show_bug.cgi?id=79779
2754 Set USCRIPT_COMMON to scriptCode as the initial value.
2756 Reviewed by Kent Tamura.
2758 No new tests. No behavior change.
2760 * platform/text/LocaleToScriptMappingICU.cpp:
2761 (WebCore::localeToScriptCodeForFontSelection):
2763 2012-02-28 Kenneth Russell <kbr@google.com>
2765 [chromium] Work around IOSurface-related corruption during readback
2766 https://bugs.webkit.org/show_bug.cgi?id=79735
2768 Reviewed by James Robinson.
2770 Copy the compositor's IOSurface-backed output into a temporary
2771 texture and perform the ReadPixels operation against that texture.
2773 It is infeasible to write an automated test for this issue.
2774 Tested manually by performing print preview multiple times against
2775 pages containing WebGL content on 10.7 and observing that the
2776 corruption in the output is no longer present.
2778 * platform/graphics/chromium/LayerRendererChromium.cpp:
2779 (WebCore::LayerRendererChromium::getFramebufferPixels):
2781 2012-02-28 Adrienne Walker <enne@google.com>
2783 [chromium] Inform v8 about extra memory used for PatternSkia clamp mode
2784 https://bugs.webkit.org/show_bug.cgi?id=79846
2786 Reviewed by James Robinson.
2788 For large images, creating a non-repeating Pattern in Skia can
2789 allocate a lot of memory. Inform v8 about this so that it can
2790 potentially garbage collect any Pattern objects that aren't being used
2791 and that are holding onto large image copies.
2793 * platform/graphics/Pattern.cpp:
2794 (WebCore::Pattern::Pattern):
2795 * platform/graphics/Pattern.h:
2797 * platform/graphics/skia/PatternSkia.cpp:
2798 (WebCore::Pattern::platformDestroy):
2799 (WebCore::Pattern::platformPattern):
2801 2012-02-28 Jonathan Backer <backer@chromium.org>
2803 [chromium] Reset damage tracker on visibility change.
2804 https://bugs.webkit.org/show_bug.cgi?id=79267
2806 Reviewed by James Robinson.
2808 Unit tests: CCLayerTreeHostImplTest.cpp
2810 * platform/graphics/chromium/LayerRendererChromium.cpp:
2811 (WebCore::LayerRendererChromium::setVisible):
2813 2012-02-28 Sheriff Bot <webkit.review.bot@gmail.com>
2815 Unreviewed, rolling out r108834.
2816 http://trac.webkit.org/changeset/108834
2817 https://bugs.webkit.org/show_bug.cgi?id=79840
2819 Seems to cause a number of crashes under
2820 FrameView::doDeferredRepaints (Requested by jamesr__ on
2823 * svg/graphics/SVGImage.cpp:
2824 (WebCore::SVGImage::draw):
2825 * svg/graphics/SVGImage.h:
2826 * svg/graphics/SVGImageCache.cpp:
2827 (WebCore::SVGImageCache::imageContentChanged):
2828 (WebCore::SVGImageCache::redrawTimerFired):
2829 * svg/graphics/SVGImageCache.h:
2832 2012-02-29 Mario Sanchez Prada <msanchez@igalia.com>
2834 [GTK] Add support for nested event loops in RunLoop
2835 https://bugs.webkit.org/show_bug.cgi?id=79499
2837 Reviewed by Martin Robinson.
2839 Run a new nested mainloop if the main event loop is already
2840 running when calling to RunLoop::run(), and take care of stopping
2841 the right main loop too when RunLoop::stop() is invoked.
2843 * platform/RunLoop.h:
2845 * platform/gtk/RunLoopGtk.cpp:
2846 (WebCore::RunLoop::RunLoop):
2847 (WebCore::RunLoop::~RunLoop):
2848 (WebCore::RunLoop::run):
2849 (WebCore::RunLoop::innermostLoop):
2850 (WebCore::RunLoop::pushNestedMainLoop):
2851 (WebCore::RunLoop::popNestedMainLoop):
2853 (WebCore::RunLoop::stop):
2855 2012-02-28 Julien Chaffraix <jchaffraix@webkit.org>
2857 Move RenderLayer::size() calls to a common function
2858 https://bugs.webkit.org/show_bug.cgi?id=76972
2860 Reviewed by Simon Fraser.
2864 This change introduces RenderBox::cachedSizeForOverflowClip() that handles all the cached size
2865 requests that currently goes through the RenderLayer. This indirection helps to decouple the need
2866 for a RenderLayer so that we can lazily allocate RenderLayers as part of bug 75568.
2868 * rendering/RenderBox.cpp:
2869 (WebCore::RenderBox::cachedSizeForOverflowClip):
2870 Added this function to handle the calls to RenderLayer's size(). Unfortunately a lot of the
2871 code calls RenderLayer::size() directly so I could not make it private.
2873 * rendering/LayoutState.cpp:
2874 (WebCore::LayoutState::LayoutState):
2875 * rendering/RenderBox.cpp:
2876 (WebCore::RenderBox::computeRectForRepaint):
2877 * rendering/RenderBox.h:
2879 * rendering/RenderInline.cpp:
2880 (WebCore::RenderInline::clippedOverflowRectForRepaint):
2881 (WebCore::RenderInline::computeRectForRepaint):
2882 * rendering/RenderObject.cpp:
2883 (WebCore::RenderObject::computeRectForRepaint):
2884 Fixed the call sites above.
2886 2012-02-28 Tim Dresser <tdresser@chromium.org>
2888 Provide DefaultDeviceScaleFactor though WebSettings
2889 https://bugs.webkit.org/show_bug.cgi?id=79534
2891 Reviewed by Darin Fisher.
2893 * page/Settings.cpp:
2894 (WebCore::Settings::Settings):
2895 (WebCore::Settings::setDefaultDeviceScaleFactor):
2899 (WebCore::Settings::defaultDeviceScaleFactor):
2901 2012-02-28 Oliver Hunt <oliver@apple.com>
2905 * mathml/MathMLElement.cpp:
2906 (WebCore::MathMLElement::collectStyleForAttribute):
2908 2012-02-28 Dean Jackson <dino@apple.com>
2910 https://bugs.webkit.org/show_bug.cgi?id=79824
2912 Unreviewed build fix for when ENABLE(CSS_FILTERS) is on
2913 but ENABLE(CSS_SHADERS) is off.
2915 * css/WebKitCSSFilterValue.cpp:
2916 (WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):
2918 2012-02-28 Dave Moore <davemoore@chromium.org>
2920 Slow content causes choppy scrolling
2921 https://bugs.webkit.org/show_bug.cgi?id=79403
2923 Reviewed by James Robinson.
2925 This code helps make scrolling (via wheel or pad) less choppy
2926 when the content takes a long time to respond to the fake mouse moves
2927 generated during scrolls.
2930 * page/EventHandler.cpp:
2932 (MaximumDurationTracker):
2933 (WebCore::MaximumDurationTracker::MaximumDurationTracker):
2934 (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
2935 (WebCore::EventHandler::EventHandler):
2936 (WebCore::EventHandler::clear):
2937 (WebCore::EventHandler::mouseMoved):
2938 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
2939 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad):
2940 * page/EventHandler.h:
2942 2012-02-28 Andreas Kling <awesomekling@apple.com>
2944 StyledElement::isPresentationAttribute() only needs the attribute name.
2945 <http://webkit.org/b/79828>
2947 Reviewed by Anders Carlsson.
2949 Pass the QualifiedName to isPresentationAttribute instead of the whole
2950 Attribute. We only need the name to know what kind of attribute it is.
2952 This makes the code a little less ugly and makes it possible to use
2953 the function without having an Attribute object.
2955 * dom/StyledElement.cpp:
2956 (WebCore::StyledElement::attributeChanged):
2957 * dom/StyledElement.h:
2958 (WebCore::StyledElement::isPresentationAttribute):
2959 * html/HTMLBRElement.cpp:
2960 (WebCore::HTMLBRElement::isPresentationAttribute):
2961 * html/HTMLBRElement.h:
2962 * html/HTMLBodyElement.cpp:
2963 (WebCore::HTMLBodyElement::isPresentationAttribute):
2964 * html/HTMLBodyElement.h:
2965 * html/HTMLButtonElement.cpp:
2966 (WebCore::HTMLButtonElement::isPresentationAttribute):
2967 * html/HTMLButtonElement.h:
2968 * html/HTMLDivElement.cpp:
2969 (WebCore::HTMLDivElement::isPresentationAttribute):
2970 * html/HTMLDivElement.h:
2971 * html/HTMLElement.cpp:
2972 (WebCore::HTMLElement::isPresentationAttribute):
2973 * html/HTMLElement.h:
2974 * html/HTMLEmbedElement.cpp:
2975 (WebCore::HTMLEmbedElement::isPresentationAttribute):
2976 * html/HTMLEmbedElement.h:
2977 * html/HTMLFontElement.cpp:
2978 (WebCore::HTMLFontElement::isPresentationAttribute):
2979 * html/HTMLFontElement.h:
2980 * html/HTMLFrameSetElement.cpp:
2981 (WebCore::HTMLFrameSetElement::isPresentationAttribute):
2982 * html/HTMLFrameSetElement.h:
2983 * html/HTMLHRElement.cpp:
2984 (WebCore::HTMLHRElement::isPresentationAttribute):
2985 * html/HTMLHRElement.h:
2986 * html/HTMLIFrameElement.cpp:
2987 (WebCore::HTMLIFrameElement::isPresentationAttribute):
2988 * html/HTMLIFrameElement.h:
2989 * html/HTMLImageElement.cpp:
2990 (WebCore::HTMLImageElement::isPresentationAttribute):
2991 * html/HTMLImageElement.h:
2992 * html/HTMLInputElement.cpp:
2993 (WebCore::HTMLInputElement::isPresentationAttribute):
2994 * html/HTMLInputElement.h:
2995 * html/HTMLLIElement.cpp:
2996 (WebCore::HTMLLIElement::isPresentationAttribute):
2997 * html/HTMLLIElement.h:
2998 * html/HTMLMarqueeElement.cpp:
2999 (WebCore::HTMLMarqueeElement::isPresentationAttribute):
3000 * html/HTMLMarqueeElement.h:
3001 * html/HTMLOListElement.cpp:
3002 (WebCore::HTMLOListElement::isPresentationAttribute):
3003 * html/HTMLOListElement.h:
3004 * html/HTMLObjectElement.cpp:
3005 (WebCore::HTMLObjectElement::isPresentationAttribute):
3006 * html/HTMLObjectElement.h:
3007 * html/HTMLParagraphElement.cpp:
3008 (WebCore::HTMLParagraphElement::isPresentationAttribute):
3009 * html/HTMLParagraphElement.h:
3010 * html/HTMLPlugInElement.cpp:
3011 (WebCore::HTMLPlugInElement::isPresentationAttribute):
3012 * html/HTMLPlugInElement.h:
3013 * html/HTMLPreElement.cpp:
3014 (WebCore::HTMLPreElement::isPresentationAttribute):
3015 * html/HTMLPreElement.h:
3016 * html/HTMLSelectElement.cpp:
3017 (WebCore::HTMLSelectElement::isPresentationAttribute):
3018 * html/HTMLSelectElement.h:
3019 * html/HTMLTableCaptionElement.cpp:
3020 (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
3021 * html/HTMLTableCaptionElement.h:
3022 * html/HTMLTableCellElement.cpp:
3023 (WebCore::HTMLTableCellElement::isPresentationAttribute):
3024 * html/HTMLTableCellElement.h:
3025 * html/HTMLTableColElement.cpp:
3026 (WebCore::HTMLTableColElement::isPresentationAttribute):
3027 * html/HTMLTableColElement.h:
3028 * html/HTMLTableElement.cpp:
3029 (WebCore::HTMLTableElement::isPresentationAttribute):
3030 * html/HTMLTableElement.h:
3031 * html/HTMLTablePartElement.cpp:
3032 (WebCore::HTMLTablePartElement::isPresentationAttribute):
3033 * html/HTMLTablePartElement.h:
3034 * html/HTMLTextAreaElement.cpp:
3035 (WebCore::HTMLTextAreaElement::isPresentationAttribute):
3036 * html/HTMLTextAreaElement.h:
3037 * html/HTMLUListElement.cpp:
3038 (WebCore::HTMLUListElement::isPresentationAttribute):
3039 * html/HTMLUListElement.h:
3040 * html/HTMLVideoElement.cpp:
3041 (WebCore::HTMLVideoElement::isPresentationAttribute):
3042 * html/HTMLVideoElement.h:
3043 * mathml/MathMLElement.cpp:
3044 (WebCore::MathMLElement::isPresentationAttribute):
3045 * mathml/MathMLElement.h:
3046 * svg/SVGImageElement.cpp:
3047 (WebCore::SVGImageElement::isPresentationAttribute):
3048 * svg/SVGImageElement.h:
3049 * svg/SVGStyledElement.cpp:
3050 (WebCore::SVGStyledElement::isPresentationAttribute):
3051 * svg/SVGStyledElement.h:
3052 * svg/SVGTextContentElement.cpp:
3053 (WebCore::SVGTextContentElement::isPresentationAttribute):
3054 * svg/SVGTextContentElement.h:
3056 2012-02-28 Enrica Casucci <enrica@apple.com>
3058 More Pasteboard code cleanup.
3059 https://bugs.webkit.org/show_bug.cgi?id=79816
3061 Removing the last references to NSPasteboard.
3063 Reviewed by Alexey Proskuryakov.
3065 No new tests. No change in functionality.
3067 * WebCore.xcodeproj/project.pbxproj:
3068 * editing/mac/EditorMac.mm:
3069 (WebCore::Editor::pasteWithPasteboard):
3070 (WebCore::Editor::takeFindStringFromSelection):
3071 * loader/EmptyClients.h:
3072 (WebCore::EmptyEditorClient::setInsertionPasteboard):
3073 * page/DragClient.h:
3074 * page/EditorClient.h:
3075 * platform/DragData.h:
3076 * platform/Pasteboard.h:
3077 * platform/mac/ClipboardMac.h:
3078 * platform/mac/PasteboardHelper.h: Removed.
3080 2012-02-28 Sheriff Bot <webkit.review.bot@gmail.com>
3082 Unreviewed, rolling out r109137.
3083 http://trac.webkit.org/changeset/109137
3084 https://bugs.webkit.org/show_bug.cgi?id=79833
3086 Broke cr-mac build (Requested by aklein on #webkit).
3088 * platform/graphics/mac/SimpleFontDataMac.mm:
3090 (WebCore::pathFromFont):
3092 2012-02-28 Jungshik Shin <jshin@chromium.org>
3094 Add a fallback path to LineBreakIteratorPoolICU when the locale
3095 name from a web page is invalid and ICU fails to get a line break
3096 iterator instance. Also add a null check to
3097 TextBreakIteratorICU::acquireLineBreakIterator.
3099 Reviewed by Dan Bernstein.
3101 https://bugs.webkit.org/show_bug.cgi?id=67640
3103 Test: fast/text/invalid-locale.html
3105 * platform/text/LineBreakIteratorPoolICU.h:
3106 (WebCore::LineBreakIteratorPool::take):
3107 * platform/text/TextBreakIteratorICU.cpp:
3108 (WebCore::acquireLineBreakIterator):
3110 2012-02-28 Abhishek Arya <inferno@chromium.org>
3112 Crash due to accessing removed continuation in multi-column layout.
3113 https://bugs.webkit.org/show_bug.cgi?id=78417
3115 Reviewed by David Hyatt.
3117 This patch addresses two problems:
3118 1. Run-in block got split due to addition of a column-span child.
3119 The clone part was incorrectly intruding into the sibling block,
3120 even when it was part of the continuation chain.
3121 2. Like r73296, we don't need to set continuation on an
3122 anonymous block since we haven't split a real element.
3124 Test: fast/multicol/span/runin-continuation-crash.html
3126 * rendering/RenderBlock.cpp:
3127 (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
3128 (WebCore::RenderBlock::handleRunInChild):
3130 2012-02-28 Abhishek Arya <inferno@chromium.org>
3132 Incorrect before child parent calculation when adding new children
3133 to anonymous column blocks.
3134 https://bugs.webkit.org/show_bug.cgi?id=79755
3136 Reviewed by David Hyatt.
3138 before child can be wrapped in anonymous containers, so need to
3139 take care of that in before child parent calculation.
3141 Test: fast/multicol/span/before-child-anonymous-column-block.html
3143 * rendering/RenderBlock.cpp:
3144 (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
3146 2012-02-28 Ned Holbrook <nholbrook@apple.com>
3148 Reimplement pathFromFont() in SimpleFontDataMac.mm
3149 https://bugs.webkit.org/show_bug.cgi?id=79811
3151 Reviewed by Dan Bernstein.
3153 Debug-only function, so no new tests.
3155 * platform/graphics/mac/SimpleFontDataMac.mm:
3156 (WebCore::pathFromFont): Reimplemented.
3158 2012-02-28 Alexis Menard <alexis.menard@openbossa.org>
3160 getComputedStyle fails for 'first-line' pseudo-element
3161 https://bugs.webkit.org/show_bug.cgi?id=57505
3163 Reviewed by Tony Chang.
3165 Querying the selector with a pseudo-element using getComputedStyle should work
3166 even if the selector was not declared in the stylesheet. When not declared, we need
3167 to use the RenderStyle created to do the rendering as there is no pseudo-style.
3168 This match the behavior of Firefox.
3170 No new tests : Updated expectation and extended getComputedStyle-with-pseudo-element.html.
3173 (WebCore::Element::computedStyle):
3175 2012-02-28 Ashod Nakashian <ashodnakashian@yahoo.com>
3177 Move FILE_SYSTEM code out of WorkerContext and into the fileapi folder
3178 https://bugs.webkit.org/show_bug.cgi?id=79449
3180 Reviewed by Adam Barth.
3182 This moves FILE_SYSTEM code out of WorkerContext and into the fileapi/WorkerContextFileSystem.
3183 None-functional changes, no new tests necessary.
3186 * DerivedSources.make:
3187 * DerivedSources.pri:
3188 * GNUmakefile.list.am:
3191 * WebCore.vcproj/WebCore.vcproj:
3192 * fileapi/WorkerContextFileSystem.cpp: Added.
3194 (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
3195 (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
3196 (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
3197 (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
3198 * fileapi/WorkerContextFileSystem.h: Added.
3200 (WorkerContextFileSystem):
3201 * fileapi/WorkerContextFileSystem.idl: Added.
3202 * workers/WorkerContext.cpp:
3203 (WebCore::WorkerContext::ensureEventTargetData):
3204 * workers/WorkerContext.h:
3207 * workers/WorkerContext.idl:
3209 2012-02-28 Alexey Proskuryakov <ap@apple.com>
3211 FileReader crashes when file is not readable
3212 https://bugs.webkit.org/show_bug.cgi?id=79715
3214 Reviewed by Jian Li.
3216 Test: fast/files/file-reader-directory-crash.html
3218 * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): Crash early if a caller
3219 mixed up in-band error signal with length again.
3221 * platform/network/BlobResourceHandle.cpp:
3222 (WebCore): Changed errors into an enum. Added a proper domain for blob errors.
3223 (WebCore::BlobResourceHandle::didReceiveResponse): There is already a constant for INT_MAX
3225 (WebCore::BlobResourceHandle::didRead): Don't send "-1" for failure down the success path.
3226 (WebCore::BlobResourceHandle::notifyFail): Use a proper domain for blob errors, and a non-
3229 2012-02-28 Adam Klein <adamk@chromium.org>
3231 Unreviewed, fix cr-win build after r109119.
3233 * platform/graphics/chromium/TransparencyWin.h:
3236 2012-02-28 Mario Sanchez Prada <msanchez@igalia.com>
3238 [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
3239 https://bugs.webkit.org/show_bug.cgi?id=79496
3241 Reviewed by Martin Robinson.
3243 Updated places where raw pointers to GMainLoop and GMainContext
3244 were being used, replacing them with GRefPtr-based code.
3246 * platform/RunLoop.h:
3248 * platform/gtk/RunLoopGtk.cpp:
3249 (WebCore::RunLoop::RunLoop):
3250 (WebCore::RunLoop::~RunLoop):
3251 (WebCore::RunLoop::mainLoop):
3252 (WebCore::RunLoop::stop):
3253 (WebCore::RunLoop::wakeUp):
3254 (WebCore::RunLoop::TimerBase::start):
3255 * platform/network/soup/ResourceHandleSoup.cpp:
3256 (WebCoreSynchronousLoader):
3257 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
3258 (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
3259 (WebCore::WebCoreSynchronousLoader::didFinishLoading):
3260 (WebCore::WebCoreSynchronousLoader::run):
3262 2012-02-28 Alok Priyadarshi <alokp@chromium.org>
3264 Heap-use-after-free in WebCore::RenderLayer::addChild
3265 https://bugs.webkit.org/show_bug.cgi?id=79698
3267 Reviewed by Simon Fraser.
3269 This patch fixes a regression introduced in r108659.
3270 The reflection layer was moved to the parent by mistake. It was then
3271 deleted and the parent was left holding on to a deleted pointer. This
3272 patch restores the location where reflection layer is removed - before
3273 moving the child layers.
3275 Test: fast/reflections/toggle-reflection-crash.html
3277 * rendering/RenderLayer.cpp:
3278 (WebCore::RenderLayer::removeOnlyThisLayer):
3280 2012-02-28 Ken Buchanan <kenrb@chromium.org>
3282 Crash from list marker having inline and block children
3283 https://bugs.webkit.org/show_bug.cgi?id=79793
3285 Reviewed by Julien Chaffraix.
3287 Crashing condition in which an anonymous block was being collapsed
3288 even though it had a block sibling. removeChild() was not checking
3289 for siblings that might precede :before content renderers, such
3290 as list items. This patch corrects that.
3292 * rendering/RenderBlock.cpp:
3293 (WebCore::RenderBlock::removeChild)
3295 2012-02-28 Adam Klein <adamk@chromium.org>
3297 Unreviewed, speculative test fix after r109016.
3299 * platform/graphics/chromium/TransparencyWin.cpp:
3300 (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): Explicitly pass a scale of 1 to ImageBuffer::create.
3301 * platform/graphics/chromium/TransparencyWin.h:
3302 (WebCore): Update names of re-enabled tests.
3304 2012-02-28 Antti Koivisto <antti@apple.com>
3306 Give StyleRule files of its own
3307 https://bugs.webkit.org/show_bug.cgi?id=79778
3309 Totally rubber-stamped by Andreas Kling.
3312 * GNUmakefile.list.am:
3315 * WebCore.vcproj/WebCore.vcproj:
3316 * WebCore.xcodeproj/project.pbxproj:
3317 * css/CSSParser.cpp:
3318 * css/CSSStyleRule.cpp:
3320 (WebCore::CSSStyleRule::style):
3321 * css/CSSStyleRule.h:
3324 * css/CSSStyleSelector.cpp:
3325 * css/CSSStyleSheet.cpp:
3326 * css/StyleRule.cpp: Copied from Source/WebCore/css/CSSStyleRule.cpp.
3328 * css/StyleRule.h: Copied from Source/WebCore/css/CSSStyleRule.h.
3330 * editing/EditingStyle.cpp:
3331 * inspector/InspectorCSSAgent.cpp:
3332 * inspector/InspectorInstrumentation.cpp:
3333 * inspector/InspectorStyleSheet.cpp:
3334 * page/PageSerializer.cpp:
3336 2012-02-28 Pavel Feldman <pfeldman@google.com>
3338 Web Inspector: remove window aspects from the timeline presentation model.
3339 https://bugs.webkit.org/show_bug.cgi?id=79803
3341 Reviewed by Yury Semikhatsky.
3343 * inspector/front-end/TimelineOverviewPane.js:
3344 (WebInspector.TimelineOverviewPane):
3345 (WebInspector.TimelineOverviewPane.prototype.accept):
3346 (WebInspector.TimelineOverviewPane.prototype._setWindowIndices):
3347 (WebInspector.TimelineOverviewPane.prototype.windowLeft):
3348 (WebInspector.TimelineOverviewPane.prototype.windowRight):
3349 (WebInspector.TimelineOverviewPane.prototype._fireWindowChanged):
3350 (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
3351 (WebInspector.TimelineOverviewPane.WindowSelector):
3352 * inspector/front-end/TimelinePanel.js:
3353 (WebInspector.TimelinePanel):
3354 (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
3355 (WebInspector.TimelinePanel.prototype._updateBoundaries):
3356 * inspector/front-end/TimelinePresentationModel.js:
3357 (WebInspector.TimelinePresentationModel.prototype.reset):
3358 (WebInspector.TimelineCategory):
3359 (WebInspector.TimelineCategory.prototype.get hidden):
3360 (WebInspector.TimelineCategory.prototype.set hidden):
3362 2012-02-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
3364 Improve the visual of the tiling
3365 https://bugs.webkit.org/show_bug.cgi?id=79648
3367 Reviewed by Noam Rosenthal.
3369 When we cover the view with tiles[1], we do so from the center
3370 and out, in bigger and bigger cicles by finding the current minimum
3373 This looks like painting a rect, then a cross, then a rect, ...
3374 and can be noticed when a page blocks during tiling.
3376 We can do this better by only covering with tiles in rects at a time.
3378 The original code was done so that it gave preference to tiles in
3379 vertical direction due to that being the most common scrolling
3380 direction. This is not needed anymore as we are now using the
3381 trajectory vector when panning, which always gives preference for
3382 creating tiles in the panned direction.
3384 [1] It should be noted that we always cover the visibleRect in one go,
3385 and that we here are talking about covering the coverRect beyond
3388 * platform/graphics/TiledBackingStore.cpp:
3389 (WebCore::TiledBackingStore::tileDistance):
3391 2012-02-28 Yury Semikhatsky <yurys@chromium.org>
3393 Web Inspector: preserve memory counters size after frontend reopening
3394 https://bugs.webkit.org/show_bug.cgi?id=79792
3396 Clear collected counter values when timeline panel is reset. Persist
3397 timeline grid/counters splitter position to restore it when front-end
3398 is opened next time.
3400 Reviewed by Pavel Feldman.
3402 * inspector/front-end/MemoryStatistics.js:
3403 (WebInspector.MemoryStatistics.prototype.reset):
3404 * inspector/front-end/TimelinePanel.js:
3405 (WebInspector.TimelinePanel):
3406 (WebInspector.TimelinePanel.prototype._setSplitterPosition):
3407 (WebInspector.TimelinePanel.prototype._resetPanel):
3408 * inspector/front-end/timelinePanel.css:
3409 (#counter-values-bar):
3411 2012-02-28 Pavel Feldman <pfeldman@google.com>
3413 Web Inspector: move filtering of the timeline records into the presentation model.
3414 https://bugs.webkit.org/show_bug.cgi?id=79789
3416 Reviewed by Yury Semikhatsky.
3418 * inspector/front-end/TimelineModel.js:
3419 * inspector/front-end/TimelineOverviewPane.js:
3420 (WebInspector.TimelineOverviewPane):
3421 (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
3422 (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
3423 (WebInspector.TimelineOverviewPane.prototype.accept):
3424 (WebInspector.TimelineOverviewPane.prototype._setWindowIndices):
3425 (WebInspector.TimelineStartAtZeroOverview):
3426 (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
3427 * inspector/front-end/TimelinePanel.js:
3428 (WebInspector.TimelinePanel):
3429 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
3430 (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
3431 (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
3432 (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
3433 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3434 (WebInspector.TimelinePanel.prototype._resetPanel):
3435 (WebInspector.TimelinePanel.prototype._refresh):
3436 (WebInspector.TimelinePanel.prototype.revealRecordAt):
3437 (WebInspector.TimelinePanel.prototype._refreshRecords):
3438 (WebInspector.TimelineExpandableElement.prototype._update):
3439 (WebInspector.TimelineCategoryFilter):
3440 (WebInspector.TimelineCategoryFilter.prototype.accept):
3441 (WebInspector.TimelineIsLongFilter):
3442 (WebInspector.TimelineIsLongFilter.prototype.accept):
3443 * inspector/front-end/TimelinePresentationModel.js:
3444 (WebInspector.TimelinePresentationModel):
3445 (WebInspector.TimelinePresentationModel.prototype.addFilter):
3446 (WebInspector.TimelinePresentationModel.prototype.reset):
3447 (WebInspector.TimelinePresentationModel.prototype.minimumRecordTime):
3448 (WebInspector.TimelinePresentationModel.prototype.maximumRecordTime):
3449 (WebInspector.TimelinePresentationModel.prototype.addRecord):
3450 (WebInspector.TimelinePresentationModel.prototype._updateBoundaries):
3451 (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
3452 (WebInspector.TimelinePresentationModel.prototype.setGlueRecords):
3453 (WebInspector.TimelinePresentationModel.prototype.fireWindowChanged):
3454 (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
3455 (WebInspector.TimelinePresentationModel.prototype.filteredRecords):
3456 (WebInspector.TimelinePresentationModel.prototype._filterRecords):
3457 (WebInspector.TimelinePresentationModel.Record.prototype.get visibleChildrenCount):
3458 (WebInspector.TimelinePresentationModel.Record.prototype.get invisibleChildrenCount):
3459 (WebInspector.TimelinePresentationModel.Filter):
3460 (WebInspector.TimelinePresentationModel.Filter.prototype.accept):
3462 2012-02-28 Florin Malita <fmalita@google.com>
3464 Percent width/height SVG not always scaled on window resize
3465 https://bugs.webkit.org/show_bug.cgi?id=79490
3467 Reviewed by Nikolas Zimmermann.
3469 Tests: fast/repaint/percent-minheight-resize-expected.html
3470 fast/repaint/percent-minheight-resize.html
3471 svg/custom/svg-percent-scale-expected.html
3472 svg/custom/svg-percent-scale-vonly-expected.html
3473 svg/custom/svg-percent-scale-vonly.html
3474 svg/custom/svg-percent-scale.html
3476 Fix a couple of problems preventing correct SVG scaling on window resize:
3478 - RenderReplaced::computePreferredLogicalWidths is not SVG attribute aware and computes
3479 a non-zero m_minPreferredLogicalWidth even when the SVG widh/height are percentages.
3481 - RenderBlock::layoutInlineChildren is also not SVG attribute aware and does not trigger
3482 percent height child layouts on vertical-only resizes.
3484 * rendering/RenderBlockLineLayout.cpp:
3485 (WebCore::RenderBlock::layoutInlineChildren):
3486 Use hasRelativeDimensions() instead of direct width/height->isPercent tests. This also fixes
3487 an HTML issue where percent {min,max}Height inline elements are not updated on vertical-only resizes.
3489 * rendering/RenderBox.cpp:
3490 (WebCore::RenderBox::hasRelativeDimensions):
3492 * rendering/RenderBox.h:
3494 Add virtual hasRelativeDimensions() method.
3496 * rendering/RenderReplaced.cpp:
3497 (WebCore::RenderReplaced::computePreferredLogicalWidths):
3498 Use hasRelativeDimensions() instead of direct width/height->isPercent tests.
3500 * rendering/svg/RenderSVGRoot.cpp:
3501 (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
3502 (WebCore::RenderSVGRoot::willBeDestroyed):
3503 Register percent-height SVG elements with the gPercentHeightDescendantsMap, and clean-up on destruction
3504 or height unit change.
3506 (WebCore::RenderSVGRoot::hasRelativeDimensions):
3508 * rendering/svg/RenderSVGRoot.h:
3510 SVG-aware hasRelativeDimensions() override.